【问题标题】:JSF2 Internationalization property-fileJSF2 国际化属性文件
【发布时间】:2011-01-12 10:11:05
【问题描述】:

我正在尝试在我的 jsf2 应用中实现以下示例:

http://www.mkyong.com/jsf2/jsf-2-internationalization-example/

但我不明白应用程序如何知道哪个属性文件属于哪种语言。

请你解释一下:-)

【问题讨论】:

标签: java jsf internationalization jsf-2


【解决方案1】:

这是由ResourceBundle API 完成的,而不是由 JSF 完成的。资源包文件名应遵循以下模式name_ll_CC.properties_ll 部分应该是小写的ISO 693-1 语言代码。它是可选的,并且仅在存在 _CC 部分时才需要。 _CC 部分应该是大写的ISO 3166-1 Alpha-2 国家代码。它是可选的,通常仅用于区分特定国家/地区的语言方言,例如美式英语 (_en_US) 和英式英语 (_en_UK)。

根据当前请求的Locale确定正确的文件。 JSF 会将UIViewRoot#getLocale() 之一传递给ResourceBundle。如果name_ll_CC.properties 文件不存在,则ResourceBundle 将扫描name_ll.properties 文件。如果它也不存在,那么ResourceBundle 将回退到默认属性文件,您可以在faces-config.xml 中将其语言环境指定为<default-locale> 条目。如果条目也缺失,那么它最终会改为扫描name.properties

另见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-10
    • 2016-09-20
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多