Home | Sign in | French EN
  • This lesson will teach you the following concepts
  • What is a multilingual application?
  • Choosing the project languages
  • Localizing the analysis
  • Localizing the project elements
  • Localizing an image
  • Localizing controls
  • Localizing a programming message
  • Localizing menus
  • The translation tools
  • Direct input of translations
  • Translation with WDMSG and WDTRAD
  • Other elements to translate: the framework messages
  • Programming the change of language
  • Adding a menu option
  • Programming
  • Project test
Lesson 4.16. Managing the multilingual feature
This lesson will teach you the following concepts
  • What is a multilingual application?
  • Creating a multilingual application, step by step.

Estimated time: 20 mn
Previous LessonTable of contentsNext Lesson
What is a multilingual application?
A multilingual application is an application that can be run in different languages (English, French, German or any other language).
Therefore, the same application can be used in several languages. But how is it possible? That's what we will see in this lesson.
We are going to handle a project that can be run in English or in French, according to the user's choice.
The main steps of a multilingual application are:
  • Choosing the project languages.
  • Localizing the analysis.
  • Localizing the project elements (windows, reports, controls, help system, ...).
  • Localizing the messages found in the code.
  • Programming the change of language in the application.
These different steps will be applied to the "WD Full Application" project. This project, available in English, will be translated into French.


If you did not perform the operations in the previous lessons, you can follow this lesson by opening a corrected project: in the WINDEV home page (Ctrl + <), click "Tutorial" and select "Full application (Answer)".
Choosing the project languages
  • The first operation consists in choosing the project languages.
    1. Display the project description: on the "Project" pane, in the "Project" group, click "Description".
    2. Click the "Languages" tab. Our application will support English and French.
    3. Click the "Add" button. The window for selecting languages is displayed.
    4. Click "French". A checkmark is displayed on the right of language.
    5. Validate. The "French" language appears in the list of project languages.
  • The "Languages" tab can also be used to configure the linguistic options regarding the numbers, the currencies, the dates, ... for the selected language. Let's see an example:
    1. Click the "French" language.
    2. Select the "Date" tab.
    3. The linguistic options of Windows are used by default. Select "Use the following parameters": you now have the ability to define the date format as well as the translation used for the days and months.
    4. Keep the option "Use the parameters defined in the linguistic options of the operating system".


In the linguistic options, you have the ability to choose the text direction for the language ("Various" tab, "Text direction" option). This allows you to create interfaces with a language written from right to left.
  • Validate. A message proposes to synchronize the different project elements. Answer "Yes". All project elements opened in the editor (windows, reports, ...) are closed and the additional languages are added to these elements.
    Note: The captions that exist in the base project language are automatically copied into the added languages.
Localizing the analysis
By default, an analysis is created in a specific language and it cannot be translated.
However, some information can be typed in several languages (notes in the documentation, shared information, ...).
If your application uses Reports and Queries, the names of the data files and items can also be translated. This translation can be done in the "Reports and Queries" tab (this tab is both in the data file and the item description window).
By default, the controls created from the analysis items have the item caption specified in the analysis. If a caption was specified in the shared information of item, this caption will be used when creating the control.
When changing the language of project linked to the analysis, this change is not automatically applied to the analysis. Indeed, an analysis can be shared between several projects.
  • To support several languages in an analysis:
    1. Display the data model editor: click among the quick access buttons of WINDEV menu.
    2. In the analysis description ("Analysis description" from the popup menu), select the "International" tab.
    3. The list of languages supported by the analysis is displayed. The French language not being supported:
      • Click the "Add" button.
      • Select "French".
      • Validate the window for adding languages.
    4. Validate the description window of analysis.


      To take into account all languages of the project linked to the current analysis, you also have the ability to click the "Synchronize with the project" button.
  • To type shared information in several languages, let's take a simple case: entering the caption of the control linked to the "Address" item of "Customer" data file:
    1. Select the Customer data file.
    2. Display the description of items of a data file ("Description of items" in the data file popup menu).
    3. Select the "Address" item and display the parameters of control linked to the selected item (shared information). To do so, click the link at the bottom of the screen. The shared information is displayed in a new window.
    4. In the "Caption" area, type the caption for the French language: "Adresse".
    5. Validate the window for typing shared information.
    6. Validate the description window of items.


      The shared information of analysis can be translated:
      • when creating the analysis.
      • at any time via the editor.
      • at any time via WDMSG and WDTRAD, tools used to extract, translate and reintegrate the different elements.
  • To take into account the modifications performed in the analysis, you must generate the analysis: on the "Analysis" pane, in the "Analysis" group, click "Generation".
