Локализация Chat

По умолчанию все ярылки Chat на английском языке. Некоторые из них можно первести на желаемый язык:

  • формат дат;
  • ярлыки основных групп чатов ("chats", "users");
  • ярлыки кнопок;
  • предупреждающие сообщения.

В пакете Chat присутствует только en-US локаль. Ознакомьтесь с нашим репозиторием. Здесь вы можете найти интересующую вас локаль или же создать свою.

Структура локалей

Названия хранятся в объекте:

export default {
  "Add members": "Add members",
  "Are you sure to leave this chat?": "Are you sure to leave this chat?",
  Avatar: "Avatar",
  "Are you sure to delete this member?": "Are you sure to delete this member?",
  Cancel: "Cancel",
  "Change avatar": "Change avatar",
  "Chat info": "Chat info",
  "Chat name": "Chat name",
  Chats: "Chats",
  "Create group": "Create group",
  Delete: "Delete",
  "Delete member": "Delete member",
  "Edit chat": "Edit chat",
  Leave: "Leave",
  "Leave chat": "Leave chat",
  member: "member",
  members: "members",
  Members: "Members",
  "New chat": "New chat",
  "No people to add": "No people to add",
  People: "People",
  Save: "Save",
  Search: "Search",
  "Show all members": "Show all members",
  Users: "Users",
  You: "You",
};

Как задать свою локаль

Чтобы изменить локаль по умолчанию, необходимо:

  • создать локаль с переводами внутри объекта chat.locales следующим образом:
// Русский перевод
chat.locales.ru = {
  "New chat": "Новый чат",
  Members: "Участники"
};
  • задать текущую локаль для Chat с помощью свойства locale внутри конструктора:
// пользовательский скролл, необязательно
if (!webix.env.touch && webix.env.scrollSize) 
  webix.CustomScroll.init();
 
webix.ui({
  view: "chat",
  locale: {
    lang: "ru",
    webix: {
      // переключает все webix виджете на текущую локаль
      ru: "ru-RU"
    },
  },
  token,
  url: "https://docs.webix.com/chat-backend/"
});

Related sample:  Chat: Custom Locale

Как менять локали динамически

Вы можете менять языки динамически, например, при клике по соответствующим кнопкам на панели инструментов:

  • создайте локали с переводом желаемых маркеров:
chat.locales.ru = {  // Русский
  "Add members": "Добавить в чат", ...
};
 
chat.locales.zh = {  // Китайский
  "Add members": "新增成员" ...
};
  • меняйте языки с помощью метода setLang сервиса "locale":
{
  view: "segmented",
  options: ["en", "ru", "zh"],
  width: 250,
  click: function() {
    const locale = $$("ch1").getService("locale");
    locale.setLang(this.getValue());
  }
}

Related sample:  Chat: Switching Locales

Как синхронизировать Chat и Webix локали

Маркеры Webix компонентов внутри Chat, а также локализация дат и чисел зависят от текущей локали Webix. Чтобы синхронизировать локализацию Chat и Webix, создайте объект webix внутри свойства locale:

{
  view:"chat",
  url: "https://docs.webix.com/chat-backend/"
  locale: {
    lang: "en",
    webix: {
      // переключает Webix на текущую локаль
      en: "en-US",
      zh: "zh-CN"
    }
  }
}
Наверх