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