ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Controls, pages and windows / Multilingual functions
  • Overview
  • Defining the application language through programming
  • Default language
  • Changing the language through programming
  • Tip
  • Mechanism of preferred languages for the external components
  • Principle
  • Sequence of preferences
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview
A multilingual application can be distributed in multiple languages. The user will be able to choose the language used by the application at runtime. You can for example:
  • prompt the user to choose the runtime language the first time the application is started,
  • include an option (menu option or button, for example) to allow users to change the language while the application is running.
Defining the application language through programming

Default language

When running the project, the default language is selected in the project options:
  • on the "Project" tab, in the "Project" group, click "Description".
  • select the "Language" tab.
  • select the default language in the list of project languages and select "Default language" from the popup menu.
The change of language is performed through programming.

Changing the language through programming

To change language through programming:
  1. Call Nation and pass the selected language as parameter. The selected language will be taken into account by the first WLanguage function called after Nation and for all the windows, pages and reports that will be opened thereafter.
  2. Call LoadError to load the message error file of the components (WD*.DLL files) in the selected language. The error message file has a WDM extension.
    Remarks:
    • If a message file is associated with the language chosen in the project description, there is no need to use LoadError.
      Reminder: The message file is defined in the "Miscellaneous" tab of the project description.
      Reminder: to open the project description, go to the "Project" tab, "Project" group and click "Description". Select the "Language" tab.
    • The error messages of the components are in English by default. They can be translated with WDINT.EXE. WDINT is an additional tool. Contact PC SOFT Sales Department for more details about the conditions for using this product.
  3. If your application supports languages that use specific character sets (Greek, Korean, ...), you must change by programming:
Example of initialization process of project:
// The language is chosen via RADIO_ChooseLanguage
SWITCH RADIO_ChooseLanguage
CASE 1: // French
Nation(nationFrench)
CASE 2: // English
Nation(nationEnglish)
IF LoadError("ENGLISH.WDM") > 0 THEN
Error("Message file not found.",...
"The messages will be displayed in French.")
END
CASE 3: // Spanish
Nation(nationSpanish)
IF LoadError("SPANISH.WDM") > 0 THEN
Error("Message file not found.",...
"The messages will be displayed in French.")
END
CASE 4: // Greek
Nation(nationGreek)
IF LoadError("GREEK.WDM") > 0 THEN
Error("Message file not found.",...
"The messages will be displayed in French.")
END
ChangeCharset(charsetGreek)
ChangeKeyboard(charsetGreek)
END
Java To change the language through programming, simply call Nation with the selected language as parameter. The selected language will be taken into account by the first WLanguage function called after Nation and for all the windows that will be opened thereafter.

Tip

Several methods can be used to choose the project language:
  • Stored in a parameter file. In this case, the change of language can be performed in the initialization process of the project and it will effective from the first window or page of the project.
  • Chosen by a menu option. In this case, the menu will be displayed in the default language and the change of language will be performed when the next window or page is opened.
Mechanism of preferred languages for the external components
WINDEVWEBDEV - Server codeWindows

Principle

If an external component used in the project supports less languages (or different languages) than the project, the mechanism of preferred languages is used to display the desired information (coming from the external component) in a language close to the desired one.
Example: An external component proposes a window that was translated into French, English and Russian. A menu option in the application that uses the external component allows this window to be displayed in German.
The mechanism of preferred languages searches for the German language, the English language and the American language.
In our example, the window will be displayed in English.
Benefit: if you use an external component that does not support the same languages as your application, a translation will always be displayed (even if does not exactly correspond to the desired language).
Remark: The interface of the external component can also be translated into the desired language. For more details, see Translating the external components.
WINDEVWEBDEV - Server codeWindows

Sequence of preferences

The requested language is searched by default.
If this language is not found, English translations are first searched and displayed.
If English is not associated with the element, American is searched and displayed.
Special cases:
  • If English is searched and not found, American will be searched.
  • If American is searched and not found, English will be searched.
  • If Canadian French is searched and not found, French will be searched, then American and then English.
  • If Portuguese is searched and not found, Brazilian Portuguese will be searched, then English and then American.
  • If Brazilian Portuguese is searched and not found, Portuguese will be searched, then English and then American.
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 05/26/2022

Send a report | Local help