如何从所有XIB文件中提取所有可本地化的字符串到一个文件中?

时间:2011-04-21 12:02:23

标签: localization xib ibtool

我正在寻找一种从.xib文件中提取所有可本地化字符串的方法,并将所有这些字符串保存在一个文件中。

这可能涉及ibtool,但我无法确定只在一个翻译词典中合并所有这些内容的方法(可能是.strings.plist或其他内容。

2 个答案:

答案 0 :(得分:33)

打开终端并cd到项目的根目录(或存储所有XIB文件的目录)并输入以下命令:

find . -name \*.xib | xargs -t -I '{}' ibtool --generate-strings-file '{}'.txt '{}'

魔术是find和xargs命令协同工作。 -I选项生成占位符。 -t仅用于详细输出(您可以看到已生成并执行了哪些命令)。 它生成与同一目录中的xib文件同名的txts文件。 可以改进此命令以将输出连接到一个文件中,但仍然是一个很好的起点。

加入他们:

您可以使用类似的终端命令将这些新创建的文件连接成一个:

find . -name \*.xib.txt | xargs -t -I '{}' cat '{}' > ./xib-strings-concatenated.txt

此命令将所有字符串放入根目录中的一个文件xib-strings-concatenated.txt。

您可以再次使用find和xargs删除生成的部分文件(如果需要):

find . -name \*.xib.txt | xargs -t -I '{}' rm -f '{}'

答案 1 :(得分:5)

现在这很容易了。

在xcode中,选择你的项目(不是目标)

然后使用menu / editor / export进行本地化

xcode将输出一个xliff文件,其中包含整个项目中的所有可本地化字符串。