作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 pyqt 应用程序的语言从英语转换为芬兰语。我看到 pyqt 有一些方法,我尝试使用它,但它没有帮助我
app = QtGui.QApplication(sys.argv)
translator = QtCore.QTranslator()
translator.load("qt_fr.qm")
app.installTranslator(translator)
.qm 文件出现在正确的路径上(我猜现在它正在使用法语)并且在按钮上我使用了这个文本
name = "File"
button.setText(self.tr(QtCore.QString(name)))
最佳答案
您似乎混合了两件事:Qt 本身的翻译(通过 qt_xx.qm 文件提供并与 Qt 一起分发)和您自己的翻译。
这里有一个使用Qt本身的俄语翻译文件的例子:
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class MyWindow(QWidget):
def __init__(self, parent=None):
super(QWidget, self).__init__(parent)
self.hbox = QHBoxLayout(self)
self.myButtons = QDialogButtonBox(self)
self.hbox.addWidget(self.myButtons)
button = self.myButtons.addButton(QDialogButtonBox.Open)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
translator = QTranslator()
print translator.load("qt_ru", QLibraryInfo.location(QLibraryInfo.TranslationsPath))
app.installTranslator(translator)
ui = MyWindow()
ui.show()
sys.exit(app.exec_())
如果您需要自己的翻译,请使用 i18n with Qt 的生成翻译 部分对你有帮助。您将需要提供一个项目文件、您的翻译文件 (.ts) 并使用 Qt Linguist 工具。
您可以通过安装多个翻译器来混合 Qt 本身的翻译和您自己的应用翻译。
请注意,加载翻译器时,您不必在文件名中添加 .qm 扩展名。
关于python - Pyqt 英译芬兰语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13032774/
我是一名优秀的程序员,十分优秀!