[英]Xcode 6 does not localize Interface Builder
使用Swift的Xcode 6 Beta 4 。
我在我的项目中使用本地化,并且我在Xcode 5中具有本地化经验。
使用NSLocalizedString()
在程序代码中进行本地化工作正常。 Info.plist
字符串的本地化也可以正常工作。
从Interface Builder本地化字符串时,它只能在Interface Builder预览中使用,但不能在模拟器中使用,而不能在我的设备上运行(iPhone 5S)。
我是否遗漏了某些东西,或者有人可以证实这是Xcode 6 Beta 4中的错误吗?
似乎问题在于大小等级。
如果为故事板启用了“使用大小类”复选框,则Xcode实际上会生成3个版本( "<Name>.storyboard", "<Name>~ipad.storyboard" and "<Name>~iphone.storyboard"
)。
所以iOS只是尝试加载.strings文件,其名称与活动故事板的名称相匹配(如果应用程序在iPhone上运行, <Name>~iphone.strings
)。 由于无法找到该文件,因此它回退到Base本地化。
有几种方法可以解决此错误:
<Name>~iphone.strings
将本地化的<Name>~iphone.strings
和<Name>~ipad.strings
文件添加到项目中并复制您的翻译。 Apple的XCode 6 GM发行说明包括:
本地化:如果满足以下所有三个条件,则故事板或XIB将无法正确本地化:故事板或XIB使用大小类。 基本本地化和构建目标设置为Universal。 该构建目标是iOS 7.0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.