i18n - 国际化

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

    这里的 localesenzh_CNmessages 命名是一定要这样的,一个字母都不能错

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

  4. 使用:

    • 在 background 和 content_scripts 中使用 chrome.i18n.getMessage 调取文案:

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

    {
      "description": "__MSG_DESC__"
    }

Last updated