# Myi18n **Repository Path**: nice_boy/myi18n ## Basic Information - **Project Name**: Myi18n - **Description**: 主要是针对前后端分离场景国际化系统设计; 亮点:动态国际化配置、可维护性、国际化数据池化(性能高)、后端数据内容动态国际化、提供前台动态国际化、异常处理国际化 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2022-07-07 - **Last Updated**: 2022-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Java 前后端国际化设计方案(大型项目适用) #### 介绍 主要是针对前后端分离场景国际化系统设计; 亮点: 1.动态国际化配置 2.可维护性 3.国际化数据池化(性能高) 4.后端数据内容动态国际化 5.提供前台动态国际化数据 6.后台异常国际化处理 7.可动态添加国际化的语种 8.国际化配置集中到数据库中进行管理,包含前端部分国际化 #### 软件架构 使用Spring Boot+Mybaits+Mysql+Redis来构建这个国际化Demo项目 #### 设计思路 1. 利用自定义注解来启用国际化,拦截所有返回请求进行处理 2. 大数据量处理使用多线程并行处理 3. 国际化数据保存在 Redis 中视为热点数据 4. 使用手动刷新方式,保证无缝刷新缓存 5. 国际化部分数据以 Json 形式来保存,保证扩展性 6. 各语种以配置的形式保存,必要可添加语种 7. 需要多语言切换的数据全部以占位符代替,通过自定义注解统一替换 8. 当前语言环境通过前端带在请求头里给后端,后端默认为中文 9. 对标识符国际化内容进行数据池化处理 #### 项目展示 #### 1. 后端内容国际化 ![查询商品信息英文](https://images.gitee.com/uploads/images/2021/1121/205206_1ff9b8cb_5562811.png "屏幕截图.png") ![查询商品信息默认](https://images.gitee.com/uploads/images/2021/1121/205250_5af804ab_5562811.png "屏幕截图.png") #### 2. 前端请求国际化数据 ![前端查询模块中国际化数据](https://images.gitee.com/uploads/images/2021/1121/205527_cbf44ffa_5562811.png "屏幕截图.png") ![前端单个标识符查询](https://images.gitee.com/uploads/images/2021/1121/205743_0a6d9689_5562811.png "屏幕截图.png") #### 3. 异常国际化 ![异常国际化处理后](https://images.gitee.com/uploads/images/2021/1121/210203_6530b100_5562811.png "屏幕截图.png") ![异常国际化使用](https://images.gitee.com/uploads/images/2021/1121/210055_657f2e53_5562811.png "屏幕截图.png") ![异常枚举标识符](https://images.gitee.com/uploads/images/2021/1121/210255_3c0d1a71_5562811.png "屏幕截图.png")