PySide Internationalization: Difference between revisions
AutoSpider (talk | contribs) Convert ExpressionEngine links |
AutoSpider (talk | contribs) Rename category "LanguageBindings::PySide" -> "PySide" |
||
| (One intermediate revision by one other user not shown) | |||
| Line 1: | Line 1: | ||
[[Category | |||
[[Category:PySide]] | |||
'''English''' [[PySide-Internationalization-Japanese|日本語]] | '''English''' [[PySide-Internationalization-Japanese|日本語]] | ||
| Line 19: | Line 19: | ||
$ pyside-lupdate kalam.pro</code> | $ pyside-lupdate kalam.pro</code> | ||
Now you have your translation files ready to be used with Qt Linguist per [http://doc.qt. | Now you have your translation files ready to be used with Qt Linguist per [http://doc.qt.io/qt-5/linguist-translators.html this tutorial.] Load the .ts file, double click entries and type the translation, click the ? icon to mark them as finished then do File -> Release to compile a new .qm file. The translator uses the .qm files. | ||
Adding translation support to your application is trivially easy: | Adding translation support to your application is trivially easy: | ||
Latest revision as of 03:30, 5 June 2016
English 日本語
Internationalizing PySide programs
You will need to make a project file first: kalam.pro
SOURCES = main.py
TRANSLATIONS = i18n/en_GB.ts i18n/eo_EO.ts
The two files in TRANSLATIONS will create two files for both languages (UK English and Esperanto here).
Now run:
# you can find this tool in Ubuntu in the package pyside-tools
$ pyside-lupdate kalam.proNow you have your translation files ready to be used with Qt Linguist per this tutorial. Load the .ts file, double click entries and type the translation, click the ? icon to mark them as finished then do File -> Release to compile a new .qm file. The translator uses the .qm files.
Adding translation support to your application is trivially easy:
translator = QtCore.QTranslator()
translator.load('i18n/eo_EO')
app = QtGui.QApplication(sys.argv)
app.installTranslator(translator)
Will load the Esperanto translations.
Every QObject has a function called tr which returns the translated string. pyside-lupdate which we ran above, simply scans your sourcecode to find all instances where it's called.
self.tr('sksddsl')
QObject.tr('xyz')
MyClassX.tr('nanana')