我怎样才能加载默认语言的plist如果本地化版本不适用当前语言存在吗?(How can I load

2019-07-01 19:47发布

我加载像这样的plist:

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

但是contentArray是零,如果plist中没有对当前设备的语言存在。 我怎样才能默认为英语?

Answer 1:

NSBundle有效使用CFBundleDevelopmentRegion (又名“本地化本地开发区域”),在应用程序/包的入门Info.plist文件,如果你愿意,可以指定“回退”的语言。

例如,假设我们有以下束布局:

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

而且,Info.plist中指定CFBundleDevelopmentRegionen

如果法国用户运行应用程序,并没有本地化Numbers.plist文件fr ,然后NSBundle应该返回Numbers.plist在文件en.lproj目录。



文章来源: How can I load a default language plist if the localized version does not exist for the current language?