Versions Compared

Key

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

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

getMessage(msgKey, config, callback)


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

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


Параметры:

НазваниеТипОбязательноеДефолтное значение
msgKeyStringДН
configObjectН''
callbackFunctionНН


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

НазваниеТипОбязательноеДефолтное значение
languageStringН''
categoryStringН'app'
paramsStringН''

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

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

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

Пример:

Note

Как правило, параметр 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, {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 является функцией, которая выполняется после ответа сервера.


Параметры:

НазваниеТипОбязательноеДефолтное значение
msgKeymsgKeysArray of StringДН
configObjectН''
callbackFunctionНН


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

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


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

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

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


Note

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


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

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


Пример:

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() возвращает одинаковые значения. 

Code Block
languagejs
themeEclipse
titlegetMessages
linenumberstrue
const dayOfWeek = ['Monday', 'Wednesday', 'Friday'];
s_i18n.getMessages(dayOfWeek, {language: 'ru'}, (response) => {console.log(response.join('-'))});

// Понедельник-Среда-Пятница



Table of Contents
absoluteUrltrue
classfixedPosition