summaryrefslogtreecommitdiff
path: root/src/i18n.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/i18n.js')
-rw-r--r--src/i18n.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/i18n.js b/src/i18n.js
new file mode 100644
index 00000000..09b3f4ca
--- /dev/null
+++ b/src/i18n.js
@@ -0,0 +1,29 @@
+import Vue from 'vue';
+import VueI18n from 'vue-i18n';
+
+Vue.use(VueI18n);
+
+function loadLocaleMessages() {
+ const locales = require.context(
+ './locales',
+ true,
+ /[A-Za-z0-9-_,\s]+\.json$/i
+ );
+ const messages = {};
+ 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({
+ // default language is English
+ locale: 'en',
+ // locale messages with a message key that doesn't exist will fallback to English
+ fallbackLocale: 'en',
+ messages: loadLocaleMessages()
+});