如何在多语言支持下加入百万美元?

时间:2018-02-21 12:42:26

标签: html thymeleaf multiple-languages

我想要显示包含不同语言的页面。我知道使用不同语言的消息属性,但这并不能解决我的问题。因为我的html页面有很多动态变量。我想要包含带语言选项的页面。如何在百里香中轻松解决这个问题?

1 个答案:

答案 0 :(得分:0)

为了支持多种语言,我个人会使用Spring Framework的国际化:http://www.baeldung.com/spring-boot-internationalization - 使用百万富翁模板轻松工作

所以这是下面的解决方案:

@Controller

public class MvcWebConfig实现了WebMvcConfigurer {

/*THis locates all message files for html pages */
@Bean("messageSource")
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource messageSource =
            new ReloadableResourceBundleMessageSource();
    messageSource.setBasename("classpath:messages");
    messageSource.setDefaultEncoding("UTF-8");
    messageSource.setUseCodeAsDefaultMessage(true);
    return messageSource;
}


/*Local Resolver is to set language preference */
@Bean
public LocaleResolver localeResolver() {
    SessionLocaleResolver LR = new SessionLocaleResolver();
    LR.setDefaultLocale(Locale.UK);
    return LR;
}


/*overides language default with preference */

@Override
public void addInterceptors(InterceptorRegistry registry) {
    LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
    localeChangeInterceptor.setParamName("lang");
    registry.addInterceptor(localeChangeInterceptor);
}

}

然后在百里香中执行此操作

Language : <a href="?lang=uk">English</a> | <a href="?lang=gd">Gaelic</a>