gpt4 book ai didi

java - 如何使用 spring-boot 和 thymeleaf 设置标准 i18n 语言环境?

转载 作者:行者123 更新时间:2023-12-02 03:38:42 26 4
gpt4 key购买 nike

我使用以下配置将 i18n 集成到我的应用程序中:

@Configuration
public class LocaleConfiguration extends WebMvcConfigurerAdapter {

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

@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/i18n/application");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}

}

我设置了“en”和“de”属性,到目前为止一切正常。

例如,如果我从西类牙进入页面,我只能看到 html 文件中的占位符。但我想实现的是,对于没有现有属性配置的语言/国家,标准语言是英语(“en”)。所以我尝试了这个:

@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver();
sessionLocaleResolver.setDefaultLocale(Locale.US);
return sessionLocaleResolver;
}

它按照我的需要将默认设置为英语,但现在每个页面(也具有特殊语言的现有属性)都以英语显示。

最佳答案

你必须删除这个

@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver();
sessionLocaleResolver.setDefaultLocale(Locale.US);
return sessionLocaleResolver;
}

并在src\main\resources\i18n中添加默认的英文application.properties

这应该可以解决你的问题

关于java - 如何使用 spring-boot 和 thymeleaf 设置标准 i18n 语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37134354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com