Browse Source

fix: translations & locales

Sv443 1 week ago
parent
commit
d38cd7a318

+ 11 - 1
.vscode/schemas/locales.schema.json

@@ -5,7 +5,7 @@
   "patternProperties": {
     "^[a-z]{2}-[A-Z]{2}$": {
       "type": "object",
-      "required": ["name", "nameEnglish", "emoji", "userscriptDesc", "authors", "altLocales"],
+      "required": ["name", "nameEnglish", "emoji", "userscriptDesc", "authors", "altLocales", "textDir", "sentenceTerminator"],
       "description": "Main locale code in the format \"ll-CC\" (language-COUNTRY).",
       "properties": {
         "name": {
@@ -43,6 +43,16 @@
             "pattern": "^[a-z]{2}(-[A-Z]{2})?$"
           },
           "description": "Alternative locale codes that will be redirected to this locale, e.g. for all German languages: [\"de\", \"de-AT\", \"de-CH\", \"de-LI\", \"de-LU\"]."
+        },
+        "textDir": {
+          "type": "string",
+          "enum": ["ltr", "rtl"],
+          "description": "Text direction of the language."
+        },
+        "sentenceTerminator": {
+          "type": "string",
+          "description": "The character that ends a neutral, informative sentence, e.g. \".\", \"।\" or \"。\".",
+          "pattern": "^.{1}$"
         }
       },
       "additionalProperties": false

+ 27 - 9
assets/locales.json

@@ -5,7 +5,9 @@
     "emoji": "🇩🇪",
     "userscriptDesc": "Konfigurierbare Layout- und Benutzererfahrungs-Verbesserungen für YouTube Music™ und YouTube™",
     "authors": ["Sv443"],
-    "altLocales": ["de", "de-AT", "de-CH", "de-LI", "de-LU"]
+    "altLocales": ["de", "de-AT", "de-CH", "de-LI", "de-LU"],
+    "textDir": "ltr",
+    "sentenceTerminator": "."
   },
   "en-US": {
     "name": "English (United States)",
@@ -13,7 +15,9 @@
     "emoji": "🇺🇸",
     "userscriptDesc": "Configurable layout and user experience improvements for YouTube Music™ and YouTube™",
     "authors": ["Sv443"],
-    "altLocales": ["en", "en-CA"]
+    "altLocales": ["en", "en-CA"],
+    "textDir": "ltr",
+    "sentenceTerminator": "."
   },
   "en-GB": {
     "name": "English (Great Britain)",
@@ -21,7 +25,9 @@
     "emoji": "🇬🇧",
     "userscriptDesc": "Configurable layout and user experience improvements for YouTube Music™ and YouTube™",
     "authors": ["Sv443"],
-    "altLocales": ["en-AU", "en-IE", "en-NZ", "en-ZA"]
+    "altLocales": ["en-AU", "en-IE", "en-NZ", "en-ZA"],
+    "textDir": "ltr",
+    "sentenceTerminator": "."
   },
   "es-ES": {
     "name": "Español (España)",
@@ -29,7 +35,9 @@
     "emoji": "🇪🇸",
     "userscriptDesc": "Mejoras de diseño y experiencia de usuario configurables para YouTube Music™ y YouTube™",
     "authors": ["Sv443"],
-    "altLocales": ["es", "es-MX"]
+    "altLocales": ["es", "es-MX"],
+    "textDir": "ltr",
+    "sentenceTerminator": "."
   },
   "fr-FR": {
     "name": "Français (France)",
@@ -37,7 +45,9 @@
     "emoji": "🇫🇷",
     "userscriptDesc": "Améliorations de la mise en page et de l'expérience utilisateur configurables pour YouTube Music™ et YouTube™",
     "authors": ["Sv443"],
-    "altLocales": ["fr", "fr-CA", "fr-BE", "fr-CH", "fr-LU"]
+    "altLocales": ["fr", "fr-CA", "fr-BE", "fr-CH", "fr-LU"],
+    "textDir": "ltr",
+    "sentenceTerminator": "."
   },
   "hi-IN": {
     "name": "हिंदी (भारत)",
@@ -45,7 +55,9 @@
     "emoji": "🇮🇳",
     "userscriptDesc": "YouTube Music™ और YouTube™ के लिए कॉन्फ़िगर करने योग्य लेआउट और उपयोगकर्ता अनुभव में सुधार",
     "authors": ["Sv443"],
-    "altLocales": ["hi", "hi-NP"]
+    "altLocales": ["hi", "hi-NP"],
+    "textDir": "ltr",
+    "sentenceTerminator": "।"
   },
   "ja-JP": {
     "name": "日本語 (日本)",
@@ -53,7 +65,9 @@
     "emoji": "🇯🇵",
     "userscriptDesc": "YouTube Music™ と YouTube™ の構成可能なレイアウトとユーザー エクスペリエンスの向上",
     "authors": ["Sv443"],
-    "altLocales": ["ja"]
+    "altLocales": ["ja"],
+    "textDir": "ltr",
+    "sentenceTerminator": "。"
   },
   "pt-BR": {
     "name": "Português (Brasil)",
@@ -61,7 +75,9 @@
     "emoji": "🇧🇷",
     "userscriptDesc": "Melhorias configuráveis no layout e na experiência do usuário para o YouTube Music™ e o YouTube™",
     "authors": ["Sv443"],
-    "altLocales": ["pt", "pt-PT"]
+    "altLocales": ["pt", "pt-PT"],
+    "textDir": "ltr",
+    "sentenceTerminator": "."
   },
   "zh-CN": {
     "name": "中文(简化,中国)",
@@ -69,6 +85,8 @@
     "emoji": "🇨🇳",
     "userscriptDesc": "YouTube Music™ 和 YouTube™ 的可配置布局和用户体验改进",
     "authors": ["Sv443"],
-    "altLocales": ["zh", "zh-TW", "zh-HK", "zh-SG"]
+    "altLocales": ["zh", "zh-TW", "zh-HK", "zh-SG"],
+    "textDir": "ltr",
+    "sentenceTerminator": "。"
   }
 }

