当前位置: 首页 > news >正文

Spring Boot实现国际化

src\main\resources\i18n\messages_zh_CN.properties
message.hello=你好,世界!
message.welcome=欢迎!
src/main/resources/i18n/messages_en_US.properties
message.hello=Hello World!
message.welcome=Welcome!
默认语言
src\main\resources\i18n\messages.properties
message.hello=Hello World!
message.welcome=Welcome!

config

@Configuration
public class WebConfig implements WebMvcConfigurer {@Beanpublic LocaleResolver localeResolver() {SessionLocaleResolver slr = new SessionLocaleResolver();// 默认语言设置为英文slr.setDefaultLocale(Locale.US);//ENGLISHreturn slr;}// 如果还需要拦截器来处理locale切换请求@Overridepublic void addInterceptors(InterceptorRegistry registry) {LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();interceptor.setParamName("lang");registry.addInterceptor(interceptor);}
}

controller

@Autowiredprivate MessageSource messageSource;@GetMapping("/switch-language")public String switchLanguage(@RequestParam("lang") String lang, HttpServletRequest request) {request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, new Locale(lang));return "redirect:/";}@GetMapping("/")public String home(Model model) {Locale locale = LocaleContextHolder.getLocale();model.addAttribute("helloMessage", messageSource.getMessage("message.hello", null, locale));model.addAttribute("welcomeMessage", messageSource.getMessage("message.welcome", null, locale));return "home";}

在Thymeleaf模板中引用国际化消息:

<!-- home.html -->
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>Internationalization Example</title>
</head>
<body><h1 th:text="#{message.hello}"></h1><p th:text="#{message.welcome}"></p><a th:href="@{/switch-language?lang=en_US}" th:text="English">English</a><a th:href="@{/switch-language?lang=zh_CN}" th:text="中文">中文</a>
</body>
</html>
来切换语言
switch-language?lang=zh_CN
switch-language?lang=en_US

相关文章:

Spring Boot实现国际化

src\main\resources\i18n\messages_zh_CN.properties message.hello你好&#xff0c;世界&#xff01; message.welcome欢迎&#xff01; src/main/resources/i18n/messages_en_US.properties message.helloHello World! message.welcomeWelcome! 默认语言 src\main\resources\…...

面试题之ElasticSearch

面试题之ElasticSearch 1.es的基础知识2. es的集群、节点、分片、副本分片的定义&#xff1f;3. es为什么快&#xff1f;4. 倒排索引的原理是什么&#xff1f;5. es的segment是什么&#xff1f;6. es的分段存储和分段索引的概念及区别&#xff1f;7. 索引相关的问题&#xff1f…...

第10章 通信业务

文章目录 10.1.1 通信行业1、通信行业的界定2、通信行业的特点 10.1.2 通信企业10.1.3 通信终端1、通信终端的分类2、终端发展趋势 10.2.1 通信业务的定义及分类10.2.2 基础电信业务1、第一类基础电信业务A11 固定通信业务A12 蜂窝移动通信业务A13 第一类卫星通信业务A14 第一类…...

c++ 指针的安全问题

指针是一个强大的工具&#xff0c;但它们可能导致多种安全问题。接下来我们一起研究一下会出现的安全问题。欢迎大家补充说明&#xff01;&#xff01;&#xff01; 悬挂指针&#xff08;也称为悬空指针或迷途指针&#xff09; 是指向一块已经释放或无效内存的指针。悬挂指针…...

高质量训练数据助力大语言模型摆脱数据困境 | 景联文科技

目前&#xff0c;大语言模型的发展已经取得了显著的成果&#xff0c;如OpenAI的GPT系列模型、谷歌的BERT模型、百度的文心一言模型等。这些模型在文本生成、问答系统、对话生成、情感分析、摘要生成等方面都表现出了强大的能力&#xff0c;为自然语言处理领域带来了新的突破。 …...

elasticsearch查询

&#xff08;1&#xff09;简单查询 curl -XGET http://127.0.0.1:9201/_search curl -XGET http://127.0.0.1:9201/test231208/_search curl -XGET http://127.0.0.1:9201/test231208/_doc/_search curl -XGET http://127.0.0.1:9201/test231208/_doc/id &#xff08;2&…...

Vue + JS + tauri 开发一个简单的PC端桌面应用程序

Vue JS tauri 开发一个简单的PC端桌面应用程序 文章目录 Vue JS tauri 开发一个简单的PC端桌面应用程序1. 环境准备1.1 安装 Microsoft Visual Studio C 生成工具[^2]1.2 安装 Rust[^3] 2. 使用 vite 打包工具创建一个 vue 应用2.1 使用Vite创建前端Vue项目2.2 更改Vite打包…...

