Vue CLI:UI 本地化

标准 UI

请遵循下列简单步骤来为 CLI UI 提交一种其它语言的翻译!

  1. 运行 navigator.languages 或 navigator.language 为新的地区获取语言代码。例如:fr。
  2. 搜索 npm 确认名为 vue-cli-locale-<language code> 的包是否已经存在。如果存在,则请通过 PR 为它贡献!如果没找到,则创建一个新的名为 vue-cli-locale-<language code> 的地区的包。例如:vue-cli-locale-fr.
  3. 将地区的 JSON 文件放置在一个 locales 文件夹并将这个文件命名为语言代码。例如:locales/fr.json。
  4. 在 package.json 文件中,设置 unpkg 字段为地区文件的路径。例如:”unpkg”: “./locales/fr.json”。
  5. 将包发布到 npm 上。

可以参考这里的英文地区文件。

作为示例,参考一份法语的包

翻译插件

你也可以在插件的根目录的 locales 文件夹放置与 vue-i18n 兼容的地区文件。这样做会在项目打开的时候自动加载,然后你可以使用 $t 在你的组件和 vue-i18n 辅助函数里翻译字符串。同样的 UI API (像 describeTask) 用到的字符串将会进入 vue-i18n,这样你就可以对它们做本地化。

示例 locales 文件夹:

vue-cli-plugin/locales/en.json
vue-cli-plugin/locales/fr.json

API 的用法示例:

api.describeConfig({
  // vue-i18n 路径
  description: com.my-name.my-plugin.config.foo
})

危险

请确定为 id 设置正确的命名空间,因为它需要跨所有插件保持唯一。我们推荐使用反向域名记号 (reverse domain name notation)

在组件中使用的示例:

<VueButton>{{ $t(com.my-name.my-plugin.actions.bar) }}</VueButton>

如果你愿意的话,可以使用 ClientAddonApi 在一个客户端 addon 加载地区文件:

// 加载本地文件 (使用 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))
})

作者:terry,如若转载,请注明出处:https://www.web176.com/vuecli/10878.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2023年2月28日
下一篇 2023年3月1日

相关推荐

发表回复

登录后才能评论