Versions Compared

Key

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

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

getMessage(msgKey, config, callback)


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

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

Параметры:

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

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

НазваниеТипОбязательноеДефолтное значениеЗначение по умолчанию
languageStringННет''
categoryStringННет'app'
paramsStringObjectННет''{ }

Параметр 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

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

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

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

Пример:

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)


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

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

Параметры:

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

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

НазваниеТипОбязательное
Дефолтное значение
Значение по умолчанию
languageString
Н
Нет''
categoryString
Н
Нет'app'
paramsObject
Н
Нет
''
{ }

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

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

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

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

Note

Метод

Note

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

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

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

Пример:

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

При использовании одного и того же плэйсхолдера местозаполнителя в разных сообщениях метод 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