Promotic
WikipediaLinkedInYoutubeTwitterFacebook

How to create an application using different national languages

Switching OS Windows into the respective language setting

If an application has to be operated in a foreign language, then the support for this language must be installed in OS Windows. It goes about the language fonts and also about setting the keyboard layout for the language.

The support of individual national languages is set for greater groups in OS Windows. For example:

a) Central Europe (Czechia, Slovakia, Poland, Hungary, etc.)
b) Cyrillic (Russia)
 
It is possible to set the support even for more language groups concurrently. Though it is possible to display texts in various languages in the application concurrently (even from different code pages), based on the installed language groups.

We set the languages itself in Regional Options in Control panel of OS Windows. We set the support for the language groups, the default language, the language for time, currency, etc. format. Further it can be set the keyboard layout (even several layouts concurrently and the key sequence for switching between them).

Language of the development environment

The setting is in the "Development environment language" configurator in the menu " > PROMOTIC settings" in the main window of the development environment.
 
This language has no impact on the language of the resultant application.

Language of the application

The setting is in the "PmaRoot > Application > Main language of runtime" configurator. This setting defines the language of system texts in application windows, components, viewers etc.
 
It is possible to create an application that can be switched between more national languages when running.

This functionality can be achieved so that in all situations when the national text has to be entered (e.g. the "Value" configurator of the PmgString object), Macro expression $.text is written instead of the real text. If the macro expression cannot be used (e.g. text is created dynamically in the algorithm), then the Pm.EvalMacro method can be used.

 
Switching the application into another language is done by setting the properties Pm.RtLang and by calling the Pm.RestartGui method.
 
The PmaWebLang object can be used for creating application, offering HTML pages as Web server and these pages wil be available in multiple language versions. For example the local PROMOTIC application will be running in English, but the Web pages will be offered independently in English/German/Russian ... language version.
 
The example of switching the languages in the runtime mode and offering the Web pages in another languages can be found in the following example: Demo application of the PROMOTIC system.

Fully supported languages in the PROMOTIC system

A list of languages with full support and all system texts in the runtime mode of the PROMOTIC system.

These texts are contained in the text_sys.xml file that is located in the PROMOTIC installation folder.

The selection of these languages in running application is done by the "All used languages" configurator and the main language by the "PmaRoot > Application > Main language of runtime" configurator

In Macro expression $.text, there is a description and syntax of user texts in the application. The example of language switching can be found in Application divided into examples.

 
id name countries
cs Czech CZ=Czechia
de German DE=Germany, AT=Austria, CH=Switzerland ...
el Greek GR=Greece
en English US=USA, UK=Great Britain, IE=Ireland, CA=Canada ...
es Spanish ES=Spain
fa Persian (Farsi) IR=Iran
fr French FR=French, CH=Switzerland, CA=Canada ...
hr Croatian HR=Croatia
hu Hungarian HU=Hungary
lt Lithuanian LT=Lithuania
ms Bahasa Malaysia MY=Malaysia
pl Polish PL=Poland
ru Russian RU=Russia
sk Slovak SK=Slovakia
sr-latn Serbian language written in Latin RS=Serbia
tr Turkish TR=Turkey
uk Ukrainian UA=Ukraine
vi vietnamese VN=Vietnam
zh Standard Mandarin CN=China

Languages without system texts in runtime mode

For these languages, the system texts in the runtime mode will be displayed in development mode language or in English.

In the "All used languages" configurator, it is necessary to enter the identifier (id) of the corresponding language(s).

In the "PmaRoot > Application > Main language of runtime" configurator, also enter the default runtime language.

In Macro expression $.text, there is a description and syntax of user texts in the application. The example of language switching can be found in Application divided into examples.

 
id name countries
af afrikaans ZA=Republic of South Africa
ar Arabic SA=Saudi Arabia
bg Bulgarian BG=Bulgaria
bs Bosnian BA=Bosnia and Herzegovina
by Belarusian BY=Belarus
da Danish DK=Denmark
et Estonian EE=Estonia
fi Finnish FI=Finland
he Hebrew IL=Israel
hy Armenian AM=Armenia
id Indonesian ID=Indonesia
is Icelandic IS=Iceland
it Italian IT=Italy
ja Japanese JP=Japan
ka Georgian GE=Georgia
kk Kazakh KZ=Kazakhstan
ko Korean KR=South Korea
ky Kyrgyz KG=Kyrgyzia
lv Latvian LV=Latvia
mk Macedonian MK=Macedonia
mn Mongolian MN=Mongolia
mt Maltese MT=Malta
nl Dutch NL=Netherlands
no Norwegian NO=Norway
pt Portuguese PT=Portugal
ro Romanian RO=Romania
sl Slovenian SI=Slovenia
sq Albanian AL=Albania
sr-cyrl Serbian language written in Cyrilic RS=Serbia
sv Swedish SE=Sweden
tg Tajik TJ=Tajikistan
th thai TH=Thailand
tk Turkmen TM=Turkmenistan
ur Urdu PK=Pakistan
uz Uzbek UZ=Uzbekistan

History:
Pm9.00.03: Added new supported runtime national languages: Croatian (hr).
Pm8.03.20: Added new supported runtime national languages: vietnamese (vi).
Pm8.03.07: Added new supported runtime national languages: simplified Standard Mandarin and Bahasa Malaysia.
Pm8.03.01: Added new supported runtime national languages: Turkish.
Pm8.03.00: Added new supported runtime national languages: simplified Ukrainian, Greek and Persian.
PROMOTIC 9.0.7 SCADA system documentation - MICROSYS, spol. s r.o.

Send page remarkContact responsible person
Navigation:
 
 
- How to create an application using different national languages
 
 
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice