iOS本地化:最佳实践

时间:2015-09-14 07:42:03

标签: ios xcode localization storyboard nslocalizedstring

有关iOS本地化的最佳做法是什么? 我一直在使用本地化工作,但感觉不够好并且可扩展。需要有一些更好的方法。 这是我目前的做法:

使用.strings文件+ NSLocalizedString

  • 效果很好。特别是在将字符串文件拆分成更小的部分时。但如果它涉及许多小文件。添加另一种语言可能会很乏味。

将.stringsdict用于零,一,多等字符串

  • 这也很有效。缺点是相当多的"代码"一句话。

使用Storyboard的.strings文件

  • 这是最棘手的部分。从故事板本身生成.string文件并不难。但由于某种原因,它不可能更新字符串?所以。如果在故事板文件中添加更多字符串,则无法在不重新生成的情况下将新字符串放入旧字符串中。这意味着您的所有旧翻译都将丢失。
  • 我已经阅读并测试了FileMerge。 (工作正常,但似乎还有很长的路要走)
  • 我已经阅读并测试了一些python脚本。 (不要工作)

我试图从Xcode创建一个xliff文件,但从来没有让它工作。 始终无法导出文件。

错误消息: 无法读取字符串文件./..../Localizable.strings/无法读取数据,因为格式不正确。

那么..你如何处理iOS中的Localizedstrings?特别。有关本地化故事板文件的方法是什么?我见过人们在代码中设置所有本地化字符串。但是为这个原因创建大量IBOutlets感觉就像是一个不必要的步骤。

1 个答案:

答案 0 :(得分:1)

使用自Xcode 6以来可用的导出/导入XLIFF功能。它是大多数翻译工具已知的通用文件格式,Xcode负责为您保持所有内容同步。来自WWDC 2014的会议也详细介绍了这一点。

确保您的故事板位于Base.lproj(这是新项目的默认设置),并且您使用具有本地化友好约束的自动布局(这是必要的,以便布局适当调整不同长度翻译)。