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

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

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

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

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

export default {
    "Add task below": "Add task below",
    "Add subtask": "Add subtask",
    Indent: "Indent",
    Unindent: "Unindent",
    "Set due date": "Set due date",
    "Assign to": "Assign to",
    "Move to": "Move to",
    Duplicate: "Duplicate",
    Copy: "Copy",
    Paste: "Paste",
    Delete: "Delete",
    "Add project": "Add project",
    "Rename project": "Rename project",
    "Delete project": "Delete project",
 
    "No project": "No project",
    "Add task": "Add task",
    "New project": "New project",
    "Enter a description": "Enter a description",
    Search: "Search",
 
    Show: "Show",
    all: "all",
    active: "active",
    completed: "completed",
};

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

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

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

// перевод на русский
todo.locales.ru = {
    "Add task": "Добавить задачу",
    "New project": "Новый проект",
  ...
};

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

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

Related sample:  ToDo: Custom Locale

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

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

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

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

todo.locales.ru = { // русский
    "Add task": "Добавить задачу",
    "New project": "Новый проект",
  ...
};
 
todo.locales.zh = {  // китайский
    "Add task": "添加任務",
    "New project": "新項目",
  ...
};

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

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

Related sample:  ToDo: Switching Locales

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

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

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