<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-core</artifactId>
<version>14.0.0</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-i18n</artifactId>
<version>2.0.0</version>
</dependency>
greeting=Hello World!
greeting=Hallo Welt!
import com.vaadin.flow.i18n.I18NProvider;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
public class CustomI18NProvider implements I18NProvider {
@Override
public List<Locale> getProvidedLocales() {
return Arrays.asList(Locale.ENGLISH, Locale.GERMAN, Locale.CHINESE);
}
@Override
public String getTranslation(String key, Locale locale, Object... params) {
ResourceBundle bundle = ResourceBundle.getBundle("messages", locale);
return bundle.getString(key);
}
}
import com.vaadin.flow.server.*;
import javax.servlet.ServletException;
import java.util.Locale;
public class MyServlet extends VaadinServlet {
@Override
protected void servletInitialized() throws ServletException {
super.servletInitialized();
getService().addSessionInitListener(event -> {
event.getSession().setLocale(Locale.CHINESE);
event.getSession().setI18nProvider(new CustomI18NProvider());
});
}
}
import com.vaadin.flow.component.*;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;
@Route("hello")
public class HelloWorldView extends VerticalLayout {
public HelloWorldView() {
String greeting = getTranslation("greeting");
Button button = new Button(greeting);
add(button);
}
}