Subj:有可能嗎?例如,我可以將QtGui.QFileDialog().getSaveFileName()
按鈕「保存」轉換爲「Conservare」,並將「取消」轉換爲「Ignorare」?是否可以根據QFileDialog/QFontDialog
創建我的課程而不發明速度? 有人說這些函數將會被翻譯,這取決於系統語言環境。不要相信,我的俄文版OpenSUSE說這是謊言。 :-)和俄羅斯的Windows 7有這樣的行爲。我在系統上看到的所有字符串都是英文。我不是民族主義者,但我想用其他語言的字符串。 :-) 謝謝!PyQt4:QFileDialog和QFontDialog本地化
0
A
回答
2
標準的Qt安裝應該包括20個左右的Qt庫本身的翻譯文件。
有關如何使用它們的說明,請參見Qt i18n文檔的this section。
這是一個基本PyQt4的例子:
from PyQt4 import QtGui, QtCore
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.buttons = QtGui.QDialogButtonBox(self)
button = self.buttons.addButton(QtGui.QDialogButtonBox.Open)
button.clicked.connect(self.handleOpen)
button = self.buttons.addButton(QtGui.QDialogButtonBox.Close)
button.clicked.connect(self.close)
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.buttons)
def handleOpen(self):
dialog = QtGui.QFileDialog()
dialog.exec_()
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
translator = QtCore.QTranslator()
if len(sys.argv) > 1:
locale = sys.argv[1]
else:
locale = QtCore.QLocale.system().name()
translator.load('qt_%s' % locale,
QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath))
app.installTranslator(translator)
window = Window()
window.show()
sys.exit(app.exec_())
0
我已經找到了解決方案:qm文件。您可以使用lrelease
從ts文件中獲取它們。
相關問題
- 1. 如何本地化從QPrintDialog調用的QFileDialog?
- 2. IValueConverter和本地化
- 3. time_ago_in_words和本地化
- 4. iPhone:UIBarButtonSystemItemSave和本地化
- 5. UISwitch和本地化
- 6. UISegmentedControl和本地化
- 7. WPF和本地化
- 8. 本地化和HTML5
- 9. JColorChooser和本地化
- 10. wxPython和本地化
- 11. QFontDialog:獲取字體顏色
- 12. Sharepoint 2013 PowerShell和本地化
- 13. JavaScript和Struts本地化
- 14. REST和本地化資源
- 15. 本地化和L&F
- 16. struts 2和sitemesh本地化
- 17. 本地化:PHP和JavaScript
- 18. Vala,資源和本地化
- 19. 時區和本地化
- 20. 本地化和方言
- 21. Xcode 3.2.2和本地化Settings.bundle
- 22. 本地化,MUI和CLR
- 23. silex和樹枝本地化
- 24. rails-breadcrumb和I18n本地化
- 25. 本地化和日期
- 26. 本地化和可繪製
- 27. Rails和I18n:本地化模板vs本地化字符串
- 28. QFileDialog和setDefaultSuffix for Mac Sandbox
- 29. 國際化和本地化問題
- 30. 國際化和程序本地化。 i18n
謝謝!這真的很有用。只有一個問題:我可以使用不同的翻譯(默認Qt和我自己)嗎? – ghostmansd 2012-02-04 12:48:24
我在我的應用程序中有一些元素,通過QTranslator.translate通過另一個qm文件進行翻譯。 – ghostmansd 2012-02-04 12:55:40
@ghostmansd。是的,你可以安裝多個翻譯器。查找翻譯是按相反順序完成的,因此您可能需要安裝自己的'qm'文件_last_(請參見[here](http://developer.qt.nokia.com/doc/qt-4.8/qcoreapplication的.html#installTranslator))。 – ekhumoro 2012-02-04 17:59:31