Enable more translations in UI

This commit is contained in:
Mawoka
2025-10-26 09:08:22 +01:00
parent 88bc2f25eb
commit 0c23d9b9c1
2 changed files with 110 additions and 86 deletions
+7
View File
@@ -19,6 +19,9 @@ import uk from './locales/uk.json';
import nl from './locales/nl.json';
import hu from './locales/hu.json';
import vi from './locales/vi.json';
import ta from './locales/ta.json';
import pt_BR from './locales/pt_BR.json';
import ja from './locales/ja.json';
// import uz from './locales/uz.json'
// import zh_Hans from './locales/zh_Hans.json';
import LanguageDetector from 'i18next-browser-languagedetector';
@@ -82,6 +85,10 @@ export class I18nService {
this.i18n.addResourceBundle('nl', 'translation', nl);
this.i18n.addResourceBundle('hu', 'translation', hu);
this.i18n.addResourceBundle('vi', 'translation', vi);
this.i18n.addResourceBundle('ta', 'translation', ta);
this.i18n.addResourceBundle('pt_BR', 'translation', pt_BR);
this.i18n.addResourceBundle('ja', 'translation', ja);
// this.i18n.addResourceBundle('uz', 'translation', uz);
}
+103 -86
View File
@@ -56,94 +56,111 @@ SPDX-License-Identifier: MPL-2.0
interface Props {
languages?: Array<{
flag: string;
name: string;
code: string;
}>;
flag: string;
name: string;
code: string;
}>;
}
let { languages = [
{
code: 'de',
name: 'Deutsch',
flag: '🇩🇪'
},
{
code: 'en',
name: 'English',
flag: '🇺🇲'
},
{
code: 'tr',
name: 'Türkçe',
flag: '🇹🇷'
},
{
code: 'fr',
name: 'Français',
flag: '🇫🇷'
},
{
code: 'id',
name: 'Bahasa Indonesia',
flag: '🇮🇩'
},
{
code: 'ca',
name: 'Català',
flag: '🇪🇸'
},
{
code: 'it',
name: 'Italiano',
flag: '🇮🇹'
},
{
code: 'es',
name: 'Español',
flag: '🇪🇸'
},
{
code: 'nb_NO',
name: 'Norsk',
flag: '🇳🇴'
},
{
code: 'zh_Hant',
name: 'Chinese (traditional)',
flag: '🇨🇳'
},
{
code: 'pl',
name: 'Polski',
flag: '🇵🇱'
},
{
code: 'pt',
name: 'Português',
flag: '🇵🇹'
},
{
code: 'uk',
name: 'Українська',
flag: '🇺🇦'
},
{
code: 'nl',
name: 'Nederlands',
flag: '🇳🇱'
},
{
code: 'hu',
name: 'Magyar',
flag: '🇭🇺'
},
{
code: 'vi',
name: 'tiếng Việt',
flag: '🇻🇳'
}
] }: Props = $props();
let {
languages = [
{
code: 'de',
name: 'Deutsch',
flag: '🇩🇪'
},
{
code: 'en',
name: 'English',
flag: '🇺🇲'
},
{
code: 'tr',
name: 'Türkçe',
flag: '🇹🇷'
},
{
code: 'fr',
name: 'Français',
flag: '🇫🇷'
},
{
code: 'id',
name: 'Bahasa Indonesia',
flag: '🇮🇩'
},
{
code: 'ca',
name: 'Català',
flag: '🇪🇸'
},
{
code: 'it',
name: 'Italiano',
flag: '🇮🇹'
},
{
code: 'es',
name: 'Español',
flag: '🇪🇸'
},
{
code: 'nb_NO',
name: 'Norsk',
flag: '🇳🇴'
},
{
code: 'zh_Hant',
name: 'Chinese (traditional)',
flag: '🇨🇳'
},
{
code: 'pl',
name: 'Polski',
flag: '🇵🇱'
},
{
code: 'pt',
name: 'Português',
flag: '🇵🇹'
},
{
code: 'uk',
name: 'Українська',
flag: '🇺🇦'
},
{
code: 'nl',
name: 'Nederlands',
flag: '🇳🇱'
},
{
code: 'hu',
name: 'Magyar',
flag: '🇭🇺'
},
{
code: 'vi',
name: 'tiếng Việt',
flag: '🇻🇳'
},
{
code: 'ta',
flag: '🇮🇳',
name: 'Tamil'
},
{
code: 'pt_BR',
flag: '🇧🇷',
name: 'Brazil'
},
{
code: 'ja',
flag: '🇯🇵',
name: 'Japan'
}
]
}: Props = $props();
const get_selected_language = (): string => {
return localStorage.getItem('language');
};