瀏覽代碼

feat: translations

Sv443 7 月之前
父節點
當前提交
4af76235a2

+ 8 - 196
assets/translations/README.md

@@ -17,14 +17,14 @@ To submit or edit a translation, please follow [this guide](../../contributing.m
 |   | Locale | Translated keys | Based on |
 | :----: | ------ | --------------- | :------: |
 |  | [`en_US`](./en_US.json) | `321` (default locale) |  |
-| ‼️ | [`de_DE`](./de_DE.json) | `301/321` (93.8%) | ─ |
+| ✅ | [`de_DE`](./de_DE.json) | `321/321` (100%) | ─ |
 |  | [`en_UK`](./en_UK.json) | `321/321` (100%) | `en_US` |
-| ‼️ | [`es_ES`](./es_ES.json) | `301/321` (93.8%) | ─ |
-| ‼️ | [`fr_FR`](./fr_FR.json) | `301/321` (93.8%) | ─ |
-| ‼️ | [`hi_IN`](./hi_IN.json) | `301/321` (93.8%) | ─ |
-| ‼️ | [`ja_JA`](./ja_JA.json) | `301/321` (93.8%) | ─ |
-| ‼️ | [`pt_BR`](./pt_BR.json) | `301/321` (93.8%) | ─ |
-| ‼️ | [`zh_CN`](./zh_CN.json) | `301/321` (93.8%) | ─ |
+| ✅ | [`es_ES`](./es_ES.json) | `321/321` (100%) | ─ |
+| ✅ | [`fr_FR`](./fr_FR.json) | `321/321` (100%) | ─ |
+| ✅ | [`hi_IN`](./hi_IN.json) | `321/321` (100%) | ─ |
+| ✅ | [`ja_JA`](./ja_JA.json) | `321/321` (100%) | ─ |
+| ✅ | [`pt_BR`](./pt_BR.json) | `321/321` (100%) | ─ |
+| ✅ | [`zh_CN`](./zh_CN.json) | `321/321` (100%) | ─ |
 
 <sub>
 ✅ - Fully translated
@@ -44,192 +44,4 @@ This means to figure out which keys are untranslated, you will need to manually
 <br>
 
 ### Missing keys:
-
-<details><summary><code>de_DE</code> - 20 missing keys <i>(click to show)</i></summary><br>
-
-| Key | English text |
-| --- | ------------ |
-| `plugin_list_title` | `Plugin List` |
-| `plugin_list_no_plugins` | `No plugins are currently installed.` |
-| `plugin_list_permissions_header` | `Permissions:` |
-| `plugin_link_type_source` | `Repository` |
-| `plugin_link_type_other` | `Other / Homepage` |
-| `plugin_link_type_bug` | `Report a bug` |
-| `plugin_link_type_greasyfork` | `GreasyFork` |
-| `plugin_link_type_openuserjs` | `OpenUserJS` |
-| `plugin_intent_description_ReadFeatureConfig` | `This plugin can read the feature configuration` |
-| `plugin_intent_description_WriteFeatureConfig` | `This plugin can write to the feature configuration` |
-| `plugin_intent_description_SeeHiddenConfigValues` | `This plugin has access to hidden config values` |
-| `plugin_intent_description_WriteLyricsCache` | `This plugin can write to the lyrics cache` |
-| `plugin_intent_description_WriteTranslations` | `This plugin can add new translations and overwrite existing ones` |
-| `plugin_intent_description_CreateModalDialogs` | `This plugin can create modal dialogs` |
-| `plugin_intent_description_ReadAutoLikeData` | `This plugin can read auto-like data` |
-| `plugin_intent_description_WriteAutoLikeData` | `This plugin can write to auto-like data` |
-| `feature_category_plugins` | `Plugins` |
-| `feature_desc_openPluginList` | `Open the list of plugins you have installed` |
-| `feature_btn_openPluginList` | `Open list` |
-| `feature_btn_openPluginList_running` | `Opening...` |
-
-<br></details>
-
-<details><summary><code>es_ES</code> - 20 missing keys <i>(click to show)</i></summary><br>
-
-| Key | English text |
-| --- | ------------ |
-| `plugin_list_title` | `Plugin List` |
-| `plugin_list_no_plugins` | `No plugins are currently installed.` |
-| `plugin_list_permissions_header` | `Permissions:` |
-| `plugin_link_type_source` | `Repository` |
-| `plugin_link_type_other` | `Other / Homepage` |
-| `plugin_link_type_bug` | `Report a bug` |
-| `plugin_link_type_greasyfork` | `GreasyFork` |
-| `plugin_link_type_openuserjs` | `OpenUserJS` |
-| `plugin_intent_description_ReadFeatureConfig` | `This plugin can read the feature configuration` |
-| `plugin_intent_description_WriteFeatureConfig` | `This plugin can write to the feature configuration` |
-| `plugin_intent_description_SeeHiddenConfigValues` | `This plugin has access to hidden config values` |
-| `plugin_intent_description_WriteLyricsCache` | `This plugin can write to the lyrics cache` |
-| `plugin_intent_description_WriteTranslations` | `This plugin can add new translations and overwrite existing ones` |
-| `plugin_intent_description_CreateModalDialogs` | `This plugin can create modal dialogs` |
-| `plugin_intent_description_ReadAutoLikeData` | `This plugin can read auto-like data` |
-| `plugin_intent_description_WriteAutoLikeData` | `This plugin can write to auto-like data` |
-| `feature_category_plugins` | `Plugins` |
-| `feature_desc_openPluginList` | `Open the list of plugins you have installed` |
-| `feature_btn_openPluginList` | `Open list` |
-| `feature_btn_openPluginList_running` | `Opening...` |
-
-<br></details>
-
-<details><summary><code>fr_FR</code> - 20 missing keys <i>(click to show)</i></summary><br>
-
-| Key | English text |
-| --- | ------------ |
-| `plugin_list_title` | `Plugin List` |
-| `plugin_list_no_plugins` | `No plugins are currently installed.` |
-| `plugin_list_permissions_header` | `Permissions:` |
-| `plugin_link_type_source` | `Repository` |
-| `plugin_link_type_other` | `Other / Homepage` |
-| `plugin_link_type_bug` | `Report a bug` |
-| `plugin_link_type_greasyfork` | `GreasyFork` |
-| `plugin_link_type_openuserjs` | `OpenUserJS` |
-| `plugin_intent_description_ReadFeatureConfig` | `This plugin can read the feature configuration` |
-| `plugin_intent_description_WriteFeatureConfig` | `This plugin can write to the feature configuration` |
-| `plugin_intent_description_SeeHiddenConfigValues` | `This plugin has access to hidden config values` |
-| `plugin_intent_description_WriteLyricsCache` | `This plugin can write to the lyrics cache` |
-| `plugin_intent_description_WriteTranslations` | `This plugin can add new translations and overwrite existing ones` |
-| `plugin_intent_description_CreateModalDialogs` | `This plugin can create modal dialogs` |
-| `plugin_intent_description_ReadAutoLikeData` | `This plugin can read auto-like data` |
-| `plugin_intent_description_WriteAutoLikeData` | `This plugin can write to auto-like data` |
-| `feature_category_plugins` | `Plugins` |
-| `feature_desc_openPluginList` | `Open the list of plugins you have installed` |
-| `feature_btn_openPluginList` | `Open list` |
-| `feature_btn_openPluginList_running` | `Opening...` |
-
-<br></details>
-
-<details><summary><code>hi_IN</code> - 20 missing keys <i>(click to show)</i></summary><br>
-
-| Key | English text |
-| --- | ------------ |
-| `plugin_list_title` | `Plugin List` |
-| `plugin_list_no_plugins` | `No plugins are currently installed.` |
-| `plugin_list_permissions_header` | `Permissions:` |
-| `plugin_link_type_source` | `Repository` |
-| `plugin_link_type_other` | `Other / Homepage` |
-| `plugin_link_type_bug` | `Report a bug` |
-| `plugin_link_type_greasyfork` | `GreasyFork` |
-| `plugin_link_type_openuserjs` | `OpenUserJS` |
-| `plugin_intent_description_ReadFeatureConfig` | `This plugin can read the feature configuration` |
-| `plugin_intent_description_WriteFeatureConfig` | `This plugin can write to the feature configuration` |
-| `plugin_intent_description_SeeHiddenConfigValues` | `This plugin has access to hidden config values` |
-| `plugin_intent_description_WriteLyricsCache` | `This plugin can write to the lyrics cache` |
-| `plugin_intent_description_WriteTranslations` | `This plugin can add new translations and overwrite existing ones` |
-| `plugin_intent_description_CreateModalDialogs` | `This plugin can create modal dialogs` |
-| `plugin_intent_description_ReadAutoLikeData` | `This plugin can read auto-like data` |
-| `plugin_intent_description_WriteAutoLikeData` | `This plugin can write to auto-like data` |
-| `feature_category_plugins` | `Plugins` |
-| `feature_desc_openPluginList` | `Open the list of plugins you have installed` |
-| `feature_btn_openPluginList` | `Open list` |
-| `feature_btn_openPluginList_running` | `Opening...` |
-
-<br></details>
-
-<details><summary><code>ja_JA</code> - 20 missing keys <i>(click to show)</i></summary><br>
-
-| Key | English text |
-| --- | ------------ |
-| `plugin_list_title` | `Plugin List` |
-| `plugin_list_no_plugins` | `No plugins are currently installed.` |
-| `plugin_list_permissions_header` | `Permissions:` |
-| `plugin_link_type_source` | `Repository` |
-| `plugin_link_type_other` | `Other / Homepage` |
-| `plugin_link_type_bug` | `Report a bug` |
-| `plugin_link_type_greasyfork` | `GreasyFork` |
-| `plugin_link_type_openuserjs` | `OpenUserJS` |
-| `plugin_intent_description_ReadFeatureConfig` | `This plugin can read the feature configuration` |
-| `plugin_intent_description_WriteFeatureConfig` | `This plugin can write to the feature configuration` |
-| `plugin_intent_description_SeeHiddenConfigValues` | `This plugin has access to hidden config values` |
-| `plugin_intent_description_WriteLyricsCache` | `This plugin can write to the lyrics cache` |
-| `plugin_intent_description_WriteTranslations` | `This plugin can add new translations and overwrite existing ones` |
-| `plugin_intent_description_CreateModalDialogs` | `This plugin can create modal dialogs` |
-| `plugin_intent_description_ReadAutoLikeData` | `This plugin can read auto-like data` |
-| `plugin_intent_description_WriteAutoLikeData` | `This plugin can write to auto-like data` |
-| `feature_category_plugins` | `Plugins` |
-| `feature_desc_openPluginList` | `Open the list of plugins you have installed` |
-| `feature_btn_openPluginList` | `Open list` |
-| `feature_btn_openPluginList_running` | `Opening...` |
-
-<br></details>
-
-<details><summary><code>pt_BR</code> - 20 missing keys <i>(click to show)</i></summary><br>
-
-| Key | English text |
-| --- | ------------ |
-| `plugin_list_title` | `Plugin List` |
-| `plugin_list_no_plugins` | `No plugins are currently installed.` |
-| `plugin_list_permissions_header` | `Permissions:` |
-| `plugin_link_type_source` | `Repository` |
-| `plugin_link_type_other` | `Other / Homepage` |
-| `plugin_link_type_bug` | `Report a bug` |
-| `plugin_link_type_greasyfork` | `GreasyFork` |
-| `plugin_link_type_openuserjs` | `OpenUserJS` |
-| `plugin_intent_description_ReadFeatureConfig` | `This plugin can read the feature configuration` |
-| `plugin_intent_description_WriteFeatureConfig` | `This plugin can write to the feature configuration` |
-| `plugin_intent_description_SeeHiddenConfigValues` | `This plugin has access to hidden config values` |
-| `plugin_intent_description_WriteLyricsCache` | `This plugin can write to the lyrics cache` |
-| `plugin_intent_description_WriteTranslations` | `This plugin can add new translations and overwrite existing ones` |
-| `plugin_intent_description_CreateModalDialogs` | `This plugin can create modal dialogs` |
-| `plugin_intent_description_ReadAutoLikeData` | `This plugin can read auto-like data` |
-| `plugin_intent_description_WriteAutoLikeData` | `This plugin can write to auto-like data` |
-| `feature_category_plugins` | `Plugins` |
-| `feature_desc_openPluginList` | `Open the list of plugins you have installed` |
-| `feature_btn_openPluginList` | `Open list` |
-| `feature_btn_openPluginList_running` | `Opening...` |
-
-<br></details>
-
-<details><summary><code>zh_CN</code> - 20 missing keys <i>(click to show)</i></summary><br>
-
-| Key | English text |
-| --- | ------------ |
-| `plugin_list_title` | `Plugin List` |
-| `plugin_list_no_plugins` | `No plugins are currently installed.` |
-| `plugin_list_permissions_header` | `Permissions:` |
-| `plugin_link_type_source` | `Repository` |
-| `plugin_link_type_other` | `Other / Homepage` |
-| `plugin_link_type_bug` | `Report a bug` |
-| `plugin_link_type_greasyfork` | `GreasyFork` |
-| `plugin_link_type_openuserjs` | `OpenUserJS` |
-| `plugin_intent_description_ReadFeatureConfig` | `This plugin can read the feature configuration` |
-| `plugin_intent_description_WriteFeatureConfig` | `This plugin can write to the feature configuration` |
-| `plugin_intent_description_SeeHiddenConfigValues` | `This plugin has access to hidden config values` |
-| `plugin_intent_description_WriteLyricsCache` | `This plugin can write to the lyrics cache` |
-| `plugin_intent_description_WriteTranslations` | `This plugin can add new translations and overwrite existing ones` |
-| `plugin_intent_description_CreateModalDialogs` | `This plugin can create modal dialogs` |
-| `plugin_intent_description_ReadAutoLikeData` | `This plugin can read auto-like data` |
-| `plugin_intent_description_WriteAutoLikeData` | `This plugin can write to auto-like data` |
-| `feature_category_plugins` | `Plugins` |
-| `feature_desc_openPluginList` | `Open the list of plugins you have installed` |
-| `feature_btn_openPluginList` | `Open list` |
-| `feature_btn_openPluginList_running` | `Opening...` |
-
-<br></details>
+No missing keys

+ 25 - 2
assets/translations/de_DE.json

@@ -199,6 +199,25 @@
     "color_lightness_normal": "Normal",
     "color_lightness_lighter": "Heller",
 
+    "plugin_list_title": "Plugin-Liste",
+    "plugin_list_no_plugins": "Momentan sind keine Plugins installiert.",
+    "plugin_list_permissions_header": "Berechtigungen:",
+
+    "plugin_link_type_source": "Quellcode",
+    "plugin_link_type_other": "Andere / Homepage",
+    "plugin_link_type_bug": "Fehler melden",
+    "plugin_link_type_greasyfork": "GreasyFork",
+    "plugin_link_type_openuserjs": "OpenUserJS",
+
+    "plugin_intent_description_ReadFeatureConfig": "Dieses Plugin kann die Feature-Konfiguration lesen",
+    "plugin_intent_description_WriteFeatureConfig": "Dieses Plugin kann die Feature-Konfiguration überschreiben",
+    "plugin_intent_description_SeeHiddenConfigValues": "Dieses Plugin kann versteckte Konfigurationswerte lesen",
+    "plugin_intent_description_WriteLyricsCache": "Dieses Plugin kann den Songtext-Cache überschreiben",
+    "plugin_intent_description_WriteTranslations": "Dieses Plugin kann neue Übersetzungen hinzufügen und bestehende überschreiben",
+    "plugin_intent_description_CreateModalDialogs": "Dieses Plugin kann modale Dialoge erstellen",
+    "plugin_intent_description_ReadAutoLikeData": "Dieses Plugin kann Auto-Like-Daten lesen",
+    "plugin_intent_description_WriteAutoLikeData": "Dieses Plugin kann Auto-Like-Daten überschreiben",
+
     "plugin_validation_error_no_property": "Keine Eigenschaft '%1' vom Typ '%2'",
     "plugin_validation_error_invalid_property-1": "Eigenschaft '%1' mit Wert '%2' ist ungültig. Beispielwert: %3",
     "plugin_validation_error_invalid_property-n": "Eigenschaft '%1' mit Wert '%2' ist ungültig. Beispielwerte: %3",
@@ -210,6 +229,7 @@
     "feature_category_input": "Eingabe",
     "feature_category_lyrics": "Songtexte",
     "feature_category_integrations": "Integrationen",
+    "feature_category_plugins": "Plugins",
     "feature_category_general": "Allgemein",
 
     "feature_desc_watermarkEnabled": "Zeige ein Wasserzeichen unter dem Seitenlogo, das dieses Einstellungsmenü öffnet",
@@ -308,6 +328,11 @@
     "feature_helptext_themeSongIntegration": "Wenn das ThemeSong Addon installiert ist, aber dieses Feature deaktiviert ist (oder umgekehrt), könntest du kaputtes Styling auf der Seite bemerken.\n\nBitte stelle immer sicher, dass dieses Feature reflektiert, ob das Addon installiert ist oder nicht!",
     "feature_desc_themeSongLightness": "Wie hell die Akzentfarben sein sollen, die vom aktuellen ThemeSong-Theme abgeleitet werden",
     "feature_helptext_themeSongLightness": "Je nach den Einstellungen, die du für das ThemeSong Addon gewählt hast, ermöglicht dir dieses Feature, die Helligkeit der Akzentfarben anzupassen, die vom aktuellen Theme abgeleitet werden.\n\nDieses Feature hat keinen Effekt, wenn das ThemeSong Addon nicht installiert ist.",
+    "feature_desc_openPluginList": "Öffne die Liste der installierten Plugins",
+    "feature_btn_openPluginList": "Liste öffnen",
+    "feature_btn_openPluginList_running": "Wird geöffnet...",
+    "feature_desc_initTimeout": "Wie viele Sekunden gewartet werden soll, bis Features initialisiert werden, bevor angenommen wird, dass sie wahrscheinlich in einem fehlerhaften Zustand sind",
+    "feature_helptext_initTimeout": "Dies ist die Zeit in Sekunden, die das Skript wartet, bis Features initialisiert werden, bevor angenommen wird, dass sie wahrscheinlich in einem fehlerhaften Zustand sind.\nDies wird das Verhalten des Skripts nicht wesentlich beeinflussen, aber wenn eines deiner Plugins nicht rechtzeitig initialisiert werden kann, kannst du versuchen, diesen Wert zu erhöhen.",
 
     "feature_desc_locale": "Sprache",
     "feature_desc_localeFallback": "Verwende für fehlende Übersetzungen Englisch (deaktivieren, wenn du zu Übersetzungen beiträgst)",
@@ -318,8 +343,6 @@
     "feature_btn_checkVersionNow_running": "Wird geprüft...",
     "feature_desc_logLevel": "Wie viele Informationen sollen in der Konsole geloggt werden?",
     "feature_helptext_logLevel": "Das Ändern dieses Wertes ist wirklich nur für Debugging-Zwecke notwendig, wenn du ein Problem hast.\nSolltest du eines haben, kannst du den Log-Level hier erhöhen, die JavaScript-Konsole deines Browsers (normalerweise mit Strg + Shift + K) öffnen und Screenshots dieses Logs in einem GitHub-Issue hinzufügen.",
-    "feature_desc_initTimeout": "Wie viele Sekunden gewartet werden soll, bis Features initialisiert werden, bevor angenommen wird, dass sie wahrscheinlich in einem fehlerhaften Zustand sind",
-    "feature_helptext_initTimeout": "Dies ist die Zeit in Sekunden, die das Skript wartet, bis Features initialisiert werden, bevor angenommen wird, dass sie wahrscheinlich in einem fehlerhaften Zustand sind.\nDies wird das Verhalten des Skripts nicht wesentlich beeinflussen, aber wenn eines deiner Plugins nicht rechtzeitig initialisiert werden kann, kannst du versuchen, diesen Wert zu erhöhen.",
     "feature_desc_toastDuration": "Für wie viele Sekunden Toast-Benachrichtigungen angezeigt werden sollen - 0, um sie vollständig zu deaktivieren",
     "feature_desc_showToastOnGenericError": "Zeige eine Benachrichtigung, wenn ein Fehler auftritt?",
     "feature_helptext_showToastOnGenericError": "Sollte ein Fehler im Skript auftreten, der Teile davon daran hindert, korrekt zu funktionieren, wird eine Benachrichtigung angezeigt, um dich darüber zu informieren.\nWenn du ein Problem häufig hast, kopiere bitte den Fehler aus der JavaScript-Konsole (normalerweise im F12-Menü) und öffne bitte ein Issue auf GitHub.",

+ 33 - 2
assets/translations/es_ES.json

@@ -148,6 +148,7 @@
     "thumbnail_overlay_image_fit_crop": "Recortar si es necesario",
     "thumbnail_overlay_image_fit_full": "Mostrar la imagen completa",
     "thumbnail_overlay_image_fit_stretch": "Estirar para ajustar",
+
     "auto_like_channels_dialog_title": "Canales con me gusta automático",
     "auto_like_channels_dialog_desc": "Aquí puedes ver qué canales tienes configurados para dar me gusta automáticamente y puedes editar, habilitar, deshabilitar y eliminarlos.\nTambién puedes crear manualmente entradas, aunque es más fácil simplemente visitar la página del canal y hacer clic en el botón allí.",
     "auto_like": "Me gusta automático",
@@ -167,19 +168,24 @@
     "auto_like_export_import_title": "Exportar o importar canales con me gusta automático",
     "auto_like_export_desc": "Copia el siguiente texto para exportar tus canales con me gusta automático.",
     "auto_like_import_desc": "Pega los canales con me gusta automático que deseas importar en el campo a continuación, luego haz clic en el botón de importación:",
+
     "prompt_confirm": "Confirmar",
     "prompt_close": "Cerrar",
     "prompt_cancel": "Cancelar",
+
     "click_to_confirm_tooltip": "Haga clic para confirmar",
     "click_to_close_tooltip": "Haga clic para cerrar",
     "click_to_cancel_tooltip": "Haga clic para cancelar",
+
     "vote_label_likes-1": "%1 me gusta",
     "vote_label_likes-n": "%1 me gusta",
     "vote_label_dislikes-1": "%1 no me gusta",
     "vote_label_dislikes-n": "%1 no me gusta",
+
     "vote_ratio_disabled": "Deshabilitado",
     "vote_ratio_green_red": "Verde y rojo",
     "vote_ratio_blue_gray": "Azul y gris",
+
     "votes_format_short": "Corto",
     "votes_format_long": "Número completo",
 
@@ -188,10 +194,30 @@
 
     "unit_days-1": "día",
     "unit_days-n": "días",
+
     "color_lightness_darker": "Más oscuro",
     "color_lightness_normal": "Normal",
     "color_lightness_lighter": "Más claro",
 
+    "plugin_list_title": "Lista de plugins",
+    "plugin_list_no_plugins": "Actualmente no hay ningún plugin instalado.",
+    "plugin_list_permissions_header": "Permisos:",
+
+    "plugin_link_type_source": "Repositorio",
+    "plugin_link_type_other": "Otro / Página de inicio",
+    "plugin_link_type_bug": "Informar de un error",
+    "plugin_link_type_greasyfork": "GreasyFork",
+    "plugin_link_type_openuserjs": "OpenUserJS",
+
+    "plugin_intent_description_ReadFeatureConfig": "Este plugin puede leer la configuración de la función",
+    "plugin_intent_description_WriteFeatureConfig": "Este plugin puede escribir en la configuración de la función",
+    "plugin_intent_description_SeeHiddenConfigValues": "Este plugin tiene acceso a valores de configuración ocultos",
+    "plugin_intent_description_WriteLyricsCache": "Este plugin puede escribir en la caché de letras",
+    "plugin_intent_description_WriteTranslations": "Este plugin puede agregar nuevas traducciones y sobrescribir las existentes",
+    "plugin_intent_description_CreateModalDialogs": "Este plugin puede crear diálogos modales",
+    "plugin_intent_description_ReadAutoLikeData": "Este plugin puede leer datos de me gusta automático",
+    "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'",
     "plugin_validation_error_invalid_property-1": "La propiedad '%1' con el valor '%2' no es válida. Valor de ejemplo: %3",
     "plugin_validation_error_invalid_property-n": "La propiedad '%1' con el valor '%2' no es válida. Valores de ejemplo: %3",
@@ -203,6 +229,7 @@
     "feature_category_input": "Entrada",
     "feature_category_lyrics": "Letras",
     "feature_category_integrations": "Integraciones",
+    "feature_category_plugins": "Plugins",
     "feature_category_general": "General",
 
     "feature_desc_watermarkEnabled": "Mostrar una marca de agua debajo del logotipo del sitio que abre este menú de configuración",
@@ -237,6 +264,7 @@
     "feature_desc_setInitialTabVolume": "Establece el nivel de volumen en un valor específico una vez al abrir el sitio",
     "feature_warning_setInitialTabVolume_volumeSharedBetweenTabs_incompatible": "Esta función es incompatible con la función \"Volumen compartido entre pestañas\" y se ignorará mientras se use la función de volumen compartido!",
     "feature_desc_initialTabVolumeLevel": "El valor para establecer el nivel de volumen al abrir el sitio",
+  
     "feature_desc_lyricsQueueButton": "Agregue un botón a cada canción en una lista para abrir su página de letras",
     "feature_desc_deleteFromQueueButton": "Agregue un botón a cada canción en una lista para eliminarla rápidamente",
     "feature_desc_listButtonsPlacement": "¿Dónde deberían aparecer los botones de la lista?",
@@ -300,6 +328,11 @@
     "feature_helptext_themeSongIntegration": "Si la extensión ThemeSong está instalada pero esta función está desactivada (o viceversa), es posible que notes un estilo roto en el sitio.\n\n¡Asegúrate siempre de que esta función refleje si la extensión está instalada o no!",
     "feature_desc_themeSongLightness": "¿Qué tan claro deben ser los colores de acento derivados del tema actual de ThemeSong?",
     "feature_helptext_themeSongLightness": "Dependiendo de la configuración que hayas elegido para la extensión ThemeSong, esta función te permite ajustar la claridad de los colores de acento que se derivan del tema actual.\n\nEsta función no tendrá efecto si la extensión ThemeSong no está instalada.",
+    "feature_desc_openPluginList": "Abrir la lista de plugins que tienes instalados",
+    "feature_btn_openPluginList": "Abrir lista",
+    "feature_btn_openPluginList_running": "Abriendo...",
+    "feature_desc_initTimeout": "Cuántos segundos esperar a que se inicialicen las funciones antes de considerarlas probablemente en un estado de error",
+    "feature_helptext_initTimeout": "Este es el tiempo en segundos que el script esperará a que se inicialicen las funciones antes de considerarlas probablemente en un estado de error.\nEsto no afectará significativamente el comportamiento del script, pero si uno de sus complementos no puede inicializarse a tiempo, debería intentar aumentar este valor.",
 
     "feature_desc_locale": "Idioma",
     "feature_desc_localeFallback": "Utilizar el inglés para las traducciones que faltan (desactivar si contribuye a las traducciones)",
@@ -310,8 +343,6 @@
     "feature_btn_checkVersionNow_running": "Comprobando...",
     "feature_desc_logLevel": "Cuánta información registrar en la consola",
     "feature_helptext_logLevel": "Cambiar esto solo es necesario para fines de depuración como resultado de experimentar un problema.\nSi tiene uno, puede aumentar el nivel de registro aquí, abrir la consola de JavaScript de su navegador (generalmente con Ctrl + Shift + K) y adjuntar capturas de pantalla de ese registro en un problema de GitHub.",
-    "feature_desc_initTimeout": "Cuántos segundos esperar a que se inicialicen las funciones antes de considerarlas probablemente en un estado de error",
-    "feature_helptext_initTimeout": "Este es el tiempo en segundos que el script esperará a que se inicialicen las funciones antes de considerarlas probablemente en un estado de error.\nEsto no afectará significativamente el comportamiento del script, pero si uno de sus complementos no puede inicializarse a tiempo, debería intentar aumentar este valor.",
     "feature_desc_toastDuration": "Duración en segundos durante cuánto tiempo se deben mostrar las notificaciones personalizadas - 0 para deshabilitarlas por completo",
     "feature_desc_showToastOnGenericError": "¿Mostrar una notificación cuando se produce un error genérico?",
     "feature_helptext_showToastOnGenericError": "Si se produce un error en el script que impide que partes de él funcionen correctamente, se mostrará una notificación para informarle al respecto.\nSi encuentra un problema con frecuencia, copie el error de la consola de JavaScript (generalmente en el menú F12) y abra un problema en GitHub.",

+ 33 - 2
assets/translations/fr_FR.json

@@ -148,6 +148,7 @@
     "thumbnail_overlay_image_fit_crop": "Rogner si nécessaire",
     "thumbnail_overlay_image_fit_full": "Afficher l'image complète",
     "thumbnail_overlay_image_fit_stretch": "Étirer pour s'adapter",
+
     "auto_like_channels_dialog_title": "Chaînes auto-aimées",
     "auto_like_channels_dialog_desc": "Ici, vous pouvez voir les chaînes que vous avez configurées pour aimer automatiquement et vous pouvez les modifier, les activer, les désactiver et les supprimer.\nVous pouvez également créer manuellement des entrées, bien qu'il soit plus simple de simplement visiter la page de la chaîne et de cliquer sur le bouton qui s'y trouve.",
     "auto_like": "Auto-aimer",
@@ -167,19 +168,24 @@
     "auto_like_export_import_title": "Exporter ou importer les chaînes auto-aimées",
     "auto_like_export_desc": "Copiez le texte suivant pour exporter vos chaînes auto-aimées.",
     "auto_like_import_desc": "Collez les chaînes auto-aimées que vous souhaitez importer dans le champ ci-dessous, puis cliquez sur le bouton d'importation:",
+
     "prompt_confirm": "Confirmer",
     "prompt_close": "Fermer",
     "prompt_cancel": "Annuler",
+
     "click_to_confirm_tooltip": "Cliquez pour confirmer",
     "click_to_close_tooltip": "Cliquez pour fermer",
     "click_to_cancel_tooltip": "Cliquez pour annuler",
+
     "vote_label_likes-1": "%1 j'aime",
     "vote_label_likes-n": "%1 j'aimes",
     "vote_label_dislikes-1": "%1 je n'aime pas",
     "vote_label_dislikes-n": "%1 je n'aime pas",
+
     "vote_ratio_disabled": "Désactivé",
     "vote_ratio_green_red": "Vert et rouge",
     "vote_ratio_blue_gray": "Bleu et gris",
+
     "votes_format_short": "Raccourci",
     "votes_format_long": "Nombre complet",
 
@@ -188,10 +194,30 @@
 
     "unit_days-1": "jour",
     "unit_days-n": "jours",
+
     "color_lightness_darker": "Plus foncé",
     "color_lightness_normal": "Normal",
     "color_lightness_lighter": "Plus clair",
 
+    "plugin_list_title": "Liste des plugins",
+    "plugin_list_no_plugins": "Aucun plugin n'est actuellement installé.",
+    "plugin_list_permissions_header": "Permissions:",
+
+    "plugin_link_type_source": "Dépôt",
+    "plugin_link_type_other": "Autre / Page d'accueil",
+    "plugin_link_type_bug": "Signaler un bug",
+    "plugin_link_type_greasyfork": "GreasyFork",
+    "plugin_link_type_openuserjs": "OpenUserJS",
+
+    "plugin_intent_description_ReadFeatureConfig": "Ce plugin peut lire la configuration de la fonctionnalité",
+    "plugin_intent_description_WriteFeatureConfig": "Ce plugin peut écrire dans la configuration de la fonctionnalité",
+    "plugin_intent_description_SeeHiddenConfigValues": "Ce plugin a accès à des valeurs de configuration cachées",
+    "plugin_intent_description_WriteLyricsCache": "Ce plugin peut écrire dans le cache des paroles",
+    "plugin_intent_description_WriteTranslations": "Ce plugin peut ajouter de nouvelles traductions et écraser les existantes",
+    "plugin_intent_description_CreateModalDialogs": "Ce plugin peut créer des boîtes de dialogue modales",
+    "plugin_intent_description_ReadAutoLikeData": "Ce plugin peut lire les données d'auto-aimer",
+    "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'",
     "plugin_validation_error_invalid_property-1": "La propriété '%1' avec la valeur '%2' est invalide. Exemple de valeur: %3",
     "plugin_validation_error_invalid_property-n": "La propriété '%1' avec la valeur '%2' est invalide. Exemples de valeurs: %3",
@@ -203,6 +229,7 @@
     "feature_category_input": "Entrée",
     "feature_category_lyrics": "Paroles",
     "feature_category_integrations": "Intégrations",
+    "feature_category_plugins": "Plugins",
     "feature_category_general": "Général",
 
     "feature_desc_watermarkEnabled": "Afficher un filigrane sous le logo du site qui ouvre ce menu de configuration",
@@ -237,6 +264,7 @@
     "feature_desc_setInitialTabVolume": "Définir le niveau de volume sur une valeur spécifique une fois lors de l'ouverture du site",
     "feature_warning_setInitialTabVolume_volumeSharedBetweenTabs_incompatible": "Cette fonctionnalité est incompatible avec la fonctionnalité \"Niveau de volume partagé entre les onglets\" et sera ignorée lors de l'utilisation de la fonctionnalité de volume partagé!",
     "feature_desc_initialTabVolumeLevel": "La valeur à définir pour le niveau de volume lors de l'ouverture du site",
+  
     "feature_desc_lyricsQueueButton": "Ajouter un bouton à chaque chanson dans une liste pour ouvrir sa page de paroles",
     "feature_desc_deleteFromQueueButton": "Ajouter un bouton à chaque chanson dans une liste pour la supprimer rapidement",
     "feature_desc_listButtonsPlacement": "Où les boutons de liste doivent-ils apparaître?",
@@ -300,6 +328,11 @@
     "feature_helptext_themeSongIntegration": "Si l'extension ThemeSong est installée mais que cette fonctionnalité est désactivée (ou vice versa), vous pourriez remarquer des problèmes de style sur le site.\n\nAssurez-vous toujours que cette fonctionnalité reflète si l'extension est installée ou non!",
     "feature_desc_themeSongLightness": "À quel point les couleurs d'accentuation dérivées du thème actuel de ThemeSong doivent-elles être claires",
     "feature_helptext_themeSongLightness": "En fonction des paramètres que vous avez choisis pour l'extension ThemeSong, cette fonctionnalité vous permet d'ajuster la clarté des couleurs d'accentuation dérivées du thème actuel.\n\nCette fonctionnalité n'aura aucun effet si l'extension ThemeSong n'est pas installée.",
+    "feature_desc_openPluginList": "Ouvrir la liste des plugins que vous avez installés",
+    "feature_btn_openPluginList": "Ouvrir la liste",
+    "feature_btn_openPluginList_running": "Ouverture...",
+    "feature_desc_initTimeout": "Combien de secondes attendre que les fonctionnalités s'initialisent avant de les considérer probablement dans un état d'erreur",
+    "feature_helptext_initTimeout": "C'est le temps en secondes que le script attendra que les fonctionnalités s'initialisent avant de les considérer probablement dans un état d'erreur.\nCela n'affectera pas le comportement du script de manière significative, mais si l'un de vos plugins ne peut pas s'initialiser à temps, vous devriez essayer d'augmenter cette valeur.",
 
     "feature_desc_locale": "Langue",
     "feature_desc_localeFallback": "Utiliser l'anglais pour les traductions manquantes (désactiver si vous contribuez aux traductions)",
@@ -310,8 +343,6 @@
     "feature_btn_checkVersionNow_running": "Vérification...",
     "feature_desc_logLevel": "Combien d'informations à enregistrer dans la console",
     "feature_helptext_logLevel": "Changer cela n'est vraiment nécessaire que pour le débogage à la suite d'un problème rencontré.\nSi vous en avez un, vous pouvez augmenter le niveau de journalisation ici, ouvrir la console JavaScript de votre navigateur (généralement avec Ctrl + Maj + K) et joindre des captures d'écran de ce journal dans un problème GitHub.",
-    "feature_desc_initTimeout": "Combien de secondes attendre que les fonctionnalités s'initialisent avant de les considérer probablement dans un état d'erreur",
-    "feature_helptext_initTimeout": "C'est le temps en secondes que le script attendra que les fonctionnalités s'initialisent avant de les considérer probablement dans un état d'erreur.\nCela n'affectera pas le comportement du script de manière significative, mais si l'un de vos plugins ne peut pas s'initialiser à temps, vous devriez essayer d'augmenter cette valeur.",
     "feature_desc_toastDuration": "Pendant combien de secondes les notifications toast personnalisées doivent-elles être affichées - 0 pour les désactiver entièrement",
     "feature_desc_showToastOnGenericError": "Afficher une notification lorsqu'une erreur générique se produit?",
     "feature_helptext_showToastOnGenericError": "Si une erreur se produit dans le script qui empêche certaines parties de fonctionner correctement, une notification sera affichée pour vous en informer.\nSi vous rencontrez souvent un problème, veuillez copier l'erreur de la console JavaScript (généralement dans le menu F12) et ouvrir un problème sur GitHub.",

+ 33 - 2
assets/translations/hi_IN.json

@@ -148,6 +148,7 @@
     "thumbnail_overlay_image_fit_crop": "क्रॉप करें यदि आवश्यक है",
     "thumbnail_overlay_image_fit_full": "पूरी छवि दिखाएं",
     "thumbnail_overlay_image_fit_stretch": "खींचें ताकि फिट हो जाए",
+
     "auto_like_channels_dialog_title": "ऑटो-पसंद किए गए चैनल",
     "auto_like_channels_dialog_desc": "यहां आप देख सकते हैं कि आपने किस चैनल को ऑटो-पसंद करने के लिए सेट किया है और आप उन्हें संपादित, सक्षम, अक्षम और हटा सकते हैं।\nआप भी मैन्युअल रूप से एंट्री बना सकते हैं, हालांकि यह चैनल पृष्ठ पर जाना और वहां बटन पर क्लिक करना आसान है।",
     "auto_like": "ऑटो-पसंद",
@@ -167,19 +168,24 @@
     "auto_like_export_import_title": "स्वतः पसंद किए गए चैनलों का निर्यात या आयात करें",
     "auto_like_export_desc": "निम्नलिखित पाठ को अपने स्वतः पसंद किए गए चैनलों का निर्यात करने के लिए कॉपी करें।",
     "auto_like_import_desc": "निम्नलिखित क्षेत्र में आपके द्वारा आयात करना चाहिए ऑटो-पसंद किए गए चैनलों को दर्ज करें, फिर आयात बटन पर क्लिक करें:",
+
     "prompt_confirm": "पुष्टि करना",
     "prompt_close": "बंद करें",
     "prompt_cancel": "रद्द करें",
+
     "click_to_confirm_tooltip": "क्लिक करने के लिए पुष्टि करें",
     "click_to_close_tooltip": "बंद करने के लिए क्लिक करें",
     "click_to_cancel_tooltip": "बदलने के लिए क्लिक करें, फिर रिकवर करें",
+
     "vote_label_likes-1": "%1 लाइक",
     "vote_label_likes-n": "%1 लाइक",
     "vote_label_dislikes-1": "%1 नापसंद",
     "vote_label_dislikes-n": "%1 नापसंद",
+
     "vote_ratio_disabled": "अक्षम",
     "vote_ratio_green_red": "हरा और लाल",
     "vote_ratio_blue_gray": "नीला और ग्रे",
+
     "votes_format_short": "संक्षेपित",
     "votes_format_long": "पूर्ण संख्या",
 
@@ -188,10 +194,30 @@
 
     "unit_days-1": "दिन",
     "unit_days-n": "दिन",
+
     "color_lightness_darker": "गहरे",
     "color_lightness_normal": "सामान्य",
     "color_lightness_lighter": "हल्का",
 
+    "plugin_list_title": "प्लगइन सूची",
+    "plugin_list_no_plugins": "वर्तमान में कोई प्लगइन स्थापित नहीं हैं।",
+    "plugin_list_permissions_header": "अनुमतियाँ:",
+
+    "plugin_link_type_source": "संग्रह",
+    "plugin_link_type_other": "अन्य / होमपेज",
+    "plugin_link_type_bug": "बग रिपोर्ट करें",
+    "plugin_link_type_greasyfork": "GreasyFork",
+    "plugin_link_type_openuserjs": "OpenUserJS",
+
+    "plugin_intent_description_ReadFeatureConfig": "यह प्लगइन फीचर कॉन्फ़िगरेशन को पढ़ सकता है",
+    "plugin_intent_description_WriteFeatureConfig": "यह प्लगइन फीचर कॉन्फ़िगरेशन में लिख सकता है",
+    "plugin_intent_description_SeeHiddenConfigValues": "इस प्लगइन में छिपे हुए कॉन्फ़िगरेशन मानों तक पहुंच है",
+    "plugin_intent_description_WriteLyricsCache": "यह प्लगइन गीत कैश में लिख सकता है",
+    "plugin_intent_description_WriteTranslations": "यह प्लगइन नए अनुवाद जोड़ सकता है और मौजूदा अनुवादों को अधिलेखित कर सकता है",
+    "plugin_intent_description_CreateModalDialogs": "यह प्लगइन मोडल डायलॉग बना सकता है",
+    "plugin_intent_description_ReadAutoLikeData": "यह प्लगइन ऑटो-पसंद डेटा पढ़ सकता है",
+    "plugin_intent_description_WriteAutoLikeData": "यह प्लगइन ऑटो-पसंद डेटा में लिख सकता है",
+
     "plugin_validation_error_no_property": "कोई गुण '%1' जिसके पास '%2' प्रकार है नहीं है",
     "plugin_validation_error_invalid_property-1": "गुण '%1' जिसके पास '%2' प्रकार है अमान्य है। उदाहरण मान: %3",
     "plugin_validation_error_invalid_property-n": "गुण '%1' जिसके पास '%2' प्रकार है अमान्य है। उदाहरण मान: %3",
@@ -203,6 +229,7 @@
     "feature_category_input": "इनपुट",
     "feature_category_lyrics": "बोल",
     "feature_category_integrations": "एकीकरण",
+    "feature_category_plugins": "प्लगइन्स",
     "feature_category_general": "सामान्य",
 
     "feature_desc_watermarkEnabled": "एक वॉटरमार्क दिखाएं जो इस कॉन्फ़िग मेनू को खोलता है",
@@ -237,6 +264,7 @@
     "feature_desc_setInitialTabVolume": "साइट खोलने पर वॉल्यूम स्तर को एक विशिष्ट मान पर सेट करें",
     "feature_warning_setInitialTabVolume_volumeSharedBetweenTabs_incompatible": "यह सुविधा \"टैब के बीच साझा वॉल्यूम स्तर\" सुविधा के साथ असंगत है और साझा वॉल्यूम सुविधा का उपयोग करते समय नजरअंदाज किया जाएगा!",
     "feature_desc_initialTabVolumeLevel": "साइट खोलने पर वॉल्यूम स्तर को सेट करने के लिए मान",
+  
     "feature_desc_lyricsQueueButton": "प्रत्येक गीत में एक बटन जोड़ें जो इसके बोल वेबपृष्ठ को खोलता है",
     "feature_desc_deleteFromQueueButton": "प्रत्येक गीत में एक बटन जोड़ें जो इसे त्वरित रूप से कतार से हटाता है",
     "feature_desc_listButtonsPlacement": "कतार में बटन कहाँ दिखाएं?",
@@ -300,6 +328,11 @@
     "feature_helptext_themeSongIntegration": "यदि थीमसॉंग एक्सटेंशन इंस्टॉल किया गया है लेकिन यह सुविधा बंद है (या उम्मीद है कि इसे बंद किया गया है), तो आप साइट पर टूटी हुई स्टाइलिंग देख सकते हैं।\n\nकृपया हमेशा सुनिश्चित करें कि यह सुविधा यह दर्शाती है कि एक्सटेंशन इंस्टॉल किया गया है या नहीं!",
     "feature_desc_themeSongLightness": "वर्तमान थीमसॉंग थीम से निकले एक्सेंट रंगों को कितना हल्का होना चाहिए",
     "feature_helptext_themeSongLightness": "थीमसॉंग एक्सटेंशन के लिए आपने जो सेटिंग्स चुनी हैं, उन एक्सेंट रंगों की हल्काई को समायोजित करने की अनुमति देती है।\n\nयदि थीमसॉंग एक्सटेंशन इंस्टॉल नहीं है, तो इस सुविधा का कोई प्रभाव नहीं होगा।",
+    "feature_desc_openPluginList": "आपके द्वारा इंस्टॉल किए गए प्लगइनों की सूची खोलें",
+    "feature_btn_openPluginList": "सूची खोलें",
+    "feature_btn_openPluginList_running": "खोल रहा है...",
+    "feature_desc_initTimeout": "विशेषताएँ शुरू होने के लिए कितने सेकंड इंतजार करें - उन्हें लिखने के लिए लिकेली एरर्ड स्थिति में माना जाएगा",
+    "feature_helptext_initTimeout": "यह वक्त जिसमें स्क्रिप्ट विशेषताएँ शुरू होने के लिए इंतजार करेगा इसे उन्हें लिखने के लिए लिखा जाएगा।\nयह स्क्रिप्ट के व्यवहार पर किसी बड़े तरीके से प्रभाव नहीं डालेगा, लेकिन यदि आपके प्लगइन में से कोई भी वक्त में शुरू नहीं हो सकता है, तो आपको इस मानक को बढ़ाने की कोशिश करनी चाहिए।",
 
     "feature_desc_locale": "भाषा",
     "feature_desc_localeFallback": "अनुवादों के लिए अंग्रेजी का उपयोग करें (अनुवाद में योगदान कर रहे हैं तो इसे अक्षम करें)",
@@ -310,8 +343,6 @@
     "feature_btn_checkVersionNow_running": "जांच रहा है...",
     "feature_desc_logLevel": "कंसोल पर कितनी जानकारी लॉग इन करनी है",
     "feature_helptext_logLevel": "इसे बदलने की वास्तव में केवल डिबगिंग के उद्देश्य से आवश्यक है क्योंकि किसी समस्या का सामना करने के परिणामस्वरूप।\nयदि आपके पास एक है, तो आप यहां लॉग स्तर बढ़ा सकते हैं, अपने ब्राउज़र के जावास्क्रिप्ट कंसोल (सामान्यतः Ctrl + Shift + K के साथ) खोल सकते हैं और उस लॉग की स्क्रीनशॉट एक गिटहब समस्या में अटैच कर सकते हैं।",
-    "feature_desc_initTimeout": "विशेषताएँ शुरू होने के लिए कितने सेकंड इंतजार करें - उन्हें लिखने के लिए लिकेली एरर्ड स्थिति में माना जाएगा",
-    "feature_helptext_initTimeout": "यह वक्त जिसमें स्क्रिप्ट विशेषताएँ शुरू होने के लिए इंतजार करेगा इसे उन्हें लिखने के लिए लिखा जाएगा।\nयह स्क्रिप्ट के व्यवहार पर किसी बड़े तरीके से प्रभाव नहीं डालेगा, लेकिन यदि आपके प्लगइन में से कोई भी वक्त में शुरू नहीं हो सकता है, तो आपको इस मानक को बढ़ाने की कोशिश करनी चाहिए।",
     "feature_desc_toastDuration": "कितने सेकंड तक कस्टम टोस्ट सूचनाएं दिखाई जानी चाहिए - उन्हें पूरी तरह से अक्षम करने के लिए 0",
     "feature_desc_showToastOnGenericError": "जब कोई त्रुटि होती है, तो एक सूचना दिखाएं?",
     "feature_helptext_showToastOnGenericError": "यदि स्क्रिप्ट में कोई त्रुटि होती है जो इसके कुछ हिस्से को सही से काम नहीं करने देती है, तो एक सूचना दिखाई जाएगी जो आपको इसके बारे में सूचित करेगी।\nयदि आप बार-बार किसी समस्या का सामना करते हैं, तो कृपया जावास्क्रिप्ट कंसोल से त्रुटि की प्रतिलिपि कॉपी करें (सामान्यतः F12 मेनू में) और कृपया गिटहब पर एक मुद्दा खोलें।",

+ 32 - 2
assets/translations/ja_JA.json

@@ -148,6 +148,7 @@
     "thumbnail_overlay_image_fit_crop": "切り取る",
     "thumbnail_overlay_image_fit_full": "フルイメージ",
     "thumbnail_overlay_image_fit_stretch": "ストレッチ",
+
     "auto_like_channels_dialog_title": "自動的に好きなチャンネル",
     "auto_like_channels_dialog_desc": "ここでは、自動的に好きなチャンネルを設定しているかどうかを確認し、編集、有効化、無効化、削除することができます。\n手動でエントリを作成することもできますが、チャンネルページを訪れてそこでボタンをクリックする方が簡単です。",
     "auto_like": "自動的に好き",
@@ -167,19 +168,24 @@
     "auto_like_export_import_title": "自動的に好きなチャンネルをエクスポートまたはインポート",
     "auto_like_export_desc": "次のテキストをコピーして自動的に好きなチャンネルをエクスポートします。",
     "auto_like_import_desc": "インポートする自動的に好きなチャンネルを以下のフィールドに貼り付け、インポートボタンをクリックしてください:",
+
     "prompt_confirm": "確認",
     "prompt_close": "閉じる",
     "prompt_cancel": "キャンセル",
+
     "click_to_confirm_tooltip": "クリックして確認",
     "click_to_close_tooltip": "クリックして閉じる",
     "click_to_cancel_tooltip": "クリックしてキャンセル",
+
     "vote_label_likes-1": "%1 いいね",
     "vote_label_likes-n": "%1 いいね",
     "vote_label_dislikes-1": "%1 嫌い",
     "vote_label_dislikes-n": "%1 嫌い",
+
     "vote_ratio_disabled": "無効",
     "vote_ratio_green_red": "緑と赤",
     "vote_ratio_blue_gray": "青と灰色",
+
     "votes_format_short": "短縮",
     "votes_format_long": "完全な数",
 
@@ -188,10 +194,29 @@
 
     "unit_days-1": "日",
     "unit_days-n": "日",
+
     "color_lightness_darker": "暗い",
     "color_lightness_normal": "通常",
     "color_lightness_lighter": "明るい",
 
+    "plugin_list_title": "プラグインリスト",
+    "plugin_list_no_plugins": "現在インストールされているプラグインはありません。",
+    "plugin_list_permissions_header": "権限:",
+
+    "plugin_link_type_source": "リポジトリ",
+    "plugin_link_type_other": "その他 / ホームページ",
+    "plugin_link_type_bug": "バグを報告",
+    "plugin_link_type_greasyfork": "GreasyFork",
+    "plugin_link_type_openuserjs": "OpenUserJS",
+    "plugin_intent_description_ReadFeatureConfig": "このプラグインは機能構成を読み取ることができます",
+    "plugin_intent_description_WriteFeatureConfig": "このプラグインは機能構成に書き込むことができます",
+    "plugin_intent_description_SeeHiddenConfigValues": "このプラグインは隠し構成値にアクセスできます",
+    "plugin_intent_description_WriteLyricsCache": "このプラグインは歌詞キャッシュに書き込むことができます",
+    "plugin_intent_description_WriteTranslations": "このプラグインは新しい翻訳を追加し、既存の翻訳を上書きできます",
+    "plugin_intent_description_CreateModalDialogs": "このプラグインはモーダルダイアログを作成できます",
+    "plugin_intent_description_ReadAutoLikeData": "このプラグインは自動的に好きなデータを読み取ることができます",
+    "plugin_intent_description_WriteAutoLikeData": "このプラグインは自動的に好きなデータに書き込むことができます",
+
     "plugin_validation_error_no_property": "タイプ '%2' のプロパティ '%1' がありません",
     "plugin_validation_error_invalid_property-1": "プロパティ '%1' の値 '%2' が無効です。例: %3",
     "plugin_validation_error_invalid_property-n": "プロパティ '%1' の値 '%2' が無効です。例: %3",
@@ -203,6 +228,7 @@
     "feature_category_input": "入力",
     "feature_category_lyrics": "歌詞",
     "feature_category_integrations": "統合",
+    "feature_category_plugins": "プラグイン",
     "feature_category_general": "一般的な",
 
     "feature_desc_watermarkEnabled": "この構成メニューを開くサイトロゴの下に透かしを表示する",
@@ -237,6 +263,7 @@
     "feature_desc_setInitialTabVolume": "サイトを開いたときに音量レベルを特定の値に設定する",
     "feature_warning_setInitialTabVolume_volumeSharedBetweenTabs_incompatible": "この機能は「タブ間で音量を共有する」機能と互換性がなく、共有音量機能を使用している間は無視されます!",
     "feature_desc_initialTabVolumeLevel": "サイトを開いたときに音量レベルを設定する値",
+  
     "feature_desc_lyricsQueueButton": "リスト内の各曲にボタンを追加して、歌詞ページを開く",
     "feature_desc_deleteFromQueueButton": "リスト内の各曲にボタンを追加して、すばやく削除する",
     "feature_desc_listButtonsPlacement": "リストボタンの配置場所",
@@ -300,6 +327,11 @@
     "feature_helptext_themeSongIntegration": "ThemeSong 拡張機能がインストールされている場合、この機能を有効にすると、サイトのスタイリングに問題が発生するのを防ぐためにいくつかの修正が行われます。\n\nこの機能は拡張機能がインストールされていない場合には効果がありませんので、その場合は有効にしたままにしておくことができます。",
     "feature_desc_themeSongLightness": "現在の ThemeSong テーマから派生したアクセントカラーの明るさ",
     "feature_helptext_themeSongLightness": "ThemeSong 拡張機能の設定に応じて、この機能を使用して、現在のテーマから派生したアクセントカラーの明るさを調整できます。\n\nThemeSong 拡張機能がインストールされていない場合、この機能は効果がありません。",
+    "feature_desc_openPluginList": "インストールされているプラグインのリストを開く",
+    "feature_btn_openPluginList": "リストを開く",
+    "feature_btn_openPluginList_running": "開いています...",
+    "feature_desc_initTimeout": "機能が初期化されるまでの待機時間(エラー状態と見なされる前に)",
+    "feature_helptext_initTimeout": "これは、機能が初期化されるまでの待機時間(秒単位)です。\nこれはスクリプトの動作に大きな影響を与えませんが、プラグインの初期化に時間がかかる場合は、この値を増やしてみてください。",
 
     "feature_desc_locale": "言語",
     "feature_desc_localeFallback": "翻訳が欠落している場合に英語をフォールバック言語として使用する(翻訳を提供している場合は無効にする)",
@@ -310,8 +342,6 @@
     "feature_btn_checkVersionNow_running": "チェック中...",
     "feature_desc_logLevel": "ログレベル",
     "feature_helptext_logLevel": "これを変更するのは、問題が発生した結果としてデバッグ目的でのみ必要です。\n問題が発生した場合にのみ、ここでログレベルを増やし、ブラウザの JavaScript コンソールを開いて(通常は Ctrl + Shift + K)そのログのスクリーンショットを GitHub の課題に添付してください。",
-    "feature_desc_initTimeout": "機能が初期化されるまでの待機時間(エラー状態と見なされる前に)",
-    "feature_helptext_initTimeout": "これは、機能が初期化されるまでの待機時間(秒単位)です。\nこれはスクリプトの動作に大きな影響を与えませんが、プラグインの初期化に時間がかかる場合は、この値を増やしてみてください。",
     "feature_desc_toastDuration": "カスタムトースト通知を表示する秒数 - 0 で完全に無効にする",
     "feature_desc_showToastOnGenericError": "一般的なエラーが発生したときに通知を表示する?",
     "feature_helptext_showToastOnGenericError": "スクリプトでエラーが発生し、それが一部の機能の正常な動作を妨げる場合、通知が表示され、そのことを通知します。\n問題が頻繁に発生する場合は、JavaScript コンソールからエラーをコピーして(通常は F12 メニューにあります)GitHub で問題を開いてください。",

+ 33 - 2
assets/translations/pt_BR.json

@@ -148,6 +148,7 @@
     "thumbnail_overlay_image_fit_crop": "Cortar se necessário",
     "thumbnail_overlay_image_fit_full": "Mostrar a imagem completa",
     "thumbnail_overlay_image_fit_stretch": "Esticar para ajustar",
+
     "auto_like_channels_dialog_title": "Canais auto-curtidos",
     "auto_like_channels_dialog_desc": "Aqui você pode ver quais canais você definiu para auto-curtir e pode editá-los, ativar, desativar e removê-los.\nVocê também pode criar manualmente entradas, embora seja mais fácil apenas visitar a página do canal e clicar no botão lá.",
     "auto_like": "Auto-curtir",
@@ -167,19 +168,24 @@
     "auto_like_export_import_title": "Exportar ou Importar Canais Auto-curtidos",
     "auto_like_export_desc": "Copie o texto a seguir para exportar seus canais auto-curtidos.",
     "auto_like_import_desc": "Cole os canais auto-curtidos que você deseja importar no campo abaixo e clique no botão de importação:",
+
     "prompt_confirm": "Confirmar",
     "prompt_close": "Fechar",
     "prompt_cancel": "Cancelar",
+
     "click_to_confirm_tooltip": "Clique para confirmar",
     "click_to_close_tooltip": "Clique para fechar",
     "click_to_cancel_tooltip": "Clique para cancelar",
+
     "vote_label_likes-1": "%1 curtida",
     "vote_label_likes-n": "%1 curtidas",
     "vote_label_dislikes-1": "%1 descurtida",
     "vote_label_dislikes-n": "%1 descurtidas",
+
     "vote_ratio_disabled": "Desativado",
     "vote_ratio_green_red": "Verde e vermelho",
     "vote_ratio_blue_gray": "Azul e cinza",
+
     "votes_format_short": "Abreviado",
     "votes_format_long": "Número completo",
 
@@ -188,10 +194,30 @@
 
     "unit_days-1": "dia",
     "unit_days-n": "dias",
+
     "color_lightness_darker": "Mais escuro",
     "color_lightness_normal": "Normal",
     "color_lightness_lighter": "Mais claro",
 
+    "plugin_list_title": "Lista de plugins",
+    "plugin_list_no_plugins": "Nenhum plugin está atualmente instalado.",
+    "plugin_list_permissions_header": "Permissões:",
+
+    "plugin_link_type_source": "Repositório",
+    "plugin_link_type_other": "Outro / Página inicial",
+    "plugin_link_type_bug": "Reportar um bug",
+    "plugin_link_type_greasyfork": "GreasyFork",
+    "plugin_link_type_openuserjs": "OpenUserJS",
+
+    "plugin_intent_description_ReadFeatureConfig": "Este plugin pode ler a configuração do recurso",
+    "plugin_intent_description_WriteFeatureConfig": "Este plugin pode escrever na configuração do recurso",
+    "plugin_intent_description_SeeHiddenConfigValues": "Este plugin tem acesso a valores de configuração ocultos",
+    "plugin_intent_description_WriteLyricsCache": "Este plugin pode escrever no cache de letras",
+    "plugin_intent_description_WriteTranslations": "Este plugin pode adicionar novas traduções e sobrescrever as existentes",
+    "plugin_intent_description_CreateModalDialogs": "Este plugin pode criar diálogos modais",
+    "plugin_intent_description_ReadAutoLikeData": "Este plugin pode ler dados de auto-curtir",
+    "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'",
     "plugin_validation_error_invalid_property-1": "Propriedade '%1' com valor '%2' é inválida. Valor de exemplo: %3",
     "plugin_validation_error_invalid_property-n": "Propriedade '%1' com valor '%2' é inválida. Valores de exemplo: %3",
@@ -203,6 +229,7 @@
     "feature_category_input": "Entrada",
     "feature_category_lyrics": "Letras",
     "feature_category_integrations": "Integrações",
+    "feature_category_plugins": "Plugins",
     "feature_category_general": "Geral",
 
     "feature_desc_watermarkEnabled": "Mostrar uma marca d'água sob o logotipo do site que abre este menu de configuração",
@@ -237,6 +264,7 @@
     "feature_desc_setInitialTabVolume": "Definir o nível de volume para um valor específico ao abrir o site",
     "feature_warning_setInitialTabVolume_volumeSharedBetweenTabs_incompatible": "Este recurso é incompatível com o recurso \"Volume compartilhado entre guias\" e será ignorado ao usar o recurso de volume compartilhado!",
     "feature_desc_initialTabVolumeLevel": "O valor para definir o nível de volume ao abrir o site",
+  
     "feature_desc_lyricsQueueButton": "Adicionar um botão a cada música em uma lista para abrir sua página de letras",
     "feature_desc_deleteFromQueueButton": "Adicionar um botão a cada música em uma lista para removê-la rapidamente",
     "feature_desc_listButtonsPlacement": "Onde os botões da lista devem aparecer?",
@@ -300,6 +328,11 @@
     "feature_helptext_themeSongIntegration": "Se a extensão ThemeSong estiver instalada, este recurso fará algumas correções no layout do site para evitar problemas que possam ocorrer.\n\nEste recurso não terá efeito se a extensão não estiver instalada e pode ser deixado ativado nesse caso.",
     "feature_desc_themeSongLightness": "Quão claro os acentos derivados do tema atual do ThemeSong devem ser",
     "feature_helptext_themeSongLightness": "Dependendo das configurações que você escolheu para a extensão ThemeSong, este recurso permite ajustar a claridade das cores de destaque que são derivadas do tema atual.\n\nEste recurso não terá efeito se a extensão ThemeSong não estiver instalada.",
+    "feature_desc_openPluginList": "Abrir a lista de plugins que você instalou",
+    "feature_btn_openPluginList": "Abrir lista",
+    "feature_btn_openPluginList_running": "Abrindo...",
+    "feature_desc_initTimeout": "Quantos segundos esperar para que os recursos se inicializem antes de considerá-los provavelmente em um estado de erro",
+    "feature_helptext_initTimeout": "Este é o tempo em segundos que o script esperará para que os recursos se inicializem antes de considerá-los provavelmente em um estado de erro.\nIsso não afetará significativamente o comportamento do script, mas se um de seus plugins não puder se inicializar a tempo, você deve tentar aumentar esse valor.",
 
     "feature_desc_locale": "Idioma",
     "feature_desc_localeFallback": "Utilizar o inglês para traduções em falta (desativar se contribuir para traduções)",
@@ -310,8 +343,6 @@
     "feature_btn_checkVersionNow_running": "Verificando...",
     "feature_desc_logLevel": "Quanta informação registrar no console",
     "feature_helptext_logLevel": "Alterar isso é realmente necessário apenas para fins de depuração como resultado de experimentar um problema.\nSe você tiver um, você pode aumentar o nível de log aqui, abrir o console JavaScript do seu navegador (geralmente com Ctrl + Shift + K) e anexar capturas de tela desse log em um problema do GitHub.",
-    "feature_desc_initTimeout": "Quantos segundos esperar para que os recursos se inicializem antes de considerá-los provavelmente em um estado de erro",
-    "feature_helptext_initTimeout": "Este é o tempo em segundos que o script esperará para que os recursos se inicializem antes de considerá-los provavelmente em um estado de erro.\nIsso não afetará significativamente o comportamento do script, mas se um de seus plugins não puder se inicializar a tempo, você deve tentar aumentar esse valor.",
     "feature_desc_toastDuration": "Por quantos segundos as notificações personalizadas devem ser exibidas - 0 para desativá-las completamente",
     "feature_desc_showToastOnGenericError": "Mostrar uma notificação quando ocorrer um erro genérico?",
     "feature_helptext_showToastOnGenericError": "Se ocorrer um erro no script que impeça partes dele de funcionar corretamente, uma notificação será exibida para informá-lo sobre isso.\nSe você encontrar um problema com frequência, copie o erro do console JavaScript (geralmente no menu F12) e abra um problema no GitHub.",

+ 27 - 2
assets/translations/zh_CN.json

@@ -148,6 +148,7 @@
     "thumbnail_overlay_image_fit_crop": "裁剪",
     "thumbnail_overlay_image_fit_full": "显示完整图像",
     "thumbnail_overlay_image_fit_stretch": "拉伸以适应",
+
     "auto_like_channels_dialog_title": "自动喜欢的频道",
     "auto_like_channels_dialog_desc": "在这里,您可以查看您设置为自动喜欢的频道,并对其进行编辑、启用、禁用和删除。\n您还可以手动创建条目,尽管最好的方法是访问频道页面并在那里单击按钮。",
     "auto_like": "自动喜欢",
@@ -198,6 +199,25 @@
     "color_lightness_normal": "正常",
     "color_lightness_lighter": "更亮",
 
+    "plugin_list_title": "插件列表",
+    "plugin_list_no_plugins": "当前未安装任何插件。",
+    "plugin_list_permissions_header": "权限:",
+
+    "plugin_link_type_source": "存储库",
+    "plugin_link_type_other": "其他 / 主页",
+    "plugin_link_type_bug": "报告错误",
+    "plugin_link_type_greasyfork": "GreasyFork",
+    "plugin_link_type_openuserjs": "OpenUserJS",
+
+    "plugin_intent_description_ReadFeatureConfig": "此插件可以读取功能配置",
+    "plugin_intent_description_WriteFeatureConfig": "此插件可以写入功能配置",
+    "plugin_intent_description_SeeHiddenConfigValues": "此插件可以访问隐藏的配置值",
+    "plugin_intent_description_WriteLyricsCache": "此插件可以写入歌词缓存",
+    "plugin_intent_description_WriteTranslations": "此插件可以添加新的翻译并覆盖现有的翻译",
+    "plugin_intent_description_CreateModalDialogs": "此插件可以创建模态对话框",
+    "plugin_intent_description_ReadAutoLikeData": "此插件可以读取自动喜欢的数据",
+    "plugin_intent_description_WriteAutoLikeData": "此插件可以写入自动喜欢的数据",
+
     "plugin_validation_error_no_property": "没有类型为 '%2' 的属性 '%1'",
     "plugin_validation_error_invalid_property-1": "属性 '%1' 的值 '%2' 无效。示例值:%3",
     "plugin_validation_error_invalid_property-n": "属性 '%1' 的值 '%2' 无效。示例值:%3",
@@ -209,6 +229,7 @@
     "feature_category_input": "输入",
     "feature_category_lyrics": "歌词",
     "feature_category_integrations": "集成",
+    "feature_category_plugins": "插件",
     "feature_category_general": "一般的",
 
     "feature_desc_watermarkEnabled": "在网站标志下方显示一个水印,以打开此配置菜单",
@@ -243,6 +264,7 @@
     "feature_desc_setInitialTabVolume": "打开网站时将音量级别设置为特定值",
     "feature_warning_setInitialTabVolume_volumeSharedBetweenTabs_incompatible": "此功能与 \"音量级别在标签页之间共享\" 功能不兼容,将在使用共享音量功能时被忽略!",
     "feature_desc_initialTabVolumeLevel": "打开网站时将音量级别设置为的值",
+  
     "feature_desc_lyricsQueueButton": "在每首歌曲的列表中添加一个按钮,以打开其歌词页面",
     "feature_desc_deleteFromQueueButton": "在每首歌曲的列表中添加一个按钮,以快速删除它",
     "feature_desc_listButtonsPlacement": "列表按钮应该显示在哪里?",
@@ -306,6 +328,11 @@
     "feature_helptext_themeSongIntegration": "如果安装了 ThemeSong 扩展但此功能已关闭(反之亦然),您可能会注意到网站上的样式损坏。\n\n请始终确保此功能反映了扩展程序是否已安装!",
     "feature_desc_themeSongLightness": "从当前 ThemeSong 主题派生的强调颜色应该有多亮",
     "feature_helptext_themeSongLightness": "根据您为 ThemeSong 扩展选择的设置,此功能允许您调整从当前主题派生的强调颜色的亮度。\n\n如果未安装 ThemeSong 扩展,此功能将不起作用。",
+    "feature_desc_openPluginList": "打开您安装的插件列表",
+    "feature_btn_openPluginList": "打开列表",
+    "feature_btn_openPluginList_running": "正在打开...",
+    "feature_desc_initTimeout": "在考虑它们可能处于错误状态之前等待功能初始化的时间",
+    "feature_helptext_initTimeout": "这是脚本等待功能初始化的时间,以考虑它们可能处于错误状态。\n这不会对脚本的行为产生重大影响,但如果您的插件之一无法及时初始化,您应该尝试增加此值。",
 
     "feature_desc_locale": "语言",
     "feature_desc_localeFallback": "如果找不到翻译,请使用英语(如果您提供翻译,请禁用)。",
@@ -316,8 +343,6 @@
     "feature_btn_checkVersionNow_running": "正在检查...",
     "feature_desc_logLevel": "更改扩展程序的日志级别",
     "feature_helptext_logLevel": "更改这个只是为了调试目的,因为遇到了问题。\n如果您有一个,您可以在这里增加日志级别,打开您的浏览器的 JavaScript 控制台(通常是 Ctrl + Shift + K)并在 GitHub 问题中附上那个日志的截图。",
-    "feature_desc_initTimeout": "在考虑它们可能处于错误状态之前等待功能初始化的时间",
-    "feature_helptext_initTimeout": "这是脚本等待功能初始化的时间,以考虑它们可能处于错误状态。\n这不会对脚本的行为产生重大影响,但如果您的插件之一无法及时初始化,您应该尝试增加此值。",
     "feature_desc_toastDuration": "自定义提示通知应显示多少秒 - 0 以完全禁用它们",
     "feature_desc_showToastOnGenericError": "当发生错误时显示通知?",
     "feature_helptext_showToastOnGenericError": "如果脚本中发生错误,阻止其部分工作的通知将显示给您。\n如果您经常遇到问题,请从 JavaScript 控制台(通常在 F12 菜单中)复制错误,并在 GitHub 上打开一个问题。",