Internationalization Example

Files:

This example shows how to enable text translation in QML.

Introduction

The QML runtime automatically loads a translation from the i18n subdirectory of the root QML file, based on the system language. The translations are held in QM files that must be generated from TS files.

Updating Translations

The .ts files are created and updated by running:

 lupdate i18n.qml -ts i18n/base.ts

If no translation file exists, one will be created. If a file already exists, it will be updated to contain the latest strings from the QML file.

Translations for new languages are created by copying i18n/base.ts to i18n/qml_<lang>.ts The TS files can then be edited with Qt Linguist:

 linguist i18n/qml_fr.ts

The run-time translation files are then generated by running:

 lrelease i18n/*.ts
 
Notes provided by the Qt Community
Informative
  • 5

Votes: 1

Coverage: Qt library 4.7, 4.8, 5.0

Picture of sigrid sigrid

Hobby Entomologist
20 notes

This person works for Qt Development Frameworks. Nokia Certified Qt Developer

Example that shows how to do dynamic translation in QML

The following wiki page [developer.qt.nokia.com] explains how you can do dynamic translation in QML and contains an example on how to do it. It contains a trick to get around the fact that QDeclarativeEngine currently does not provide a convenient way to know when the strings should be retranslated.

[Revisions]