Role required: admin. |
To localize a choice list, please complete the steps below:
Translated choice option form fields
Field | Mandatory | Description | |
---|---|---|---|
Table | Y | Specify the table to which this choice option is related to.
| |
Column | Y | Specify the column to which this choice option is related to.
| |
Title | Y | Type the translation of the source field there. | |
Language | Y | In there, specify the two-symbol name of the language (ru, en, and so on). Generally, references to languages are stored in the Languages (sys_language) table. | |
Value | Y | Type the same value as specified for the source field. | |
Order | Y | Enter the number to define the option order in the choice list. | |
Hint | N | Text hint. This field is not mandatory. |
Repeat this step for others choice options.
If some of the choice options were not fully localized (for example, choice option English values were added but non-English values were not added, then in user locale other than English, choice lists containing untranslated options will display English values by default, regardless of the current user locale. Otherwise, a localized choice option is displayed, regardless of the current user locale. To avoid such situations, please be careful when adding option values to your choice lists. |
Please check before started that all necessary languages are created in the Languages (sys_language) table. |
To localize any field of the Translated Text type (except for the choice list option, the translation of which is described above, or special interface elements like flash messages or Condition Operators), please complete the steps below:
Another way to add localization via System Trasnlations table is the following:
In this case, the Record field is populated automatically. |
Translated text form fields
Field | Mandatory | Description |
---|---|---|
Column | Y | In this reference field, specify the column containing the field being translating. |
Language | Y | In this reference field, specify the language of the translation (ru, en, and so on). Generally, references to languages are stored in the Languages (sys_language) table. |
Value | Y | Type the translation of the source field there. |
Record | Y | Type the ID of the record which should be translated. |
You can also localize elements while creating or editing them:
To check if the translation is saved correctly, scroll down to the Related Lists area, and choose the Translations tab.
To localize static interface elements, such as welcome messages, informational or warning messages, some other kinds of messages, there are two tables implemented containing source messages and their translations.
Field | Type | Description |
---|---|---|
id | Big Integer | The ID of the message. |
category | String | The category of the message (for example, app). |
message | Text | The text of the message. |
Field | Type | Description |
---|---|---|
id | Reference | Reference to the Source Messages (source_message) table. |
language | String | Two-symbol name of the language (ru, en, etc). |
translation | Text | The translated message. |
These two tables are bound by ID. It means that every message in the Source Messages (source_message) table has a unique ID, and its translated version in the Messages (message) table has the same ID.
For example, the "Login" record in the Source Messages (source_message) table has ID 15596431050000002. Moreover, the "Логин" record has the following prerequisites in the Messages (message) table:
ID | 15596431050000002 |
language | ru |
So, if you want to add some new records, you have to add them to both tables as well, in compliance with IDs order and in all the languages you need.
To do this, please complete the steps below:
Please keep in mind that the IDs of the original message in the Source Messages (source_message) table and the localized message in the Messages (message) table must be the same to prevent malfunction. Also, the language field must be populated, as well. |
Please do not change original messages in the Source Messages (source_message) table, it can cause malfunction on the instance. If you need to make changes in any source message, create a copy of it in the Messages (message) table with the desired text and fill in the Language field with the 'en' value. |
In SimpleOne, we have the SimpleMessage API class with the getMessage() message in it, which is taking in an original message from the Source Message (source_message) table and returns a message in the user's language that is set as default in the system. To read more, please refer to the SimpleMessage article.
Also, you can use the s_i18n client-side class that intended to work with translated messages. It has two methods: getMessage() and getMessages(), that allow to get one or many messages in user language, respectively. For more information, please refer to our API reference containing information about this class.