Fix Portuguese language reference and DRY

Former-commit-id: 3954a92011b3c1699236b32373688ce80f720179 [formerly 67bca685bac4e893f836b21f85f4369444f3e708] [formerly 9817c40128b6660be30ea48b5317d07d21b84ca0 [formerly 77df2034f5]]
Former-commit-id: 2681c1f068e8094f0f9593a4c21fc6f84d8a6353 [formerly 26986c2af1193a31e3abec64b829cb29aa97011c]
Former-commit-id: c2813afc8de2e22ff9f3de0f55fbb26b3b954619
This commit is contained in:
Henrique Dias 2017-10-15 08:26:22 +01:00
parent 92c9b134c3
commit 0137b03887
2 changed files with 37 additions and 53 deletions

View File

@ -9,8 +9,9 @@ import zhTW from './zh-tw.yaml'
Vue.use(VueI18n) Vue.use(VueI18n)
let locale = (navigator.language || navigator.browserLangugae).toLowerCase() export function detectLocale () {
switch (true) { let locale = (navigator.language || navigator.browserLangugae).toLowerCase()
switch (true) {
case /^en.*/i.test(locale): case /^en.*/i.test(locale):
locale = 'en' locale = 'en'
break break
@ -18,7 +19,7 @@ switch (true) {
locale = 'fr' locale = 'fr'
break break
case /^pt.*/i.test(locale): case /^pt.*/i.test(locale):
locale = 'pr' locale = 'pt'
break break
case /^ja.*/i.test(locale): case /^ja.*/i.test(locale):
locale = 'ja' locale = 'ja'
@ -34,10 +35,13 @@ switch (true) {
break break
default: default:
locale = 'en' locale = 'en'
}
return locale
} }
const i18n = new VueI18n({ const i18n = new VueI18n({
locale: locale, locale: detectLocale(),
fallbackLocale: 'en', fallbackLocale: 'en',
messages: { messages: {
'en': en, 'en': en,

View File

@ -1,4 +1,4 @@
import i18n from '@/i18n' import * as i18n from '@/i18n'
import moment from 'moment' import moment from 'moment'
const mutations = { const mutations = {
@ -27,34 +27,14 @@ const mutations = {
setLoading: (state, value) => { state.loading = value }, setLoading: (state, value) => { state.loading = value },
setReload: (state, value) => { state.reload = value }, setReload: (state, value) => { state.reload = value },
setUser: (state, value) => { setUser: (state, value) => {
let locale = (value.locale || navigator.language || navigator.browserLangugae).toLowerCase() let locale = value.locale
switch (true) {
case /^en.*/i.test(locale): if (locale === '') {
locale = 'en' locale = i18n.detectLocale()
break
case /^fr.*/i.test(locale):
locale = 'fr'
break
case /^pt.*/i.test(locale):
locale = 'pr'
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'
} }
moment.locale(locale) moment.locale(locale)
i18n.locale = locale i18n.default.locale = locale
state.user = value state.user = value
}, },
setCSS: (state, value) => (state.css = value), setCSS: (state, value) => (state.css = value),