国际化
本文介绍如何在浏览器扩展项目中使用国际化。
使用
定义消息
在 public
目录下创建 _locales
目录。目录结构如下:
public/
├── _locales/
│ ├── en/
│ │ └── messages.json
│ └── zh/
│ └── messages.json
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
。
ts
import { defineConfig } from 'web-extend';
export default defineConfig({
manifest: {
default_locale: 'en',
},
});
使用消息
在 Manifest 和 CSS 文件中,你可以通过引用名为 messageName
的字符串来使用消息:
__MSG_messageName__
例如:
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');