PySide Internationalization: Difference between revisions
No edit summary  | 
				No edit summary  | 
				||
| Line 5: | Line 5: | ||
= Internationalizing PySide programs =  | = Internationalizing PySide programs =  | ||
You will need to make a project file first:  | You will need to make a project file first:  | ||
'''kalam.pro'''  | |||
<code>SOURCES = main.py  | |||
TRANSLATIONS = i18n/en_GB.ts  i18n/eo_EO.ts  | |||
</code>  | |||
The two files in TRANSLATIONS will create two files for both languages (UK English and Esperanto here).  | The two files in TRANSLATIONS will create two files for both languages (UK English and Esperanto here).  | ||
Now run:  | Now run:  | ||
<code># you can find this tool in Ubuntu in the package pyside-tools  | |||
$ pyside-lupdate kalam.pro</code>  | |||
Now you have your translation files ready to be used with Qt Linguist per   | Now you have your translation files ready to be used with Qt Linguist per "this tutorial.":http://doc.qt.nokia.com/4.7/linguist-translators.html 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:  | ||
<code>  | |||
 translator = QtCore.QTranslator()  | |||
 translator.load('i18n/eo_EO')  | |||
 app = QtGui.QApplication(sys.argv)  | |||
 app.installTranslator(translator)  | |||
</code>  | |||
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.  | 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.  | ||
<code>  | |||
self.tr('sksddsl')  | |||
QObject.tr('xyz')  | |||
MyClassX.tr('nanana')  | |||
Revision as of 09:45, 25 February 2015
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.":http://doc.qt.nokia.com/4.7/linguist-translators.html 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')