Localizing the project elements
All project elements can become multilingual elements: windows, reports, help, ...
We are going to modify some elements of WIN_Menu window to present the different methods that can be used.
We are going to modify:
  • the image of the bar used in the WIN_Menu window.
  • the captions of controls found in the WIN_Menu window.
  • the menu options.
  • the message displayed by the WLanguage code when closing the application.
  • Open the "WIN_Menu" window in the editor (double-click its name in the "Project explorer" pane for example).
  • First of all, check whether the WIN_Menu window is associated with the different languages defined in the project:
    1. Display the window description ("Description" from the popup menu of window).
    2. Select the "Language" tab: the two languages selected in the project are displayed.
    3. Validate the window.

Localizing an image

  • To change the image of the bar used in the WIN_Menu window according to the runtime language:
    1. Open the "WIN_Menu.WDW" window.
    2. The bar image is found in the template associated with the window. Therefore, the associated window template must be opened:
      • Click the "WD FullApplication" control and display the popup menu.
      • Select "Open the template".
      • The window template appears, enclosed in an orange border.
    3. Display the description window of the bar:
      • Select the "WD FullApplication" control and display the popup menu.
      • Select "Description".
    4. In the "Image" area, click the button.
    5. Select "Multilingual" from the popup menu that is displayed.
    6. The window for managing multilingual images is displayed. A different image can be used for each language. This feature is very useful if you are using images containing text.
    7. For our example, in the "French" area, select the "header-fr.png" file:
      • Click the icon.
      • Select "Browse".
      • Select the requested file.
    8. Validate. The "Multilingual value" caption appears in the "Image" area of description window.
    9. Validate the description window of control.
    10. Save the window template ( or Ctrl + S).
    11. Update the windows that use the window template by clicking the icon in the orange bar. Validate the update window.
    12. Close the window template displayed in the editor.

Localizing controls

A control can display various information to the user:
  • a caption,
  • a help message,
  • an image, ...
This information must be translated. This information is accessible in the different tabs of the description window of control.
  • For our example, we are going to translate the first pane of Tab control.
    1. Double-click the Tab control to display its description window.
    2. In the "General" tab of description window, select the first tab "List of products".
    3. In the "Description of static pane" section, you can:
      • type the translation for the pane caption: "Liste des produits".
      • define a specific image for the tab pane according to the language (as already done before).
      • define a tooltip for each language.
    4. Close the description window of control.

Localizing a programming message

All messages found in your program can be translated into several languages. In our example, selecting the "Exit" menu displays the message "Exit from the application". We are going to translate this message.
  • To translate the message of menu option:
    1. Display the code of menu option:
      • Expand the menu in the editor.
      • Select the "Exit" option.
      • Select "Code" from the popup menu (right mouse click).
    2. To translate this type of message, position the cursor in the "Exit from application?" string and press Ctrl + T. On the "Code" pane, in the "Languages" group, you can also expand "Translate strings" and select "Translate messages".
    3. The following window is displayed:
    4. This window allows you to translate all messages of your program into all project languages.
    5. In the "French" area, type "Quitter l'application?" and validate.
    6. The icon as well as a digit appear in the code editor.
      These icons indicate that the multilingual message exists in 2 languages.
    7. Close the code editor.

Localizing menus

The menu options can be translated like the other controls via the description window of the option, or from the window editor directly.
  • To translate the menu of "WIN_Menu" window:
    1. On the "Display" pane, in the "Options" group, expand "Language displayed" and select the language that will be viewed in the editor (French in our case).
    2. The menu options are displayed in the selected language. If no translation corresponds to the selected language, the menu options are displayed in English.
    3. Expand the "Menu" option.
    4. Select "Send an email".
    5. Press the Space key on the keyboard: the caption becomes editable.
    6. Type the caption in French: "Envoyer un email" and validate.
    7. Switch the displayed language back to English: on the "Display" pane, in the "Options" group, expand "Language displayed" and select "English".
