Язык и тексты
Виджет говорит на семи языках: русском (ru), английском (en), испанском (es), португальском (pt), немецком (de), французском (fr) и турецком (tr).
Как выбирается язык при загрузке
- Параметр
localeв конфигурации страницы. - Язык, выбранный в панели: Настройки → Виджет.
- Адрес сервера:
app.svyazio.ru— русский,app.svyazio.com— английский. - Язык браузера посетителя, если он среди поддерживаемых; иначе английский.
locale в конфигурации и setLanguage — в чём разница
locale: 'en'в конфигурации переводит виджет целиком. Заголовок, приветствие и подписи формы контактов из панели заменяются стандартными переводами — иначе на английской странице остался бы русский заголовок. Это происходит для любого языка, в том числе для русского.Svyazio('setLanguage', 'en')на лету меняет только встроенные надписи: подсказку в поле ввода, подписи кнопок, строку «Работает на Связио». Тексты из панели остаются как есть.
Чтобы задать язык и сохранить свои тексты, передайте их параметрами рядом с locale — они главнее переводов. Пример для многоязычного сайта, где язык берётся из <html lang>:
// Внутри кода установки, вместо строки w.SvyazioConfig = {…}
var lang = document.documentElement.lang.slice(0, 2); // "ru", "en", "de"…
var texts = {
ru: { headerText: "Поддержка", welcomeText: "Ответим в течение пары минут." },
en: { headerText: "Support", welcomeText: "We usually reply within minutes." }
};
w.SvyazioConfig = Object.assign({
orgId: "ВАШ_ORG_ID",
serverUrl: "https://app.svyazio.ru",
locale: lang
}, texts[lang] || {});Какие надписи можно заменить
Объект в locale или в Svyazio('setLocale', …) меняет отдельные надписи. Можно писать полным путём или коротким ключом — это равнозначно.
| Путь | Короткий ключ | Что меняет |
|---|---|---|
chat.header.title | headerText | Заголовок окна |
chat.header.onlineTitle | onlineTitle | Подзаголовок в рабочее время |
chat.header.offlineTitle | offlineTitle | Подзаголовок в нерабочее время |
chat.welcome | welcomeText | Приветствие в пустом чате |
chat.offline | offlineText | Текст в пустом чате вне рабочего времени |
chat.input.placeholder | placeholder | Подсказка в поле ввода |
// в коде установки
w.SvyazioConfig = {
orgId: "ВАШ_ORG_ID",
serverUrl: "https://app.svyazio.ru",
locale: {
chat: {
header: { title: "Отдел продаж" },
input: { placeholder: "Спросите про доставку…" }
}
}
};
// то же короткими ключами — на лету
Svyazio('setLocale', { headerText: "Отдел продаж", placeholder: "Спросите про доставку…" });Замена действует на уже нарисованный виджет. После setLanguage подсказка в поле ввода вернётся к переводу — если нужна своя, вызовите setLocale ещё раз.