Локализация

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

Активация локали

Чтобы использовать диаграмму Ганта на языке, отличном от английского, вам нужно активировать желаемую локаль с помощью метода setLocale объекта gantt.i18n.

gantt.i18n.setLocale("fr");

Вы можете использовать или изменить любую из предопределенных локалей, включенных в файл dhtmlxgantt.js. Кроме того, вы можете создать свою собственную локаль.

Вы можете переключать локали динамически, но изменения вступят в силу только после полного перерисовывания диаграммы Ганта с использованием gantt.render() или gantt.init().

    gantt.i18n.setLocale("fr");
    gantt.init("gantt_here");

Related sample:  Localization

Предопределенные локали

Язык Код языка Статус перевода
Арабский ar частично
Белорусский be полностью
Английский en полностью
Каталонский ca частично
Китайский cn частично
Хорватский hr полностью
Чешский cs частично
Датский da частично
Голландский nl частично
Финский fi частично
Французский fr полностью
Немецкий de полностью
Греческий el частично
Иврит he частично
Венгерский hu частично
Индонезийский id частично
Итальянский it частично
Японский jp частично
Корейский kr частично
Норвежский no частично
Норвежский Букмол nb частично
Персидский fa полностью
Польский pl частично
Португальский pt частично
Румынский ro частично
Русский ru полностью
Словацкий sk частично
Словенский si частично
Испанский es частично
Шведский sv частично
Турецкий tr частично
Украинский ua частично

Создание пользовательской локали

Объект gantt.i18n был введен в v7.0. В более ранних версиях использовался объект gantt.locale. Для получения дополнительной информации ознакомьтесь со статьей Миграция.

Самый простой способ создать пользовательскую локаль — это скопировать стандартную английскую локаль из приведенного ниже примера и перевести все строки на предпочитаемый вами язык.

Вы можете применить пользовательскую локаль к диаграмме Ганта двумя способами:

  • Перезаписать текущую локаль, передав объект локали в качестве параметра методу setLocale:
gantt.i18n.setLocale(localeObject);

Если вы предоставите частичный объект локали, диаграмма Ганта объединит ваши метки с существующей локалью:

gantt.i18n.setLocale({
    labels: {
        new_task: "New task"
    }
});
  • Кроме того, если вам нужно переключаться между несколькими локалями, определите локаль с пользовательским кодом языка и переключитесь на нее позже:
gantt.i18n.addLocale("lang", localeObject); 
gantt.i18n.setLocale("lang");

Примечание,

  • Вы можете поделиться своим файлом пользовательской локали, отправив его на support@dhtmlx.com, чтобы он был включен в будущие релизы.
  • Активная локаль доступна через объект gantt.locale.
  • monthFull перечисляет полные названия месяцев, начиная с января.
  • monthShort перечисляет сокращенные названия месяцев, начиная с января.
  • dayFull перечисляет полные названия дней недели, начиная с воскресенья.
  • dayShort перечисляет сокращенные названия дней недели, начиная с воскресенья.

Определение английской локали

gantt.i18n.setLocale({
    date: {
        month_full: ["January", "February", "March", "April", "May", "June", 
            "July", "August", "September", "October", "November", "December"],
        month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", 
            "Aug", "Sep", "Oct", "Nov", "Dec"],
        day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
             "Friday", "Saturday"],
        day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
    },
    labels: {
        new_task: "New task",
        icon_save: "Save",
        icon_cancel: "Cancel",
        icon_details: "Details",
        icon_edit: "Edit",
        icon_delete: "Delete",
        gantt_save_btn: "New Label",
        gantt_cancel_btn: "New Label",
        gantt_delete_btn: "New Label",
        confirm_closing: "",// Your changes will be lost, are you sure?
        confirm_deleting: "Task will be deleted permanently, are you sure?",
        section_description: "Description",
        section_time: "Time period",
        section_type: "Type",
 
        /* grid columns */
        column_wbs: "WBS",
        column_text: "Task name",
        column_start_date: "Start time",
        column_duration: "Duration",
        column_add: "",
 
        /* link confirmation */
        link: "Link",
        confirm_link_deleting: "will be deleted",
        link_start: " (start)",
        link_end: " (end)",
 
        type_task: "Task",
        type_project: "Project",
        type_milestone: "Milestone",
 
        minutes: "Minutes",
        hours: "Hours",
        days: "Days",
        weeks: "Week",
        months: "Months",
        years: "Years",
 
        /* message popup */
        message_ok: "OK",
        message_cancel: "Cancel",
 
        /* constraints */
        section_constraint: "Constraint",
        constraint_type: "Constraint type",
        constraint_date: "Constraint date",
        asap: "As Soon As Possible",
        alap: "As Late As Possible",
        snet: "Start No Earlier Than",
        snlt: "Start No Later Than",
        fnet: "Finish No Earlier Than",
        fnlt: "Finish No Later Than",
        mso: "Must Start On",
        mfo: "Must Finish On",
 
        /* resource control */
        resources_filter_placeholder: "type to filter",
        resources_filter_label: "hide empty"
    }
});
  • Если метка confirm_closing или confirm_deleting не установлена, соответствующее диалоговое окно подтверждения не появится (оно подтвердится автоматически).
  • Метка section_{name} соответствует секции лайтбокса с таким же именем.
  • Метка new_task задает текст по умолчанию для нового события.
К началу