我正在创建一个音乐应用程序,我想支持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 SDK5.1,iPhone (iOS 5.1)
发布于 2012-09-03 06:26:09
谢谢孙子和文卡特,我终于发现本地化的文件是真正需要的。但是本地化的字符串没有。
我在en.lproj和ja.lproj中创建了en.lproj文件并将它们添加到我的项目中。起初,我尝试使用null (0字节) Localizable.string进行编译,但是生成错误,所以输入了一组字符串。在en.lproj中
"Playlists" = "Playlists";在ja.lproj中

然后,不仅是“播放列表”,还有其他标签(“艺术家”、“歌曲”、..)是用日语显示的。

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

我创建了de.lproj文件夹并复制了与en.lproj的文件夹完全相同的Localizable.string。“泰特尔”终于来了。

因此,当您在MPMediaPickerController中添加Localizable.string文件时,.lproj中的标签使用您的母语。
我的代码片段是:
- (IBAction)pushedMusicButton:(id)sender {
MPMediaPickerController *pickerController = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
pickerController.delegate = self;
[self presentViewController:pickerController animated:YES completion:nil];
}https://stackoverflow.com/questions/11894883
复制相似问题