Skip to content

Releases

InkTagger v0.2.0

Choose a tag to compare

@Binaryinject Binaryinject released this 19 Sep 03:07

多语言同步(新)

  • 新增 --csv-root / --csv-source / --csv-languages:只解析一遍 Ink,就导出全部语言目录(<root>/<语言>/<章节>.csv),语言数量不再成倍增加耗时。
  • 未翻译的占位会跟随源文:源文从「你好」改成「你好啊」后,其它语言里仍然是「你好」这份旧副本的格子会自动更新为「你好啊」;人工翻译过的格子(例如英文的 is that you)永远保留,只会在报告里列出。
  • 判断基准是源语言目录本身(上一版源文快照),不需要任何额外的状态文件或目录。
  • 新增 --csv-sync:--csv 单目录模式的合并导出(保留已有文本、追加新 ID、移除已删除 ID)。
  • 新增 --csv-sync-hold:安全模式,只报告「源文已变但仍未翻译」的格子,不自动修改。
  • 新增 --sync-report=<path>:把合并明细写成 CSV(语言、动作、章节、ID、旧源文、新源文、当前值)。

分章 DryDB(新)

  • 新增 --drydb-split:每个章节单独产出 strings_<章节>.drydb,内含该章所有语言的表,表名规则为 <语言>_<章节>(如 english_Chapter1),与运行时 GetTable($"{language}_{chapter}") 完全一致。
  • 新增 --drydb-csv-filter=<pattern>:只转换匹配的 CSV(如 Chapter1.csv),配合 --drydb-split 可以只重建一章的数据库。

兼容性

  • 源文没改、译文也没改时,输出的 CSV 与现有文件逐字节一致(BOM、ID,Text 表头、CRLF、引号规则全部对齐),SVN/Git 不会出现无意义的整文件 diff。
  • 命令行参数与既有项目脚本完全兼容:GenerateDryDB.bat、RebuildChapter.bat、GenerateRetag.bat 都不需要改动。
  • 产出的 strings_Chapter0.drydb / strings_Chapter1.drydb / strings_Chapter2.drydb 与项目当前文件大小完全一致。

用法示例

# 全量:导出全部语言(一次解析)
InkTagger.exe --folder=./ --csv-root=./csv --csv-source=chinesesimplified \
  --csv-languages=chinesesimplified,chinesetraditional,english,japanese,korean,thai

# 只处理一章
InkTagger.exe --folder=./ --filePattern=Chapter1.ink --csv-root=./csv \
  --csv-source=chinesesimplified --csv-languages=chinesesimplified,english

# 生成运行时数据库(每章一个文件)
InkTagger.exe --only-csv-to-drydb --drydb-csv=./csv --drydb-csv-out=../../StreamingAssets --drydb-split

# 只重建一章
InkTagger.exe --only-csv-to-drydb --drydb-csv=./csv --drydb-csv-out=../../StreamingAssets \
  --drydb-split --drydb-csv-filter=Chapter1.csv

合并摘要示例:Sync summary [english]: kept 15, followed 2
(kept = 保留的人工译文,followed = 跟随新源文的占位,另有 new / filled / removed / held)

注意事项

  • 首次接入:语言目录里若是历史遗留的 CSV(源文改过、但用旧版工具跑过),那些「已不是当前源文、却确实是没翻译的旧占位」无法被自动识别,会被当作译文保留。跑一轮后基准即建立,之后的改动都能正确跟随。
  • 与源文完全相同的译文(专有名词、数字、同形词)会被当作未翻译,源文改动时会跟随;需要锁定的内容请让它与源文不同,或使用 --csv-sync-hold。
  • 重新翻译:清空格子即可,下次运行会重新填入当前源文并视为未翻译。
  • 删除语义:Ink 中删掉的行会从所有语言 CSV 中移除,译文历史请依赖版本控制。

完整变更

git log v0.1.0..v0.2.0

产物

平台 文件
Windows x64 InkTagger-win-x64-0.2.0.zip
macOS Apple Silicon InkTagger-osx-arm64-0.2.0.zip
macOS Intel InkTagger-osx-x64-0.2.0.zip
Linux x64 InkTagger-linux-x64-0.2.0.zip

解压后得到自包含可执行文件;Windows 下如需 Zstandard 压缩,请保持 libzstd.dll、lz4.dll 与 InkTagger.exe 同目录(macOS/Linux 对应 libzstd.dylib/liblz4.dylib、libzstd.so/liblz4.so)。

InkTagger v0.1.0

Choose a tag to compare

@Binaryinject Binaryinject released this 31 Aug 09:24

Full Changelog: v0.0.4.0...v0.1.0

InkTagger v0.0.4.0

Choose a tag to compare

@Binaryinject Binaryinject released this 31 Jan 14:58

Full Changelog: 1.0.0...v0.0.4.0