2

我有大约 100 个实例,我使用 NSLocalizedString 分布在多个目录中的多个文件中。

我首先尝试从高级目录使用此命令来生成 .strings 文件:

find . -name \*.m | xargs genstrings -o en.lproj

但这导致了错误:

couldn't connect to output directory en.lproj

所以我只是运行了这个:

find . -name \*.m | xargs genstrings

这生成了一个 Localizable.strings 文件,但它的内容仅从 2 个文件中提取了 NSLocalizedString 出现 - 这可能并非巧合地恰好位于同一目录中。

为什么该命令只处理一个目录然后停止。我正在从更高级别的目录 H 运行命令,并且在 M 中找到了这些源文件,因此命令找到了 H/M,但有 M 的对等目录,例如 H/AH/B 等,其中包含包含 NSLocalizedString 实例的 .m 文件。

知道为什么会出现问题吗?

4

3 回答 3

2

我认为 genstrings 正在破坏名称中带有空格的文件夹。这对我有用:

find . -name "*.m" -print0 | xargs -0 genstrings -o "OUTPUT_FOLDER"
于 2014-01-03T20:29:30.553 回答
0

我用 cat 将所有文件连接成一个,然后在上面运行 genstrings 来获取。

有兴趣知道为什么没有它就行不通。

于 2012-11-01T20:44:27.260 回答
-1

确保您en.lproj在从中运行命令的目录中调用了一个目录(大概是 .xcodeproj 所在的目录)。如果它不存在,只需创建它。

于 2012-11-01T18:41:47.313 回答