Это делается с помощью API ResourceBundle
, а не 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
откатится к файлу свойств по умолчанию, локаль которого вы можете указать как запись <default-locale>
в faces-config.xml
.Если запись также отсутствует, то она, наконец, будет сканировать вместо name.properties
.
См. Также: