Browse Source

improved listener performance

Signed-off-by: Gerald <[email protected]>
Gerald 10 years ago
parent
commit
a5581369b2

+ 32 - 28
src/_locales/cs/messages.json

@@ -71,6 +71,10 @@
 		"description": "Button to close window.",
 		"message": "Zavřít"
 	},
+	"msgScriptURL": {
+		"description": "URL of the script to be installed on confirm page.",
+		"message": "Skript URL: $1"
+	},
 	"msgErrorLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed cannot be loaded.",
 		"message": "Chyba při načítání skript."
@@ -79,10 +83,6 @@
 		"description": "Message shown in the confirm page when a javascript file to be installed is loaded.",
 		"message": "Skript načten."
 	},
-	"msgScriptURL": {
-		"description": "URL of the script to be installed on confirm page.",
-		"message": "Skript URL: $1"
-	},
 	"msgLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed is loading.",
 		"message": "Nahrávám skript..."
@@ -131,6 +131,18 @@
 		"description": "Option to allow automatically checking scripts for updates every 24 hours.",
 		"message": "Automaticky kontrolovat aktualizace skriptu každý den"
 	},
+	"labelInjectMode": {
+		"description": "Label to a combo box to choose script injection modes.",
+		"message": "Script injection mode:"
+	},
+	"injectModeNormal": {
+		"description": "Script injection mode: Normal",
+		"message": "Normal"
+	},
+	"injectModeAdvanced": {
+		"description": "Script injection mode: Advanced",
+		"message": "Advanced"
+	},
 	"labelDataImport": {
 		"description": "Section title of data import.",
 		"message": "Data Import"
@@ -199,6 +211,10 @@
 		"description": "Translator shown on about tab.",
 		"message": "<a href=http://my.opera.com/ahoj1234 target=_blank>ahoj1234</a>"
 	},
+	"labelCurrentLang": {
+		"description": "Label of current language.",
+		"message": "Current Language:"
+	},
 	"labelScriptEditor": {
 		"description": "Shown in the title of the script editing page.",
 		"message": "Editor skriptů"
@@ -283,6 +299,14 @@
 		"description": "Hint for support page.",
 		"message": "Support page"
 	},
+	"buttonDisable": {
+		"description": "Button to disable a script.",
+		"message": "Vypnout"
+	},
+	"buttonEnable": {
+		"description": "Button to enable a script.",
+		"message": "Zapnout"
+	},
 	"buttonEdit": {
 		"description": "Button to edit a script.",
 		"message": "Editovat"
@@ -299,10 +323,6 @@
 		"description": "Confirm message shown when there are unsaved script modifications.",
 		"message": "Modifikace není uložena! Klikni na OK pro zbavení se jí, nebo na zrušit pro zůstání zde."
 	},
-	"hintUseDownloadURL": {
-		"description": "Shown as a place holder for @updateURL when it is not assigned",
-		"message": "Use @downloadURL"
-	},
 	"msgImported": {
 		"description": "Message shown after import. There is an argument referring to the count of scripts imported.",
 		"message": "$1 vec(i) jsou importovány."
@@ -315,6 +335,10 @@
 		"description": "Hint for vacuuming data.",
 		"message": "Zbavit se nadbytečného a zkusit znovu načíst chybějící zdroje v cache."
 	},
+	"hintUseDownloadURL": {
+		"description": "Shown as a place holder for @updateURL when it is not assigned",
+		"message": "Use @downloadURL"
+	},
 	"buttonVacuumed": {
 		"description": "Message shown when data is vacuumed.",
 		"message": "Data vyprázdněna"
@@ -339,26 +363,6 @@
 		"description": "Menu item to list script commands.",
 		"message": "Skriptové příkazy..."
 	},
-	"labelInjectMode": {
-		"description": "Label to a combo box to choose script injection modes.",
-		"message": "Script injection mode:"
-	},
-	"injectModeNormal": {
-		"description": "Script injection mode: Normal",
-		"message": "Normal"
-	},
-	"injectModeAdvanced": {
-		"description": "Script injection mode: Advanced",
-		"message": "Advanced"
-	},
-	"buttonDisable": {
-		"description": "Button to disable a script.",
-		"message": "Vypnout"
-	},
-	"buttonEnable": {
-		"description": "Button to enable a script.",
-		"message": "Zapnout"
-	},
 	"labelSearch": {
 		"description": "Label for search input in search box.",
 		"message": "Hledat: "

+ 32 - 28
src/_locales/de/messages.json

@@ -71,6 +71,10 @@
 		"description": "Button to close window.",
 		"message": "Schließen"
 	},
