2012-08-10 40 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]; 
}