Soluling home   Document home

Initial language

Initial language

A multilingual application contains support for several languages. You can either implement a multilingual application that can choose the language it uses when it starts, or you can go even further by adding support for runtime language change. In the first method, the application starts on the language that either OS or the application code selects it, but you can not change it afterward. To run such a multilingual application in a different language, you have to stop it, modify the applications and/or operating system settings, and start again.

Let's have an example. We have an English application, Application.exe, and its resource files (called satellite assembly files in .NET) in Finnish, French, German and Japanese. The following table contains the application files.

Description .NET Delphi/C++Builder Visual C++
Original English application file created by the development tool Application.exe Application.exe Application.exe
German satellite assembly or resource file created by Soluling de\Application.​resources.dll Application.de Application.DEU
Finnish satellite assembly or resource file created by Soluling fi\Application.​resources.dll Application.fi Application.FIN
French satellite assembly or resource file created by Soluling fr\Application.​resources.dll Application.fr Application.FRA
Japanese satellite assembly or resource file created by Soluling ja\Application.​resources.dll Application.ja Application.JPA

This makes the application to support five languages. If you start the application on Finnish Windows, the application will load the Finnish resources (fi\Application.resources.dll, Application.fi or Application.FIN), and the application will initially show up in Finnish.

To run the application in German, French or Japanese, you need to change the OS or application settings, close the application, and start again.

The way you control what the initial language is, depends on your development tool.

If you want to avoid restarting between language changes you have to implement runtime language change.