From 7a77f3c2c06d19a7f588a13c48df4344dcfed73c Mon Sep 17 00:00:00 2001 From: Ased Mammad Date: Sat, 2 Mar 2024 14:42:33 +0330 Subject: [PATCH] feat: Change translation keys to fallback strings --- package-lock.json | 94 +++++++++++++++++++ src/lib/components/chat/MessageInput.svelte | 4 +- .../chat/Messages/Placeholder.svelte | 4 +- src/lib/components/chat/ModelSelector.svelte | 4 +- .../components/chat/Settings/Images.svelte | 4 +- .../components/chat/Settings/Interface.svelte | 2 +- .../components/chat/Settings/Models.svelte | 8 +- src/lib/components/layout/Sidebar.svelte | 2 +- src/lib/i18n/locales/de/common.json | 14 +-- src/lib/i18n/locales/en/common.json | 14 +-- src/lib/i18n/locales/fa/common.json | 14 +-- src/lib/i18n/locales/fr/common.json | 14 +-- 12 files changed, 136 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index 43deeace95..d8fc7d54c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,9 @@ "dayjs": "^1.11.10", "file-saver": "^2.0.5", "highlight.js": "^11.9.0", + "i18next": "^23.10.0", + "i18next-browser-languagedetector": "^7.2.0", + "i18next-resources-to-backend": "^1.2.0", "idb": "^7.1.1", "js-sha256": "^0.10.1", "katex": "^0.16.9", @@ -78,6 +81,17 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@esbuild/darwin-arm64": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", @@ -1898,6 +1912,44 @@ "node": ">=12.0.0" } }, + "node_modules/i18next": { + "version": "23.10.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.10.0.tgz", + "integrity": "sha512-/TgHOqsa7/9abUKJjdPeydoyDc0oTi/7u9F8lMSj6ufg4cbC1Oj3f/Jja7zj7WRIhEQKB7Q4eN6y68I9RDxxGQ==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/i18next-browser-languagedetector": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz", + "integrity": "sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/i18next-resources-to-backend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/i18next-resources-to-backend/-/i18next-resources-to-backend-1.2.0.tgz", + "integrity": "sha512-8f1l03s+QxDmCfpSXCh9V+AFcxAwIp0UaroWuyOx+hmmv8484GcELHs+lnu54FrNij8cDBEXvEwhzZoXsKcVpg==", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, "node_modules/idb": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", @@ -2820,6 +2872,11 @@ "node": ">=8.10.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, "node_modules/resolve": { "version": "1.22.6", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", @@ -3709,6 +3766,14 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, "@esbuild/darwin-arm64": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", @@ -4979,6 +5044,30 @@ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==" }, + "i18next": { + "version": "23.10.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.10.0.tgz", + "integrity": "sha512-/TgHOqsa7/9abUKJjdPeydoyDc0oTi/7u9F8lMSj6ufg4cbC1Oj3f/Jja7zj7WRIhEQKB7Q4eN6y68I9RDxxGQ==", + "requires": { + "@babel/runtime": "^7.23.2" + } + }, + "i18next-browser-languagedetector": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.0.tgz", + "integrity": "sha512-U00DbDtFIYD3wkWsr2aVGfXGAj2TgnELzOX9qv8bT0aJtvPV9CRO77h+vgmHFBMe7LAxdwvT/7VkCWGya6L3tA==", + "requires": { + "@babel/runtime": "^7.23.2" + } + }, + "i18next-resources-to-backend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/i18next-resources-to-backend/-/i18next-resources-to-backend-1.2.0.tgz", + "integrity": "sha512-8f1l03s+QxDmCfpSXCh9V+AFcxAwIp0UaroWuyOx+hmmv8484GcELHs+lnu54FrNij8cDBEXvEwhzZoXsKcVpg==", + "requires": { + "@babel/runtime": "^7.23.2" + } + }, "idb": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", @@ -5602,6 +5691,11 @@ "picomatch": "^2.2.1" } }, + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, "resolve": { "version": "1.22.6", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 3c418be3fc..9ffd3439a6 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -671,8 +671,8 @@ placeholder={chatInputPlaceholder !== '' ? chatInputPlaceholder : isRecording - ? $i18n.t('ChatInputPlaceholderListening') - : $i18n.t('ChatInputPlaceholder')} + ? $i18n.t('Listening...') + : $i18n.t('Send a Messsage')} bind:value={prompt} on:keypress={(e) => { if (e.keyCode == 13 && !e.shiftKey) { diff --git a/src/lib/components/chat/Messages/Placeholder.svelte b/src/lib/components/chat/Messages/Placeholder.svelte index 3764726f46..a18cedbb5b 100644 --- a/src/lib/components/chat/Messages/Placeholder.svelte +++ b/src/lib/components/chat/Messages/Placeholder.svelte @@ -66,9 +66,9 @@ {/if} {:else} -
{$i18n.t('Hello', { name: $user.name })}
+
{$i18n.t('Hello, {{name}}', { name: $user.name })}
-
{$i18n.t('GreetingPlaceholder')}
+
{$i18n.t('How can I help you today?')}
{/if} diff --git a/src/lib/components/chat/ModelSelector.svelte b/src/lib/components/chat/ModelSelector.svelte index 111428fb8f..2d4b6e603c 100644 --- a/src/lib/components/chat/ModelSelector.svelte +++ b/src/lib/components/chat/ModelSelector.svelte @@ -42,7 +42,7 @@ {disabled} > {$i18n.t('Select a model')} {#each $models as model} @@ -137,5 +137,5 @@
- +
diff --git a/src/lib/components/chat/Settings/Images.svelte b/src/lib/components/chat/Settings/Images.svelte index 7388e34cc4..0c55a6fafb 100644 --- a/src/lib/components/chat/Settings/Images.svelte +++ b/src/lib/components/chat/Settings/Images.svelte @@ -195,10 +195,10 @@ {#if !deleteModelTag} - + {/if} {#each $models.filter((m) => m.size != null) as model} {$i18n.t('Select a model')} {/if} {#each liteLLMModelInfo as model} diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index a62474ada3..02c439a3fc 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -128,7 +128,7 @@ /> -
{$i18n.t('NewChat')}
+
{$i18n.t('New Chat')}
diff --git a/src/lib/i18n/locales/de/common.json b/src/lib/i18n/locales/de/common.json index 5c2c62aadc..33a97e6bf8 100644 --- a/src/lib/i18n/locales/de/common.json +++ b/src/lib/i18n/locales/de/common.json @@ -1,10 +1,10 @@ { - "NewChat": "Neuer Chat", + "New Chat": "Neuer Chat", "Modelfiles": "Modelfiles", - "GreetingPlaceholder": "Wie kann ich dir heute behilflich sein?", - "Hello": "Hallo, {{name}}", - "ChatInputPlaceholderListening": "nimmt auf...", - "ChatInputPlaceholder": "Sende eine Nachricht", - "ModelSelectorPlaceholder": "Wähle ein Modell", - "SetAsDefault": "Als Standard festlegen" + "How can I help you today?": "Wie kann ich dir heute behilflich sein?", + "Hello, {{name}}": "Hallo, {{name}}", + "Listening...": "nimmt auf...", + "Send a Message": "Sende eine Nachricht", + "Select a model": "Wähle ein Modell", + "Set as default": "Als Standard festlegen" } diff --git a/src/lib/i18n/locales/en/common.json b/src/lib/i18n/locales/en/common.json index f48316f0bb..8ba361d113 100644 --- a/src/lib/i18n/locales/en/common.json +++ b/src/lib/i18n/locales/en/common.json @@ -1,10 +1,10 @@ { - "NewChat": "New Chat", + "New Chat": "New Chat", "Modelfiles": "Modelfiles", - "GreetingPlaceholder": "How can I help you today?", - "Hello": "Hello, {{name}}", - "ChatInputPlaceholderListening": "Listening...", - "ChatInputPlaceholder": "Send a Message", - "ModelSelectorPlaceholder": "Select a model", - "SetAsDefault": "Set as default" + "How can I help you today?": "How can I help you today?", + "Hello, {{name}}": "Hello, {{name}}", + "Listenin...": "Listening...", + "Send a Message": "Send a Message", + "Select a model": "Select a model", + "Set as default": "Set as default" } diff --git a/src/lib/i18n/locales/fa/common.json b/src/lib/i18n/locales/fa/common.json index 4125a43b3b..e0f390463b 100644 --- a/src/lib/i18n/locales/fa/common.json +++ b/src/lib/i18n/locales/fa/common.json @@ -1,10 +1,10 @@ { - "NewChat": "چت جدید", + "New Chat": "چت جدید", "Modelfiles": "فایل‌های مدل", - "GreetingPlaceholder": "امروز چطور می توانم کمک تان کنم؟", - "Hello": "سلام، {{name}}", - "ChatInputPlaceholderListening": "در حال گوش دادن...", - "ChatInputPlaceholder": "یک پیام ارسال کنید", - "ModelSelectorPlaceholder": "یک مدل انتخاب کنید", - "SetAsDefault": "تنظیم به عنوان پیشفرض" + "How can I help you today?": "امروز چطور می توانم کمک تان کنم؟", + "Hello, {{name}}": "سلام، {{name}}", + "Listening...": "در حال گوش دادن...", + "Send a Message": "یک پیام ارسال کنید", + "Select a model": "یک مدل انتخاب کنید", + "Set as default": "تنظیم به عنوان پیشفرض" } diff --git a/src/lib/i18n/locales/fr/common.json b/src/lib/i18n/locales/fr/common.json index f48316f0bb..1c5104b5c3 100644 --- a/src/lib/i18n/locales/fr/common.json +++ b/src/lib/i18n/locales/fr/common.json @@ -1,10 +1,10 @@ { - "NewChat": "New Chat", + "New Chat": "New Chat", "Modelfiles": "Modelfiles", - "GreetingPlaceholder": "How can I help you today?", - "Hello": "Hello, {{name}}", - "ChatInputPlaceholderListening": "Listening...", - "ChatInputPlaceholder": "Send a Message", - "ModelSelectorPlaceholder": "Select a model", - "SetAsDefault": "Set as default" + "How can I help you today?": "How can I help you today?", + "Hello, {{name}}": "Hello, {{name}}", + "Listening...": "Listening...", + "Send a Message": "Send a Message", + "Select a model": "Select a model", + "Set as default": "Set as default" }