Java 在JSF中更改语言而不更改语言环境

Java 在JSF中更改语言而不更改语言环境,java,jsf,localization,translation,Java,Jsf,Localization,Translation,我目前有一个JSF应用程序,它根据用户选择的语言设置语言环境。他有一个下拉列表,当我选择英语时,我将语言环境设置为en,等等。 这对于数字格式以及从我的ResourceBundle加载的语言字符串非常有效 所以对于英语,我得到了英语单词和a。作为小数分隔符。 对于fr,我使用法语和a作为小数点分隔符 然而,现在有一个要求,这个网站,数字格式必须始终有一个,作为小数分隔符。所以,我想把地点固定在fr 用户仍然必须能够更改其语言。 那么,在JSF中,是否可以在不更改语言环境的情况下加载不同的语言?您

我目前有一个JSF应用程序,它根据用户选择的语言设置语言环境。他有一个下拉列表,当我选择英语时,我将语言环境设置为en,等等。 这对于数字格式以及从我的ResourceBundle加载的语言字符串非常有效

所以对于英语,我得到了英语单词和a。作为小数分隔符。 对于fr,我使用法语和a作为小数点分隔符

然而,现在有一个要求,这个网站,数字格式必须始终有一个,作为小数分隔符。所以,我想把地点固定在fr

用户仍然必须能够更改其语言。
那么,在JSF中,是否可以在不更改语言环境的情况下加载不同的语言?

您需要一种特殊的格式化解决方案,因此覆盖格式化程序可能是更好的解决方案。我认为JSF支持替换默认的数字格式。

只需明确指定您在那里使用的
标记的
locale
属性

例如


或者类似的


否则它将默认为,正如您正在经历的那样

另见:
  • -读取
    locale
    属性

我确实走了这么远。但是,阅读文档时,我认为您的
locale=“fr\u fr”
不起作用,因为
locale(String)
的第一个参数必须是一个小写的两个字母的ISO-639代码!似乎我需要一些假期,因为我开始想出过于复杂的解决方案;)