diff options
Diffstat (limited to 'src/i18n.js')
-rw-r--r-- | src/i18n.js | 29 |
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() +}); |