1

NSLocalizedString在我的 iOS 应用程序中提取字符串“marked”,我使用以下终端命令:

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

这将基本上提取所有 .m 文件中的所有标记字符串,并将它们放在我的项目 romanian 文件夹内的 Localizable.strings 文件中。

我的问题是我无法让它更新字符串文件。如果我更改/添加一些字符串,它将覆盖我的旧字符串文件。

我查看了genstrings接受的参数,查看了手册页,我似乎没有找到更新文件而不是覆盖它的选项。

如何更新翻译文件?

4

3 回答 3

2

genstrings不做更新。如果是这样,您仍然会遇到如何管理本地化文件更新的问题(这需要翻译人员注意更改他们的翻译,特别是对于已编辑的源字符串,因此他们需要查看源文本的差异)。

有为此设计的工具。例如 Localization Suite 桌面应用程序 ( http://www.loc-suite.org/ ) 和 Gengo String 网络应用程序 ( http://gengo.com/string/about/ )

于 2012-10-17T15:49:48.200 回答
1

你可以:

  • 使用-a将字符串附加到现有文件的标志
  • 或者,为输出选择不同的位置并使用文件合并工具来收集结果。
  • 或者使用版​​本控制合并回以前的版本。
于 2012-10-17T09:11:53.627 回答
0

Genstrings 不会更新,它是一次性交易。我使用 Linguan 工具,请参阅http://www.peerassembly.com/linguan.html 它并不昂贵,并且适用于 xcode 5。您只需将其指向您的 xcode 项目,它就会从您的代码中提取所有字符串(类似于 genstrings但没有命令行的东西)并构建 .strings 文件。当你更新你的代码时,你要求林冠再次扫描,它会很好地告诉你新的字符串是什么。您还可以执行其他操作,例如统计、导出、导入...

于 2014-05-11T18:38:12.917 回答