从脚本生成 xcode .stringdict 文件

Generate xcode .stringdict file from script

我正在尝试创建一个脚本(语言不相关,但它是 node/js 和 bash 的混合体)来 生成多个本地化文件 对于 xcode 称为 .stringdict 格式。

像往常一样,Apple 文档没有帮助(客气),只能在此 archive.

中找到有关 格式 的帮助

问题在于,即使只是复制现有的有效文件并从 shell 重新创建它,它显然也会因为格式不正确而失效。 尝试从 Xcode 打开它会导致以下错误:

Tried to create a document (class: IDEPlistDocument) and got a document with a different, non-conforming fileType back instead.

仔细阅读似乎xcode“方便地”将文件转换为二进制文件并添加了一些元数据。我看不出这有什么意义,但我还是尝试用 PlistBuddy 打开并重新保存文件(亲爱的苹果公司已经从标准中删除了路径,尽管它是一个长期使用的官方工具,但似乎周围有零文档),类似于:

/usr/libexec/PlistBuddy -x -c "Print" .<project-root>/Resources/de.lproj/Localizable.stringsdict

没有成功。

我也尝试过使用 plutil,但还是失败了:

plutil -convert xml1 ./<project-root>/Resources/de.lproj/Localizable.stringsdict 

TLDR: 我如何创建一个 xcode 可从脚本(使用任何语言,使用任何库或工具)读取的 stringdict 文件?

我遇到了同样的问题

plutil -convert binary1 Localizable.stringsdict

帮助了我,它不是用户可读的,但 Xcode 可以打开它。

但过了一会儿我意识到重新启动 Xcode 在 运行 plutil -convert xml1 Localizable.stringsdict

之后也有效