Apache Struts 2 Documentation > Home > FAQs > How do we change locales
Added by Ted Husted, last edited by Dave Newton on Feb 16, 2008  (view change) show comment

Simply include a parameter in the request, either from a link or a form, that sets the requst_locale parameter to the language and (optionally) counry code to use.

<h3>Language Options</h3>
<ul>
    <li>
        <s:url id="en" action="Welcome">
            <s:param name="request_locale">en</s:param>
        </s:url>
        <s:a href="%{en}">English</s:a>
    </li>
    <li>
        <a href="<s:url action="Welcome">
            <s:param name="request_locale">ja</s:param>
        </s:url>">Japanese</a>
   </li>
    <li>
        <a href="<s:url value="Welcome.do">
            <s:param name="request_locale" value="'ru'" />
            </s:url>">Russian</a>
    </li>
</ul>

The default interceptor stack includes an i18n interceptor that watches for the request_locale parameter. The parameter name is configurable.

An alternative is to set the locale by calling the setLocale method of ActionSupport.