添加国际化

This commit is contained in:
sgjj 2020-06-30 14:06:31 +08:00
parent a96f78d384
commit cb77002e6c
8 changed files with 2256 additions and 26 deletions

View File

@ -85,6 +85,7 @@
<groupId>net.mingsoft</groupId>
<artifactId>ms-mpeople</artifactId>
</dependency>
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>ms-basic</artifactId>

View File

@ -8,7 +8,9 @@ import org.springframework.context.annotation.ComponentScan;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.Locale;
@SpringBootApplication
@ComponentScan(basePackages = {"net.mingsoft"})
@MapperScan(basePackages={"**.dao"})

View File

@ -52,10 +52,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

View File

@ -3,6 +3,9 @@
<head>
<title>分类</title>
<#include "../../include/head-file.ftl">
<script src="${base}/static/locale/lang/cms/category/ch.js"></script>
<script src="${base}/static/locale/lang/cms/category/en.js"></script>
</head>
<body>
<div id="form" v-cloak>
@ -19,7 +22,7 @@
justify="start" align="top">
<el-col span="12">
<el-form-item label="栏目管理名称" prop="categoryTitle">
<template slot='label'>栏目管理名称
<template slot='label'>{{$t('form.categoryTitle.text')}}
<el-popover slot="label" placement="top-start" title="提示" trigger="hover">
<a href="http://doc.ms.mingsoft.net/plugs-cms/biao-qian/nei-rong-biao-qian-ms-field.html"
target="_blank">{ms:field.typetitle/}</a>
@ -32,12 +35,12 @@
:disabled="false"
:style="{width: '100%'}"
:clearable="true"
placeholder="请输入栏目管理名称">
:placeholder="$t('form.categoryTitle.placeholder')">
</el-input>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="所属栏目" prop="categoryId">
<el-form-item :label="$t('form.categoryId')" prop="categoryId">
<tree-select ref="tree" :props="{value: 'id',label: 'categoryTitle',children: 'children'}"
:options="treeList" :style="{width:'100%'}"
v-model="form.categoryId"></tree-select>
@ -49,7 +52,7 @@
justify="start" align="top">
<el-col span="12">
<el-form-item prop="categoryType">
<template slot='label'>栏目类型
<template slot='label'>{{$t('form.categoryType')}}
<el-popover slot="label" placement="top-start" title="提示" trigger="hover">
列表:常用于带列表、详情的业务,例如:新闻列表、图片列表<br>封面:常用单篇文章显示,例如:关于我们、公司介绍<br>修改栏目时如果该栏目存在文章则不能修改栏目类型
<i class="el-icon-question" slot="reference"></i>
@ -66,7 +69,7 @@
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="自定义顺序" prop="categorySort">
<el-form-item :label="$t('form.categorySort')" prop="categorySort">
<el-input-number
v-model="form.categorySort"
:disabled="false"
@ -79,7 +82,7 @@
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item prop="categoryUrl" :label="form.categoryType =='1'? '内容模板' : '封面模板'">
<el-form-item prop="categoryUrl" :label=" $tc('form.categoryUrl',form.categoryType)">
<el-select v-model="form.categoryUrl"
:style="{width: '100%'}"
:filterable="true"
@ -93,7 +96,7 @@
</el-col>
<el-col span="12">
<el-form-item prop="mdiyModelId">
<template slot='label'>自定义模型
<template slot='label'>{{$t('form.mdiyModelId')}}
<el-popover slot="label" placement="top-start" title="提示" width="400" trigger="hover"
content="如果发布时候文章字段信息不够,可以采用铭飞代码生成器生成自定义模型,再通过“自定义管理->自定义模型->导入”功能导入模型注意类型是cms">
<i class="el-icon-question" slot="reference"></i>
@ -114,7 +117,7 @@
<el-row gutter="0" justify="start" align="top">
<el-col span="12">
<el-form-item prop="categoryListUrl" v-if="form.categoryType == '1'">
<template slot='label'>列表模板
<template slot='label'>{{$t('form.categoryListUrl')}}
<el-popover slot="label" placement="top-start" title="提示" trigger="hover"
content="当栏目类型为列表时有效">
<i class="el-icon-question" slot="reference"></i>
@ -133,7 +136,7 @@
</el-col>
<el-col span="12">
<el-form-item label="栏目属性" prop="categoryFlag">
<template slot='label'>栏目属性
<template slot='label'>{{$t('form.categoryFlag')}}
<el-popover placement="top-start" title="提示" trigger="hover" content="类型不满足可以在自定义字典菜单中新增,字段类型为“栏目属性”">
<i class="el-icon-question" slot="reference"></i>
</el-popover>
@ -151,7 +154,7 @@
</el-col>
</el-row>
<el-form-item label="栏目管理关键字" prop="categoryKeyword">
<template slot='label'>栏目关键字
<template slot='label'>{{$t('form.categoryKeyword')}}
<el-popover slot="label" placement="top-start" title="提示" trigger="hover">
<a href="http://doc.ms.mingsoft.net/plugs-cms/biao-qian/lan-mu-lie-biao-ms-channel.html"
target="_blank">[field.typekeyword/]</a>
@ -167,7 +170,7 @@
</el-input>
</el-form-item>
<el-form-item label="栏目管理描述" prop="categoryDescrip">
<template slot='label'>栏目描述
<template slot='label'>{{$t('form.categoryDescrip')}}
<el-popover slot="label" placement="top-start" title="提示" trigger="hover">
<a href="http://doc.ms.mingsoft.net/plugs-cms/biao-qian/lan-mu-lie-biao-ms-channel.html"
target="_blank">[field.typedescrip/]</a>
@ -183,7 +186,7 @@
</el-input>
</el-form-item>
<el-form-item label="" prop="categoryImg">
<template slot='label'>缩略图
<template slot='label'>{{$t('form.categoryImg')}}
<el-popover slot="label" placement="top-start" title="提示" trigger="hover">
<a href="http://doc.ms.mingsoft.net/plugs-cms/biao-qian/nei-rong-biao-qian-ms-field.html"
target="_blank">{ms:field.typelitpic/}</a>
@ -209,7 +212,7 @@
</el-upload>
</el-form-item>
<el-form-item prop="categoryDiyUrl">
<template slot='label'>自定义链接
<template slot='label'>{{$t('form.categoryDiyUrl')}}
<el-popover slot="label" placement="top-start" title="提示" trigger="hover">
<a href="http://doc.ms.mingsoft.net/plugs-cms/biao-qian/lan-mu-lie-biao-ms-channel.html"
target="_blank">[field.typeurl/]</a>
@ -230,10 +233,17 @@
</body>
</html>
<script>
var i18n = new VueI18n({
locale: parent.indexVue.locale.language, // 设置地区
messages:Object.assign({}, localeCh, localeEn)
})
var form = new Vue({
i18n:i18n,
el: '#form',
data: function () {
return {
locale:parent.indexVue.locale,
treeList: [{
id: '0',
categoryTitle: '顶级栏目',
@ -302,6 +312,9 @@
};
},
watch: {
'locale.language':function (n,o) {
this.$i18n.locale = n
},
'form.categoryId': function (n, o) {
var _this = this;

View File

@ -52,7 +52,9 @@
<!--头部-->
<el-header class="ms-admin-header" v-cloak>
<#--展示合并菜单-->
<div class="ms-admin-header-menu-shrink" @click="collapseMenu = !collapseMenu"><i class="iconfont" :class="collapseMenu?'icon-liebiaoxiangyou':'icon-shousuo'"></i></div>
<div class="ms-admin-header-menu-shrink" @click="collapseMenu = !collapseMenu"><i class="iconfont"
:class="collapseMenu?'icon-liebiaoxiangyou':'icon-shousuo'"></i>
</div>
<!--头部menu-->
<el-menu menu-trigger="hover" class="ms-admin-header-menu" background-color="rgba(255,255,255,1)"
text-color="#333333" active-text-color="#409EFF" :default-active="headMenuActive"
@ -104,9 +106,20 @@
</el-menu-item>
</el-submenu>
</el-menu>
<el-dropdown trigger="hover" class="ms-admin-login" placement="top-start" @visible-change="loginDown = !loginDown">
<#-- 语言切换-->
<el-dropdown @command="handleLanguageClick">
<span class="el-dropdown-link" >
{{locale.text}}<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item,index) in localeCommands" :command="item">{{item.text}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="hover" class="ms-admin-login" placement="top-start"
@visible-change="loginDown = !loginDown">
<span class="el-dropdown-link">
<div class="ms-admin-people-head" v-text="peopleInfo.managerName && peopleInfo.managerName.substr(0, 2)"></div>
<div class="ms-admin-people-head"
v-text="peopleInfo.managerName && peopleInfo.managerName.substr(0, 2)"></div>
<span v-text='peopleInfo.managerName'></span>
</span>
<el-dropdown-menu class="ms-admin-login-down" slot="dropdown" @click.native='openModal'>
@ -123,7 +136,7 @@
</el-header>
<!--内容-->
<el-main class="ms-admin-main" >
<el-main class="ms-admin-main">
<!--选项卡-->
<el-tabs class="ms-admin-tabs" v-model="currentTab" type="card" closable @tab-remove="closeTab"
@tab-click='tabClick'>
@ -148,6 +161,20 @@
el: "#app",
data: {
code: '',
locale: {
text: '中文',
language: 'ch',
},
localeCommands:[
{
text: '中文',
language: 'ch',
},
{
text: 'English',
language: 'en',
}
],
menuList: [], //菜单接口数据
asideMenuList: [], //侧边菜单
parentMenuList: [], //一级菜单
@ -242,6 +269,12 @@
}
},
methods: {
handleLanguageClick: function (val) {
this.locale.text = val.text
this.locale.language = val.language
//语言切换
console.log(val)
},
getAuthorization: function () {
},
@ -554,9 +587,10 @@
</script>
<style>
.adminhead{
margin-top: 10px\0;
.adminhead {
margin-top: 10px \0;
}
.item {
margin-right: 19px;
}
@ -751,7 +785,8 @@
width: 162px;
min-width: 162px;
}
.ms-admin-login-down{
top:55px !important;
.ms-admin-login-down {
top: 55px !important;
}
</style>

View File

@ -0,0 +1,22 @@
var localeCh={
ch:{
form:{
categoryTitle:{
text:'栏目名称',
placeholder:'请输入栏目名称',
help:'',
},
categoryId:'所属栏目',
categoryType:'栏目类型',
categorySort:'自定义顺序',
categoryUrl:'内容模板|封面模板',
mdiyModelId:'自定义模型',
categoryListUrl:'列表模板',
categoryFlag:'栏目属性',
categoryKeyword:'栏目关键字',
categoryDescrip:'栏目描述',
categoryImg :'栏目图片',
categoryDiyUrl:'自定义链接',
}
}
}

View File

@ -0,0 +1,22 @@
var localeEn={
en:{
form:{
categoryTitle:{
text:'channel name',
placeholder:'please enter channel name',
help:'',
},
categoryId:'parent channel',
categoryType:'channel type',
categorySort:'channel sort',
categoryUrl:'content template|page template',
mdiyModelId:'diy Model',
categoryListUrl:'list template',
categoryFlag :'channel property',
categoryKeyword :'channel keyword',
categoryDescrip :'channel desc',
categoryImg :'channel image',
categoryDiyUrl:'custom url',
}
}
}

File diff suppressed because it is too large Load Diff