七、SpringBoot 国际化

本文介绍了SpringBoot如何实现国际化,包括在resource下创建i18n文件夹存放国际化文件,配置国际化组件如LocaleResolver,并在页面上通过键值对获取国际化值。
摘要由CSDN通过智能技术生成

1、编写国际化文件

(1)、在 resource 文件夹下创建名为 i18n 的文件夹

(2)、在 i18n 文件夹下创建国际化文件,创建好文件后,应当是下面这样的视图

(3)、国际化文件内容

login.properties:


    login.btn=登录
    login.password=密码
    login.remember=记住我
    login.tip=请登录~
    login.username=用户名

login_en_US.properties:


    login.btn=Sign in
    login.password=Password
    login.remember=remember-me
    login.tip=Please sign in
    login.username=UserName

login_zh_CN.properties:


    login.btn=登录
    login.password=密码
    login.remember=记住我
    login.tip=请登录
    login.username=用户名

如果在 properties 文件中不能显示中文,设置如下:

2、SpringBoot 中配置国际化组件

(1)、SpringBoot 自动配置的国际化组件

    @Configuration
    @ConditionalOnMissingBean(
        value = {MessageSource.class},
        search = SearchStrategy.CURRENT
    )
    @AutoConfigureOrder(-2147483648)
    @Conditional({MessageSourceAutoConfiguration.ResourceBundleCondition.class})
    @EnableConfigurationProperties
    public class MessageSourceAutoConfiguration {
   
        private static final Resource[] NO_RESOURCES = new Resource[0];

        public MessageSourceAutoConfiguration() {
        }

        //默认的国际化配置文件的基名为 messages,所以我们可以将我们的国际化配置文件命名为 messages.properties
        @Bean
        @ConfigurationProperties(
            prefix = "spring.messages"
        )
        public MessageSourceProperties messageSourceProperties() {
            return new MessageSourceProperties();
        }

        @Bean
        public MessageSource messageSource() {
            MessageSourceProperties properties = this.messageSourceProperties();
            ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
            if (StringUtils.hasText(properties.getBasename())) {
                //设置国际化资源文件的基础名(去掉语言国家代码的) 
                messageSource.setBasenames(StringUtils.commaDelimitedListToStringArray(StringUtils.trimAllWh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值