+ 9 - 9
assets/translations/README.md

@@ -16,15 +16,15 @@ To submit or edit a translation, please follow [this guide](../../contributing.m
 ### Translation progress:
 |   | Locale | Translated keys | Based on |
 | :----: | ------ | --------------- | :------: |
-|  | [`en-US`](./en-US.json) | `0` (default locale) |  |
-| ‼️ | [`de-DE`](./de-DE.json) | `undefined/0` (NaN%) | ─ |
-| ‼️ | [`en-GB`](./en-GB.json) | `undefined/0` (NaN%) | ─ |
-| ‼️ | [`es-ES`](./es-ES.json) | `undefined/0` (NaN%) | ─ |
-| ‼️ | [`fr-FR`](./fr-FR.json) | `undefined/0` (NaN%) | ─ |
-| ‼️ | [`hi-IN`](./hi-IN.json) | `undefined/0` (NaN%) | ─ |
-| ‼️ | [`ja-JP`](./ja-JP.json) | `undefined/0` (NaN%) | ─ |
-| ‼️ | [`pt-BR`](./pt-BR.json) | `undefined/0` (NaN%) | ─ |
-| ‼️ | [`zh-CN`](./zh-CN.json) | `undefined/0` (NaN%) | ─ |
+|  | [`en-US`](./en-US.json) | `343` (default locale) |  |
+| ✅ | [`de-DE`](./de-DE.json) | `343/343` (100%) | ─ |
+|  | [`en-GB`](./en-GB.json) | `343/343` (100%) | `en-US` |
+| ⚠ | [`es-ES`](./es-ES.json) | `335/343` (97.7%) | ─ |
+| ⚠ | [`fr-FR`](./fr-FR.json) | `335/343` (97.7%) | ─ |
+| ⚠ | [`hi-IN`](./hi-IN.json) | `335/343` (97.7%) | ─ |
+| ⚠ | [`ja-JP`](./ja-JP.json) | `335/343` (97.7%) | ─ |
+| ⚠ | [`pt-BR`](./pt-BR.json) | `335/343` (97.7%) | ─ |
+| ⚠ | [`zh-CN`](./zh-CN.json) | `335/343` (97.7%) | ─ |
 
 <sub>
 ✅ - Fully translated

+ 6 - 14
assets/translations/es-ES.json

@@ -39,7 +39,7 @@
   "import_success": "Datos importados correctamente",
   "import_success_confirm_reload": "Los datos se importaron correctamente.\n¿Desea recargar la página ahora para aplicar los cambios?",
   "reset_config_confirm": "¿Realmente quieres restablecer todos los ajustes a sus valores predeterminados?\nLa página se volverá a cargar automáticamente.",
-  "reset_everything_confirm": "Do you really want to reset all stored data to the default values?\nThe page will be automatically reloaded.",
+  "reset_everything_confirm": "¿Realmente quieres restablecer todos los datos almacenados a los valores predeterminados?\nLa página se volverá a cargar automáticamente.",
   "copy": "Copiar",
   "copy_to_clipboard": "Copiar al portapapeles",
   "copy_to_clipboard_error": "No se pudo copiar el texto al portapapeles. Cópielo manualmente desde aquí:\n%1",
@@ -94,8 +94,8 @@
   "advanced_mode_short": "Avanzado",
   "experimental_feature": "Función experimental",
 
-  "open_current_lyrics": "Open the current song's lyrics in a new tab - shift-click to open in a new window or ctrl-click to open manual search",
-  "open_lyrics": "Open this song's lyrics in a new tab - ctrl-click to open manual search",
+  "open_current_lyrics": "Abrir la letra de la canción actual en una nueva pestaña - shift-click para abrir en una nueva ventana o ctrl-click para abrir la búsqueda manual",
+  "open_lyrics": "Abrir la letra de esta canción en una nueva pestaña - ctrl-click para abrir la búsqueda manual",
   "open_lyrics_search_prompt": "Ingrese el título de la canción y el artista para buscar la letra:",
   "lyrics_loading": "Cargando URL de letras...",
   "lyrics_rate_limited-1": "Se está limitando la velocidad.\nEspere unos segundos antes de solicitar más letras.",
@@ -226,21 +226,13 @@
   "plugin_link_type_greasyfork": "GreasyFork",
   "plugin_link_type_openuserjs": "OpenUserJS",
 
-  "plugin_intent_name_ReadFeatureConfig": "Read Feature Config",
   "plugin_intent_description_ReadFeatureConfig": "Este plugin puede leer la configuración de la función",
-  "plugin_intent_name_WriteFeatureConfig": "Write Feature Config",
   "plugin_intent_description_WriteFeatureConfig": "Este plugin puede escribir en la configuración de la función",
-  "plugin_intent_name_SeeHiddenConfigValues": "See Hidden Config Values",
   "plugin_intent_description_SeeHiddenConfigValues": "Este plugin tiene acceso a valores de configuración ocultos",
-  "plugin_intent_name_WriteLyricsCache": "Write Lyrics Cache",
   "plugin_intent_description_WriteLyricsCache": "Este plugin puede escribir en la caché de letras",
-  "plugin_intent_name_WriteTranslations": "Write Translations",
   "plugin_intent_description_WriteTranslations": "Este plugin puede agregar nuevas traducciones y sobrescribir las existentes",
-  "plugin_intent_name_CreateModalDialogs": "Create Modal Dialogs",
   "plugin_intent_description_CreateModalDialogs": "Este plugin puede crear diálogos modales",
-  "plugin_intent_name_ReadAutoLikeData": "Read Auto-Like Data",
   "plugin_intent_description_ReadAutoLikeData": "Este plugin puede leer datos de me gusta automático",
-  "plugin_intent_name_WriteAutoLikeData": "Write Auto-Like Data",
   "plugin_intent_description_WriteAutoLikeData": "Este plugin puede escribir en datos de me gusta automático",
 
   "plugin_validation_error_no_property": "No hay ninguna propiedad '%1' con el tipo '%2'",
@@ -377,9 +369,9 @@
   "feature_desc_resetConfig": "Restablecer todas las configuraciones a sus valores predeterminados",
   "feature_btn_resetConfig": "Restablecer configuraciones",
   "feature_btn_resetConfig_running": "Restableciendo...",
-  "feature_desc_resetEverything": "Reset all stored data to the default values",
-  "feature_btn_resetEverything": "Reset everything",
-  "feature_btn_resetEverything_running": "Resetting...",
+  "feature_desc_resetEverything": "Restablecer todas las configuraciones y datos a sus valores predeterminados",
+  "feature_btn_resetEverything": "Restablecer todo",
+  "feature_btn_resetEverything_running": "Restableciendo...",
   "feature_desc_advancedMode": "Mostrar configuración avanzada (recarga el menú)",
   "feature_helptext_advancedMode": "Después de habilitar esto, el menú se recargará y mostrará configuraciones avanzadas que están ocultas de forma predeterminada.\nEsto es útil si desea personalizar más profundamente el comportamiento del script y no le importa un menú abarrotado."
 }

