Pārlūkot izejas kodu

feat: require @name for scripts

Gerald 9 gadi atpakaļ
vecāks
revīzija
95219e6acb

+ 33 - 9
src/_locales/cs/messages.yml

@@ -13,7 +13,7 @@ msgUpdated:
   message: Skript aktualizován.
   message: Skript aktualizován.
 msgErrorFetchingScript:
 msgErrorFetchingScript:
   description: Message shown when Violentmonkey fails fetching a new version of the script.
   description: Message shown when Violentmonkey fails fetching a new version of the script.
-  message: 'Chyba při načítání skritpu!'
+  message: Chyba při načítání skritpu!
 msgInstalled:
 msgInstalled:
   description: Message shown when a script is installed.
   description: Message shown when a script is installed.
   message: Skript nainstalován.
   message: Skript nainstalován.
@@ -30,7 +30,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: Aktualizuji...
   message: Aktualizuji...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: Nalezena nová verze.
   message: Nalezena nová verze.
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +62,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: Zavřít
   message: Zavřít
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: Chyba při načítání skriptu.
   message: Chyba při načítání skriptu.
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: Skript načten.
   message: Skript načten.
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,12 +117,15 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 'Způsob podvržení skriptu:'
   message: 'Způsob podvržení skriptu:'
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: Obyčejný
   message: Obyčejný
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: Pokročilý
   message: Pokročilý
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: Obnova dat
   message: Obnova dat
@@ -167,7 +176,9 @@ labelTranslator:
   message: 'Překladatel: '
   message: 'Překladatel: '
 anchorTranslator:
 anchorTranslator:
   description: Translator shown on about tab.
   description: Translator shown on about tab.
-  message: '<a href=https://www.transifex.com/user/profile/nfsmaniac target=_blank>nfsmaniac</a>'
+  message: >-
+    <a href=https://www.transifex.com/user/profile/nfsmaniac
+    target=_blank>nfsmaniac</a>
 labelCurrentLang:
 labelCurrentLang:
   description: Label of current language.
   description: Label of current language.
   message: 'Současný jazyk: '
   message: 'Současný jazyk: '
@@ -254,14 +265,18 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: Zkontrolovat aktualizace
   message: Zkontrolovat aktualizace
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: $1 věc(i) jsou obnovenyy.
   message: $1 věc(i) jsou obnovenyy.
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
   message: Použít @downloadURL
   message: Použít @downloadURL
 confirmNotSaved:
 confirmNotSaved:
   description: Confirm message shown when there are unsaved script modifications.
   description: Confirm message shown when there are unsaved script modifications.
-  message: 'Úpravy nebyly uloženy! Klikni na OK pro návrat a ztrátu změn, nebo na zrušit pro setrvání na této stránce.'
+  message: >-
+    Úpravy nebyly uloženy! Klikni na OK pro návrat a ztrátu změn, nebo na zrušit
+    pro setrvání na této stránce.
 buttonVacuuming:
 buttonVacuuming:
   description: Message shown when data vacuum is in progress.
   description: Message shown when data vacuum is in progress.
   message: Čištení dat...
   message: Čištení dat...
@@ -312,10 +327,14 @@ labelAutoReloadCurrentTab:
   message: Znovu načíst současný list po zapnutí či vypnutí skriptu z nabídky.
   message: Znovu načíst současný list po zapnutí či vypnutí skriptu z nabídky.
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
-  message: 'Účinné, ale selhává na dobře zabezpečených stránkách – např. https://github.com'
+  message: >-
+    Účinné, ale selhává na dobře zabezpečených stránkách – např.
+    https://github.com
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: 'Pracuje na většině stránek, současně se jedná o hack.'
   message: 'Pracuje na většině stránek, současně se jedná o hack.'
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: 'Adresa skriptu:'
   message: 'Adresa skriptu:'
@@ -356,5 +375,10 @@ msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
   message: ''
   message: ''
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
+  message: ''
+msgInvalidScript:
+  description: Message shown when script is invalid.
   message: ''
   message: ''

+ 28 - 8
src/_locales/de/messages.yml

@@ -13,7 +13,7 @@ msgUpdated:
   message: Das Skript wurde aktualisiert.
   message: Das Skript wurde aktualisiert.
 msgErrorFetchingScript:
 msgErrorFetchingScript:
   description: Message shown when Violentmonkey fails fetching a new version of the script.
   description: Message shown when Violentmonkey fails fetching a new version of the script.
-  message: 'Fehler beim Herunterladen der neuen Version!'
+  message: Fehler beim Herunterladen der neuen Version!
 msgInstalled:
 msgInstalled:
   description: Message shown when a script is installed.
   description: Message shown when a script is installed.
   message: Das Skript wurde installiert.
   message: Das Skript wurde installiert.
