Vaadin多语言portlet组件标题

时间:2011-11-14 12:32:52

标签: java liferay portlet vaadin

我正在Liferay Portal中使用Vaadin开发portlet,主要是使用英文组件标题(名称),如“取消”,“返回”,“下一步”等等。现在我必须使portlet“Multilanguage ready”,这意味着如果用户将他的Li​​feray页面的语言设置为英语,他应该看到我的英文portlet字幕,但如果用户将他的Li​​feray页面的语言设置为德语, portlet标题应以德语显示。

有没有办法检查用户设置为主要语言的语言?

一个简单的例子:

John来自纽约,他的主要语言是英语,所以一旦他登录到他的帐户,Portlet组件标题的语言应该用英语显示

Heinz来自柏林,他的主要语言是德语,因此一旦登录到他的帐户,Portlet组件标题的语言应以德语显示。

2 个答案:

答案 0 :(得分:1)

您可以致电Liferay API的user.getLocale()

要获取用户对象,请检查this。发现更详细的信息here(虽然可能已过时)。

答案 1 :(得分:1)

要从您的属性文件中获取标题,您可以尝试(假设上面的类)

Button button = new Button() {
    @Override
    public void attach() {
        ResourceBundle bundle = ResourceBundle.getBundle(Translation_portletApplication.class.getName(), user.getLocale());
        setCaption(bundle.getString("first_name"));
    }
};
window.addComponent(button);

要查看完整的答案背景,请参阅this so question