我正在创建一个音乐应用程序,我想支持 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(Language setting = ja)。

如何更改 MPMediaPickerController 的语言设置?

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

最佳答案

谢谢 Sun Tzu 和 venkat,我终于找到本地化的 文件 真的很需要。但是本地化的 字符串 没有。

我在 Localizable.stringen.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];
}

关于ios - 如何更改 MPMediaPickerController 的语言设置。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11894883/

10-09 20:50