searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

国际化翻译解决方案

2024-11-08 09:21:15
0
0

当大型网站开拓不同国家不同语言的网点时,页面交互也需要适配当地语言,不同语言文案的管理就是其中一个跨不过去的问题。

本文以Java SpringBoot服务为例,Spring中提供了一个MessageSource接口,用于适配不同国家语言的文案展示。

我们可以先定义一个MessageSource的Bean实现

@Configuration
public class AppConfig {
    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasenames(
                "classpath:i18n/messages"
        );
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }
}

其中申明了MessageSource引入的资源路径。

同时,在resources目录下配置文案资源如下:

资源命名需遵循以下格式:

basename_customlanguage_CUSTOMCOUNTRY.properties

其中,customlanguage是必填项,小写,CUSTOMCOUNTRY为选填项,大写。

文案资源文件的内容为key=value的格式

上述准备工作完成后,就可以在具体场景中调用了。

调用时指定key名和Locale参数,匹配具体的语言国家。

通过在不同文案资源文件中配置相同的key,不同的value。然后在服务的配置文件中设定语言国家选项,代码运行时读取配置项,就可以实现根据语言国家设置返回不同的当地翻译文案了。

0条评论
0 / 1000
胡****亮
4文章数
0粉丝数
胡****亮
4 文章 | 0 粉丝
胡****亮
4文章数
0粉丝数
胡****亮
4 文章 | 0 粉丝
原创

国际化翻译解决方案

2024-11-08 09:21:15
0
0

当大型网站开拓不同国家不同语言的网点时,页面交互也需要适配当地语言,不同语言文案的管理就是其中一个跨不过去的问题。

本文以Java SpringBoot服务为例,Spring中提供了一个MessageSource接口,用于适配不同国家语言的文案展示。

我们可以先定义一个MessageSource的Bean实现

@Configuration
public class AppConfig {
    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasenames(
                "classpath:i18n/messages"
        );
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }
}

其中申明了MessageSource引入的资源路径。

同时,在resources目录下配置文案资源如下:

资源命名需遵循以下格式:

basename_customlanguage_CUSTOMCOUNTRY.properties

其中,customlanguage是必填项,小写,CUSTOMCOUNTRY为选填项,大写。

文案资源文件的内容为key=value的格式

上述准备工作完成后,就可以在具体场景中调用了。

调用时指定key名和Locale参数,匹配具体的语言国家。

通过在不同文案资源文件中配置相同的key,不同的value。然后在服务的配置文件中设定语言国家选项,代码运行时读取配置项,就可以实现根据语言国家设置返回不同的当地翻译文案了。

文章来自个人专栏
数据库的那些事
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0