Qt 自体の翻訳 (qt_xx.qm ファイルを介して提供され、Qt と共に配布されます) と独自の翻訳の 2 つが混在しているようです。
ここでは、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のProduce translationsセクションが役に立ちます。プロジェクト ファイルと翻訳ファイル (.ts) を提供し、Qt Linguist ツールを使用する必要があります。
複数のトランスレーターをインストールすることで、Qt 自体の翻訳と独自のアプリの翻訳の両方を混在させることができます。
トランスレータをロードするとき、ファイル名に .qm 拡張子を追加する必要がないことに注意してください。