【问题标题】:Muti language support in single web page单个网页中的多语言支持
【发布时间】:2014-06-06 20:22:38
【问题描述】:

我遇到了以前从未遇到过的要求。 我有一个网页,我必须在其中显示一个句子的两种语言等效项。喜欢

你好吗? (英文)
¿Cómo está usted(西班牙语)

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

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

更新:
这是我的示例网页的图像。

【问题讨论】:

  • 你的问题是什么?为什么不直接显示这两个句子,一个是英文的,一个是西班牙文的?
  • 我想通过 I18n 在我的页面中显示这些句子。
  • 您的问题似乎是您使用了错误的字符编码从您获取问题的任何来源检索问题的文本(提示:在您的问题中提到它),或者生成输出时字符编码错误。通常,您希望在输出中使用 UTF-8 字符编码,但您还必须在 HTTP 响应标头中指明这一点。

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


【解决方案1】:

另一种方法是通过定义ResourceBundle 然后将locale 传递给它来动态执行此操作,这里我传递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 对象,分别用于英语和西班牙语。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2011-02-25
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多