如果本地化版本对于当前语言不存在,我如何加载默认语言plist?
问题描述:
我加载plist中,像这样:如果本地化版本对于当前语言不存在,我如何加载默认语言plist?
NSString * plistPath = [[NSBundle mainBundle] pathForResource:@"Names" ofType:@"plist"];
NSDictionary * contentArray = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
但contentArray是零,如果plist中没有对当前设备的语言存在。我怎样才能默认英文?
答
NSBundle
有效地使用应用程序/软件包的Info.plist
文件中的CFBundleDevelopmentRegion
(又名“本地化本地开发区域”)条目来指定“后备”语言(如果您愿意的话)。
例如,假设我们有以下束布局:
MyApp.app
// no Numbers.plist here
.....
en.lproj/
Numbers.plist // english-version
es.lproj/
Numbers.plist // spanish-version
而且,Info.plist中指定的en
一个CFBundleDevelopmentRegion
。
如果法国用户运行应用程序,并没有本地化Numbers.plist
文件fr
,然后NSBundle
应在en.lproj
目录返回Numbers.plist
文件。