Use vue-i18n #68

Merged
jakob.scheid merged 14 commits from feature/vue-i18n into main 2026-05-20 17:35:02 +02:00
2 changed files with 21 additions and 2 deletions
Showing only changes of commit 2eb187ec1a - Show all commits
+17 -1
View File
@@ -24,4 +24,20 @@ export const i18n = createI18n({
locale: getCurrentLanguage(), locale: getCurrentLanguage(),
fallbackLocale: fallbackLocale, fallbackLocale: fallbackLocale,
messages: {} messages: {}
}); });
const loadedLanguages = new Set();
export async function loadLanguage (locale) {
if (loadedLanguages.has(locale)) {
i18n.global.locale.value = locale;
return;
};
const messages = (await import(`./locales/${locale}.json`)).default;
i18n.global.setLocaleMessage(locale, messages);
i18n.global.locale.value = locale;
loadedLanguages.add(locale);
};
+4 -1
View File
@@ -16,11 +16,14 @@ limitations under the License.
import { createApp } from 'vue' import { createApp } from 'vue'
import App from './App.vue' import App from './App.vue'
import { i18n } from './i18n'; import { i18n, loadLanguage } from './i18n';
import getCurrentLanguage from './utils/currentLanguage';
import router from './router' import router from './router'
import './styles/common.css' import './styles/common.css'
import './styles/variables/colors.css' import './styles/variables/colors.css'
await loadLanguage(getCurrentLanguage());
createApp(App) createApp(App)
.use(router) .use(router)
.use(i18n) .use(i18n)