Как изменить языковые настройки MPMediaPickerController.

Я создаю музыкальное приложение и хочу поддерживать несколько языков 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)


person Yuji Kaneko    schedule 10.08.2012    source источник
comment
проверьте это .. stackoverflow.com/questions/5974680/   -  person Jean-Luc Godard    schedule 10.08.2012


Ответы (1)


Спасибо Sun Tzu и venkat, я наконец обнаружил, что локализованный файл действительно нужен. а локализованная строка — нет.

Я создал Localizable.string файлов в en.lproj и ja.lproj и добавил их в свой проект. Сначала я пытался построить с нулевым (0 байт) Localizable.string, но возникла ошибка сборки, поэтому я ввел один набор строк. В en.lproj:

"Playlists" = "Playlists";

В ja.lproj:

введите здесь описание изображения

Затем на японском языке отображались не только «Плейлисты», но и другие ярлыки («Исполнители», «Песни»...).

введите здесь описание изображения

Для подтверждения я изменил настройку на Deutsch. но он отображается как «Песни» на английском языке. (Не «Тител»)

введите здесь описание изображения

Я создал папку de.lproj и скопировал Localizable.string, которая полностью совпадает с en.lproj. Наконец приходит «Тител».

введите здесь описание изображения

Итак, метки в MPMediaPickerController говорят на вашем родном языке, когда вы добавили файл Localizable.string в .lproj.

Мой фрагмент кода:

- (IBAction)pushedMusicButton:(id)sender {
    MPMediaPickerController *pickerController = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
    pickerController.delegate = self;
    [self presentViewController:pickerController animated:YES completion:nil];
}
person Yuji Kaneko    schedule 03.09.2012