如何更改 MPMediaPickerController 的语言设置。
Posted
技术标签:
【中文标题】如何更改 MPMediaPickerController 的语言设置。【英文标题】:How to change language setting of MPMediaPickerController. 【发布时间】:2012-08-10 03:00:26 【问题描述】:我正在创建一个音乐应用程序,我想支持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)
【问题讨论】:
检查这个..***.com/questions/5974680/… 【参考方案1】:谢谢Sun Tzu 和venkat,我终于发现确实需要本地化的文件。但本地化的 string 没有。
我在en.lproj
和ja.lproj
中创建了Localizable.string
文件并将它们添加到我的项目中。起初我尝试使用 null (0byte) Localizable.string
构建,但出现构建错误,因此我输入了一组字符串。
在 en.lproj 中:
"Playlists" = "Playlists";
在ja.lproj:
然后,不仅“Playlists”,而且其他标签(“Artists”、“Songs”、..)都用日语显示。
为了确认,我将设置更改为 Deutsch。但它在英文中显示为“歌曲”。 (不是“标题”)
我创建了 de.lproj 文件夹并复制了与 en.lproj 完全相同的 Localizable.string。 'Titel' 终于来了。
所以,当您在 .lproj 中添加 Localizable.string 文件时,MPMediaPickerController 中的标签会说您的母语。
我的代码 sn-p 是:
- (IBAction)pushedMusicButton:(id)sender
MPMediaPickerController *pickerController = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
pickerController.delegate = self;
[self presentViewController:pickerController animated:YES completion:nil];
【讨论】:
以上是关于如何更改 MPMediaPickerController 的语言设置。的主要内容,如果未能解决你的问题,请参考以下文章