@@ -30,7 +30,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: Aktualisiere...
   message: Aktualisiere...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: Neue Version verfügbar.
   message: Neue Version verfügbar.
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +62,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: Schließen
   message: Schließen
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: Fehler beim Laden der Skriptdaten.
   message: Fehler beim Laden der Skriptdaten.
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: Skriptdaten geladen
   message: Skriptdaten geladen
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,12 +117,15 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 'Script injection mode:'
   message: 'Script injection mode:'
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: Normal
   message: Normal
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: Advanced
   message: Advanced
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: Importieren
   message: Importieren
@@ -230,7 +239,7 @@ buttonSave:
   message: Speichern
   message: Speichern
 buttonSaveClose:
 buttonSaveClose:
   description: Button to save modifications of a script and then close the editing page.
   description: Button to save modifications of a script and then close the editing page.
-  message: 'Speichern & Schließen'
+  message: Speichern & Schließen
 labelNoScripts:
 labelNoScripts:
   description: Message shown when no script is installed.
   description: Message shown when no script is installed.
   message: Es ist noch kein Script installiert.
   message: Es ist noch kein Script installiert.
@@ -254,14 +263,18 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: Auf Aktualisierung prüfen
   message: Auf Aktualisierung prüfen
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: $1 Skript(e) wurden importiert.
   message: $1 Skript(e) wurden importiert.
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
   message: Verwende @downloadURL
   message: Verwende @downloadURL
 confirmNotSaved:
 confirmNotSaved:
   description: Confirm message shown when there are unsaved script modifications.
   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.'
+  message: >-
+    Die Änderungen wurden nicht gespreichert!Zum Verwerfen OK drücken oder
+    Abbrechen um fortzufahren.
 buttonVacuuming:
 buttonVacuuming:
   description: Message shown when data vacuum is in progress.
   description: Message shown when data vacuum is in progress.
   message: Säubere Daten...
   message: Säubere Daten...
@@ -313,9 +326,11 @@ labelAutoReloadCurrentTab:
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
   message: ''
   message: ''
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: ''
   message: ''
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: ''
   message: ''
@@ -356,5 +371,10 @@ msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
   message: ''
   message: ''
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
+  message: ''
+msgInvalidScript:
+  description: Message shown when script is invalid.
   message: ''
   message: ''

+ 30 - 12
src/_locales/en/messages.yml

@@ -6,14 +6,14 @@ extDescription:
   message: Userscript support for Chromium based browsers like Opera and Chrome.
   message: Userscript support for Chromium based browsers like Opera and Chrome.
 extTranslator:
 extTranslator:
   description: Information of the translator.
   description: Information of the translator.
-  message: 'Gerald <[email protected]>'
+  message: Gerald <[email protected]>
   touched: false
   touched: false
 msgUpdated:
 msgUpdated:
   description: Message shown when a script is updated/reinstalled.
   description: Message shown when a script is updated/reinstalled.
   message: Script updated.
   message: Script updated.
 msgErrorFetchingScript:
 msgErrorFetchingScript:
   description: Message shown when Violentmonkey fails fetching a new version of the script.
   description: Message shown when Violentmonkey fails fetching a new version of the script.
-  message: 'Error fetching script!'
+  message: Error fetching script!
 msgInstalled:
 msgInstalled:
   description: Message shown when a script is installed.
   description: Message shown when a script is installed.
   message: Script installed.
   message: Script installed.
@@ -30,7 +30,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: Updating...
   message: Updating...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: New version found.
   message: New version found.
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +62,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: Close
   message: Close
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: Error loading script data.
   message: Error loading script data.
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: Script data loaded.
   message: Script data loaded.
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,12 +117,15 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 'Script injection mode:'
   message: 'Script injection mode:'
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: Normal
   message: Normal
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: Advanced
   message: Advanced
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: Data Import
   message: Data Import
@@ -230,10 +239,10 @@ buttonSave:
   message: Save
   message: Save
 buttonSaveClose:
 buttonSaveClose:
   description: Button to save modifications of a script and then close the editing page.
   description: Button to save modifications of a script and then close the editing page.
-  message: 'Save & Close'
+  message: Save & Close
 labelNoScripts:
 labelNoScripts:
   description: Message shown when no script is installed.
   description: Message shown when no script is installed.
-  message: "Oops, you haven't got any script yet."
+  message: 'Oops, you haven''t got any script yet.'
 hintSupportPage:
 hintSupportPage:
   description: Hint for support page.
   description: Hint for support page.
   message: Support page
   message: Support page
@@ -254,7 +263,9 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: Check for updates
   message: Check for updates
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: $1 item(s) are imported.
   message: $1 item(s) are imported.
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
@@ -315,9 +326,11 @@ labelAutoReloadCurrentTab:
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
   message: 'Efficient but fails in some high security pages, e.g. https://github.com'
   message: 'Efficient but fails in some high security pages, e.g. https://github.com'
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: 'Works in most pages, actually a hack'
   message: 'Works in most pages, actually a hack'
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: 'Input URL:'
   message: 'Input URL:'
