多國語言(i18n)
Eagle 插件內建 i18next 模組,讓開發者輕鬆製作多語言插件。i18next 是 JavaScript 多國語言庫,易於翻譯、局部化並支援多種翻譯方法。
Last updated
Eagle 插件內建 i18next 模組,讓開發者輕鬆製作多語言插件。i18next 是 JavaScript 多國語言庫,易於翻譯、局部化並支援多種翻譯方法。
Last updated
Eagle 插件內建了 i18next 模組,這使得開發者可以很輕鬆的製作出支援多國語言的插件。i18next 是一個用於多國語言應用的 JavaScript 庫,它可以輕鬆地處理多國語言翻譯,並且提供了多種翻譯的支援,包括自定義翻譯、局部化、多語系支援等。
以下我們將手把手説明如何讓插件支援多國語系:
_locales
資料夾.json
檔案{
"manifest": {
"app": {
"name": "i18n example"
}
},
"contextMenu": {
"copy": "Copy",
"paste": "Paste"
}
}
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 的原始碼和更多的文檔,如果你想進一步瞭解它的實現細節,可以在那裏查看。