+ 6 - 14
assets/translations/fr-FR.json

@@ -39,7 +39,7 @@
   "import_success": "Données importées avec succès",
   "import_success_confirm_reload": "Les données ont été importées avec succès.\nVoulez-vous recharger la page maintenant pour appliquer les modifications?",
   "reset_config_confirm": "Voulez-vous vraiment réinitialiser tous les paramètres à leurs valeurs par défaut?\nLa page sera automatiquement rechargée.",
-  "reset_everything_confirm": "Do you really want to reset all stored data to the default values?\nThe page will be automatically reloaded.",
+  "reset_everything_confirm": "Voulez-vous vraiment réinitialiser toutes les données stockées aux valeurs par défaut?\nLa page sera automatiquement rechargée.",
   "copy": "Copier",
   "copy_to_clipboard": "Copier dans le presse-papiers",
   "copy_to_clipboard_error": "Impossible de copier le texte dans le presse-papiers. Veuillez le copier manuellement d'ici:\n%1",
@@ -94,8 +94,8 @@
   "advanced_mode_short": "Avancé",
   "experimental_feature": "Fonctionnalité expérimentale",
 
-  "open_current_lyrics": "Open the current song's lyrics in a new tab - shift-click to open in a new window or ctrl-click to open manual search",
-  "open_lyrics": "Open this song's lyrics in a new tab - ctrl-click to open manual search",
+  "open_current_lyrics": "Ouvrir les paroles de la chanson actuelle dans un nouvel onglet - clic droit pour ouvrir dans une nouvelle fenêtre ou ctrl-clic pour ouvrir la recherche manuelle",
+  "open_lyrics": "Ouvrir les paroles de cette chanson dans un nouvel onglet - clic droit pour ouvrir dans une nouvelle fenêtre ou ctrl-clic pour ouvrir la recherche manuelle",
   "open_lyrics_search_prompt": "Entrez le titre de la chanson et l'artiste pour rechercher les paroles:",
   "lyrics_loading": "Chargement de l'URL des paroles...",
   "lyrics_rate_limited-1": "Vous êtes limité par le taux.\nVeuillez patienter quelques secondes avant de demander plus de paroles.",
