通用模组本地化工具

创作者: FrovixAI
已更新:2026-09-25 02:48:25
68KB

前置 MOD

使用 通用模组本地化工具 时将自动安装

关于此 MOD

一个针对Valheim模组本地化的范围化系统,用于导出、导入、应用和同步已安装BepInEx模组的翻译。

通用模组本地化

无需编辑文件即可翻译英灵神殿模组。导出文本、翻译后再导入,并让每个模组保持独立有序。


英语

UniversalModLocalizer 是一个用于《英灵神殿》模组的翻译工具。

它的创建是为了让模组翻译更简单,无需手动编辑 DLL 文件或修改每个模组的原始文件。

该模组会扫描已安装的BepInEx插件,查找可翻译内容并将其导出为简单的JSON文件,可用任何文本编辑器或翻译工具进行编辑。

每个检测到的模组都会根据其BepInEx插件GUID拥有独立的文件夹,因此不同模组的翻译保持分离,管理起来也方便得多。

翻译准备好后,请将其放入相应的 导入 文件夹并在游戏内直接重新加载。

功能

  • 为每个检测到的模组单独设立翻译文件夹。
  • 简单的 UTF-8 JSON 翻译文件。
  • 自动检测已安装的BepInEx插件。
  • 读取现有的 JSON、YAML/YML、CSV、TSV 和 TXT 本地化文件。
  • 标准扫描,带 扫描.
  • 更深入的可见内容扫描,结合 深潜.
  • 使用以下方式重新加载翻译而无需重启游戏 重新加载UML.
  • 对硬编码UI文本的运行时翻译支持。
  • 支持 TMP_Text 和 Unity UI Text。
  • 支持简单的动态文本模板和占位符。
  • 预扫描物品、生物、建筑部件、效果及其他可见内容的预制体。
  • 服务器到客户端的翻译同步。
  • 同步服务器翻译的本地缓存。
  • 保护原始英灵神殿本地化标记。
  • 更宽容的JSON加载,以应对常见的格式错误。
  • 运行时翻译缓存,以提升性能。
  • 不修改模组DLL、存档、世界或原始本地化文件。

提升运行时性能

UniversalModLocalizer 在设计上力求在正常游戏过程中保持轻量。

更昂贵的所有权检测主要用于手动运行时 扫描 或 深层UML,而常规运行时 UI 翻译使用更快的缓存查找系统。

这显著降低了运行时文本翻译对性能的影响,尤其是在拥有大量UI元素的重度模组环境中。

对于多个模组使用相同硬编码UI文本但翻译不同的特殊情况,可选的:

启用作用域运行时组件查找

设置可启用更精确的基于拥有者的匹配。

它默认处于禁用状态,因为正常游玩时推荐使用更快的查找方式。

原版翻译保护

有些模组会复用已经属于Valheim的本地化令牌,例如:

铁锤 俱乐部物品 火力碎片

UniversalModLocalizer 会保护这些标记,以便 Valheim 可以继续使用其原始本地化内容,而不是用模组包中错误的翻译来替换它。

受保护的令牌存储在:

BepInEx/config/UniversalModLocalizer/vanilla_tokens.txt

若需要保护额外的词元,也可以手动编辑该列表。

指令

扫描

运行标准翻译扫描并导出检测到的字符串。

深度UML

对可见的模组内容执行更深入的扫描,包括已加载的 UI 元素和额外的预制体数据。

此模式可以查找正常扫描时可能无法检测到的字符串。

uml 重载

从以下位置重新加载翻译文件: 导入 文件夹,无需完全重启游戏。

UML 状态

显示当前选定的语言、已加载的翻译和配置位置。

波兰语

更改目标翻译语言。

你也可以使用:

UML语言自动

自动使用瓦尔海姆当前选择的语言。

UML 运行时开启

启用收集硬编码的运行时UI字符串,同时浏览模组菜单、HUD元素和其他界面。

使用方法

  1. 使用 r2modman 安装 UniversalModLocalizer,或将其手动放入:

BepInEx/plugins

  1. 启动英灵神殿并进入世界。

  2. 打开控制台并运行:

扫描

或:

嗯,深了

  1. 导出的文件可在以下位置找到:

BepInEx/config/UniversalModLocalizer/export/<语言>/<ModGUID>/

  1. 翻译 数值 在JSON文件内部。

  2. 将完成的翻译文件放在以下位置:

BepInEx/config/UniversalModLocalizer/import/<Language>/<ModGUID>/

  1. 奔跑:

重新加载模型

或重启英灵神殿。

现有导出文件会合并而非覆盖,因此再次扫描会添加新检测到的字符串,而不会删除您之前的工作。

示例

导出的 JSON:

{ "$item_fire_sword": "烈焰剑", "$item_fire_sword_description": "一把被烈焰吞噬的剑", "Ability is not ready": "技能尚未就绪" }

波兰语翻译:

{ "$item_fire_sword": "燃烧之剑", "$item_fire_sword_description": "被烈焰缠绕的剑", "Ability is not ready": "技能尚未就绪" }

只翻译右侧的值。

保持左侧的按键不变。

动态界面文本

UniversalModLocalizer 也能处理包含可变值的简单文本模板。

例如:

你有 {{$count}} 个技能点

常见占位符格式,例如:

{{count}} {{$count}} {0} %s %d

支持。

模组还可以在翻译缺失原文中存在的占位符时发出警告。

多人游戏

UniversalModLocalizer 可以将已完成的翻译包从专用服务器同步到已连接的客户端。

服务器仅在客户端缓存版本不同时发送翻译,从而减少不必要的传输。

因此,客户端可以自动接收服务器使用的翻译包。

客户端仍需安装UniversalModLocalizer插件才能进行运行时UI翻译。

兼容性

UniversalModLocalizer 最适合使用标准 Valheim 本地化令牌、Jotunn、可识别预制体或普通 Unity/TMP 界面元素的模组。

使用高度自定义界面或本地化系统的模组可能需要额外的兼容性支持。

如果无法安全识别文本或预制体的所有者,UniversalModLocalizer 会避免将其盲目分配给其他模组。

依赖

  • BepInExPack 英灵神殿
  • 尤顿

AI披露

通用模组本地化工具是在OpenAI Codex的协助下开发的。

生成的代码已在Valheim/BepInEx环境中进行了本地测试和调整。


波兰语

无需编辑文件即可翻译 Valheim 模组。导出文本、翻译后再导入,同时为每个模组保留独立文件。

UniversalModLocalizer 是一款专为翻译模组化《英灵神殿》而打造的工具。

自动检测已安装的BepInEx模组,收集可翻译的文本并将其导出为简单的JSON文件。

无需编辑DLL或各个模组的原始文件。

每个检测到的模组都会根据其 BepInEx GUID 获得一个独立文件夹,这样不同模组的翻译就不会混在一起,也便于管理。

准备好翻译后,只需将文件放入相应的文件夹即可 导入 并在游戏中直接重新装填。

主要功能

  • 为每个检测到的模组创建独立的翻译文件夹。
  • 简单的 UTF-8 JSON 文件。
  • 自动检测已安装的BepInEx插件。
  • 读取现有的本地化文件,支持JSON、YAML/YML、CSV、TSV和TXT格式。
  • 标准命令扫描 扫描.
  • 使用以下方式更精确地扫描可见内容 深层 UML.
  • 重新加载翻译无需重启游戏,感谢 重新加载模型.
  • 处理游戏运行期间创建的UI文本。
  • 处理 TMP_Text 以及 Unity UI Text。
  • 处理简单的动态文本和占位符。
  • 扫描物品、生物、建筑、效果及其他元素的预制体。
  • 服务器与客户端之间的翻译同步。
  • 来自服务器的翻译本地缓存。
  • 保护Valheim原始本地化令牌。
  • 容错读取JSON文件,处理常见格式错误。
  • 缓存运行时翻译以提升性能。
  • 不干涉模组DLL、游戏存档、世界以及原始本地化文件。

游戏性能更佳

UniversalModLocalizer 的设计目标是在正常游戏过程中尽可能轻量地运行。

