簡體   English   中英

Xcode 6不會本地化Interface Builder

[英]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本地化。

有幾種方法可以解決此錯誤:

  1. 最明顯的一個。 只需禁用故事板的大小類。
  2. 如果您需要大小類,可以<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM