我正在加载plist:
NSString * plistPath = [[NSBundle mainBundle] pathForResource:@"Names" ofType:@"plist"];
NSDictionary * contentArray = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
但如果当前设备的语言不存在plist,则contentArray为nil。我如何默认为英语?
答案 0 :(得分:1)
NSBundle
有效地使用应用程序/包的Info.plist
文件中的CFBundleDevelopmentRegion
(又名“本地化本机开发区域”)条目来指定“后备”语言(如果愿意的话)。 / p>
例如,我们假设我们有以下的包布局:
MyApp.app
// no Numbers.plist here
.....
en.lproj/
Numbers.plist // english-version
es.lproj/
Numbers.plist // spanish-version
并且,Info.plist指定CFBundleDevelopmentRegion
en
。
如果法国用户运行该应用,并且Numbers.plist
没有本地化的fr
文件,那么NSBundle
应该返回Numbers.plist
中的en.lproj
文件}目录。