Browse Source

fix: shorter translations for reload hint

Sv443 11 months ago
parent
commit
8d917d3b1c

+ 10 - 22
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) | 213 (default locale) |  |
-| ⚠ | [`de_DE`](./de_DE.json) | `207/213` (97.2%) | ─ |
-| ─ | [`en_UK`](./en_UK.json) | `213/213` (100%) | `en_US` |
-| ✅ | [`es_ES`](./es_ES.json) | `213/213` (100%) | ─ |
-| ✅ | [`fr_FR`](./fr_FR.json) | `213/213` (100%) | ─ |
-| ✅ | [`hi_IN`](./hi_IN.json) | `213/213` (100%) | ─ |
-| ✅ | [`ja_JA`](./ja_JA.json) | `213/213` (100%) | ─ |
-| ✅ | [`pt_BR`](./pt_BR.json) | `213/213` (100%) | ─ |
-| ✅ | [`zh_CN`](./zh_CN.json) | `213/213` (100%) | ─ |
+| ─ | [`en_US`](./en_US.json) | 214 (default locale) |  |
+| ✅ | [`de_DE`](./de_DE.json) | `214/214` (100%) | ─ |
+| ─ | [`en_UK`](./en_UK.json) | `214/214` (100%) | `en_US` |
+| ✅ | [`es_ES`](./es_ES.json) | `214/214` (100%) | ─ |
+| ✅ | [`fr_FR`](./fr_FR.json) | `214/214` (100%) | ─ |
+| ✅ | [`hi_IN`](./hi_IN.json) | `214/214` (100%) | ─ |
+| ✅ | [`ja_JA`](./ja_JA.json) | `214/214` (100%) | ─ |
+| ✅ | [`pt_BR`](./pt_BR.json) | `214/214` (100%) | ─ |
+| ✅ | [`zh_CN`](./zh_CN.json) | `214/214` (100%) | ─ |
 
 <sub>
 ✅ - Fully translated
@@ -44,16 +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> - 6 missing keys <i>(click to show)</i></summary><br>
-
-| Key | English text |
-| --- | ------------ |
-| `config_menu_option` | `%1 Configuration` |
-| `config_menu_title` | `%1 - Configuration` |
-| `changelog_menu_title` | `%1 - Changelog` |
-| `export_menu_title` | `%1 - Export Configuration` |
-| `import_menu_title` | `%1 - Import Configuration` |
-| `open_menu_tooltip` | `Open %1's configuration menu` |
-
-<br></details>
+No missing keys

+ 1 - 1
assets/translations/de_DE.json

@@ -7,7 +7,7 @@
     "import_menu_title": "%1 - Einstellungen importieren",
     "open_menu_tooltip": "%1's Einstellungen öffnen",
     "close_menu_tooltip": "Klicke um das Menü zu schließen",
-    "reload_hint": "Deine Änderungen wurden gespeichert, aber du musst die Seite neu laden, um sie anzuwenden",
+    "reload_hint": "Bitte lade die Seite neu, um die Änderungen anzuwenden",
     "reload_now": "Jetzt neu laden",
     "reload_tooltip": "Seite neu laden",
     "feature_requires_reload": "Die Seite muss neu geladen werden, wenn diese Funktion geändert wird",

+ 1 - 1
assets/translations/en_US.json

@@ -7,7 +7,7 @@
     "import_menu_title": "%1 - Import Configuration",
     "open_menu_tooltip": "Open %1's configuration menu",
     "close_menu_tooltip": "Click to close the menu",
-    "reload_hint": "Your changes were saved, but you need to reload the page to apply them",
+    "reload_hint": "Please reload the page to apply your changes",
     "reload_now": "Reload now",
     "reload_tooltip": "Reload the page",
     "feature_requires_reload": "Changing this feature requires a page reload",

+ 1 - 1
assets/translations/es_ES.json

@@ -7,7 +7,7 @@
     "import_menu_title": "%1 - Importar configuración",
     "open_menu_tooltip": "Abra el menú de configuración de %1",
     "close_menu_tooltip": "Haga clic para cerrar el menú",
-    "reload_hint": "Tus cambios se guardaron, pero necesitas recargar la página para aplicarlos.",
+    "reload_hint": "Recargue la página para aplicar los cambios",
     "reload_now": "Recargar ahora",
     "reload_tooltip": "Recargar la página",
     "feature_requires_reload": "Cambiar esta función requiere una recarga de la página",

+ 1 - 1
assets/translations/fr_FR.json

@@ -7,7 +7,7 @@
     "import_menu_title": "%1 - Importer la configuration",
     "open_menu_tooltip": "Ouvrir le menu de configuration de %1",
     "close_menu_tooltip": "Cliquez pour fermer le menu",
-    "reload_hint": "Vos modifications ont été enregistrées, mais vous devez recharger la page pour les appliquer",
+    "reload_hint": "Veuillez recharger la page pour appliquer vos modifications",
     "reload_now": "Recharger maintenant",
     "reload_tooltip": "Recharger la page",
     "feature_requires_reload": "Cette fonctionnalité nécessite un rechargement de la page",

+ 1 - 1
assets/translations/hi_IN.json

@@ -7,7 +7,7 @@
     "import_menu_title": "%1 - आयात कॉन्फ़िगरेशन",
     "open_menu_tooltip": "%1 का कॉन्फ़िगरेशन मेनू खोलें",
     "close_menu_tooltip": "मेनू बंद करने के लिए क्लिक करें",
-    "reload_hint": "आपके परिवर्तन सहेजे गए हैं, लेकिन आपको उन्हें लागू करने के लिए पृष्ठ को पुनः लोड करना होगा",
+    "reload_hint": "कृपया अपने परिवर्तन लागू करने के लिए पृष्ठ को पुनः लोड करें",
     "reload_now": "अब पुनः लोड करें",
     "reload_tooltip": "पृष्ठ को पुनः लोड करें",
     "feature_requires_reload": "इस सुविधा को लागू करने के लिए पृष्ठ को पुनः लोड करना होगा",

+ 1 - 1
assets/translations/ja_JA.json

@@ -7,7 +7,7 @@
     "import_menu_title": "%1 - 構成をインポート",
     "open_menu_tooltip": "%1 の構成メニューを開く",
     "close_menu_tooltip": "クリックしてメニューを閉じる",
-    "reload_hint": "変更は保存されましたが、適用するにはページを再読み込みする必要があります",
+    "reload_hint": "変更を適用するには、ページをリロードしてください。",
     "reload_now": "今すぐ再読み込み",
     "reload_tooltip": "ページを再読み込みする",
     "feature_requires_reload": "この機能を変更するにはページを再読み込みする必要があります",

+ 1 - 1
assets/translations/pt_BR.json

@@ -7,7 +7,7 @@
     "import_menu_title": "%1 - Importar configuração",
     "open_menu_tooltip": "Abra o menu de configuração do %1",
     "close_menu_tooltip": "Clique para fechar o menu",
-    "reload_hint": "Suas alterações foram salvas, mas você precisa recarregar a página para aplicá-las",
+    "reload_hint": "Por favor, recarregue a página para aplicar suas alterações",
     "reload_now": "Recarregar agora",
     "reload_tooltip": "Recarregue a página",
     "feature_requires_reload": "Alterar este recurso requer uma recarga da página",

+ 1 - 1
assets/translations/zh_CN.json

@@ -7,7 +7,7 @@
     "import_menu_title": "%1 - 导入配置",
     "open_menu_tooltip": "打开 %1 的配置菜单",
     "close_menu_tooltip": "点击关闭菜单",
-    "reload_hint": "您的更改已保存,但您需要重新加载页面才能应用它们",
+    "reload_hint": "请重新加载页面以应用更改",
     "reload_now": "立即重新加载",
     "reload_tooltip": "重新加载页面",
     "feature_requires_reload": "更改此功能需要重新加载页面",

+ 53 - 43
dist/BetterYTM.user.js

@@ -17,7 +17,7 @@
 // @license           AGPL-3.0-or-later
 // @author            Sv443
 // @copyright         Sv443 (https://github.com/Sv443)
-// @icon              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/logo/logo_48.png?b=27f5f24
+// @icon              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/logo/logo_48.png?b=d9fc908
 // @match             https://music.youtube.com/*
 // @match             https://www.youtube.com/*
 // @run-at            document-start
@@ -35,43 +35,43 @@
 // @grant             GM.openInTab
 // @grant             unsafeWindow
 // @noframes
