使用 i18n - 国际化

2,714 阅读1分钟

i18n 介绍

i18n 是 internationalization(国际化) 的首尾字符加中间的 18 个字符,随着产品越做越大,要推向国际的时候,国际化这一步是必不可少的。i18n 的方案有很多,这里只讨论在 Chrome Extension 中的情况。

i18n 在 Chrome Extension 中应用

Chrome Extension 的 i18n 很方便,基本就是按照下列步骤走。

  1. manifest.json 中添加 default_locale:
  {
    "default_locale": "zh_CN"
  }

2. 在跟目录中新建 _locales 文件夹,并且在 Choosing locales to support 中找到你要支持的语言,比如我们选择支持中文(zh_CN)和英文(en)。然后在 _locales 文件夹中再新建 enzh_CN 文件夹,并且分别在里面新建 messages.json:

- _locales
    |- en
        | - messages.json
    |- zh_CN
        | - messages.json
这里的 `locales` 、`en` 、`zh_CN`、`messages` 命名是一定要这样的,一个字母都不能错

3. 再来看 messages.json 的结构: zh_CNen

4. 使用:

// 中文系统: hello 变量为 `你好`
// 英文系统: hello 变量为 `Hi`
const hello = chrome.i18n.getMessage('HELLO')
  • manifest.json 中插件名字和描述,格式为 __MSG_${KEY}__:
{
  "description": "__MSG_DESC__"
}