@@ -347,7 +360,7 @@ msgSyncInit:
   message: Initializing...
   message: Initializing...
 msgSyncInitError:
 msgSyncInitError:
   description: Message shown when sync fails in initialization.
   description: Message shown when sync fails in initialization.
-  message: 'Initializing error!'
+  message: Initializing error!
 msgSyncReady:
 msgSyncReady:
   description: Message shown when sync will start soon.
   description: Message shown when sync will start soon.
   message: Sync will start soon...
   message: Sync will start soon...
@@ -356,7 +369,12 @@ msgSyncing:
   message: Sync in progress...
   message: Sync in progress...
 msgSyncError:
 msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
-  message: 'Sync error!'
+  message: Sync error!
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
-  message: 'Script namespace conflicts! Please modify @name and @namespace.'
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
+  message: Script namespace conflicts! Please modify @name and @namespace.
+msgInvalidScript:
+  description: Message shown when script is invalid.
+  message: Invalid script!

+ 33 - 11
src/_locales/pl/messages.yml

@@ -13,7 +13,7 @@ msgUpdated:
   message: Skrypt zaktualizowany.
   message: Skrypt zaktualizowany.
 msgErrorFetchingScript:
 msgErrorFetchingScript:
   description: Message shown when Violentmonkey fails fetching a new version of the script.
   description: Message shown when Violentmonkey fails fetching a new version of the script.
-  message: 'Błąd przy pobieraniu skryptu!'
+  message: Błąd przy pobieraniu skryptu!
 msgInstalled:
 msgInstalled:
   description: Message shown when a script is installed.
   description: Message shown when a script is installed.
   message: Skrypt zainstalowany
   message: Skrypt zainstalowany
@@ -30,7 +30,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: Aktualizowanie skryptu...
   message: Aktualizowanie skryptu...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: Znaleziono nową wersję tego skryptu.
   message: Znaleziono nową wersję tego skryptu.
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +62,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: Zamknij edytor/instalator
   message: Zamknij edytor/instalator
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: Błąd wczytywania skryptu.
   message: Błąd wczytywania skryptu.
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: Skrypt wczytany.
   message: Skrypt wczytany.
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,18 +117,21 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 'Script injection mode:'
   message: 'Script injection mode:'
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: Normal
   message: Normal
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: Advanced
   message: Advanced
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: Import danych
   message: Import danych
 buttonImportData:
 buttonImportData:
   description: Button to choose a file for data import.
   description: Button to choose a file for data import.
-  message: 'Importuj skrypty z pliku ".zip"'
+  message: Importuj skrypty z pliku ".zip"
 buttonVacuum:
 buttonVacuum:
   description: Button to vacuum extension data.
   description: Button to vacuum extension data.
   message: Wyczyść dane skryptów
   message: Wyczyść dane skryptów
@@ -140,7 +149,7 @@ buttonAllNone:
   message: Wszystkie/Żaden
   message: Wszystkie/Żaden
 buttonExportData:
 buttonExportData:
   description: Button to open the data export dialog.
   description: Button to open the data export dialog.
-  message: 'Eksportuj skrypty do pliku ".zip"'
+  message: Eksportuj skrypty do pliku ".zip"
 labelAbout:
 labelAbout:
   description: Label shown on top of the about page.
   description: Label shown on top of the about page.
   message: O rozszerzeniu Violentmonkey
   message: O rozszerzeniu Violentmonkey
@@ -167,7 +176,9 @@ labelTranslator:
   message: 'Tłumacze: '
   message: 'Tłumacze: '
 anchorTranslator:
 anchorTranslator:
   description: Translator shown on about tab.
   description: Translator shown on about tab.
-  message: '<a href=mailto:[email protected]>MISI90</a>, <a href=mailto:[email protected]>Piter432</a>'
+  message: >-
+    <a href=mailto:[email protected]>MISI90</a>, <a
+    href=mailto:[email protected]>Piter432</a>
 labelCurrentLang:
 labelCurrentLang:
   description: Label of current language.
   description: Label of current language.
   message: 'Current Language: '
   message: 'Current Language: '
@@ -233,7 +244,7 @@ buttonSaveClose:
   message: Zapisz skrypt i zamknij edytor
   message: Zapisz skrypt i zamknij edytor
 labelNoScripts:
 labelNoScripts:
   description: Message shown when no script is installed.
   description: Message shown when no script is installed.
-  message: "Oops, you haven't got any script yet."
+  message: 'Oops, you haven''t got any script yet.'
 hintSupportPage:
 hintSupportPage:
   description: Hint for support page.
   description: Hint for support page.
   message: Strona wsparcia
   message: Strona wsparcia
@@ -254,14 +265,18 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: Sprawdź aktualizację/e skryptu
   message: Sprawdź aktualizację/e skryptu
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: $1 pozycja/e/i zaimportowana/e/ych.
   message: $1 pozycja/e/i zaimportowana/e/ych.
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
   message: Use @downloadURL
   message: Use @downloadURL
 confirmNotSaved:
 confirmNotSaved:
   description: Confirm message shown when there are unsaved script modifications.
   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ć.'
