如何翻译YUI Calendar小部件?

时间:2014-05-12 16:53:47

标签: calendar locale yui

我正在使用YUI日历窗口小部件(http://yuilibrary.com/yui/docs/calendar/calendar-simple.html),无法找到如何将月份和日期名称更改为其他语言的方法。

有人可以帮忙吗?

感谢。

3 个答案:

答案 0 :(得分:1)

日历实际上已经支持一堆语言了。翻译由intl模块处理:http://yuilibrary.com/yui/docs/intl/

答案 1 :(得分:1)

YUI的日历模块目前支持多种国际化语言。您可以通过为YUI配置对象指定lang选项来使用该功能。这是一个例子。

YUI({lang: "ja"}).use("calendar", function (Y) {

  var calendar = new Y.Calendar({
    contentBox: "#calendar"
  });

  calendar.render();

});

答案 2 :(得分:0)

这适用于YUI 2.5.0,部分适用于YUI 2.8.0r4,YUI 2.9.0(未针对其他人测试,但我认为可以从此示例中获得一些想法)。

html-标记:

<body class="yui-skin-sam">
    <div>
        <input type="text" name="dateField" id="dateField">   
        <input type="button" id="calendarBtn" value="Open calendar">
    </div>

    <div id="calendar"></div>   
</body>

JavaScript代码:

YAHOO.util.Event.onDOMReady(function() {
    var Dom = YAHOO.util.Dom, 
    Event = YAHOO.util.Event;           

    var navConfig = {
        strings : {
            month: "Выберите месяц",
            year: "Введите год",
            submit: "OK",
            cancel: "Отмена",
            invalidYear: "Год введен не верно"
        },
        monthFormat: "short",
        initialFocus: "year"
    };    

    var calendar = new YAHOO.widget.Calendar(
        "calendar", 
        {navigator:navConfig, LOCALE_WEEKDAYS:"short", 
            START_WEEKDAY: 1}
    );

    calendar.cfg.setProperty(
    "MONTHS_SHORT",   
        ["янв", "фев", "мар", "апр", 
        "май", "июн", "июл", "авг", 
        "сен", "окт", "ноя", "дек"]
    ); 

    calendar.cfg.setProperty(
    "MONTHS_LONG",
        ["Январь", "Февраль", "Март", 
        "Апрель", "Май", "Июнь", 
        "Июль", "Август", "Сентябрь", 
        "Октябрь", "Ноябрь", "Декабрь"]
    ); 

    calendar.cfg.setProperty(
    "WEEKDAYS_SHORT", 
        ["Вс", "Пн", "Вт", 
        "Ср", "Чт", "Пт", "Сб"]
    );

    calendar.cfg.setProperty(
    "WEEKDAYS_LONG",
        ["Воскресенье", "Понедельник", 
        "Вторник", "Среда", "Четверг", 
        "Пятница", "Суббота"]
    );

    calendar.render();
    calendar.hide();

    var showCalendar = function() {
        calendar.show();
    };

    Event.on("calendarBtn", "click", showCalendar);

    var pullAndPlaceDate = function(type, args) {
        var dates = args[0],date = dates[0],

        theYear = date[0],
        theMonth = date[1],
        theDay = date[2];

        var theDate = theDay + "." + theMonth + "." + theYear;

        var field = Dom.get("dateField");
        field.value = theDate;

        calendar.hide();
    };

    calendar.selectEvent.subscribe(pullAndPlaceDate);
});

另见: