2012-08-10 44 views
4

我正在创建一个音乐应用程序,我想支持多种语言的MPMediaPickerController。 我,程序如下:如何更改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)

+0

检查这个.. http://stackoverflow.com/questions/5974680/multi-language-lable-changes-in-the-nib-file – 2012-08-10 03:47:32

回答

0

谢谢你孙子和venkat,我终于找到了本地化文件是真正需要。但是本地化的字符串没有。

我在en.lprojja.lproj中创建了Localizable.string文件,并将它们添加到我的项目中。起初我试图用空(0字节)Localizable.string来构建,但有一个构建错误,所以我输入了一组字符串。 在en.lproj

"Playlists" = "Playlists"; 

ja.lproj

enter image description here

那么,不仅 '播放列表',还包括其他标签( '艺术家', '诗经' ,..)以日语显示。

enter image description here

为了确认,我改变了设置德语。但在英语中显示为“歌曲”。 (不是 '性标题')

enter image description here

我创建de.lproj文件夹,并复制Localizable.string其是作为en.lproj的一个完全一样。最后'Titel'来了。

enter image description here

所以,在MPMediaPickerController标签说你的母语,当你加入.LPROJ Localizable.string文件。

我的代码片断是:

- (IBAction)pushedMusicButton:(id)sender { 
    MPMediaPickerController *pickerController = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic]; 
    pickerController.delegate = self; 
    [self presentViewController:pickerController animated:YES completion:nil]; 
}