5

我正在编写一个使用资源包来处理国际化的 JSF (ICEfaces) 应用程序。

该应用程序很好地为资源包应用了(默认)荷兰语“nl”语言环境,但未能在格式化浮点数时应用相同的语言环境,即使我使用<f:view locale="nl">.

如何使浮点数遵循当前的语言环境设置?

4

2 回答 2

6

您可能没有使用转换器将数字格式化为适当的语言环境。

  <f:view locale="nl">
    <h:outputText value="#{numbers.someDouble}">
      <f:convertNumber pattern="#,##0.00;(#,##0.00)" />
    </h:outputText>
    <br />
    <h:outputText value="#{numbers.someDouble}">
      <f:convertNumber locale="en" pattern="#,##0.00;(#,##0.00)" />
    </h:outputText>
  </f:view>

此视图(带有数字的荷兰语区域设置视图,后跟英语区域设置编号)产生以下输出:

12.341.234,43
12,341,234.43
于 2009-11-16T12:02:00.937 回答
1

您可以在 faces.config.xml 中使用嵌套<convertNumber>标签并将默认语言环境设置为“nl”。这样,转换器会自动获取并使用默认语言环境,您无需在每个<convertNumber>标记处指定模式。

面孔-config.xml:

    <application>
        <locale-config>
          <default-locale>nl</default-locale>
        </locale-config>
    </application>
于 2009-11-16T13:31:09.103 回答