You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 2 Next »
Данный класс позволяет возвращать переведенные сообщения. У него нет конструктора, доступ к методам осуществляется через s_i18n глобальный объект.
getMessage(msgKey, config, callback)
Этот метод возвращает перевод заданной строки в форме строки, содержащей сообщение на языке пользователя. Если строка не существует или не имеет перевода на текущий язык, данный метод возвращает значение msgKey.
The msgKey parameter should pass the string for translation, and the callback parameter is the function that is executed after the server response.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
msgKey | String | Y | N |
config | Object | N | '' |
callback | Function | N | N |
The config parameter is implemented as an object containing three other parameters:
Name | Type | Mandatory | Default Value |
---|---|---|---|
language | String | N | '' |
category | String | N | 'app' |
params | Object | N | '' |
The language parameter can take on the values specified in the Languages (sys_language) dictionary. If it is not specified, the current user's language is used when the method is called.
The category parameter can take on the values specified in the Category field of the Source Message (source_message) table record.
The params parameter provides an object service to aggregate the language and category parameter values and to keep the placeholder values from the msgKey parameter (see the code example below).
Generally, the config parameter is non-mandatory, so you can use callback functions to get translations:
await s_i18n.getMessage('Description', (response) => {console.log(response)}); // Description
Note that this method is asynchronous; for better performance, use the await keyword as in the code example below.
Return:
Type | Description |
---|---|
String | This method returns a message, optionally translated in the language specified. |
Example:
if (!s_form.getValue('condition')) { await s_i18n.getMessage('Specify conditions in "Condition" [condition] field.', (response) => { s_form.addErrorMessage(response); }); return false; }
const serviceNameValue = 'Email'; s_i18n.getMessage('Sorry, {serviceName} Service Is Temporarily Unavailable', {params: {"serviceName": serviceNameValue}, language: "en", category: "app"}, (response) => console.log(response)); // Sorry, Email Service Is Temporarily Unavailable
getMessages(msgKeys, config, callback)
This method returns an array of strings that contains messages in a user language. If these strings do not have localization for the current language, or they do not exist at all, the method returns msgKey string values.
The msgKeys parameter should pass the array of strings for translation, and the callback parameter is the function that is executed after the server response.
Parameter(s):
Name | Type | Mandatory | Default Value |
---|---|---|---|
msgKey | String | Y | N |
config | Object | N | '' |
callback | Function | N | N |
The config parameter is implemented as an object containing three other parameters:
Name | Type | Mandatory | Default Value |
---|---|---|---|
language | String | N | '' |
category | String | N | 'app' |
params | Object | N | '' |
The language parameter can take on the values specified in the Languages (sys_language) dictionary. If it is not specified, the current user's language is used when the method is called.
The category parameter can take on the values specified in the Category field of the Source Message (source_message) table record.
The params parameter provides an object service to aggregate the language and category parameter values and to keep the placeholder values from the msgKey parameter (see the code example below).
Note that this method is asynchronous; for better performance, use the await keyword as in the code example below.
Return:
Type | Description |
---|---|
Array of strings | This method returns an array of messages, optionally translated into the language specified. |
Example:
const data = {}; const btnTitles = ['Accept', 'Cancel']; await s_i18n.getMessages(btnTitles, (response) => { [data.acceptBtnTitle, data.cancelBtnTitle] = response; }); console.log(JSON.stringify(data)); // {"acceptBtnTitle":"Accept","cancelBtnTitle":"Cancel"}
Note that if you use the same placeholders for different messages, the getMessages() method output contains the same values on their place.
const dayOfWeek = ['Monday', 'Wednesday', 'Friday']; s_i18n.getMessages(dayOfWeek, {language: 'ru'}, (response) => {console.log(response.join('-'))}); // Понедельник-Среда-Пятница
- No labels