4

私は音楽アプリを作成しており、多言語をサポートしたいと考えていMPMediaPickerControllerます。私は次のようにプログラムしました:

- (IBAction)pushedMusicButton:(id)sender {
    MPMediaPickerController *pickerController = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
    pickerController.delegate = self;
    pickerController.accessibilityLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
    NSLog(@"Language setting = %@", pickerController.accessibilityLanguage);
    [self presentViewController:pickerController animated:YES completion:nil];
}

このコードは、設定が日本語の iPhone で実行しました。

MediaPicker ウィンドウが開きましたが、ボタンの文字列が英語です...「プレイリスト」、「アーティスト」、「曲」など。ログは、accessibilityLanguage が JP (言語設定 = ja) に設定されていることを示しました。

MPMediaPickerController の言語設定を変更するにはどうすればよいですか?

環境: XCode 4.4.1、iOS SDK 5.1、iPhone (iOS 5.1)

4

1 に答える 1

0

Sun Tzu と venkat に感謝します。最終的に、ローカライズされたファイルが本当に必要であることがわかりました。しかし、ローカライズされた文字列はそうではありません。

Localizable.stringでファイルen.lprojを作成ja.lprojし、プロジェクトに追加しました。最初はnull(0byte)でビルドしようとしたLocalizable.stringのですが、ビルドエラーが発生したので文字列を1セット入力しました。en.lproj:

"Playlists" = "Playlists";

ja.lproj:

ここに画像の説明を入力

すると、「Playlists」だけでなく、他のレーベル(「Artists」、「Songs」など)も日本語で表示されました。

ここに画像の説明を入力

確認のため、設定をDeutschに変更しました。英語で「Songs」と表示されました。(「タイトル」ではありません)

ここに画像の説明を入力

de.lproj フォルダを作成し、en.lproj のものとまったく同じ Localizable.string をコピーしました。最後に「タイトル」が来ます。

ここに画像の説明を入力

そのため、.lproj に Localizable.string ファイルを追加すると、MPMediaPickerController のラベルは母国語を話します。

私のコードスニペットは次のとおりです。

- (IBAction)pushedMusicButton:(id)sender {
    MPMediaPickerController *pickerController = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
    pickerController.delegate = self;
    [self presentViewController:pickerController animated:YES completion:nil];
}
于 2012-09-03T06:26:09.877 に答える