🌐 (app) init 18n in en and french

This commit is contained in:
2020-07-18 23:32:47 +02:00
parent 4cae3c7a49
commit 62749a3bf7
14 changed files with 311 additions and 40 deletions

32
src/i18n.ts Normal file
View File

@@ -0,0 +1,32 @@
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
}
const lang = navigator.language
?.split('-')
.shift()
?.toLowerCase()
export default new VueI18n({
locale: lang || 'en',
fallbackLocale: 'en',
messages: loadLocaleMessages()
})