问题的需求是:JAVA生成VUE里要用的i18n多语言文件,VUE部分的我已经有办法搞定了,还差JAVA生成文件的要弄,缺少转换规则
在配置的时候,我把相关属性用小数点标记,每个占用一条数据,这里我提取的是一条数据作为示例
比如字符串:
app.label.name="名称"
转换后
"app":{
"label":{
"name":"名称"
}
}
问题的需求是:JAVA生成VUE里要用的i18n多语言文件,VUE部分的我已经有办法搞定了,还差JAVA生成文件的要弄,缺少转换规则
在配置的时候,我把相关属性用小数点标记,每个占用一条数据,这里我提取的是一条数据作为示例
比如字符串:
app.label.name="名称"
转换后
"app":{
"label":{
"name":"名称"
}
}
语言库中有4条数据 分为中英泰三种语言
| attr | val |
| ------ | ------ |
| app.label.name | {en:'name',cn:'名称',th:'นาม'} |
| app.label.title | {en:'title',cn:'标题',th:'นาม'} |
| app.label.keyword | {en:'keyword',cn:'关键词',th:'นาม'} |
| app.label.user | {en:'user',cn:'用户',th:'นาม'} |
在页面VUE我是用i18n去实现,如果生成为多语言的JS文件,中文版的结构
"app":{
"label":{
"name":"名称"
}
}
英文版和泰文版的是另外2个JS,我的思路是,通过数据库遍历后生成三个JS,通过VAL字段来区分是哪些国家的语言,并将VAL的KEY作为语言库的文件名,ATTR的字符串由小数点进行拼接。
问题为:需要把attr的字段值转换为json结构的信息,为了方便理解思路,取一条数据作为示例,实际有7千条数据。
属性字段
app.label.name
语言字段(key会作为文件名取出,value会作为语言库的值)
{cn:'名称',en:'name'',th:'นาม'}
转换后
"app":{
"label":{
"name":"名称"
}
}
JS或java实现这个转换