[New] Added I18nMessage.getMessage(Locale)
This commit is contained in:
parent
93cec1b799
commit
80841770e2
|
@ -2,6 +2,7 @@ package li.strolch.utils;
|
|||
|
||||
import static li.strolch.utils.helper.StringHelper.EMPTY;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.MissingResourceException;
|
||||
import java.util.Properties;
|
||||
import java.util.ResourceBundle;
|
||||
|
@ -56,10 +57,33 @@ public class I18nMessage {
|
|||
return this.values.get(key);
|
||||
}
|
||||
|
||||
private ResourceBundle getBundle(Locale locale) {
|
||||
if (this.bundle.getLocale() == locale)
|
||||
return this.bundle;
|
||||
String baseName = this.bundle.getBaseBundleName();
|
||||
|
||||
try {
|
||||
|
||||
ClassLoader classLoader = this.bundle.getClass().getClassLoader();
|
||||
if (classLoader == null)
|
||||
return ResourceBundle.getBundle(baseName, locale);
|
||||
return ResourceBundle.getBundle(baseName, locale, classLoader);
|
||||
|
||||
} catch (MissingResourceException e) {
|
||||
logger.error("Failed to find resource bundle " + baseName + " " + locale.toLanguageTag()
|
||||
+ ", returning current bundle " + this.bundle.getLocale().toLanguageTag());
|
||||
return this.bundle;
|
||||
}
|
||||
}
|
||||
|
||||
public String getMessage(ResourceBundle bundle) {
|
||||
return formatMessage(bundle);
|
||||
}
|
||||
|
||||
public String getMessage(Locale locale) {
|
||||
return formatMessage(getBundle(locale));
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return formatMessage();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue