MTS/IV I18N

MTS/IV I18N

运行时国际化(i18n)注入器,用于Immersive Vehicles (MTS/IV)内容包。

MTS/IV I18N — 沉浸式载具模组的运行时国际化

MTS/IV I18N 是一个针对沉浸式载具模组 (MTS/IV) 及其附加内容包的运行时国际化注入器。它通过 Java 反射机制在运行时将物品名称、描述和 GUI 文本翻译成玩家选择的游戏语言——无需资源包。

内置完整中文翻译:覆盖 25 个以上内容包,约 16200 个词条,100% 完整。

为何不使用资源包?

MTS 不从标准的 Minecraft 语言文件中加载物品名称和描述。它使用自己专有的 LanguageSystem,将文本存储在自定义的内存数据结构中。资源包无法覆盖 MTS 的文本。本地化 MTS 的唯一方法是在 Java 层面——通过反射访问 LanguageSystem 并在运行时注入翻译后的值。

功能

  • 内置完整中文翻译——25+ 个内容包,约 16200 个词条
  • 多语言包系统——可为任何地区设置添加语言包
  • 运行时注入——修改内存中的 MTS LanguageSystem,无需重新加载包
  • 自动提取——首次启动时扫描内容包 JAR 文件,生成模板
  • 精确描述匹配——工具提示的完整句子级翻译
  • 后期加入注入——即使在游戏中途加入也能翻译描述

安装

  1. 为 Minecraft 1.21.1 安装 NeoForge 21.1.232+
  2. 安装沉浸式载具模组 (MTS) V24+
  3. 将 mts_i18n-1.0.0.jar 放入你的 mods/ 文件夹
  4. 启动游戏——翻译会根据游戏语言自动应用

如何创建你自己的语言包

该模组在首次启动时会从所有已安装的 MTS 内容包生成 JSON 模板文件。你可以将这些文件翻译成任何语言。

分步指南:

  1. 启动游戏一次。模组会扫描你的 mods/ 文件夹中 MTS 内容包的 JAR 文件,并在 mts_i18n/translations/ 下生成模板文件(每个内容包对应一个 JSON 文件)。

  2. 打开生成的 JSON 文件。每个文件包含以下格式的键:

{
  "[craftspeed] [name]Engine Block": "",
  "[craftspeed] [desc]A high-performance engine block": ""
}

键的格式为:[systemName] [type]originalEnglishText

  • [systemName] 是内部系统名称(自动生成,不要更改)
  • [type] 是 [name] 或 [desc]
  • originalEnglishText 是内容包中的英文文本
  1. 用你的翻译填充空值:
{
  "[craftspeed] [name]Engine Block": "发动机缸体",
  "[craftspeed] [desc]A high-performance engine block": "一个高性能发动机缸体"
}
  1. 打包成 ZIP 压缩包。将所有翻译后的 JSON 文件收集起来放入一个 ZIP 文件中。

  2. 使用你的语言代码命名该 ZIP 文件,并放置在 mts_i18n/ 目录下:

    • de_de.zip 用于德语
    • ja_jp.zip 用于日语
    • fr_fr.zip 用于法语
    • es_es.zip 用于西班牙语
    • 等等。

语言代码遵循 Minecraft 的地区格式(ll_cc,其中 ll 是语言,cc 是国家/地区)。

  1. 重启游戏。模组会自动从 Minecraft 的语言设置中检测你的游戏语言,并加载匹配的翻译包。

文件结构

[game_dir]/mts_i18n/
├── zh_cn.zip               → 中文包(游戏设置为中文时自动加载)
├── de_de.zip               → 德语包(游戏设置为 Deutsch 时自动加载)
├── ja_jp.zip               → 日语包(游戏设置为日本語时自动加载)
├── translations/           → 自动生成的模板文件
│   ├── craftspeed.json
│   ├── gvp.json
│   ├── mtsofficialpack.json
│   └── ... (25+ 个文件)

注意:

  • 多个语言包可以共存于 mts_i18n/ 文件夹中
  • 只有与你游戏语言匹配的包会被加载到活动词典中
  • 其他包仍会被扫描,其键会被记录为“已覆盖”,以防止生成重复模板
  • 不匹配 xx_xx.zip 模式的通用 ZIP 文件会无视语言加载(向后兼容)

工作原理

  1. 客户端启动时,模组扫描 /mods 目录下的 MTS 内容包 JAR 文件
  2. 从 jsondefs/ 和 language/en_us.json 中提取英文物品名称和描述
  3. 在 mts_i18n/translations/ 中生成翻译模板文件
  4. 从这些文件以及任何匹配的语言包 (.zip) 加载翻译
  5. 从 Minecraft.options.languageCode 检测游戏当前语言
  6. 将翻译注入 MTS 的 LanguageSystem——每个词条都会获得 values[lang_code] 下的本地化文本
  7. 加入世界时也会注入物品描述(针对 AItemPack 的后期处理)

内置翻译

该模组内置完整中文翻译:

包名 词条数
MTS Official Pack 882
Craftspeed (Racing) 7625
Craftspeed Wheels 1844
Craftspeed Parts 335
GT CRAFT 397
GT Craft Rims 372
GT Craft Interior 375
GT Craft Exterior / Bodykit / Parts 525
Kaminari Motor Work (KMW) 1944
Immersive Flight Simulator 308
IV Airliner Pack 332
S.L.O.P. Vehicle Pack 252
MTS Core Handbook 131
PGTH 15
总计(25+ 个文件) ~16200

许可证

MIT 许可证——可自由使用、修改和分发。