作为i18n项目的一部分,我需要以编程方式从NIB文件中提取字符串。当然,使用ibtool可以很容易地做到这一点。但这是一个跨平台的产品,NIB只是其中的一部分。如果我们不必将字符串提取锁定在特定的机器上,或者将目录合并脚本拼凑在一起,那就太好了。
所以我意识到这不太可能,因为对它的需求可能很低,但是有没有ibtool的开源替代品呢?有没有足够可靠的关于NIB格式的文档,可以用来编写解析器?
发布于 2010-01-01 02:12:07
如果使用XIB,那么它们就是简单的XML文件。只需查找具有键NSContents的string元素。如果您熟悉XML解析,那么在几乎任何语言中对--export-strings-file进行反向工程都不会花费很长时间。
如果不能迁移到XIB,可以读取keyedobjects.nib,这是一个二进制plist。一种可移植的阅读器是Perl实现plutil.pl。您还可以查看苹果在CFBinaryPlist.c中处理它们的开源代码。如果你需要走这条路,看看OpenCFLite。阅读和编写Plist是人们使用可移植的Core Foundation的一个关键原因。
https://stackoverflow.com/questions/1986375
复制相似问题