+  message: >-
+    Modyfikacje w tym skrypcie nie zostały zapisane! Kliknij "OK", aby wyjść lub
+    "Anuluj", aby pozostać.
 buttonVacuuming:
 buttonVacuuming:
   description: Message shown when data vacuum is in progress.
   description: Message shown when data vacuum is in progress.
   message: Czyszczenie danych...
   message: Czyszczenie danych...
@@ -313,9 +328,11 @@ labelAutoReloadCurrentTab:
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
   message: ''
   message: ''
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: ''
   message: ''
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: ''
   message: ''
@@ -356,5 +373,10 @@ msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
   message: ''
   message: ''
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
+  message: ''
+msgInvalidScript:
+  description: Message shown when script is invalid.
   message: ''
   message: ''

+ 36 - 12
src/_locales/ro/messages.yml

@@ -3,7 +3,9 @@ extName:
   message: Violentmonkey
   message: Violentmonkey
 extDescription:
 extDescription:
   description: Description for this extension.
   description: Description for this extension.
-  message: 'Suport pentru scripturi de utilizatori în navigatoare bazate pe Chromium, precum Opera și Chrome.'
+  message: >-
+    Suport pentru scripturi de utilizatori în navigatoare bazate pe Chromium,
+    precum Opera și Chrome.
 extTranslator:
 extTranslator:
   description: Information of the translator.
   description: Information of the translator.
   message: Nicolae Crefelean
   message: Nicolae Crefelean
@@ -13,7 +15,7 @@ msgUpdated:
   message: Script actualizat.
   message: Script actualizat.
 msgErrorFetchingScript:
 msgErrorFetchingScript:
   description: Message shown when Violentmonkey fails fetching a new version of the script.
   description: Message shown when Violentmonkey fails fetching a new version of the script.
-  message: 'Eroare la preluarea scriptului!'
+  message: Eroare la preluarea scriptului!
 msgInstalled:
 msgInstalled:
   description: Message shown when a script is installed.
   description: Message shown when a script is installed.
   message: Script instalat.
   message: Script instalat.
@@ -30,7 +32,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: Se actualizează...
   message: Se actualizează...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: O nouă versiune a fost găsită.
   message: O nouă versiune a fost găsită.
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +64,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: Închide
   message: Închide
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: Eroare la încărcarea datelor scriptului.
   message: Eroare la încărcarea datelor scriptului.
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: Datele scriptului au fost încărcate.
   message: Datele scriptului au fost încărcate.
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,12 +119,15 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 'Modul de injectare a scriptului:'
   message: 'Modul de injectare a scriptului:'
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: Normal
   message: Normal
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: Avansat
   message: Avansat
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: Import de date
   message: Import de date
@@ -254,7 +265,9 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: Cuată actualizări
   message: Cuată actualizări
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: $1 obiect(e) importat(e).
   message: $1 obiect(e) importat(e).
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
@@ -272,7 +285,9 @@ buttonVacuumed:
   message: Date curățate
   message: Date curățate
 hintVacuum:
 hintVacuum:
   description: Hint for vacuuming data.
   description: Hint for vacuuming data.
-  message: Se elimină datele redundante și se încearcă reîncărcarea resurselor lipsă în cache.
+  message: >-
+    Se elimină datele redundante și se încearcă reîncărcarea resurselor lipsă în
+    cache.
 menuManageScripts:
 menuManageScripts:
   description: 'Menu item to manage scripts, or to open the options page of the extension.'
   description: 'Menu item to manage scripts, or to open the options page of the extension.'
   message: Administrează scripturile
   message: Administrează scripturile
@@ -314,10 +329,14 @@ labelAutoReloadCurrentTab:
   message: Reîncarcă fila curentă după activarea/dezactivarea unui script din meniu
   message: Reîncarcă fila curentă după activarea/dezactivarea unui script din meniu
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
-  message: 'Eficient dar eșuează în paginile cu securitate înaltă, de ex. https://github.com'
+  message: >-
+    Eficient dar eșuează în paginile cu securitate înaltă, de ex.
+    https://github.com
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: 'Funcționează în majoritatea paginilor, de fapt e un hack'
   message: 'Funcționează în majoritatea paginilor, de fapt e un hack'
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: 'Introduceți URL-ul:'
   message: 'Introduceți URL-ul:'
@@ -347,7 +366,7 @@ msgSyncInit:
   message: Inițializare...
   message: Inițializare...
 msgSyncInitError:
 msgSyncInitError:
   description: Message shown when sync fails in initialization.
   description: Message shown when sync fails in initialization.
-  message: 'Eroare la inițializare!'
+  message: Eroare la inițializare!
 msgSyncReady:
 msgSyncReady:
   description: Message shown when sync will start soon.
   description: Message shown when sync will start soon.
   message: Sincronizarea va începe în curând...
   message: Sincronizarea va începe în curând...
