如何使用NSBundle与xib文件和Base国际化

时间:2014-07-12 17:59:33

标签: ios internationalization bundle xib base

我正在尝试本地化我的应用(例如英语和法语),并允许用户在我的应用中选择语言。

所以我必须使用NSBundle来主动选择语言文件夹,如Advance Localization in ios apps

中所述

主要包([NSBundle mainBundle])似乎在设置([[NSLocale preferredLanguages] objectAtIndex:0])中选择了首选语言,因此我必须自己选择包

NSString *path = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];

NSBundle *frBundle = [NSBundle bundleWithPath:path];

它适用于Localizable.strings,因为这些字符串文件被添加到每个.lproj文件夹中。

但是当我本地化xib文件时,它不起作用。因为只有MyViewController.xib文件被添加到Base.lproj ,而MyViewController.strings文件被添加到每个.lproj文件夹

所以这段代码

MyViewController *vc = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:frBundle]

将触发“无法在包中加载NIB:'NSBundle(已加载)',名称为”MyViewController“

那怎么处理这个?

0 个答案:

没有答案