로컬라이제이션

로컬라이제이션을 사용하면 Gantt 차트 인터페이스를 영어, 스페인어, 프랑스어 등 원하는 언어로 표시할 수 있습니다. 기본적으로 dhtmlxGantt는 영어 로케일을 사용합니다.

로케일 활성화하기

영어 이외의 언어로 Gantt 차트를 사용하려면, gantt.i18n 객체의 setLocale 메서드를 사용하여 원하는 로케일을 활성화하면 됩니다.

gantt.i18n.setLocale("fr");

dhtmlxgantt.js 파일에 포함된 미리 정의된 로케일 중 하나를 사용할 수도 있고, 직접 커스텀 로케일을 만들 수도 있습니다.

로케일은 실시간으로 변경할 수 있지만, 변경 사항은 gantt.render() 또는 gantt.init()을 사용하여 Gantt 차트를 완전히 다시 그린 후에만 적용됩니다.

    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 객체를 사용했습니다. 자세한 내용은 Migration article을 참고하세요.

커스텀 로케일을 만드는 가장 간단한 방법은 아래 예시에서 기본 영어 로케일을 복사한 후, 모든 문자열을 원하는 언어로 번역하는 것입니다.

커스텀 로케일을 Gantt 차트에 적용하는 방법은 두 가지가 있습니다:

  • setLocale 메서드에 커스텀 로케일 객체를 전달하여 현재 로케일을 덮어쓰기:
gantt.i18n.setLocale(localeObject);

부분적인 로케일 객체를 제공하면, gantt가 해당 레이블을 기존 로케일에 병합합니다:

gantt.i18n.setLocale({
    labels: {
        new_task: "New task"
    }
});
  • 여러 개의 로케일을 전환해서 사용하려면, 커스텀 언어 코드를 가진 새 로케일을 정의하고 나중에 전환할 수 있습니다:
gantt.i18n.addLocale("lang", localeObject); 
gantt.i18n.setLocale("lang");

참고사항

  • 커스텀 로케일 파일을 support@dhtmlx.com으로 보내면, 향후 릴리즈에 포함될 수 있습니다.
  • 현재 활성화된 로케일은 gantt.locale 객체를 통해 접근할 수 있습니다.
  • monthFull은 1월부터 시작하는 전체 월 이름을 포함합니다.
  • monthShort는 1월부터 시작하는 월의 약어를 포함합니다.
  • dayFull은 일요일부터 시작하는 전체 요일 이름을 포함합니다.
  • dayShort는 일요일부터 시작하는 요일의 약어를 포함합니다.

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"
    }
});
  • confirm_closing 또는 confirm_deleting 레이블이 없으면, 해당 확인 대화상자가 나타나지 않습니다(자동 확인).
  • section_{name} 레이블은 동일한 이름을 가진 라이트박스 섹션에 대응합니다.
  • new_task 레이블은 새 작업의 기본 텍스트를 설정합니다.
Back to top