@@ -356,7 +375,12 @@ msgSyncing:
   message: Sincronizare în desfășurare...
   message: Sincronizare în desfășurare...
 msgSyncError:
 msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
-  message: 'Eroare la sincronizare!'
+  message: Eroare la sincronizare!
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
-  message: 'Conflict în namespace-ul scriptului! Te rugăm modifică @name și @namespace.'
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
+  message: Conflict în namespace-ul scriptului! Te rugăm modifică @name și @namespace.
+msgInvalidScript:
+  description: Message shown when script is invalid.
+  message: ''

+ 27 - 7
src/_locales/ru/messages.yml

@@ -13,7 +13,7 @@ msgUpdated:
   message: Скрипт обновлен.
   message: Скрипт обновлен.
 msgErrorFetchingScript:
 msgErrorFetchingScript:
   description: Message shown when Violentmonkey fails fetching a new version of the script.
   description: Message shown when Violentmonkey fails fetching a new version of the script.
-  message: 'Ошибка загрузки скрипта!'
+  message: Ошибка загрузки скрипта!
 msgInstalled:
 msgInstalled:
   description: Message shown when a script is installed.
   description: Message shown when a script is installed.
   message: Скрипт установлен.
   message: Скрипт установлен.
@@ -30,7 +30,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: Обновление...
   message: Обновление...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: Доступна новая версия.
   message: Доступна новая версия.
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +62,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: Закрыть
   message: Закрыть
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: Ошибка загрузки скрипта.
   message: Ошибка загрузки скрипта.
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: Скрипт загружен.
   message: Скрипт загружен.
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,12 +117,15 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 'Режим встраивания скриптов:'
   message: 'Режим встраивания скриптов:'
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: Обычный
   message: Обычный
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: Расширенный
   message: Расширенный
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: Импорт данных
   message: Импорт данных
@@ -254,7 +263,9 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: Проверить обновления
   message: Проверить обновления
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: $1 скрипт(ов) импортировано.
   message: $1 скрипт(ов) импортировано.
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
@@ -314,10 +325,14 @@ labelAutoReloadCurrentTab:
   message: Обновить текущую вкладку после включения/выключения скрипта
   message: Обновить текущую вкладку после включения/выключения скрипта
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
-  message: 'Эффективен, но иеет проблемы с некоторыми защищенными страницами, например https://github.com'
+  message: >-
+    Эффективен, но иеет проблемы с некоторыми защищенными страницами, например
+    https://github.com
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: Работает на большинстве сайтов
   message: Работает на большинстве сайтов
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: 'Введите URL:'
   message: 'Введите URL:'
@@ -358,5 +373,10 @@ msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
   message: ''
   message: ''
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
+  message: ''
+msgInvalidScript:
+  description: Message shown when script is invalid.
   message: ''
   message: ''

+ 31 - 9
src/_locales/sr/messages.yml

@@ -13,7 +13,7 @@ msgUpdated:
   message: Скрипта је ажурирана.
   message: Скрипта је ажурирана.
 msgErrorFetchingScript:
 msgErrorFetchingScript:
   description: Message shown when Violentmonkey fails fetching a new version of the script.
   description: Message shown when Violentmonkey fails fetching a new version of the script.
-  message: 'Грешка при преузимању скрипте!'
+  message: Грешка при преузимању скрипте!
 msgInstalled:
 msgInstalled:
   description: Message shown when a script is installed.
   description: Message shown when a script is installed.
   message: Скрипта је инсталирана.
   message: Скрипта је инсталирана.
@@ -30,7 +30,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: Ажурирање...
   message: Ажурирање...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: Нова верзија је пронађена.
   message: Нова верзија је пронађена.
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +62,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: Затвори
   message: Затвори
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: Грешка приликом учитавања скрипте.
   message: Грешка приликом учитавања скрипте.
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: Скрипта је учитана.
   message: Скрипта је учитана.
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,12 +117,15 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 'Режим уграђивања скрипте:'
   message: 'Режим уграђивања скрипте:'
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: Нормални
   message: Нормални
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: Напредни
   message: Напредни
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: Увоз података
   message: Увоз података
@@ -149,7 +158,9 @@ labelRelated:
   message: Сродне везе
   message: Сродне везе
 anchorSupportPage:
 anchorSupportPage:
   description: Link to the support page of Violentmonkey.
   description: Link to the support page of Violentmonkey.
-  message: '<a href=https://violentmonkey.github.io/violentmonkey/ target=_blank>Violentmonkey</a>'
+  message: >-
+    <a href=https://violentmonkey.github.io/violentmonkey/
+    target=_blank>Violentmonkey</a>
 labelDonate:
 labelDonate:
   description: Label of link to donate page.
   description: Label of link to donate page.
   message: Донирај
   message: Донирај
