更新iOS国际化的翻译

时间:2012-10-17 09:04:10

标签: ios xcode internationalization nslocalizedstring genstrings

要在我的iOS应用中使用NSLocalizedString提取字符串“已标记”,我使用以下终端命令:

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

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

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

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

如何更新翻译文件?

3 个答案:

答案 0 :(得分:2)

genstrings不会进行更新。如果确实如此,你仍然会遇到如何管理本地化文件更新的问题(这需要翻译员注意改变他们的翻译,特别是对于编辑过的源字符串,所以他们需要看到源文本中的差异)。

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

答案 1 :(得分:0)

你可以:

  • 使用-a标志将字符串附加到现有文件
  • 或者,为输出选择其他位置,并使用文件合并工具收集结果。
  • 或使用版本控制合并以前的版本。

答案 2 :(得分:0)

Genstrings不会更新,这是一次单程交易。 我使用Linguan工具查看http://www.peerassembly.com/linguan.html 它不贵并且与xcode 5配合得很好。你只需指出 它到你的xcode项目,它将从你的提取所有字符串 代码(类似于genstrings但没有命令行的东西)和 构建.strings文件。当您更新代码时,您会问Linguan 再次扫描,它会很好地告诉你新的字符串是什么。 你也可以做其他的事情,如统计,出口,进口......