chrome-extension-book
  • 前言
  • Chrome Extension 开发概述
    • 初识 Chrome Extension
    • 快速学习 Chrome Extension
  • manifest.json 配置
    • omnibox - 定制你的搜索框
    • overridepage - 定制页面和设置
    • downloads - 下载操作
    • contextMenus - 右键菜单
    • devtools - 定制开发者工具
    • notifications - 桌面通知
  • API 使用
    • cookies - 操作 Cookie
    • webRequest - 监控网络请求
    • storage - 存储用户数据
    • i18n - 国际化
    • 通信机制 - onMessage
    • 跨应用进程通信 - NativeMessage
  • 在 Google Web Store 上线
    • 上线 Web Store
    • Chrome 用户不翻墙安装 Chrome Extension 方法
  • 尾声
Powered by GitBook
On this page
  • i18n 介绍
  • i18n 在 Chrome Extension 中应用
  1. API 使用

i18n - 国际化

Previousstorage - 存储用户数据Next通信机制 - onMessage

Last updated 6 years ago

i18n 介绍

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

i18n 在 Chrome Extension 中应用

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

  1. 在 manifest.json 中添加 :

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

    - _locales
     |- en
         | - messages.json
     |- zh_CN
         | - messages.json

    这里的 locales 、en 、zh_CN、messages 命名是一定要这样的,一个字母都不能错

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

  4. 使用:

    • 在 background 和 content_scripts 中使用 调取文案:

      // 中文系统: hello 变量为 `你好`
      // 英文系统: hello 变量为 `Hi`
      const hello = chrome.i18n.getMessage('HELLO')

  • 在 manifest.json 中插件名字和描述,格式为 __MSG_${KEY}__:

    {
      "description": "__MSG_DESC__"
    }

default_locale
Choosing locales to support
zh_CN
en
chrome.i18n.getMessage
zh
zh
en
en