@@ -254,7 +265,9 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: Провери ажурирања
   message: Провери ажурирања
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: 'Увезено: $1 ставка/е/и'
   message: 'Увезено: $1 ставка/е/и'
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
@@ -311,13 +324,17 @@ buttonReplaceAll:
   message: Све
   message: Све
 labelAutoReloadCurrentTab:
 labelAutoReloadCurrentTab:
   description: Option to reload current tab after a script is switched on or off from menu.
   description: Option to reload current tab after a script is switched on or off from menu.
-  message: Поново учитај тренутну картицу након укључивања/искључивања скрипте из менија
+  message: >-
+    Поново учитај тренутну картицу након укључивања/искључивања скрипте из
+    менија
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
   message: 'Ефикасан, али не ради на неким безбедним страницама, нпр. https://github.com'
   message: 'Ефикасан, али не ради на неким безбедним страницама, нпр. https://github.com'
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: 'Ради на већини страница, заправо је хак'
   message: 'Ради на већини страница, заправо је хак'
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: 'Унесите адресу:'
   message: 'Унесите адресу:'
@@ -358,5 +375,10 @@ msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
   message: Грешка при синхронизацији
   message: Грешка при синхронизацији
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
-  message: 'Неусаглашеност имена скрипти! Измените @name и @namespace.'
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
+  message: Неусаглашеност имена скрипти! Измените @name и @namespace.
+msgInvalidScript:
+  description: Message shown when script is invalid.
+  message: ''

+ 33 - 13
src/_locales/vi/messages.yml

@@ -6,14 +6,14 @@ extDescription:
   message: Userscript support for Chromium based browsers like Opera and Chrome.
   message: Userscript support for Chromium based browsers like Opera and Chrome.
 extTranslator:
 extTranslator:
   description: Information of the translator.
   description: Information of the translator.
-  message: 'Nguyễn Đông Hoàng <[email protected]>'
+  message: Nguyễn Đông Hoàng <[email protected]>
   touched: false
   touched: false
 msgUpdated:
 msgUpdated:
   description: Message shown when a script is updated/reinstalled.
   description: Message shown when a script is updated/reinstalled.
   message: Đã cập nhật script.
   message: Đã cập nhật script.
 msgErrorFetchingScript:
 msgErrorFetchingScript:
   description: Message shown when Violentmonkey fails fetching a new version of the script.
   description: Message shown when Violentmonkey fails fetching a new version of the script.
-  message: 'Có lỗi khi tìm phiên bản mới!'
+  message: Có lỗi khi tìm phiên bản mới!
 msgInstalled:
 msgInstalled:
   description: Message shown when a script is installed.
   description: Message shown when a script is installed.
   message: Đã cài đặt script.
   message: Đã cài đặt script.
@@ -30,7 +30,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: Đang cập nhật...
   message: Đang cập nhật...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: Có phiên bản mới.
   message: Có phiên bản mới.
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +62,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: Đóng
   message: Đóng
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: Không thể tải script.
   message: Không thể tải script.
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: Đã tải script.
   message: Đã tải script.
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,12 +117,15 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 'Chế độ tiêm :'
   message: 'Chế độ tiêm :'
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: Bình thường
   message: Bình thường
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: Nâng cao
   message: Nâng cao
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: Nhập dữ liệu
   message: Nhập dữ liệu
@@ -230,10 +239,10 @@ buttonSave:
   message: Lưu
   message: Lưu
 buttonSaveClose:
 buttonSaveClose:
   description: Button to save modifications of a script and then close the editing page.
   description: Button to save modifications of a script and then close the editing page.
-  message: 'Lưu & Đóng'
+  message: Lưu & Đóng
 labelNoScripts:
 labelNoScripts:
   description: Message shown when no script is installed.
   description: Message shown when no script is installed.
-  message: "Oops, bạn không có script nào được cài đặt."
+  message: 'Oops, bạn không có script nào được cài đặt.'
 hintSupportPage:
 hintSupportPage:
   description: Hint for support page.
   description: Hint for support page.
   message: Trang hỗ trợ
   message: Trang hỗ trợ
@@ -254,7 +263,9 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: Kiểm tra cập nhật
   message: Kiểm tra cập nhật
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: Đã nhập $1 script.
   message: Đã nhập $1 script.
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
@@ -314,10 +325,14 @@ labelAutoReloadCurrentTab:
   message: Tải lại trang khi bật/tắt script từ menu
   message: Tải lại trang khi bật/tắt script từ menu
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
-  message: 'Khá tốt nhưng có thể lỗi trên một số trang bảo mật cao, Ví dụ https://github.com'
+  message: >-
+    Khá tốt nhưng có thể lỗi trên một số trang bảo mật cao, Ví dụ
+    https://github.com
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: 'Hoạt đông trên hầu hết các trang, thực ra là hack'
   message: 'Hoạt đông trên hầu hết các trang, thực ra là hack'
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: 'URL đầu vào:'
   message: 'URL đầu vào:'
@@ -347,7 +362,7 @@ msgSyncInit:
   message: Đang khởi tạo...
   message: Đang khởi tạo...
 msgSyncInitError:
 msgSyncInitError:
   description: Message shown when sync fails in initialization.
   description: Message shown when sync fails in initialization.
