iOS本地化:最佳实践

use*_*023 9 xcode localization storyboard nslocalizedstring ios

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

使用.strings文件+ NSLocalizedString

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

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

  • 这也很有效.缺点是对于一个单词来说是相当多的"代码".

使用故事板的.strings文件

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

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

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

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

Fon*_*nix 2

我所做的最初是一项艰巨的任务,但从长远来看是值得的,即将所有翻译放入 Excel 文件中,然后将 Excel 文档保存为 csv。然后我编写了一个小解析器,它将 csv 文件解析为字符串文件格式。如果您也有 Android 项目,则非常适合保持字符串对齐。