Skip to content

国际化

Chrome 文档 | Firefox 文档

本文介绍如何在浏览器扩展项目中使用国际化。

使用

定义消息

public 目录下创建 _locales 目录。目录结构如下:

public/
├── _locales/
│   ├── en/
│   │   └── messages.json
│   └── zh/
│       └── messages.json

messages.json 文件用于存储消息。例如:

public/_locales/en/messages.json
json
{
  "extensionName": {
    "message": "Name",
    "description": "Name of the extension."
  },
  "extensionDescription": {
    "message": "Description",
    "description": "Description of the extension."
  }
}

定义 default_locale

在 manifest.json 中定义 default_locale

web-extend.config.ts
ts
import { defineConfig } from 'web-extend';

export default defineConfig({
  manifest: {
    default_locale: 'en',
  },
});

使用消息

在 Manifest 和 CSS 文件中,你可以通过引用名为 messageName 的字符串来使用消息:

__MSG_messageName__

例如:

web-extend.config.ts
ts
import { defineConfig } from 'web-extend';

export default defineConfig({
  manifest: {
    default_locale: 'en',
    name: '__MSG_extensionName__',
    description: '__MSG_extensionDescription__',
  },
});

在 JavaScript 文件中,你可以通过引用名为 messageName 的字符串来使用消息:

js
chrome.i18n.getMessage('messageName');

基于 MIT 许可发布