+	"msgScriptURL": {
+		"description": "URL of the script to be installed on confirm page.",
+		"message": "Skript URL: $1"
+	},
 	"msgErrorLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed cannot be loaded.",
 		"message": "Fehler beim Laden der Skriptdaten."
@@ -79,10 +83,6 @@
 		"description": "Message shown in the confirm page when a javascript file to be installed is loaded.",
 		"message": "Skriptdaten geladen"
 	},
-	"msgScriptURL": {
-		"description": "URL of the script to be installed on confirm page.",
-		"message": "Skript URL: $1"
-	},
 	"msgLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed is loading.",
 		"message": "Skriptdaten werden geladen..."
@@ -131,6 +131,18 @@
 		"description": "Option to allow automatically checking scripts for updates every 24 hours.",
 		"message": "Prüfe täglich auf Aktualisierungen"
 	},
+	"labelInjectMode": {
+		"description": "Label to a combo box to choose script injection modes.",
+		"message": "Script injection mode:"
+	},
+	"injectModeNormal": {
+		"description": "Script injection mode: Normal",
+		"message": "Normal"
+	},
+	"injectModeAdvanced": {
+		"description": "Script injection mode: Advanced",
+		"message": "Advanced"
+	},
 	"labelDataImport": {
 		"description": "Section title of data import.",
 		"message": "Importieren"
@@ -199,6 +211,10 @@
 		"description": "Translator shown on about tab.",
 		"message": "<a href=\"http://blog.scrobble.me\">Adrian Moerchen</a>"
 	},
+	"labelCurrentLang": {
+		"description": "Label of current language.",
+		"message": "Current Language:"
+	},
 	"labelScriptEditor": {
 		"description": "Shown in the title of the script editing page.",
 		"message": "Editor"
@@ -283,6 +299,14 @@
 		"description": "Hint for support page.",
 		"message": "Support"
 	},
+	"buttonDisable": {
+		"description": "Button to disable a script.",
+		"message": "Deaktivieren"
+	},
+	"buttonEnable": {
+		"description": "Button to enable a script.",
+		"message": "Aktivieren"
+	},
 	"buttonEdit": {
 		"description": "Button to edit a script.",
 		"message": "Bearbeiten"
@@ -299,10 +323,6 @@
 		"description": "Confirm message shown when there are unsaved script modifications.",
 		"message": "Die Änderungen wurden nicht gespreichert!Zum Verwerfen OK drücken oder Abbrechen um fortzufahren."
 	},
-	"hintUseDownloadURL": {
-		"description": "Shown as a place holder for @updateURL when it is not assigned",
-		"message": "Verwende @downloadURL"
-	},
 	"msgImported": {
 		"description": "Message shown after import. There is an argument referring to the count of scripts imported.",
 		"message": "$1 Skript(e) wurden importiert."
@@ -315,6 +335,10 @@
 		"description": "Hint for vacuuming data.",
 		"message": "Redundazen verwerfen und fehlenden Ressourcen aus dem Cache neuladen."
 	},
+	"hintUseDownloadURL": {
+		"description": "Shown as a place holder for @updateURL when it is not assigned",
+		"message": "Verwende @downloadURL"
+	},
 	"buttonVacuumed": {
 		"description": "Message shown when data is vacuumed.",
 		"message": "Daten gesäubert"
@@ -339,26 +363,6 @@
 		"description": "Menu item to list script commands.",
 		"message": "Skriptbefehle..."
 	},
-	"labelInjectMode": {
-		"description": "Label to a combo box to choose script injection modes.",
-		"message": "Script injection mode:"
-	},
-	"injectModeNormal": {
-		"description": "Script injection mode: Normal",
-		"message": "Normal"
-	},
-	"injectModeAdvanced": {
-		"description": "Script injection mode: Advanced",
-		"message": "Advanced"
-	},
-	"buttonDisable": {
-		"description": "Button to disable a script.",
-		"message": "Deaktivieren"
-	},
-	"buttonEnable": {
-		"description": "Button to enable a script.",
-		"message": "Aktivieren"
-	},
 	"labelSearch": {
 		"description": "Label for search input in search box.",
 		"message": "Suche nach: "

+ 32 - 28
src/_locales/en/messages.json

@@ -71,6 +71,10 @@
 		"description": "Button to close window.",
 		"message": "Close"
 	},
