UI 本地化
翻译标准 UI
为了方便协作和同步,dev
分支的英文源语言会自动导入到 Transifex,这是一个协作翻译平台。
对于已有的语言,你可以 注册成为翻译人员。对于新的语言,你可以在注册后 申请新的语言。
无论哪种情况,你都可以翻译源语言中添加或更改的键。
翻译你的插件
你可以在插件根目录的 locales
文件夹中放置与 vue-i18n 兼容的语言文件。它们会在项目打开时自动加载到客户端。然后,你可以在组件和其他 vue-i18n 助手函数中使用 $t
来翻译字符串。此外,UI API 中使用的字符串(如 describeTask
)也会通过 vue-i18n,因此你可以对其进行本地化。
locales
文件夹示例
vue-cli-plugin/locales/en.json
vue-cli-plugin/locales/fr.json
API 中的示例用法
api.describeConfig({
// vue-i18n path
description: 'com.my-name.my-plugin.config.foo'
})
警告
确保正确地命名空间 ID,因为它必须在所有插件中都是唯一的。建议使用 反向域名表示法。
组件中的示例用法
<VueButton>{{ $t('com.my-name.my-plugin.actions.bar') }}</VueButton>
你也可以在客户端插件中加载语言文件,如果你愿意,可以使用 ClientAddonApi
// Load the locale files (uses vue-i18n)
const locales = require.context('./locales', true, /[a-z0-9]+\.json$/i)
locales.keys().forEach(key => {
const locale = key.match(/([a-z0-9]+)\./i)[1]
ClientAddonApi.addLocalization(locale, locales(key))
})