-  message: 'Khởi tạo lỗi!'
+  message: Khởi tạo lỗi!
 msgSyncReady:
 msgSyncReady:
   description: Message shown when sync will start soon.
   description: Message shown when sync will start soon.
   message: Đồng bộ sẽ chạy sớm...
   message: Đồng bộ sẽ chạy sớm...
@@ -356,7 +371,12 @@ msgSyncing:
   message: Đang đồng bộ...
   message: Đang đồng bộ...
 msgSyncError:
 msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
-  message: 'Đồng bộ lỗi!'
+  message: Đồng bộ lỗi!
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
-  message: 'Xung đột namespace! Vui lòng sửa @name và @namespace.'
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
+  message: Xung đột namespace! Vui lòng sửa @name và @namespace.
+msgInvalidScript:
+  description: Message shown when script is invalid.
+  message: ''

+ 30 - 10
src/_locales/zh/messages.yml

@@ -6,7 +6,7 @@ extDescription:
   message: 为基于Chromium的浏览器(如Opera和Chrome)提供用户脚本支持。
   message: 为基于Chromium的浏览器(如Opera和Chrome)提供用户脚本支持。
 extTranslator:
 extTranslator:
   description: Information of the translator.
   description: Information of the translator.
-  message: 'Gerald <[email protected]>'
+  message: Gerald <[email protected]>
   touched: false
   touched: false
 msgUpdated:
 msgUpdated:
   description: Message shown when a script is updated/reinstalled.
   description: Message shown when a script is updated/reinstalled.
@@ -30,7 +30,9 @@ msgUpdating:
   description: Message shown when a new version of script is being fetched.
   description: Message shown when a new version of script is being fetched.
   message: 正在更新...
   message: 正在更新...
 msgNewVersion:
 msgNewVersion:
-  description: 'Message shown when a new version of script is found by @updateURL, but no @downloadURL is provided.'
+  description: >-
+    Message shown when a new version of script is found by @updateURL, but no
+    @downloadURL is provided.
   message: 发现新版本。
   message: 发现新版本。
 msgCheckingForUpdate:
 msgCheckingForUpdate:
   description: Message shown when a script is being checked for updates by version numbers.
   description: Message shown when a script is being checked for updates by version numbers.
@@ -60,10 +62,14 @@ buttonClose:
   description: Button to close window.
   description: Button to close window.
   message: 关闭
   message: 关闭
 msgErrorLoadingData:
 msgErrorLoadingData:
-  description: Message shown on confirm page when the script to be installed cannot be loaded.
+  description: >-
+    Message shown on confirm page when the script to be installed cannot be
+    loaded.
   message: 加载脚本数据发生错误。
   message: 加载脚本数据发生错误。
 msgLoadedData:
 msgLoadedData:
-  description: Message shown in the confirm page when a javascript file to be installed is loaded.
+  description: >-
+    Message shown in the confirm page when a javascript file to be installed is
+    loaded.
   message: 脚本数据已加载。
   message: 脚本数据已加载。
 msgErrorLoadingDependency:
 msgErrorLoadingDependency:
   description: Message shown when not all requirements are loaded successfully.
   description: Message shown when not all requirements are loaded successfully.
@@ -111,12 +117,15 @@ labelIgnoreGrant:
 labelInjectMode:
 labelInjectMode:
   description: Label for a combo box to choose script injection modes.
   description: Label for a combo box to choose script injection modes.
   message: 脚本注入模式:
   message: 脚本注入模式:
+  touched: false
 injectModeNormal:
 injectModeNormal:
   description: 'Script injection mode: Normal'
   description: 'Script injection mode: Normal'
   message: 普通
   message: 普通
+  touched: false
 injectModeAdvanced:
 injectModeAdvanced:
   description: 'Script injection mode: Advanced'
   description: 'Script injection mode: Advanced'
   message: 高级
   message: 高级
+  touched: false
 labelDataImport:
 labelDataImport:
   description: Section title of data import.
   description: Section title of data import.
   message: 数据导入
   message: 数据导入
@@ -203,7 +212,7 @@ labelKeepInclude:
   message: 保留原有的包含规则
   message: 保留原有的包含规则
 labelCustomInclude:
 labelCustomInclude:
   description: Label of custom @include rules.
   description: Label of custom @include rules.
-  message: '自定义包含规则:<em>(每行一个)</em>'
+  message: 自定义包含规则:<em>(每行一个)</em>
 labelMatch:
 labelMatch:
   description: Label of @match rules.
   description: Label of @match rules.
   message: 匹配规则
   message: 匹配规则
@@ -212,7 +221,7 @@ labelKeepMatch:
   message: 保留原有的匹配规则
   message: 保留原有的匹配规则
 labelCustomMatch:
 labelCustomMatch:
   description: Label of custom @match rules.
   description: Label of custom @match rules.
