In the course of the internationalization of an application program, it is prepared for users in other countries or regions
(also called localization). Internationalization includes the translation of all texts into the corresponding national language, sometimes combined with different character sets or even a change in the direction of writing. In addition, cultural differences must often be taken into account, for example, in the selection of icons whose interpretation is determined by the cultural roots of
the user. Modern programming languages such as Java and .NET already take the necessity of internationalization into account in their core and provide methods and tools to minimize the development effort for this.