Plugin API
简体中文
简体中文
  • 入門
    • 简介
    • 你的第一个插件
    • 文件结构概述
    • 插件类型
      • 窗口
      • 背景服務
      • 格式扩展
      • 检查器
    • 调试插件
    • 开发交流群
  • 部署
    • 准备插件
    • 打包插件
    • 发布插件
    • 更新插件
    • 开发者政策
    • 插件图标模板
  • 开发指南
    • manifest.json 完整配置
    • 取得数据
    • 修改数据
    • 存取本地文件
    • 发出网路请求
    • 使用 Node.js 原生 API
    • 使用第三方模快
    • 多国语言(i18n)
    • 无边框窗口
  • API 参考
    • event(事件)
    • item(项目)
    • folder(文件夾)
    • tag(标签)
    • tagGroup(标签群组)
    • library(资源库)
    • window(窗口)
    • app(应用)
    • os(操作系统)
    • screen(屏幕)
    • notification(通知)
    • contextMenu(右鍵菜單)
    • dialog(对话框)
    • clipboard(剪贴板)
    • drag(拖拽文件)
    • shell(壳)
    • log(日志)
  • 额外组件
    • FFmpeg
由 GitBook 提供支持
在本页
  • 步骤一、建立 _locales 文件夹
  • 步骤二、建立语言 .json 文件
  • 步骤三、调整 manifest.json
  • 步骤四、更换代码中使用到的字符串
  • 步骤五、切换应用语言,查看修改结果
  • 学习进阶用法
  1. 开发指南

多国语言(i18n)

Eagle 插件內建 i18next 模塊,讓開發者輕鬆製作多語言插件。i18next 是 JavaScript 多國語言庫,易於翻譯、局部化並支持多種翻譯方法。

上一页使用第三方模快下一页无边框窗口

最后更新于11个月前

Eagle 插件內建了 i18next 模塊,這使得開發者可以很輕鬆的製作出支持多國語言的插件。i18next 是一个用于多国语言应用的 JavaScript 库,它可以轻松地处理多国语言翻译,并且提供了多种翻译的支持,包括自定义义翻译、局部化、多语系支持等。

以下我们将手把手说明如何让插件支持多国语系:

步骤一、建立 _locales 文件夹

步骤二、建立语言 .json 文件

{
    "manifest": {
        "app": {
            "name": "i18n example"
        }
    },
    "contextMenu": {
        "copy": "Copy",
        "paste": "Paste"
    }
}
{
    "manifest": {
        "app": {
            "name": "多国语言范例"
        }
    },
    "contextMenu": {
        "copy": "复制",
        "paste": "粘贴"
    }
}
{
    "manifest": {
        "app": {
            "name": "多國語言範例"
        }
    },
    "contextMenu": {
        "copy": "複製",
        "paste": "貼上"
    }
}
{
    "manifest": {
        "app": {
            "name": "i18n の例"
        }
    },
    "contextMenu": {
        "copy": "コピー",
        "paste": "ペース"
    }
}

目前支持的语言有 en, ja_JP, es_ES, de_DE, zh_TW, zh_CN, ko_KR, ru_RU。

步骤三、调整 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

plugin.js
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 的基本概念和用法,并找到一些示例代码来帮助你开始使用它。GitHub 仓库中包含了 i18next 的源代码和更多的文档,如果你想进一步了解它的实现细节,可以在那里查看。

i18next 官方文档:

i18next 的 GitHub 仓库:

https://github.com/eagle-app/eagle-plugin-examples/tree/main/i18n
https://www.i18next.com/overview/getting-started
https://github.com/i18next/i18next