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

Чтобы использовать диаграмму Gantt на языке, отличном от английского, просто активируйте нужную локаль с помощью метода setLocale объекта gantt.i18n.
gantt.i18n.setLocale("fr");
Вы можете использовать любую из предустановленных локалей, которые входят в файл dhtmlxgantt.js, либо создать свою собственную локаль.
Локаль можно менять на лету, однако изменения вступят в силу только после полной перерисовки диаграммы Gantt с помощью gantt.render() или gantt.init().
gantt.i18n.setLocale("fr");
gantt.init("gantt_here");
| Язык | Код языка | Статус перевода |
| Арабский | 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. Подробнее см. в статье по миграции.
Самый простой способ создать свою локаль — скопировать английскую локаль из примера ниже и перевести все строки на нужный вам язык.
Вы можете применить свою локаль к диаграмме Gantt двумя способами:
gantt.i18n.setLocale(localeObject);
Если вы передадите частичный объект локали, gantt объединит ваши метки с текущей локалью:
gantt.i18n.setLocale({
labels: {
new_task: "New task"
}
});
gantt.i18n.addLocale("lang", localeObject);
gantt.i18n.setLocale("lang");
Обратите внимание:
English locale definition
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"
}
});