paw*_*awi 3 iphone localization nslocalizedstring
是否可以让我的应用程序以与操作系统中设置的语言不同的语言运行?我想在我的应用程序的设置菜单中进行语言切换,用户可以选择德语作为应用程序,而他的系统是用英语运行的.
从我已经阅读过的内容来看,如果没有自己的本地化机制,似乎是不可能的......
你怎么看?
Cheerz,pawi
fed*_*est 10
它可以很容易地完成,虽然花了我几个星期来弄清楚如何;-)
我有一个名为iDEX的iPhone应用程序,这是一本罗马尼亚语词典.在iPad上,罗马尼亚语不能作为UI语言使用,因此我想让用户在应用程序设置中选择罗马尼亚语,因为设备设置不包含它.
您需要做的是将应用程序国际化并像往常一样进行本地化.然后,在main方法中,将AppleLanguages标准的键设置NSUserDefaults为您选择的语言和国家/地区,如此
int main(int argc, char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSArray arrayWithObject:@"ro_RO"] forKey:@"AppleLanguages"];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool drain];
return retVal;
}
Run Code Online (Sandbox Code Playgroud)
您必须在运行之前设置AppleLanguages密钥,因为此时加载了UIKit框架并确定了默认语言.UIApplicationMain()
同样重要的是您同时指定语言和国家/地区(例如,@"ro_RO"而不仅仅是@"ro")否则您的应用可能会在设置密钥时崩溃.
通过执行此操作,对NSBundle支持本地化的所有调用都将查找以编程方式建立的语言,而不是设备上设置的语言.
希望有帮助......
| 归档时间: |
|
| 查看次数: |
913 次 |
| 最近记录: |