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 窗口打开,但按钮的字符串是英文的……例如“Playlists”、“Artists”或“Songs”。日志显示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但出现构建错误,所以我输入了一组字符串。在en.lproj 中

"Playlists" = "Playlists";

ja.lproj 中

在此处输入图像描述

然后,不仅“播放列表”,而且其他标签(“艺术家”,“歌曲”,..)都用日语显示。

在此处输入图像描述

为了确认,我将设置更改为 Deutsch。但它在英文中显示为“歌曲”。(不是“标题”)

在此处输入图像描述

我创建了 de.lproj 文件夹并复制了与 en.lproj 完全相同的 Localizable.string。终于'Titel'来了。

在此处输入图像描述

因此,当您在 .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 回答