7.5 MySQL对数据的增改删操作(❤❤❤)

7.5 MySQL对数据的基本操作 1. 提要2. 数据添加2.1 insert语法2.2 insert 子查询2.3 ignore关键字 3. 数据修改3.1 update语句3.2 update表连接 4. 数据删除4.1 delete语句4.2 delete表连接4.3 快速删除数据表全部数据 1. 提要 2. 数据添加 2.1 insert语法 2.2 insert 子查询 …...

kibana查看和展示es数据

本文来说下使用kibana查看和展示es数据 文章目录 数据准备查询所有文档示例kibana查看和展示es数据 数据准备 可以使用es的命令或者java程序来往&#xff0c;es进行新增数据 查询所有文档示例 在 apifox 中&#xff0c;向 ES 服务器发 GET请求 &#xff1a;http://localhost:92…...

若依修改侧边栏

引用&#xff1a;https://blog.csdn.net/Sabrina_cc/article/details/125871591 子菜单选中后&#xff0c;文字和背景改变&#xff1a; .el-submenu__title i{color: #e8e8e8 !important;} #app .sidebar-container .theme-dark .nest-menu .el-submenu .is-active > .el-su…...

Linux篇之Centos中将系统时间设置为本地时间

要在 CentOS 上将系统时间设置为本地时间&#xff0c;可以按照以下步骤进行操作&#xff1a; 1.首先&#xff0c;你需要确定你想要设置的本地时间。例如&#xff0c;如果你想要将系统时间设置为当前时间&#xff08;假设是北京时间&#xff09;&#xff0c;则可以使用以下命令获…...

翼龙-2H无人机

一、概述 翼龙-2&#xff0c;是成都飞机工业集团研制的无人驾驶飞行器&#xff0c;是空中侦察、精确打击和应急通讯的平台。成都飞机工业集团于2015年9月的北京国际航空航天展览会上介绍了翼龙-2的概念。在2016年珠海航展期间&#xff0c;翼龙-2的原型机首次向公众展示。 因为…...

解析Transformer模型

原文地址&#xff1a;https://zhanghan.xyz/posts/17281/ 进入Transformer RNN很难处理冗长的文本序列&#xff0c;且很容易受到所谓梯度消失/爆炸的问题。RNN是按顺序处理单词的&#xff0c;所以很难并行化。 用一句话总结Transformer&#xff1a;当一个扩展性极佳的模型和一…...

【深度学习】RTX2060 2080如何安装CUDA,如何使用onnx runtime

文章目录 如何在Python环境下配置RTX 2060与CUDA 101. 安装最新的NVIDIA显卡驱动2. 使用conda安装CUDA Toolkit3. 验证onnxruntime与CUDA版本4. 验证ONNX需求版本5. 安装ONNX与onnxruntime6. 编写ONNX推理代码 如何在Python环境下配置RTX 2060与CUDA 10 RTX 2060虽然是一款较早…...

力扣刷MySQL-第二弹(详细解析)

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;力扣刷题讲解-MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出…...

LiveGBS流媒体平台GB/T28181功能-基础配置接入控制白名单黑名单配置控制设备安全接入设备单独配置接入密码

LiveGBS基础配置接入控制白名单黑名单配置控制设备安全接入设备单独配置接入密码 1、白名单配置应用场景2、接入控制2.1、白名单2.2、黑名单 3、搭建GB28181视频直播平台 1、白名单配置应用场景 LiveGBS国标流媒体服务&#xff0c;支持白名单配置。 可在设备注册前&#xff0…...

企业网站建站源码系统:Thinkphp5内核企业网站建站模板源码 带完整的安装代码包以及搭建教程

随着互联网的快速发展&#xff0c;企业对于网站的需求日益增强。为了满足这一市场需求&#xff0c;小编给大家分享一款基于Thinkphp5内核的企业网站建站源码系统。该系统旨在为企业提供一套功能强大、易于使用的网站建设解决方案&#xff0c;帮助企业快速搭建自己的官方网站&am…...

SC20-EVB ubuntu14.04 Andriod 5.1 SDK编译下载

1.ubuntu14.04安装环境配置 vi /etc/profile to add export JAVA_HOME/usr/lib/jvm/java-7-openjdk-amd64 export JRE_HOME J A V A H O M E / j r e e x p o r t C L A S S P A T H . : {JAVA_HOME}/jre export CLASSPATH.: JAVAH​OME/jreexportCLASSPATH.:{JAVA_HOME}/lib…...

OpenCV——图像按位运算

目录 一、算法概述1、逻辑运算2、函数解析3、用途 二、代码实现三、结果展示 OpenCV——图像按位运算由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、算法概述 1、逻辑运算 OpenCV4 针对两个图像之…...

5 个被低估的开源项目

文章目录 1.集算器 -数据处理2. Firecamp - 邮递员替代方案3.Keploy——后端 测试4. Hanko - 密钥验证5. Zrok - Ngrok 类固醇 长话短说 本文列出了五个不太受欢迎的优秀项目&#xff0c;您应该尝试一下。&#x1f525; 这些工具旨在改进数据处理、API 开发、后端测试、身份验…...

【限时解密】:OpenAI DevDay未公布的Agent Runtime协议草案V2.1——它正悄然定义下一代智能体互操作标准

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;AI Agent智能体未来趋势 AI Agent正从单一任务执行者演变为具备自主目标分解、跨工具协同与持续环境反馈的类人智能体。其发展不再局限于模型规模扩张&#xff0c;而转向认知架构升级、可信机制构建与人机协作…...

JMeter分布式压测原理与高可用集群搭建实战

1. 为什么单台JMeter跑不出真实流量——分布式压测不是“加机器”那么简单 你有没有试过用Jmeter对一个新上线的订单服务做压测&#xff0c;本地配了200个线程&#xff0c;结果TPS卡在80就上不去了&#xff0c;CPU才用了35%&#xff0c;网络IO几乎为零&#xff1f;我第一次遇到…...

Unity URP中_Material Stencil属性报错的四层根因与修复

1. 这个报错不是材质没写对&#xff0c;而是渲染管线在“敲门问权限” 刚在Unity 2021.3 LTS项目里切完URP&#xff08;Universal Render Pipeline&#xff09;后打包iOS&#xff0c;突然弹出一行红字&#xff1a; Material xxx doesnt have _Stencil property 。我第一反应是…...

终极游戏模组管理指南:Nexus Mods App如何让你轻松玩转模组世界

终极游戏模组管理指南&#xff1a;Nexus Mods App如何让你轻松玩转模组世界 【免费下载链接】NexusMods.App Home of the development of the Nexus Mods App 项目地址: https://gitcode.com/gh_mirrors/ne/NexusMods.App 厌倦了手动安装模组时的各种冲突和兼容性问题&a…...

告别MCUXpresso IDE:手把手教你用VSCode + CMake + Ninja搭建NXP MCU开发环境(附SDK离线配置避坑指南)

告别MCUXpresso IDE&#xff1a;手把手教你用VSCode CMake Ninja搭建NXP MCU开发环境&#xff08;附SDK离线配置避坑指南&#xff09; 嵌入式开发者常年在资源受限的环境中工作&#xff0c;却不得不忍受传统IDE的资源挥霍。当MCUXpresso IDE占用2GB内存只为编辑一个头文件时&…...

惠普OMEN游戏本性能解放终极指南:OmenSuperHub完全使用教程

惠普OMEN游戏本性能解放终极指南&#xff1a;OmenSuperHub完全使用教程 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为官方Omen Gaming Hub的臃肿和…...

Nodejs开发者三步搞定Taotoken接入并实现异步聊天对话功能

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Nodejs开发者三步搞定Taotoken接入并实现异步聊天对话功能 对于Node.js开发者而言&#xff0c;将大模型能力集成到应用中的第一步&…...

5大核心功能深度解析:如何用wvp-GB28181-pro构建企业级视频监控系统

5大核心功能深度解析&#xff1a;如何用wvp-GB28181-pro构建企业级视频监控系统 【免费下载链接】wvp-GB28181-pro 基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面&#xff0c;支持NAT穿透&#xff0c;支持海康、大华、宇视等品牌的IPC、…...

HAMi:面向云原生AI基础设施的异构计算统一管理平台

HAMi&#xff1a;面向云原生AI基础设施的异构计算统一管理平台 【免费下载链接】HAMi Heterogeneous GPU Sharing on Kubernetes 项目地址: https://gitcode.com/GitHub_Trending/ha/HAMi 随着AI工作负载在Kubernetes集群中的大规模部署&#xff0c;异构计算资源管理已成…...

Spingboot企业员工信息管理系统—免费毕设源码分享28210

摘要本论文介绍了基于Spring Boot框架开发的“传奇今生企业员工信息管理系统”。系统提高企业人力资源管理的效率和精确度&#xff0c;通过数字化手段优化员工信息管理流程&#xff0c;提升企业管理水平。系统分为用户端和管理员端&#xff0c;提供了丰富的功能模块。用户端功能…...