Bot Framework поддерживает локализацию. О том, как это сделать, вы можете прочитать в Узле здесь . На этой странице будет объяснено, как определить язык для пользователя бота с помощью запроса пользователя или автоматически. также описано, как добавить языковые строки для ваших запросов.
Ключом к локализации бота является метод session.preferredLocal (). Этот метод сохраняет и получает пользовательские настройки языка.
Самый простой способ определить языковой языковой стандарт и установить его - это запросить у пользователя. Вот пример узла
bot.dialog('/localePicker', [
function (session) {
// Prompt the user to select their preferred locale
builder.Prompts.choice(session, "What's your preferred language?", 'English|Español');
},
function (session, results) {
// Update preferred locale
var locale;
switch (results.response.entity) {
case 'English':
locale = 'en';
break;
case 'Español':
locale = 'es';
break;
}
session.preferredLocale(locale, function (err) {
if (!err) {
// Locale files loaded
session.endDialog(`Your preferred language is now ${results.response.entity}`);
} else {
// Problem loading the selected locale
session.error(err);
}
});
}
]); * * 1 010
Первая часть этого кода запрашивает у пользователя предпочитаемый язык и предоставляет им английский и испанский языки в качестве двух доступных вариантов. На основании ответа пользователя код локали затем устанавливается путем вызова session.preferredLocale ().
Чтобы использовать предпочтительный языковой стандарт пользователя, вам потребуется соответствующий файл приглашения локализации. Эти файлы будут содержать различные запросы ботов на соответствующем языке. Вам понадобится один файл на каждый язык, который вы собираетесь поддерживать.
Обычно эти файлы находятся в ./locale/ndomlanguage‹/index.json, где {language} - код языка (например, «en» или «es»). Файлы json и будут выглядеть так:
для английского
{
"greeting": ["Hello!", "Hi there"]
}
и для испанского
{
"greeting": ["Hola!", "Hola"]
}
Вот пример того, как ваш код будет выглядеть
var bot = new builder.UniversalBot(connector, [
function (session) {
session.send("greeting");
session.beginDialog('/localePicker');
},
function (session) {
builder.Prompts.text(session, "text_prompt");
}
]);
За кулисами происходит то, что в основном происходит, файл index.json, возвращаемый session.preferredLocale (), ищет запрос, если он его находит, он возвращает, что в противном случае он вернет набор подсказок для языкового стандарта по умолчанию.