aboutsummaryrefslogtreecommitdiff
path: root/viewer/src/plugins/i18n.ts
diff options
context:
space:
mode:
authorZero~Informatique2019-12-20 17:47:04 +0100
committerZero~Informatique2019-12-20 23:22:56 +0100
commit7ae68f079ddfb74c9a1b17c4f30dfe4c258d4a9f (patch)
treecb5e30534d9e564c311d626bba7e8d9ec0ea0f60 /viewer/src/plugins/i18n.ts
parentc9264b0a0a7e1cb92ef7d9a391cee2c94376cff3 (diff)
downloadldgallery-7ae68f079ddfb74c9a1b17c4f30dfe4c258d4a9f.tar.gz
Viewer project foundations
Diffstat (limited to 'viewer/src/plugins/i18n.ts')
-rw-r--r--viewer/src/plugins/i18n.ts23
1 files changed, 23 insertions, 0 deletions
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 @@
1import Vue from "vue";
2import VueI18n, { LocaleMessages } from "vue-i18n";
3
4Vue.use(VueI18n);
5
6function loadLocaleMessages(): LocaleMessages {
7 const locales = require.context("@/locales", true, /[A-Za-z0-9-_,\s]+\.json$/i);
8 const messages: LocaleMessages = {};
9 locales.keys().forEach(key => {
10 const matched = key.match(/([A-Za-z0-9-_]+)\./i);
11 if (matched && matched.length > 1) {
12 const locale = matched[1];
13 messages[locale] = locales(key);
14 }
15 });
16 return messages;
17}
18
19export default new VueI18n({
20 locale: process.env.VUE_APP_I18N_LOCALE || "en",
21 fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || "en",
22 messages: loadLocaleMessages(),
23});