1. 概述
应用的国际化,其数据以json格式保存在jpaas_system库sys_app表的CLIENT_NAME_字段里面。
2. 配置文件
其配置文件,沿用菜单国际化的配置文件
3. 前端代码改造
关键代码如下:
import langs from "@/locales/lang";
data() {
return {
langs:langs,
langItems:[],
messages:["zh-CN","en-US"]
}
},
created() {
this.langItems = this.langs[this.$i18n.locale];
},
methods: {
onload_(values){
var nameJson = JSON.parse(values.nameJson);
values['zh-CN'] = nameJson.['zh-CN'];
values['en-US'] = nameJson.['en-US'];
},
save(values) {
let json = {};
json['zh-CN'] = values['zh-CN'];
json['en-US'] = values['en-US'];
this.$set(values,'clientName',JSON.stringify(json));
}
}
4. 后端代码改造
4.1 获取实体
关键代码如下:
String name = app.getClientName();
try{
JSONObject jo = JSONObject.parseObject(name);
app.setNameJson(jo.toJSONString());
}catch (Exception e){
JSONObject jo = new JSONObject();
jo.put("zh-CN", name);
app.setNameJson(jo.toJSONString());
}
4.2 获取列表
关键代码如下:
if(list != null && list.size() > 0){
for(SysApp app : list){
String name = app.getClientName();
try{
JSONObject jo = JSONObject.parseObject(name);
if(LocaleContextHolder.getLocale().getLanguage().equals("en")){
name = jo.getString("en-US");
}else{
name = jo.getString("zh-CN");
}
app.setClientName(name);
}catch (Exception e){
}
}
}
4.3 获取首页应用列表
关键代码如下:
if(list != null && list.size() > 0){
for(SysApp app : list){
String name = app.getClientName();
try{
JSONObject jo = JSONObject.parseObject(name);
if(LocaleContextHolder.getLocale().getLanguage().equals("en")){
name = jo.getString("en-US");
}else{
name = jo.getString("zh-CN");
}
app.setClientName(name);
}catch (Exception e){
}
}
}
文档更新时间: 2021-07-02 18:24 作者:朱方华