PySide Internationalization: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Convert ExpressionEngine links)
(Rename category "LanguageBindings::PySide" -> "PySide")
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}


[[Category:LanguageBindings::PySide]]
 
[[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.nokia.com/4.7/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.
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.pro

Now 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')