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

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

Пакет виджета Desktop включает только en-US локаль. Вы можете просмотреть наш репозиторий локалей и найти необходимую вам локаль, или же создать свою. Также вы можете поделиться успешным переводом через pull request.

Cтруктура локали

Текстовые ярлыки Desktop хранятся в следующем объекте:

export default {
    App: "App",
    "Close all": "Close all",
}

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

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

1. Переведите ярлыки, создав необходимую локаль (ниже она называется "ru") в объекте desktop.locales:

// перевод на русскийs
desktop.locales.ru = {
    App: "Приложение",
    "Close all": "Закрыть все",
};

2. И задайте текущую локаль для Desktop. Для этого используйте свойство locale в конструкторе Desktop:

webix.ui({
    view: "desktop",
    locale: {
        lang: "ru"
    },
    ...
 });

Динамическое переключение локалей

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

Процесс включает в себя 2 шага:

1. Передачу пользовательских переводов в объект desktop.locales:

desktop.locales.ru = {  // русский
    App: "Приложение",
    "Close all": "Закрыть все"
};
 
desktop.locales.zh = {  // китайский
    App: "附錄",
    "Close all": "關閉所有"
};

2. Переключение языков с помощью метода setLang сервиса Desktop "locale":

{
  rows: [
    {
      view: "segmented", options: ["en", "ru", "zh"],
      click: function() {
        const locale = $$("um1").getService("locale");
        locale.setLang(this.getValue()); // zh, ru или en
      }
    },
    { view:"desktop", id:"d1" }
  ]
}

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

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

{
    view:"desktop",
    ...
    locale: {
      lang: "en",
      webix: {
        // смена Webix локалей
        en: "en-US",
        zh: "zh-CN"
      }
    }
}
Наверх