我该如何轻松地翻译QMessageBox中的标准按钮(是、否)? 我不能在这些参数上使用self.tr,因此我希望以其他简单的方式实现它。 我必须使用整个翻译系统吗?
我该如何轻松地翻译QMessageBox中的标准按钮(是、否)? 我不能在这些参数上使用self.tr,因此我希望以其他简单的方式实现它。 我必须使用整个翻译系统吗?
我是这样做的:
首先,您需要将 qt_LOCALE.qm
文件复制到您的应用程序目录中。我的目录如下:
cp /usr/share/qt4/translations/qt_fr.qm .
其次,您需要为您的应用程序加载一个翻译器。
application = QApplication(argv)
locale = QLocale.system().name()
qtTranslator = QTranslator()
if qtTranslator.load("qt_"+locale):
application.installTranslator(qtTranslator)
main_window = QMainWindow()
main_window.show()
exit(application.exec_())
mymessagebox.button(mymessagebox.Yes).setText("Yes, please!")
mymessagebox.button(mymessagebox.No).setText("No, thanks.")
查看QMessageBox文档以获取所有可能的标准按钮。
您确定需要自己翻译吗?在其他工具包中,标准按钮会自动翻译为用户所使用的语言。