-  message: '自定义匹配规则:<em>(每行一个)</em>'
+  message: 自定义匹配规则:<em>(每行一个)</em>
 labelExclude:
 labelExclude:
   description: Label of @exclude rules.
   description: Label of @exclude rules.
   message: 排除规则
   message: 排除规则
@@ -221,7 +230,7 @@ labelKeepExclude:
   message: 保留原有的排除规则
   message: 保留原有的排除规则
 labelCustomExclude:
 labelCustomExclude:
   description: Label of custom @exclude rules.
   description: Label of custom @exclude rules.
-  message: '自定义排除规则:<em>(每行一个)</em>'
+  message: 自定义排除规则:<em>(每行一个)</em>
 labelAllowUpdate:
 labelAllowUpdate:
   description: Option to allow checking updates for a script.
   description: Option to allow checking updates for a script.
   message: 允许更新
   message: 允许更新
@@ -233,7 +242,9 @@ buttonSaveClose:
   message: 保存并关闭
   message: 保存并关闭
 labelNoScripts:
 labelNoScripts:
   description: Message shown when no script is installed.
   description: Message shown when no script is installed.
-  message: "你居然没有脚本!<br>快<a href=http://gerald.top/tag/userjs target=_blank>点此</a>查看<a href=http://gerald.top target=_blank style='color:orange'>Gerald</a>的脚本吧~"
+  message: >-
+    你居然没有脚本!<br>快<a href=http://gerald.top/tag/userjs target=_blank>点此</a>查看<a
+    href=http://gerald.top target=_blank style='color:orange'>Gerald</a>的脚本吧~
 hintSupportPage:
 hintSupportPage:
   description: Hint for support page.
   description: Hint for support page.
   message: 支持页面
   message: 支持页面
@@ -254,7 +265,9 @@ buttonUpdate:
   description: Check a script for updates.
   description: Check a script for updates.
   message: 查找更新
   message: 查找更新
 msgImported:
 msgImported:
-  description: Message shown after import. There is an argument referring to the count of scripts imported.
+  description: >-
+    Message shown after import. There is an argument referring to the count of
+    scripts imported.
   message: 已导入$1个脚本。
   message: 已导入$1个脚本。
 hintUseDownloadURL:
 hintUseDownloadURL:
   description: Shown as a place holder for @updateURL when it is not assigned
   description: Shown as a place holder for @updateURL when it is not assigned
@@ -315,9 +328,11 @@ labelAutoReloadCurrentTab:
 hintInjectModeNormal:
 hintInjectModeNormal:
   description: Hint to explain the normal injection mode.
   description: Hint to explain the normal injection mode.
   message: '简单粗暴,但是在某些安全性高的页面会注入失败,如https://github.com'
   message: '简单粗暴,但是在某些安全性高的页面会注入失败,如https://github.com'
+  touched: false
 hintInjectModeAdvanced:
 hintInjectModeAdvanced:
   description: Hint to explain the advanced injection mode.
   description: Hint to explain the advanced injection mode.
   message: 不走寻常路,可以在大部分页面成功注入
   message: 不走寻常路,可以在大部分页面成功注入
+  touched: false
 hintInputURL:
 hintInputURL:
   description: Hint for a prompt box to input URL of a user script.
   description: Hint for a prompt box to input URL of a user script.
   message: 请输入地址:
   message: 请输入地址:
@@ -358,5 +373,10 @@ msgSyncError:
   description: Message shown when sync failed.
   description: Message shown when sync failed.
   message: 同步出错!
   message: 同步出错!
 msgNamespaceConflict:
 msgNamespaceConflict:
-  description: Message shown when namespace of the new script conflicts with an existent one.
+  description: >-
+    Message shown when namespace of the new script conflicts with an existent
+    one.
   message: 脚本命名空间冲突,请修改@name和@namespace!
   message: 脚本命名空间冲突,请修改@name和@namespace!
+msgInvalidScript:
+  description: Message shown when script is invalid.
+  message: 脚本不合法!

+ 2 - 1
src/background/db.js

@@ -511,13 +511,14 @@ VMDB.prototype.getScriptsByIndex = function (index, value, tx) {
 };
 };
 
 
 VMDB.prototype.parseScript = function (data) {
 VMDB.prototype.parseScript = function (data) {
+  var meta = scriptUtils.parseMeta(data.code);
+  if (!meta.name) return Promise.reject(_.i18n('msgInvalidScript'));
   var res = {
   var res = {
     cmd: 'update',
     cmd: 'update',
     data: {
     data: {
       message: data.message == null ? _.i18n('msgUpdated') : data.message || '',
       message: data.message == null ? _.i18n('msgUpdated') : data.message || '',
     },
     },
   };
   };
-  var meta = scriptUtils.parseMeta(data.code);
   var _this = this;
   var _this = this;
   var tx = _this.db.transaction(['scripts', 'require'], 'readwrite');
   var tx = _this.db.transaction(['scripts', 'require'], 'readwrite');
   // @require
   // @require