0

私はテーブルビューを持っており、そのうちの1つに言語が含まれている2つの静的グループ内に、アプリケーションの設定に英語とフランス語の2つの言語が必要であり、ユーザーが英語を選択すると設定全体が英語に変更され、ユーザーがフランス語を選択すると設定が変更されますすべてがフランス語に変わります。助けてください。サンプルを見ましたが、コードを設定する方法とコードをどこに設定すればよいか、コードをチェック マークのセルに接続するにはどうすればよいかわかりません。

前もって感謝します!

ここに私の設定の写真があります:

ここに画像の説明を入力

4

2 に答える 2

0

まず、このコードから言語コードを取得します

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];

2) ローカライズ文字列ファイルを作成する

3) これを使う NSLocalizedString(@"WelcomeKey", @"")

例:

 NSString *example=@"";


    if([currentLanguage isEqualToString:@"en"])
    {
      example =  NSLocalizedString(@"WelcomeKey", @"Engliah");
    }

    else {
      example =  NSLocalizedString(@"WelcomeKey", @"french");
    }
于 2012-07-19T13:48:15.880 に答える
0
  1. すべての xib (ラベル、テキスト フィールド) 内のすべてのテキスト オブジェクトにアウトレットを与えます。これにより、それらにアクセスして値を変更できます (たとえば、テキストフィールドのプレースホルダーを "First name" から "Prénom" に変更するなど)。
  2. 英語のコンテンツ用のキーと値を含む .plist ファイルを作成し (アウトレットの名前をキーとして使用できます)、フランス語のコンテンツ用に別のファイルを作成します。
  3. myLanguageIndicatorたとえば、現在の言語を保持し、言語を設定するときにそれぞれ変更されるデフォルト値を ( NSUserDefaults で) 保持します。
  4. デフォルト値 ( "eng" または "fr" の場合) に応じて、すべてのクラスの viewWillAppear で、必要な .plist ファイルから読み取ってアウトレットの値を設定します。

デフォルトの言語値が「fr」であるとします。これは、viewWillAppear で fr.plist (または任意の名前) を使用することを意味します。また、「titleLabel」は、コントローラーの 1 つにあるタイトル ラベルのアウトレットです。

別のデフォルト オブジェクトでは、fr.plist のディクショナリを保持します (plist をディクショナリにロードする方法をググってください)。

次に、次のように言います。

if ([myLanguageIndicator isEqualToString:@"fr"]){
      titleLabel.text = [myFrenchDictionary objectForKey:@"titleLabel"];
   ... ... ...change here all your outlets to french values
   }
   else{
      titleLabel.text = [myEnglishDictionary objectForKey:@"titleLabel"];
       ... ... ...change here all your outlets to english values
   }

言語を選択するときは、選択した言語に応じて、デフォルトの文字列オブジェクトmyLanguageIndicator@"fr"またはに変更するだけです。@"eng"

于 2012-07-19T13:50:24.463 に答える