使用NSLocalizedString或.xib进行本地化

时间:2015-07-02 14:45:59

标签: ios localization nslocalizedstring

我正在寻找我在互联网上找不到的信息。我想知道NSLocalizedString出现在哪个iOS版本中? (也许它自iOS的第一个版本以来就在这里?)

我也想知道在.xib中使用本地化的情况,在这种情况下使用NSLocalizedString?

我问这个问题是因为我正在使用.xib文件和NSLocalizedString中的本地化工作iOS项目,而且我真的不知道为什么使用这两种方法... (这是一个古老的项目,这就是我问第一个问题的原因^^)

最后一个问题,对于一个新项目,这两种方法中哪一种是您首选的方法?

对不起所有这些问题,谢谢你的回答! =)

4 个答案:

答案 0 :(得分:0)

当我们想要在UI上本地化元素时,例如,当您想要显示具有特定UIButton的本地化文本的不同图像时,使用使用xib文件的本地化。
您可以使用本地化的xib文件来实现此目的。 每种语言都有单独的xib文件。 当您从控制器NSCocalizedString设置UI上的任何文本时。
我希望这会有所帮助。

答案 1 :(得分:0)

NSLocalizedString was first available in 10.0

所以我以编程方式本地化w / NSLocalizedString,因为这样我可以将所有字符串放在一个位置。

而不是通过.xib本地化生成,因为您将拥有每个xib的字符串文件。

,如果您有.xib,则表示您无法以编程方式进行修改(即您没有将自定义类设置为file's owner ),然后您无法以编程方式设置NSLocalizedStrings。在这种情况下,您必须通过.xib生成字符串文件。

此外,访问与.xib关联的字符串文件稍微困难一些,因为它与.xib

直接相关

答案 2 :(得分:0)

NSLocalizedString自iOS 1以来就存在。

基本上,你需要NSLocalizedString用于所有动态创建的字符串。

在新项目中,我建议使用AutoLayout和Base Localization。 有一个.xib文件和所有本地化 - 以及布局调整 - 在运行时通过.strings文件执行

答案 3 :(得分:0)

这个问题可能死了,但我跳到这里寻找一种定位xib字符串的方法,而此页面是第一个结果。

您可以同时使用NSLocalizedString和xib。看看这个答案:https://stackoverflow.com/a/21443515/907720在这里详细讨论:https://medium.com/zendesk-engineering/ios-how-to-add-adaptive-constraints-to-support-a-universal-app-273663475b12