一体化翻译

一体化翻译

一个游戏内AI翻译模组,适用于Minecraft,支持聊天、聊天输入、物品提示和记分板翻译,具备多提供商路由、AI聊天输入助手面板以及完全在游戏内完成的配置流程。

社交

Translate All in One

预览说明

  • 当前目标版本:Minecraft 1.21.10
  • 平台:Fabric(客户端)
  • Java:21+
  • 本项目正在积极开发中。欢迎在 Issues 中提供反馈和错误报告。

一个游戏内 AI 翻译模组,适用于 Minecraft,支持聊天、聊天输入、物品提示和计分板翻译,具备多服务商路由、AI 聊天输入助手面板,以及完全在游戏内完成的配置流程。


English

当前已实现功能

翻译模块

模块 功能 主要特点
聊天输出 翻译收到的聊天消息 自动模式或手动 [T] 点击模式,可选流式显示
聊天输入 发送前翻译你的文本 快捷键触发翻译加上 AI 改写操作(翻译/专业/友好/扩写/简洁/还原),可选流式更新
物品提示 翻译物品自定义名称与描述 模板/样式保留管线,异步缓存队列
计分板侧边栏 翻译前后缀与玩家名显示 实时替换并保留样式重建

AI 服务商与路由系统

  • 在一个配置中支持多个服务商配置档案。
  • 服务商类型:
    • OPENAI_COMPAT(/chat/completions)
    • OPENAI_RESPONSE(/responses)
    • OLLAMA(/api/chat)
  • 可为以下路由独立选择模型:
    • 聊天输出
    • 聊天输入
    • 物品翻译
    • 计分板翻译
  • 每个模块都有独立的 目标语言 字段。

模型级控制

  • 模型 ID
  • Temperature
  • Ollama keep_alive(用于 Ollama 配置档案)
  • 支持系统消息开关
  • 将系统提示词注入用户消息开关(当系统消息模式禁用时使用)
  • 带兼容回退的结构化输出开关
  • 提示词后缀
  • 自定义参数(JSON 树编辑器)
  • 设为默认模型

运行时行为与可靠性

  • 翻译管线尽可能保留样式标记/占位符/token。
  • 物品与计分板模板缓存持久化到磁盘。
  • 重试队列优先处理重新入队的失败项(队列前部重试)。
  • 支持批量翻译,可配置批量大小/线程数(物品/计分板)。
  • 会话纪元防护可防止旧异步回调在世界/会话切换后写入过期结果。
  • 缺少密钥和密钥不匹配检测会触发优先重试,并在游戏内提供清晰的回退/状态行为。

命令与更新辅助

  • 启动时对照 GitHub releases 检查更新(最新 tag 检测)。
  • 在聊天和配置模态框中显示游戏内更新通知,支持一键打开发布页面。
  • 客户端命令:translate_allinone translatechatline <messageId> 用于手动重新翻译聊天行(供手动 [T] 流程使用)。

游戏内配置界面功能

  • 基于 ModMenu 的完整自定义配置界面。
  • 带有分组框的结构化分区。
  • 支持滚动 + 裁剪 + 滚动条拖动以处理长内容。
  • 在游戏内进行服务商/模型操作:添加/删除服务商、测试连接、管理路由模型、设置默认模型、编辑自定义 JSON 参数。
  • 统一操作流程:
    • 完成 = 保存并关闭
    • 取消 = 放弃未保存的更改
    • 重置(红色按钮)= 确认后重置为默认值
  • 配置界面内置快捷键捕获(这些模块绑定不再需要在 Minecraft 控制中绑定)。
  • 配置侧更新通知模态框支持直接打开最新发布页面。

运行环境要求

  • Minecraft 1.21.10
  • Fabric Loader >= 0.18.1
  • Java >= 21
  • Fabric API
  • ModMenu >= 16.0.0

安装步骤

  1. 为 Minecraft 1.21.10 安装 Fabric Loader。
  2. 将以下 jar 文件放入 mods 文件夹:
    • translate-all-in-one-*.jar
    • Fabric API
    • ModMenu
  3. 启动游戏并打开 ModMenu。
  4. 打开 Translate All in One 配置并设置服务商/模型路由。

快速开始

  1. 在 Providers 中添加至少一个服务商配置档案。
  2. 在服务商下添加模型,并为每个模块设置路由模型。
  3. 设置模块目标语言(聊天输出/输入、物品、计分板)。
  4. 按需配置快捷键/模式。
  5. 点击 完成 保存并关闭。

