1

我正在加载 plist,如下所示:

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

但如果当前设备语言的 plist 不存在,则 contentArray 为 nil。我怎么能默认英语?

4

1 回答 1

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 指定了CFBundleDevelopmentRegion一个en.

如果法国用户运行应用程序,并且没有本地化Numbers.plist文件frNSBundle则应返回目录Numbers.plist中的en.lproj文件。

于 2012-10-22T18:49:54.780 回答