我正在创建一个音乐应用程序,我想支持 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.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];
}
关于ios - 如何更改 MPMediaPickerController 的语言设置。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11894883/