Locale的手动切换

Spring Boot 基础学习之(五)页面通过自定义LocaleResolver组件实现网页页面的的中英文转换 国际化页面,通过spring boot实现前后端交互,实现浏览器翻译功能 阅读详情
 
  • localeResolver要用CookieLocaleResolver而不是AcceptHeaderLocaleResolver,若是后者则会抛出异常:
    throw new UnsupportedOperationException(”Cannot change HTTP accept header - use a different locale resolution strategy”);
  • message.properties是不能被作为默认或是英文识别的,资源文件必须加上_en或_zh之类的后缀,如message_en.properties和message_zh.properties

你可以使用LocaleChangeInterceptor修改本地化信息。这个拦截器需要被添加到处理器映射中(参考第 14.4 节 “处理器映射(handler mapping)”)。它可以侦测请求中某个特定的参数,然后调用上下文中的LocaleResolver中的 setLocale()方法,相应地修改本地化信息。

<bean id="localeChangeInterceptor"
      class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    <property name="paramName" value="siteLanguage"/>
</bean>

<bean id="localeResolver"
      class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>

<bean id="urlMapping"
      class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="interceptors">
        <list>
            <ref bean="localeChangeInterceptor"/>
        </list>
    </property>
    <property name="mappings">
        <value>/**/*.view=someController</value>
    </property>
</bean>

在上面这个例子中,所有对*.view资源的请求,只要包含参数siteLanguage,都会改变本地化信息。比如下面这个请求http://www.sf.net/home.view?siteLanguage=nl会将网站语言修改为荷兰语。

SpringMVC——国际化LocaleResolver 认识国际化 一、国际化开发概述   软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化(internationalization)又称为i18n(读法为i 18 n,据说是因为internationalization(国际化)这个单词从i到n之间有18个英文字母,i18n的名字由此而来) 二、合格的国际化软件   软件实现国际化,...... 阅读详情

相关推荐

VSCode与Cursor中文设置教程:语言包与locale切换全攻略

VSCode默认只含英文界面,多语言支持通过扩展语言包实现,而locale配置才是切换显示语言的关键。理解语言包与locale的分工,是解决汉化问题的核心。安装官方中文语言包后,通过Configure Display Language命令或修改locale.json即可完成切换。这一机制同样适用于Cursor、Windsurf、Trae等基于VSCode内核的编辑器。针对更新后界面回退英文、离线环境安装语言包等常见场景,可结合VSIX安装、--locale参数等方案处理。掌握vscode汉化与cursor中

weixin_33521678的博客 492

LocaleResolver讲解

SpringMVC国际化绕不开的话题是LocaleResolver。第一次接触LocaleResolver时,对这个类的作用不是很清楚。所以,这次特别写篇文章,记录下学习心得。 SpringMVC默认提供了四种实现了接口的类:CookieLocaleResolver, AcceptHeaderLocalResolver,FixdLocaleResolver,SessionLocaleResolver。结构图如下所示: LocaleResolver的主要作用: 解析Request中的语言标志参数或者head中

zhengjihao的博客 8063

iOS本地化货币符号显示不正确(显示为XXX)的解决

在App切换本地语言时,其IAP中的产品价格里的货币符号显示不正确. 如上图所示,除了最右边英语的货币符号正确外,其他所有的都不对。 实际上,App中除了英语以外,包括中文,日文,韩文,德文等在内的多种语言货币符号都不正确,它们大多都显示为"XXX"。 那么,这是什么原因造成的又如何解决呢? 别急,下面就让我们 Let's GO!;)

享受开发,颠倒银河 2234

springboot 国际化处理

spring 环境下 spring-context-5.2.14.RELEASE.jar 中,已有i18n相关依赖在请求到来时,获取用户设置的语言环境,并将该环境设置进上下文后续需要国际化的地方,使用MessageSource,根据key进行信息获取请求结束后,对上下文环境进行reset。

weixin_45121446的博客 3235

springboot 自定义LocaleResolver实现切换语言

我们在做项目的时候,往往有很多项目需要根据用户的需要来切换不同的语言,使用国际化就可以轻松解决。这篇文章主要介绍了springboot 自定义LocaleResolver切换语言,需要的朋友可以参考下

fdtd(时域有限差分)仿真

基础入门阶段采用 Step by step 的教学方式带着做具体的案例,在案例中学习 FDTD 应用的。的痛难点,将 FDTD 仿真引入实验当中,通过软件可视化处理有效直观的展示仿真的流程,与实验数。图像传感器,OLED 和液晶,表面计量,表面等离子体,石墨烯,太阳能电池,集成光子组件,超材。料,衍射光学和光子晶体。波,场极化,磁场,周期性结构,半球功率积分等设计解决方案,提供时域有限差分分析函数,时域。子光学传感器、热电子光探测器的光学特性研究、光学微腔宽带吸收器等多个方向的研究方法。

