您在 iOS 本地化方面有哪些最佳实践?
我一直在处理本地化,但感觉还不够好且不易扩展。需要有更好的方法。
这是我的当前方法:
使用.strings文件+NSLocalizedString - 这很有效,特别是将字符串文件分成较小的文件。但如果文件太多,添加另一种语言可能会很繁琐。 使用.stringsdict来处理零、一、多等字符串 - 这也很有效,缺点是对于一个单词,需要相当多的代码。
使用.storyboard文件的.strings文件 - 这是最棘手的部分。从storyboard生成.string文件本身并不难。但由于某种原因,无法更新字符串。所以,如果您在storyboard文件中添加了更多的字符串,则无法将新字符串加入旧字符串中而不重新生成。这意味着所有旧的翻译都将丢失。 - 我已经阅读并测试了FileMerge。(工作得还好,但似乎还有很长的路要走) - 我已经阅读并测试了一些Python脚本。(完全不起作用)
我尝试从Xcode创建xliff文件,但从未成功过。 始终无法导出文件。
错误消息: 无法读取./..../Localizable.strings/字符串文件。数据无法读取,因为它不符合正确的格式。
那么,您如何处理iOS中的本地化字符串?尤其是,您在本地化storyboard文件方面的做法是什么?我看过有些人将所有的本地化字符串都设置在代码中。但这样做似乎是一个不必要的步骤,需要为此创建大量的IBOutlets。
我一直在处理本地化,但感觉还不够好且不易扩展。需要有更好的方法。
这是我的当前方法:
使用.strings文件+NSLocalizedString - 这很有效,特别是将字符串文件分成较小的文件。但如果文件太多,添加另一种语言可能会很繁琐。 使用.stringsdict来处理零、一、多等字符串 - 这也很有效,缺点是对于一个单词,需要相当多的代码。
使用.storyboard文件的.strings文件 - 这是最棘手的部分。从storyboard生成.string文件本身并不难。但由于某种原因,无法更新字符串。所以,如果您在storyboard文件中添加了更多的字符串,则无法将新字符串加入旧字符串中而不重新生成。这意味着所有旧的翻译都将丢失。 - 我已经阅读并测试了FileMerge。(工作得还好,但似乎还有很长的路要走) - 我已经阅读并测试了一些Python脚本。(完全不起作用)
我尝试从Xcode创建xliff文件,但从未成功过。 始终无法导出文件。
错误消息: 无法读取./..../Localizable.strings/字符串文件。数据无法读取,因为它不符合正确的格式。
那么,您如何处理iOS中的本地化字符串?尤其是,您在本地化storyboard文件方面的做法是什么?我看过有些人将所有的本地化字符串都设置在代码中。但这样做似乎是一个不必要的步骤,需要为此创建大量的IBOutlets。