SpringBoot使用i18n国际化

news2024/9/23 3:28:49

使用的SpringBoot版本是2.3.5

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.5.RELEASE</version>
    <relativePath/> 
</parent>

 一、简单测试

(1)、配置文件

messages:
  basename: i18n/messages
  encoding: UTF-8

 或者使用 Bean进行代码配置


@Configuration
public class LocalMessageConfig {

    /**
     * 系统国际化文件配置
     * @return MessageSource
     */
    @Bean(name = "messageSource")
    public MessageSource messageSource() {
        ResourceBundleMessageSource resourceBundleMessageSource = new ResourceBundleMessageSource();
        resourceBundleMessageSource.setDefaultEncoding("UTF-8");
        resourceBundleMessageSource.setBasenames("i18n/messages");
        return resourceBundleMessageSource;
    }
}

(2)、在resource目录下i18n文件夹,文件夹下建三个文件,文件名与配置文件中的basename中名称一致,在这里都是messages

message.properties文件内容: 

login.fail = {0} 登陆失败

message_en_US.properties文件内容:

login.fail = {0} login fail

message_zh_CN.properties文件内容:

login.fail = {0} 登陆失败

(3)、测试

@RequestMapping("/hello")
@RestController
public class I18nController {

    @Autowired
    private MessageSource messageSource;

   @GetMapping
   public String msg(){
            String stringMsg1 = messageSource.getMessage("login.fail",new Object[]{username},Locale.CHINA);
            String stringMsg2 = messageSource.getMessage("login.fail",new Object[]{username},Locale.US);
            System.out.println("stringMsg1---"+stringMsg1 +"\n" + "stringMsg2---"+stringMsg2);
            //Locale locale = LocaleContextHolder.getLocale();
            //String message = messageSource.getMessage("login.fail", new Object[]{username}, locale);
         
   }
}

stringMsg1---admin 登陆失败
stringMsg2---admin login fail

二、添加一些工具类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/959032.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOs8安装jdk

这里使用yum的方式安装jdk 卸载 如果有jdk的话&#xff0c;先卸载&#xff0c;卸载操作&#xff1a;https://blog.csdn.net/a3562323/article/details/107468828 安装 查看可安装的jdk相关版本 yum list java*安装 我这里装的是jdk11 yum install -y java-11-openjdk.x8…

ArcGIS Maps SDK for JavaScript(一):概述与使用

文章目录 1 概述2 如何使用ArcGIS Maps SDK for JavaScript2.1 AMD 模块与 ES 模块2.2 AMD 模块和 ES 模块比较 3 几种安装方式3.1 通过 ArcGIS CDN 获取 AMD 模块3.2 通过 NPM 运行 ES 模块3.3 通过 CDN 获取 ES 模块3.4 本地构建 ES3.5 本地构建 AMD 3 VSCode下载与安装2.1 下…

澳洲留学: 学签将改革移民倾向不再是拒签理由!

目录 1. 澳洲留学: 学签将改革移民倾向不再是拒签理由! 2. GMAT考试: 新版GMAT考试8月29日正式开放报名! AP 学科考试报名时间轴公布 或许native speaker使用的英语没有想象中的那么难 如果有人不相信你&#xff0c;而你想让他们相信你&#xff0c;你需要表现出不可否认…

基于java+springboot+vue的点餐平台网站-lw-源码

​ 系统介绍&#xff1a; 随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多商家的之中&#xff0c;随之就产生了“点餐平台网站”&#xff0c;这样就让点餐平台网站更加方便简单。 对于本点餐平台网站的设计来说…

【LeetCode】《LeetCode 101》第十二章:字符串

文章目录 12.1 字符串比较242 . 有效的字母异位词&#xff08;简单&#xff09;205. 同构字符串&#xff08;简单&#xff09;647. 回文子串&#xff08;中等&#xff09;696 . 计数二进制子串&#xff08;简单&#xff09; 12.2 字符串理解224. 基本计算器&#xff08;困难&am…

秋天露营怎么能少得了投影仪,极米Z7X见证你的每一个幸福时刻

秋高气爽&#xff0c;正是露营好时候。作为一种休闲娱乐的方式&#xff0c;露营近年来颇受年轻人喜爱。闲暇之余&#xff0c;约上三五好友&#xff0c;亦可情侣二人&#xff0c;带上野餐烧烤食材&#xff0c;到一处能够放飞自我的大自然中&#xff0c;欣赏风光美景&#xff0c;…

Python Qt学习(八)Treeview

源代码&#xff1a; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_treeview.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not…

乙酰六肽-49——治疗敏感肌肤

