Permalink
Browse files

Merge branch 'master' of github.com:scriptish/scriptish

  • Loading branch information...
2 parents 94f0b4d + dd748e4 commit 25caef3258e0f293f85b8226684130e79b2a5500 @erikvold erikvold committed Sep 23, 2012
View
5 CONTRIBUTING.md
@@ -2,7 +2,7 @@
## Overview
-* Code contributions should follow the [style guide](https://github.com/scriptish/scriptish/wiki/JavaScript-Style-Guide)
+* Code contributions should follow the [style guide](https://github.com/scriptish/scriptish/wiki/JavaScript-Style-Guide).
* Tests may be requested, and eventually will be required.
* All code must be reviewed by a reviewer.
** Sometimes code will need additional reviews.
@@ -15,8 +15,7 @@ already exist.
* Make your changes, preferably in a branch named `bug_number`.
* Make sure there is a test in the branch (reverse the order of this for TDD).
* Mention your `branch_name`, with a link to it, in the issue thread.
-* Ask for a review from one our reviewers
-*
+* Ask for a review from one our reviewers.
## Reviewers
View
2 extension/chrome.manifest
@@ -34,6 +34,8 @@ overlay chrome://scriptish/content/newscript.xul chrome://scriptish/content/c
locale scriptish en-US locale/en-US/
locale scriptish de locale/de/
locale scriptish es-ES locale/es-ES/
+locale scriptish he locale/he/
+locale scriptish hu locale/hu/
locale scriptish ja-JP locale/ja-JP/
locale scriptish pl locale/pl/
locale scriptish pt-BR locale/pt-BR/
View
71 extension/content/js/options.js
@@ -4,6 +4,7 @@ Components.utils.import("resource://scriptish/constants.js");
lazyImport(this, "resource://scriptish/config.js", ["Scriptish_config"]);
lazyImport(this, "resource://scriptish/scriptish.js", ["Scriptish"]);
+lazyImport(this, "resource://scriptish/prefmanager.js", ["Scriptish_prefRoot", "Scriptish_PrefManager"]);
lazyImport(this, "resource://scriptish/utils/Scriptish_localizeDOM.js", ["Scriptish_localizeOnLoad"]);
lazyImport(this, "resource://scriptish/utils/Scriptish_isURLExcluded.js", [
"Scriptish_isURLExcluded",
@@ -16,6 +17,8 @@ lazyUtil(this, "getEditor");
lazyUtil(this, "sendAsyncE10SMessage");
lazyUtil(this, "stringBundle");
+const RE_scriptishPrefix = /^extensions\.scriptish\./;
+
function $(aID) document.getElementById(aID);
function changeEditor() Scriptish_getEditor(window, true);
@@ -27,6 +30,65 @@ function saveExcludes() {
Scriptish.notify(null, "scriptish-preferences-change", true);
}
+function checkSync() {
+ let Scriptish_SyncManager = new Scriptish_PrefManager(null, true);
+ let prefSyncEnabled;
+
+ try {
+ prefSyncEnabled = Services.prefs.getBoolPref("services.sync.engine.prefs");
+ }
+ catch(e) {
+ prefSyncEnabled = false;
+ }
+
+ // Do nothing if pref syncing isn't enabled
+ if (!prefSyncEnabled) {
+ return;
+ }
+
+ // Sync "common" preferences?
+ let syncCommonPrefName = "sync.ScriptishPrefs.common";
+ let syncCommon = Scriptish_prefRoot.getValue(syncCommonPrefName, false);
+
+ // Sync the editor preference?
+ let syncEditorPrefName = "sync.ScriptishPrefs.editor";
+ let syncEditor = Scriptish_prefRoot.getValue(syncEditorPrefName, false);
+
+ // Collect preferences used in Options... considering these "common" prefs.
+ // Others can be added to the prefNames array as needed.
+ let prefNodes = document.getElementsByTagName("preference");
+ let prefNames = [];
+ for (let i = 0, e = prefNodes.length; i < e; ++i) {
+ prefNames.push(prefNodes[i].name.replace(RE_scriptishPrefix, ""));
+ }
+
+ // Exclude the sync-controlling preferences
+ let syncCommonIndex = prefNames.indexOf(syncCommonPrefName);
+ if (syncCommonIndex > -1) prefNames.splice(syncCommonIndex, 1);
+
+ let syncEditorIndex = prefNames.indexOf(syncEditorPrefName);
+ if (syncEditorIndex > -1) prefNames.splice(syncEditorIndex, 1);
+
+ // Exclude the editor pref from the general list. The editor is handled
+ // separately since the path might vary between systems.
+ let editorIndex = prefNames.indexOf("editor");
+ if (editorIndex > -1) prefNames.splice(editorIndex, 1);
+
+ // Either sync or unsync all eligible preferences
+ let syncOp =
+ (syncCommon ? Scriptish_SyncManager.sync : Scriptish_SyncManager.unsync)
+ .bind(Scriptish_SyncManager);
+ for (let i = 0, e = prefNames.length; i < e; ++i) {
+ syncOp(prefNames[i]);
+ }
+
+ // Either sync or unsync the editor preference
+ syncOp =
+ (syncEditor ? Scriptish_SyncManager.sync : Scriptish_SyncManager.unsync)
+ .bind(Scriptish_SyncManager);
+ syncOp("editor");
+}
+
Scriptish_localizeOnLoad(this);
addEventListener("load", function init() {
@@ -43,4 +105,13 @@ addEventListener("load", function init() {
else {
addEventListener("dialogaccept", saveExcludes, true);
}
+
+ // Check sync options to determine whether to add or remove sync service vals.
+ // NOTE: Delaying to allow the sync-controlling prefs to update.
+ if (instantApply) {
+ addEventListener("unload", function() { timeout(checkSync) }, false);
+ }
+ else {
+ addEventListener("dialogaccept", function() { timeout(checkSync) }, true);
+ }
}, false);
View
15 extension/content/options.xul
@@ -81,6 +81,21 @@
</hbox>
</prefpane>
+ <prefpane id="pane-sync" label="sync" localize="label">
+ <preferences>
+ <preference id="pref-syncScriptishPrefsCommon" name="extensions.scriptish.sync.ScriptishPrefs.common" type="bool"/>
+ <preference id="pref-syncScriptishPrefsEditor" name="extensions.scriptish.sync.ScriptishPrefs.editor" type="bool"/>
+ </preferences>
+
+ <description value="options.sync.desc" localize="value"/>
+
+ <groupbox>
+ <caption label="options.sync.ScriptishPrefs" localize="label"/>
+ <checkbox id="sync-common" preference="pref-syncScriptishPrefsCommon" label="options.sync.ScriptishPrefs.common" localize="label"/>
+ <checkbox preference="pref-syncScriptishPrefsEditor" label="options.sync.ScriptishPrefs.editor" localize="label"/>
+ </groupbox>
+ </prefpane>
+
<prefpane id="pane-advanced" label="options.pane.advanced" localize="label">
<preferences>
<preference id="pref-cache-enabled" name="extensions.scriptish.cache.enabled" type="bool"/>
View
2 extension/defaults/preferences/scriptish.js
@@ -20,6 +20,8 @@ pref("extensions.scriptish.enableScriptRefreshing", true);
pref("extensions.scriptish.logChrome", false);
pref("extensions.scriptish.logToErrorConsole", true);
pref("extensions.scriptish.optimizingRegexpMerge", false);
+pref("extensions.scriptish.sync.ScriptishPrefs.common", false);
+pref("extensions.scriptish.sync.ScriptishPrefs.editor", false);
pref("extensions.scriptish.toolbarbutton.showScripts", true);
pref("extensions.scriptish.uninstallPreferences", true);
pref("extensions.scriptish.update.requireBuiltInCerts", true);
View
1 extension/install.rdf
@@ -48,6 +48,7 @@
<em:translator>Alfredo Fernández Díaz (es-ES)</em:translator>
<em:translator>allertec (pl)</em:translator>
<em:translator>barryoni (he)</em:translator>
+ <em:translator>iHastr (ru-RU)</em:translator>
<em:translator>k2jp (ja-JP)</em:translator>
<em:translator>Kozák (WonderCsabo) Csaba (hu)</em:translator>
<em:translator>Mauro José da Silva (pt-BR)</em:translator>
View
5 extension/locale/de/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=Allgemein
options.pane.ui=Benutzeroberfläche
options.requireBuiltInCerts=Sichere Aktualisierungen müssen eingebaute Zertifikate nutzen
options.requireSecured=Benutzerskripte müssen über eine sichere Verbindung (https) aktualisiert werden
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=Scriptish Einstellungen
options.toolbarbutton=Toolbar Button
options.toolbarbutton.showScripts=Anzahl aktiver Skripte zeigen
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=Seite ist ausgenommen!
statusbar.noScripts.notfound=Keine Benutzerskripte für diese Seite!
statusbar.noScripts.scheme=Protokoll ist deaktiviert!
statusbar.updated=erfolgreich aktualisiert
+sync=
tooltip.loading=Lade...
Uninstall=Entfernen
untitledScript=Unbenanntes Script
View
5 extension/locale/en-US/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=Main
options.pane.ui=User Interface
options.requireBuiltInCerts=Secure update requires using built-in certificates
options.requireSecured=Require user scripts to update using HTTPS
+options.sync.desc=The Firefox Sync service and its "Preferences" option must be enabled!
+options.sync.ScriptishPrefs=Scriptish Preferences
+options.sync.ScriptishPrefs.common=Synchronize common Scriptish extension preferences
+options.sync.ScriptishPrefs.editor=Synchronize the Editor preference
options.title=Scriptish Options
options.toolbarbutton=Toolbar button
options.toolbarbutton.showScripts=Show active script count
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=Page is excluded!
statusbar.noScripts.notfound=No scripts for page!
statusbar.noScripts.scheme=Scheme is disabled!
statusbar.updated=updated successfully
+sync=Sync
tooltip.loading=Loading...
Uninstall=Uninstall
untitledScript=Untitled Script
View
5 extension/locale/es-ES/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=Principal
options.pane.ui=Interfaz de usuario
options.requireBuiltInCerts=Las actualizaciones seguras requieren que el certificado esté incluído
options.requireSecured=Requerir que los scripts de usuario se actualicen usando HTTPS
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=Opciones de Scriptish
options.toolbarbutton=Botón de la Barra de Herramientas
options.toolbarbutton.showScripts=Muestra la cuenta de scripts activos
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=¡Esta página está excluída!
statusbar.noScripts.notfound=¡No hay scripts para esta página!
statusbar.noScripts.scheme=¡Este patrón está deshabilitado!
statusbar.updated=actualizado con éxito
+sync=
tooltip.loading=Cargando...
Uninstall=Desinstalar
untitledScript=Script sin título
View
5 extension/locale/he/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=ראשי
options.pane.ui=ממשק
options.requireBuiltInCerts=עדכון מאובטח מחייב שימוש באישורים מובנים
options.requireSecured=דרוש מקבצי script של משתמש להתעדכן ע"י שימוש ב־HTTPS
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=אפשרויות של Scriptish
options.toolbarbutton=לחצן סרגל כלים
options.toolbarbutton.showScripts=הצג את מספר ה־scripts הפעילים
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=הדף אינו נכלל!
statusbar.noScripts.notfound=אין קבצי script לדף!
statusbar.noScripts.scheme=ערכה אינה זמינה!
statusbar.updated=עודכן בהצלחה
+sync=
tooltip.loading=טוען...
Uninstall=הסר
untitledScript=קובץ Script ללא שם
View
5 extension/locale/hu/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=Általános
options.pane.ui=Felhasználói felület
options.requireBuiltInCerts=A biztonsági frissítésekhez beépített tanúsítványok szükségesek
options.requireSecured=A parancsfájlok frissítése a HTTPS protokollon keresztül történjen
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=Scriptish beállítások
options.toolbarbutton=Eszköztár gomb
options.toolbarbutton.showScripts=Aktív parancsfájlok számának megjelenése
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=Oldal kizárva!
statusbar.noScripts.notfound=Nincsenek parancsfájlok az oldalhoz!
statusbar.noScripts.scheme=Séma kikapcsolva!
statusbar.updated=frissítése sikeres
+sync=
tooltip.loading=Betöltés…
Uninstall=Eltávolítás
untitledScript=Névtelen parancsfájl
View
5 extension/locale/ja-JP/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=メイン
options.pane.ui=ユーザーインタフェース
options.requireBuiltInCerts=安全な更新に built-in 証明書を利用
options.requireSecured=HTTPS でユーザースクリプトを更新
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=Scriptish オプション
options.toolbarbutton=ツールバーのボタン
options.toolbarbutton.showScripts=アクティブなスクリプト数を表示
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=ページが除外(exclude)されました!
statusbar.noScripts.notfound=このページ用のスクリプトはありません!
statusbar.noScripts.scheme=スキーム(Scheme)が無効になっています!
statusbar.updated=は正常に更新されました
+sync=
tooltip.loading=読み込み中…
Uninstall=アンインストール
untitledScript=名称未定スクリプト
View
5 extension/locale/pl/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=Główne
options.pane.ui=Interfejs Użytkownika
options.requireBuiltInCerts=Aktualizacja bezpieczeństwa wymaga użycia wbudowanych certyfikatów
options.requireSecured=Wymagane skrypty użytkownika do aktualizacji przez HTTPS
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=Opcje Scriptish
options.toolbarbutton=Pasek narzędzi
options.toolbarbutton.showScripts=Pokaż liczbę aktywnych skryptów
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=Strona została wykluczona!
statusbar.noScripts.notfound=Brak skryptów dla strony!
statusbar.noScripts.scheme=Schemat został wyłączony!
statusbar.updated=poprawnie zaktualizowano
+sync=
tooltip.loading=Ładowanie...
Uninstall=Odinstalowanie
untitledScript=Skrypt bez nazwy
View
5 extension/locale/pt-BR/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=Principal
options.pane.ui=Interface
options.requireBuiltInCerts=Exigir que as atualizações seguras usem os certificados internos
options.requireSecured=Exigir que os scripts atualizem usando HTTPS
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=Opções do Scriptish
options.toolbarbutton=Botão da barra de ferramentas
options.toolbarbutton.showScripts=Exibir contador de scripts ativos
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=Scripts desabilitados nesta página!
statusbar.noScripts.notfound=Nenhum script para esta página!
statusbar.noScripts.scheme=Scripts desabilitados para este protocolo!
statusbar.updated=atualizado com sucesso
+sync=
tooltip.loading=Carregando...
Uninstall=Desinstalação
untitledScript=Script sem nome
View
26 extension/locale/ru-RU/description.properties
@@ -1,13 +1,13 @@
-amo.description.line1=Scriptish это форк Greasemonkey, предлагающий:
-amo.description.line2=Всё что предлагает Greasemonkey (что очень полезно)
-amo.description.line3=Обновление: Пользовательские скрипты могут быть обновлены с помощью @updateURL
-amo.description.line4=Множество новых <a title="Раздел документации Scriptish о метаданных - Scriptish Wiki" href="https://github.com/scriptish/scriptish/wiki/Manual%3A-Metadata-Block">@ключей метаданных</a>
-amo.description.line5=Множество новых <a title="API пользовательских скриптов Scriptish - Scriptish Wiki" href="https://github.com/scriptish/scriptish/wiki/Manual%3A-API">дополненый в GM_ API</a>
-amo.description.line6=Превосходную производительность: более быстрый и производительный базовый код, который использует все последние возможности Firefox.
-amo.description.line7=Превосходную безопасность: Scriptish предлагает возможности безопасности, которые вы не найдёте больше нигде.
-amo.description.line8=Тестирование: Разработчики могут использовать большое количество тестов, позволяющих выявить баги и убедиться в правильности работы Scriptish.
-amo.developerComments.line1=В Scriptish есть всё, что есть в Greasemonkey, плюс много новых функций, о которых можно прочитать здесь: <a href="http://github.com/scriptish/scriptish/wiki">http://github.com/scriptish/scriptish/wiki</a>
-amo.developerComments.line2=Пожалуйста, отправляйте сообщения о багах и запросы на новую функциональность сюда: <a href="https://github.com/scriptish/scriptish/issues">https://github.com/scriptish/scriptish/issues</a>
-amo.developerComments.line3=Если у вас есть другие вопросы, пишите сюда: <a href="http://groups.google.com/group/scriptish">http://groups.google.com/group/scriptish</a>
-amo.summary=Лучший движок для пользовательских скриптов в интернете.
-extensions.scriptish@erikvold.com.description=Менеджер пользовательских скриптов для Firefox.
+amo.description.line1=Scriptish это форк Greasemonkey, предлагающий:
+amo.description.line2=Всё, что делает Greasemonkey (что на самом деле полезно)
+amo.description.line3=Обновление: Пользовательские скрипты могут быть обновлены в Scriptish с помощью @updateURL
+amo.description.line4=Много новых <a title="Scriptish metadata block documentation - Scriptish Wiki" href="https://github.com/scriptish/scriptish/wiki/Manual%3A-Metadata-Block">ключей метаданных</a>
+amo.description.line5=Много новых <a title="Scriptish User Script API - Scriptish Wiki" href="https://github.com/scriptish/scriptish/wiki/Manual%3A-API">дополнений к GM_ API</a>
+amo.description.line6=Высокая производительность: более быстрая и чистая кодовая база, которая использует всё, что могут предложить последние версии Firefox
+amo.description.line7=Превосходная безопасность: Scriptish обеспечивает функции безопасности, которые вы не найдёте где-либо ещё
+amo.description.line8=Тестирование: разработчики делают множество тестов, чтобы гарантировать правильное функционирование Scriptish и найти какие-либо ошибки как можно скорее
+amo.developerComments.line1=Scriptish имеет всё, что и Greasemonkey, а также множество функций, о которых вы можете прочитать на: <a href="http://github.com/scriptish/scriptish/wiki">http://github.com/scriptish/scriptish/wiki</a>
+amo.developerComments.line2=Пожалуйста, присылайте любые ошибки или пожелания на: <a href="https://github.com/scriptish/scriptish/issues">https://github.com/scriptish/scriptish/issues</a>
+amo.developerComments.line3=Если у вас есть другие вопросы, пожалуйста, присылайте их в список рассылки: <a href="http://groups.google.com/group/scriptish">http://groups.google.com/group/scriptish</a>
+amo.summary=Лучший движок пользовательских скриптов в Интернете.
+extensions.scriptish@erikvold.com.description=Менеджер пользовательских скриптов для Firefox
View
199 extension/locale/ru-RU/scriptish.properties
@@ -1,164 +1,169 @@
-contributions.description=Разработчик этого пользовательского скрипта просит вас помочь поддержать его дальнейшее развитие, сделав небольшой взнос.
-copyDownloadURL=Скопировать ссылку на загрузку
+contributions.description=Разработчик этого пользовательского скрипта просит вас помочь поддержать его дальнейшее развитие, сделав небольшое пожертвование.
+copyDownloadURL=Скопировать URL загрузки
copyDownloadURL.ak=C
-edit=Редактировать
+edit=Изменить
edit.ak=E
editor.couldNotLaunch=Не удалось запустить редактор.
editor.pleasePickExecutable=Пожалуйста, выберите приложение для редактирования скриптов.
-editor.prompt=Пожалуйста сначала выберите ваш редактор скриптов
-editor.useScratchpad=Вы хотите использовать Scratchpad как редактор по умолчанию?
-editor.useScratchpad.no=Нет (Я укажу свой)
+editor.prompt=Пожалуйста, выберите ваш любимый редактор скриптов
+editor.useScratchpad=Вы хотите использовать Scratchpad в качестве редактора?
+editor.useScratchpad.no=Нет (я выберу свой​​)
editor.useScratchpad.yes=Да
-error.api.clipboard.type=- тип данных, не поддерживаемый GM_setClipboard.
+error.api.clipboard.type=Тип данных не подходит для GM_setClipboard.
error.api.noResourceWithName=Нет ресурса с таким именем
-error.api.noSecondArgValue=Следующий аргумент не указан: Значение
+error.api.noSecondArgValue=Второй аргумент - значение - не задан
error.api.reqURL=Неверный URL
-error.api.reqURL.scheme=Схема URL запрещена
-error.api.safeHTMLParser.url=
-error.api.unsafeAccess=Нарушение доступа Scriptish: из unsafeWindow не позволено работать с
+error.api.reqURL.scheme=Запрещённая схема в URL
+error.api.safeHTMLParser.url=Не удалось разобрать аргумент «URL» из GM_safeHTMLParser
+error.api.unsafeAccess=Нарушение доступа Scriptish: unsafeWindow не может работать с
error.charset=Неверная кодировка.
-error.dependency.loading=Не удалось загрузить зависимость
-error.dependency.local=Исключение безопасности: Вызов локальных путей запрещён
+error.dependency.loading=Ошибка при загрузке зависимости
+error.dependency.local=Исключение безопасности: запросы к локальным и chrome URL запрещены
error.dependency.serverReturned=Ошибка! Сервер вернул
error.hash.algorithm=Неверный алгоритм хеширования.
-error.icon.dataURL=Неверный data: URL для @icon
-error.icon.notImage=Ошибка! В @icon отсутствует MIME тип изображения
+error.icon.dataURL=Неверные данные: URL для @icon
+error.icon.notImage=Ошибка! @icon не имеет тип изображения MIME
error.icon.URL=Неверный URL для @icon
-error.invalidCert=Неверный SSL сертификат.\nЕсли необходимо, разрешите все сертификаты здесь: Настройки Scriptish / Дополнительно / Безопасность обновлений.
-error.isInvalidValue= - неверное значение
-error.matchPattern.rules=шаблон @match не соответствует правилам
-error.matchPattern.rules.file=Шаблон @match схемы file:// не соответствует правилам
-error.notSecure=Небезопасная URI.\nЕсли необходимо, разрешите не-HTTPS обновления здесь: Настройки Scriptish / Дополнительно / Безопасность обновлений.
+error.invalidCert=Неверный сертификат SSL.\nЕсли необходимо разрешить все сертификаты, включите опцию в настройках Scriptish / Дополнительные / Безопасность обновления.
+error.isInvalidValue=- неверное значение
+error.matchPattern.rules=Шаблон @match не соответствует правилам шаблона
+error.matchPattern.rules.file=Файл схемы @match не соответствует правилам шаблона
+error.notSecure=Небезопасный URI.\nЕсли необходимо разрешить не-HTTPS обновления, включите опцию в настройках Scriptish / Дополнительные / Безопасность обновления.
error.notSupported.Firefox=не поддерживается в этой версии Firefox
error.openingFile=Не удалось открыть файл
-error.pattern.parsing=Не удалось пропарсить шаблон
-error.pref.type=Неподдерживаемый тип настройки. Правильные типы: string, bool и 32-битное целое.
-error.remoteVersionOlder=Удалённый скрипт не новее вашей текущей версии.
-error.resource.dupName= - повторяющееся имя ресурса. Имена @resource должны быть уникальными.
+error.pattern.parsing=Шаблон не парсится
+error.pref.type=Неподдерживаемый тип настройки. Допустимые типы: строка, логический и 32-битное целое число.
+error.remoteVersionOlder=Удалённый скрипт имеет более старую версию, чем ваш текущий скрипт.
+error.resource.dupName=- повторяющееся имя ресурса. Имена ресурсов должны быть уникальными.
error.resource.syntax=Неправильный синтаксис в обьявлении @resource
error.retrieving=Не удалось получить
error.script.installing=Ошибка при установке пользовательского скрипта
error.script.loading=Ошибка при загрузке пользовательского скрипта
greeting.btn.ak=I
-greeting.msg=Это пользовательского скрипта. Нажмите "Установить" чтобы начать использовать его.
+greeting.msg=Это пользовательский скрипт. Нажмите «Установить», чтобы начать использовать его.
install=Установить
install.domains=домены:
-install.excludes=не запускается на:
-install.includes=запускается на:
-install.matches=соответствует:
-install.requires=зависит от:
+install.excludes=не запускать на:
+install.includes=запуск на:
+install.matches=совпадений:
+install.requires=требуется:
install.resources=ресурсы:
install.showScriptSource=Показать исходный код скрипта
-install.title=Установка пользовательского скрипта
-install.warning1=Вредоносные скрипты могут угрожать вашей конфиденциальности и работать от вашего имени без вашего ведома.
+install.title=Установщик скриптов
+install.warning1=Вредоносные скрипты могут нарушить вашу конфиденциальность и действовать от вашего имени без вашего согласия.
install.warning2=Устанавливайте скрипты только из доверенных источников.
-installFromFile=Установить пользовательский скрипт из файла...
+installFromFile=Установить пользовательский скрипт из файла
installFromFile.ak=U
-menu.commands=Команды пользовательских скриптов...
+menu.commands=Команды скрипта…
menu.commands.ak=C
-menu.install=Установить пользовательский скрипт...
+menu.install=Установить скрипт
menu.install.ak=I
-menu.manage=Управление пользовательскими скриптами...
+menu.manage=Управление скриптами
menu.manage.ak=M
-menu.new=Новый пользовательский скрипт...
+menu.new=Создать скрипт
menu.new.ak=N
menu.options.ak=O
-menu.show=Просмотреть исходный код пользовательского скрипта
+menu.show=Посмотреть исходный код скрипта
menu.show.ak=V
menu.title=Scriptish
menu.title.ak=S
-menuitem.install=Установить этот пользовательский скрипт...
-menuitem.manage=Управление пользовательскими скриптами
-menuitem.new=Новый пользовательский скрипт
-moving.dependency=Переносится файл зависимости из
-moving.script=Переносится файл скрипта из
+menuitem.install=Установить этот скрипт
+menuitem.manage=Управление скриптами
+menuitem.new=Новый скрипт
+moving.dependency=Перемещение зависимых файлов из
+moving.script=Перемещение файла скрипта из
newscript.author=Автор
newscript.description=Описание
-newscript.excludes=Исключать страницы (Одно правило на строчку)
+newscript.excludes=Исключать страницы (одна на строку)
newscript.exists=Скрипт с таким именем уже установлен.\nПерезаписать?
-newscript.id=ID
-newscript.includes=Включать страницы (Одно правило на строчку)
-newscript.missing.id=Пожалуйста, укажите идентификатор скрипта.
-newscript.missing.name=Пожалуйста, укажите название. Оно будет показано на странице Менеджера Дополнений.
-newscript.name=Название
+newscript.id=Идентификатор
+newscript.includes=Включать страницы (одна на строку)
+newscript.missing.id=Пожалуйста, укажите идентификатор.
+newscript.missing.name=Укажите имя, которое будет отображаться в Менеджере дополнений.
+newscript.name=Имя
newscript.namespace=Пространство имён
-newscript.noID=Пожалуйста, укажите идентификатор скрипта
-newscript.noName=Пожалуйста, укажите имя скрипта.
-newscript.runat=Запускать когда
-newscript.runat.documentend=Документ завершает загрузку
-newscript.runat.documentidle=Документ первый простаивает
-newscript.runat.documentstart=Документ начинает загрузку
-newscript.runat.windowload=Весь контент загружен
+newscript.noID=Пожалуйста, введите допустимый идентификатор скрипта.
+newscript.noName=Пожалуйста, введите имя вашего скрипта.
+newscript.runat=Запуск при
+newscript.runat.documentend=Завершении загрузки документа
+newscript.runat.documentidle=Первом простое документа
+newscript.runat.documentstart=Начале загрузки документа
+newscript.runat.windowload=Полной загрузке окна, включая все медиаданные
newscript.version=Версия
-nothing.timedOut=ничего (превышен интервал ожидания)
-openFolder=Открыть папку скрипта.
+nothing.timedOut=ничего (истекло)
+openFolder=Открыть папку
openFolder.ak=O
-openUserScriptsManager=Открыть менеджер пользовательских скриптов
+openUserScriptsManager=Открыть менеджер скриптов
openUserScriptsManager.ak=O
options=Настройки
-options.addonsManager=Менеджер Дополнений
-options.alsoUninstallPrefs=Удалять также настройки скрипта
-options.cache=Кеш
-options.cache.enabled=Кешировать пользовательские скрипты
+options.addonsManager=Менеджер дополнений
+options.alsoUninstallPrefs=При удалении скрипта также удалять его настройки
+options.cache=Кэш
+options.cache.enabled=Кэшировать пользовательские скрипты
options.changeEditor=Изменить редактор
options.editor=Редактор
-options.editor.notset=Не выбран редактор
-options.enableCopyDownloadURL=Включить копирование URL для загрузки
+options.editor.notset=Редактор не выбран
+options.enableCopyDownloadURL=Разрешить копирование URL загрузки
options.enabledSchemes.about=Протокол about (внутренний)
options.enabledSchemes.advanced=Дополнительные протоколы
options.enabledSchemes.chrome=Протокол chrome (внутренний)
-options.enabledSchemes.data=Протокол data
-options.enabledSchemes.file=Протокол file (локальные файлы)
-options.enabledSchemes.ftp=Протокол ftp
-options.enabledSchemes.http=Протокол http/https
+options.enabledSchemes.data=Протокол данных
+options.enabledSchemes.file=Файловый протокол (локальные файлы)
+options.enabledSchemes.ftp=Протокол FTP
+options.enabledSchemes.http=Протокол HTTP/HTTPS
options.enabledSchemes.main=Протоколы
-options.enabledSchemes.securityRemark=Дополнительные протоколы могут иметь полный доступ к файловой системе.
-options.enabledSchemes.securityRemark2=Следовательно, они представляют значительный риск безопасности, если вы используете не доверенные скрипты!
-options.enabledSchemes.unmht=Протокол unmht (Формат Mozilla Archive)
-options.excludes.desc=Глобальные исключения перекроют любые авторские или пользовательские правила
-options.excludes.empty=Не указаны глобальные исключения
-options.excludes.remark=(Вы можете указывать по одному исключению на строку)
-options.logChrome=Записывать некритические сообщения в Консоль Ошибок to the Error Console
-options.logging=Логи
-options.logToErrorConsole=GM_log использует Консоль Ошибок
+options.enabledSchemes.securityRemark=Дополнительные протоколы могут иметь полный доступ к системе, поэтому
+options.enabledSchemes.securityRemark2=представляют значительную угрозу безопасности от ненадёжных скриптов!
+options.enabledSchemes.unmht=Протокол UnMHT (формат архива Mozilla)
+options.excludes.desc=Глобальное исключение переопределит любой скрипт или правила пользователя
+options.excludes.empty=Глобальные исключения не заданы
+options.excludes.remark=(Можно указать одно исключение на строку)
+options.logChrome=Записывать некритические сообщения в консоли ошибок
+options.logging=Ведение журнала
+options.logToErrorConsole=GM_log использует консоль ошибок
options.notifications=Уведомления
options.notifications.popup.enable=Включить всплывающие уведомления
-options.notifications.sliding.enable=Включить анимированные уведомления
-options.notifications.whenDisabled=Когда выключено, любое уведомление будет записано в Консоль Ошибок.
-options.pane.advanced=Дополнительно
+options.notifications.sliding.enable=Включить скользящие уведомления
+options.notifications.whenDisabled=Когда отключено, любые уведомления будут появляться в консоли ошибок.
+options.pane.advanced=Дополнительные
options.pane.excludes=Глобальные исключения
options.pane.main=Основные
options.pane.ui=Интерфейс
-options.requireBuiltInCerts=Безопасное обновление требует использование встроенных сертификатов
+options.requireBuiltInCerts=Использовать встроенные сертификаты для безопасного обновления
options.requireSecured=Разрешить обновления скриптов только по протоколу HTTPS
+options.sync.desc=Служба снхронизации Firefox и её опция «Настройки» должны быть включены!
+options.sync.ScriptishPrefs=Предпочтения Scriptish
+options.sync.ScriptishPrefs.common=Синхронизировать общие настройки Scriptish
+options.sync.ScriptishPrefs.editor=Синхронизировать настройки редактора
options.title=Настройки Scriptish
-options.toolbarbutton=Кнопка на тулбаре
-options.toolbarbutton.showScripts=Показывать количество активных скриптов
+options.toolbarbutton=Кнопка панели инструментов
+options.toolbarbutton.showScripts=Показывать число активных скриптов
options.translation=Перевод
-options.translation.useEnglish=Всегда использовать Английский
-options.update.security=Безопасность обновлений
-options.useDownloadURL=Использовать URL загрузки для обновления, если не указана URL обновления.
+options.translation.useEnglish=Всегда использовать английский язык
+options.update.security=Безопасность обновления
+options.useDownloadURL=Использовать URL для загрузки обновлений, если не указан URL обновления
reinstall=Переустановить
saving=Сохранение
scratchpad.saveAsUserScript=Сохранить как пользовательский скрипт
scratchpad.saveAsUserScript.ak=u
-scriptOptions.disableScriptIncludes=Отключить указанные в скрипте @include шаблоны и использовать указанные здесь.
-scriptOptions.excludes=Пользовательские @exclude:
-scriptOptions.includes=Пользовательские @include:
+scriptOptions.disableScriptIncludes=Отключить заданные в скрипте включения и использовать только эти.
+scriptOptions.excludes=Пользовательские исключения:
+scriptOptions.includes=Пользовательские включения:
statusbar.enabled=Включено
statusbar.enabled.ak=E
statusbar.installed=успешно установлен
-statusbar.modified=изменен
-statusbar.noScripts.excluded=
+statusbar.modified=изменён
+statusbar.noScripts.excluded=Страница исключена!
statusbar.noScripts.notfound=Нет скриптов для страницы!
-statusbar.noScripts.scheme=
-statusbar.updated=успешно обновлен(ы)
-tooltip.loading=Загрузка...
+statusbar.noScripts.scheme=Схема отключена!
+statusbar.updated=успешно обновлён
+sync=Синхронизация
+tooltip.loading=Загрузка…
Uninstall=Удалить
-untitledScript=Скрипт без имени
+untitledScript=Безымянный скрипт
Update=Обновить
userscript=Пользовательский скрипт
userscripts=Пользовательские скрипты
userscripts.get=Получить пользовательские скрипты
-userscripts.noneInstalled=У вас нет установленных скриптов
-warning.returnfrommain="return" from the main scope is not generally supported. You should fix that in your user script
+userscripts.noneInstalled=Пользовательские скрипты не установлены
+warning.returnfrommain=«возврат» из основной области обычно не поддерживаются. Вы должны исправить это в пользовательском скрипте.
View
2 extension/locale/sv-SE/description.properties
@@ -1,5 +1,5 @@
amo.description.line1=Scriptish är en fristående förgrening av Greasemonkey och erbjuder:
-amo.description.line2=Allting som Greasemonkey erbjuder (vilket faktiskt är riktigt användbart)
+amo.description.line2=Allting som Greasemonkey erbjuder (som är användbart, vill säga)
amo.description.line3=Uppdatering: Användarskript kan uppdateras i Scriptish m.h.a. @updateURL
amo.description.line4=Flera nya <a title="Scriptishs metadatablocksdokumentation - Scriptish Wiki" href="https://github.com/scriptish/scriptish/wiki/Manual%3A-Metadata-Block">metadatanycklar (@keys)</a>
amo.description.line5=Flera nya <a title="Scriptishs användarskripts-API - Scriptish Wiki" href="https://github.com/scriptish/scriptish/wiki/Manual%3A-API">tillägg till GM_-API:n</a>
View
15 extension/locale/sv-SE/scriptish.properties
@@ -14,7 +14,7 @@ error.api.noResourceWithName=Det finns ingen resurs med namnet
error.api.noSecondArgValue=Det andra argumentet har inte angivits: Värde
error.api.reqURL=Ogiltig URL
error.api.reqURL.scheme=Otillåtet schema i URL
-error.api.safeHTMLParser.url=
+error.api.safeHTMLParser.url=Argumentet "URL" för GM_safeHTMLParser kunde inte parsas
error.api.unsafeAccess=Åtkomstfel i Scriptish: unsafeWindow kan inte anropa
error.charset=Ogiltig teckenuppsättning angavs.
error.dependency.loading=Fel vid inläsning av beroende
@@ -24,16 +24,16 @@ error.hash.algorithm=Ogiltig hashalgoritm angavs.
error.icon.dataURL=Ogiltig data: URL för @icon
error.icon.notImage=Fel! @icon har ingen MIME-bildtyp
error.icon.URL=Ogiltig URL för @icon
-error.invalidCert=
+error.invalidCert=Ogiltigt SSL-certifikat.\nOm så önskas kan alla certifikat tillåtas genom att aktivera alternativet i Scriptish inställningar > Avancerat > Uppdateringssäkerhet.
error.isInvalidValue=är ett ogiltigt värde
error.matchPattern.rules=@match-mönster uppfyller inte mönsterreglerna
error.matchPattern.rules.file=@match-mönstret för filschema uppfyller inte mönsterreglerna
-error.notSecure=
+error.notSecure=Osäker URI.\nOm så önskas kan icke-HTTPS-uppdateringar tillåtas genom att aktivera alternativet i Scriptish inställningar > Avancerat > Uppdateringssäkerhet.
error.notSupported.Firefox=stöds inte i denna version av Firefox
error.openingFile=Det gick inte att öppna filen
error.pattern.parsing=Det gick inte att parsa mönstret
error.pref.type=Inställningstypen stöds inte. Giltiga typer är: sträng, boolesk och 32-bitars heltal.
-error.remoteVersionOlder=
+error.remoteVersionOlder=Fjärrskriptet har inget senare versionsnummer än ditt nuvarande skript.
error.resource.dupName=är en resursnamnsdubblett. Varje @resource måste ha ett unikt namn.
error.resource.syntax=Ogiltig syntax för @resource-deklaration
error.retrieving=Det gick inte att hämta
@@ -131,6 +131,10 @@ options.pane.main=Allmänt
options.pane.ui=Användargränssnitt
options.requireBuiltInCerts=Säker uppdatering kräver användning av inbyggda certifikat
options.requireSecured=Kräv att användarskript uppdateras via HTTPS
+options.sync.desc=Tjänsten Firefox Sync och dess alternativ "Inställningar" måste vara aktiverade!
+options.sync.ScriptishPrefs=Inställningar för Scriptish
+options.sync.ScriptishPrefs.common=Synkronisera allmänna inställningar för tillägget Scriptish
+options.sync.ScriptishPrefs.editor=Synkronisera redigeringsinställningarna
options.title=Inställningar för Scriptish
options.toolbarbutton=Verktygsfältsknapp
options.toolbarbutton.showScripts=Visa antalet aktiva skript
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=Sidan är undantagen!
statusbar.noScripts.notfound=Inga skript för sidan!
statusbar.noScripts.scheme=Schemat är inaktiverat!
statusbar.updated=har uppdaterats
+sync=Synka
tooltip.loading=Läser in…
Uninstall=Avinstallera
untitledScript=(Namnlöst skript)
@@ -161,4 +166,4 @@ userscript=Användarskript
userscripts=Användarskript
userscripts.get=Hämta användarskript
userscripts.noneInstalled=Du har inga användarskript installerade
-warning.returnfrommain=Att \"gå tillbaka\" från huvudområdet stöds som regel inte. Du bör åtgärda det i ditt användarskript.
+warning.returnfrommain=Att "gå tillbaka" från huvudområdet stöds som regel inte. Du bör åtgärda det i ditt användarskript.
View
5 extension/locale/zh-CN/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=常规
options.pane.ui=用户界面
options.requireBuiltInCerts=安全更新需要使用内置的证书
options.requireSecured=要求用户脚本使用 HTTPS 更新
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=Scriptish 选项
options.toolbarbutton=工具栏按钮
options.toolbarbutton.showScripts=显示活动的脚本数
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=页面已排除!
statusbar.noScripts.notfound=页面上没有脚本在运行!
statusbar.noScripts.scheme=Scheme 已禁用!
statusbar.updated=更新成功
+sync=
tooltip.loading=正在加载...
Uninstall=卸载
untitledScript=无标题的脚本
View
5 extension/locale/zh-TW/scriptish.properties
@@ -131,6 +131,10 @@ options.pane.main=主要
options.pane.ui=介面
options.requireBuiltInCerts=安全性更新必須使用內建的憑證
options.requireSecured=腳本必須使用 HTTPS 更新
+options.sync.desc=
+options.sync.ScriptishPrefs=
+options.sync.ScriptishPrefs.common=
+options.sync.ScriptishPrefs.editor=
options.title=Scriptish 選項
options.toolbarbutton=工具列按鈕
options.toolbarbutton.showScripts=顯示作用中的腳本數
@@ -153,6 +157,7 @@ statusbar.noScripts.excluded=頁面已排除!
statusbar.noScripts.notfound=沒有在此頁面執行的腳本!
statusbar.noScripts.scheme=協定已停用!
statusbar.updated=更新成功
+sync=
tooltip.loading=載入中…
Uninstall=移除
untitledScript=無標題的腳本
View
21 extension/modules/prefmanager.js
@@ -4,18 +4,20 @@ lazyUtil(this, "stringBundle");
const MIN_INT_32 = -0x80000000;
const MAX_INT_32 = 0x7FFFFFFF;
+const SYNC_PREFIX = "services.sync.prefs.sync.";
const Scriptish_prefRoot = new Scriptish_PrefManager();
/**
* Simple API on top of preferences for extensions.scriptish.
* Construct an instance by passing the startPoint of a preferences subtree.
* "extensions.scriptish." prefix is assumed.
*/
-function Scriptish_PrefManager(startPoint) {
+function Scriptish_PrefManager(startPoint, syncMode) {
if (!startPoint) startPoint = "";
startPoint = "extensions.scriptish." + startPoint;
- var pref = Services.prefs.getBranch(startPoint);
+ var pref =
+ Services.prefs.getBranch((syncMode ? SYNC_PREFIX : "") + startPoint);
var observers = {};
@@ -133,4 +135,19 @@ function Scriptish_PrefManager(startPoint) {
.removeObserver(prefName, observers[watcher]);
}
}
+
+ // Determine if the preference is currently set to be synchronized
+ this.isSynced = function(prefName) {
+ return this.getValue(prefName, false);
+ }
+
+ // Set a preference to be synchronized
+ this.sync = function(prefName) {
+ this.setValue(prefName, true);
+ }
+
+ // Stop a preference from being synchronized
+ this.unsync = function(prefName) {
+ this.setValue(prefName, false);
+ }
}
View
3 extension/skin/options.css
@@ -13,6 +13,9 @@ radio[pane="pane-ui"] {
radio[pane="pane-excludes"] {
-moz-image-region: rect(0px, 64px, 32px, 32px);
}
+radio[pane="pane-sync"] {
+ list-style-image: url(chrome://browser/skin/sync-32.png);
+}
radio[pane="pane-advanced"] {
-moz-image-region: rect(0px, 96px, 32px, 64px);
}

0 comments on commit 25caef3

Please sign in to comment.