1

私は次のようにplistをロードしています:

 NSString * plistPath = [[NSBundle mainBundle] pathForResource:@"Names" ofType:@"plist"];
 NSDictionary * contentArray = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

ただし、現在のデバイスの言語のplistが存在しない場合、contentArrayはnilです。デフォルトで英語にするにはどうすればよいですか?

4

1 に答える 1

1

NSBundleCFBundleDevelopmentRegion必要に応じて、アプリケーション/バンドルのファイルの(別名「ローカリゼーションネイティブ開発リージョン」)エントリを効果的に使用してInfo.plist、「フォールバック」言語を指定します。

たとえば、次のバンドルレイアウトがあるとします。

MyApp.app
 // no Numbers.plist here
.....
en.lproj/
    Numbers.plist // english-version
es.lproj/
    Numbers.plist // spanish-version

また、Info.plistはのCFBundleDevelopmentRegionを指定しますen

フランスのユーザーがアプリを実行していて、のローカライズされたファイルがない場合はNumbers.plistfrディレクトリ内のファイルNSBundleを返す必要があります。Numbers.plisten.lproj

于 2012-10-22T18:49:54.780 に答える