The Resource Hierarchy
Although the resource bundles for an application are placed in a single directory in the file system, they are organized into a logical hierarchy based upon the locales associated with the bundles. At the base of the hierarchy is the root resource bundle. You create the root resource bundle for your application when you develop it, with resource values expressed in accordance with your own locale. (See Defining Resource Bundles.)
When your application is localized for a particular locale--either by you or by a software translator at some time in the future--a new resource bundle is created that translates the values in the root resource bundle for the new locale.
In the logical resource hierarchy, immediately below the root resource bundle are language-specific bundles; for example, de, en, and ja bundles. Below the language-specific bundles are country-specific bundles; for example, de_DE and de_CH. Below the country-specific bundles are variant-specific bundles; for example, de_DE_PREEURO. A sample resource hierarchy is illustrated in Figure 1.
Figure 1 – Sample resource bundle hierarchy
Not every bundle needs a resource value for each localizable aspect of the application. A fallback mechanism (see Retrieving a Resource Bundle and Accessing a Resource) ensures that a child resource bundle need only contain the resources whose values differ from its ancestor bundles.