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

Xcode 将GenString与文件夹结构的项目一起使用以进行本地化,xcode,localization,genstrings,Xcode,Localization,Genstrings,在包含*.m文件的文件夹(类似于包)的iOS项目中,必须运行一个 genstrings-o en.lproj*.m用于每个文件夹,并匹配相对en.lproj路径。是否有从根文件夹向下钻取的命令 如果你有一个简单的文件夹结构,你可能会用一个简单的 genstrings -ao <destination> <root>/*/*.m 如果你有一个简单的文件夹结构,你可能会用一个简单的 genstrings -ao <destination> <root>

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

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

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

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

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

您可以将所有*.m文件连接到一个文件中,然后调用该文件上的genstring

即:


您可以将所有*.m文件连接到一个文件中,然后调用该文件上的genstring

即:

在格林威治,我们使用find管道连接到xargs。你可以看到这是如何做到的,但基本上是:

find "path/to/directory" -name "*.m" -print0 |
  xargs -0 genstrings -s NSLocalizedString -o "path/to/output.strings"
我还建议您看一下,因为它使整个本地化过程更加容易。

在格林威治,我们使用find piped to xargs。你可以看到这是如何做到的,但基本上是:

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

我还建议看一下,因为它使本地化的整个过程变得更加容易。

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

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

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

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

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

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

我已按照您的说明创建了该文件,但无法在该文件上使用genstrings命令。你能详细说明一下处理txt文件的行吗?我已经按照你的指示创建了这个文件,但无法在上面使用genstrings命令。你能详细说明一下如何处理txt文件吗?适用于Xcode11、iOS13、swift:find-name*.swift | xargs genstrings-o目录/与Xcode11、iOS13、swift:find一起工作-名称*.swift | xargs genstrings-o目录/