谷歌浏览器插件教程国际化 i18n

chrome.i18n

实现国际化
需要创建固定文件夹_locales/_localeCode_国家语言前缀/messages.json
例如:zh_CN,en

_locales/zh_CN/messages.json
_locales/en/messages.json

~ 关于国际化语言名称,可查阅
https://developer.chrome.com/docs/webstore/i18n/#choosing-locales-to-support

经过测试:需要说明的,插件会根据本地语言自己设置。

messages.json语法格式

{
  "name": {
    "message": "Message text, with optional placeholders.",
    "description": "Translator-aimed description of the message.",
    "placeholders": {
      "placeholder_name": {
        "content": "A string to be placed within the message.",
        "example": "Translator-aimed example of the placeholder string."
      },
      ...
    }
  },
  ...
}

以下代码显示了支持的字段messages.json。只有“名称”和“消息”字段是必需的。

{
  "name": {
    "message": "国际化语言"
  }
}

指定默认语言

如果扩展有_locales目录,则清单 必须定义“default_locale”

//manifest.json

{
...
"default_locale":"zh_CN"
}

调用

manifest.json和css中调用

格式如下:

__MSG_语言名称__

JavaScript 脚本中调用

chrome.i18n.getMessage("语言名称")

预定义消息

例如@@bidi_dir和@@ui_locale,由国际化系统提供

消息名称 描述
@@extension_id 扩展程序或应用程序 ID;您可以使用此字符串为扩展内的资源构建 URL。即使是未本地化的扩展也可以使用此消息。
注意:您不能在清单文件中使用此消息。
@@ui_locale当前语言环境;您可以使用此字符串来构建特定于语言环境的 URL。
@@bidi_dir当前语言环境的文本方向,“ltr”表示从左到右的语言(例如英语)或“rtl”表示从右到左的语言(例如日语)。
@@bidi_reversed_dir如果 @@bidi_dir 是“ltr”,那么这是“rtl”;否则,它是“ltr”。
@@bidi_start_edge如果 @@bidi_dir 是“ltr”,那么这是“左”;否则,它是“正确的”。
@@bidi_end_edge如果 @@bidi_dir 是“ltr”,那么这是“对”;否则,它是“左”。

测试多语言谷歌浏览器设置

找到谷歌浏览器的快捷键,复制一份,并命名为"en"
右键属性
黑白课堂
设置 目标 那里后面增加

--lang=en --user-data-dir=D:\log
//整个参考
"C:\Program Files\Google\Chrome\Application\chrome.exe" --lang=en --user-data-dir=D:\log

方法

detectLanguage

检测语言

chrome.i18n.detectLanguage(
  text: string,
  callback?: function,
)

callback参数如下所示:

(result: object) => void

getAcceptLanguages

获取接受语言

chrome.i18n.getAcceptLanguages(
  callback?: function,
)

callback参数如下所示:

(languages: string[]) => void

getMessage

获取消息

chrome.i18n.getMessage(
  messageName: string,
  substitutions?: any,//如果消息需要,最多 9 个替换字符串。
  options?: object,
)

getUILanguage

获取浏览器的浏览器 UI 语言

chrome.i18n.getUILanguage()

评论区 (0)

没有记录
支持 markdown,图片截图粘贴拖拽都可以自动上传。
空气

空气 · 中级学士

热爱技术,喜欢新东西。

老程序员年度分享MVP
查看更多

最新视频课程

钻级赞助商