Registering Messages
If you create custom messages, you must make them available at application startup time. You do this in one of two ways: by queuing the message onto the
FacesContext
instance programmatically (as described in Performing Localization) or by registering the messages with your application using the application configuration resource file.Here is the part of the file that registers the messages for the Duke's Bookstore application:
<application> <message-bundle> resources.ApplicationMessages </message-bundle> <locale-config> <default-locale>en</default-locale> <supported-locale>es</supported-locale> <supported-locale>de</supported-locale> <supported-locale>fr</supported-locale> </locale-config> </application>This set of elements will cause your
Application
instance to be populated with the messages contained in the specifiedResourceBundle
.The
message-bundle
element represents a set of localized messages. It must contain the fully qualified path to theResourceBundle
containing the localized messages--in this case,resources.ApplicationMessages
.The
locale-config
element lists the default locale and the other supported locales. Thelocale-config
element enables the system to find the correct locale based on the browser's language settings. Duke's Bookstore manually sets the locale and so it overrides these settings. Therefore, it's not necessary to uselocale-config
to specify the default or supported locales in Duke's Bookstore.The
supported-locale
anddefault-locale
tags accept the lower-case, two-character codes as defined by ISO-639 (seehttp://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
). Make sure that yourResourceBundle
actually contains the messages for the locales that you specify with these tags.To access the localized message, the application developer merely references the key of the message from the resource bundle. See Performing Localization for more information.