spring:在同一页面上以多种语言显示消息

时间:2014-02-13 16:01:29

标签: spring internationalization

我有一个客户要求建立一个登陆页面,以网站支持的两种语言欢迎用户。

我的期望是我可以做类似的事情:

<spring:message code="code" locale="en"/>

显然这是不可能的,所以我想知道是否有任何支持,或者我是否必须使用额外的locale参数构建我自己的控制器来提供这些消息?

i18n语言支持已经正常工作我正在寻找的,是一种在同一页面上呈现来自多种语言的相同消息的方法。

想象一下有两个方框的着陆页

  • 第一个用英语显示一个大的EN标志和欢迎文本(messageCode="landing.welcome")。
  • 第二个用葡萄牙语显示一个大的PT标志和欢迎文本(messageCode="landing.welcome")。
再次

:这两种语言都使用客户端的语言环境(PT或EN),但我需要的是用两种语言获取相同的消息代码

1 个答案:

答案 0 :(得分:0)

因此,我在此期间要实现的目的是使用一个控制器,该控制器具有对消息源的引用并将两个消息放入模型中。

@Controller
public class LandingController {

    private static final String LANDING_CODE = "landing.welcome";
    @Autowired
    private MessageSource messageSource;

    @RequestMapping("/")
    public String render(Model model) {
        model.addAttribute("welcomeMessagePt", messageSource.getMessage(LANDING_CODE, null, new Locale("PT")));
        model.addAttribute("welcomeMessageEn", messageSource.getMessage(LANDING_CODE, null, Locale.ENGLISH));

        return "index";
    }
}

但我希望不需要控制器...