BabelCraft

BabelCraft

**模组翻译器** (Forge 1.20.1,客户端侧) — 实时翻译其他模组的所有屏幕文本,不修改Minecraft本身。支持多语言、免费(无需API密钥),带缓存。按住左Alt键可查看原文。

BabelCraft
版本 1.2.5.3 · Minecraft 1.20.1 · Forge 47+ · 仅客户端 · 许可证: MIT

BabelCraft(原名 Mod Translator)可以实时自动翻译其他模组绘制的所有屏幕文本——包括界面、按钮、屏幕标题、物品提示框(tooltips)、按钮提示框、指南书(Patchouli / Lexica Botania),甚至 HUD 覆盖层——而不会翻译 Minecraft 本身。你可以决定允许哪些模组被翻译,或一次性启用所有模组的翻译。

工作原理

  • 翻译使用免费的 Google 翻译端点(无需 API 密钥)。
  • 每个翻译过的字符串都会缓存到磁盘,因此每段文本只会被翻译一次——甚至跨游戏会话也有效。只有在给定文本第一次出现时才需要网络连接。
  • 待处理的文本行会批量发送(每次请求最多 20 行 / 1600 个字符,并设置 150 毫秒的窗口来组合来自同一页面的文本行),因此一整页指南书只需 1–2 次请求,而不是每行一次。屏幕上的文本始终优先于后台预翻译流量(见下文),所以大型整合包的预热永远不会延迟你正在查看的内容。
  • 在标题画面,BabelCraft 会在后台静默预翻译所有允许模组的语言文件,因此新世界中早期出现的界面(如选择起源的界面、任务书等)在你到达时更有可能已被翻译。
  • Patchouli 书籍会逐词绘制文本;该模组在翻译前会将单词重新组合成完整的行(以及可选的整段——见下方的“包裹长文本”),因此读起来像是一句完整的句子,而不是逐字翻译。在翻译结果到来前,会显示原始行,且无闪烁。
  • 由于翻译(例如葡萄牙语)通常比英语长,每行翻译都会适应原始空间:溢出约 8% 则保持不变,小幅溢出则压缩宽度(几乎不可察觉),较大溢出则按比例缩小字体以保持可读性(最小 0.4 倍)。
  • 玩家输入的文本(搜索框等)永远不会被翻译。聊天内容也永远不会被翻译(这是玩家对话和命令反馈,包括该模组自身的)。
  • 如果翻译服务失败或触发限流(无网络、端点过载),则显示原始文本,并且该模组会使用递增的退避时间(最多 2 分钟)进行重试,而不是持续冲击端点。

安装

  1. 将 babelcraft-1.2.5.3.jar 复制到你的 Forge 1.20.1 实例的 mods 文件夹中。
  2. 正常启动游戏。

快速入门
默认情况下,“翻译所有模组”是开启的——所有模组都会被翻译,无需逐个允许。如果你希望按模组控制,请在模组选项卡中关闭该选项,并在那里勾选你想要的模组(首次关闭时,会继续保持所有已加载模组的翻译状态,直到你取消勾选某个特定模组,因此不会突然出现无翻译的情况)。

配置界面(分页)
通过在聊天中输入 /babelcraft gui 打开,在 选项 → 控制 中绑定“打开 BabelCraft 设置”按键,或点击原版选项界面中“语言...”旁边的小方块“T”按钮。它有四个选项卡:

  • 通用 — 启用/禁用翻译;翻译放大镜(见下文);显示原文(提示框会在灰色翻译下方显示原文);翻译 HUD;物品提示框;包裹长文本(将多行段落作为一个整体翻译并重新包裹,仅限完整单词——默认关闭,对于布局会逐帧变化的模组更稳定);清除翻译缓存(强制重新翻译所有内容,在某个文本卡住显示错误或无翻译时有用)。
  • 模组 — 所有已加载模组的列表,每个模组带有 [x]/[ ] 复选框、搜索框(输入时按名称或 modid 过滤)、全部启用/全部禁用按钮以及页面导航。在搜索激活时,“全部”按钮仅对过滤出的模组生效。“翻译所有模组”复选框现在位于此处。
  • 语言 — 可点击选择的可用语言列表(葡萄牙语、英语、西班牙语、日语……),以及一个输入自定义语言代码的字段。
  • 进度条(新增)— 在三种显示翻译进度的方式中选择:面板(原有的带有模组名称+预计剩余时间的小文本框)、首领栏(一条宽条,样式与首领血条完全相同,会随着进度填充)、或旋转指示器(一个仅显示百分比的小旋转圆圈)。还可以配置:大小、不透明度和位置。

翻译放大镜
在 通用 → “翻译放大镜”(或 /babelcraft iconmode)中启用。屏幕上会出现一个小“T”图标,它与全局翻译协同工作,像一个放大镜:

  • 用鼠标拖动图标并将其拖到一段文本上。
  • 图标旁边会打开一个浮动面板,一次性显示整个段落的翻译(该模组会自动连接该区块中所有相邻行)——非常适合舒适地阅读那些原地翻译后显得较小的行。
  • 即使对于不在允许列表中的模组的文本也能生效(屏幕本身不会被改变,但放大镜会在面板中显示翻译)。
  • 当翻译仍在加载时,面板会显示“正在翻译...”。
  • 图标的位置会在各游戏会话间保存。

随时查看原文
按住左 Alt 键(可在“控制”中配置为“按住以查看原文”),所有翻译文本在按住键时会恢复为原文。松开键则翻译恢复。结合“显示原文”提示框选项,你可以同时查看两种语言。

命令

命令 效果
/babelcraft gui 打开配置界面
/babelcraft toggle 切换所有功能的开启/关闭
/babelcraft language <code> 设置目标语言(例如 pt、en、es)
/babelcraft allow <modid> 允许翻译该模组
/babelcraft disallow <modid> 移除对该模组的翻译许可
/babelcraft allowall 允许所有已加载的模组
/babelcraft disallowall 清除所有单独的翻译许可
/babelcraft allmods 切换“翻译所有模组”
/babelcraft iconmode 切换翻译放大镜
/babelcraft itemtooltips 切换物品描述翻译
/babelcraft wrap 切换整段包裹模式
/babelcraft clearcache 清除当前语言的翻译缓存
/babelcraft list 列出已加载模组及其开启/关闭状态
/babelcraft showoriginal 切换在提示框中同时显示原文和翻译
/babelcraft hud 切换 HUD 覆盖层翻译

植物魔法书(Lexica Botania)
当“翻译所有模组”开启时(默认),这本书已被翻译。如果你关闭了该选项,请记住这本书是由 Patchouli 模组渲染的,所以需要允许这两个模组:

/babelcraft allow patchouli
/babelcraft allow botania

patchouli 用于翻译书页;botania 用于翻译物品名称/提示框。

文件

  • 设置:config/babelcraft.json
  • 缓存:config/babelcraft/cache_<language>.json(删除它,或使用“清除翻译缓存”,以强制重新翻译)

兼容性

  • Minecraft 1.20.1
  • Forge 47+
  • 仅客户端——服务器上不需要安装。