2

我已經將我的ContactView.xib文件本地化爲英文和法文,並且通常必須自動加載。我使用UIViewController的initWithNibName: bundle:方法初始化對象,但結果總是相同的:加載的文件是英文文件!initWithNibName:bundle:永遠加載英文筆尖

我已經清理了項目,重新安裝了應用程序等,但沒有任何作品,我的xib文件的法語版本被忽略!

我知道有一個相關的帖子(here),但問題並不完全一樣,儘管我努力,但它仍然存在。

下面是代碼的樣本我已經寫了:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil contact:(Contact *)aContact 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self != nil) 
    { 
     self.contact = aContact; 
    } 
    return self; 
} 

還有什麼事做來加載在適當的區域設置的文件嗎? 我已經檢查了設備(或模擬器)上的偏好設置,並在模塊中加載了該偏好設置,並且每次都將語言環境設置爲法語。

預先感謝您,

Geoffroy。

回答

4

我今天有一個非常類似的問題,浪費了大約2個小時。 「 - 」在本地化 菜單

最後我通過刪除本地化的廈門國際銀行 。然後,我不得不刪除的.xib 文件中的項目

(務必刪除任何內容在什麼地方有它的保存副本 - 你不能把它找回來!)。

然後我將.XIB文件拖回 該項目。最後它的工作

所有,我可以本地化正確,它的工作。但讓我告訴你,我將永遠不會開始本地化應用程序不是200%準備好之前。在xCode4中似乎有一個嚴重的錯誤。 (它甚至在我身上碰撞了幾次 - 我想是因爲它保留了一個在硬盤上任何地方都找不到的xib的鏈接。

這個錯誤在所描述的過程之後才消失,甚至刪除了.XIB文件從項目中刪除並從HDD中刪除仍然沒有幫助。XCode很高興地開始使用這個.XIB(無論它從哪裏得到它)。

祝你好運!(我今天浪費了太多時間!)

+0

非常感謝!我昨天也和一位同事浪費了很多時間,我們都不知道它可能來自哪裏。多一個Xcode 4錯誤,謝謝Apple!我遵循你的程序,它工作正常;) – Geoffroy 2011-04-06 04:25:06

0

僅供參考,我想我想通了,是什麼原因造成這樣的問題:

你本地化您的法文版「字符串」 F ILE?如果是這樣,請試試這個:

  • 選擇。廈門國際銀行(根條目,而不是本地化版本)

  • 在巡視,檢查:Interface Builder的文檔→文檔編輯→構建了

在我的情況,故稱「OS X 10.7及更高版本「我遇到了同樣的問題。我將它設置爲「OS X 10.10」,並在另一個乾淨的構建後,一切正常。

我懷疑你的法語本地化沒有加載,因爲.xib文件格式還不兼容.strings漢化(我不記得這是什麼時候引入)。