y2715163545的博客 5433

java编写一个可切换的界面_java web 项目实现手动中英文切换

Java程序的国际化主要通过如下3个类完成Java.util.ResourceBundle:用于加载资源包Java.util.Locale:对应一个特定的国家/地区、语言环境Java.text.MessageFormat:用于将消息格式化资源文件为了实现程序的国际化,必须先提供程序所需要的资源文件。资源文件的内容是很多的key-value对,其中key是程序使用的部分,而value是程序的显示部分...

weixin_35947010的博客 1825

Python手记-9:Python LXML库XPath的爬取晋江书目

1. lxml库 lxml是功能最丰富且易于使用的库,用于处理Python语言中的XML和HTML,还可实现WEB爬取,官文参考:https://lxml.de/,完整的PDF文档下载链接https://lxml.de/lxmldoc-4.5.0.pdf,但是阅读起来……em……怪自己不够聪明的样子。 Linux下安装lxml库:[root@chengyu ~]# pip3 instal...

成屿的专栏 4万+

如何用程序切换网页显示的语言

ChangeLanguageAction        String lan = request.getParameter("lan");        if(lan != null && lan.equals("zh")){            //把当前系统的语言切换为中文            request.getSession().setAttribute(Gl

youngtwu的专栏 789

TensorFlow_PyTorch实战:构建AI人工智能回归模型

回归分析是机器学习的核心任务之一,用于预测连续型目标变量(如房价、股票价格、用户留存时间等)。基础线性回归模型的数学原理与代码实现多项式回归模型的过拟合处理与正则化技巧自定义数据集加载与数据预处理流程动态图(PyTorch)与静态图(TensorFlow)的编程范式对比模型评估指标与可视化分析方法核心概念:对比两大框架的架构设计,解析回归模型核心组件数学原理:推导线性回归的假设函数、损失函数及优化算法算法实现:提供TensorFlow和PyTorch的完整代码示例项目实战。

AI天才研究院 1429

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

openlayers:实现在连续更改时间维度时如何平滑地重新加载层 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 347

struts国际化手动切换

当页面请求时,把本地信息(主要为Accept-Language: en-US,zh-cn;q=0.5)传递给tomcat,struts从tomcat中获取本地信息,struts把每一个要请求的用户的local放到session中,根据session的信息来调用国际化资源文件。 我们可以手动来构造local信息并把它放到struts的session中,这样就可以手动切换页面编码方式。 如:在某个...

JaHunter1的专栏 203

Monorepo与pnpm:前端项目管理的完美搭档

pnpm又称 performant npm,翻译过来就是高性能的npm。Monorepo是一种项目开发与管理的策略模式,它代表"单一代码仓库"(Monolithic Repository)。在Monorepo模式中,所有相关的项目和组件都被存储在一个统一的代码仓库中,而不是分散在多个独立的代码仓库中,这些项目之间还可能会有依赖关系。

m0_68271787的博客 2562

NetBeans语言界面切换方法

NetBeans语言界面切换方法     测试环境:Windows xp pro sp2 英文版(non-Unicode为中文)、NetBeans IDE 6.8    日期:2010-04-04     NetBeans IDE的语言界面是根据系统设置,自动加载默认的语言界面。比如【Control Panel】->【Regional and Language Option

ohmoonho的专栏 5354

基于树莓派4B设计的厨房环境监测系统_368

本项目设计并实现了一种基于树莓派4B的厨房环境监测系统,提升厨房使用过程中的安全性与智能化水平。系统采用树莓派4B作为主控核心,集成DHT11温湿度传感器、MQ2烟雾传感器、火焰传感器、光敏传感器、水滴检测传感器等多种传感器,实现对厨房环境温湿度、烟雾、火焰、光照与溢水等参数的实时监测,并通过蜂鸣器进行本地报警。系统通过WIFI连接互联网,利用MQTT协议将环境数据上传至华为云物联网平台,实现远程可视化监控。

415

手把手教你学Simulink——基于Simulink的电压型 vs 电流型整流器性能对比

摘要:本文基于Simulink平台对比分析了电压型整流器(VSR)和电流型整流器(CSR)的性能差异。VSR采用电容滤波,具有高功率因数(PF>0.99)、低输入电流THD(<3%)等优势,但动态响应较慢;CSR采用电感滤波,动态响应快(<0.05s),但THD较高(5%~8%)。研究建立了统一测试平台,详细对比了两者在稳态性能、动态响应、效率等方面的差异,并给出了控制算法实现和参数优化建议。通过量化分析,为电力电子工程师提供了拓扑选型依据,可根据恒压/恒流需求选择最优方案,有效缩短开发周

MHD0815的博客 172

android 监听系统语言变化,Android编程实现获取当前系统语言及地区并更改语言的方法...

搜索热词本文实例讲述了Android编程实现获取当前系统语言及地区并更改语言的方法。分享给大家供大家参考,具体如下:如果想获取手机的当前系统语言,可以通过Locale类获取,主要方法:Locale.getDefault().getLanguage()返回的是es或者zh;通过Locale.getDefault().getCountry()获取当前国家或地区,返回为CN或US;如果当前手机设置为中文...

weixin_26711801的博客 686

堆一呼一吸之间:动态扩缩容引发JVM堆内存震荡的伸缩算法、代际传导与容器定容解析

Kubernetes扩容后,新Java实例的GC频率常比老实例高出数倍,堆容量反复伸缩。本文从一次支付系统的GC陡增出发,结合HotSpot源码与JDK 8实测,拆解堆伸缩的记账规则:期望容量以GC后已用量为基数、以Xms为下限,按空闲比例判断扩缩,收缩只在老年代回收后按0%、10%、40%、100%步进;再剖析年轻代随老年代联动、晋升风暴与元空间触发线,对比Parallel、G1、ZGC等收集器及JDK 26的变化,讨论容器分账、HPA共振与原地扩缩容,最后给出分级定容、预热与监控的方案。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 15万+

ARIA 多语言设置指南:3 步切换界面语言,附 locale 参数改法与踩坑急救

Aria 是一款主打简单高效的下载工具,内置完善的 ARIA 多语言设置支持:中文(简体/繁体)、英语、日语、韩语等主流语言开箱即用。想给 Aria 切换界面语言?最顺的路径是图形界面 3 步搞定;偏好手动改配置的老手,也可以直接动 locale 参数。 ## 多语言能给你带来什么 想象一下:深夜挂机下载,满屏英文按钮,连"暂停"在哪都要靠猜。把 ARIA 切换界面语言调成你熟悉的母语后,每个

gitblog_00992的博客 209

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VScode设置语言改为简体中文和切换VScode界面的显示语言

本文介绍了如何将VS Code界面语言切换为简体中文的方法。首先需安装中文语言包:在插件栏搜索"Chinese(Simplified)"并安装,重启后即可生效。此外,文章还说明了如何通过命令面板切换已安装的语言包,以及直接修改argv.json配置文件的方法。文末提供了常用语言的区域代码对照表,包含英语、简体中文、繁体中文等多种语言选项。安装语言包后,用户可根据需要随时切换界面显示语言。

lxttzlove的博客 1769

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Android 国际化之多语言切换

前言android的国际化很简单,大家都知道创建对应国家编码的values文件夹就好啦。可是很多人不知道如何手动切换app的语言,而不是只能跟随系统语言变化,下面就介绍一下啦!直接贴代码吧/** * 设置当前语言 * * @param language */ private void setLanguage(String language) {

xinyang_code的博客 4540

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

yargs多语言切换终极指南:动态locale与运行时切换技巧

yargs是现代Node.js命令行工具开发的强大框架,它内置了完整的**多语言国际化支持**,让您的CLI应用能够轻松支持全球用户。无论您是要为中文用户提供本地化体验,还是需要支持海盗语这样的趣味语言,yargs都能满足您的需求。🎯 ## 📦 yargs多语言支持概览 yargs提供了26种内置语言支持,覆盖了全球主要语种: - **中文支持**:简体中文 (`zh_CN`) 和繁体中

gitblog_00007的博客 498

获得android当前的系统语言并且修改

如果想获取手机的当前系统语言,可以通过Locale类获取,主要方法:Locale.getDefault().getLanguage(),返回的是es或者zh;通过Locale.getDefault().getCountry()获取当前国家或地区,返回为CN或US;如果当前手机设置为中文-中国,则使用此方法返回zh-CN,同理可得到其他语言与地区的信息。 1.首先,如果要程序自动适

HelloApk---H4cker 1444

手把手教你在VS Code中切换中文界面(2024最新方案)

刚接触VS Code的新手可能会被满屏的英文吓到(别问我怎么知道的😭),其实微软早就为我们准备了贴心的中文语言包!设置中文后,菜单栏、命令面板都会变成亲切的母语,特别是调试时看到中文错误提示,效率直接翻倍啊朋友们!的「Chinese (Simplified) Language Pack for Visual Studio Code」(带蓝勾认证的那个)某些插件(比如Python扩展)的汉化需要单独设置,和VS Code本体无关哦~(Mac),这个快捷键一定要刻进DNA里!(重要提示:修改前建议备份原文件!

kernelguru的博客 1万+

android语言国际化(最高适配Android31)

Android APP语言国际化处理,支持手动切换APP系统语言,支持跟随手机系统切换APP语言,最高适配android sdk 31

暴走哥丶AS 3434
上一篇: spring中连接池的配置
下一篇: 手动设置Locale
hjpengjava
博客等级 码龄18年 5粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值