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).
# 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.