Internationalization (i18n) and localization (L10n) guide for application developers

Language variants can increase your sales in different parts of the world. To make them, you need to localize, and possibly also internationalize your software.


Localization is the adaptation of software to meet the requirements of local markets and various languages. Often localization is only seen as translation, but it also ensures the correctness of cultural and linguistic conventions used.

Successful localization requires support for translators: this can be done during the translation phase by advising the translators, or by creating the software in a way that takes localization into account. This is often called internationalization.


On Symbian platform, internationalization is a mind-set and architectural issue. The goal is to separate application code into a) the non-changing core that contains all the functionality and b) the changing content that contains the culturally sensitive data, such as text strings on the UI. Most of the functionality that you will need is offered by Qt/QML, and you should separate the UI texts into .ts resource files.

Internationalization deals with variety of issues: character sets, sorting order and so on.

When done successfully, multiple language variants can efficiently be created in the localization phase from this single, internationalized source, with minimal involvement from the source creator – you.

In application internationalization, you should rely mostly on Qt internationalization guidance. The Symbian platform also offers some APIs that can be utilized.

Internationalization is most useful when you are aiming to make multiple language variants, or intend the application to have a long life span. If your application is aimed for one extra language, or one version only, internationalization might be unnecessary.