package pl.net.bluesoft.rnd.util.i18n;
import java.util.Locale;
/**
* @author tlipski@bluesoft.net.pl
*/
public interface I18NSource {
String getMessage(String key);
String getMessage(String key, String defaultValue);
String getMessage(String key, Object... params);
String getMessage(String key, String defaultValue, Object... params);
Locale getLocale();
void setLocale(Locale locale);
public class ThreadUtil {
public static final ThreadLocal<I18NSource> i18nSource = new ThreadLocal<I18NSource>();
public static void setThreadI18nSource(I18NSource source) {
i18nSource.set(source);
}
public static I18NSource getThreadI18nSource() {
return i18nSource.get();
}
public static void removeThreadI18nSource() {
i18nSource.remove();
}
public static String getLocalizedMessage(String key) {
return getThreadI18nSource().getMessage(key);
}
}
}