The translation tools
Some application elements have been translated manually.
Several methods can be used to translate this information:
  • a direct translation of messages performed in the different editors. This translation can be performed via a translation tool, Google Translate (providing that you own a license), ...
  • a translation performed via an external tool (WDMSG and WDTRAD).

Direct input of translations

The translations are typed in the product interface directly. For example, the caption of "New" button becomes "Nouveau" in French. All you have to do is open the description window of control and type the corresponding translation in the requested language.
If you want to use a translation software or a translation site, WINDEV can be configured to use this software:
  1. On the "Home" pane, in the "Environment" group, expand "Options" and select "General options of WINDEV".
  2. Display the "Translation" tab.
  3. Specify:
    • Whether the regional settings must be automatically enabled according to the language used for the input. In this case, if the language requires a specific character set, this character set will be automatically selected.
    • The software or the site that will be used for translation. You have the ability to use WDDixio, translation dictionary supplied with WDMSG (see next paragraph), a specific translation software or site, or Google Translate.
      See Translation by Google Translation for more details.
    • The supported languages.
  4. When the translation parameters are defined, you have the ability to click the button found in the different description windows of project elements: this button allows you to use the software defined for translation.

Translation with WDMSG and WDTRAD

A tool named WDMSG (not supplied with WINDEV) can be used to:
  • check out all project messages (caption of controls, code message, title of windows, ...) in order to translate them,
  • check the translated messages back in.
The messages to translate are checked out:
  • in a text format that can be configured to be used by most translation tools
  • in HFSQL format.
WDMSG is also supplied with WDTRAD, a computer-assisted translation tool. WDTRAD is used to easily type all translations for the multilingual information of a project.
Contact PC SOFT Sales Department for more details about WDMSG and WDTRAD.

Other elements to translate: the framework messages

Various information and messages are found in the WINDEV framework. For example, the names of days and months used by the functions for date management come from the WINDEV framework. To translate one or more libraries of this framework, you must use WDINT (not supplied with WINDEV).
This program is used to get a file whose extension is WDM. To use this file in your application:
  • you have the ability to use LoadError.
  • you have the ability to include the file to the project description in the "Languages" tab. All you have to do is select the requested language and select the "Various" tab.
Contact PC SOFT Sales Department for more details about WDINT.
Programming the change of language
By default, the project is run in the runtime language defined for the project, in the "Languages" tab of project description ("Description" in the "Project" pane).
In an application, the language can be chosen via a menu option. You can change the language of the application being run using Nation in the event associated with the menu option.

Adding a menu option

  • To add a menu option:
    1. Open (if necessary) the "WIN_Menu" window in the editor (double-click its name in the project explorer).
    2. Click the "Menu" option of window. The menu is expanded.
    3. Select "Send an email".
    4. Display the popup menu (right mouse click). Select "Add after". Type the caption ("Languages") and validate.
    5. Select the "Languages"' option you have just created.
    6. Display the popup menu (right mouse click) and select "Transform to expand a sub-menu".
    7. Type the caption of first sub-option: "English".
    8. Press the Enter key twice and type the caption of second option ("French").
We are now going to type the WLanguage code required to change language.


To type the code for managing languages:
  1. Select "Menu .. Languages .. French" in the editor.
  2. Display the popup menu (right mouse click). Select "Code".
  3. Write the following code:
  4. Select "Menu .. Languages .. English" in the editor.
  5. Display the popup menu (right mouse click). Select "Code".
  6. Write the following code:
Nation is used to change the runtime language of application. The constants passed in parameter allow you to specify the language to use. The change of language performed by Nation is immediately effective.

Project test

Some application elements being translated, we are now going to check the change of language.
  • To run the application test:
    1. Run the project test ( among the quick access buttons). The window is displayed in test mode in English.
    2. Select "Menu .. Languages .. French".
    3. The elements that have been translated are displayed in French:
    4. End the test and go back to the editor.
Previous LessonTable of contentsNext Lesson
Minimum version required
  • Version 24
Click [Add] to post a comment