+	"msgScriptURL": {
+		"description": "URL of the script to be installed on confirm page.",
+		"message": "Script URL: $1"
+	},
 	"msgErrorLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed cannot be loaded.",
 		"message": "Error loading script data."
@@ -79,10 +83,6 @@
 		"description": "Message shown in the confirm page when a javascript file to be installed is loaded.",
 		"message": "Script data loaded."
 	},
-	"msgScriptURL": {
-		"description": "URL of the script to be installed on confirm page.",
-		"message": "Script URL: $1"
-	},
 	"msgLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed is loading.",
 		"message": "Loading script data..."
@@ -131,6 +131,18 @@
 		"description": "Option to allow automatically checking scripts for updates every 24 hours.",
 		"message": "Automatically check scripts for updates every day"
 	},
+	"labelInjectMode": {
+		"description": "Label to a combo box to choose script injection modes.",
+		"message": "Script injection mode:"
+	},
+	"injectModeNormal": {
+		"description": "Script injection mode: Normal",
+		"message": "Normal"
+	},
+	"injectModeAdvanced": {
+		"description": "Script injection mode: Advanced",
+		"message": "Advanced"
+	},
 	"labelDataImport": {
 		"description": "Section title of data import.",
 		"message": "Data Import"
@@ -199,6 +211,10 @@
 		"description": "Translator shown on about tab.",
 		"message": "<a href=mailto:[email protected]>Gerald</a>"
 	},
+	"labelCurrentLang": {
+		"description": "Label of current language.",
+		"message": "Current Language:"
+	},
 	"labelScriptEditor": {
 		"description": "Shown in the title of the script editing page.",
 		"message": "Script Editor"
@@ -283,6 +299,14 @@
 		"description": "Hint for support page.",
 		"message": "Support page"
 	},
+	"buttonDisable": {
+		"description": "Button to disable a script.",
+		"message": "Disable"
+	},
+	"buttonEnable": {
+		"description": "Button to enable a script.",
+		"message": "Enable"
+	},
 	"buttonEdit": {
 		"description": "Button to edit a script.",
 		"message": "Edit"
@@ -299,10 +323,6 @@
 		"description": "Confirm message shown when there are unsaved script modifications.",
 		"message": "Modifications are not saved!\nClick OK to discard them or cancel to stay."
 	},
-	"hintUseDownloadURL": {
-		"description": "Shown as a place holder for @updateURL when it is not assigned",
-		"message": "Use @downloadURL"
-	},
 	"msgImported": {
 		"description": "Message shown after import. There is an argument referring to the count of scripts imported.",
 		"message": "$1 item(s) are imported."
@@ -315,6 +335,10 @@
 		"description": "Hint for vacuuming data.",
 		"message": "Discard the redundancy and try to reload the missing resources in cache."
 	},
+	"hintUseDownloadURL": {
+		"description": "Shown as a place holder for @updateURL when it is not assigned",
+		"message": "Use @downloadURL"
+	},
 	"buttonVacuumed": {
 		"description": "Message shown when data is vacuumed.",
 		"message": "Data vacuumed"
@@ -339,26 +363,6 @@
 		"description": "Menu item to list script commands.",
 		"message": "Script commands..."
 	},
-	"labelInjectMode": {
-		"description": "Label to a combo box to choose script injection modes.",
-		"message": "Script injection mode:"
-	},
-	"injectModeNormal": {
-		"description": "Script injection mode: Normal",
-		"message": "Normal"
-	},
-	"injectModeAdvanced": {
-		"description": "Script injection mode: Advanced",
-		"message": "Advanced"
-	},
-	"buttonDisable": {
-		"description": "Button to disable a script.",
-		"message": "Disable"
-	},
-	"buttonEnable": {
-		"description": "Button to enable a script.",
-		"message": "Enable"
-	},
 	"labelSearch": {
 		"description": "Label for search input in search box.",
 		"message": "Search for: "

+ 32 - 28
src/_locales/pl/messages.json

@@ -71,6 +71,10 @@
 		"description": "Button to close window.",
 		"message": "Zamknij edytor/instalator"
 	},
