fix regex for locale matching

This commit is contained in:
Equim 2017-10-14 18:29:57 +08:00
parent 9f221a3d0c
commit 0271b914a4
2 changed files with 16 additions and 14 deletions

View File

@ -11,31 +11,33 @@ Vue.use(VueI18n)
let locale = (navigator.language || navigator.browserLangugae).toLowerCase() let locale = (navigator.language || navigator.browserLangugae).toLowerCase()
switch (true) { switch (true) {
case /en.*/i.test(locale): case /^en.*/i.test(locale):
locale = 'en' locale = 'en'
break break
case /fr.*/i.test(locale): case /^fr.*/i.test(locale):
locale = 'fr' locale = 'fr'
break break
case /pt.*/i.test(locale): case /^pt.*/i.test(locale):
locale = 'pr' locale = 'pr'
break break
case /ja.*/i.test(locale): case /^ja.*/i.test(locale):
locale = 'ja' locale = 'ja'
break break
case /zh_CN/i.test(locale): case /^zh-CN/i.test(locale):
locale = 'zh-cn' locale = 'zh-cn'
break break
case /zh_TW/i.test(locale): case /^zh-TW/i.test(locale):
locale = 'zh-tw' locale = 'zh-tw'
break break
case /zh.*/i.test(locale): case /^zh.*/i.test(locale):
locale = 'zh-cn' locale = 'zh-cn'
break break
default: default:
locale = 'en' locale = 'en'
} }
console.log(locale)
const i18n = new VueI18n({ const i18n = new VueI18n({
locale: locale, locale: locale,
fallbackLocale: 'en', fallbackLocale: 'en',

View File

@ -29,25 +29,25 @@ const mutations = {
setUser: (state, value) => { setUser: (state, value) => {
let locale = (value.locale || navigator.language || navigator.browserLangugae).toLowerCase() let locale = (value.locale || navigator.language || navigator.browserLangugae).toLowerCase()
switch (true) { switch (true) {
case /en.*/i.test(locale): case /^en.*/i.test(locale):
locale = 'en' locale = 'en'
break break
case /fr.*/i.test(locale): case /^fr.*/i.test(locale):
locale = 'fr' locale = 'fr'
break break
case /pt.*/i.test(locale): case /^pt.*/i.test(locale):
locale = 'pr' locale = 'pr'
break break
case /ja.*/i.test(locale): case /^ja.*/i.test(locale):
locale = 'ja' locale = 'ja'
break break
case /zh_CN/i.test(locale): case /^zh-CN/i.test(locale):
locale = 'zh-cn' locale = 'zh-cn'
break break
case /zh_TW/i.test(locale): case /^zh-TW/i.test(locale):
locale = 'zh-tw' locale = 'zh-tw'
break break
case /zh.*/i.test(locale): case /^zh.*/i.test(locale):
locale = 'zh-cn' locale = 'zh-cn'
break break
default: default: