2011-01-27 50 views
0

這裏是我的代碼:總是返回英語

NSString *string = [bundle localizedStringForKey:@"kTCStringMissing" value:@"" table:nil]; 

我知道包變量指向正確的包,因爲英國的值是否正確現身 - 見下文。

我的包結構如下:

ToyCalculatorUI.bundle 
    en.lproj [directory] 
    Localizable.strings [file] 
    de.lproj [directory] 
    Localizable.strings [file] 

我Localizable.strings是這樣的:

在en.lproj目錄

kTCStringMissing = 「缺少的字段恩」;

在de.lproj目錄

kTCStringMissing = 「丟失的字段德」;

但是,當我在模擬器中運行我的應用程序,將語言設置爲Deutsch並將區域設置爲Deutschland後,上面的*字符串對象始終具有值「Missing Fields en」。

我錯過了什麼?

回答

0

imho你也必須引用密鑰。 (詳見Apple's Resource Programming Guide

即「kTCStringMissing」=「Missing Fields en」;

+1

鍵必須被引用,但通過使用蘋果提供的命令行`genstrings`,``genstrings -o English.lproj/* .m``,您將遇到更少的問題。鏈接的文檔討論該工具。 – bdunagan 2011-06-24 13:36:26