Class OraResourceBundle


  • public class OraResourceBundle
    extends Object
    The OraResourceBundle class is the factory class that constructs a java.util.ResourceBundle instance.

    This class provides the special locale fallback behaviors on top of the Java behaviors. The rules follow:

    • If the given locale exactly matches the locale in the available resource bundles, it will be used.
    • If the resource bundle for Chinese in Singapore (zh_SG) is not found, it will fallback to the resource bundle for Chinese in China (zh_CN) for Simplified Chinese translations.
    • If the resource bundle for Chinese in Hong Kong (zh_HK) is not found, it will fallback to the resource bundle for Chinese in Taiwan (zh_TW) for Traditional Chinese translations.
    • If the resource bundle for Chinese in Macau (zh_MO) is not found, it will fallback to the resource bundle for Chinese in Taiwan (zh_TW) for Traditional Chinese translations.
    • If the resource bundles for any other Chinese locale (zh_ and zh) is not found, it will fallback to the resource bundle for Chinese in China (zh_CN) for Simplified Chinese translations.
    • The default locale, which can be obtained by the Locale.getDefault() method, will not be considered in the fallback operations.

    For example, assume the default locale is ja_JP and the resource bundle for it is available. When the resource bundle for es_MX is requested and neither resource bundle for es or es_MX is provided, the base resource bundle object that does not have a local suffix is returned.

    The usage of the OraResourceBundle class is similar to the java.util.ResourceBundle class, but the OraResourceBundle class does not instantiate itself. Instead, the return value of the getBundle method is an instance of the subclass of the java.util.ResourceBundle class. The following is an example showing how to get the instance of the bundle:

     import java.util.ResourceBundle;
     import oracle.i18n.util.OraResourceBundle;
     ...
     ResourceBundle resb = OraResourceBundle.getBundle(
       "oracle.demo.wob.Translations", request.getLocale());
     ...
     String resb = resb.getString("hello");
     ...
     
    Since:
    10.1.0.2
    • Method Detail

      • getBundle

        public static ResourceBundle getBundle​(String baseName,
                                               Locale locale,
                                               ClassLoader classLoader)
        Returns a ResourceBundle object specified by the base class name. A locale should be specified to get the translations. The class loader can be specified if necessary.
        Parameters:
        baseName - a base name of the ResourceBundle class
        locale - a locale used to specify the translation language
        classLoader - a ClassLoader object used to load the ResourceBundle class
        Returns:
        a ResourceBundle object
      • getBundle

        public static ResourceBundle getBundle​(String baseName,
                                               Locale locale)
        Returns a ResourceBundle object specified by the base class name. A locale should be specified to get the translations.
        Parameters:
        baseName - a base name of the ResourceBundle class
        locale - a locale used to specify the translation language
        Returns:
        a ResourceBundle object
      • getBundle

        public static ResourceBundle getBundle​(String baseName)
        Deprecated.
        As of Oracle Database 10g Release 2 (10.2), replaced by getBundle(String, Locale)
        Returns a ResourceBundle object derived from the given base class name. By default, the translation is in English.
        Parameters:
        baseName - a base name of the ResourceBundle class
        Returns:
        a ResourceBundle object