浏览器插件开发 - i18n 国际化多语言配置

Chrome 浏览器插件进行 i18n 国际化多语言适配需要进行三处修改:

  1. 在特定目录按照特定格式编写多语言配置的 messages.json 文件;
  2. manifest.json 中设置默认语言;
  3. 修改项目代码,通过 __MSG_messagename__getMessage 方法获取本地化内容;

编写多语言配置

多语言文件位于扩展根目录的 _locales/{_localeCode_}/messages.json 路径下

支持的 _localeCode_ 可参考 languages.cc

以英语 en 为例,_localCode_/en/messages.json 如下:

{
  "title": {
    "message": "hello world", // title 字段的英语表示,必填
    "description": "Title string"  // 当前字段的描述信息(注释),可选
  },
  ...
}

配置默认语言

多语言配置编写完成后,还必须在 manifest.json 中设置默认语言 default_locale 才能生效。

使用本地化内容

在 Javascript 中,可通过调用 getMessage 方法获取本地化之后的内容,具体参数参考 getMessage API

在不支持 getMessage 方法的环境下(例如 json、css、html),可使用 __MSG_messagename__ 占位符获取本地化内容。

多语言降级

当扩展程序在特定 _localeCode_ 目录下没有找到本地化内容时,会按照一定规则进行搜索:

多语言调试

调试多语言配置时,需要修改到特定的语言环境,具体方法参考:

其他方法

API 文档