我正在開發一個iPhone應用程序,並且想爲它設置一個與用戶位置不同的位置。我想擁有蘋果公司告訴我的所有國際化文件,但我希望能夠選擇該語言。我可以做一個使用與用戶設置不同的語言的iPhone應用程序嗎?
例如:用戶正在使用德語,但我希望我的申請是英文的!
我希望用戶只爲應用程序設置語言,不管在手機中選擇的語言是什麼,我該怎麼做?
我正在開發一個iPhone應用程序,並且想爲它設置一個與用戶位置不同的位置。我想擁有蘋果公司告訴我的所有國際化文件,但我希望能夠選擇該語言。我可以做一個使用與用戶設置不同的語言的iPhone應用程序嗎?
例如:用戶正在使用德語,但我希望我的申請是英文的!
我希望用戶只爲應用程序設置語言,不管在手機中選擇的語言是什麼,我該怎麼做?
不使用框架類進行國際化。您將不得不在自己的應用程序中構建自己的標籤,按鈕等管道。
該語言從NSUserDefaults載入。根據this,你可以用[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguage"]
之類的東西覆蓋它並重新啓動應用程序。
現在,麻煩的是你需要重新啓動應用程序!一個可怕的方法可能是這樣的(未經測試):
UIApplication * app = [UIApplication sharedApplication];
[app openURL:...];
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationWillTerminateNotification object:nil userInfo:nil];
[app.delegate applicationWillTerminate:app];
exit(0);
其中...
是重定向到一個自定義URL方案的HTTP URL您的應用程序句柄(ewwww)。
我不知道一個簡單的方法來重新加載UI /語言,而無需重新啓動應用程序。
爲什麼你想這樣做? – JeremyP