From 7ae68f079ddfb74c9a1b17c4f30dfe4c258d4a9f Mon Sep 17 00:00:00 2001 From: Zero~Informatique Date: Fri, 20 Dec 2019 17:47:04 +0100 Subject: Viewer project foundations --- viewer/src/plugins/i18n.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 viewer/src/plugins/i18n.ts (limited to 'viewer/src/plugins/i18n.ts') diff --git a/viewer/src/plugins/i18n.ts b/viewer/src/plugins/i18n.ts new file mode 100644 index 0000000..da2cd87 --- /dev/null +++ b/viewer/src/plugins/i18n.ts @@ -0,0 +1,23 @@ +import Vue from "vue"; +import VueI18n, { LocaleMessages } from "vue-i18n"; + +Vue.use(VueI18n); + +function loadLocaleMessages(): LocaleMessages { + const locales = require.context("@/locales", true, /[A-Za-z0-9-_,\s]+\.json$/i); + const messages: LocaleMessages = {}; + locales.keys().forEach(key => { + const matched = key.match(/([A-Za-z0-9-_]+)\./i); + if (matched && matched.length > 1) { + const locale = matched[1]; + messages[locale] = locales(key); + } + }); + return messages; +} + +export default new VueI18n({ + locale: process.env.VUE_APP_I18N_LOCALE || "en", + fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || "en", + messages: loadLocaleMessages(), +}); -- cgit v1.2.3