unibest/src/locales/index.ts

44 lines
937 B
TypeScript
Raw Normal View History

import { createI18n } from 'vue-i18n'
import en from './en.json'
import zh from './zh.json'
const messages = {
en,
zh,
}
console.log(uni.getLocale())
2024-01-29 16:59:12 +08:00
const getLocale = () => {
const browserLang = uni.getLocale()
if (Object.keys(messages).includes(browserLang)) {
return browserLang
}
return 'zh' // fallback language, 可以配置,必须是 message 的key
}
console.log(getLocale())
const i18n = createI18n({
2024-01-29 16:59:12 +08:00
locale: getLocale(), //
messages,
})
2024-01-29 16:59:12 +08:00
/**
* vue 使
* @param { string } localeKey keyeg: "app.name"
*/
export const translate = (localeKey: string) => {
2024-01-29 18:59:17 +08:00
if (!localeKey) {
console.error(`[i18n] Function translate(), localeKey param is required`)
return ''
}
2024-01-29 16:59:12 +08:00
const locale = getLocale()
const message = messages[locale]
if (Object.keys(message).includes(localeKey)) {
return message[localeKey]
}
return localeKey
}
export default i18n