故事板/XIB和本地化最佳实践

22

官方推荐方法是为了本地化XIB/Storyboard,需要在每个你想要支持的本地化中创建.xib和.storyboard文件,放在xx.lproj文件夹中(其中xx是两个字母的语言ID)。

这样会产生一个问题,因为你有多个文件,在很多情况下共享相同的UI,并且容易更改。如果你想要重新设计一个视图的UI,你将不得不多次进行操作(如果你在xib本身中输入了本地化字符串值,则更糟)。这违反了DRY原则。

似乎更有效的方法是在需要时调用NSLocalizedString(),并只使用一个XIB或Storyboard作为基础本地化。

那么,我为什么应该(或不应该)创建本地化的XIB/Storyboard文件呢?

11个回答

0
我在尝试让xib本地化变得更加容易的过程中,遇到了这篇文章和其他几篇文章。我在这个问题上发布了我的方法,包括标签/按钮的IBOutles,对我来说非常有效,可以将所有更改限制在Localization.strings文件中。

https://dev59.com/BlDTa4cB1Zd3GeqPJHKB#15485572


对我来说,这种方式更好,因为我喜欢一边编写代码一边进行翻译。这样,您可以定期提取所有未翻译的字符串并进行补充。而采纳的答案则需要您不断停下来更新字符串或稍后查找尚未添加到plist中的字符串。 - Dean Davids

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接