i18n-aware | Vaadin

I18NAware internationalization approach centres on automatic propagation of language changes across components and validators.

The basic idea is to define message keys and parameters for caption and values and have the respective caption and values internationalized texts automatically updated.

The helper class “I18NFactory” can be used to instantiate all your internationalizable components and validators. The main purpose of this class is to reduce coupling between your application code and I18NAware:

Example:

Window myMainWindow = I18NFactory.newWindow ( “myMainWindow.titleMessageKey” );

or

Button myButton = I18NFactory.newButton();

I18NFactory.setCaptionKey(myButton, “myButton.captionMessageKey” );

I18NFactory.setCaptionParams(myButton, param );

Your Vaadin application must instantiate the I18NAware’s I18NService using an I18NMessageProvider implementation.

The I18NAware’s I18NService is used to register the top level I18NAware elements of your application and to initiate the internationalization of all reachable captions and values.

Example:

I18NService i18NService = new I18NServiceImpl( new MessageBundle I18NMessageProvider(“messages”) );

i18NService.registerI18NAware( myMainWindow );

i18NService.setLocale( Locale.French );

Install

Link to this version
BetaReleased 28 October 2011Apache License 2.0
Framework Support
Vaadin 6.6+
Install with
Release notes - Version 0.0.4

Still missing these components:

com.vaadin.ui.AbsoluteLayout com.vaadin.ui.Accordion com.vaadin.ui.CssLayout com.vaadin.ui.CustomLayout com.vaadin.ui.HorizontalSplitPanel com.vaadin.ui.InlineDateField com.vaadin.ui.ListSelect com.vaadin.ui.LoginForm com.vaadin.ui.MenuBar com.vaadin.ui.NativeButton com.vaadin.ui.OrderedLayout com.vaadin.ui.PasswordField com.vaadin.ui.PopupDateField com.vaadin.ui.PopupView com.vaadin.ui.RichTextArea com.vaadin.ui.Select com.vaadin.ui.Slider com.vaadin.ui.SplitPanel com.vaadin.ui.Table com.vaadin.ui.Tree com.vaadin.ui.TwinColSelect com.vaadin.ui.Upload com.vaadin.ui.VerticalSplitPanel