2012-04-04 114 views
0

我正在開發iPad國際應用程序。
我正在使用方法NSLocalizableString來翻譯我的應用程序。
我已經在我的Localizable.strings中以英文和法文手動添加了帶有值的「Orders」的關鍵字。
當我用關鍵字調用我的方法NSLocalizableString時,未找到我的關鍵字並且不應用翻譯。
對於上面和下面的關鍵字,它完美的工作。NSLocalizableString找不到我的密鑰

有些部分代碼:

**Localizable.strings** 
    /* Change datas */ 
    "ChangeDatas" = "Modifier les données"; 
    /* Orders */ 
    "Orders" = "Détails de votre commande"; 
    /* Label */ 
    "SomeLabel" = "Label"; 
**file.m** 
    //Work fine 
    NSLog(@"My data translation : %@", NSLocalizedString(@"ChangeDatas", @"Change datas")); 
    //Don't work 
    NSLog(@"My orders translation : %@", NSLocalizedString(@"Orders", @"Orders")); 
+0

您是否嘗試清理並重新構建應用程序?在重新安裝之前也卸載舊版本。我注意到iPhone傾向於將本地化數據緩存在某處,並且清理/重新安裝可能是必要的,因爲它會記錄這些更改。 – MrTJ 2012-04-04 10:03:37

+0

我試過這樣做,但沒有成功。 – alexmngn 2012-04-04 10:07:54

+0

一切看起來不錯。嘗試控制你的字符串中是否沒有一些奇怪的空白,或者你的字符是否在正確的編碼中。刪除並添加另一個字符串。 – MrTJ 2012-04-04 10:27:58

回答

0

你確定你的編輯器,在正確的編碼工作?還有,正確的行結尾?

使用plutil命令檢查您的.strings文件是無害的。

您確定您已經編輯過與您在運行時使用的語言/語言環境相同的.strings文件嗎?

+0

編碼是UTF16,行尾是LR(unix)。 我試着用plutil命令,它返回OK。我試圖編輯2個文件(EN&FR),沒有任何改變。 – alexmngn 2012-04-04 12:05:24