我使用下面的代码切换到一种语言:
-(void) switchToLanguage:(NSString *)lang{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:lang, nil]
forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[sliderViewController refreshView];
}
我不确定它是否正确。之后,在sliderViewController的刷新视图函数中:
-(void)refreshView{
slideLabel.text = NSLocalizedString(@"To Menu", @"To Menu");
slogan.text = NSLocalizedString(@"Categories", @"Categories");
}
但它不起作用。我哪里错了?
答案 0 :(得分:2)
在调用AppleLanguages
之前,设置main.m
密钥仅适用于UIApplicationMain
文件。如果您尝试在任何其他时间更改其值,则无效。
如果您希望支持在运行时更改语言,则必须使用自己的本地化功能。