简介 敏感性皮肤&#xff08;sensitive skin&#xff09;和“皮肤过敏”是两个不同的概念&#xff0c;皮肤过敏是一种变态反应&#xff0c;由变应原进入机体后&#xff0c;促使机体产生相应的抗体&#xff0c;引发抗原抗体反应&#xff0c;表现为红斑、丘疹、风团等临床客观体…

软件定义网络:重新定义云计算网络架构

文章目录 软件定义网络的基本概念软件定义网络的工作原理软件定义网络在云计算中的应用与优势示例&#xff1a;软件定义网络配置未来发展和挑战结论 &#x1f389;欢迎来到AIGC人工智能专栏~软件定义网络&#xff1a;重新定义云计算网络架构 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&a…

广告宣传片策划的团队分工

一个优秀的广告宣传片制作团队能够结合创意、技术和项目管理能力&#xff0c;为客户提供高质量的宣传片制作服务。在广告宣传片的策划过程中&#xff0c;通常需要共同合作。深圳广告宣传片制作公司老友记小编还为您整理以下常见的广告宣传片策划团队的分工概述&#xff1a; 1.…

做CRM客户管理系统前要分析哪些数据?

01 做CRM客户管理系统前要分析哪些数据&#xff1f; “数据是21世纪的石油” 进行数据分析是做crm至关重要的步骤&#xff0c;根据我们团队的多年经验&#xff0c;本文总结出了两个需要重点考虑的方面&#xff1a; 1、客户基本信息 包括客户的基本档案、经营状况、客户特征…

如何有效防止服务器被攻击?

随着互联网的快速发展&#xff0c;服务器安全问题日益引起人们的关注。近期&#xff0c;全球范围内频繁发生的服务器攻击事件引发了广泛关注。为了保护企业和个人的数据安全&#xff0c;有效防止服务器被攻击已成为迫在眉睫的任务。 首先&#xff0c;及时更新服务器的操作系统和…

电子学会 2023年5月 青少年软件编程Python编程等级考试三级真题解析(选择题+判断题+编程题)

青少年编程Python编程等级考试三级真题解析(选择题+判断题+编程题) 2023年5月 一、选择题(共25题,共50分) 请选择,下面代码运行之后的结果是?( ) a = 2 b = 4 try:c = a * bprint(c) except:print

实战黑马苍穹外卖项目8.1-10.1

文章目录 软件开发的基本流程用户层网关层应用层数据层工具 数据库设计导入准备好的前端和后端工程基础工程代码分析完成员工功能完成菜品功能入门Redis实现店铺营业HttpClient微信小程序开发缓存Spring Cache实现地址功能用户下单实现订单推送状态apache对应的工具使用项目用到…

Python连接SQLite数据库基础教程

SQLite是一种轻量级的嵌入式数据库&#xff0c;常用于小型项目和移动应用程序。Python提供了内置的sqlite3模块&#xff0c;可以方便地连接和操作SQLite数据库。本文将介绍如何使用Python连接SQLite数据库&#xff0c;并进行基本的数据操作。 安装SQLite和sqlite3模块 首先&a…

技术实践|Hive数据迁移干货分享

导语 Hive是基于Hadoop构建的一套数据仓库分析系统&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供完整的SQL查询功能。它的优点是可以通过类SQL语句快速实现简单的MapReduce统计&#xff0c;不用再开发专门的MapReduce应用程序&#xff0c;从而降低…

如何使用CRM系统进行精细化管理客户?

客户是企业的生命线&#xff0c;对客户进行精细化管理&#xff0c;是提高企业收益的关键。那么&#xff0c;如何进行客户管理&#xff1f;CRM系统可以实现精细化管理客户&#xff0c;提升客户的价值。下面我们就来详细说一说。 1、获取客户信息 Zoho CRM系统可以通过web表单、…

二叉树题目:二叉树的右视图

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;二叉树的右视图 出处&#xff1a;199. 二叉树的右视图 难度 4 级 题目描述 要求 给定二叉树的根结点 root \t…

Git Bash 和 Git GUI中文汉化

目录 为什么要中文汉化&#xff1f;Git Bash的汉化Git GUI的汉化 为什么要中文汉化&#xff1f; 看到中文大概能猜出是什么意思&#xff0c;便于使用&#xff0c;特别是Git GUI&#xff0c;中文版的菜单很容易理解是要做什么&#xff0c;如下图&#xff1a; Git Bash的汉化 …

纽扣电池PSE认证检测标准是什么?纽扣电池PSE认证办理机构

中国制造商要申请PSE认证&#xff0c;首先要确定其申请的产品是否在中国质量认证中心(CQC)获得授权受理的认证CE范围内。由于目前CQC获得的授权是基于技术基准2&#xff0c;制造商须选择技术基准2申请PSE认证。确认后制造商可向CQC提出书面申请&#xff0c;并将样品与技术资料提…