Данный класс содержит методы, возвращающие переведенные сообщения. У него нет конструктора, поэтому доступ к методам осуществляется через глобальный объект s_i18n.
getMessage(msgKey, config, callback)
Этот Используйте метод возвращает , чтобы вернуть строку , содержащую сообщение на языке пользователя, для переданной в него строки."с данными, переданными в msgKey. Возращенные данные переведены на язык пользователя. Если в системе не существует такой строки, или её перевода на текущий язык, метод возвращает значение msgKey.
Параметр msgKey содержит строку для перевода, а параметр callback является функцией, которая выполняется после ответа сервера.
Параметры:
Название | Тип | Обязательное | Значение по умолчанию |
---|
msgKey | String |
ДНН''ННПараметр config представляет собой объект, содержащий три параметра:
Название | Тип | Обязательное | Значение по умолчанию |
---|
language | String | ННет | '' |
category | String | ННет | 'app' |
params | StringObject | ННет | ''{ } |
Параметр language принимает значения, указанные в словаре таблице Язык (sys_language). Если он не указан, метод будет использовать текущий язык пользователя.
Параметр category принимает значения, хранящиеся в записи таблицы Исходные сообщения (source_message) в поле Category Категория.
Параметр params позволяет объекту получать значения параметров language и category и сохранять значение плэйсхолдера из параметра msgKey.
Note |
---|
Еслив сообщении присутствуют местозаполнители, а у объекта params есть ключ, совпадающий с заполнителем, то в итоговое сообщение будет подставлено его значение.
Как правило, параметр config не является обязательным, поэтому для получения перевода можно использовать функцию обратного вызова:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getMessage() |
---|
|
await s_i18n.getMessage('Description', (response) => {console.log(response)});
// DescriptionОписание |
Note |
---|
Данный метод Метод является асинхронным. Для оптимальной работы используйте ключевое слово await, как в примере ниже. |
Возвращаемое значение:
Данный метод Метод возвращает сообщение, переведенное на указанный язык, соответствующее параметру language. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getMessage() |
---|
linenumbers | true |
---|
|
if (!s_form.getValue('condition')) {
await s_i18n.getMessage('Specify conditions in "Condition" [condition] field.', (response) => {
s_form.addErrorMessage(response);
});
return false;
} |
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getMessage() |
---|
linenumbers | true |
---|
|
const serviceNameValue = 'Почта';
s_i18n.getMessage('Sorry, The {serviceName} Service Is Temporarily Unavailable', {params: {"serviceName": serviceNameValue}, language: "ru", category: "app"}, (response) => console.log(response));
// Извините, Почтапочта временно недоступна |
getMessages(msgKeys, config, callback)
Этот Используйте метод возвращает , чтобы вернуть массив строк, содержащих сообщения на языке пользователя. Если строка из массива не локализована для текущего языка или не существуютсуществует, метод возвращает её исходное значение.
Параметр msgKeys передает массив строк на перевод. Параметр callback является функцией, которая выполняется после ответа сервера.
Параметры:
Название | Тип | Обязательное | Значение по умолчанию |
---|
msgKeys | Array of Strings |
ДНН''ННПараметр config представляет собой объект, содержащий три параметра:
Название | Тип | Обязательное | Значение по умолчанию |
---|
language | String |
ННН''Параметр language принимает значения, указанные в словаре таблице Язык (sys_language). Если он не указан, метод будет использовать текущий язык пользователя.
Параметр category принимает значения, хранящиеся в записи таблицы Исходные сообщения (source_message) в поле Category Категория.
Параметр params позволяет объекту получать значения параметров language и category и сохранять значение плэйсхолдера из параметра msgKey.
Еслив сообщении присутствуют местозаполнители, а у объекта params есть ключ, совпадающий с местозаполнителем, то в итоговое сообщение будет подставлено его значение.
Note |
---|
Метод |
Note |
---|
Данный метод является асинхронным. Для оптимальной работы используйте ключевое слово await,как в примере ниже. |
Возвращаемое значение:
stringsStrings | Метод возвращает массив строк, которые могут быть переведены на язык, соответствующий параметру language. |
Пример:
Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | getMessages() |
---|
linenumbers | true |
---|
|
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 |
---|
language | js |
---|
theme | Eclipse |
---|
title | getMessages() |
---|
linenumbers | true |
---|
| const dayOfWeek = ['Monday', 'Wednesday', 'Friday'];
s_i18n.getMessages(dayOfWeek, {language: 'ru'}, (response) => {console.log(response.join('-'))});
// Понедельник-Среда-Пятница window.s_i18n.getMessages(
[
'Дата и время должны быть в {translation}.',
'Имя пользователя должно состоять не менее чем из 2 символов {translation}.',
],
{ params: { 'translation': 'TEST' } },
|
Метод возвращает сообщения: Дата и время должны быть в TEST. Имя пользователя должно состоять не менее чем из 2 символов TEST.
|