-// @resource          css-bundle              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/dist/BetterYTM.css?b=27f5f24
-// @resource          css-above_queue_btns    https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/style/aboveQueueBtns.css?b=27f5f24
-// @resource          css-anchor_improvements https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/style/anchorImprovements.css?b=27f5f24
-// @resource          css-fix_hdr             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/style/fixHDR.css?b=27f5f24
-// @resource          css-fix_spacing         https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/style/fixSpacing.css?b=27f5f24
-// @resource          doc-changelog           https://raw.githubusercontent.com/Sv443/BetterYTM/develop/changelog.md?b=27f5f24
-// @resource          icon-advanced_mode      https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/plus_circle_small.svg?b=27f5f24
-// @resource          icon-arrow_down         https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/arrow_down.svg?b=27f5f24
-// @resource          icon-clear_list         https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/clear_list.svg?b=27f5f24
-// @resource          icon-delete             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/delete.svg?b=27f5f24
-// @resource          icon-error              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/error.svg?b=27f5f24
-// @resource          icon-experimental       https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/beaker_small.svg?b=27f5f24
-// @resource          icon-globe              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/globe.svg?b=27f5f24
-// @resource          icon-globe_small        https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/globe_small.svg?b=27f5f24
-// @resource          icon-help               https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/help.svg?b=27f5f24
-// @resource          icon-image_filled       https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/image_filled.svg?b=27f5f24
-// @resource          icon-image              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/image.svg?b=27f5f24
-// @resource          icon-link               https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/link.svg?b=27f5f24
-// @resource          icon-lyrics             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/lyrics.svg?b=27f5f24
-// @resource          icon-reload             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/refresh.svg?b=27f5f24
-// @resource          icon-skip_to            https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/skip_to.svg?b=27f5f24
-// @resource          icon-spinner            https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/spinner.svg?b=27f5f24
-// @resource          img-logo                https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/logo/logo_48.png?b=27f5f24
-// @resource          img-close               https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/close.png?b=27f5f24
-// @resource          img-discord             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/external/discord.png?b=27f5f24
-// @resource          img-github              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/external/github.png?b=27f5f24
-// @resource          img-greasyfork          https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/external/greasyfork.png?b=27f5f24
-// @resource          img-openuserjs          https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/external/openuserjs.png?b=27f5f24
-// @resource          trans-de_DE             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/de_DE.json?b=27f5f24
-// @resource          trans-en_US             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/en_US.json?b=27f5f24
-// @resource          trans-en_UK             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/en_UK.json?b=27f5f24
-// @resource          trans-es_ES             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/es_ES.json?b=27f5f24
-// @resource          trans-fr_FR             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/fr_FR.json?b=27f5f24
-// @resource          trans-hi_IN             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/hi_IN.json?b=27f5f24
-// @resource          trans-ja_JA             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/ja_JA.json?b=27f5f24
-// @resource          trans-pt_BR             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/pt_BR.json?b=27f5f24
-// @resource          trans-zh_CN             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/zh_CN.json?b=27f5f24
+// @resource          css-bundle              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/dist/BetterYTM.css?b=d9fc908
+// @resource          css-above_queue_btns    https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/style/aboveQueueBtns.css?b=d9fc908
+// @resource          css-anchor_improvements https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/style/anchorImprovements.css?b=d9fc908
+// @resource          css-fix_hdr             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/style/fixHDR.css?b=d9fc908
+// @resource          css-fix_spacing         https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/style/fixSpacing.css?b=d9fc908
+// @resource          doc-changelog           https://raw.githubusercontent.com/Sv443/BetterYTM/develop/changelog.md?b=d9fc908
+// @resource          icon-advanced_mode      https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/plus_circle_small.svg?b=d9fc908
+// @resource          icon-arrow_down         https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/arrow_down.svg?b=d9fc908
+// @resource          icon-clear_list         https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/clear_list.svg?b=d9fc908
+// @resource          icon-delete             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/delete.svg?b=d9fc908
+// @resource          icon-error              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/error.svg?b=d9fc908
+// @resource          icon-experimental       https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/beaker_small.svg?b=d9fc908
+// @resource          icon-globe              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/globe.svg?b=d9fc908
+// @resource          icon-globe_small        https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/globe_small.svg?b=d9fc908
+// @resource          icon-help               https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/help.svg?b=d9fc908
+// @resource          icon-image_filled       https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/image_filled.svg?b=d9fc908
+// @resource          icon-image              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/image.svg?b=d9fc908
+// @resource          icon-link               https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/link.svg?b=d9fc908
+// @resource          icon-lyrics             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/lyrics.svg?b=d9fc908
+// @resource          icon-reload             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/refresh.svg?b=d9fc908
+// @resource          icon-skip_to            https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/skip_to.svg?b=d9fc908
+// @resource          icon-spinner            https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/icons/spinner.svg?b=d9fc908
+// @resource          img-logo                https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/logo/logo_48.png?b=d9fc908
+// @resource          img-close               https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/close.png?b=d9fc908
+// @resource          img-discord             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/external/discord.png?b=d9fc908
+// @resource          img-github              https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/external/github.png?b=d9fc908
+// @resource          img-greasyfork          https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/external/greasyfork.png?b=d9fc908
+// @resource          img-openuserjs          https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/images/external/openuserjs.png?b=d9fc908
+// @resource          trans-de_DE             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/de_DE.json?b=d9fc908
+// @resource          trans-en_US             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/en_US.json?b=d9fc908
+// @resource          trans-en_UK             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/en_UK.json?b=d9fc908
+// @resource          trans-es_ES             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/es_ES.json?b=d9fc908
+// @resource          trans-fr_FR             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/fr_FR.json?b=d9fc908
+// @resource          trans-hi_IN             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/hi_IN.json?b=d9fc908
+// @resource          trans-ja_JA             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/ja_JA.json?b=d9fc908
+// @resource          trans-pt_BR             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/pt_BR.json?b=d9fc908
+// @resource          trans-zh_CN             https://raw.githubusercontent.com/Sv443/BetterYTM/develop/assets/translations/zh_CN.json?b=d9fc908
 // @require           https://cdn.jsdelivr.net/npm/@sv443-network/[email protected]/dist/index.global.js
 // @require           https://cdn.jsdelivr.net/npm/[email protected]/dist/fuse.basic.js
 // @require           https://cdn.jsdelivr.net/npm/[email protected]/lib/marked.umd.js
