fix(stage-ui,i18n) fix a bug when change language (#1666)
This commit is contained in:
@@ -1,29 +1,8 @@
|
||||
import messages from '@proj-airi/i18n/locales'
|
||||
|
||||
import { resolveSupportedLocale } from '@proj-airi/i18n'
|
||||
import { createI18n } from 'vue-i18n'
|
||||
|
||||
// TODO: Align this bootstrap locale normalization with `@proj-airi/i18n`.
|
||||
const languageRemap: Record<string, string> = {
|
||||
'zh-CN': 'zh-Hans',
|
||||
'zh-TW': 'zh-Hant',
|
||||
'zh-HK': 'zh-Hans', // TODO: remove this when zh-Hant is supported
|
||||
'zh-Hant': 'zh-Hans', // TODO: remove this when zh-Hant is supported
|
||||
'en-US': 'en',
|
||||
'en-GB': 'en',
|
||||
'en-AU': 'en',
|
||||
'en': 'en',
|
||||
'es-ES': 'es',
|
||||
'es-MX': 'es',
|
||||
'es-AR': 'es',
|
||||
'es': 'es',
|
||||
'vi': 'vi',
|
||||
'vi-VN': 'vi',
|
||||
'ru': 'ru',
|
||||
'ru-RU': 'ru',
|
||||
'fr': 'fr',
|
||||
'fr-FR': 'fr',
|
||||
}
|
||||
|
||||
function getLocale() {
|
||||
let language = localStorage.getItem('settings/language')
|
||||
|
||||
@@ -32,14 +11,7 @@ function getLocale() {
|
||||
language = navigator.language || 'en'
|
||||
}
|
||||
|
||||
const languages = Object.keys(messages!)
|
||||
if (languageRemap[language || 'en'] != null) {
|
||||
language = languageRemap[language || 'en']
|
||||
}
|
||||
if (language && languages.includes(language))
|
||||
return language
|
||||
|
||||
return 'en'
|
||||
return resolveSupportedLocale(language, Object.keys(messages!))
|
||||
}
|
||||
|
||||
export const i18n = createI18n({
|
||||
|
||||
@@ -1,38 +1,17 @@
|
||||
import messages from '@proj-airi/i18n/locales'
|
||||
|
||||
import { resolveSupportedLocale } from '@proj-airi/i18n'
|
||||
import { createI18n } from 'vue-i18n'
|
||||
|
||||
// TODO: Align this bootstrap locale normalization with `@proj-airi/i18n`.
|
||||
const languageRemap: Record<string, string> = {
|
||||
'zh-CN': 'zh-Hans',
|
||||
'zh-TW': 'zh-Hans', // TODO: remove this when zh-Hant is supported
|
||||
'zh-HK': 'zh-Hans', // TODO: remove this when zh-Hant is supported
|
||||
'zh-Hant': 'zh-Hans', // TODO: remove this when zh-Hant is supported
|
||||
'en-US': 'en',
|
||||
'en-GB': 'en',
|
||||
'en-AU': 'en',
|
||||
'en': 'en',
|
||||
'es-ES': 'es',
|
||||
'es-MX': 'es',
|
||||
'es-AR': 'es',
|
||||
'es': 'es',
|
||||
'vi': 'vi',
|
||||
'vi-VN': 'vi',
|
||||
'ru': 'ru',
|
||||
'ru-RU': 'ru',
|
||||
}
|
||||
|
||||
function getLocale() {
|
||||
let language = localStorage.getItem('settings/language')
|
||||
const languages = Object.keys(messages!)
|
||||
|
||||
if (languageRemap[language || 'en'] != null) {
|
||||
language = languageRemap[language || 'en']
|
||||
if (!language) {
|
||||
// Fallback to browser language
|
||||
language = navigator.language || 'en'
|
||||
}
|
||||
if (language && languages.includes(language))
|
||||
return language
|
||||
|
||||
return 'en'
|
||||
return resolveSupportedLocale(language, Object.keys(messages!))
|
||||
}
|
||||
|
||||
export const i18n = createI18n({
|
||||
|
||||
@@ -13,7 +13,7 @@ export const all = {
|
||||
export const localeRemap: Record<string, string> = {
|
||||
'zh-CN': 'zh-Hans',
|
||||
'zh-TW': 'zh-Hant',
|
||||
'zh-HK': 'zh-Hans',
|
||||
'zh-HK': 'zh-Hant',
|
||||
'zh-Hant': 'zh-Hant',
|
||||
'zh-Hans': 'zh-Hans',
|
||||
'en': 'en',
|
||||
|
||||
@@ -1,37 +1,17 @@
|
||||
import messages from '@proj-airi/i18n/locales'
|
||||
|
||||
import { resolveSupportedLocale } from '@proj-airi/i18n'
|
||||
import { createI18n } from 'vue-i18n'
|
||||
|
||||
const languageRemap: Record<string, string> = {
|
||||
'zh-CN': 'zh-Hans',
|
||||
'zh-TW': 'zh-Hans', // TODO: remove this when zh-Hant is supported
|
||||
'zh-HK': 'zh-Hans', // TODO: remove this when zh-Hant is supported
|
||||
'zh-Hant': 'zh-Hans', // TODO: remove this when zh-Hant is supported
|
||||
'en-US': 'en',
|
||||
'en-GB': 'en',
|
||||
'en-AU': 'en',
|
||||
'en': 'en',
|
||||
'es-ES': 'es',
|
||||
'es-MX': 'es',
|
||||
'es-AR': 'es',
|
||||
'es': 'es',
|
||||
'ru': 'ru',
|
||||
'ru-RU': 'ru',
|
||||
'fr': 'fr',
|
||||
'fr-FR': 'fr',
|
||||
}
|
||||
|
||||
function getLocale() {
|
||||
let language = localStorage.getItem('settings/language')
|
||||
const languages = Object.keys(messages!)
|
||||
|
||||
if (languageRemap[language || 'en'] != null) {
|
||||
language = languageRemap[language || 'en']
|
||||
if (!language) {
|
||||
// Fallback to browser language
|
||||
language = navigator.language || 'en'
|
||||
}
|
||||
if (language && languages.includes(language))
|
||||
return language
|
||||
|
||||
return 'en'
|
||||
return resolveSupportedLocale(language, Object.keys(messages!))
|
||||
}
|
||||
|
||||
export const i18n = createI18n({
|
||||
|
||||
Reference in New Issue
Block a user