Интернационализация в стойках - PullRequest
0 голосов
/ 04 июля 2011

Я создал приложение с одной стойкой. Я хочу поддержать Интернационализацию в моем приложении для japanese.My Свойство имя файла - Application, оно работает для файла Application_ja.properties, но не работает для файла Application_ja_JP.properties. Я запускаю приложениена сервере Tomcat.пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 10 июля 2014
Suppose you have two properties files-
struts_en_UK.properties
common.color = colour

struts_en_US.properties
common.color = color

The following code will fetch the resource from properties file as follows-
        Locale locale = new Locale("en", "UK");
        ResourceBundle bundle = ResourceBundle.getBundle("struts",locale);

        System.out.println(bundle.getString("common.color"));

        Locale usLocale = new Locale("en", "US");
        ResourceBundle usBundle = ResourceBundle.getBundle("struts",usLocale);
        System.out.println("Us Locale : "+usBundle.getString("common.color"));
0 голосов
/ 18 апреля 2012

Я создал приложение для поддержки двух языков.В случае, если вы не вставили некоторый код, я попытаюсь объяснить мой.

Сначала я создаю класс действия Struts для обработки локалей, есть методы этого класса:

public ActionForward en(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {      
    request.getSession().setAttribute(
            Globals.LOCALE_KEY, Locale.ENGLISH);
    return mapping.findForward(SUCCESS);
}

public ActionForward lt(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {

    request.getSession().setAttribute(
            Globals.LOCALE_KEY, new Locale("lt"));

    return mapping.findForward(SUCCESS);
}

Один методдля английского языка и один метод для литовского языка.

Я объявил этот класс действия в своем файле struts-config.xml:

<action input="/views/index.jsp" 
        parameter="method" 
        path="/locale" 
        scope="request" 
        type="lt.klc.action.LanguageSelectAction" 
        validate="false">
    <forward name="success" path="/views/index.jsp"/>
</action>

Я объявил свои ресурсы: (application.properties и application_lt.properties)

<message-resources parameter="lt/klc/resources/application_lt"/>    
<message-resources parameter="lt/klc/resources/application"/>

Когда я хочу изменить язык, я просто вызываю этот класс, предоставляя метод, который хочу вызвать:

    <html:link action="locale.xhtml?method=en">English</html:link>
    <html:link action="locale.xhtml?method=lt">Lietuviškai</html:link>

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...