@@ -226,21 +226,13 @@
   "plugin_link_type_greasyfork": "GreasyFork",
   "plugin_link_type_openuserjs": "OpenUserJS",
 
-  "plugin_intent_name_ReadFeatureConfig": "Read Feature Config",
   "plugin_intent_description_ReadFeatureConfig": "Ce plugin peut lire la configuration de la fonctionnalité",
-  "plugin_intent_name_WriteFeatureConfig": "Write Feature Config",
   "plugin_intent_description_WriteFeatureConfig": "Ce plugin peut écrire dans la configuration de la fonctionnalité",
-  "plugin_intent_name_SeeHiddenConfigValues": "See Hidden Config Values",
   "plugin_intent_description_SeeHiddenConfigValues": "Ce plugin a accès à des valeurs de configuration cachées",
-  "plugin_intent_name_WriteLyricsCache": "Write Lyrics Cache",
   "plugin_intent_description_WriteLyricsCache": "Ce plugin peut écrire dans le cache des paroles",
-  "plugin_intent_name_WriteTranslations": "Write Translations",
   "plugin_intent_description_WriteTranslations": "Ce plugin peut ajouter de nouvelles traductions et écraser les existantes",
-  "plugin_intent_name_CreateModalDialogs": "Create Modal Dialogs",
   "plugin_intent_description_CreateModalDialogs": "Ce plugin peut créer des boîtes de dialogue modales",
-  "plugin_intent_name_ReadAutoLikeData": "Read Auto-Like Data",
   "plugin_intent_description_ReadAutoLikeData": "Ce plugin peut lire les données d'auto-aimer",
-  "plugin_intent_name_WriteAutoLikeData": "Write Auto-Like Data",
   "plugin_intent_description_WriteAutoLikeData": "Ce plugin peut écrire dans les données d'auto-aimer",
 
   "plugin_validation_error_no_property": "Aucune propriété '%1' avec le type '%2'",
@@ -377,9 +369,9 @@
   "feature_desc_resetConfig": "Réinitialiser tous les paramètres à leurs valeurs par défaut",
   "feature_btn_resetConfig": "Réinitialiser les paramètres",
   "feature_btn_resetConfig_running": "Réinitialisation...",
-  "feature_desc_resetEverything": "Reset all stored data to the default values",
-  "feature_btn_resetEverything": "Reset everything",
-  "feature_btn_resetEverything_running": "Resetting...",
+  "feature_desc_resetEverything": "Réinitialiser toutes les données stockées aux valeurs par défaut",
+  "feature_btn_resetEverything": "Réinitialiser tout",
+  "feature_btn_resetEverything_running": "Réinitialisation...",
   "feature_desc_advancedMode": "Afficher les paramètres avancés (cela recharge le menu)",
   "feature_helptext_advancedMode": "Après avoir activé cela, le menu se rechargera et affichera les paramètres avancés qui sont masqués par défaut.\nCela est utile si vous souhaitez personnaliser plus en profondeur le comportement du script et que vous ne vous souciez pas d'un menu surchargé."
 }

+ 6 - 14
assets/translations/hi-IN.json

@@ -39,7 +39,7 @@
   "import_success": "डेटा सफलतापूर्वक आयात किया गया",
   "import_success_confirm_reload": "डेटा सफलतापूर्वक आयात किया गया है।\nक्या आप परिवर्तन लागू करने के लिए पृष्ठ को अब पुनः लोड करना चाहते हैं?",
   "reset_config_confirm": "क्या आप वास्तव में सभी सेटिंग्स को उनके डिफ़ॉल्ट मानों पर रीसेट करना चाहते हैं?\nपृष्ठ स्वचालित रूप से पुनः लोड हो जाएगा।",
