Former-commit-id: 3954a92011b3c1699236b32373688ce80f720179 [formerly 67bca685bac4e893f836b21f85f4369444f3e708] [formerly 9817c40128b6660be30ea48b5317d07d21b84ca0 [formerly 77df2034f53a75a94e8bc9e3e8096d9ac3b865b0]] Former-commit-id: 2681c1f068e8094f0f9593a4c21fc6f84d8a6353 [formerly 26986c2af1193a31e3abec64b829cb29aa97011c] Former-commit-id: c2813afc8de2e22ff9f3de0f55fbb26b3b954619
57 lines
1.1 KiB
JavaScript
57 lines
1.1 KiB
JavaScript
import Vue from 'vue'
|
|
import VueI18n from 'vue-i18n'
|
|
import en from './en.yaml'
|
|
import fr from './fr.yaml'
|
|
import pt from './pt.yaml'
|
|
import ja from './ja.yaml'
|
|
import zhCN from './zh-cn.yaml'
|
|
import zhTW from './zh-tw.yaml'
|
|
|
|
Vue.use(VueI18n)
|
|
|
|
export function detectLocale () {
|
|
let locale = (navigator.language || navigator.browserLangugae).toLowerCase()
|
|
switch (true) {
|
|
case /^en.*/i.test(locale):
|
|
locale = 'en'
|
|
break
|
|
case /^fr.*/i.test(locale):
|
|
locale = 'fr'
|
|
break
|
|
case /^pt.*/i.test(locale):
|
|
locale = 'pt'
|
|
break
|
|
case /^ja.*/i.test(locale):
|
|
locale = 'ja'
|
|
break
|
|
case /^zh-CN/i.test(locale):
|
|
locale = 'zh-cn'
|
|
break
|
|
case /^zh-TW/i.test(locale):
|
|
locale = 'zh-tw'
|
|
break
|
|
case /^zh.*/i.test(locale):
|
|
locale = 'zh-cn'
|
|
break
|
|
default:
|
|
locale = 'en'
|
|
}
|
|
|
|
return locale
|
|
}
|
|
|
|
const i18n = new VueI18n({
|
|
locale: detectLocale(),
|
|
fallbackLocale: 'en',
|
|
messages: {
|
|
'en': en,
|
|
'fr': fr,
|
|
'pt': pt,
|
|
'ja': ja,
|
|
'zh-cn': zhCN,
|
|
'zh-tw': zhTW
|
|
}
|
|
})
|
|
|
|
export default i18n
|