2011-07-25 27 views
1

私はデフォルトで英語でテキストを表示するラベルで構成されるアプリケーションを構築しようとしています。ユーザは、言語を選択するためのリストを取得し、言語を選択した後、その特定の言語に変化する。どのようにそれを行うにはどのようなアイデア?私は試してみた
iphoneの言語翻訳

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"de", @"en", @"fr", nil] forKey:@"AppleLanguages"]; 

しかし、それは動作していません。

答えて

1

あなたがしていることを行うことができます。

-[NSBundle localizedStringForKey:value:table:]

ドキュメントに小さなサンプルがあります。基本的には、必要なローカリゼーションを備えたMyTable.stringsファイルを作成するだけです。必要な言語ごとに1つのファイルを作成します。 は、その後の操作を行います。

NSBundle *bundle = [NSBundle mainBundle]; 
NSString *localizedString = [bundle localizedStringForKey:@"TheKeyYouWantToLocalize"] 
                value:@"TheDefaultValue" 
                table:@"MyTable"]; 

この方法は、キーを探します:そのが発見された場合、それはそれ以外の場合は、FYI @"TheDefaultValue"

を返すことを返します、@"TheKeyYouWantToLocalize"でMyTable.stringsファイル、これはアプリケーションをローカライズするときにシステムが使用するのと同じプロセスです。 (Heard of NSLocalizedString?)が、今は手動で行う必要があります。なぜなら、ユーザーにシステム言語に頼らずに表示する言語を尋ねているからです。

+0

ファイルのローカライズ以外の方法はありません。 –

関連する問題