in src/java/org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.java [388:428]
private ResourceBundle findBundleByLocale(
String bundleName,
Locale locale,
Map<Locale, ResourceBundle> bundlesByLocale)
{
ResourceBundle rb = null;
if (StringUtils.isEmpty(locale.getCountry())
&& defaultLanguage.equals(locale.getLanguage()))
{
/*
* category.debug("Requested language '" + locale.getLanguage() +
* "' matches default: Attempting to guess bundle " +
* "using default country '" + defaultCountry + '\'');
*/
Locale withDefaultCountry =
new Locale(locale.getLanguage(), defaultCountry);
rb = (ResourceBundle) bundlesByLocale.get(withDefaultCountry);
if (rb == null)
{
rb = getBundleIgnoreException(bundleName, withDefaultCountry);
}
}
else if (
StringUtils.isEmpty(locale.getLanguage())
&& defaultCountry.equals(locale.getCountry()))
{
Locale withDefaultLanguage =
new Locale(defaultLanguage, locale.getCountry());
rb = (ResourceBundle) bundlesByLocale.get(withDefaultLanguage);
if (rb == null)
{
rb = getBundleIgnoreException(bundleName, withDefaultLanguage);
}
}
if (rb == null && !defaultLocale.equals(locale))
{
rb = getBundleIgnoreException(bundleName, defaultLocale);
}
return rb;
}