将genstrings与文件夹结构项目一起使用以进行本地化

时间:2012-03-16 15:55:23

标签: xcode localization genstrings

在包含* .m文件的文件夹的iOS项目中,与包类似,必须运行 每个文件夹genstrings -o en.lproj *.m并匹配相对的en.lproj路径。是否有一个命令可以从根文件夹中进行深入分析?

4 个答案:

答案 0 :(得分:2)

您可以将所有* .m文件连接到一个文件中,然后在其上调用 genstrings

即:

find . -name "*.m" -exec cat {} >> all.txt \;

答案 1 :(得分:2)

在格林威治,我们使用find管道传输到xargs。你可以看到它是如何完成的here,但它基本上是:

find "path/to/directory" -name "*.m" -print0 |
  xargs -0 genstrings -s NSLocalizedString -o "path/to/output.strings"

我还建议您查看Greenwich,因为它可以让整个本地化过程变得更加轻松。

答案 2 :(得分:1)

如果你有一个简单的文件夹结构,你可能会得到一个简单的

genstrings -ao <destination> <root>/*/*.m

为每个级别的子文件夹使用一个*

或者,如果文件夹具有不同的嵌套级别,最好使用:

  find <root>/* -iname "*.m"  -type f -print0 | xargs -0 genstrings -ao <destination>

答案 3 :(得分:0)

对我来说,这条线刚刚解决了所有问题。在shell中运行该行之前,您甚至不需要将所有m-Files复制到一个文档。只需进入项目文件夹并运行它,即使是子文件夹也将被检查:

find . -name \*.m | xargs genstrings -o "directory/"

在运行之前创建目录,否则会出现异常。