You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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

getMessage(msgKey, config, callback)


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

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


Параметры:

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


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

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

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

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

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

Пример:

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

getMessage
await s_i18n.getMessage('Description', (response) => {console.log(response)});
// Description

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


Возврат:

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


Пример:

getMessage
if (!s_form.getValue('condition')) {
  await s_i18n.getMessage('Specify conditions in "Condition" [condition] field.', (response) => {
    s_form.addErrorMessage(response);
  });
  return false;
}
getMessage
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)


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

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

Параметры:

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


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

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

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

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

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

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


Возврат:

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


Пример:

getMessages
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"}

При использовании одного и того же плэйсхолдера в разных сообщениях метод getMessages() возвращает одинаковые значения. 

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

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

  • No labels