我正在Liferay Portal中使用Vaadin开发portlet,主要是使用英文组件标题(名称),如“取消”,“返回”,“下一步”等等。现在我必须使portlet“Multilanguage ready”,这意味着如果用户将他的Liferay页面的语言设置为英语,他应该看到我的英文portlet字幕,但如果用户将他的Liferay页面的语言设置为德语, portlet标题应以德语显示。
有没有办法检查用户设置为主要语言的语言?
一个简单的例子:
John来自纽约,他的主要语言是英语,所以一旦他登录到他的帐户,Portlet组件标题的语言应该用英语显示
Heinz来自柏林,他的主要语言是德语,因此一旦登录到他的帐户,Portlet组件标题的语言应以德语显示。
答案 0 :(得分:1)
您可以致电Liferay API的user.getLocale()
。
答案 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