Ios NSLocalizedString与应用程序中的切换语言
我需要使用本地化切换语言时,按钮点击 我已经试过了,bug元素不会刷新 -它们的设置如下:Ios NSLocalizedString与应用程序中的切换语言,ios,objective-c,localization,Ios,Objective C,Localization,我需要使用本地化切换语言时,按钮点击 我已经试过了,bug元素不会刷新 -它们的设置如下: self.lblSectionMyPictures.text=NSLocalizedString(@"lblSectionMyPictures", nil); 要切换的代码: - (void)SwitchToFrench{ [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"fr", nil]
self.lblSectionMyPictures.text=NSLocalizedString(@"lblSectionMyPictures", nil);
要切换的代码:
- (void)SwitchToFrench{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"fr", nil]
forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[self.view setNeedsDisplay];
}
- (void)SwitchToEnglish{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", nil]
forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[self.view setNeedsDisplay];
}
有什么想法\最佳实践吗?苹果的本地化解决方案不支持动态切换本地化。字符串只加载一次,然后再也不会更改 如果您坚持追求动态切换语言(这在我的经验中是不可能实现的理想),我认为您最好的选择是创建自己的符合KVO的本地化字符串提供程序,并将每个GUI元素(按钮标题、文本字段值等)绑定到它。启用自动布局后,这甚至可能会起作用