feat (i18n) : go back i18n loading json files

This commit is contained in:
Restray 2022-04-04 17:56:32 +02:00
parent 0ead17ab70
commit c39cb42601
No known key found for this signature in database
GPG Key ID: 67C6DEF95A4DC812

View File

@ -1,34 +1,26 @@
import i18n from 'sveltekit-i18n'; import i18n from 'sveltekit-i18n';
import lang from './lang.json'; import lang from './lang.json';
import * as fs from 'fs';
// Get all translations files
const loaders = [];
const translations = {};
fs.readdir('src/lib/locales/', (err, files) => {
files.forEach((file) => {
if (file.endsWith('.json')) {
const lang_iso = file.replace('.json', '');
loaders.push({
locale: file.replace('.json', ''),
key: '',
/* @vite-ignore */
loader: async () => (await import(`./locales/${lang_iso}.json`)).default
});
translations[lang_iso] = { lang };
}
});
});
/** @type {import('sveltekit-i18n').Config} */ /** @type {import('sveltekit-i18n').Config} */
const config = { export const config = {
fallbackLocale: 'en', fallbackLocale: 'en',
translations: translations, translations: {
loaders: loaders en: { lang },
fr: { lang }
},
loaders: [
{
locale: 'en',
key: '',
loader: async () => (await import('./locales/en.json')).default
},
{
locale: 'fr',
key: '',
loader: async () => (await import('./locales/fr.json')).default
}
]
}; };
export const { t, loading, locales, locale, loadTranslations } = new i18n(config); export const { t, loading, locales, locale, loadTranslations } = new i18n(config);
loading.subscribe(($loading) => $loading && console.log('Loading translations...'));
loading.subscribe(($loading) => $loading);