Я использую интернационализацию в своем веб-приложении, используя struts2 и плитки. он работает для сообщений, определенных в messages_en.properties и messages.properties. Проблема, с которой я сталкиваюсь, касается названий моих веб-страниц. Я создал два файла определений файлов, один для французских плит-defs.xml, а другой для английских плит-defs_en.xml. На всех моих действиях я поставил i18n-перехватчик. Но когда я запрашиваю изменение языка, мои заголовки не меняются. Кто-то, у кого есть начало решения?Интернационализация плиток
спасибо
Это моя связь с моими локали действия:
<s:url var="urlfr" action="locale">
<s:param name="request_locale">fr</s:param>
</s:url>
<s:a href="%{urlfr}">
<img title="francais" alt=""
src="/baseline/pages/images/flag-fr.gif">
</s:a>
<s:url var="urlen" action="locale">
<s:param name="request_locale">en</s:param>
</s:url>
<s:a href="%{urlen}">
<img title="englais" alt="" src="/baseline/pages/images/flag-gb.gif">
</s:a>
Моей локаль действия возвращает только успех, и это мой struts.xml где я объявил мои действия
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.custom.i18n.resources" value="messages" />
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.SlashesInActionNames" value="true" />
<package name="user" namespace="/user" extends="struts-default">
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<interceptors>
<interceptor name="post" class="domain.PostOnlyInterceptor" />
<interceptor-stack name="postStack">
<interceptor-ref name="i18n" />
<interceptor-ref name="post" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<action name="listPaysAction" class="regionAction" method="listePaysParRegion">
<interceptor-ref name="params" />
<interceptor-ref name="prepare" />
<interceptor-ref name="defaultStack" />
<result name="success" type="tiles">accueil</result>
</action>
</package>
</struts>
Показать код. Это действительно не должно быть проблемой плитки, она просто собирает представления. Если представления не делают i18n правильно, это должна быть проблема struts2/jsp. Также не вижу необходимости в французской/английской плитки. Можно увидеть возможные причины для плиток, которые поддерживают языки с разными потоками макета, но они оба слева направо ... – Quaternion