Локализация меток в org.apache.wicket.extensions.yui.calendar.DatePicker - PullRequest
1 голос
/ 20 августа 2009

Кто-нибудь знает, как локализовать метки "Месяц", "Год", "Хорошо" и "Отмена" на org.apache.wicket.extensions.yui.calendar.DatePicker?

СогласноAPI, вы можете переопределить метод localize (Map) для настройки локализованных строк, но мне не удалось выяснить, как называются соответствующие свойства.

Ответы [ 4 ]

1 голос
/ 12 сентября 2009

В соответствии с этим вы можете локализовать метки, переопределив метод configure класса DatePicker:

    public class DatePicker extends org.apache.wicket.extensions.yui.calendar.DatePicker {

    @Override
    protected void configure(Map<String, Object> widgetProperties) {
        super.configure(widgetProperties);

        /*
        * var navConfig = {
        *   strings: {
        *   month:"Calendar Month",
        *   year:"Calendar Year",
        *   submit: "Submit",
        *   cancel: "Cancel",
        *   invalidYear: "Please enter a valid year"
        *   },
        * monthFormat: YAHOO.widget.Calendar.SHORT,
        * initialFocus: "month"
        * }
        */

        Map<String, Object> strings = new HashMap<String, Object>();
        strings.put("month", "Месяц");
        strings.put("year", "Год");
        strings.put("submit", "Ok"); // put label for 'Okay' button
        strings.put("cancel", "Отмена"); // put label for 'Cancel' button
        strings.put("invalidYear", "Введите корректный год");

        Map<String, Object> props = new HashMap<String, Object>();
        props.put("strings", strings); // pass localization related parameters
        props.put("monthFormat", "YAHOO.widget.Calendar.SHORT");
        props.put("initialFocus", "year");

        widgetProperties.put("navigator", props);
    }
}

Надеюсь, вы найдете этот фрагмент кода полезным.

0 голосов
/ 23 мая 2013

Я думаю, что это хорошее решение:

protected static final String[] NAVIGATOR_LOCALIZATION_KEYS = {
    "month", "year", "submit", "cancel", "invalidYear",
};

In overridden method u should write: 

super.configure(widgetProperties, response, initVariables);
    Map<String, String> strings = MapBuilder.newHashMap();
    for (String key : NAVIGATOR_LOCALIZATION_KEYS) {
        strings.put(key, LocalizationUtils.getString(key));
    }
    widgetProperties.put(
        "navigator", Collections.singletonMap("strings", strings)
    );
0 голосов
/ 21 августа 2009

Я думаю, вы говорите о ярлыках на календаре навигатора. Этот пример может быть полезным.

0 голосов
/ 20 августа 2009

В билете 754 добавлена ​​поддержка локализации .

Может быть, будет введен патч , тогда может дать вам некоторые подсказки? Это ссылки:

src/main/java/org/apache/wicket/extensions/yui/calendar/locale/DatePicker_de.properties

с:

DATE_FIELD_DELIMITER=x
MDY_DAY_POSITION=1
MDY_MONTH_POSITION=2
MDY_YEAR_POSITION=3
MD_DAY_POSITION=1
MD_MONTH_POSITION=2

MONTHS_SHORT=Jan,Feb,M\u00E4r,Apr,Mai,Jun,Jul,Aug,Sep,Okt,Nov,Dez

MONTHS_LONG=Januar,Februar,M\u00E4rz,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember
WEEKDAYS_1CHAR=S,M,D,M,D,F,S
WEEKDAYS_SHORT=So,Mo,Di,Mi,Do,Fr,Sa
WEEKDAYS_MEDIUM=Son,Mon,Die,Mit,Don,Fre,Sam
WEEKDAYS_LONG=Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag

Относительно локализации меток , вы можете попробовать:

...