2016-11-24 50 views
1

我正在Swift 3.0中開發一個應用程序,讓用戶有機會在線傳輸電視頻道。它當時僅限於意大利,所以我試圖翻譯意大利語應用程序中的每個按鈕......但是我遇到了在頂部的「完成」按鈕(和「實時流式傳輸」字段)的問題每當用戶選擇一個頻道進行流式傳輸時出現的AVPlayer屏幕。我確定有一種編輯它們的方法,因爲當我在Safari中打開一個流時,完成按鈕被正確顯示爲「好」,並且「實況流」變成了「Trasmissione in diretta」...我想看他們也是這樣,但我不知道如何達到這個目標。如何在AVPlayer中重命名完成按鈕?

我還沒有爲播放器製作任何特定的類,只是從故事板創建了一段到AVPlayerController的segue,並且我完全從包含頻道的表視圖管理流;這是我的重要代碼:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "guardaCanale" { 
     let destinazione = segue.destination as! AVPlayerViewController 
     if let cellaCanaleSelezionata = sender as? CanaleTableViewCell { 
      let indexPath = tableView.indexPath(for: cellaCanaleSelezionata)! 
      let canaleSelezionato = ritornaIlCanaleCorretto(indexPath: indexPath) 

      let url = URL(string: canaleSelezionato.urlCanale) 
      if let streamingURL = url { 
       destinazione.player = AVPlayer(url: streamingURL) 

       // Il do-try-catch seguente serve per far funzionare l'audio dell'app anche se l'iPhone è in modalità silenziosa; togli il blocco per fare in modo che l'app non produca audio se l'iPhone è in modalità silenziosa 
       do { 
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
       } catch { 
        print("Errore: non riesco a riprodurre l'audio se iPhone è in modalità silenziosa.") 
       } 
       destinazione.player?.play() 
      } 
     } 
    } 
} 

任何人都可以幫助我嗎?我不想修改完成按鈕的行爲,只是在屏幕上更改它的可見名稱...希望有人能幫助我!非常感謝! :)

+0

「但我不知道如何達到這個目標」這就是所謂的_localization_。如果您爲意大利語_localization_應用,該按鈕將以意大利語_automatically_(在意大利設備上)。 – matt

回答

2

這聽起來像你沒有適當地爲意大利本地化設置你的應用程序。

Apple提供的UI元素的翻譯基於設備的語言以及您的應用是否支持該語言。如果您將設備語言更改爲意大利語,則這是它應該自動顯示的內容。

enter image description here

我建議你閱讀Apple's Localization Documentation,以確保你正確設置你的應用程序讓系統知道它的本地化意大利。

+0

嗯,該說些什麼......我對Swift非常陌生,我試圖通過自己學習代碼,一個月前我開始使用Apple FoodTracker教程,並從那裏嘗試構建這個應用程序。我在笑,所有的解決方法,我用意大利文顯示文本,雖然它太簡單了...非常感謝你的隊友! – nickropes