fix: load languages in an exported function

This commit is contained in:
Ased Mammad 2024-03-07 14:10:30 +03:30
parent c724e19e62
commit f55525c680
4 changed files with 18 additions and 14 deletions

View file

@ -1,7 +1,7 @@
<script lang="ts">
import { toast } from 'svelte-sonner';
import { createEventDispatcher, onMount, getContext } from 'svelte';
import { languages } from '$lib/i18n';
import { getLanguages } from '$lib/i18n';
const dispatch = createEventDispatcher();
import { models, user } from '$lib/stores';
@ -16,7 +16,7 @@
// General
let themes = ['dark', 'light', 'rose-pine dark', 'rose-pine-dawn light'];
let theme = 'dark';
// TODO: Get these dynamically from the i18n module
let languages = [];
let lang = $i18n.language;
let notificationEnabled = false;
let system = '';
@ -69,6 +69,7 @@
onMount(async () => {
let settings = JSON.parse(localStorage.getItem('settings') ?? '{}');
languages = await getLanguages();
theme = localStorage.theme ?? 'dark';
notificationEnabled = settings.notificationEnabled ?? false;

View file

@ -51,7 +51,7 @@ i18next
lookupLocalStorage: 'locale'
},
fallbackLng: {
default: ['en-US']
default: ['en']
},
ns: 'translation',
interpolation: {
@ -62,6 +62,9 @@ i18next
const i18n = createI18nStore(i18next);
const isLoadingStore = createIsLoadingStore(i18next);
export const languages = (await import(`./locales/languages.json`)).default;
export const getLanguages = async () => {
const languages = (await import(`./locales/languages.json`)).default;
return languages;
};
export default i18n;
export const isLoading = isLoadingStore;

View file

@ -1,22 +1,22 @@
[
{
"title": "English",
"code": "en-US"
"code": "en",
"title": "English"
},
{
"title": "فارسی",
"code": "fa"
"code": "fa",
"title": "فارسی"
},
{
"title": "Deutsch",
"code": "de"
"code": "de",
"title": "Deutsch"
},
{
"title": "French",
"code": "fr"
"code": "fr",
"title": "French"
},
{
"title": "Ukrainian",
"code": "uk"
"code": "uk",
"title": "Ukrainian"
}
]