5

我正在使用MPMoviePlayerViewController來呈現視頻。一切都按預期工作,但如果將設備的語言切換到例如德語,「完成」按鈕不是本地化的。MPMoviePlayerViewController的本地化完成按鈕

我試圖訪問按鈕,將其設置爲我自己的按鈕實現,像這樣:

MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 

NSLog(@"%@", mp.navigationItem.leftBarButtonItem); // always null, but why? 

// override button with locale 
mp.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Zurück" 
              style:UIBarButtonItemStyleDone 
              target:self 
              action:@selector(dismissMoviePlayer:)]; 

[self presentMoviePlayerViewControllerAnimated:mp]; 

類似的問題已經被問過,但從來沒有收到任何答案:objective-c MPMoviePlayerViewController done button language

感謝您的幫助。

+1

聽起來像一個錯誤是,這種觀點是由蘋果提供的,應該堅持以設備語言設置。 –

+0

我也這麼認爲。猜猜我會在稍後向Apple提交另一個bugreport。有趣的時候(: – alex

回答

11

檢查CFBundleDevelopmentRegion在你的Info.plist

+0

)感謝您的回答。不幸的是,這並不能解決問題。我開始認爲這可能是另一個iOS bug。其他建議嗎? – alex

+0

不,這不是bug。是否有德文版的InfoPlist .strings? – changx

+2

好的,我想通了 1.檢查Info.plist中的'CFBundleDevelopmentRegion' 2.確保你有德語版本的InfoPlist.strings 3.將模擬器的語言改爲德語 – alex

0

您可以更改的XML Info.plist中(開放源代碼),並把您的翻譯。例如:

<key>CFBundleDevelopmentRegion</key> 
<string>es</string> 

爲了把它在西班牙語(西班牙沒有出現在列表中)