jinx %!s(int64=2) %!d(string=hai) anos
pai
achega
7c7b976127

+ 9 - 0
public/__langs/locales/en.json

@@ -1,5 +1,11 @@
 {
     "home": {
+        "thickness": "密度选择",
+        "dateScene": "选择日期未上传场景",
+        "notChoosePoint": "您还未选择关联位置",
+        "notFindFile": "未发现BIM文件",
+        "notFindScene": "未发现对比场景",
+        "sceneDelete": "当前场景已被删除,无法进行查看",
         "tag": "tag",
         "splitScreen": "分屏",
         "fullScreen": "全屏"
@@ -72,6 +78,9 @@
     "components.name": "组件",
     "header.name": "头部",
     "common": {
+        "high": "高",
+        "middle": "中",
+        "low": "低",
         "input": "请输入",
         "publish": "发布",
         "submit": "提交",

+ 9 - 0
public/__langs/locales/ja.json

@@ -1,5 +1,11 @@
 {
     "home": {
+        "thickness": "密度选择",
+        "dateScene": "选择日期未上传场景",
+        "notChoosePoint": "您还未选择关联位置",
+        "notFindFile": "未发现BIM文件",
+        "notFindScene": "未发现对比场景",
+        "sceneDelete": "当前场景已被删除,无法进行查看",
         "tag": "标注",
         "splitScreen": "分屏",
         "fullScreen": "全屏"
@@ -72,6 +78,9 @@
     "components.name": "组件",
     "header.name": "头部",
     "common": {
+        "high": "高",
+        "middle": "中",
+        "low": "低",
         "input": "请输入",
         "publish": "发布",
         "submit": "提交",

+ 9 - 0
public/__langs/locales/zh.json

@@ -1,5 +1,11 @@
 {
     "home": {
+        "thickness": "密度选择",
+        "dateScene": "选择日期未上传场景",
+        "notChoosePoint": "您还未选择关联位置",
+        "notFindFile": "未发现BIM文件",
+        "notFindScene": "未发现对比场景",
+        "sceneDelete": "当前场景已被删除,无法进行查看",
         "tag": "标注",
         "splitScreen": "分屏",
         "fullScreen": "全屏"
@@ -72,6 +78,9 @@
     "components.name": "组件",
     "header.name": "头部",
     "common": {
+        "high": "高",
+        "middle": "中",
+        "low": "低",
         "input": "请输入",
         "publish": "发布",
         "submit": "提交",

+ 9 - 0
src/locales/en.json

@@ -1,5 +1,11 @@
 {
     "home": {
+        "thickness": "密度选择",
+        "dateScene": "选择日期未上传场景",
+        "notChoosePoint": "您还未选择关联位置",
+        "notFindFile": "未发现BIM文件",
+        "notFindScene": "未发现对比场景",
+        "sceneDelete": "当前场景已被删除,无法进行查看",
         "tag": "tag",
         "splitScreen": "分屏",
         "fullScreen": "全屏"
@@ -72,6 +78,9 @@
     "components.name": "组件",
     "header.name": "头部",
     "common": {
+        "high": "高",
+        "middle": "中",
+        "low": "低",
         "input": "请输入",
         "publish": "发布",
         "submit": "提交",

+ 9 - 0
src/locales/ja.json

@@ -1,5 +1,11 @@
 {
     "home": {
+        "thickness": "密度选择",
+        "dateScene": "选择日期未上传场景",
+        "notChoosePoint": "您还未选择关联位置",
+        "notFindFile": "未发现BIM文件",
+        "notFindScene": "未发现对比场景",
+        "sceneDelete": "当前场景已被删除,无法进行查看",
         "tag": "标注",
         "splitScreen": "分屏",
         "fullScreen": "全屏"
@@ -72,6 +78,9 @@
     "components.name": "组件",
     "header.name": "头部",
     "common": {
+        "high": "高",
+        "middle": "中",
+        "low": "低",
         "input": "请输入",
         "publish": "发布",
         "submit": "提交",

+ 103 - 94
src/locales/zh.json

@@ -1,96 +1,105 @@
 {
-    "home": {
-        "tag": "标注",
-        "splitScreen": "分屏",
-        "fullScreen": "全屏"
-    },
-    "home.name": "首页",
-    "header": {
-        "passwordText1": "密码不能为空",
-        "phoneText1": "手机号码不能为空",
-        "phoneText2": "请输入正确手机号",
-        "copyLink": "复制链接",
-        "shareLink": "分享链接",
-        "setting": "设为",
-        "reset": "重设",
-        "userInfo": "个人信息",
-        "loginout": "退出登录",
-        "adhustText1": "为场景设置关联位置",
-        "adhustText2": "请选择位置,确认左右视图中的场景在同一位置后,单击右侧按钮将其设为关联位置。",
-        "userLogin": "用户登录",
-        "rememberPassword": "记住密码",
-        "forgetPassword": "忘记密码",
-        "resigter": "官网注册",
-        "setPointfaidText": "匹配失败,请选择不同点位进行同步",
-        "pointUpdate": "关联位置已更新"
-    },
-    "components": {
-        "uploadVideo": "上传视频",
-        "limitFileSizeBit": "支持 {file} 文件:≤ {size}MB,≤ {bit}Mbps",
-        "linkView": "网页展示区",
-        "continueAdd": "继续添加",
-        "uploadImg": "上传图片",
-        "limitImgLength": "支持JPG、PNG等图片格式,单张不超过5MB,最多支持上传9张。",
-        "TipsImgLength": "图片数量最多支持上传9张",
-        "limitFileSize": "支持 {file} 文件:≤ {size}MB",
-        "FileSizeTips": "请上传 {size}MB 以内的 {file} 文件",
-        "uploadAudio": "上传音频",
-        "year": "年",
-        "month": "月",
-        "day": "日",
-        "chooseTime": "选择时间"
-    },
-    "tag": {
-        "addComment": "发一条评论吧",
-        "addCommentTips": "请输入内容",
-        "deletetCommentTips": "确定要删除吗?",
-        "noComment": "暂无评论",
-        "unkownUser": "未知用户",
-        "reply": "回复",
-        "comment": "评论",
-        "creater": "创建人",
-        "createTime": "创建时间",
-        "statusText1": "待处理",
-        "statusText2": "进行中",
-        "statusText3": "未解决",
-        "statusText4": "已解决",
-        "uploadFile": "上传附件",
-        "desc": "描述",
-        "member": "涉及的成员",
-        "status": "状态",
-        "inputDesc": "请输入描述",
-        "inputMember": "请选择需要通知的项目人员",
-        "inputStatus": "请选择处理状态",
-        "inputTagName": "请输入标注名称",
-        "tagName": "标注名称",
-        "creatTag": "新建标注",
-        "addTag": "添加标注",
-        "isAddTag": "已添加标注",
-        "deleteTagText": "确定要删除资料吗?"
-    },
-    "tag.name": "标注",
-    "components.name": "组件",
-    "header.name": "头部",
-    "common": {
-        "input": "请输入",
-        "publish": "发布",
-        "submit": "提交",
-        "exit": "退出",
-        "delete": "删除",
-        "edit": "编辑",
-        "confirm": "确定",
-        "tips": "提示",
-        "login": "登录",
-        "cancel": "取消",
-        "sync": "同步",
-        "deleteSuccess": "删除成功",
-        "copySuccess": "复制成功",
-        "syncSuccess": "同步成功"
-    },
-    "common.name": "通用",
-    "code": {
-        "4008": "用户未登录",
-        "failed": "连接服务器失败"
-    },
-    "code.name": "状态码"
+  "home": {
+    "thickness": "密度选择",
+    "dateScene": "选择日期未上传场景",
+    "notChoosePoint": "您还未选择关联位置",
+    "notFindFile": "未发现BIM文件",
+    "notFindScene": "未发现对比场景",
+    "sceneDelete": "当前场景已被删除,无法进行查看",
+    "tag": "标注",
+    "splitScreen": "分屏",
+    "fullScreen": "全屏"
+  },
+  "home.name": "首页",
+  "header": {
+    "passwordText1": "密码不能为空",
+    "phoneText1": "手机号码不能为空",
+    "phoneText2": "请输入正确手机号",
+    "copyLink": "复制链接",
+    "shareLink": "分享链接",
+    "setting": "设为",
+    "reset": "重设",
+    "userInfo": "个人信息",
+    "loginout": "退出登录",
+    "adhustText1": "为场景设置关联位置",
+    "adhustText2": "请选择位置,确认左右视图中的场景在同一位置后,单击右侧按钮将其设为关联位置。",
+    "userLogin": "用户登录",
+    "rememberPassword": "记住密码",
+    "forgetPassword": "忘记密码",
+    "resigter": "官网注册",
+    "setPointfaidText": "匹配失败,请选择不同点位进行同步",
+    "pointUpdate": "关联位置已更新"
+  },
+  "components": {
+    "uploadVideo": "上传视频",
+    "limitFileSizeBit": "支持 {file} 文件:≤ {size}MB,≤ {bit}Mbps",
+    "linkView": "网页展示区",
+    "continueAdd": "继续添加",
+    "uploadImg": "上传图片",
+    "limitImgLength": "支持JPG、PNG等图片格式,单张不超过5MB,最多支持上传9张。",
+    "TipsImgLength": "图片数量最多支持上传9张",
+    "limitFileSize": "支持 {file} 文件:≤ {size}MB",
+    "FileSizeTips": "请上传 {size}MB 以内的 {file} 文件",
+    "uploadAudio": "上传音频",
+    "year": "年",
+    "month": "月",
+    "day": "日",
+    "chooseTime": "选择时间"
+  },
+  "tag": {
+    "addComment": "发一条评论吧",
+    "addCommentTips": "请输入内容",
+    "deletetCommentTips": "确定要删除吗?",
+    "noComment": "暂无评论",
+    "unkownUser": "未知用户",
+    "reply": "回复",
+    "comment": "评论",
+    "creater": "创建人",
+    "createTime": "创建时间",
+    "statusText1": "待处理",
+    "statusText2": "进行中",
+    "statusText3": "未解决",
+    "statusText4": "已解决",
+    "uploadFile": "上传附件",
+    "desc": "描述",
+    "member": "涉及的成员",
+    "status": "状态",
+    "inputDesc": "请输入描述",
+    "inputMember": "请选择需要通知的项目人员",
+    "inputStatus": "请选择处理状态",
+    "inputTagName": "请输入标注名称",
+    "tagName": "标注名称",
+    "creatTag": "新建标注",
+    "addTag": "添加标注",
+    "isAddTag": "已添加标注",
+    "deleteTagText": "确定要删除资料吗?"
+  },
+  "tag.name": "标注",
+  "components.name": "组件",
+  "header.name": "头部",
+  "common": {
+    "high": "高",
+    "middle": "中",
+    "low": "低",
+    "input": "请输入",
+    "publish": "发布",
+    "submit": "提交",
+    "exit": "退出",
+    "delete": "删除",
+    "edit": "编辑",
+    "confirm": "确定",
+    "tips": "提示",
+    "login": "登录",
+    "cancel": "取消",
+    "sync": "同步",
+    "deleteSuccess": "删除成功",
+    "copySuccess": "复制成功",
+    "syncSuccess": "同步成功"
+  },
+  "common.name": "通用",
+  "code": {
+    "4008": "用户未登录",
+    "failed": "连接服务器失败"
+  },
+  "code.name": "状态码"
 }

+ 12 - 10
src/pages/SViewer.vue

@@ -19,9 +19,9 @@
             </div>
             <div class="item-density" v-if="source.type == 2 && mode == 1" @click="showDensity = true">
                 <span>{{ densityType.text }}</span>
-                <div @click.stop="(showDensity = false)" v-if="showDensity">
+                <div @click.stop="showDensity = false" v-if="showDensity">
                     <ul>
-                        <li class="title">密度选择</li>
+                        <li class="title">{{ $t('home.thickness') }}</li>
                         <li v-for="density in densityTypes" @click="onDensityChange(density)">
                             {{ density.text }}<i class="iconfont" :class="{ 'icon-check': density.type == densityType.type }"></i>
                         </li>
@@ -39,7 +39,9 @@ import { http } from '@/utils/request'
 import Toast from '@/components/dialog/Toast'
 import browser from '@/utils/browser'
 import Calendar from '@/components/calendar/mobile.vue'
-import sync, {  loadSourceScene, loadTargetScene, setPanoWithBim } from '@/utils/sync'
+import sync, { loadSourceScene, loadTargetScene, setPanoWithBim } from '@/utils/sync'
+import i18n from '@/i18n'
+const { t } = i18n.global
 const isDev = process.env.VUE_APP_TEST == 1
 // 点位信息
 let lastFakeApp = null
@@ -58,9 +60,9 @@ const target = ref(null)
 const project = ref(null)
 
 const densityTypes = ref([
-    { type: 'high', text: '高' },
-    { type: 'middle', text: '中' },
-    { type: 'low', text: '低' },
+    { type: 'high', text: t('common.high') },
+    { type: 'middle', text: t('common.middle') },
+    { type: 'low', text: t('common.low') },
 ])
 
 const densityType = ref(densityTypes.value[0])
@@ -229,7 +231,7 @@ const onBimChecked = () => {
     }, 2000)
 
     if (!project.value || !project.value.bimData) {
-        showTips.value = '未发现BIM文件'
+        showTips.value = t('home.notFindFile')
         return
     }
     if (bimChecked.value) {
@@ -257,10 +259,10 @@ onMounted(() => {
                         source.value = project.value.sceneList[project.value.sceneList.length - 1]
                     }
                     if (!source.value) {
-                        return (showTips.value = '当前场景已被删除,无法进行查看')
+                        return (showTips.value = t('home.sceneDelete'))
                     }
                 } else {
-                    return (showTips.value = '当前场景已被删除,无法进行查看')
+                    return (showTips.value = t('home.sceneDelete'))
                 }
                 if (response.data.panos) {
                     response.data.panos = JSON.parse(response.data.panos)
@@ -271,7 +273,7 @@ onMounted(() => {
             }
         })
         .catch(err => {
-            showTips.value = '服务器连接失败'
+            showTips.value = t('code.failed')
         })
 })
 </script>

+ 13 - 11
src/pages/Viewer.vue

@@ -111,6 +111,8 @@ import Calendar from '@/components/calendar'
 import Files from '@/components/files'
 import TagManager from '@/components/files/TagManager'
 import sync, { beforeChangeURL, loadSourceScene, loadTargetScene, setPanoWithBim, flyToP1P2 } from '@/utils/sync'
+import i18n from '@/i18n'
+const { t } = i18n.global
 const isDev = process.env.VUE_APP_TEST == 1
 
 const tags = ref([])
@@ -144,9 +146,9 @@ const project = ref(null)
 const points = ref({ p1: null, p2: null })
 
 const densityTypes = ref([
-    { type: 'high', text: '高' },
-    { type: 'middle', text: '中' },
-    { type: 'low', text: '低' },
+    { type: 'high', text: t('common.high') },
+    { type: 'middle', text: t('common.middle') },
+    { type: 'low', text: t('common.low') },
 ])
 
 const densityType = ref(densityTypes.value[0])
@@ -344,7 +346,7 @@ const onSelected = data => {
             }
         }
     } else {
-        showTips.value = '选择日期未上传场景'
+        showTips.value = t('home.dateScene')
     }
 
     datepickName.value = null
@@ -425,7 +427,7 @@ const onFileChecked = () => {
 // bim点击
 const onBimChecked = () => {
     if (bimDisable.value) {
-        return (showTips.value = '未发现BIM文件')
+        return (showTips.value = t('home.notFindFile'))
     }
     if (bimChecked.value) {
         bimChecked.value = false
@@ -454,7 +456,7 @@ const onBimChecked = () => {
 // 分屏点击
 const onDbsChecked = () => {
     if (dbsDisable.value && !dbsChecked.value) {
-        return (showTips.value = '未发现对比场景')
+        return (showTips.value = t('home.notFindScene'))
     }
     dbsChecked.value = !dbsChecked.value
     if (dbsChecked.value) {
@@ -513,7 +515,7 @@ const onPointsUpdate = (type, data) => {
 
 const onP1Click = type => {
     if (!points.value.p1) {
-        showTips.value = '您还未选择关联位置'
+        showTips.value = t('home.notChoosePoint')
         return
     }
     console.log(points.value.p1)
@@ -524,7 +526,7 @@ const onP1Click = type => {
 
 const onP2Click = type => {
     if (!points.value.p2) {
-        showTips.value = '您还未选择关联位置'
+        showTips.value = t('home.notChoosePoint')
         return
     }
     // todo 定位
@@ -560,14 +562,14 @@ onMounted(() => {
                             source.value = project.value.sceneList[project.value.sceneList.length - 1]
                         }
                         if (!source.value) {
-                            return (showTips.value = '当前场景已被删除,无法进行查看')
+                            return (showTips.value = t('home.sceneDelete'))
                         }
                         if (showAdjust.value || showSplit.value) {
                             onBimChecked()
                             nextTick(() => onDbsChecked())
                         }
                     } else {
-                        return (showTips.value = '当前场景已被删除,无法进行查看')
+                        return (showTips.value = t('home.sceneDelete'))
                     }
                 }
             } else {
@@ -580,7 +582,7 @@ onMounted(() => {
             }
         })
         .catch(() => {
-            showTips.value = '服务器连接失败'
+            showTips.value = t('code.failed')
         })
 
     http.post(`smart-site/marking/list`, {

+ 12 - 2
src/pages/sviewer.js

@@ -5,7 +5,8 @@ import { createApp } from 'vue'
 import { DatetimePicker } from 'vant';
 import { setup } from '../utils/request'
 import App from './SViewer.vue'
-
+import i18n, { getLocale, setI18nLanguage, loadLocaleMessages } from '../i18n'
+const local = getLocale()
 Date.prototype.format = function(fmt = 'YYYY-mm-dd HH:MM:SS') {
     var res = ''
     try {
@@ -39,4 +40,13 @@ String.prototype.toDate = function() {
 }
 
 setup()
-createApp(App).use(DatetimePicker).mount('#app')
+// createApp(App).use(DatetimePicker).mount('#app')
+
+
+const app = createApp(App)
+loadLocaleMessages(i18n, local).then(() => {
+  setI18nLanguage(i18n, local)
+  app.use(i18n)
+  app.use(DatetimePicker)
+  app.mount('#app')
+})