单个网页中的多语言支持

时间:2014-04-22 12:43:36

标签: java jsf java-ee web-applications internationalization

我遇到过一个我从未经历过的要求。 我有一个网页,其中我必须显示两个语言相当于一个句子。像

你好吗? (英文)
¿CómoestáUsted(西班牙语)

到目前为止,我已经使用了内化的概念,它将改变语言环境并将完整的网页(除了数据库驱动的值)转换为选定的语言环境。

如果语言环境设置为西班牙语,则完整表单将以西班牙语显示。这里要求两个语言字符串都应显示在每个语言字符串旁边。

更新
这是我的示例网页的图像。 enter image description here

1 个答案:

答案 0 :(得分:1)

另一种方法是通过定义ResourceBundle然后将locale传递给它来动态地执行此操作,此处Iam传递Dutch locale然后您应该在resouces folder中资源文件,在我的情况下我的英语为Messages.properties,荷兰语为Messages_nl.properties

Locale defaultLocale = new Locale("nl", "NL");
ResourceBundle resourceBundle = ResourceBundle.getBundle("Messages", defaultLocale);

然后您可以按如下方式使用所需的字符串:

 String greeting = resourceBundle.getString("hello"); 

因此,在您的情况下,您需要定义两个ResourceBundle对象,每个对象用于英语和西班牙语。