国际化 ,英文叫 internationalization 单词太长 ,又被简称为 i18n(取头取尾中间有18个字母)不经大声呼喊 ,这都行 !接着看什么是国际化 , 国际化是指让产品或是程序在无需做出改变的情况下就能够适应不同语言和地区的需要 。同样是打招呼在中国你会说 “ 你好 ” ,在美国你会说 “ Hello ” ,你看 ,你已经是 i18n 了 。
首先说一下思路:
实现国际化有3大点:
第一:页面常量国际化
定义一个URL拦截器,拦截所有请求。
1.由于我是通过问号传值的方式设置国际化编码格式的,所以首先获取请求参数中lang值,如果有值设置cookie响应到前端
2.如果lang值为空 - > 去cookie中提取lang值,如果找到值 -> 根据语言代码(zh_CN,en_US)+请求的URL 去缓存里面取值(如果没找到数据就去数据库取数据,把该数据存缓存)-> 返回前端,方法结束
如果没找到值 -> 请求头里取一个语言代码(zh_CN,en_US)-> 根据语言代码(zh_CN,en_US)+请求的URL 去缓存里面取值(如果没找到数据就去数据库取数据,把该数据存缓存) -> 返回前端,方法结束
如果lang值不为空 -> 根据语言代码(zh_CN,en_US)+请求的URL 去缓存里面取值(如果没找到数据就去数据库取数据,把该数据存缓存) ->