Allow the user to switch between locales

How does it work?

Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by translating text and adding locale-specific components.

A locale is a combination of language and country. For example, en_GB stands for British English, while en_US is American English.

Internationalization means that every text label (i.e. "Customers") is marked as translatable (for example: _("Add customer"), $t("Add customer"), _("add_customer"), _("t42344444")). The text argument serves as the source text.

As the code is executed, the application searches for a translation of the source text in the translations of the current locale, and shows the translations that matches the source text.

When should you use it?

When the stakeholders require that the application needs to be available in different languages.


  • If internationalization is added late into the application development process, it may require significant adaptations. Best start early.