的Xcode 4.6,目標iOS 6中,SDK的iOS 6.1基地+本地化+故事板.strings - >沒有本地化
我開始與我的應用程序正常工作的故事板;它包含的字符串是英文的。我想添加法語本地化。我這樣做:
- 加入鹼國產化,其傳輸 MainStoryboard.storyboard從en.lproj到Base.lproj。
- 添加了法語本地化,將InfoPlist.strings(英語) 和MainStoryboard.storyboard(Base)克隆到fr.lproj中。
- 在法國的MainStoryboard.storyboard中更改了幾個字符串( UISegmentedControl中的段標題)。
- 在模擬器中,將語言設置爲法語。
- 從Xcode中運行應用程序。
結果:This worked;我在運行的應用程序中顯示了更改的字符串。
但我想成爲所有幻想。我想用.strings文件做法語本地化。 (這不只是一個被花哨的事;法國本地化將被移交給非技術性翻譯人員,誰也無法預料到主接口生成器)。所以:
- 選擇的基站MainStoryboard.storyboard在Xcode項目 導航。
- 在「文件」檢查器的「本地化」下,將法語 本地化從「Interface Builder Cocoa Touch Storyboard」更改爲 「Localizable Strings」。
- 接受Xcode的警告:法語故事板將被丟棄 ,以支持出現在助手編輯器中的.strings文件。
- 做了相同的兩個編輯;不存在他們錯誤的 字符串的問題,因爲它們都被註釋爲 IBUISegmentedControl ... segmentTitles;並且標籤文本不會在.strings文件的其他任何地方出現 。
- 從模擬器中刪除應用程序的現有(工作)副本。
- 運行應用程序。
結果:視圖使用底座(原英文)本地化,而不是加載法國字符串。
轉換爲Autolayout沒有效果。從模擬器中刪除應用程序無效。刪除派生產品目錄不起作用。堆棧溢出建議使用ibtool生成.strings文件而不是Xcode;兩個生成的文件是相同的。
這並不令人滿意。正如我所說的,我無法將.storyboard文件轉換爲非技術翻譯。我如何讓iOS接受.strings文件中的故事板本地化版本?
清理build文件夾解決了我的問題。 – Robert 2014-06-05 15:40:01