I18n.java 1.05 KB
package fi.insomnia.bortal;

import java.util.MissingResourceException;
import java.util.ResourceBundle;

import javax.faces.application.Application;
import javax.faces.context.FacesContext;

/***
 * Access i18n localisations from Java code. Feel free to make up a better way.
 * Note! works only when invoked from inside Faces context...
 * 
 * @author jkj
 * 
 */
public class I18n {

    public static ResourceBundle getResourceBundle() {
        FacesContext facesContext = FacesContext.getCurrentInstance();
        Application app = facesContext.getApplication();
        ResourceBundle bundle = app.getResourceBundle(facesContext, "i18n");
        return bundle;
    }

    public static String get(String key) {
        String value = null;
        try {
            value = getResourceBundle().getString(key);
        } catch (MissingResourceException e) {
            value = null;
        }

        if (key == null) {
            value = "########";
        } else if (value == null) {
            value = "???" + key + "???";

        }
        return value;
    }
}