文章目录

一、需求:

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

二、出现的问题

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

三、代码结构

1、配置文件中的配置

linux系统上国际化失败_国际化

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_CN​​​ 或 ​​en_US​​​ 这些后缀等​​修改成小写​​的即解决问题。