Translating a Vaadin DatePicker
Jeannot Muller
1 min read
Translating (internationalization of) the default English DatePicker in Vaadin (Flow) is quite straightforward.
I created a compact subroutine for effortless reuse in all of my date pickers.
// Declaration
private final DatePicker birthday = new DatePicker("Geburtstag");
// Set German DatePicker
birthday.setI18n(Parsers.setGermanDatePicker());
The code above calls the "setGermanDatePicker" method, which is located in the "Parsers" class in my specific case.
/**
* Set German DatePicker
* Fill the DatePickerI18n with German values (First day Monday, etc.)
*
* @return
*/
public static DatePickerI18n setGermanDatePicker() {
DatePickerI18n dpI18n = new DatePicker.DatePickerI18n();
dpI18n.setDateFormat("dd.MM.yyyy");
dpI18n.setFirstDayOfWeek(1);
dpI18n.setToday("Heute");
dpI18n.setCancel("Abbrechen");
dpI18n.setMonthNames(List.of("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli",
"August", "September", "Oktober", "November", "Dezember"));
dpI18n.setWeekdays(List.of("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"));
dpI18n.setWeekdaysShort(List.of("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"));
return dpI18n;
}
It should be simple to adapt the above code for other languages or more complex situations, such as translating based on the locale passed to the function. However, I only require German for this Vaadin app.
0
Subscribe to my newsletter
Read articles from Jeannot Muller directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Jeannot Muller
Jeannot Muller
Founder and Managing Director at TECcompanion GmbH