阅读时间:1 分钟
0 字
国际化提供者
国际化提供者用于处理多语言翻译与语言切换。
接口定义
ts
interface I18nProvider {
t: (key: string, options?: any, defaultMessage?: string) => string
changeLocale: (lang: string, options?: any) => Promise<any>
loadLocale: (lang: string, files: Record<string, unknown>) => Promise<any>
mergeLocale: (lang: string, messages: Record<string, unknown>) => void
getLocale: () => string
getLocales: () => string[]
}内置 i18nProvider
ts
import { i18nProvider } from '@duxweb/dvha-core'
const provider = i18nProvider({
locale: 'zh-CN',
fallbackLocale: 'en-US',
messages: {
'zh-CN': { hello: '你好' },
'en-US': { hello: 'Hello' },
},
})说明:
- 基于
vue-i18n,内部默认legacy: false - 默认关闭
missingWarn与fallbackWarn
配置方式
ts
const config = {
i18nProvider: provider,
}也可以在管理端配置中覆盖:
ts
const config = {
manages: [
{
name: 'admin',
i18nProvider: provider,
},
],
}