0
我需要在iOS应用程序变为活动状态时更改本地化。在变为活动状态时更改本地化
所以..
我有过settings.bundle
在main.m
文件进行设置一个语言选择。我正在阅读像这样的设置
int main(int argc, char *argv[]) {
NSAutoreleasePool *pool = [NSAutoreleasePool new];
// --
NSString *appLang = [[NSUserDefaults standardUserDefaults] stringForKey:@"appLang"];
if (appLang == nil)
[[NSUserDefaults standardUserDefaults] setValue:[[NSLocale preferredLanguages] objectAtIndex:0] forKey:@"appLang"];
[[NSUserDefaults standardUserDefaults]
setObject:[NSArray arrayWithObjects:[[NSUserDefaults standardUserDefaults] stringForKey:@"appLang"], nil]
forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[appLang release];
// --
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
[pool release];
return retVal;
}
因此,应用程序使用设置中的数据更改不同语言的图像。
现在,我使用的条件来定义这样一个语言:
if ([[[NSLocale preferredLanguages] objectAtIndex:0] isEqual:@"en"])
一切工作正常,但问题是:我可以改变应用程序的本地化(使用我的方法)时,应用程序变为活动状态(applicationWillEnterForeground或类似的东西)?我该怎么做?
我知道这一点。其实我的问题是“我有什么改变”。即时改变UserDefaults中的AppleLanguages,但图像仍然没有改变。 – timfreeman
在我的文章中我追加了一些代码,但我不确定这是你想要的... – Bartek
没有。它也不是我想要的=)我在约55个viewControllers约1500 +图像。我想我需要一种方式来重新加载应用程序,以便让我的所有资源自动进行本地化 – timfreeman