我試圖將我的應用程序從芬蘭翻譯成英語。我檢查了Riverbank's short doc,並得到它主要工作。在我跑的應用程序,我稱之爲:變量的PyQt5國際化問題
translator = QTranslator()
translator.load("gui/translations/mainwindow.qm")
app = QApplication(sys.argv)
app.installTranslator(translator)
和應用程序正確地轉換大多數文章的,如果我這樣的代碼:QCoreApplication.translate("setapikeyheading", "Aseta tunnisteavain")
現在,我的應用程序已經在那裏可能出現同樣的錯誤消息幾種情況在不同的情況下。我喜歡乾的,所以我成立了幾個「常數」像這樣的靜態變量:
_UNKNOWN_ERROR = QCoreApplication.translate("unknown_error", "Tuntematon virhe: ")
然後我跑pylupdate5和翻譯在語言學家的字符串。但是,在運行期間,這些消息不會被翻譯,而是仍然顯示芬蘭原文。
爲什麼以及如何解決它?我有一個預感,它與上下文有關,但我還沒有設法找出它,因爲我沒有找到PyQt翻譯的任何深入文檔(Riverbank的含義很模糊)。
另外,考慮到Riverbank建議使用translate()而不是tr(),我應該如何翻譯Designer生成的UI與PyQt?