-  "reset_everything_confirm": "Do you really want to reset all stored data to the default values?\nThe page will be automatically reloaded.",
+  "reset_everything_confirm": "क्या आप वास्तव में सभी संग्रहीत डेटा को डिफ़ॉल्ट मानों पर रीसेट करना चाहते हैं?\nपृष्ठ स्वचालित रूप से पुनः लोड हो जाएगा।",
   "copy": "कॉपी",
   "copy_to_clipboard": "क्लिपबोर्ड पर कॉपी करें",
   "copy_to_clipboard_error": "टेक्स्ट को क्लिपबोर्ड पर कॉपी नहीं किया जा सका। कृपया इसे यहां से मैन्युअल रूप से कॉपी करें:\n%1",
@@ -94,8 +94,8 @@
   "advanced_mode_short": "उन्नत",
   "experimental_feature": "प्रायोगिक सुविधा",
 
-  "open_current_lyrics": "Open the current song's lyrics in a new tab - shift-click to open in a new window or ctrl-click to open manual search",
-  "open_lyrics": "Open this song's lyrics in a new tab - ctrl-click to open manual search",
+  "open_current_lyrics": "इस गीत के बोल एक नई टैब में खोलें - शिफ्ट-क्लिक करें एक नई विंडो में खोलने के लिए या ctrl-क्लिक करें मैन्युअल खोज खोलने के लिए",
+  "open_lyrics": "इस गीत के बोल एक नई टैब में खोलें - ctrl-क्लिक करें मैन्युअल खोज खोलने के लिए",
   "open_lyrics_search_prompt": "बोल खोजने के लिए गीत का शीर्षक और कलाकार दर्ज करें:",
   "lyrics_loading": "बोल लोड हो रहे हैं...",
   "lyrics_rate_limited-1": "आपको रेट सीमित किया जा रहा है।\nकृपया अधिक बोल का अनुरोध करने से पहले कुछ सेकंड प्रतीक्षा करें।",
@@ -226,21 +226,13 @@
   "plugin_link_type_greasyfork": "GreasyFork",
   "plugin_link_type_openuserjs": "OpenUserJS",
 
-  "plugin_intent_name_ReadFeatureConfig": "Read Feature Config",
   "plugin_intent_description_ReadFeatureConfig": "यह प्लगइन फीचर कॉन्फ़िगरेशन को पढ़ सकता है",
-  "plugin_intent_name_WriteFeatureConfig": "Write Feature Config",
   "plugin_intent_description_WriteFeatureConfig": "यह प्लगइन फीचर कॉन्फ़िगरेशन में लिख सकता है",
-  "plugin_intent_name_SeeHiddenConfigValues": "See Hidden Config Values",
   "plugin_intent_description_SeeHiddenConfigValues": "इस प्लगइन में छिपे हुए कॉन्फ़िगरेशन मानों तक पहुंच है",
-  "plugin_intent_name_WriteLyricsCache": "Write Lyrics Cache",
   "plugin_intent_description_WriteLyricsCache": "यह प्लगइन गीत कैश में लिख सकता है",
-  "plugin_intent_name_WriteTranslations": "Write Translations",
   "plugin_intent_description_WriteTranslations": "यह प्लगइन नए अनुवाद जोड़ सकता है और मौजूदा अनुवादों को अधिलेखित कर सकता है",
-  "plugin_intent_name_CreateModalDialogs": "Create Modal Dialogs",
   "plugin_intent_description_CreateModalDialogs": "यह प्लगइन मोडल डायलॉग बना सकता है",
-  "plugin_intent_name_ReadAutoLikeData": "Read Auto-Like Data",
   "plugin_intent_description_ReadAutoLikeData": "यह प्लगइन ऑटो-पसंद डेटा पढ़ सकता है",
-  "plugin_intent_name_WriteAutoLikeData": "Write Auto-Like Data",
   "plugin_intent_description_WriteAutoLikeData": "यह प्लगइन ऑटो-पसंद डेटा में लिख सकता है",
 
   "plugin_validation_error_no_property": "कोई गुण '%1' जिसके पास '%2' प्रकार है नहीं है",
@@ -377,9 +369,9 @@
   "feature_desc_resetConfig": "सभी सेटिंग्स को उनके डिफ़ॉल्ट मानों पर रीसेट करें",
   "feature_btn_resetConfig": "सेटिंग्स रीसेट करें",
   "feature_btn_resetConfig_running": "रीसेट कर रहा है...",
-  "feature_desc_resetEverything": "Reset all stored data to the default values",
-  "feature_btn_resetEverything": "Reset everything",
-  "feature_btn_resetEverything_running": "Resetting...",
+  "feature_desc_resetEverything": "सभी संग्रहीत डेटा को डिफ़ॉल्ट मानों पर रीसेट करें",
+  "feature_btn_resetEverything": "सब कुछ रीसेट करें",
+  "feature_btn_resetEverything_running": "रीसेट कर रहा है...",
   "feature_desc_advancedMode": "उन्नत सेटिंग्स दिखाएं (मेनू को फिर से लोड करता है)",
   "feature_helptext_advancedMode": "इसे सक्षम करने के बाद, मेनू फिर से लोड होगा और डिफ़ॉल्ट रूप से छिपे हुए उन्नत सेटिंग्स दिखाएंगे।\nयह उपयोगी है यदि आप स्क्रिप्ट के व्यवहार को और गहराई से अनुकूलित करना चाहते हैं और एक अधिक भरा हुआ मेनू के बारे में चिंता नहीं करते।"
 }

