Overview
Localization in applications enables operators using remote displays to interact with the interface in their selected language. This feature allows for defining translations in the configuration settings and applying the chosen language in the client through the @Client.Localization property or the @Client.SetLocalization method. Localization enhances the accessibility and usability of applications for a global audience, ensuring that cultural and language differences do not hinder the user experience.
Configuring Display Localization
You can localize the text in your application in as many languages as needed. To do this, create a dictionary for each language.
To create a localization dictionary:
- Go to Displays → Localization.
- Click New.
- The Create New Localization Dictionary window will display.
- Enter a name for the dictionary.
- Click OK.
- Click Load Strings to populate the table with all the controls that have strings that are set to Localizable. In the TranslatedText column, enter the text in the dictionary language.
- Create controls in a display or write a script to use the object
Client.Localization
to configure the solution’s localization. This changes the language throughout the application.
The alarm messages can also be included in the localization if the related check-box is set. In Solution / Settings, you can define the default Culture Information that the application is using. The runtime property Client.CultureInfo
allows you to change it during runtime. Some display controls may get the Culture Info directly from the Operating System. In this situation, the correct procedure is for both the Operating System settings and the solution settings to have the application's target culture.
Language Switching Example
For an example on how to switch the language of a solution, check out Localization Example. In summary, there are three things to look for when preparing your solution's localization:
- Most of the components on display can be translated by changing the property
@Client.Localization
or using the method@Client.SetLocalization
, as described above. Every text you want to reflect the current localization must use the@Client.Locale
method. For example, to localize a TextLabel component: - Certain components, such as Calendars, require that you change the solution's Culture Info. You can define a default Culture Info in Solution / Settings, under Solution Options. To change the Culture Info during the program's runtime, assign a culture code to property @Client.CultureInfo. For example, to change the Culture Info to Portuguese (Brazil):
@Client.CultureInfo = "pt-BR"
. - Custom methods must be set up in order to localize components like ComboBoxes and DataTables. The Localization Example page describes this process in detail.
Displays Localization Configuration Table
Property | Description |
ID | Identifies each localization entry uniquely. |
VersionID | Tracks the version of the localization entry. |
OriginalText | Displays the original text before translation. |
Disabled | Indicates if the localization entry is disabled. |
TranslatedText | Shows the text after translation. |
DateCreated | Records the creation date and time of the localization entry. |
DateModified | Records the last modification date and time of the localization entry. |
Description | Provides a description of the localization entry. |
In this section: