介绍
主要是针对前后端分离场景国际化系统设计;
亮点:
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.国际化配置表(后台数据国际化可以使用UUID为标识(label))
![](https://img-blog.csdnimg.cn/95cc458334c84a2fbde2776c5071539f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
2.商品表(可以选择性对数据进行国际化处理)
![](https://img-blog.csdnimg.cn/c4aeb6ae87cb4848bf1257d3715a3163.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
3.商品类型表
![](https://img-blog.csdnimg.cn/1a06aadfeedf433ba69ca3a6eb3aa323.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_15,color_FFFFFF,t_70,g_se,x_16)
项目展示
1. 后端内容国际化
![](https://img-blog.csdnimg.cn/ec31436dab1d49cb927c645a9ddf06d3.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/d59164f2844641c48147ff0ba1f6d25a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
2. 前端请求国际化数据
![](https://img-blog.csdnimg.cn/7dc06aae88574ebe871d094db09533c3.webp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/cebc2e5614b3475f85538efccae90c98.webp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
3. 异常国际化![](https://img-blog.csdnimg.cn/42ff29fb85d24ea1b9f24d2aac81386a.webp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/a09436f15e0f4b8cbd6e36f0144de04a.webp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/8706d340e4c94319a36133466afb3852.webp?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6bmP5a2Q55qE5Y2a5a6i,size_20,color_FFFFFF,t_70,g_se,x_16)
我的Gitee地址:Myi18n: 主要是针对前后端分离场景国际化系统设计;亮点:动态国际化配置、可维护性、国际化数据池化(性能高)、后端数据内容动态国际化、提供前台动态国际化、异常处理国际化