国际化方案&枚举类中文国际化处理
国际化方案&枚举类中文国际化处理
枚举类中文国际化处理-改造步骤
spring 配置文件(例:applicationContext.xml)中定义 applicationContextHolder bean(务必确保优先扫描加载此bean)
-
实现I18nEnumTools
-
@Component @DependsOn("I18nApplicationContextHolder") public class I18nEnumTools { public 18nEnumTools() { ApplicationContext applicationContext = ApplicationContextHolder.getApplicationContext(); System.out.println("I18nApplicationContextHolder = " + applicationContext.toString()); } public static String getMessage(String I18nKey, String defaultMessage){ String message = ApplicationContextHolder.getApplicationContext() .getMessage(I18nKey, null, defaultMessage, LocaleContextHolder.getLocale()); return message; } }
改造现有枚举类,针对中文字段xxx添加对应的xxxI18nKey字段
添加或修改中文字段xxx的getter方法
public enum DemoEnum { /* 1.现有枚举值添加对应中文字段的I18nKey */ DEMO_1("姓名1", "测试1", "java.DemoEnum.DEMO_1.xing_ming_1", "java.DemoEnum.DEMO_1.ce_shi_1"), DEMO_2("姓名2", "测试2", "java.DemoEnum.DEMO_2.xing_ming_2", "java.DemoEnum.DEMO_2.ce_shi_2"); private final String name; private final String desc; /* 2.定义字段 */ private final String nameI18nKey; private final String descI18nKey; DemoEnum(String name, String desc, String nameI18nKey, String descI18nKey) { this.name = name; this.desc = desc; /* 3. 构造函数添加对应中文字段的I18nKey */ this.nameBdpI18nKey = nameI18nKey; this.descBdpI18nKey = descI18nKey; } /* 4.使用I18nEnumTools静态方法实现动态获取i18n值 */ public String getDesc() { return I18nEnumTools.getMessage(this.descI18nKey, this.desc); } public String getName() { return I18nEnumTools.getMessage(this.nameI18nKey, this.name); } }
枚举引用处改为对应getter
@RequestMapping("/demo") @ResponseBody public Object i18nDemo(){ HashMap<String, String> result = new HashMap<>(); result.put("demo1.name", DemoEnum.DEMO_1.getName()); result.put("demo1.desc", DemoEnum.DEMO_1.getDesc()); result.put("demo2.name", DemoEnum.DEMO_2.getName()); result.put("demo2.desc", DemoEnum.DEMO_2.getDesc()); return result; }
---------------------------------------------------------------------------
国之殇,未敢忘!
南京大屠杀!
731部队!
(有关书籍《恶魔的饱食》)以及核污染水排海等一系列全无人性的操作,购买他们的食品和为它们提供帮助只会更加变本加厉的害你,呼吁大家不要购买日本相关产品
昭昭前事,惕惕后人
吾辈当自强,方使国不受他人之侮!
---------------------------------------------------------------------------
作者:三号小玩家
出处:https://www.cnblogs.com/q1359720840/
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 版权信息
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2019-04-04 下载安装wps后去除监控
2019-04-04 如何删除一个win10的服务
2019-04-04 多线程09.生产者消费者网络版
2019-04-04 多线程08.生产者消费者单机版
2019-04-04 查看程序死锁
2019-04-04 多线程08.优雅结束线程的三种方式