вторник, 10 февраля 2015 г.

Enum для интернализации строк

Класс:

package sample.utils.text;

import java.util.Locale;
import java.util.ResourceBundle;

public enum Message {

TERRITORIAL_BELONGING,
GLOBAL,
INTERNATIONAL,
RUSSIAN,
REGIONAL;

   
    private static final Locale ruLocale = new Locale("ru");
    private static final ResourceBundle engResources = ResourceBundle.getBundle("messages", Locale.ENGLISH);
    private static final ResourceBundle ruResources = ResourceBundle.getBundle("messages", Message.ruLocale);

     public String get(String sitename) {
        ResourceBundle bundle;
        if ("eng_site".equals(sitename)) {
            bundle = Message.engResources;
        } else {
            bundle = Message.ruResources;
        }
        return bundle.getString(this.toString());
    }

}

Использование (jsp):
<span>English: <%=Message.GLOBAL.get("eng_site")%></span>
<span>Russian: <%=Message.GLOBAL.get("russian")%></span>  

Комментариев нет:

Отправить комментарий