我的 faces-config.xml 文件的一部分是这样的:
<locale-config>
<default-locale>el</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
<resource-bundle>
<base-name>com.application.model.resources.Labels</base-name>
<var>labels</var>
</resource-bundle>
我在相应的包/文件夹中也有文件 Labels_el.properties 和 Labels_en.properties。
问题是这样的:
火狐
当我启动应用程序时,所有文本都是希腊语(默认语言环境)。每当我单击命令按钮或命令链接时,所有文本都会以英语更改。但是,语言环境仍然是希腊语 (el)。
铬合金
应用程序以希腊语正确启动,并且在页面导航期间语言保持不变。我有一个下拉列表,我可以在其中更改语言环境。当我将语言环境更改为英语 (en) 时,页面会正确刷新。之后,当我单击 commandButton 或 commandLink 时,区域设置的值仍为英语,但文本再次变为希腊语。
因此,问题在于,在页面导航期间,Firefox 中的语言变为英语,Chrome 中的语言变为希腊语(除非我从下拉列表中选择所需的语言,否则语言环境不会改变)。
这个问题有什么解决办法吗?