一、需求:

最近项目中有这么一个需求,当用户当前的语言环境是 中文时,导出的 excel 文件为中文的,当用户的语言环境为英文时,导出的excel文件为英文的。即需要实现国际化的功能。
项目中是使用 SpringBoot 来搭建的,因此就使用了 Spring 的国际化功能。

二、出现的问题

  1. windowmac 平台上发现是可以实现国际化的,但是在 linux 平台上发现始终是国际化失败,始终是一种语言。

三、代码结构

1、配置文件中的配置

i18n配置

2、java代码中的使用

String result =  messageSource.getMessage(code, null, `Locale('en_US')`)

发现此句在linux上使用获取不到自己想要的结果。

四、解决方案

通过debug发现,当语言环境为中文(zh_CN)时,居然获取到的是英文环境(en_us),因此尝试将messages_zh_CN.properties 文件修改成 messages_zh_cn.properties 文件,问题得到解决。
:将 zh_CNen_US 这些后缀等修改成小写的即解决问题。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