介绍
FTB Quests Lang Splitter
📰 简介
该模组新增了拆分 lang 文件的功能,以便更好地进行版本控制,同时还提供了一些实用命令。
📦 安装
该模组可在 CurseForge 上获取。
🔧 功能
👨💻 命令
split
将 lang 文件按类别拆分;对于任务、目标和任务链接,则会按章节进行分组。
lang/
├─ en_us/
│ ├─ chapters/
│ │ ├─ chapter1.snbt # Contains quest, task and quest links ids
│ │ ├─ chapter2.snbt
│ │ └─ chapter3.snbt
│ ├─ chapter.snbt # Chapter names
│ ├─ chapter_group.snbt # Chapter group names
│ ├─ file.snbt # Quest book name
│ └─ reward_table.snbt # Reward table names
└─ en_us.snbt # Original file, it updates from split files when loaded/reloaded
replace_unmerged: boolean (you mostly want to use false, unless you know you want to overwrite the previously generated and non-merged split files)
locale: locale code (ie: pt_br, zh_ch, ko_kr)
/langsplitter split <replace_unmerged> [<locale>]
# If you don't provide a locale it will split every lang available.
fill_missing_translation
根据 en_us 语言区域填充缺失的语言条目,并执行拆分操作。
注意:你可以在 debug.log 中查看所有新增的条目。
/langsplitter fill_missing_translation <replace_unmerged> <locale>
purge_merged
当你加载或重新加载任务,并且存在可读取的拆分文件时,这些文件会被合并到原始文件中,之后重命名为 .snbt_merged。如果你不想看到这些文件,可以使用此命令将它们从文件夹中清除。
/langsplitter purge_merged
用法
- 设置你的 .gitignore:
# FTB Quests Lang Splitter
# ignore original lang files like en_us.snbt
config/ftbquests/quests/lang/*.snbt
# ignore recovery files
config/ftbquests/quests/lang/recovery/*.snbt
# ignore already merged files
config/ftbquests/quests/lang/**/*.snbt_merged
-
对于译者:
- 先使用
fill_missing_translation命令生成包含所有条目的文件。 - 翻译你需要的内容。
- 运行
/ftbquests reload来合并你的修改。 - 现在,你的文件会被重命名为 .snbt_merged。
- 如果你仍然需要进行更多修改,可以选择:
- 再次运行
split命令来生成文件。 - 或者编辑现在的
.snbt_merged文件,完成后将其重命名回.snbt。 - 然后再次重新加载,以合并新的修改。
- 如果一切都准备好提交,只需最后再运行一次
split,然后提交相关文件的 PR(如果 .snbt_merged 文件妨碍了操作,可以运行purge_merged清除它们,但正确的 .gitignore 应该可以处理这种情况)。
- 先使用
-
对于维护者:
- 更新仓库中的 .gitignore。
- 现在,/lang/ 文件夹中应该只包含语言区域文件夹,不再包含文件。
- 要生成这些初始文件,请运行
split命令并提交生成的文件。 - 文件夹设置完成后,现在可以移除原始的语言区域 .snbt 文件(这些文件现在会在运行时从拆分文件合并后自动生成)。
- 从现在开始,只接受基于拆分文件的 PR/提交。
-
关于
recovery文件夹:- 当合并文件时,如果替换了已有条目(例如你重新翻译了某个条目),会将该条目备份到
recovery文件夹中,其中包含以下内容: - 会生成一个名称类似
en_us_<timestamp>.snbt的文件(例如:en_us_1755120819.snbt)
- 当合并文件时,如果替换了已有条目(例如你重新翻译了某个条目),会将该条目备份到
{
"chapters/basic_armor.snbt": {
quest.004D61425172324F.quest_subtitle: {
new: "This is my new subtitle"
old: "This is the old subtitle"
}
}
}
📝 许可证
本项目采用 MIT 许可证。
📬 联系方式
你可以在 All The Mods Discord 上通过 @Uncandango 联系我,也可以在 Github 上提交 issue,或在 CurseForge 的模组评论区留言。
👍 赞助商
YourKit 通过创新且智能的 Java 和 .NET 应用程序监控与性能分析工具为开源项目提供支持。YourKit 是 YourKit Java Profiler、YourKit .NET Profiler 和 YourKit YouMonitor 的开发者。
常见问题
Quests Lang Splitter 支持哪些 Minecraft 版本?
Quests Lang Splitter 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。
Quests Lang Splitter 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
Uncandango 的其他作品
查看全部 →AllTheLeaks (Memory Leak Fix)
这个模组修复了一些模组、NeoForge 和 Minecraft 的内存泄漏问题,直到它们各自实现修复为止。
KubeJS Tweaks
这是 KubeJS 的附属模组,用于为重度模组整合包抽象出 KubeJS 的一些常见用法,并在需要时应用热修复。
KubeGroovy
KubeGroovy 是 KubeJS 的一个分支,使用 Groovy 而非 JavaScript 运行。
RhinoTS (Typescript for KubeJS)
修改 KubeJS 的 JavaScript 引擎 Rhino,使其忽略 TypeScript 类型。

评论
登录后评论和评分