更严格的文本所有者检测主要用于手动启动时:

UML扫描

噜布:

深潜

在正常游戏过程中,界面翻译使用更快的搜索系统和缓存。

得益于此,UI文本的翻译对FPS的影响大大降低,尤其是在大型模组包中。

在极少数情况下,当多个模组使用完全相同的UI文本但需要不同的翻译时,可以启用:

启用作用域运行时组件查找

该选项可以更精确地针对特定模组调整翻译,但由于性能开销较大,默认处于关闭状态。

Valheim翻译保护

一些模组使用了已属于《英灵神殿》基础版本的令牌,例如:

锤子 物品_俱乐部 火焰碎片

UniversalModLocalizer 会记录这些令牌,因此 Valheim 仍可使用其原始翻译,而不会被模组翻译中的错误条目所替换。

受保护的令牌列表可在此处查看:

BepInEx/config/UniversalModLocalizer/vanilla_tokens.txt

如有需要,也可以手动扩展它。

命令

扫描

启动标准扫描并导出检测到的文本。

嗯,深了

执行更精确的扫描,检测可见的模组内容、附加预制件以及已加载的界面元素。

允许找到普通扫描可能无法检测到的文本。

重新加载 UML

正在从文件夹重新加载翻译 导入 无需重启游戏。

统一建模语言状态

显示当前选择的语言、已加载的翻译数量以及配置位置。

波兰语

设置翻译语言。

也可以使用:

统一建模语言 自动

使UniversalModLocalizer使用Valheim中当前选择的语言。

UML运行时开启

在使用模组窗口、HUD和其他界面元素时启用UI文本收集。

如何使用

  1. 通过r2modman安装UniversalModLocalizer,或手动将其放入:

BepInEx/plugins

  1. 启动英灵神殿并进入世界。

  2. 打开控制台并输入:

扫描

lub:

嗯深

  1. 你可以在以下位置找到导出的文件:

BepInEx/config/UniversalModLocalizer/export/<Language>/<ModGUID>/

  1. 翻译 值 位于 JSON 文件中的。

  2. 将准备好的文件放入:

BepInEx/config/UniversalModLocalizer/import/<语言>/<ModGUID>/

  1. 输入:

重新加载UML

或重新启动 Valheim。

现有导出文件会合并而不是替换,因此重新扫描可以添加新文本而不会删除之前的工作。

示例

导出的文件:

{ "$item_fire_sword": "烈焰之剑", "$item_fire_sword_description": "一把被烈焰吞噬的剑", "Ability is not ready": "技能尚未就绪" }

波兰语翻译:

{ "$item_fire_sword": "燃烧之剑", "$item_fire_sword_description": "被烈焰环绕的剑", "Ability is not ready": "技能尚未就绪" }

只翻译右侧的值。

左边的按键应保持不变。

动态UI文本

UniversalModLocalizer 也支持包含动态变化值的简单文本。

示例:

你有 {{$count}} 个技能点

支持的常见占位符格式包括:

{{count}} {{$count}} {0} %s %d

模组还可以在翻译中缺少原文占位符时发出警告。

多人游戏

UniversalModLocalizer可以将现成的翻译包从专用服务器同步到已连接的客户端。

服务器仅在客户端缓存中的版本不同时发送数据包。

这样玩家就能自动获取该服务器所使用的翻译合集。

MustModLocalize 仍然必须在客户端安装,才能在游戏运行时翻译 UI 文本。

兼容性

UniversalModLocalizer 与使用 Valheim 标准本地化标记、Jotunn、可识别预制体以及 Unity 和 TMP 标准界面元素的模组配合效果最佳。

一些使用完全自定义UI系统或本地化功能的模组可能需要额外支持。

如果 UniversalModLocalizer 无法安全确定某段文本或预制体属于哪个模组,就不会强行将其分配给随机的模组。

依赖关系

  • BepInExPack 英灵神殿
  • 约顿巨人

AI使用信息

UniversalModLocalizer 是在 OpenAI Codex 的支持下创建的。

生成的代码随后在Valheim/BepInEx环境中进行了本地测试和调整。

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!