@@ -199,7 +199,7 @@ var PluginIntent;
 })(PluginIntent || (PluginIntent = {}));const modeRaw = "development";
 const branchRaw = "develop";
 const hostRaw = "github";
-const buildNumberRaw = "27f5f24";
+const buildNumberRaw = "d9fc908";
 /** The mode in which the script was built (production or development) */
 const mode = (modeRaw.match(/^#{{.+}}$/) ? "production" : modeRaw);
 /** The branch to use in various URLs that point to the GitHub repo */
@@ -421,7 +421,7 @@ class NanoEmitter {
         this.eventUnsubscribes = [];
     }
 }const fetchOpts = {
-    timeout: 10000,
+    timeout: 6000,
 };
 /** Contains all translation keys of all initialized and loaded translations */
 const allTrKeys = new Map();
@@ -437,10 +437,13 @@ function initTranslations(locale) {
         try {
             const transUrl = yield getResourceUrl(`trans-${locale}`);
             const transFile = yield (yield UserUtils.fetchAdvanced(transUrl, fetchOpts)).json();
+            let fallbackTrans = {};
+            if (getFeature("localeFallback"))
+                fallbackTrans = (yield (yield UserUtils.fetchAdvanced(yield getResourceUrl("trans-en_US"), fetchOpts)).json()).translations;
             // merge with base translations if specified
             const baseTransUrl = transFile.base ? yield getResourceUrl(`trans-${transFile.base}`) : undefined;
             const baseTransFile = baseTransUrl ? yield (yield UserUtils.fetchAdvanced(baseTransUrl, fetchOpts)).json() : undefined;
-            const translations = Object.assign(Object.assign({}, ((_a = baseTransFile === null || baseTransFile === void 0 ? void 0 : baseTransFile.translations) !== null && _a !== void 0 ? _a : {})), transFile.translations);
+            const translations = Object.assign(Object.assign(Object.assign({}, fallbackTrans), ((_a = baseTransFile === null || baseTransFile === void 0 ? void 0 : baseTransFile.translations) !== null && _a !== void 0 ? _a : {})), transFile.translations);
             UserUtils.tr.addLanguage(locale, translations);
             allTrKeys.set(locale, new Set(Object.keys(translations)));
             info(`Loaded translations for locale '${locale}'`);
@@ -1468,7 +1471,7 @@ var scripts = {
 	knip: "knip"
 };
 var engines = {
-	node: ">=18<22",
+	node: ">=18 <22",
 	npm: ">=8"
 };
 var repository = {
@@ -4865,6 +4868,13 @@ const featInfo = {
         default: getPreferredLocale(),
         textAdornment: () => combineAdornments([adornments.globe, adornments.reloadRequired]),
     },
+    localeFallback: {
+        type: "toggle",
+        category: "general",
+        default: true,
+        advanced: true,
+        textAdornment: () => combineAdornments([adornments.advanced, adornments.reloadRequired]),
+    },
     versionCheck: {
         type: "toggle",
         category: "general",
@@ -4927,7 +4937,7 @@ const migrations = {
     },
     // 4 -> 5 (v2.0)
     5: (oldData) => useDefaultConfig(oldData, [
-        "geniUrlBase", "geniUrlToken",
+        "localeFallback", "geniUrlBase", "geniUrlToken",
         "lyricsCacheMaxSize", "lyricsCacheTTL",
         "clearLyricsCache", "advancedMode",
         "checkVersionNow", "advancedLyricsFilter",