本地化 是一个适用于英灵神殿模组的运行时翻译助手。它会在文本即将显示前进行拦截,并用JSON规则文件中的值替换它。
这个模组旨在帮助翻译模组中硬编码的UI文本。它本身不会生成翻译;翻译规则由你提供。
TMPro.TMP_Text.text, TMPro.TMP_Text.SetText(字符串, 布尔值),以及 UnityEngine.UI.Text.文本.精确 全字符串匹配规则及 模板 基于占位符的匹配规则。忽略大小写序号.BepInEx/config/com.paxton0505.localization/<LanguageCode>/*.json.英语/*.json 作为可选的共享基线。翻译已启用 本地运行时开关 config.yaml.Ctrl + F1.BepInExPack_Valheim, 约顿,以及 JsonDotNET.本地化.dll 在 BepInEx/plugins.config.yaml、插件本地化文件以及语言文件夹已创建。BepInEx/config/com.paxton0505.localization/<LanguageCode>/.本地化.dll 已包含此模组使用的ServerSync实现。你无需为此插件单独添加ServerSync DLL。
示例结构:
BepInEx/ config/ com.paxton0505.localization/ config.yaml Localization-English.json Localization-Chinese_Trad.json English/ Common.json Chinese_Trad/ MyMod.json
英语 是可选的,可用作共享基线。繁体中文.本地化-*.json 文件用于插件自身的覆盖层、状态文本和回退日志字符串。插件创建 BepInEx/配置/com.paxton0505.localization/配置.yaml 启动时如果缺失。
翻译已启用:真
调试:假
整串最长匹配模式:按词
整串最长匹配最小长度:5
追踪信息最大条目数:1024
开发者工具已启用:真
开发者工具切换快捷键:左Ctrl + F1
设置 翻译已启用:否 绕过整个翻译流程。当此项为 false 时,拦截到的 UI 文本将保持不变,运行时也会跳过规则重载,直到翻译重新启用。
设置 调试:真 以启用运行时调试模式。
全字符串最长匹配模式 控件整串最长匹配精确替换:
每词: 只替换那些起始和结束都位于单词边界上的片段。最小长度: 仅替换可见字母/数字数量至少为的连续文本 最长匹配最小长度.关保持旧版不受限制的贪婪行为。启用后,日志将包含翻译前拦截的UI字符串、缓存命中和未命中缓存的命中、最终匹配阶段、占位符解析详情以及逐文件规则加载诊断信息。
追踪信息最大条目数 控制 Trace 页面在清除最旧条目之前保留多少个唯一条目。
已启用开发者工具 开启或关闭游戏内覆盖层。
开发者工具切换快捷键 控制覆盖热键。配置文件使用原始键名,例如 左Control + F1,而游戏内界面显示的快捷键与 Ctrl + F1.
翻译已启用, 调试, 最長整體字串匹配_*, 最大记录条数,以及 开发工具_* 全都来自本地 config.yaml服务器同步不会覆盖运行时设置。
在客户端构建中, 本地化 包含一个默认启用的游戏内开发者工具覆盖层,可通过以下方式打开 Ctrl + F1 在界面中(左Control + F1 在……里 配置文件)。
插件 为翻译、调试模式、全字符串最长匹配设置、跟踪源容量和叠加快捷键提供实时开关。性能 显示已加载规则数量、缓存大小、命中率、耗时,并可重置指标。追踪 捕获独特的截获字符串,允许暂停和搜索信息流,并显示所选条目的分阶段翻译分析。浏览器 按来源、语言和文件名加载了本地与服务器规则的分组。游乐场 让你能够起草精确/模板规则,针对已保存和已加载的规则进行预览,并复制纯 JSON。根级通过以下方式对叠加层和插件拥有的标签进行本地化 本地化-*.json 文件,这些文件会独立于翻译规则文件夹进行热重载。
每个JSON文件包含两个顶级数组: 精确 和 模板.
{
"exact": [
{
"match": "物品已被收藏,不会被存放",
"replace": "物品已被收藏,不会被存放"
},
{
"match": "格位已被收藏,不会被存放",
"replace": "格位已被收藏,不会被存放"
}
],
"templates": [
{
"match": "已将 {{$total}} 个物品从你的背包存放到附近容器中",
"replace": "已将 {{$total}} 个物品从你的背包存放到附近容器中"
},
{
"match": "<color=red>附近容器中没有 {{localize($itemName)}}</color>",
"replace": "<color=red>附近容器中没有 {{localize($itemName)}}</color>"
}
]
}
精确 规则优先尝试整串查找,若整串和模板均不匹配,则回退到整串最长匹配精确替换。模板 将完整的显示字符串与占位符进行匹配,例如 {{$itemName}}, {{$count}},或者像这样的受限占位符 {{$count:int}}, {{$weight:float(int=1..3,frac=0..2)}}, {{$itemName:words(count=1..3)}},以及 {{$mode:oneof(关闭|开启|自动)}}.序数忽略大小写.比赛 string. 那 替换 字符串仍在使用 {{$name}} 和 {{localize($name)}}.整数 和 浮动 接受可选前置 + 或 - 默认情况下签名。 浮动 当前使用 . 作为小数分隔符。哪里= 与 && 诸如 >0, ≥0, 小于10, ≤10, 五,或 不等于0.\n 在JSON字符串中用于换行。替换 值。从截获的源文本中提取的旧标签不会自动重新应用。示例:
{ "templates": [ { "match": "缺少 {{$count:int(where=>0)}} 个 {{$itemName:words(count=1..3)}}", "replace": "缺少 {{$count}} 个 {{localize($itemName)}}" } ] }
本地化() 模板内部你可以叫 {{localize($name)}} 在一个模板替换项内。
发生这种情况时,插件按以下顺序解析该值:
当模板中包含应通过现有精确规则翻译的物品名称或标签时,这很有用。
捕获的占位符值来自用于匹配的同一去标签输入。归一化精确匹配和模板匹配仅重新应用紧邻匹配可见范围外层包裹的标签。整串最长匹配精确替换仅保留完整截取字符串的最外层标签。
运行时可以安全地对同一个被拦截的字符串应用多次翻译处理。
这意味着你可以使用可选的 英语 将这一层作为其他语言硬编码文本的规范化步骤,然后让活动语言层将规范化后的英文文本翻译为最终目标语言。
例如 繁体中文 活跃:
BepInEx/config/com.paxton0505.localization/English/core.json
{ "exact": [ { "match": "Packesel", "replace": "驮马" } ], "templates": [] }
BepInEx/config/com.paxton0505.localization/Chinese_Trad/core.json
{ "exact": [ { "match": "Pack horse", "replace": "馱馬" } ], "templates": [] }
显示的字符串现在可以流式排列为 馱馬 在一次UI拦截检查中。
循环映射会被安全截断,因此当规则开始循环时链会停止。
如果拦截到的文本与规则仅在大小写或支持的富文本标签上有所不同,规范化匹配仍可将其匹配。例如, <color=orange>驮马</color> 可衔接至 驮马,然后继续翻译成当前语言,同时保留译文外层的颜色标签。
当非英语语言处于激活状态时,各层按从基线到最高覆盖的以下顺序应用:
英语 文件。英语 从服务器下载文件。如果当前语言为 英语,仅使用英文层。
BepInEx/配置/com.paxton0505.本地化.本地化-*.json 更改后还会重新加载插件自身的覆盖层/状态字符串,并在覆盖层打开时重建它。config.yaml 变更也会被监视。改变 翻译已启用, 调试、整串最长匹配设置、追踪馈送容量或开发者工具开关设置生效均无需重启游戏。专用服务器会在热重载激活以及发布新快照时记录日志。示例消息:
服务器同步权威源已启用;本地配置热重载已激活。在本地配置防抖变更后已发布本地翻译快照:2 个语言文件夹,12 个文件。
翻译已启用:true 在本地 config.yaml 给那位客户的。调试:真 在 BepInEx/config/com.paxton0505.localization/config.yaml 然后查看客户端日志。开发者工具已启用:真 并确认 开发者工具切换快捷键 与你预期的按键组合一致。本地化().如果你需要为单个模组或整个模组包、私人或公共服务器、任何游戏内语言进行委托本地化,请通过Discord联系我,讨论范围、可用性和细节。
此工作流由AI辅助,因此当前覆盖率通常在90%到95%左右,无法保证100%翻译通过。

修改前置工具
2026-09-12 14:33:53
修改前置工具

史诗战利品
randyknapp2026-09-09 21:20:10
为英灵神殿添加战利品掉落、魔法物品和附魔。

制作 建造 熔炼 烹饪 燃料 从容器中取出
aedenthorn2025-06-30 08:34:14
让你在制作、建造、使用熔炉和窑炉、添加燃料、烹饪食物等时,可以使用附近容器中的资源。

种植一切
Advize2025-09-09 11:15:37
重写了bkeyes93的种植增强模组。允许你的种植者种植浆果丛、蓟、蒲公英、蘑菇、此前无法获取的树种以及其他装饰性植物。还包括许多其他杂项功能(详见

无限制传送门
frostedplaything4102023-09-02 17:39:40
无限制传送门是一个客户端模组,允许玩家通过传送门传送任何物品。该模组提供广泛的自定义选项,让玩家能够控制物品限制、移除限制,

农场格子
Sarcenzzz2023-06-14 11:38:34
允许所有通过种植器种下的植物自动对齐并放置在网格中,确保它们有足够的生长空间。

更好的UI
MKMasa2021-04-15 09:19:42
这个模组对游戏界面做了一些细微的调整。你可以编辑并选择想要启用的更新内容。

更好的射箭
Ishid42026-09-10 16:16:51
为弓术玩法添加了许多功能和改动,包括全新的箭袋系统、可回收的箭矢、更精准的瞄准以及逼真的箭矢物理效果。