我加载像这样的plist:
NSString * plistPath = [[NSBundle mainBundle] pathForResource:@"Names" ofType:@"plist"];
NSDictionary * contentArray = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
但是contentArray是零,如果plist中没有对当前设备的语言存在。 我怎样才能默认为英语?
我加载像这样的plist:
NSString * plistPath = [[NSBundle mainBundle] pathForResource:@"Names" ofType:@"plist"];
NSDictionary * contentArray = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
但是contentArray是零,如果plist中没有对当前设备的语言存在。 我怎样才能默认为英语?
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
文件fr
,然后NSBundle
应该返回Numbers.plist
在文件en.lproj
目录。