Locale? Fortunately you can, provided that you
isolate the locale-specific objects in a ResourceBundle.
In this lesson you'll learn how to create and access
ResourceBundle objects. If you're in a hurry to examine
some coding examples, go ahead and check out the last two sections in
this lesson. Then you can come back to the first two sections to get
some conceptual information about ResourceBundle objects.
ResourceBundle objects contain locale-specific objects.
When you need a locale-specific object, you fetch it from a
ResourceBundle, which returns the object that matches the
end user's Locale. This section explains how a
ResourceBundle is related to a Locale, and
describes the ResourceBundle subclasses.
ResourceBundle objects, you should
do a little planning. First, identify the locale-specific objects in
your program. Then organize them into categories and store them in
different ResourceBundle objects accordingly.
String objects that need to
be translated into various languages, you can store these
String objects in a PropertyResourceBundle,
which is backed up by a set of properties files. Since the properties
files are simple text files, they can be created and maintained by your
translators. You don't have to change the source code. In this section
you'll learn how to set up the properties files that back up a
PropertyResourceBundle.
ListResourceBundle class, which is a subclass of
ResourceBundle, manages locale-specific objects with a
list. A ListResourceBundle is backed by a class file,
which means that you must code and compile a new source file each time
support for an additional Locale is needed. However,
ListResourceBundle objects are useful because unlike
properties files, they can store any type of locale-specific object. By
stepping through a sample program, this section demonstrates how to use
a ListResourceBundle.
ResourceBundle.getBundle factory flexibility.
The ResourceBundle.Control class collaborates with the factory 
methods for loading resource bundles. This allows to consider every substantial step 
of the resource bundle-loading process and its cache control as a separate 
method.