+ 6 - 14
assets/translations/ja-JP.json

@@ -39,7 +39,7 @@
   "import_success": "データのインポートに成功しました",
   "import_success_confirm_reload": "データを正常にインポートしました。\n変更を適用するにはページを再読み込みしますか?",
   "reset_config_confirm": "すべての設定をデフォルト値にリセットしてもよろしいですか?\nページは自動的に再読み込みされます。",
-  "reset_everything_confirm": "Do you really want to reset all stored data to the default values?\nThe page will be automatically reloaded.",
+  "reset_everything_confirm": "すべての保存されたデータをデフォルト値にリセットしてもよろしいですか?\nページは自動的に再読み込みされます。",
   "copy": "コピー",
   "copy_to_clipboard": "クリップボードにコピー",
   "copy_to_clipboard_error": "テキストをクリップボードにコピーできませんでした。ここから手動でコピーしてください:\n%1",
@@ -94,8 +94,8 @@
   "advanced_mode_short": "詳細モード",
   "experimental_feature": "実験的な機能",
 
-  "open_current_lyrics": "Open the current song's lyrics in a new tab - shift-click to open in a new window or ctrl-click to open manual search",
-  "open_lyrics": "Open this song's lyrics in a new tab - ctrl-click to open manual search",
+  "open_current_lyrics": "この曲の歌詞を新しいタブで開く - シフトクリックで新しいウィンドウで開くか、Ctrlクリックで手動検索を開く",
+  "open_lyrics": "この曲の歌詞を新しいタブで開く - Ctrlクリックで手動検索を開く",
   "open_lyrics_search_prompt": "歌詞を検索するには曲名とアーティスト名を入力してください:",
   "lyrics_loading": "歌詞 URL を読み込んでいます...",
   "lyrics_rate_limited-1": "レート制限されています。\nもう少し待ってから歌詞をリクエストしてください。",
@@ -226,21 +226,13 @@
   "plugin_link_type_greasyfork": "GreasyFork",
   "plugin_link_type_openuserjs": "OpenUserJS",
 
-  "plugin_intent_name_ReadFeatureConfig": "Read Feature Config",
   "plugin_intent_description_ReadFeatureConfig": "このプラグインは機能構成を読み取ることができます",
-  "plugin_intent_name_WriteFeatureConfig": "Write Feature Config",
   "plugin_intent_description_WriteFeatureConfig": "このプラグインは機能構成に書き込むことができます",
-  "plugin_intent_name_SeeHiddenConfigValues": "See Hidden Config Values",
   "plugin_intent_description_SeeHiddenConfigValues": "このプラグインは隠し構成値にアクセスできます",
-  "plugin_intent_name_WriteLyricsCache": "Write Lyrics Cache",
   "plugin_intent_description_WriteLyricsCache": "このプラグインは歌詞キャッシュに書き込むことができます",
-  "plugin_intent_name_WriteTranslations": "Write Translations",
   "plugin_intent_description_WriteTranslations": "このプラグインは新しい翻訳を追加し、既存の翻訳を上書きできます",
-  "plugin_intent_name_CreateModalDialogs": "Create Modal Dialogs",
   "plugin_intent_description_CreateModalDialogs": "このプラグインはモーダルダイアログを作成できます",
-  "plugin_intent_name_ReadAutoLikeData": "Read Auto-Like Data",
   "plugin_intent_description_ReadAutoLikeData": "このプラグインは自動的に好きなデータを読み取ることができます",
-  "plugin_intent_name_WriteAutoLikeData": "Write Auto-Like Data",
   "plugin_intent_description_WriteAutoLikeData": "このプラグインは自動的に好きなデータに書き込むことができます",
 
   "plugin_validation_error_no_property": "タイプ '%2' のプロパティ '%1' がありません",
@@ -377,9 +369,9 @@
   "feature_desc_resetConfig": "すべての設定をデフォルト値にリセットする",
   "feature_btn_resetConfig": "設定をリセット",
   "feature_btn_resetConfig_running": "リセット中...",
-  "feature_desc_resetEverything": "Reset all stored data to the default values",
-  "feature_btn_resetEverything": "Reset everything",
-  "feature_btn_resetEverything_running": "Resetting...",
+  "feature_desc_resetEverything": "すべての保存されたデータをデフォルト値にリセットする",
+  "feature_btn_resetEverything": "すべてリセット",
+  "feature_btn_resetEverything_running": "リセット中...",
   "feature_desc_advancedMode": "詳細設定を表示する(メニューを再読み込み)",
   "feature_helptext_advancedMode": "これを有効にすると、メニューが再読み込まれ、デフォルトで非表示になっている詳細設定が表示されます。\nこれは、スクリプトの動作をより深くカスタマイズしたい場合に便利です。メニューが過密になっていることを気にしない場合に役立ちます。"
 }

+ 6 - 14
assets/translations/pt-BR.json

@@ -39,7 +39,7 @@
   "import_success": "Os dados foram importados com sucesso",
   "import_success_confirm_reload": "Os dados foram importados com sucesso.\nVocê deseja recarregar a página agora para aplicar as alterações?",
   "reset_config_confirm": "Você realmente deseja redefinir todas as configurações para seus valores padrão?\nA página será recarregada automaticamente.",
-  "reset_everything_confirm": "Do you really want to reset all stored data to the default values?\nThe page will be automatically reloaded.",
+  "reset_everything_confirm": "Você realmente deseja redefinir todos os dados armazenados para os valores padrão?\nA página será recarregada automaticamente.",
   "copy": "Copiar",
   "copy_to_clipboard": "Copiar para a área de transferência",
   "copy_to_clipboard_error": "Não foi possível copiar o texto para a área de transferência. Por favor, copie manualmente daqui:\n%1",
@@ -94,8 +94,8 @@
   "advanced_mode_short": "Avançado",
   "experimental_feature": "Recurso experimental",
 
-  "open_current_lyrics": "Open the current song's lyrics in a new tab - shift-click to open in a new window or ctrl-click to open manual search",
-  "open_lyrics": "Open this song's lyrics in a new tab - ctrl-click to open manual search",
+  "open_current_lyrics": "Abrir as letras da música atual em uma nova guia - clique com o botão do meio ou shift-clique para abrir em uma nova janela",
+  "open_lyrics": "Abrir as letras desta música em uma nova guia - clique com o botão do meio ou shift-clique para abrir em uma nova janela",
   "open_lyrics_search_prompt": "Digite o título da música e o artista para pesquisar as letras:",
   "lyrics_loading": "Carregando URL das letras...",
   "lyrics_rate_limited-1": "Você está sendo limitado.\nAguarde alguns segundos antes de solicitar mais letras.",
@@ -226,21 +226,13 @@
   "plugin_link_type_greasyfork": "GreasyFork",
   "plugin_link_type_openuserjs": "OpenUserJS",
 
-  "plugin_intent_name_ReadFeatureConfig": "Read Feature Config",
   "plugin_intent_description_ReadFeatureConfig": "Este plugin pode ler a configuração do recurso",
-  "plugin_intent_name_WriteFeatureConfig": "Write Feature Config",
   "plugin_intent_description_WriteFeatureConfig": "Este plugin pode escrever na configuração do recurso",
-  "plugin_intent_name_SeeHiddenConfigValues": "See Hidden Config Values",
   "plugin_intent_description_SeeHiddenConfigValues": "Este plugin tem acesso a valores de configuração ocultos",
-  "plugin_intent_name_WriteLyricsCache": "Write Lyrics Cache",
   "plugin_intent_description_WriteLyricsCache": "Este plugin pode escrever no cache de letras",
-  "plugin_intent_name_WriteTranslations": "Write Translations",
   "plugin_intent_description_WriteTranslations": "Este plugin pode adicionar novas traduções e sobrescrever as existentes",
-  "plugin_intent_name_CreateModalDialogs": "Create Modal Dialogs",
   "plugin_intent_description_CreateModalDialogs": "Este plugin pode criar diálogos modais",
-  "plugin_intent_name_ReadAutoLikeData": "Read Auto-Like Data",
   "plugin_intent_description_ReadAutoLikeData": "Este plugin pode ler dados de auto-curtir",
-  "plugin_intent_name_WriteAutoLikeData": "Write Auto-Like Data",
   "plugin_intent_description_WriteAutoLikeData": "Este plugin pode escrever em dados de auto-curtir",
 
   "plugin_validation_error_no_property": "Nenhuma propriedade '%1' com o tipo '%2'",
@@ -377,9 +369,9 @@
   "feature_desc_resetConfig": "Redefinir todas as configurações para seus valores padrão",
   "feature_btn_resetConfig": "Redefinir configurações",
   "feature_btn_resetConfig_running": "Redefinindo...",