+	"msgScriptURL": {
+		"description": "URL of the script to be installed on confirm page.",
+		"message": "Adres URL skryptu: $1"
+	},
 	"msgErrorLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed cannot be loaded.",
 		"message": "Błąd wczytywania skryptu."
@@ -79,10 +83,6 @@
 		"description": "Message shown in the confirm page when a javascript file to be installed is loaded.",
 		"message": "Skrypt wczytany."
 	},
-	"msgScriptURL": {
-		"description": "URL of the script to be installed on confirm page.",
-		"message": "Adres URL skryptu: $1"
-	},
 	"msgLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed is loading.",
 		"message": "Wczytywanie skryptu..."
@@ -131,6 +131,18 @@
 		"description": "Option to allow automatically checking scripts for updates every 24 hours.",
 		"message": "Automatycznie sprawdzaj aktualizacje dla skryptów każdego dnia"
 	},
+	"labelInjectMode": {
+		"description": "Label to a combo box to choose script injection modes.",
+		"message": "Script injection mode:"
+	},
+	"injectModeNormal": {
+		"description": "Script injection mode: Normal",
+		"message": "Normal"
+	},
+	"injectModeAdvanced": {
+		"description": "Script injection mode: Advanced",
+		"message": "Advanced"
+	},
 	"labelDataImport": {
 		"description": "Section title of data import.",
 		"message": "Import danych"
@@ -199,6 +211,10 @@
 		"description": "Translator shown on about tab.",
 		"message": "<a href=mailto:[email protected]>MISI90</a>, <a href=mailto:[email protected]>Piter432</a>"
 	},
+	"labelCurrentLang": {
+		"description": "Label of current language.",
+		"message": "Current Language:"
+	},
 	"labelScriptEditor": {
 		"description": "Shown in the title of the script editing page.",
 		"message": "Edytor skryptu"
@@ -283,6 +299,14 @@
 		"description": "Hint for support page.",
 		"message": "Strona wsparcia"
 	},
+	"buttonDisable": {
+		"description": "Button to disable a script.",
+		"message": "Wyłącz skrypt"
+	},
+	"buttonEnable": {
+		"description": "Button to enable a script.",
+		"message": "Włącz skrypt"
+	},
 	"buttonEdit": {
 		"description": "Button to edit a script.",
 		"message": "Edytuj skrypt"
@@ -299,10 +323,6 @@
 		"description": "Confirm message shown when there are unsaved script modifications.",
 		"message": "Modyfikacje w tym skrypcie nie zostały zapisane! Kliknij \"OK\", aby wyjść lub \"Anuluj\", aby pozostać."
 	},
-	"hintUseDownloadURL": {
-		"description": "Shown as a place holder for @updateURL when it is not assigned",
-		"message": "Use @downloadURL"
-	},
 	"msgImported": {
 		"description": "Message shown after import. There is an argument referring to the count of scripts imported.",
 		"message": "$1 pozycja/e/i zaimportowana/e/ych."
@@ -315,6 +335,10 @@
 		"description": "Hint for vacuuming data.",
 		"message": "Usuń nadmiarowość i spróbuj przeładować brakujące dane w pamięci podręcznej."
 	},
+	"hintUseDownloadURL": {
+		"description": "Shown as a place holder for @updateURL when it is not assigned",
+		"message": "Use @downloadURL"
+	},
 	"buttonVacuumed": {
 		"description": "Message shown when data is vacuumed.",
 		"message": "Dane wyczyszczone"
@@ -339,26 +363,6 @@
 		"description": "Menu item to list script commands.",
 		"message": "Komendy skryptu..."
 	},
