Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

On this page:

Table of Contents
maxLevel3
stylenone

Tip
titleSolution Example

Localization Example



Localization User Interface

Enable Localization

Enabling this option allows these fields to be translated. For example, strings in Display will only be translated if 'Display Strings' is enabled, even if the string exists in the table.

Enable Localization (Global Solution Setting)

Alarm messages

String in Alarms > Items > Message column

Display strings

All strings in objects with Localize enabled in Draw

System messages

System messages related

Import Strings Wizard

Import Strings Wizard

Source Language

The original language of the content to be translated. (It will be used for automatic translation)

Target Language

The language into which the content will be translated. (It will be used for automatic translation)

Load String

Depending on what is checked in 'Enable Localization', all related fields will be automatically imported.

Translate

All imported fields will be translated using an online service (Azure, Google, or Libre).

Dictionaries

You can create multiple dictionaries and switch between them at runtime by simply setting the dictionary name.

Displays Localization Configuration Table

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.



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 Solution. In summary, there are three things to look for when preparing your solution's localization:

  1. 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:
  2. 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".
  3. Custom methods must be set up in order to localize components like ComboBoxes and DataTables. The Localization Solution page describes this process in detail.


In this section:

Page Tree
root@parent
spacesV10