【问题标题】:Spring MVC/JSP. How to create multilanguage combo with country list?春天MVC/JSP。如何使用国家列表创建多语言组合?
【发布时间】:2011-02-15 14:08:35
【问题描述】:

我利用了本例所示的配置:

http://viralpatel.net/blogs/2010/07/spring-3-mvc-internationalization-i18n-localization-tutorial-example.html

现在,我会选择国家/地区进行国际化组合。我怎么能做这样的事情? (JSP 和 Spring MVC 3.0.5)

请帮忙。

【问题讨论】:

  • 您到底需要什么?你能提供一些期望行为的例子吗?
  • 我需要一个例子。如果 Country 对象的解决方案是错误的。请提示。
  • 当他/她问“你到底需要什么?” axtavt 是这样说的:“对您要解决的问题提供更好的解释”。更重要的是,当您说“我会选择国家/地区进行国际化组合”时,您是什么意思?您是否希望组合中的文本项根据区域设置进行更改,您希望组合中的选项设置区域设置,还是需要其他内容?

标签: java spring spring-mvc internationalization


【解决方案1】:

你可以试试这个:

<spring:url var="langChangeUrl" value =""/>

<form action="${langChangeUrl}" method="get">
  <select name="lang" >
    <option value="de">Deutsch</option>
    <option value="en">English</option>
   </select>
   <input type="submit" value="change"> 
</form>

我没有测试它,因为我通常使用链接来切换语言,所以我在这个基于表单的基础上添加了基于链接的代码。 -- 无论如何,即使它不能 100% 工作,它也应该说明你需要走的路。

已添加 对于您希望以特殊语言显示语言的(可用性关键的形式观点)情况,您应该使用语言文件(每种语言一个),并使用&lt;spring:message&gt; 打印它们:

<spring:url var="langChangeUrl" value =""/>

<form action="${langChangeUrl}" method="get">
  <select name="lang" >
    <option value="de"><spring:message code="languageName.de"></option>
    <option value="en"><spring:message code="languageName.en"></option>
   </select>
   <input type="submit" value="change"> 
</form>

*messages_de.properties*

languageName.de=Deutsch
languageName.en=Englisch

*messages_en.properties*

languageName.de=German
languageName.en=English

messages.properties

languageName=German
languageName=English

你需要配置spring来加载语言属性文件:

<!-- Resolves localized messages*.properties files for internationalization. -->
<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" 
        id="messageSource"
        p:basenames="WEB-INF/i18n/messages"
        p:fallbackToSystemLocale="false"/>

【讨论】:

  • 对我不好。例如 - 英国人应该看到英语、德语,但德国人应该看到英格兰、德国等。你知道我的意思吗?
  • @user612925:你确定你想要这个:当所有语言都用俄语写成时,你有没有选择选择你的语言(例如,如果你在 Moskau 的网吧:提示德语是немецкий)
  • @user612925:无论如何我已经扩展了我的答案。
  • 不像。在一个组合中,我选择一种语言。就我而言,它是英语或德语。接下来在之前选择的基础上,我想命名看起来适合该语言的国家/地区。
  • @user612925:在这种情况下,您需要在两个选项之间重新加载页面以设置语言。对于第二个页面,您可以使用&lt;spring:message&gt; - 但是第二个表单提交不能发送到 ${langChangeUrl}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-03
  • 2010-12-30
相关资源
最近更新 更多