1

在具有包含 *.m 文件的文件夹的 iOS 项目中,类似于包,必须 genstrings -o en.lproj *.m为每个文件夹运行并匹配相对 en.lproj 路径。是否有可以从根文件夹向下钻取的命令?

4

4 回答 4

2

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

IE:

find . -name "*.m" -exec cat {} >> all.txt \;
于 2012-03-18T15:28:34.143 回答
2

在格林威治,我们使用findpiped to xargs你可以在这里看到它是如何完成的,但它基本上是:

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

我还建议您看看格林威治,因为它使本地化的整个过程变得更加容易。

于 2012-03-18T15:36:39.990 回答
1

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

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

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

于 2013-10-04T14:53:43.530 回答
1

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

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

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

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

  find <root>/* -iname "*.m"  -type f -print0 | xargs -0 genstrings -ao <destination>
于 2012-03-17T10:19:47.967 回答