2011-06-27 4 views
0

私はiPhoneアプリケーションを開発しており、ユーザーの場所とは異なる場所を設定したいと考えています。 Appleが私に言い聞かせるように、国際化のためのすべてのファイルを用意したいのですが、言語を選択できるようにしたいと考えています。ユーザーの設定と異なる言語を使用するiPhoneアプリケーションを実行できますか?

例:ユーザーはドイツ語を使用していますが、私のアプリケーションは英語でしたいです!

電話で選択した言語に関係なく、アプリケーションにのみ言語を設定したいのですが、どうすればいいですか?

+1

なぜそれをしたいですか? – JeremyP

答えて

1

国際化にフレームワーククラスを使用していません。アプリケーション全体でラベル、ボタンなどを変更するための独自の配管工事を行う必要があります。

1

言語はNSUserDefaultsから読み込まれます。 thisによれば、[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguage"]のようなもので上書きしてアプリを再起動することができます。

今、問題はあなたがアプリを再起動する必要があります!

...アプリハンドル(ewwww)カスタムURLスキームにリダイレクトするHTTP URLです
UIApplication * app = [UIApplication sharedApplication]; 
[app openURL:...]; 
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationWillTerminateNotification object:nil userInfo:nil]; 
[app.delegate applicationWillTerminate:app]; 
exit(0); 

:ワンひどいの方法は、次のようなもの(未テスト)であるかもしれません。

私はアプリを再起動せずにUI /言語をリロードする簡単な方法がわかりません。

関連する問題