自动翻译

自动翻译

使用私有或公共AI将模组文件翻译成中文语言文件

工具

AutoTranslator – 智能 AI 驱动的 Minecraft 模组翻译

https://img.shields.io/badge/License-MIT-green https://img.shields.io/badge/NeoForge-1.21.1-blue https://img.shields.io/badge/Translation%2520Data-CC%2520BY--NC--SA%25204.0-lightgrey

一键 AI 翻译 —— 告别未翻译的模组!

AutoTranslator 是一款客户端 NeoForge 1.21.1 模组,使用你配置的任意 AI 模型(本地或云端)批量将所有已安装模组的语言文件翻译为简体中文,并自动打包为资源包,立即生效。

✨ 核心特性

🤖 AI 驱动的自动化

无需再手动寻找翻译包。只需配置你的 AI API 端点,点击"开始翻译",所有缺失的中文条目便会自动生成。几分钟内即可享受完整的本地化体验。

📚 内置术语数据库

在向 AI 发送请求之前,模组会查询本地 SQLite 词典(数据来源于 CFPA 项目)以获取已知的 Minecraft 术语。这确保了翻译的一致性,并大幅减少 API 调用次数,节省 Token 成本。

🔗 i18n 资源包协同

与现有 i18n 资源包(如 Minecraft-Mod-Language-Modpack)的独特集成。模组可从外部中文资源包中读取翻译,仅将剩余缺失的条目转发给 AI。这进一步降低了成本并提升了整体质量。

⚙️ 完全透明与可控

  • 游戏内 GUI 便捷配置:API URL、密钥、模型名称、本地/远程模式等。
  • 详细调试日志位于 config/autotranslator/debug.log —— 追踪每一次请求、词典命中及进度。
  • 白名单/黑名单过滤,仅翻译特定模组。
  • 随时手动停止,不会损坏已生成的资源包。
  • 原子化资源包替换 —— 临时文件以原子方式移动到最终资源包,防止读取不完整。

📦 快速开始

1. 安装

将模组 .jar 文件放入 mods 文件夹并启动游戏。

2. 打开配置

从主菜单进入"模组",在列表中找到 AutoTranslator,点击"配置"按钮(齿轮图标)。

3. 输入 API 详情

  • API URL:例如 https://api.deepseek.com/v1/chat/completions(云端)或 http://localhost:1234/v1/chat/completions(本地 LM Studio)。
  • API Key:云服务请输入你的密钥。本地模型可填写任意字符串(例如 lm-studio)。
  • 模型名称:精确的模型标识符,例如 deepseek-chat、qwen2.5-7b-instruct。
  • 本地模式:使用本地 API 时启用(按顺序执行任务以避免过载)。

4. (可选)高级配置

编辑 config/autotranslator/config.json 以配置隐藏设置(即使不在 GUI 中,也会在保存时保留):

  • timeout_seconds:请求超时时间(秒)(默认 300;慢速本地模型建议 600)。
  • batch_size:每次 AI 调用的条目数(默认 30;若出现超时,可减至 10)。
  • requests_per_second:每秒最大 API 调用次数(默认 5;本地模型可适当提高)。
  • filter_mode / filter_list:模组过滤(白名单/黑名单)。
  • system_prompt:自定义 AI 翻译指令。
  • i18n_resourcepack_name:外部 i18n 资源包文件名;设为 "none" 以禁用(参见下方 i18n 协同)。

5. 开始翻译

开始前,请确保在资源包界面中已禁用 AutoTranslation.zip 资源包。

返回配置界面,点击"开始翻译"。

进度显示在底部。完成后,按 F3+T 重新加载资源包。

🌐 i18n 资源包协同(详细)

如果你拥有社区维护的 i18n 资源包,例如 Minecraft-Mod-Language-Modpack-Converted-1.21.1.zip,将其放入 resourcepacks 文件夹并更新 config.json:

"i18n_resourcepack_name": "Minecraft-Mod-Language-Modpack-Converted-1.21.1.zip"

翻译时,模组会从该资源包中提取所有中文字符串,并用它们覆盖自身的输出。仅将仍然缺失的键发送给 AI。这可以节省超过 70% 的 API 调用。

优先级:i18n 资源包 > 先前的 AutoTranslator 缓存 > AI 翻译。

启用方式:修改配置后,在 GUI 中点击"重新加载文件"或重启游戏。

⚠️ 重要说明

  • 资源包冲突:开始新翻译前,请始终在资源包菜单中禁用现有的 AutoTranslation.zip。
  • 网络问题:如果在某些地区无法下载词典或访问 GitHub,请在启动器的 JVM 参数中添加 -Djava.net.useSystemProxies=true 并启用系统代理。
  • Token 消耗:使用云端 API 时,请注意 Token 计费。使用内置词典和 i18n 资源包可大幅降低成本。
  • 本地模型调优:设置更长的超时时间(例如 600 秒)和更小的批次大小(例如 10),以避免请求超时。
  • 安全性:本模组仅在客户端运行,不修改游戏核心文件,仅添加一个资源包。

📂 文件结构

config/autotranslator/
├── config.json               # 用户配置
├── debug.log                 # 详细翻译日志
└── dict/
    └── Dict-Sqlite.db        # 自动下载的 Minecraft 术语数据库
resourcepacks/
└── AutoTranslation.zip       # 生成的中文资源包

🤝 开源与致谢

本模组的内置翻译数据库来源于 CFPATools/i18n-dict,原始数据由 CFPAOrg/Minecraft-Mod-Language-Package 维护,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议(CC BY-NC-SA 4.0)。

模组代码基于 MIT 许可证发布。

📝 调试与日志

所有翻译活动均记录在 config/autotranslator/debug.log 中,带有时间戳([HH:mm:ss])。为方便开发者,日志内容为中文。

实时监控:

tail -f config/autotranslator/debug.log

💡 常见问题

Q:为什么有些条目翻译失败?

A:通常是 API 超时或响应格式错误。请增大 timeout_seconds,减小 batch_size,并验证模型名称。

Q:如何只翻译特定模组?

A:在 config.json 中将 filter_mode 设为 whitelist,并将模组 ID 添加到 filter_list(逗号分隔)。

Q:如何更新内置词典?

A:词典每 7 天自动更新一次。或者,删除 config/autotranslator/dict/Dict-Sqlite.db 并重启游戏。

Q:我可以分享生成的资源包吗?

A:当然可以!AutoTranslation.zip 是标准资源包,可自由分享。

https://cdn.modrinth.com/data/cached_images/201d572314f68fa6a6011f19a22bb8872c4ef91e.jpeghttps://cdn.modrinth.com/data/cached_images/68b0c03b013c378b181377b37236ac4cb5f49935.jpeg

游戏内设置选项配置文件