# 插件介绍
MT 管理器的插件系统允许开发者为 MT 扩展功能,创建强大的自定义工具。通过编写插件,您可以添加翻译引擎、扩展文本编辑器等功能,而这些都可以完全由您自己实现。
# 插件可以实现的功能
MT 插件系统提供了多种接口,涵盖翻译、文本编辑等功能。
# 翻译引擎
实现自定义翻译引擎,为 MT 管理器的翻译模式功能和文本输入框的翻译菜单提供服务。
主要接口:
TranslationEngine- 基础翻译引擎,逐条翻译文本BatchTranslationEngine- 批量翻译引擎,翻译模式中一次性翻译大量词条,提升翻译效率
应用场景:
- 对接在线翻译服务(如 Google 翻译、DeepL、百度翻译等)
- 实现本地翻译引擎
- 创建专业领域的词汇翻译工具
- 实现文本转换工具(如大小写转换、繁简转换等)
示例:
public class MyTranslationEngine extends BaseTranslationEngine {
@Override
public String name() {
return "我的翻译引擎";
}
@Override
public List<String> loadSourceLanguages() {
// 返回支持的源语言列表
return Arrays.asList("auto", "en", "zh-CN", "ru");
}
@Override
public List<String> loadTargetLanguages(String sourceLanguage) {
// 返回支持的目标语言列表
return Arrays.asList("en", "zh-CN", "ru");
}
@Override
public String translate(String text, String sourceLanguage, String targetLanguage) {
// 实现翻译逻辑(调用翻译 API 或本地翻译)
String translatedText = callTranslationAPI(text, sourceLanguage, targetLanguage);
return translatedText;
}
}
# 文本编辑器扩展
为 MT 管理器的文本编辑器添加自定义功能,提升编辑效率。
主要接口:
TextEditorFunction- 快捷功能扩展,在底部功能栏添加自定义编辑操作TextEditorFloatingMenu- 浮动菜单扩展,在选中文本时显示快捷操作TextEditorToolMenu- 工具菜单扩展,在编辑器工具栏添加菜单项
应用场景:
- 文本处理工具(如正则替换、批量修改、查找替换)
- 文本加密解密(如 Base64 编解码、AES 加密)
- 文本分析统计(如字数统计、行数统计)
- 选中文本快捷操作(如复制、删除、转换)
示例:
public class TextEncryptor extends BaseTextEditorFunction {
@Override
public String name() {
return "Base64 编码";
}
@Override
public boolean supportEditTextView() {
return true;
}
@Override
public boolean supportRepeat() {
return false;
}
@Override
public void doFunction(PluginUI pluginUI, TextEditor editor, JSONObject data) {
// 获取选中的位置
int start = editor.getSelectionStart();
int end = editor.getSelectionEnd();
// 获取选中的文本
String selected = editor.subText(start, end);
// Base64 编码
String encoded = Base64.encodeToString(selected.getBytes(), Base64.DEFAULT);
// 替换选中文本
editor.replaceText(start, end, encoded);
}
}
# 设置界面
创建插件的配置界面,提供设置选项和信息展示功能。
主要接口:
PluginPreference- 设置界面构建器,提供开关、输入框、列表等设置选项
应用场景:
- 配置插件参数(如 API 密钥、服务器地址)
- 提供功能开关
- 展示插件信息(如版本、作者、使用说明)
- 创建多级设置界面
示例:
public class MyPreference implements PluginPreference {
@Override
public void onBuild(PluginContext context, Builder builder) {
builder.title("插件设置");
builder.addInput("API 密钥", "api_key")
.defaultValue("")
.valueAsSummary();
builder.addSwitch("启用调试模式", "debug_mode")
.defaultValue(false)
.summaryOn("已启用")
.summaryOff("已禁用");
}
}
# 开发语言支持
MT 插件支持使用主流的 Android 开发语言。
# Java
推荐使用 Java 11 或更高版本进行开发。MT 插件系统支持现代 Java 特性,如 Lambda 表达式、Stream API、var 关键字等。
# Kotlin
完全支持 Kotlin 开发,推荐使用最新稳定版本。
# 语言特性支持
得益于 AGP 的 Desugaring 支持,插件可以使用许多现代 Java 特性,即使运行在低版本 Android 系统上:
- Java 8+ API(如 Stream、Optional、LocalDateTime)
- Lambda 表达式和方法引用
- 接口默认方法
- Try-with-resources
# 版本要求
开发和运行 MT 插件需要满足以下版本要求。
# MT 管理器版本
- 最低版本:MT 管理器 2.19.5+
- 推荐版本:最新稳定版
提示:MT 插件 V3 目前处于测试阶段,正式版发布后此处将更新具体的版本要求。测试期间请参考 Demo 项目 (opens new window) 了解最新版本信息。
# Android SDK 版本
插件编译和运行需要满足以下 Android SDK 要求:
- minSdk:21(Android 5.0)
# 开发工具版本
- Android Studio:Hedgehog (2023.1.1) 或更高版本
- Gradle:由 Android Studio 自动管理
- AGP (Android Gradle Plugin):8.1.0 或更高版本
# VIP 要求
- 插件开发和测试需要 MT 管理器 VIP 权限
- 仅 VIP 用户可以在 MT 管理器中安装和运行插件
- 非 VIP 用户无法安装插件,即使是自己开发的插件
# 下一步
准备好开始开发 MT 插件了吗?请继续阅读:
- 开发环境搭建 - 配置开发环境,创建第一个插件项目
- 插件上下文(PluginContext) - 了解插件运行环境的核心接口
- 本地化文本(LocalString) - 实现多语言支持
# 相关资源
- 官方 Demo 项目:https://gitee.com/L-JINBIN/mt-plugin-v3-demo (opens new window)
- 官方论坛:https://bbs.binmt.cc (opens new window)
- QQ 交流群:422326626
欢迎加入 MT 插件开发 QQ 交流群,与其他开发者交流经验、分享作品!
← API - 翻译引擎 开发环境 →
