如何从plist文件中提取字符串进行翻译(本地化)



我需要准备字符串列表,以便翻译我的iPhone应用程序。我已经使用genstring从*.m文件提取了字符串,并使用ibtool命令从XIB文件提取了

但我在plist文件中也有很多文本需要翻译(字符串字段类型包含在String标记中)。有没有一个好的bash脚本/命令可以将这些字符串提取到一个平面txt文件中?我可以审查和过滤它,这样我的翻译人员就可以使用漂亮的列表,但不能使用外观陌生的XML文件。

我制作了一个自定义shell脚本,试图找出所需的值。然后,您可以修改使用localize.py脚本(见下文)来自动创建翻译文件。(换行符在某种程度上非常重要)如果有更多的实体需要翻译,则可以相应地修改外壳脚本

#!/bin/bash
rm -f $2
sed -n 'N;/<key>Title</key>/{N;/<string>.*</string>/{s/.*<string>(.*)</string>.*//*     1 */
"1" = "1";
/p;};}' $1 >> $2
sed -n 'N;/<key>FooterText</key>/{N;/<string>.*</string>/{s/.*<string>(.*)</string>.*//* 1 */
"1" = "1";
/p;}
;}' $1 >> $2
sed -n 'N;/<key>Titles</key>/{N;/<array>/{:a
N;/</array>/!{
/<string>.*</string>/{s/.*<string>(.*)</string>.*//* 1 */
"1" = "1";
/p;}
ba
;};};}' $1 >> $2

localized.py脚本需要一些修改。因此,我创建了一个小程序包,其中包含源代码和plistFiles的本地化程序。新脚本甚至支持Duplikates(意味着它会踢他们)

我们最近制作了一个小型在线应用程序来实现这一点,请查看:http://www.icapps.be/plist-translator/

我想不出任何命令。然而,plist是经过美化的xml文件,并且有各种解析器可用于它们。

创建一个简单的python脚本来获取文件中的所有字符串应该不会太困难。

这有帮助吗?http://www.icanlocalize.com/site/tutorials/how-to-translate-plist-files/

我们更喜欢付费客户与我们的翻译人员一起使用我们的翻译系统,但您可以在我们的GUI中免费进行自己的翻译。

最新更新