多国语言(i18n)
Eagle 插件內建 i18next 模塊,讓開發者輕鬆製作多語言插件。i18next 是 JavaScript 多國語言庫,易於翻譯、局部化並支持多種翻譯方法。
Eagle 插件內建了 i18next 模塊,這使得開發者可以很輕鬆的製作出支持多國語言的插件。i18next 是一个用于多国语言应用的 JavaScript 库,它可以轻松地处理多国语言翻译,并且提供了多种翻译的支持,包括自定义义翻译、局部化、多语系支持等。
以下我们将手把手说明如何让插件支持多国语系:
步骤一、建立 _locales
文件夹
_locales
文件夹
步骤二、建立语言 .json
文件
.json
文件
{
"manifest": {
"app": {
"name": "i18n example"
}
},
"contextMenu": {
"copy": "Copy",
"paste": "Paste"
}
}
步骤三、调整 manifest.json
manifest.json
使用 Eagle Plugin 的 i18next
功能,你可以通過設定簡單的 JSON 文件來定義多國語言應用的翻譯。
{
"id": "LE564883T24ZR",
"version": "1.0.0",
// 1. 调整名称
"name": "{{manifest.app.name}}",
"logo": "/logo.png",
"keywords": [],
// 2. 设置支持语言、默认语言
"fallbackLanguage": "zh_CN",
"languages": ["en", "zh_TW", "zh_CN", "ja_JP"],
"main": {
"url": "index.html",
"width": 640,
"height": 480
}
}
步骤四、更换代码中使用到的字符串
调整 plugin.js,使用 i18next 方法获取字符串,并进行 alert
eagle.onPluginCreate((plugin) => {
// 取得多国语言字段
let copyText = i18next.t('contextMenu.copy');
let pasteText = i18next.t('contextMenu.paste');
document.querySelector('#message').innerHTML = `
<ul>
<li>Language: ${eagle.app.locale}</li>
<li>Copy: ${copyText}</li>
<li>Paste: ${pasteText}</li>
</ul>
`;
});
步骤五、切换应用语言,查看修改结果
您可以依照以下步骤来更改 Eagle 软件的语言设置:在萤幕上找到并点击 「Eagle」 按钮,接着选择 「偏好配置」,然后点击 「常用」 选项,最后在 「语言」 部分进行所需修改。



学习进阶用法
i18next 拥有许多便捷的方法,让我们能够轻松应对各种翻译情境。为了保证篇幅,这里仅对核心使用方法进行说明。如果需要了解 i18next 的使用方法和进阶用法,推荐阅读以下链接:
i18next 官方文档:https://www.i18next.com/overview/getting-started
i18next 的 GitHub 仓库:https://github.com/i18next/i18next
通过阅读官方文档,你可以了解 i18next 的基本概念和用法,并找到一些示例代码来帮助你开始使用它。GitHub 仓库中包含了 i18next 的源代码和更多的文档,如果你想进一步了解它的实现细节,可以在那里查看。
最后更新于