配置与运行时文件

  • 主配置:
    • config/translate_allinone/config.json
  • 缓存:
    • config/translate_allinone/item_translate_cache.json
    • config/translate_allinone/scoreboard_translate_cache.json

从源码构建

./gradlew build

常用命令:

./gradlew check
./gradlew runClient

许可证

MIT。请参阅 LICENSE。


简体中文

当前已实现功能(完整)

翻译模块

模块 功能 主要特点
聊天输出翻译 翻译收到的聊天消息 支持自动翻译和手动 [T] 点击翻译,支持流式显示
聊天输入翻译 发送前翻译输入框内容 快捷键触发翻译 + AI 改写面板(翻译/专业/友好/扩写/简化/还原),可流式回填输入框
物品翻译 翻译物品名称与 Lore 模板/样式保留,异步缓存队列
计分板翻译 翻译侧边栏显示文本 前后缀与玩家名按配置实时替换

服务商与路由能力

  • 同时支持多个服务商配置档案。
  • 支持的 provider 类型:
    • OPENAI_COMPAT(/chat/completions)
    • OPENAI_RESPONSE(/responses)
    • OLLAMA(/api/chat)
  • 可为每个功能模块独立设置路由模型:
    • 聊天输出
    • 聊天输入
    • 物品翻译
    • 计分板翻译
  • 每个模块都可独立配置目标语言。

模型级参数(Model Settings)

  • 模型 ID
  • Temperature
  • Ollama keep_alive(仅 Ollama)
  • 是否支持 System 消息
  • 当不支持 System 消息时,是否将提示词注入用户消息
  • 结构化输出开关(带兼容回退)
  • 提示词后缀
  • 自定义参数(JSON 树编辑)
  • 设为默认模型

运行时特性与稳定性

  • 翻译流程尽量保留样式标记、占位符与关键 token。
  • 物品与计分板采用持久化模板缓存,减少重复请求。
  • 失败重试任务使用更高优先级(进入队列前部)。
  • 物品/计分板支持批处理与并发参数配置。
  • 会话 Epoch 防护:切换世界/会话后,旧异步回调不会回写过期翻译结果。
  • missing key / key mismatch 会触发优先重试,并提供更明确的游戏内状态回退与反馈。

命令与更新提醒

  • 启动时自动检查 GitHub 最新版本(tag)。
  • 在聊天栏与配置界面内提供更新提示,并支持一键打开 Release 页面。
  • 提供客户端命令:translate_allinone translatechatline <messageId>,用于手动重翻译聊天行([T] 流程会使用该链路)。

配置界面特性

  • 基于 ModMenu 的完整自定义配置界面。
  • 分组框布局(Basic / Hotkey / Performance / Route / Providers)。
  • 支持滚动、裁剪、滚动条拖动,长列表/小窗口可正常使用。
  • 可在游戏内完成 provider/model 管理:新增/删除服务商、测试连接、设置路由模型、设为默认模型、自定义参数树编辑。
  • 顶部动作统一:
    • 完成 = 保存并关闭
    • 取消 = 放弃未保存修改
    • 重置(红色按钮)= 二次确认后恢复默认配置
  • 模块快捷键支持在配置界面内直接捕获与清除。
  • 配置界面的更新提示弹窗支持直接打开最新版本发布页。

运行环境要求

  • Minecraft 1.21.10
  • Fabric Loader >= 0.18.1
  • Java >= 21
  • Fabric API
  • ModMenu >= 16.0.0

安装步骤

  1. 安装 Minecraft 1.21.10 对应的 Fabric Loader。
  2. 将以下文件放入 mods 文件夹:
    • translate-all-in-one-*.jar
    • Fabric API
    • ModMenu
  3. 启动游戏并在 ModMenu 中打开本模组配置。
  4. 配置服务商、模型与路由后保存。

快速配置建议

  1. 在 Providers 中先添加至少一个服务商。
  2. 为服务商添加模型,并设置各模块路由模型。
  3. 分别填写四个模块的目标语言。
  4. 配置需要的快捷键与模式。
  5. 点击 完成 保存。

配置与缓存文件

  • 主配置:
    • config/translate_allinone/config.json
  • 缓存文件:
    • config/translate_allinone/item_translate_cache.json
    • config/translate_allinone/scoreboard_translate_cache.json

从源码构建

./gradlew build

常用命令:

./gradlew check
./gradlew runClient

许可证

本项目采用 MIT License。