springboot,页面配置国际化语言显示

创建国际化语言包

SpringBoot自动配置好了管理国际化资源文件的组件:

MessageSourceAutoConfiguration
@Bean
    public MessageSource messageSource(MessageSourceProperties properties) {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        if (StringUtils.hasText(properties.getBasename())) {
            
        //设置国际化资源文件的基础名(去掉语言国家代码的:login_zh_CN.properties,zh_CN就是国家代码,英语为:en_US)
messageSource.setBasenames(StringUtils.commaDelimitedListToStringArray(StringUtils.trimAllWhitespace(properties.getBasename())));
        }

        if (properties.getEncoding() != null) {
            messageSource.setDefaultEncoding(properties.getEncoding().name());
        }

        messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale());
        Duration cacheDuration = properties.getCacheDuration();
        if (cacheDuration != null) {
            messageSource.setCacheMillis(cacheDuration.toMillis());
        }

        messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat());
        messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage());
        return messageSource;
    }

因为语言包放在了i18n的package下,所以需要修改yml或properties配置文件,springboot默认是messages下

页面这里用了layui的滑块验证,需要获取值,需要用[[#{}]]来获取值

最后效果

中文效果下:

英文效果下:


版权声明:本文为qq_37233895原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。