-	"labelInjectMode": {
-		"description": "Label to a combo box to choose script injection modes.",
-		"message": "Script injection mode:"
-	},
-	"injectModeNormal": {
-		"description": "Script injection mode: Normal",
-		"message": "Normal"
-	},
-	"injectModeAdvanced": {
-		"description": "Script injection mode: Advanced",
-		"message": "Advanced"
-	},
-	"buttonDisable": {
-		"description": "Button to disable a script.",
-		"message": "Wyłącz skrypt"
-	},
-	"buttonEnable": {
-		"description": "Button to enable a script.",
-		"message": "Włącz skrypt"
-	},
 	"labelSearch": {
 		"description": "Label for search input in search box.",
 		"message": "Szukaj w: "

+ 32 - 28
src/_locales/ru/messages.json

@@ -71,6 +71,10 @@
 		"description": "Button to close window.",
 		"message": "Закрыть"
 	},
+	"msgScriptURL": {
+		"description": "URL of the script to be installed on confirm page.",
+		"message": "URL-адрес скрипта: $1"
+	},
 	"msgErrorLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed cannot be loaded.",
 		"message": "Ошибка загрузки скрипта."
@@ -79,10 +83,6 @@
 		"description": "Message shown in the confirm page when a javascript file to be installed is loaded.",
 		"message": "Скрипт загружен."
 	},
-	"msgScriptURL": {
-		"description": "URL of the script to be installed on confirm page.",
-		"message": "URL-адрес скрипта: $1"
-	},
 	"msgLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed is loading.",
 		"message": "Загружается скрипт..."
@@ -131,6 +131,18 @@
 		"description": "Option to allow automatically checking scripts for updates every 24 hours.",
 		"message": "Ежедневно проверять обновления скриптов"
 	},
+	"labelInjectMode": {
+		"description": "Label to a combo box to choose script injection modes.",
+		"message": "Script injection mode:"
+	},
+	"injectModeNormal": {
+		"description": "Script injection mode: Normal",
+		"message": "Normal"
+	},
+	"injectModeAdvanced": {
+		"description": "Script injection mode: Advanced",
+		"message": "Advanced"
+	},
 	"labelDataImport": {
 		"description": "Section title of data import.",
 		"message": "Data Import"
@@ -199,6 +211,10 @@
 		"description": "Translator shown on about tab.",
 		"message": "softovikk"
 	},
+	"labelCurrentLang": {
+		"description": "Label of current language.",
+		"message": "Current Language:"
+	},
 	"labelScriptEditor": {
 		"description": "Shown in the title of the script editing page.",
 		"message": "Редактор скриптов"
@@ -283,6 +299,14 @@
 		"description": "Hint for support page.",
 		"message": "Support page"
 	},
+	"buttonDisable": {
+		"description": "Button to disable a script.",
+		"message": "Выключить"
+	},
+	"buttonEnable": {
+		"description": "Button to enable a script.",
+		"message": "Включить"
+	},
 	"buttonEdit": {
 		"description": "Button to edit a script.",
 		"message": "Изменить"
@@ -299,10 +323,6 @@
 		"description": "Confirm message shown when there are unsaved script modifications.",
 		"message": "Изменения не сохранены!\nНажмите OK, чтобы выйти или Отмена, чтобы вернуться."
 	},
-	"hintUseDownloadURL": {
-		"description": "Shown as a place holder for @updateURL when it is not assigned",
-		"message": "Use @downloadURL"
-	},
 	"msgImported": {
 		"description": "Message shown after import. There is an argument referring to the count of scripts imported.",
 		"message": "$1 скрипт(ов) импортировано."
@@ -315,6 +335,10 @@
 		"description": "Hint for vacuuming data.",
 		"message": "Сбросить избыточность кэша и попробовать подгрузить недостающие ресурсы"
 	},
+	"hintUseDownloadURL": {
+		"description": "Shown as a place holder for @updateURL when it is not assigned",
+		"message": "Use @downloadURL"
+	},
 	"buttonVacuumed": {
 		"description": "Message shown when data is vacuumed.",
 		"message": "Сбросить кэш"
@@ -339,26 +363,6 @@
 		"description": "Menu item to list script commands.",
 		"message": "Команды скриптов..."
 	},