-  "feature_desc_resetEverything": "Reset all stored data to the default values",
-  "feature_btn_resetEverything": "Reset everything",
-  "feature_btn_resetEverything_running": "Resetting...",
+  "feature_desc_resetEverything": "Redefinir todos os dados armazenados para os valores padrão",
+  "feature_btn_resetEverything": "Redefinir tudo",
+  "feature_btn_resetEverything_running": "Redefinindo...",
   "feature_desc_advancedMode": "Mostrar configurações avançadas (isso recarrega o menu)",
   "feature_helptext_advancedMode": "Depois de ativar isso, o menu recarregará e mostrará configurações avançadas que estão ocultas por padrão.\nIsso é útil se você deseja personalizar mais profundamente o comportamento do script e não se importa com um menu lotado."
 }

+ 6 - 14
assets/translations/zh-CN.json

@@ -39,7 +39,7 @@
   "import_success": "成功导入数据",
   "import_success_confirm_reload": "成功导入数据。\n您是否要重新加载页面以应用更改?",
   "reset_config_confirm": "您是否确实要将所有设置重置为默认值?\n页面将自动重新加载。",
-  "reset_everything_confirm": "Do you really want to reset all stored data to the default values?\nThe page will be automatically reloaded.",
+  "reset_everything_confirm": "您是否确实要将所有存储的数据重置为默认值?\n页面将自动重新加载。",
   "copy": "复制",
   "copy_to_clipboard": "复制到剪贴板",
   "copy_to_clipboard_error": "无法将文本复制到剪贴板。请手动从这里复制:\n%1",
@@ -94,8 +94,8 @@
   "advanced_mode_short": "高级",
   "experimental_feature": "实验性功能",
 
-  "open_current_lyrics": "Open the current song's lyrics in a new tab - shift-click to open in a new window or ctrl-click to open manual search",
-  "open_lyrics": "Open this song's lyrics in a new tab - ctrl-click to open manual search",
+  "open_current_lyrics": "打开当前歌曲的歌词 - shift-click 在新窗口中打开或 ctrl-click 打开手动搜索",
+  "open_lyrics": "打开当前歌曲的歌词 - ctrl-click 打开手动搜索",
   "open_lyrics_search_prompt": "输入歌曲标题和艺术家以搜索歌词:",
   "lyrics_loading": "正在加载歌词 URL...",
   "lyrics_rate_limited-1": "您的请求正在被限制。\n请等待几秒钟再请求更多歌词。",
@@ -226,21 +226,13 @@
   "plugin_link_type_greasyfork": "GreasyFork",
   "plugin_link_type_openuserjs": "OpenUserJS",
 
-  "plugin_intent_name_ReadFeatureConfig": "Read Feature Config",
   "plugin_intent_description_ReadFeatureConfig": "此插件可以读取功能配置",
-  "plugin_intent_name_WriteFeatureConfig": "Write Feature Config",
   "plugin_intent_description_WriteFeatureConfig": "此插件可以写入功能配置",
-  "plugin_intent_name_SeeHiddenConfigValues": "See Hidden Config Values",
   "plugin_intent_description_SeeHiddenConfigValues": "此插件可以访问隐藏的配置值",
-  "plugin_intent_name_WriteLyricsCache": "Write Lyrics Cache",
   "plugin_intent_description_WriteLyricsCache": "此插件可以写入歌词缓存",
-  "plugin_intent_name_WriteTranslations": "Write Translations",
   "plugin_intent_description_WriteTranslations": "此插件可以添加新的翻译并覆盖现有的翻译",
-  "plugin_intent_name_CreateModalDialogs": "Create Modal Dialogs",
   "plugin_intent_description_CreateModalDialogs": "此插件可以创建模态对话框",
-  "plugin_intent_name_ReadAutoLikeData": "Read Auto-Like Data",
   "plugin_intent_description_ReadAutoLikeData": "此插件可以读取自动喜欢的数据",
-  "plugin_intent_name_WriteAutoLikeData": "Write Auto-Like Data",
   "plugin_intent_description_WriteAutoLikeData": "此插件可以写入自动喜欢的数据",
 
   "plugin_validation_error_no_property": "没有类型为 '%2' 的属性 '%1'",
@@ -377,9 +369,9 @@
   "feature_desc_resetConfig": "重置所有设置为默认值",
   "feature_btn_resetConfig": "重置设置",
   "feature_btn_resetConfig_running": "正在重置...",
-  "feature_desc_resetEverything": "Reset all stored data to the default values",
-  "feature_btn_resetEverything": "Reset everything",
-  "feature_btn_resetEverything_running": "Resetting...",
+  "feature_desc_resetEverything": "重置所有存储的数据为默认值",
+  "feature_btn_resetEverything": "重置所有数据",
+  "feature_btn_resetEverything_running": "正在重置...",
   "feature_desc_advancedMode": "显示高级设置(重新加载菜单)",
   "feature_helptext_advancedMode": "启用此功能后,菜单将重新加载并显示默认情况下隐藏的高级设置。\n如果您想更深入地定制脚本的行为并不在意过于拥挤的菜单,这将很有用。"
 }