Versions Compared

Key

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

Данный класс позволяет возвращать содержит методы, возвращающие переведенные сообщения. У него нет конструктора, поэтому доступ к методам осуществляется через глобальный объект s_i18nглобальный объект.

getMessage(msgKey, config, callback)


Этот метод возвращает перевод заданной строки в форме строки, содержащей сообщение на языке пользователя. Если строка не существует или не имеет Используйте метод, чтобы вернуть строку с данными, переданными в msgKey. Возращенные данные переведены на язык пользователя. Если в системе не существует такой строки, или её перевода на текущий язык, метод возвращает значение msgKey.

Параметр msgKey отправляет  содержит строку на переводдля перевода, а параметр callback является функцией, которая выполняется после ответа сервера.

Параметры:

НазваниеТипОбязательное
Дефолтное значение
Значение по умолчанию
msgKey
Строка
String
Д
Да
Н
Нет
config
Объект
Object
Н
Нет
''
{ }
callback
Функция
Function
Н
Нет
Н
Нет

Параметр config применяется в качестве объекта, содержащего представляет собой объект, содержащий три параметра:

НазваниеТипОбязательноеДефолтное значениеЗначение по умолчанию
languageСтрокаStringННет''
categoryСтрокаStringННет'app'
paramsОбъектObjectННет''{ }

Параметр language может принимать принимает значения, указанные в словаре Languages таблице Язык (sys_language). Если он не указан, метод будет вызывать использовать текущий язык пользователя.

Параметр category может принимать принимает значения, указанные хранящиеся в записи таблицы Source Message Исходные сообщения (source_message) в поле Category Категория.

Параметр params позволяет объекту получать значения параметров language и category для того, чтобы сохранить значение плэйсхолдера из параметра msgKey. 

Пример:

note

Еслив сообщении присутствуют местозаполнители, а у объекта params есть ключ, совпадающий с заполнителем, то в итоговое сообщение будет подставлено его значение.

Как правило, параметр config не является обязательным, поэтому для получения перевода можно использовать

функции обратного

функцию обратного вызова:

Code Block
languagejs
themeEclipse
titlegetMessage()
await s_i18n.getMessage('Description', (response) => {console.log(response)});
// 
Description
Описание


Note

Note that this method is asynchronous; for better performance, use the await keyword as in the code example below.

Return:

TypeDescriptionStringThis method returns a message, optionally translated in the language specified.

Метод является асинхронным. Для оптимальной работы используйте ключевое слово await, как в примере ниже.

Возвращаемое значение:

ТипОписание
StringМетод возвращает сообщение, переведенное на указанный язык,  соответствующее параметру language.

ПримерExample:

Code Block
languagejs
themeEclipse
titlegetMessage()
linenumberstrue
if (!s_form.getValue('condition')) {
  await s_i18n.getMessage('Specify conditions in "Condition" [condition] field.', (response) => {
    s_form.addErrorMessage(response);
  });
  return false;
}


Code Block
languagejs
themeEclipse
titlegetMessage()
linenumberstrue
const serviceNameValue = 'EmailПочта';
s_i18n.getMessage('Sorry, The {serviceName} Service Is Temporarily Unavailable', {params: {"serviceName": serviceNameValue}, language: "enru", 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):

NameTypeMandatoryDefault ValuemsgKeyStringYNconfigObjectN''callbackFunctionNN

Используйте метод, чтобы вернуть массив строк, содержащих сообщения на языке пользователя. Если строка из массива не локализована для текущего языка или не существует, метод возвращает её исходное значение. 

Параметр msgKeys передает массив строк на перевод. Параметр callback является функцией, которая выполняется после ответа сервера.

Параметры:

НазваниеТипОбязательноеЗначение по умолчанию
msgKeysArray of StringsДаНет
configObjectНет{ }
callbackFunctionНетНет

Параметр config представляет собой объект, содержащий три параметра:

НазваниеТипОбязательноеЗначение по умолчанию
languageStringНет

The config parameter is implemented as an object containing three other parameters:

NameTypeMandatoryDefault Value
languageStringN''
categoryStringNНет'app'
paramsObjectNНет''{ }

The language parameter can take on the values specified in the Languages Параметр language принимает значения, указанные в таблице Язык (sys_language) dictionary. If it is not specified, the current user's language is used when the method is called.. Если он не указан, метод будет использовать текущий язык пользователя.

Параметр category принимает значения, хранящиеся в записи таблицы Исходные сообщения 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

Note that this method is asynchronous; for better performance, use the await keyword as in the code example below.

Return:

TypeDescriptionArray of stringsThis method returns an array of messages, optionally translated into the language specified.

Еслив сообщении присутствуют местозаполнители, а у объекта params есть ключ, совпадающий с местозаполнителем, то в итоговое сообщение будет подставлено его значение.

Note

Метод является асинхронным. Для оптимальной работы используйте ключевое слово await,как в примере ниже.

Возвращаемое значение:

ТипОписание
Array of StringsМетод возвращает массив строк, которые могут быть переведены на язык, соответствующий параметру language.

ПримерExample:

Code Block
languagejs
themeEclipse
titlegetMessages()
linenumberstrue
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

Note that if you use the same placeholders for different messages, the getMessages() method output contains the same values on their place.При использовании одного и того же местозаполнителя в разных сообщениях метод getMessages() возвращает одинаковые значения. 

const dayOfWeek = ['Monday', 'Wednesday', 'Friday']; s_i18n.getMessages(dayOfWeek, {language: 'ru'}, (response) => {console.log(response.join('-'))}); // Понедельник-Среда-Пятница
Code Block
languagejs
themeEclipse
titlegetMessages()
linenumberstrue
window.s_i18n.getMessages(
                [
                    'Дата и время должны быть в {translation}.',
                    'Имя пользователя должно состоять не менее чем из 2 символов {translation}.',
                ],
                { params: { 'translation': 'TEST' } },
               

Метод возвращает сообщения: 

  • Дата и время должны быть в TEST.
  • Имя пользователя должно состоять не менее чем из 2 символов TEST.


Table of Contents
absoluteUrltrue
classfixedPosition