-	"labelInjectMode": {
-		"description": "Label to a combo box to choose script injection modes.",
-		"message": "Script injection mode:"
-	},
-	"injectModeNormal": {
-		"description": "Script injection mode: Normal",
-		"message": "Normal"
-	},
-	"injectModeAdvanced": {
-		"description": "Script injection mode: Advanced",
-		"message": "Advanced"
-	},
-	"buttonDisable": {
-		"description": "Button to disable a script.",
-		"message": "Выключить"
-	},
-	"buttonEnable": {
-		"description": "Button to enable a script.",
-		"message": "Включить"
-	},
 	"labelSearch": {
 		"description": "Label for search input in search box.",
 		"message": "Найти для: "

+ 32 - 28
src/_locales/zh/messages.json

@@ -71,6 +71,10 @@
 		"description": "Button to close window.",
 		"message": "关闭"
 	},
+	"msgScriptURL": {
+		"description": "URL of the script to be installed on confirm page.",
+		"message": "脚本URL:$1"
+	},
 	"msgErrorLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed cannot be loaded.",
 		"message": "加载脚本数据发生错误。"
@@ -79,10 +83,6 @@
 		"description": "Message shown in the confirm page when a javascript file to be installed is loaded.",
 		"message": "脚本数据已加载。"
 	},
-	"msgScriptURL": {
-		"description": "URL of the script to be installed on confirm page.",
-		"message": "脚本URL:$1"
-	},
 	"msgLoadingData": {
 		"description": "Message shown on confirm page when the script to be installed is loading.",
 		"message": "正在加载脚本数据..."
@@ -131,6 +131,18 @@
 		"description": "Option to allow automatically checking scripts for updates every 24 hours.",
 		"message": "每天自动更新脚本"
 	},
+	"labelInjectMode": {
+		"description": "Label to a combo box to choose script injection modes.",
+		"message": "脚本注入模式:"
+	},
+	"injectModeNormal": {
+		"description": "Script injection mode: Normal",
+		"message": "普通"
+	},
+	"injectModeAdvanced": {
+		"description": "Script injection mode: Advanced",
+		"message": "高级"
+	},
 	"labelDataImport": {
 		"description": "Section title of data import.",
 		"message": "数据导入"
@@ -199,6 +211,10 @@
 		"description": "Translator shown on about tab.",
 		"message": "<a href=mailto:[email protected]>Gerald</a>"
 	},
+	"labelCurrentLang": {
+		"description": "Label of current language.",
+		"message": "当前语言:"
+	},
 	"labelScriptEditor": {
 		"description": "Shown in the title of the script editing page.",
 		"message": "脚本编辑器"
@@ -283,6 +299,14 @@
 		"description": "Hint for support page.",
 		"message": "支持页面"
 	},
+	"buttonDisable": {
+		"description": "Button to disable a script.",
+		"message": "禁用"
+	},
+	"buttonEnable": {
+		"description": "Button to enable a script.",
+		"message": "启用"
+	},
 	"buttonEdit": {
 		"description": "Button to edit a script.",
 		"message": "编辑"
@@ -299,10 +323,6 @@
 		"description": "Confirm message shown when there are unsaved script modifications.",
 		"message": "修改尚未保存!\n点击确定放弃修改或点击取消停留此页面。"
 	},
-	"hintUseDownloadURL": {
-		"description": "Shown as a place holder for @updateURL when it is not assigned",
-		"message": "使用@downloadURL"
-	},
 	"msgImported": {
 		"description": "Message shown after import. There is an argument referring to the count of scripts imported.",
 		"message": "已导入$1个脚本。"
@@ -315,6 +335,10 @@
 		"description": "Hint for vacuuming data.",
 		"message": "丢弃多余的数据,并尝试重新获取缺失的资源。"
 	},
+	"hintUseDownloadURL": {
+		"description": "Shown as a place holder for @updateURL when it is not assigned",
+		"message": "使用@downloadURL"
+	},
 	"buttonVacuumed": {
 		"description": "Message shown when data is vacuumed.",
 		"message": "数据已整理"
@@ -339,26 +363,6 @@
 		"description": "Menu item to list script commands.",
 		"message": "脚本命令..."
 	},
-	"labelInjectMode": {
-		"description": "Label to a combo box to choose script injection modes.",
-		"message": "脚本注入模式:"
-	},
-	"injectModeNormal": {
-		"description": "Script injection mode: Normal",
-		"message": "普通"
-	},
-	"injectModeAdvanced": {
-		"description": "Script injection mode: Advanced",
-		"message": "高级"
-	},
-	"buttonDisable": {
-		"description": "Button to disable a script.",
-		"message": "禁用"
-	},
-	"buttonEnable": {
-		"description": "Button to enable a script.",
-		"message": "启用"
-	},
 	"labelSearch": {
 		"description": "Label for search input in search box.",
 		"message": "查找:"

+ 15 - 4
src/background.js

@@ -213,6 +213,7 @@ function getScript(id,src,callback) {	// for user edit
 			if(callback) callback(v);
 		}
 	};
+	return true;
 }
 function getMetas(ids,src,callback) {	// for popup menu
 	var o=db.transaction('scripts').objectStore('scripts'),data=[],id;
@@ -225,6 +226,7 @@ function getMetas(ids,src,callback) {	// for popup menu
 		}; else callback(data);
 	}
 	getOne();
+	return true;
 }
 var badges={};
 function setBadge(n,src,callback) {
@@ -254,6 +256,7 @@ function getCacheB64(ids,src,callback) {
 		}; else callback(data);
 	}
 	loop();
+	return true;
 }
 function getInjected(url,src,callback) {	// for injected
 	function getScripts(){
@@ -309,6 +312,7 @@ function getInjected(url,src,callback) {	// for injected
 	var data={scripts:[],values:{},require:{},injectMode:settings.injectMode},
 			cache={},values=[],n=0;
 	if(data.isApplied=settings.isApplied) getScripts(); else finish();
+	return true;
 }
 function fetchURL(url, cb, type, headers) {
   var req=new XMLHttpRequest(),i;
@@ -323,6 +327,7 @@ var u_cache={},u_require={};
 function saveCache(url,data,callback) {
 	var o=db.transaction('cache','readwrite').objectStore('cache');
 	o.put({uri:url,data:data}).onsuccess=callback;
+	return true;
 }
 function fetchCache(url) {
 	if(u_cache[url]) return;
@@ -340,6 +345,7 @@ function fetchCache(url) {
 function saveRequire(url,data,callback) {
 	var o=db.transaction('require','readwrite').objectStore('require');
 	o.put({uri:url,code:data}).onsuccess=callback;
+	return true;
 }
 function fetchRequire(url) {
 	if(u_require[url]) return;
@@ -375,6 +381,7 @@ function queryScript(id,meta,callback){
 		}; else queryMeta();
 	}
 	queryId();
+	return true;
 }
 function parseScript(o,src,callback) {
 	var i,r={status:0,message:'message' in o?o.message:_('msgUpdated')};
@@ -449,7 +456,6 @@ function getOption(k,src,callback){
 		r=false;
 	}
 	if(callback) callback(v);
-	return r;
 }
 function setOption(o,src,callback){
 	if(!o.check||(o.key in settings)) {
@@ -460,7 +466,9 @@ function setOption(o,src,callback){
 }
 function initSettings(){
 	function init(k,v){
-		if(!getOption(k)) setOption({key:k,value:v});
+		getOption(k,null,function(v){
+			if(v===null) setOption({key:k,value:v});
+		});
 	}
 	init('isApplied',true);
 	init('autoUpdate',true);
@@ -523,6 +531,7 @@ function checkUpdate(id,src,callback) {
 		if(r) checkUpdateO(r);
 		if(callback) callback();
 	};
+	return true;
 }
 function checkUpdateAll(e,src,callback) {
 	setOption({key:'lastUpdate',value:Date.now()});
@@ -536,6 +545,7 @@ function checkUpdateAll(e,src,callback) {
 		checkUpdateO(r.value);
 		r.continue();
 	};
+	return true;
 }
 var checking=false;
 function autoCheck() {
@@ -574,6 +584,7 @@ function getData(d,src,callback) {
 	}
 	var data={settings:settings,scripts:[]},cache={};
 	getScripts();
+	return true;
 }
 function exportZip(z,src,callback){
 	function getScripts(){
@@ -608,6 +619,7 @@ function exportZip(z,src,callback){
 	function finish(){callback(d);}
 	var d={scripts:[],settings:settings},values=[];
 	getScripts();
+	return true;
 }
 
 // Requests
@@ -739,8 +751,7 @@ initDb(function(){
 			HttpRequest: httpRequest,
 			AbortRequest: abortRequest,
 		},f=maps[req.cmd];
-		if(f) f(req.data,src,callback);
-		return true;
+		if(f) return f(req.data,src,callback);
 	});
 	chrome.browserAction.setIcon({path:'images/icon19'+(settings.isApplied?'':'w')+'.png'});
 	setTimeout(autoCheck,2e4);

+ 1 - 1
src/confirm.html

@@ -1,7 +1,7 @@
 <!doctype html>
 <html>
 	<head>
-		<meta http-equiv="content-type" content="text/html;charset=utf-8">
+		<meta charset="utf-8" />
 		<link rel="shortcut icon" type="image/png" href="images/icon16.png" />
 		<link rel="stylesheet" type="text/css" href="style.min.css" />
 		<script type="text/javascript" src="load.js"></script>

+ 4 - 3
src/options.html

@@ -1,7 +1,7 @@
 <!doctype html>
 <html>
 	<head>
-		<meta http-equiv="content-type" content="text/html;charset=utf-8">
+		<meta charset="utf-8" />
 		<link rel="shortcut icon" type="image/png" href="images/icon16.png">
 		<link rel="stylesheet" type="text/css" href="lib/font-awesome/font-awesome.min.css">
 		<link rel="stylesheet" type="text/css" href="style.min.css">
@@ -14,7 +14,7 @@
 			<div class=sidebar>
 				<img src=images/icon128.png>
 				<h2 data-i18n=extName></h2>
-				<p>2013-2014</p>
+				<p>2013-2015</p>
 				<hr>
 				<div class=sidemenu>
 					<a id=smInstalled href=#Installed data-i18n=sideMenuInstalled></a>
@@ -62,9 +62,10 @@
 				<div id=tabAbout class=hide>
 					<h1 data-i18n=labelAbout></h1>
 					<p data-i18n=extDescription></p>
-					<p><label data-i18n=labelRelated></label><span data-i18n=anchorSupportPage></span> | <a href=http://geraldl.net/donate target=_blank data-i18n=labelDonate></a> | <a href=https://github.com/gera2ld/Violentmonkey/issues target=_blank data-i18n=labelFeedback></a> | <a href=http://cotrans.geraldl.net target=_blank>Help with translation<i class="fa fa-language"></i></a></p>
+					<p><label data-i18n=labelRelated></label><span data-i18n=anchorSupportPage></span> | <a href=http://geraldl.net/donate target=_blank data-i18n=labelDonate></a> | <a href=https://github.com/gera2ld/Violentmonkey/issues target=_blank data-i18n=labelFeedback></a></p>
 					<p><label data-i18n=labelAuthor></label><span data-i18n=anchorAuthor></span></p>
 					<p><label data-i18n=labelTranslator></label><span data-i18n=anchorTranslator></span></p>
+					<p><label data-i18n=labelCurrentLang></label><span id=currentLang></span> | <a href=http://cotrans.geraldl.net target=_blank>Help with translation<i class="fa fa-language"></i></a></p>
 				</div>
 			</div>
 		</div>

+ 1 - 0
src/options.js

@@ -6,6 +6,7 @@ function getName(d,n,def){
 	d.title=n||'';
 	d.innerHTML=n?n.replace(/&/g,'&amp;').replace(/</g,'&lt;'):(def||'<em>'+_('labelNoName')+'</em>');
 }
+$('#currentLang').innerHTML=navigator.language;
 
 // Main options
 function allowUpdate(n){

+ 1 - 1
src/popup.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html id=popup>
 	<head>
-		<meta content="text/html;charset=utf-8" http-equiv="content-type" />
+		<meta charset="utf-8" />
 		<link rel="stylesheet" type="text/css" href="lib/font-awesome/font-awesome.min.css">
 		<link rel="stylesheet" type="text/css" href="style.min.css">
 		<title>Popup Menu - Violentmonkey</title>

+ 10 - 0
src/style.less

@@ -319,6 +319,16 @@ label>*{
 		border: 1px dashed lightgray;
 	}
 }
+// About
+#currentLang {
+	color: orange;
+	font-weight: bold;
+}
+#tabAbout {
+	.fa-language {
+		padding-left: .3em;
+	}
+}
 
 // confirm page
 @confirm-header-height: 7em;

File diff suppressed because it is too large
+ 0 - 0
src/style.min.css


Some files were not shown because too many files changed in this diff