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 = "不足しているフィールド en";

de.lproj ディレクトリ内:

kTCStringMissing = "不足しているフィールド de";

しかし、シミュレーターでアプリを実行すると、言語を Deutsch に設定し、地域を Deutschland に設定すると、上記の *string オブジェクトの値は常に "Missing Fields en" になります。

私は何が欠けていますか?

4

1 に答える 1

0

私見あなたも鍵を引用しなければなりません。(詳細については、Appleのリソースプログラミングガイドを参照してください)

つまり、 "kTCStringMissing" = "Missing Fields en";

于 2011-06-08T11:50:56.887 に答える