bill hai 1 ano
pai
achega
9b7b663bc4

+ 3 - 1
src/components/base/components/input/state.js

@@ -1,3 +1,5 @@
+import { ui18n } from "@/lang";
+
 const instalcePublic = {
   name: {
     type: String,
@@ -101,7 +103,7 @@ export const textPropsDesc = {
   },
   placeholder: {
     type: String,
-    default: "请输入",
+    default: ui18n.t("sys.inputPlc"),
   },
   readonly: {
     type: Boolean,

+ 81 - 51
src/graphic/CanvasStyle/ImageLabels/SVGIcons.js

@@ -1,9 +1,11 @@
+import { ui18n } from "@/lang";
+
 const SVGIcons = {
   ZebraCrossing: {
-    text: "斑马线",
+    text: ui18n.t("tl.icons[0]"),
   },
   "chemotuoche_p.svg": {
-    text: "侧三轮平面",
+    text: ui18n.t("tl.icons[1]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -79,7 +81,7 @@ const SVGIcons = {
     },
   },
   "dianche_p.svg": {
-    text: "电车侧面",
+    text: ui18n.t("tl.icons[2]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -214,7 +216,7 @@ const SVGIcons = {
     },
   },
   "dianche_s.svg": {
-    text: "电车平面",
+    text: ui18n.t("tl.icons[3]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -324,7 +326,7 @@ const SVGIcons = {
     },
   },
   "erlunmotuoche.svg": {
-    text: "普通二轮摩托车",
+    text: ui18n.t("tl.icons[4]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -433,7 +435,7 @@ const SVGIcons = {
     },
   },
   "guache_p.svg": {
-    text: "挂车侧面",
+    text: ui18n.t("tl.icons[5]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -522,7 +524,7 @@ const SVGIcons = {
     },
   },
   "guache_pingmian.svg": {
-    text: "挂车平面",
+    text: ui18n.t("tl.icons[6]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -604,7 +606,7 @@ const SVGIcons = {
     },
   },
   "huoche_p.svg": {
-    text: "货车平面图",
+    text: ui18n.t("tl.icons[7]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -704,7 +706,7 @@ const SVGIcons = {
     },
   },
   "huoche_s1.svg": {
-    text: "货车侧面",
+    text: ui18n.t("tl.icons[8]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -763,7 +765,7 @@ const SVGIcons = {
     },
   },
   "huoche_s2.svg": {
-    text: "货车侧面",
+    text: ui18n.t("tl.icons[9]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -823,7 +825,7 @@ const SVGIcons = {
     },
   },
   "jiaoche_p.svg": {
-    text: "轿车平面",
+    text: ui18n.t("tl.icons[10]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -930,7 +932,7 @@ const SVGIcons = {
     },
   },
   "jiaoche_s.svg": {
-    text: "轿车侧面",
+    text: ui18n.t("tl.icons[11]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1002,7 +1004,7 @@ const SVGIcons = {
     },
   },
   "keche_p.svg": {
-    text: "客车平面",
+    text: ui18n.t("tl.icons[12]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1104,7 +1106,7 @@ const SVGIcons = {
     },
   },
   "keche_s.svg": {
-    text: "客车侧面",
+    text: ui18n.t("tl.icons[13]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1181,7 +1183,7 @@ const SVGIcons = {
     },
   },
   "lunshijixie_p.svg": {
-    text: "轮式自行机械平面",
+    text: ui18n.t("tl.icons[14]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1285,7 +1287,7 @@ const SVGIcons = {
     },
   },
   "lunshituolaji_p.svg": {
-    text: "轮式拖拉机平面",
+    text: ui18n.t("tl.icons[15]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1402,7 +1404,7 @@ const SVGIcons = {
     },
   },
   "lunshituolaji_s.svg": {
-    text: "轮式拖拉机侧面",
+    text: ui18n.t("tl.icons[16]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1505,7 +1507,7 @@ const SVGIcons = {
     },
   },
   "qianyinche_p.svg": {
-    text: "侨银车平面",
+    text: ui18n.t("tl.icons[17]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1645,7 +1647,7 @@ const SVGIcons = {
     },
   },
   "qianyinche_s.svg": {
-    text: "牵引车侧面",
+    text: ui18n.t("tl.icons[18]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1745,7 +1747,7 @@ const SVGIcons = {
     },
   },
   "shoufutuolaji_p.svg": {
-    text: "手扶拖拉机平面",
+    text: ui18n.t("tl.icons[19]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1862,7 +1864,7 @@ const SVGIcons = {
     },
   },
   "shoufutuolaji_s.svg": {
-    text: "手扶拖拉机侧面",
+    text: ui18n.t("tl.icons[20]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -1956,7 +1958,7 @@ const SVGIcons = {
     },
   },
   "zhengsanlun_p.svg": {
-    text: "正三轮平面",
+    text: ui18n.t("tl.icons[21]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2028,7 +2030,7 @@ const SVGIcons = {
     },
   },
   "zhengsanlun_s.svg": {
-    text: "正三轮侧面",
+    text: ui18n.t("tl.icons[22]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       //// ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2085,7 +2087,7 @@ const SVGIcons = {
     },
   },
   "fjdc_canjiren_s.svg": {
-    text: "残疾人用车侧面",
+    text: ui18n.t("tl.icons[23]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2122,7 +2124,7 @@ const SVGIcons = {
     },
   },
   "fjdc_renliche.svg": {
-    text: "人力车",
+    text: ui18n.t("tl.icons[24]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2200,7 +2202,7 @@ const SVGIcons = {
     },
   },
   "fjdc_sanlunche.svg": {
-    text: "三轮车",
+    text: ui18n.t("tl.icons[25]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2284,7 +2286,7 @@ const SVGIcons = {
     },
   },
   "jtxx_fengxb.svg": {
-    text: "风向标",
+    text: ui18n.t("tl.icons[26]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2328,7 +2330,7 @@ const SVGIcons = {
     },
   },
   "jtxx_fangxb.svg": {
-    text: "方向标",
+    text: ui18n.t("tl.icons[27]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2405,7 +2407,7 @@ const SVGIcons = {
     },
   },
   "rt_shit.svg": {
-    text: "尸体",
+    text: ui18n.t("tl.icons[28]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2476,7 +2478,7 @@ const SVGIcons = {
     },
   },
   "sc_sc.svg": {
-    text: "牲畜",
+    text: ui18n.t("tl.icons[29]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2514,7 +2516,7 @@ const SVGIcons = {
     },
   },
   "rt_st.svg": {
-    text: "伤体",
+    text: ui18n.t("tl.icons[30]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2597,7 +2599,7 @@ const SVGIcons = {
     },
   },
   "jtxx_ryydfx.svg": {
-    text: "人员运动方向",
+    text: ui18n.t("tl.icons[31]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2644,7 +2646,7 @@ const SVGIcons = {
     },
   },
   "sc_shangc.svg": {
-    text: "伤畜",
+    text: ui18n.t("tl.icons[32]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2694,7 +2696,7 @@ const SVGIcons = {
     },
   },
   "fjdc_canjiren_p.svg": {
-    text: "残疾人用车平面",
+    text: ui18n.t("tl.icons[33]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2756,7 +2758,7 @@ const SVGIcons = {
     },
   },
   "jtxx_jdcxsfx.svg": {
-    text: "机动车行驶方向",
+    text: ui18n.t("tl.icons[34]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2791,7 +2793,7 @@ const SVGIcons = {
     },
   },
   "fjdc_zixingche.svg": {
-    text: "自行车",
+    text: ui18n.t("tl.icons[35]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2913,7 +2915,7 @@ const SVGIcons = {
     },
   },
   "jtxx_fjdcxsfx.svg": {
-    text: "非机动车行驶方向",
+    text: ui18n.t("tl.icons[36]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -2960,7 +2962,7 @@ const SVGIcons = {
     },
   },
   "jtxx_jcd.svg": {
-    text: "接触点",
+    text: ui18n.t("tl.icons[37]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -3002,7 +3004,7 @@ const SVGIcons = {
     },
   },
   "rt_rt.svg": {
-    text: "人体",
+    text: ui18n.t("tl.icons[38]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -3073,7 +3075,7 @@ const SVGIcons = {
     },
   },
   "fjdc_xuliche.svg": {
-    text: "畜力车",
+    text: ui18n.t("tl.icons[39]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -3163,7 +3165,7 @@ const SVGIcons = {
     },
   },
   "sc_shic.svg": {
-    text: "死畜",
+    text: ui18n.t("tl.icons[40]"),
     draw: function (ctx, fillStyle, strokeStyle) {
       ctx.save();
       ctx.strokeStyle = "rgba(0,0,0,0)";
@@ -4134,19 +4136,25 @@ const SVGIcons = {
 
 export const structureTypeKeys = [
   {
-    type: "道路结构",
-    children: ["lunshituolaji_p.svg", "zhengsanlun_s.svg", "chemotuoche_p.svg", "dianche_p.svg", "keche_s.svg"],
+    type: ui18n.t("tl.icons[41]"),
+    children: [
+      "lunshituolaji_p.svg",
+      "zhengsanlun_s.svg",
+      "chemotuoche_p.svg",
+      "dianche_p.svg",
+      "keche_s.svg",
+    ],
   },
 ];
 
 // ['lunshituolaji_p.svg', 'zhengsanlun_s.svg']
 export const imageTypeKeys = [
   {
-    type: "常用名称",
+    type: ui18n.t("tl.icons[42]"),
     children: [],
   },
   {
-    type: "机动车",
+    type: ui18n.t("tl.icons[43]"),
     children: [
       "lunshituolaji_p.svg",
       "zhengsanlun_s.svg",
@@ -4172,16 +4180,38 @@ export const imageTypeKeys = [
     ],
   },
   {
-    type: "非机动车",
-    children: ["erlunmotuoche.svg", "fjdc_canjiren_p.svg", "fjdc_canjiren_s.svg", "fjdc_renliche.svg", "fjdc_sanlunche.svg", "fjdc_xuliche.svg", "fjdc_zixingche.svg"],
+    type: ui18n.t("tl.icons[44]"),
+    children: [
+      "erlunmotuoche.svg",
+      "fjdc_canjiren_p.svg",
+      "fjdc_canjiren_s.svg",
+      "fjdc_renliche.svg",
+      "fjdc_sanlunche.svg",
+      "fjdc_xuliche.svg",
+      "fjdc_zixingche.svg",
+    ],
   },
   {
-    type: "人体、牲畜",
-    children: ["rt_rt.svg", "rt_shit.svg", "rt_st.svg", "sc_sc.svg", "sc_shangc.svg", "sc_shic.svg"],
+    type: ui18n.t("tl.icons[45]"),
+    children: [
+      "rt_rt.svg",
+      "rt_shit.svg",
+      "rt_st.svg",
+      "sc_sc.svg",
+      "sc_shangc.svg",
+      "sc_shic.svg",
+    ],
   },
   {
-    type: "地面标志及交通现象",
-    children: ["jtxx_fangxb.svg", "jtxx_fengxb.svg", "jtxx_fjdcxsfx.svg", "jtxx_jcd.svg", "jtxx_jdcxsfx.svg", "jtxx_ryydfx.svg"],
+    type: ui18n.t("tl.icons[46]"),
+    children: [
+      "jtxx_fangxb.svg",
+      "jtxx_fengxb.svg",
+      "jtxx_fjdcxsfx.svg",
+      "jtxx_jcd.svg",
+      "jtxx_jdcxsfx.svg",
+      "jtxx_ryydfx.svg",
+    ],
   },
   // // 道路结构
   // {

+ 52 - 0
src/lang/zh-1/coord.ts

@@ -0,0 +1,52 @@
+export default {
+    "name": "坐标",
+    "title": "坐标系",
+    "manageTitle": "地理注册",
+    "selectType": "选择坐标类型",
+    "lat": "纬度",
+    "lng": "经度",
+    "height": "高程",
+    "ctrls": "控制点",
+    "copy": "复制坐标",
+    "copySuccess": "坐标复制成功!",
+    "types": {
+        "local": "本地坐标",
+        "amap": "高德坐标",
+        "gmap": "谷歌坐标",
+        "screen": "屏幕坐标",
+        "wgs84": "wgs84",
+        "webMercator": "大地坐标",
+        "gis": "大地坐标",
+        "pro": "投影坐标"
+    },
+    "edit": {
+        "gis": "地理坐标",
+        "unsetCtrls": "请先设置控制点",
+        "whySetCtrls": "为什么要设置控制点?",
+        "dms": "度°分′秒″",
+        "num": "度°",
+        "placeholder": "请输入",
+        "placeholderDMS": "请输入度°分′秒″",
+        "placeholderD": "请输入度°",
+        "inputGis": "请输入该坐标系下,控制点的地理坐标",
+        "getGis": "如何获取地理坐标?",
+        "noRepeat": "地理坐标和本地坐标未重合,请检查是否输入正确。",
+        "noRepeatUpdate": "查看如何调整",
+        "diff": "相差",
+        "map": "地图",
+        "gmap": "高德地图",
+        "ggmap": "谷歌地图",
+        "gisUpdateLocalUn": "P {index} 地理坐标已改,本地坐标未改",
+        "localUpdateGisUn": "P {index} 本地坐标已改,地理坐标未改",
+        "gisDataErr": "数据不正确,请检查地理坐标p1,p2格式是否正确,是否数值相同!",
+        "localDataErr": "数据不正确,请检查本地坐标p1,p2格式是否正确,是否数值相同!",
+        "pointEqual": "请勿在P1、P2输入相同数值",
+        "movePoint": "P {index} 移动到这里",
+        "setPoint": "设为P {index}",
+        "localPoint": "P{index}本地坐标",
+        "setCtrls": "设置控制点",
+        "trapLocalPoint": "请在场景中鼠标右键设置控制点的本地坐标",
+        "whyTrapLocalPoint": "为什么要设置本地坐标?",
+        "userUseMouse": "自定义(场景中右键选择)"
+    }
+}

+ 20 - 0
src/lang/zh-1/crop.ts

@@ -0,0 +1,20 @@
+export default {
+    "title": "裁剪点云",
+    "needToDisConnect": "请选择一个点位,删除它与周围点位的连接",
+    "panoNotAllConnected": "检测到断开的点云,无法计算。",
+    "reset": "恢复初始状态",
+    "calcConfirm": "确定计算?计算可能需要一定时间,请确保裁剪完成后再进行此操作。",
+    "resetConfirm": "恢复初始状态需要重新计算。\n添加的热点、测量、空间模型、裁剪效果、已合并/上传的数据集将被清除,请谨慎操作。",
+    "clearConfirm": "确定清空所有裁剪框?该操作无法撤销。",
+    "calcBtn": "重算",
+    "tip": "裁剪点云前,请查看 ",
+    "tipOper": "操作提示",
+    "pointActions": {
+        "move": "移动",
+        "rotate": "旋转",
+        "scale": "缩放",
+        "exclude": "从框内减去",
+        "intersect": "仅保留框内",
+        "clear": "清空"
+    }
+}

+ 63 - 0
src/lang/zh-1/dataset.ts

@@ -0,0 +1,63 @@
+export default {
+    "title": "数据集",
+    "all": "全部数据集",
+    "unsetTitle": "未分配的数据集",
+    "manageTitle": "数据集管理",
+    "uploadName": "您上传的",
+    "uploadTitle": "上传的数据集",
+    "correctTitle": "数据集校准",
+    "refer": "参考数据集",
+    "initial": "初始数据集",
+    "recalcJoinDeleteTip": "【{sceneName}】被重算,您添加的数据集【{title}】已被删除",
+    "deleteJoinDeleteTip": "【{sceneName}】被删除,您添加的数据集【{title}】已同步删除",
+    "join": "合并",
+    "joinTitle": "合并数据集",
+    "joinTip": "选择场景后,其{dataset}将与当前场景合并",
+    "joinBtn": "立即合并",
+    "joinSBtn": "在线合并",
+    "upload": "上传",
+    "uploadSBtn": "本地上传",
+    "uploadIng": "文件上传中",
+    "uploadCheck": "文件名请勿包含非法字符\" / : ?[<+=;,¥%&*和空格",
+    "repeatUpload": "数据正在上传,请稍后再试",
+    "backSearch": "< 返回搜索结果",
+    "unJoinDatasets": "您账号下暂无可添加数据集。",
+    "exists": "已添加",
+    "calc": "计算中",
+    "backCalc": "后台计算中…",
+    "pointNum": "点位数",
+    "format": "格式",
+    "deleteTip": "该数据集下的热点、测量结果也将一并删除,此操作不可撤销。",
+    "reset": {
+        "title": "确认恢复默认场景?",
+        "tip": "合并/上传的数据集以及其所在位置的热点、测量将会被一并删除。"
+    },
+    "calibration": {
+        "gotoTip": "请校准数据集,使其在场景中正确拼接。"
+    },
+    "setting": {
+        "setName": "编辑数据集",
+        "subtleTip": "请在右侧面板中选中需要微调的数据集",
+        "lockTip": "该数据集已被控制点锁定",
+        "subtle": "微调",
+        "viewCenter": "视图居中"
+    },
+    "model": {
+        "showTitle": "空间数据",
+        "title": "空间模型",
+        "titleConfirm": "空间名称为空无法保存。",
+        "set": "编辑空间模型",
+        "name": "空间名称",
+        "area": "面积",
+        "volume": "体积",
+        "height": "层高",
+        "resetTip": "将恢复默认形状,是否确定重置?",
+        "construct": "建筑物",
+        "floor": "楼",
+        "room": "房间",
+        "delConstructTip": "删除建筑物将删除其包含所有空间模型,该操作不删除数据集。",
+        "delNoconstructTip": "是否删除空间模型?",
+        "addFloorTop": "在顶部添加楼层",
+        "addFloorBottom": "在底部添加楼层"
+    }
+}

+ 23 - 0
src/lang/zh-1/epoint.ts

@@ -0,0 +1,23 @@
+export default {
+    "title": "点位校准",
+    "noEnter": "该场景无法进行点位校准,如需继续编辑,请联系客服:400-669-8025",
+    "editTip": "未选中点云时,鼠标左键旋转视图,右键移动视图",
+    "needToDisConnect": "请选择一个点位,删除它与周围点位的连接",
+    "panoNotAllConnected": "检测到断开的点云,无法计算。",
+    "calcConfirm": "确定计算?\n场景将恢复默认。点云场景已添加的热点、测量、空间模型、已合并/上传的数据集将被清除,同时,被裁剪的点云也将恢复初始状态。Obj 场景的模型将被重置。",
+    "calcConfirmKanKan": "确定计算?场景将恢复默认状态,添加的三维模型被清除。",
+    "resetConfirmKanKan": "重置后场景将恢复至上一次计算完成后的效果,确定重置? 该操作无法撤销。",
+    "un-select": "未选中点云,无法显示全景图",
+    "openRTK": "开启 RTK 定位",
+    "closeRTK": "关闭 RTK 定位",
+    "openRTKTip": "将使用 RTK 参数定位",
+    "closeRTKTip": "将使用当前位置定位",
+    "pointActions": {
+        "move": "移动",
+        "rotate": "旋转",
+        "connect": "连线",
+        "disconnect": "删除连线",
+        "scale": "放大",
+        "reset": "重置"
+    }
+}

+ 20 - 0
src/lang/zh-1/err.ts

@@ -0,0 +1,20 @@
+export default {
+    "scene": {
+        "un": "场景不存在,请检查场景码",
+        "run": "场景正在计算中,请稍后...",
+        "archive": "场景已封存",
+        "del": "场景已被删除",
+        "err": "场景计算失败,请重试",
+        "webgl": "内存不足,请勿同时打开多个页面或应用程序,尝试重启浏览器后重新打开。"
+    },
+    "serve": {
+        "title": "系统升级中",
+        "desc": [
+            "为了让您更好的使用平台资源,我们正在对平台进行升级,升级期间暂时无法访问。",
+            "给您带来的不便,敬请谅解。"
+        ]
+    },
+    "disconnect": "网络错误,请重试",
+    "sdk": "激光场景打开失败,请关闭浏览器后重新打开",
+    "preset": "内存不足,请勿同时打开多个页面或应用程序,尝试重启浏览器后重新打开。"
+}

+ 18 - 0
src/lang/zh-1/fire.ts

@@ -0,0 +1,18 @@
+export default {
+    "title": "消防管理平台",
+    "model": "模型",
+    "addTip": "点击右键或者 Esc 取消添加",
+    "deleteConfirm": "确定要删除此数据吗?",
+    "effect": {
+        "title": "特效",
+        "types": {
+            "fire": "火",
+            "smoke": "烟",
+            "blast": "爆炸"
+        },
+        "listTitle": "我添加的"
+    },
+    "video": {
+        "title": "导览"
+    }
+}

+ 82 - 0
src/lang/zh-1/help.ts

@@ -0,0 +1,82 @@
+export default {
+    "title": "新手指引",
+    "next": "下一步",
+    "prev": "上一步",
+    "tip": "下次可以在此处打开新手指引哦!",
+    "init": "欢迎使用四维深时编辑平台",
+    "link": "用户手册",
+    "videoBtn": "视频教程",
+    "edit": {
+        "query": [
+            "查看模式可以控制界面显示内容,在右下角切换成点云模式后,可以对点云显示进行设置。"
+        ],
+        "data": [
+            "右侧列表展示全部数据,进入点云模式后,点击勾选可以隐藏/显示对应点云。"
+        ],
+        "hotspot": [
+            "右侧列表展示全部数据,进入点云模式后,点击勾选可以隐藏/显示对应点云。"
+        ],
+        "measure": [
+            "点击[开始测量]进行长度、面积测量。"
+        ],
+        "floorpan": [
+            "算法自动生成场景平面图,支持下载、替换或隐藏。"
+        ],
+        "coord": [
+            "若您的场景有使用 RTK 或相关设备采集控制点,即可获取场景内任意位置的地理坐标,且支持多个坐标系转换。"
+        ],
+        "download": [
+            "可下载完整场景,也可对场景进行裁剪后下载。支持下载格式:las. ply. obj。点云格式下载可包含坐标。"
+        ],
+        "coordinate": [
+            "此功能将您的场景真实映射在高德地图上,并获取精准的地理坐标。您需要在场景拍摄时使用 RTK 或相关设备获取控制点,并手动录入参数。若您的相机已配置 RTK,系统将自动获取控制点数据无需手动录入。"
+        ],
+        "spaceDivision": [
+            "当您的场景导入/上传了多个数据集,需要在此模块进行拼接,以便能够正常浏览场景。"
+        ],
+        "spaceModel": [
+            "此模块可以为您的场景划分区域,区域划分好后,搜索该区域可以定位,或按区域导航。"
+        ],
+        "epoint": [
+            "当场景拍摄过程中出现点位位置错误时,可以在此模块进行调整。"
+        ]
+    },
+    "video": {
+        "coordinate": "https://docs.4dkankan.com/#/product/laser/zh-cn/setcontrolpoint",
+        "spaceDivision": "https://docs.4dkankan.com/#/product/laser/zh-cn/splicing",
+        "spaceModel": "https://docs.4dkankan.com/#/product/laser/zh-cn/createfloor",
+        "epoint": "https://docs.4dkankan.com/#/product/laser/zh-cn/calibrationpoint",
+        "kankanEpoint": "https://docs.4dkankan.com/#/product/laser/zh-cn/calibrationpoint"
+    },
+    "query": {
+        "cloud": [
+            "按住鼠标左键,可以旋转镜头方向",
+            "按住鼠标右键,可以平移视图",
+            "单击地面点位,可切换视角在场景中漫游",
+            "点击左下角按钮切换全景图/点云"
+        ],
+        "pano": [
+            "按住鼠标左键,可以旋转镜头方向",
+            "单击地面点位,可切换视角在场景中漫游",
+            "点击左下角按钮切换全景图/点云"
+        ]
+    },
+    "mobile": {
+        "step1": {
+            "title": "行走",
+            "content": "点击任意方向可移动"
+        },
+        "step2": {
+            "title": "旋转视角",
+            "content": "左右滑动屏幕"
+        },
+        "step3": {
+            "title": "缩放",
+            "content": "双指滑动放大或缩小视图"
+        },
+        "step4": {
+            "title": "切换全景图/点云",
+            "content": "单击按钮切换全景图/点云"
+        }
+    }
+}

+ 47 - 0
src/lang/zh-1/hotspot.ts

@@ -0,0 +1,47 @@
+export default {
+    "name": "热点",
+    "addMenu": "添加热点",
+    "flyErr": "距离太远,操作失败。",
+    "show": "显示热点",
+    "all": "全部热点",
+    "added": "已添加热点",
+    "addTip": "请在场景中右键点击“添加热点”",
+    "range": {
+        "set": "可视范围设置",
+        "min": "最小",
+        "max": "最大"
+    },
+    "edit": {
+        "placeholder": {
+            "title": "请输入热点标题",
+            "content": "请输入内容",
+            "addLinkTitle": "请填写链接文本",
+            "addLinkContent": "请填写链接地址"
+        },
+        "unTitle": "存在热点未填写标题",
+        "maxContentLen": "请先清理出位置再添加链接!",
+        "addLink": "添加链接"
+    },
+    "meta": {
+        "image": {
+            "title": "图片",
+            "place": "上传图片",
+            "desc": "支持JPG、PNG图片格式,单张不超过5MB,最多支持上传9张。"
+        },
+        "video": {
+            "title": "视频",
+            "place": "上传视频",
+            "desc": "支持MP4、MOV视频格式,码率小于2Mbps,不超过20MB"
+        },
+        "audio": {
+            "title": "音频",
+            "place": "上传音频",
+            "desc": "支持MP3、WAV格式,不超过5MB"
+        },
+        "web": {
+            "title": "链接",
+            "place": "网页展示区"
+        }
+    },
+    "deleteConfirm": "确定要删除此{type}吗?"
+}

+ 21 - 0
src/lang/zh-1/measure.ts

@@ -0,0 +1,21 @@
+export default {
+  name: "测量",
+  unit: {
+    meter: "公制(米)",
+    inch: "英制(ft)",
+  },
+  len: "长度",
+  area: "面积",
+  toolTip: "取消选中测量工具可以切换点位。",
+  invalidPoint: "点云为空,换个位置试试",
+  start: "开始测量",
+  stop: "停止测量",
+  titlePlac: "点击添加备注",
+  export: "导出测量",
+  exportPDF: "导出PDF",
+  downloadName: "测量结果",
+  copy: "链接复制成功",
+  pageMark: "{length}页中的第{index}页",
+  wxError: "微信浏览器无法导出pdf",
+  unSave: "测量结果未保存,无法生成分享链接",
+};

+ 61 - 0
src/lang/zh-1/resStatus.ts

@@ -0,0 +1,61 @@
+export default {
+    "200": "操作成功",
+    "204": "系统正在处理,请勿重复提交",
+    "304": "操作失败,您已退出登录",
+    "305": "该账号已在另一台设备登陆,本机账号自动退出。",
+    "400": "参数列表错误(缺少,格式不匹配",
+    "401": "未授权",
+    "402": "访问受限,授权过期",
+    "408": "登录状态过期,已自动退出",
+    "500": "系统内部错误",
+    "502": "上传文件需小于 5GB",
+    "503": "上传异常",
+    "2001": "obj下载失败",
+    "2002": "只能输入数字或字母大小写",
+    "2003": "无点云数据",
+    "2004": "校验成功",
+    "2005": "校验失败",
+    "2006": "文件格式有误, 只接收png图片",
+    "3001": "对象不存在",
+    "3002": "特殊点表坐标异常",
+    "3006": "fdToken校验失败",
+    "3007": "查无此任务",
+    "3008": "任务失败",
+    "3009": "登录失败,请稍后再试",
+    "3014": "账号或密码不正确。",
+    "3015": "该用户未注册",
+    "3021": "账号不存在,请核对后重新输入。",
+    "3024": "不能将场景协作给自己",
+    "3101": "正在计算中",
+    "3102": "场景不存在",
+    "3103": "调用计算失败",
+    "3104": "route不存在",
+    "3105": "控制点计算表结果不存在,尝试重算解决",
+    "4001": "验证码发送错误",
+    "4002": "检测控制点坐标正在被修改,暂时无法操作",
+    "4003": "请输入正确地理坐标",
+    "4004": "场景校验失败",
+    "4007": "数据集添加失败",
+    "4008": "检测到该数据集正在进行合并,暂时无法操作",
+    "5027": "文件夹不存在",
+    "5028": "无权修改该文件夹",
+    "5030": "同级文件夹名称不能重复",
+    "6000": "不存在数据集",
+    "6001": "转换模型错误,场景查询不到",
+    "6002": "转换模型错误,控制点查询不到",
+    "6003": "转换模型错误,未设置控制点",
+    "6004": "场景大小超出限制,合并下载失败。",
+    "6005": "info.json文件不存在, 请检查",
+    "6006": "上传图片尺寸跟原图不一致",
+    "6007": "上传平面图错误",
+    "6008": "算法生成平面图失败, info.json不存在",
+    "6009": "没有生成平面图文件,请检查平面图算法是否调用成功",
+    "6010": "vision.txt不存在",
+    "6011": "final_freespace文件不存在",
+    "8001": "恢复默认点云失败,没有找到对应点云数据",
+    "8002": "未获取到可编辑点云",
+    "8004": "后台正在处理,请勿重复上传",
+    "8005": "2022年3月以前的场景不支持重算。",
+    "loginErr": "登录失败,请稍后再试。",
+    "accountErr": "该账号下未检测到当前场景,请更换账号重新登录。"
+}

+ 55 - 0
src/lang/zh-1/scene.ts

@@ -0,0 +1,55 @@
+export default {
+    "flyUnImages": "该位置无全景图,请切换到点云模式再试。",
+    "flyCurrent": "您已在该位置",
+    "getPointError": "空白区域无法获取点位,请移动到点云区域再试。",
+    "pano": "全景图",
+    "cloud": "点云",
+    "objTip": "Mesh 场景",
+    "cloudTip": "点击切换为点云模式",
+    "nav": "导航",
+    "navPath": "导航路线",
+    "navStart": "导航起点",
+    "navEnd": "导航终点",
+    "navPlaceholder": "请确认",
+    "navErr": "超出数据集范围,无法规划路线",
+    "notice": {
+        "handerTitle": "后台处理完成",
+        "handerSuccess": "[ {mode} ] 已完成数据处理。",
+        "handerIng": "场景已被锁定无法编辑,您可以继续浏览场景。",
+        "updateTitle": "提示",
+        "updateSuccess": "场景已被修改,系统即将刷新页面。",
+        "resetSuccess": "场景已重算,系统即将刷新页面",
+        "coordResetSuccess": "控制点坐标已被修改,系统即将刷新页面"
+    },
+    "download": {
+        "cloud": "下载点云",
+        "format": "下载格式",
+        "formatNotSupport": "格式不支持",
+        "cropCloud": "裁剪后下载",
+        "nullCloud": "裁剪框内点云为空,无法下载。",
+        "btn": "立即下载"
+    },
+    "floorpan": {
+        "title": "平面图",
+        "default": "系统默认",
+        "un": "未上传平面图",
+        "customize": {
+            "title": "自定义",
+            "steps": [
+                "请先下载默认平面图,修改或替换后上传。",
+                "上传时,需按照原始文件格式上传,不得修改其尺寸大小。"
+            ],
+            "success": "平面图更新成功",
+            "un": "请上传{title}的自定义图"
+        }
+    },
+    "spaceModel": {
+        "title": "空间模型",
+        "defaultFloorTitle": "1楼"
+    },
+    "pose": {
+        "unSid": "没有找到该panoSid",
+        "unImage": "全景模式下不允许设置位置"
+    },
+    "invalidRight": "空白区域无法使用右键菜单,请移动到点云区域再试。"
+}

+ 102 - 0
src/lang/zh-1/sys.ts

@@ -0,0 +1,102 @@
+export default {
+    "title": "激光",
+    "query": "查看",
+    "searchAll": "搜索",
+    "search": "搜索建筑物\\房间\\热点...",
+    "unSearchData": "未搜索到结果",
+    "inputScenePwd": "输入场景密码",
+    "phonePlace": "请输入手机号码",
+    "unPhonePlace": "手机号码不能为空",
+    "pwdPlace": "请输入密码",
+    "setPwdPlace": "设置密码",
+    "setRepeatPwdPlace": "重复密码",
+    "unPwdPlace": "密码不能为空",
+    "pwdReg": "密码需要包含英文大小写、数字、长度8-16字符",
+    "unRepeatPwd": "确认密码不能为空",
+    "pwdErr": "密码错误",
+    "codePlace": "请输入验证码",
+    "getCode": "获取验证码",
+    "resetCodeTime": "{count}s后重新发送",
+    "accountLoginTitle": "用户登录",
+    "qrLoginTitle": "相机登录",
+    "markPwd": "记住密码",
+    "repeatPwdDiff": "两次输入的密码不一致",
+    "login": "登录",
+    "qrPlace": "打开四维看看app扫一扫登录",
+    "forgetPwd": "忘记密码",
+    "updatePwdSuccess": "密码修改成功",
+    "retrievePwd": "找回密码",
+    "logout": "退出",
+    "logoutConfirm": "确定要退出登录吗?",
+    "haveAccountLogin": "使用已有帐户登录",
+    "unData": "暂无数据",
+    "help": "帮助中心",
+    "repeatLogin": {
+        "title": "检测到另一台设备已登录此账号,是否继续?",
+        "content": "选择【继续登录】,另一台设备将退出登录,其操作不会被保存。",
+        "btn": "继续登录"
+    },
+    "inputPlc": "请输入",
+    "selectPic": "请选择",
+    "dialogTitle": "提示",
+    "update": "修改",
+    "cancel": "取消",
+    "add": "添加",
+    "crop": "裁剪",
+    "save": "保存",
+    "leave": "退出",
+    "submit": "提交",
+    "calc": "计算",
+    "hide": "隐藏",
+    "open": "开启",
+    "close": "关闭",
+    "ok": "我知道了",
+    "reset": "重置",
+    "enter": "确定",
+    "show": "显示",
+    "delete": "删除",
+    "ignore": "忽略",
+    "setup": "设置",
+    "edit": "编辑",
+    "all": "全部",
+    "refer": "刷新",
+    "upload": "上传",
+    "uploadAddText": "继续添加",
+    "uploadReplaceText": "替换",
+    "uploadErr": {
+        "len": "最多仅支持{len}个文件!",
+        "size": "{name}的大小超过{size}",
+        "scale": "{name}的比例不为{scale}",
+        "accept": "仅支持{accept}格式文件"
+    },
+    "download": "下载",
+    "unset": "未设置",
+    "unUpdate": "没有修改",
+    "downloadSuccess": "下载成功",
+    "forceLeaveConfirm": "您有操作未保存,确定要退出吗?",
+    "resetConfirm": "确定重置?该操作无法撤销。",
+    "compatible": {
+        "tip": "无法打开页面,请升级或更换浏览器后重新打开",
+        "selectTip": "建议使用以下浏览器",
+        "ff": "火狐",
+        "edg": "Microsoft Edge",
+        "safari": "Safari",
+        "chrome": "Chrome"
+    },
+    "time": {
+        "h": "小时",
+        "m": "分钟",
+        "about": "约"
+    },
+    "setting": {
+        "setName": "修改名称",
+        "setNameErr": "场景名称不能为空!",
+        "setNamePlace": "请输入标题",
+        "setPic": "设置初始画面",
+        "setView": "可视设置",
+        "setOpen": "浏览设置",
+        "setOpenErr": "请输入加密密码!",
+        "public": "公开",
+        "pwd": "加密"
+    }
+}

src/lang/zh/tl-en.ts → src/lang/zh-1/tl-en.ts


+ 551 - 0
src/lang/zh-1/tl.ts

@@ -0,0 +1,551 @@
+export default {
+  addName: "添加名称",
+  pubName: "常用名称",
+  coption1: "轿车",
+  coption2: "客车",
+  coption3: "货车",
+  coption4: "牵引车",
+  coption5: "正三轮机动车",
+  coption6: "自行车",
+  coption7: "伤体",
+  coption8: "牲畜",
+  coption9: "散落物",
+  coption10: "岗台",
+  coption11: "桥",
+  slide1: "平面",
+  slide2: "侧面",
+  selected: "已选择{count}张",
+  fixPoint: "固定点",
+  OK: "成功",
+  UnBaseLine: "请先创建基准线",
+  UnBasePoint: "请先创建基准点",
+  UnSelectBasePoint: "请先选择基准点",
+  UnFixPoint: "请先创建固定点",
+  dtex: "文本",
+  basep: "基准点",
+  basel: "基准线",
+  draw: "绘图",
+  photos: "相册",
+  accidents: "事故照片",
+  roads: "道路照片",
+  tabulation: "制表",
+  gena4: "生成A4",
+  tables: "道路交通事故现场勘查笔录",
+  demo: "表格",
+  aptypes: ["概览照片", "中心照片", "细目照片", "方位照片"],
+
+  weather: "晴天",
+  conditions: "普通",
+  illustrate:
+    "说明:绘图比例为1:215,单位为米。车辆甲为小轿车,无车号。车辆乙为小轿车,无车号。选取道路边缘线为基准线,井盖为基准点。",
+  loaderr: "场景数据加载失败",
+  labelps: "已标注照片({length})",
+  pphotos: "全部照片({length})`",
+  proads: "现场图管理({length})",
+  upphonto: "无照片,请打开场景拍照获取。",
+  uproads: "无现场图。请点击右上角按钮绘制现场图。",
+
+  cancel: "取消",
+  select: "选择",
+  add: "新增",
+  unp: "无照片。请点击右上角按钮标注照片。",
+  edit: "修改",
+  del: "删除",
+  save: "保存",
+  cdel: "确定要删除此数据?",
+  cndel: "确定要删除这{length}项数据?",
+  savep: "已保存至相册",
+  errp: "照片生成失败",
+  r1: "现场绘图",
+  r2: "事故照片",
+  su: "完成",
+  saves: "保存成功",
+  ud: "无结果",
+  it: "图例",
+  rt: "道路结构",
+  pub: "常用",
+  icon: {
+    jg_bmx: "斑马线",
+    jg_xfsj: "消火栓井",
+    jg_ysk: "雨水口",
+    jg_lmak: "路面凹坑",
+    jg_lmtcbf: "路面凸出...",
+    jg_lmjs: "路面积水",
+    mb_sxwl: "s型弯路",
+    mb_dzlk: "丁字路口",
+    mb_wclk: "五岔路口",
+    mb_ckzd: "出口匝道",
+    mb_szlk: "十字路口",
+    mb_gdlj: "国道(路肩)",
+    mb_snld: "室内路段",
+    mb_wd: "弯道",
+    mb_jzwd: "急转弯道",
+    mb_lclk: "六岔路口",
+    mb_zjwd: "直角弯道",
+    mb_jkzd: "进口匝道",
+    mb_gssfz: "高速收费站",
+    mb_gsld: "高速路段",
+    measure_r: "直角定位法",
+    ymeasure_r: "一键测量",
+    measure_free: "自由测量",
+    road: "道路",
+    line_d: "画线",
+    legend: "图例",
+    measure: "测量",
+    text: "文字",
+    magnify_g: "放大镜",
+    setting: "设置",
+    r_template: "道路结构",
+    r_structure: "道路模板",
+    Text: "文字",
+    Circle: "圈出",
+    SingleArrow: "箭头",
+    Magnifier: "放大镜",
+    GoBack: "回退",
+    GoAhead: "前进",
+    Clear: "清除",
+    BackImageChange: "底图开关",
+
+    color: "颜色",
+    type: "类型",
+    arrows_s: "单向",
+    arrows_d: "双向",
+    copy: "复制",
+    photo: "拍照",
+    map: "相册",
+    recover: "恢复默认",
+
+    line_sf: "单实线",
+    line_sd: "单虚线",
+    line_df: "双实线",
+    line_dd: "双虚线",
+    line_broken: "折线",
+    line_dot: "点画线",
+    l_thick: "宽度",
+    control_a: "控制点",
+    stone: "路缘线",
+    addcontrol_a: "加控制点",
+    lane_a: "加车道",
+    lane_d: "减车道",
+    fontSize: "文字大小",
+    fontEdit: "修改文字",
+  },
+  defr: "默认单车道宽度",
+  unit: "单位:",
+  defw: "默认隔离带宽度",
+  basew: "基本线宽 b",
+  photograph: "相机拍照",
+  selectPhotoAlbum: "相册选择",
+  scene: "场景截图",
+
+  table: {
+    t1: "到达事故现场时间",
+    t2: "天气",
+    t3: "路面性质",
+    t4: "事故发生地点",
+    t5: "绘图时间",
+    t6: "勘察员",
+    t7: "绘图员",
+    t8: "当事人签字",
+    t9: "见证人签字",
+    t10: "未命名",
+  },
+  pnull: "点云为空,换个位置试试",
+  time: "yyyy年MM月dd日hh时mm分",
+  tip: "提示",
+  dscene: {
+    dblc: "请先绘制基准线",
+    dbpc: "请先创建基准点",
+    gdblc: "去绘制",
+    gdbpc: "创建基准点",
+    sbd: "请选择一个基准点",
+  },
+  t1: {
+    i1: "事故时间",
+    i2: "天气",
+    i3: "地点",
+    i4: "事故描述",
+    i5: "案件",
+    i6: "勘查笔录",
+    i7: "询问笔录",
+    i8: "讯问笔录",
+    i9: "事故认定",
+    i10: "血样登记表",
+    i11: "遗留物品清单",
+    i12: "授权委托书",
+    i13: "法律法规",
+  },
+  pdraw: "请绘制{name}",
+  psbasep: "请单击选择基准点位置",
+  psfixp: "请单击选择固定点位置",
+  fixg: "形状",
+  mline: "测量线",
+  pfixg: "请单击绘制固定点形状",
+  pdnull: "确认清空?该操作无法撤销",
+
+  menus: [
+    "清空",
+    "测量",
+    "水平",
+    "垂直",
+    "自由",
+    "固定点",
+    "绘制线",
+    "垂足",
+    "基准",
+    "范围",
+    "离地高度",
+    "水平缩放",
+    "水平旋转",
+    "恢复",
+  ],
+
+  t2: [
+    "道路交通事故现场勘查笔录",
+    "询问笔录",
+    "讯问笔录",
+    "道路交通事故认定书",
+    "当事人血样登记表",
+    "道路交通事故现场遗留物品清单",
+    "授权委托书",
+  ],
+
+  t3: [
+    "现场勘查",
+    "补充勘查",
+    "普通路段",
+    "高架路段",
+    "变窄路段",
+    "窄路",
+    "桥梁",
+    "隧道",
+    "路段进出处",
+    "路侧险要路段",
+    "其他特殊路段",
+    "三枝分叉口",
+    "四枝分叉口",
+    "多枝分叉口",
+    "环形交叉口",
+    "匝道口",
+
+    "城市快速路",
+    "一般城市道路",
+    "单位小区自建路",
+    "公共停车场",
+    "公共广场",
+    "其他路",
+
+    "国道",
+    "省道",
+    "乡村道",
+    "其他",
+
+    "高速",
+    "一级",
+    "二级",
+    "三级",
+    "四级",
+    "等外",
+
+    "晴",
+    "阴",
+    "多云",
+    "雨",
+    "雪",
+    "雾",
+    "冰雹",
+    "沙尘",
+    "霾",
+    "其他",
+  ],
+  t4: [
+    "影响视线或行驶的障碍物:",
+    "递路交通标志:",
+    "道路交通标线:",
+    "中央隔离设施:",
+    "路侧防护设施:",
+    "照明情况:",
+    "路面材料:",
+    "路面状况:",
+    "路表状况:",
+    "其他需要记录的情况:",
+  ],
+  t5: [
+    "无",
+    "有:",
+    "沥青",
+    "水泥",
+    "砂石",
+    "土路",
+    "其他",
+
+    "路面完好",
+    "施工",
+    "凹凸",
+    "塌陷",
+    "路障",
+    "其他",
+
+    "干燥",
+    "潮湿",
+    "积水",
+    "漫水",
+    "冰雪",
+    "泥泞",
+    "其他",
+
+    "白天 夜间路灯照明",
+    "有",
+  ],
+
+  t6: [
+    "第",
+    "页",
+    "次",
+    "共",
+    "询问",
+    "讯问",
+    "笔录",
+    "时间",
+    "至",
+    "地点",
+    "人",
+    "工作单位",
+    "记录人",
+    "被",
+    "性别",
+    "年龄",
+    "出生日期",
+    "身份证件种类及号码",
+    "人大代表",
+    "现住址",
+    "联系方式",
+    "户籍所在地",
+    "口头传唤/被扭送/自动投案的被",
+    "于",
+    "到达,",
+    "离开,",
+    "本人签名:",
+    "被询问人:",
+    "被讯问人:",
+  ],
+  t7: ["是", "否"],
+  t8: [
+    "道路交通事故现场勘查笔录(续页)",
+    "六、对车辆驾驶人进行酒精含量、国家管制的精神药品和麻醉药品测试的结果以及提取血样、",
+    "编号",
+    "姓名",
+    "身份证号码",
+    "联系电话",
+    "交通方式",
+    "酒精、 国家管制精神药品和麻醉药品测试结果",
+    "是否抽血或提取尿样",
+    "备注",
+    "七、肇事车辆驶离的方向、 车型、 车号、 车身颜色等情况",
+    "编号",
+    "牌号",
+    "车型",
+    "车身颜色",
+    "驶离路线、方向",
+    "驾乘人员情况",
+    "其他信息",
+    "八、现场采取强制措施情况",
+    "九、勘查现场的交通警察认为应当记录的其他情况",
+    "现场勘查人员签名:",
+    "记录人签名:",
+    "当事人签名:",
+    "见证人签名:",
+    "共肆页",
+  ],
+  t9: [
+    "道路交通事故现场勘查笔录 ",
+    "勘查单位",
+    "勘查时间",
+    "事故时间",
+    "事故地点",
+    "道路类型",
+    "公路",
+    "技术等级",
+    "行政等级",
+    "城市道路",
+    "路口路段类型",
+    "路口",
+    "路段",
+    "路名",
+    "路号(公路)",
+    "位置",
+    "卫星定位",
+    "经度",
+    "纬度",
+    "地点描述",
+    "天气",
+    "一、事故现场道路环境",
+    "现场勘查人员签名:",
+    "记录人签名:",
+    "当事人签名:",
+    "见证人签名:",
+    "共肆页",
+  ],
+
+  t10: [
+    "道路交通事故现场勘查笔录(续页)",
+    "(一)地面痕迹:",
+    "(二)车体痕迹:",
+    "(三)人体痕迹:",
+    "(四)物证:",
+    "(五)其他:",
+    "现场勘查人员签名:",
+    "记录人签名:",
+    "当事人签名:",
+    "见证人签名:",
+    "共肆页",
+    "五、现场痕迹物证的种类、形态、尺寸、位置以及固定或者提取情况",
+  ],
+  t11: [
+    "二、现场监控设备情况",
+    "三、现场伤亡人员基本情况及救援",
+    "(一)伤亡人员基本情况;",
+    "当场死亡:",
+    "人",
+    "急救、医疗人员签名确认:",
+    "受伤",
+    "伤亡人员去向:",
+    "其他需求说明的情况:",
+    "(二)救援简要情况:",
+    "是否涉及危险物品:",
+    "名称:",
+    "相关部门和人员到达情况:",
+    "四、现场事故车辆车型、牌号及车辆挡位转向、灯光、仪表指针位置,汽车行驶记录仪、车载事件数据记录仪、卫星定位装置等安装及使用情况",
+    "编号",
+    "牌号",
+    "车辆类型",
+    "车辆档位",
+    "灯光开启情况",
+    "车速仪表指针位置",
+    "车载设备安装使用情况(有,无)",
+
+    "汽车行驶记录仪",
+    "车载事件数据记录仪",
+    "卫星定位装置",
+
+    "现场勘查人员签名:",
+    "记录人签名:",
+    "当事人签名:",
+    "见证人签名:",
+
+    "未发现",
+    "发现",
+    "否",
+    "是",
+    "医疗",
+    "消防",
+    "清障",
+    "其他",
+  ],
+  t12: [
+    "当事人血样(尿样)提取登记表",
+    "姓名",
+    "性别",
+    "身份证号码",
+    "事故时间",
+    "地点",
+    "血样(尿样)提取时间",
+    "血样(尿样)提取地点",
+    "血样(尿样)提取人员填写",
+    "提取登记",
+    "A样本盛装容器编号",
+    "提取量",
+    "B样本盛装容器编号",
+    "消毒名称",
+    "密封方式",
+    "提取人员单位",
+    "提取人员(签名)",
+    "通知家属情况",
+    "被提取人(签名)",
+    "见证人(签名)",
+    "交通警察(签名)",
+    "办案单位",
+  ],
+  t13: [
+    "道路交通事故认定书(简易程序)",
+    "第",
+    "号",
+    "事故时间",
+    "天气",
+    "事故地点",
+    "当事人",
+    "驾驶证或身份证号码",
+    "联系方式",
+    "交通方式",
+    "机动车类型、牌号",
+    "保险公司",
+    "交强险凭证号",
+    "交通事故事实及责任",
+    "当事人:",
+    "(道路交通事故处理专用章)",
+    "交通警察:",
+    "损害赔偿调解结果",
+    "当事人:",
+    "当事人对交通事故认定有异议的,可以自道路交通事故认定书送达之日起三日内提出书面复核申请。同一事故的复核以一次为限。损害赔偿有争议的,当事人可以申诮人民调解委员会调解,或者向人民法院提起民事诉讼。",
+    "注:此文书存档一份,交付各方当事人各一份。可使用无碳复写纸制作。",
+    "财产损失事故",
+    "受伤当事人伤势轻微,各方当事人一致同意适用简易程序处理",
+  ],
+  t14: [
+    "下载",
+    "确定",
+    "保存",
+    "道路交通事故现场勘查笔录",
+    "询问笔录",
+    "讯问笔录",
+    "授权委托书",
+    "道路交通事故现场遗留物品清单",
+    "当事人血样(尿样)提取登记表",
+    "道路交通事故认定书(简易程序)",
+    "法律法规",
+  ],
+  t15: [
+    "道路交通事故现场遗留物品清单",
+    "事故时间",
+    "事故地点",
+    "编号",
+    "物品名称",
+    "数量",
+    "特征",
+    "领取人签名",
+    "领取时间",
+    "备注",
+    "当事人签名:",
+    "交通警察(签名):",
+  ],
+  t16: [
+    "授权委托书",
+    "委托人:",
+    "性别:",
+    "年龄:",
+    "身份证号:",
+    "住址:",
+    "联系方式:",
+    "受委托人姓名:",
+    "性别:",
+    "年龄:",
+    "身份证号:",
+    "工作单位:",
+    "住址及联系方式:",
+    "现委托上述受委托人参与:",
+    "一案",
+    "处理工作。",
+    "受托人:",
+    "代理权限为:",
+    "一般代理。即代理为参与诉讼、调解,提供法律帮助。",
+    "特别授权,代为起诉,陈述事实,参加辩论和调解,代为提出、承认、放弃或变更赔偿请求, 提起反诉或上诉,签收法律文书。",
+  ],
+  t17: [
+    "受托人:",
+    "代理权限为:",
+    "委托人(签名):",
+    "受委托人(签名):",
+    "一般代理。即代理为参与诉讼、调解,提供法律帮助。",
+    "特别授权,代为起诉,陈述事实,参加辩论和调解,代为提出、承认、放弃或变更赔偿请求, 提起反诉或上诉,签收法律文书。",
+  ],
+};

+ 11 - 0
src/lang/zh-1/tool.ts

@@ -0,0 +1,11 @@
+export default {
+    "magnify": "放大镜",
+    "free": "自由",
+    "lfree": "水平",
+    "vfree": "垂直",
+    "area": "多边形",
+    "rect": "矩形",
+    "move": "移动",
+    "series": "连续直线",
+    "rotate": "旋转"
+}

+ 40 - 0
src/lang/zh-1/view.ts

@@ -0,0 +1,40 @@
+export default {
+    "top": "顶视图",
+    "side": "侧视图",
+    "scene": "3D",
+    "clound": "漫游视图",
+    "sideLeft": "侧视图(N-S)",
+    "sideRight": "侧视图(E-W)",
+    "switchMiniView": "{action}迷你视角",
+    "switchView": "切换视图",
+    "seting": "视图设置",
+    "showMini": "显示迷你视角",
+    "showPano": "显示漫游点位",
+    "showMap": "显示高德地图",
+    "showFloorpan": "显示平面图",
+    "cloudSeting": "点云设置",
+    "reset": "恢复默认",
+    "density": {
+        "name": "点云质量",
+        "low": "低",
+        "middle": "中",
+        "high": "高"
+    },
+    "colorMode": {
+        "name": "色彩模式",
+        "full": "彩色",
+        "altitude": "海拔",
+        "translucent": "半透明"
+    },
+    "shape": {
+        "name": "点的形状",
+        "rectangle": "矩形",
+        "circular": "圆形"
+    },
+    "moreSetting": "高级设置",
+    "range": "范围",
+    "opacity": "不透明度",
+    "size": "点的大小",
+    "detail": "细节",
+    "strong": "强化边缘"
+}

+ 1 - 1
src/lang/zh-entry.ts

@@ -15,7 +15,7 @@ import sys from "./zh/sys";
 import tool from "./zh/tool";
 import view from "./zh/view";
 // import tl from "./zh/tl";
-import tl from "./zh/tl-en";
+import tl from "./zh/tl";
 
 // const lang = langMessageFactory(import.meta.globEager('./zh/*'))
 

+ 45 - 45
src/lang/zh/coord.ts

@@ -1,52 +1,52 @@
 export default {
-    "name": "坐标",
-    "title": "坐标系",
-    "manageTitle": "地理注册",
-    "selectType": "选择坐标类型",
-    "lat": "纬度",
-    "lng": "经度",
-    "height": "高程",
-    "ctrls": "控制点",
-    "copy": "复制坐标",
-    "copySuccess": "坐标复制成功!",
+    "name": "coord",
+    "title": "Coordinate system",
+    "manageTitle": "Geo-Registration",
+    "selectType": "Select coordinate type",
+    "lat": "Dimension",
+    "lng": "Longitude",
+    "height": "Elevation",
+    "ctrls": "Control Point",
+    "copy": "Copy coordinates",
+    "copySuccess": "Coordinates copied successfully!",
     "types": {
-        "local": "本地坐标",
-        "amap": "高德坐标",
-        "gmap": "谷歌坐标",
-        "screen": "屏幕坐标",
+        "local": "Local coordinates",
+        "amap": "Amap coordinates",
+        "gmap": "Google map",
+        "screen": "Screen coordinates",
         "wgs84": "wgs84",
-        "webMercator": "大地坐标",
-        "gis": "大地坐标",
-        "pro": "投影坐标"
+        "webMercator": "Geodetic coordinate",
+        "gis": "Geodetic coordinate",
+        "pro": "Projected coordinate"
     },
     "edit": {
-        "gis": "地理坐标",
-        "unsetCtrls": "请先设置控制点",
-        "whySetCtrls": "为什么要设置控制点?",
-        "dms": "度°分′秒″",
-        "num": "度°",
-        "placeholder": "请输入",
-        "placeholderDMS": "请输入度°分′秒″",
-        "placeholderD": "请输入度°",
-        "inputGis": "请输入该坐标系下,控制点的地理坐标",
-        "getGis": "如何获取地理坐标?",
-        "noRepeat": "地理坐标和本地坐标未重合,请检查是否输入正确。",
-        "noRepeatUpdate": "查看如何调整",
-        "diff": "相差",
-        "map": "地图",
-        "gmap": "高德地图",
-        "ggmap": "谷歌地图",
-        "gisUpdateLocalUn": "P {index} 地理坐标已改,本地坐标未改",
-        "localUpdateGisUn": "P {index} 本地坐标已改,地理坐标未改",
-        "gisDataErr": "数据不正确,请检查地理坐标p1,p2格式是否正确,是否数值相同!",
-        "localDataErr": "数据不正确,请检查本地坐标p1,p2格式是否正确,是否数值相同!",
-        "pointEqual": "请勿在P1、P2输入相同数值",
-        "movePoint": "P {index} 移动到这里",
-        "setPoint": "设为P {index}",
-        "localPoint": "P{index}本地坐标",
-        "setCtrls": "设置控制点",
-        "trapLocalPoint": "请在场景中鼠标右键设置控制点的本地坐标",
-        "whyTrapLocalPoint": "为什么要设置本地坐标?",
-        "userUseMouse": "自定义(场景中右键选择)"
+        "gis": "Geographical coordinates",
+        "unsetCtrls": "Please first establish the control points",
+        "whySetCtrls": "Why must the control points be set?",
+        "dms": "Degrees°mins′sec″  Please enter",
+        "num": "Degree° ",
+        "placeholder": "Please enter",
+        "placeholderDMS": "degrees°mins′sec″",
+        "placeholderD": "degrees°",
+        "inputGis": "Input the geographic coordinates of the control point in this coordinate system.",
+        "getGis": "How can the geographic coordinates be obtained?",
+        "noRepeat": "The geographical coordinates and local coordinates do not overlap; please double-check their accuracy.",
+        "noRepeatUpdate": "Examine how to adapt",
+        "diff": "Gap",
+        "map": "Map",
+        "gmap": "Amap",
+        "ggmap": "Google map",
+        "gisUpdateLocalUn": "P {index} Changes were made to geographical coordinates but not to the local coordinates.",
+        "localUpdateGisUn": "P {index} Changes were made to local coordinates but not to the geographical coordinates.",
+        "gisDataErr": "If the data is inaccurate, please verify that the local coordinates p1,p2 have the same value and are in the correct format!",
+        "localDataErr": "If the data is inaccurate, please verify that the local coordinates p1,p2 have the same value and are in the correct format!",
+        "pointEqual": "Please insert different values in P1 and P2!",
+        "movePoint": "P {index} Move to here",
+        "setPoint": "Set as P {index}",
+        "localPoint": "P{index}Local coordinates",
+        "setCtrls": "Set as the control point",
+        "trapLocalPoint": "Please establish the scene's control point's local coordinates with the right mouse button.",
+        "whyTrapLocalPoint": "Why must I enter local coordinates?",
+        "userUseMouse": "Customize (right click in the scene to select) "
     }
 }

+ 17 - 17
src/lang/zh/crop.ts

@@ -1,20 +1,20 @@
 export default {
-    "title": "裁剪点云",
-    "needToDisConnect": "请选择一个点位,删除它与周围点位的连接",
-    "panoNotAllConnected": "检测到断开的点云,无法计算。",
-    "reset": "恢复初始状态",
-    "calcConfirm": "确定计算?计算可能需要一定时间,请确保裁剪完成后再进行此操作。",
-    "resetConfirm": "恢复初始状态需要重新计算。\n添加的热点、测量、空间模型、裁剪效果、已合并/上传的数据集将被清除,请谨慎操作。",
-    "clearConfirm": "确定清空所有裁剪框?该操作无法撤销。",
-    "calcBtn": "重算",
-    "tip": "裁剪点云前,请查看 ",
-    "tipOper": "操作提示",
+    "title": "Crop point cloud",
+    "needToDisConnect": "Please select a point location and delete its connections to its surrounding points",
+    "panoNotAllConnected": "A disconnected point cloud is detected but cannot be calculated",
+    "reset": "Restore the initial status",
+    "calcConfirm": "Confirm to calculate? \nPlease ensure that the point cloud crop is complete prior to \nperforming this operation, as the calculation may take some time.",
+    "resetConfirm": "Calculation is required to restore the initial status.\nPlease proceed with caution, as added hotspots, measurements,\n spatial models, cropping effects, and merged/uploaded datasets \nwill be deleted.",
+    "tip": "Please verify before cropping point cloud",
+    "tipOper": "Tips",
     "pointActions": {
-        "move": "移动",
-        "rotate": "旋转",
-        "scale": "缩放",
-        "exclude": "从框内减去",
-        "intersect": "仅保留框内",
-        "clear": "清空"
-    }
+        "move": "Move",
+        "rotate": "Rotate",
+        "scale": "Scale",
+        "exclude": "Exclude",
+        "intersect": "Intersect",
+        "clear": "Clear"
+    },
+    "clearConfirm": "Clear all cropping boxes? This action cannot be undone.",
+    "calcBtn": "Recalculate"
 }

+ 54 - 54
src/lang/zh/dataset.ts

@@ -1,63 +1,63 @@
 export default {
-    "title": "数据集",
-    "all": "全部数据集",
-    "unsetTitle": "未分配的数据集",
-    "manageTitle": "数据集管理",
-    "uploadName": "您上传的",
-    "uploadTitle": "上传的数据集",
-    "correctTitle": "数据集校准",
-    "refer": "参考数据集",
-    "initial": "初始数据集",
-    "recalcJoinDeleteTip": "【{sceneName}】被重算,您添加的数据集【{title}】已被删除",
-    "deleteJoinDeleteTip": "【{sceneName}】被删除,您添加的数据集【{title}】已同步删除",
-    "join": "合并",
-    "joinTitle": "合并数据集",
-    "joinTip": "选择场景后,其{dataset}将与当前场景合并",
-    "joinBtn": "立即合并",
-    "joinSBtn": "在线合并",
-    "upload": "上传",
-    "uploadSBtn": "本地上传",
-    "uploadIng": "文件上传中",
-    "uploadCheck": "文件名请勿包含非法字符\" / : ?[<+=;,¥%&*和空格",
-    "repeatUpload": "数据正在上传,请稍后再试",
-    "backSearch": "< 返回搜索结果",
-    "unJoinDatasets": "您账号下暂无可添加数据集。",
-    "exists": "已添加",
-    "calc": "计算中",
-    "backCalc": "后台计算中…",
-    "pointNum": "点位数",
-    "format": "格式",
-    "deleteTip": "该数据集下的热点、测量结果也将一并删除,此操作不可撤销。",
+    "title": "Dataset ",
+    "all": "All datasets",
+    "unsetTitle": "Unassigned datasets",
+    "manageTitle": "Dataset Management ",
+    "uploadTitle": "Uploaded datasets",
+    "correctTitle": "Calibration Datasets",
+    "refer": "Reference datasets",
+    "initial": "Original dataset",
+    "recalcJoinDeleteTip": "【{sceneName}】Recalculated, the new dataset【{title}】has been removed.",
+    "deleteJoinDeleteTip": "【{sceneName}】The dataset 【{title}】you added has been removed.",
+    "join": "Merge",
+    "joinTitle": "Merge datasets",
+    "joinTip": "Once a scene is selected, it {dataset} will be merged with the current scene.",
+    "joinBtn": "Merge instantly",
+    "joinSBtn": "Merge online",
+    "upload": "Upload",
+    "uploadSBtn": "Local upload",
+    "uploadIng": "Uploading..",
+    "uploadCheck": "Please do not include unknown characters \" / : ?[<+=;,¥%&*and spaces in file names.",
+    "repeatUpload": "Please try later while data is uploading.",
+    "backSearch": "<  Back to search results",
+    "unJoinDatasets": "There are no datasets available to be added to your account.",
+    "exists": "Added",
+    "calc": "Calculating..",
+    "pointNum": "Quantity of points",
+    "format": "Format",
+    "deleteTip": "This data set's hotspots and measurements will also be erased, and this action cannot be reversed.",
     "reset": {
-        "title": "确认恢复默认场景?",
-        "tip": "合并/上传的数据集以及其所在位置的热点、测量将会被一并删除。"
+        "title": "Confirm to restore the default scene?",
+        "tip": "At the current location, the merged/uploaded dataset together with the hotspots and measurement data will be deleted."
     },
     "calibration": {
-        "gotoTip": "请校准数据集,使其在场景中正确拼接。"
+        "gotoTip": "Please calibrate the dataset to ensure that it is stitched appropriately into the scene."
     },
     "setting": {
-        "setName": "编辑数据集",
-        "subtleTip": "请在右侧面板中选中需要微调的数据集",
-        "lockTip": "该数据集已被控制点锁定",
-        "subtle": "微调",
-        "viewCenter": "视图居中"
+        "setName": "Edit dataset",
+        "subtleTip": "Please pick the dataset to be modified in the panel on the right.",
+        "lockTip": "The control point restricts the current dataset.",
+        "subtle": "Fine-tune",
+        "viewCenter": "Center"
     },
     "model": {
-        "showTitle": "空间数据",
-        "title": "空间模型",
-        "titleConfirm": "空间名称为空无法保存。",
-        "set": "编辑空间模型",
-        "name": "空间名称",
-        "area": "面积",
-        "volume": "体积",
-        "height": "层高",
-        "resetTip": "将恢复默认形状,是否确定重置?",
-        "construct": "建筑物",
-        "floor": "楼",
-        "room": "房间",
-        "delConstructTip": "删除建筑物将删除其包含所有空间模型,该操作不删除数据集。",
-        "delNoconstructTip": "是否删除空间模型?",
-        "addFloorTop": "在顶部添加楼层",
-        "addFloorBottom": "在底部添加楼层"
-    }
+        "showTitle": "Space data",
+        "title": "Space model",
+        "set": "Modify space model",
+        "name": "Space title",
+        "area": "Area",
+        "volume": "Volume",
+        "height": "Storey height",
+        "resetTip": "The default form will be restored; confirm to reset?",
+        "construct": "Building",
+        "floor": "Floor",
+        "room": "Room",
+        "delConstructTip": "This action does not remove the dataset; deleting a building deletes all the spatial models it contains.",
+        "delNoconstructTip": "Confirm to delete the space model?",
+        "addFloorTop": "Add a floor at the top",
+        "addFloorBottom": "Add a floor at the bottom",
+        "titleConfirm": "Please enter a name for the dataset"
+    },
+    "backCalc": "Calculating...",
+    "uploadName": "My Uploaded"
 }

+ 83 - 0
src/lang/zh/earthwork.ts

@@ -0,0 +1,83 @@
+export default {
+    "name": "Earthwork",
+    "unit": {
+        "meter": "Metric (m)",
+        "inch": "Inch(ft)"
+    },
+    "len": "Length",
+    "area": "Area",
+    "calcConfirmTitle": "Confirm calculation?",
+    "calcConfirmMsg": "During the earthwork calculation process, the scene will be locked and cannot be manipulated.",
+    "calcSuccess": "Earthwork calculation completed.",
+    "dname": "Draw",
+    "downFormatDis": "Sampling distance",
+    "inputAuthor": "Reporter name",
+    "downFormatType": "Data type",
+    "downTitle": "Download date",
+    "toolTip": "Cancelling the drawing tool allows switching positions.",
+    "invalidPoint": "Please measure on the point cloud.",
+    "start": "Earthwork calculation",
+    "stop": "Stop drawing",
+    "titlePlac": "Add a comment",
+    "export": "Download report",
+    "exportPDF": "Download",
+    "downloadName": "Earthwork results",
+    "slamWring": "Earthwork measurement is temporarily not supported in Slam scenes",
+    "downloadTitle": "Measurement report",
+    "copy": "Copied",
+    "pageMark": "Page {index} of {length}",
+    "wxError": "WeChat browser cannot export PDF.",
+    "uncalcs": "Uncomputed earthwork cannot be {name}, and has been automatically filtered.",
+    "unSave": "The unsaved earthwork results cannot generate a sharing link.",
+    "defaultTitle": "Earthwork",
+    "unTitle": "Unnamed",
+    "repeatTitle": "Redraw?",
+    "repeatContent": "Clicking [OK] will clear the drawn earthwork boundary lines.",
+    "datLabel": "Coordinates (dat format file)",
+    "nameLabel": "Earthwork naming",
+    "baseLabel": "Reference plane",
+    "heightLabel": "Finished ground level",
+    "heightSlice": "H",
+    "heightTypes": {
+        "0": "Custom plane",
+        "1": "Top plane",
+        "2": "Bottom plane"
+    },
+    "nameNullTip": "Name cannot be empty",
+    "heightNullTip": "Reference plane height cannot be empty",
+    "baseNullTip": "Reference plane type cannot be empty",
+    "downName": "Date",
+    "shareName": "Report",
+    "digV": "Cut volume",
+    "fillV": "Fill volume",
+    "digOptions": {
+        "0": "Cut {min}~{max}m³",
+        "1": "Cut >{min}m³"
+    },
+    "fillOptions": {
+        "0": "Fill {min}~{max}m³",
+        "1": "Fill >{min}m³"
+    },
+    "digAndFill": "Simultaneous cut and fill",
+    "calcTime": "Report date",
+    "calcAuthor": "Reporter",
+    "calcDefault": "未知",
+    "timeFormat": "MM/dd/yyyy",
+    "avgArea": "Leveling area",
+    "minHeight": "Minimum elevation",
+    "maxHeight": "Maximum elevation",
+    "avgHeight": "Fnished ground level",
+    "fill": "Cut volume",
+    "dig": "Fill volume",
+    "pdfTitle": "Total earthwork volume result",
+    "zarea": "Total leveled area",
+    "zdig": "Total cut volume",
+    "zfill": "Totalfill volume",
+    "getHref": "Fetching address",
+    "downIng": "Downloading",
+    "calcTitle": "Calculating",
+    "calcContent": "Please stay on this page and wait ; leaving will automatically cancel the calculation.",
+    "calcClose": "Cancel",
+    "calc": "Calculate",
+    "uncalc": "Uncalculated"
+}

+ 20 - 20
src/lang/zh/epoint.ts

@@ -1,23 +1,23 @@
 export default {
-    "title": "点位校准",
-    "noEnter": "该场景无法进行点位校准,如需继续编辑,请联系客服:400-669-8025",
-    "editTip": "未选中点云时,鼠标左键旋转视图,右键移动视图",
-    "needToDisConnect": "请选择一个点位,删除它与周围点位的连接",
-    "panoNotAllConnected": "检测到断开的点云,无法计算。",
-    "calcConfirm": "确定计算?\n场景将恢复默认。点云场景已添加的热点、测量、空间模型、已合并/上传的数据集将被清除,同时,被裁剪的点云也将恢复初始状态。Obj 场景的模型将被重置。",
-    "calcConfirmKanKan": "确定计算?场景将恢复默认状态,添加的三维模型被清除。",
-    "resetConfirmKanKan": "重置后场景将恢复至上一次计算完成后的效果,确定重置? 该操作无法撤销。",
-    "un-select": "未选中点云,无法显示全景图",
-    "openRTK": "开启 RTK 定位",
-    "closeRTK": "关闭 RTK 定位",
-    "openRTKTip": "将使用 RTK 参数定位",
-    "closeRTKTip": "将使用当前位置定位",
+    "title": "Point calibration",
+    "noEnter": "This scene does not support alteration of the point cloud; for assistance, please contact customer service at (400) 669-8080.",
+    "editTip": "While the point cloud is not selected, the left mouse button will rotate the view, while the right mouse button will move the view.",
+    "needToDisConnect": "Please select a point and disconnect it from its neighboring points.",
+    "panoNotAllConnected": "A disconnected point cloud is detected and cannot be calculated.",
+    "calcConfirm": "Confirm to calculate? \nThe scene will revert to its default status. And all hotspots,\nmeasurements, spacemodels, and merged/uploaded datasets in the point cloud scene will \nbe removed, the cropped point cloud will revert to its initial status as well.The model of the Obj scene will be reset.",
     "pointActions": {
-        "move": "移动",
-        "rotate": "旋转",
-        "connect": "连线",
-        "disconnect": "删除连线",
-        "scale": "放大",
-        "reset": "重置"
-    }
+        "move": "Move",
+        "rotate": "Rotate",
+        "connect": "Connect",
+        "disconnect": "Detach",
+        "scale": "Zoom in",
+        "reset": "Reset"
+    },
+    "un-select": "Since there is no point cloud selected, the panorama cannot be displayed.",
+    "openRTK": "Enable RTK positioning",
+    "closeRTK": "Disable RTK positioning",
+    "openRTKTip": "Enable RTK positioning",
+    "closeRTKTip": "Disable RTK positioning",
+    "calcConfirmKanKan": "Confirm to calculate? \nThe scene will revert to its default status. And all uploaded 3Dmodels will \nbe removed.",
+    "resetConfirmKanKan": "Confirm to reset? The action cannot be reversed."
 }

+ 14 - 14
src/lang/zh/err.ts

@@ -1,20 +1,20 @@
 export default {
     "scene": {
-        "un": "场景不存在,请检查场景码",
-        "run": "场景正在计算中,请稍后...",
-        "archive": "场景已封存",
-        "del": "场景已被删除",
-        "err": "场景计算失败,请重试",
-        "webgl": "内存不足,请勿同时打开多个页面或应用程序,尝试重启浏览器后重新打开。"
+        "un": "Please verify the scene code, as the scene does not exist.",
+        "run": "Please wait while the scene is calculated...",
+        "archive": "Fail to access scene that saved in Cloud",
+        "del": "The scene has been removed.",
+        "err": "The scene's calculation failed; please try again.",
+        "webgl": "Insufficient memory, please do not open numerous tabs or applications simultaneously, and try restarting and reopening the browser."
     },
     "serve": {
-        "title": "系统升级中",
-        "desc": [
-            "为了让您更好的使用平台资源,我们正在对平台进行升级,升级期间暂时无法访问。",
-            "给您带来的不便,敬请谅解。"
-        ]
+        "title": "System upgrade in progress",
+        "desc": {
+            "0": "To allow you to utilize the platform's resources more effectively, we are modernizing the platform, which is now unavailable.",
+            "1": "We apologize for any inconvenience this may cause."
+        }
     },
-    "disconnect": "网络错误,请重试",
-    "sdk": "激光场景打开失败,请关闭浏览器后重新打开",
-    "preset": "内存不足,请勿同时打开多个页面或应用程序,尝试重启浏览器后重新打开。"
+    "disconnect": "Network error, please try again",
+    "sdk": "Mega scenes failed to open, please close the browser and reopen",
+    "preset": "Insufficient memory, please do not open numerous tabs or applications simultaneously, and try restarting and reopening the browser."
 }

+ 10 - 10
src/lang/zh/fire.ts

@@ -1,18 +1,18 @@
 export default {
-    "title": "消防管理平台",
-    "model": "模型",
-    "addTip": "点击右键或者 Esc 取消添加",
-    "deleteConfirm": "确定要删除此数据吗?",
+    "title": "Fire & Security Management Platform",
+    "model": "Model",
+    "addTip": "Right-click or press Esc to cancel add",
+    "deleteConfirm": "Confirm to delete this information?",
     "effect": {
-        "title": "特效",
+        "title": "Visual Effects",
         "types": {
-            "fire": "",
-            "smoke": "",
-            "blast": "爆炸"
+            "fire": "Fire ",
+            "smoke": "Smoke",
+            "blast": "Explosion"
         },
-        "listTitle": "我添加的"
+        "listTitle": "Added"
     },
     "video": {
-        "title": "导览"
+        "title": "Tour"
     }
 }

+ 64 - 64
src/lang/zh/help.ts

@@ -1,82 +1,82 @@
 export default {
-    "title": "新手指引",
-    "next": "下一步",
-    "prev": "上一步",
-    "tip": "下次可以在此处打开新手指引哦!",
-    "init": "欢迎使用四维深时编辑平台",
-    "link": "用户手册",
-    "videoBtn": "视频教程",
+    "title": "Beginner's Guide",
+    "next": "Next",
+    "prev": "Previous",
+    "tip": "Click here to access the beginner's guide next time!",
     "edit": {
-        "query": [
-            "查看模式可以控制界面显示内容,在右下角切换成点云模式后,可以对点云显示进行设置。"
-        ],
-        "data": [
-            "右侧列表展示全部数据,进入点云模式后,点击勾选可以隐藏/显示对应点云。"
-        ],
-        "hotspot": [
-            "右侧列表展示全部数据,进入点云模式后,点击勾选可以隐藏/显示对应点云。"
-        ],
-        "measure": [
-            "点击[开始测量]进行长度、面积测量。"
-        ],
-        "floorpan": [
-            "算法自动生成场景平面图,支持下载、替换或隐藏。"
-        ],
-        "coord": [
-            "若您的场景有使用 RTK 或相关设备采集控制点,即可获取场景内任意位置的地理坐标,且支持多个坐标系转换。"
-        ],
-        "download": [
-            "可下载完整场景,也可对场景进行裁剪后下载。支持下载格式:las. ply. obj。点云格式下载可包含坐标。"
-        ],
-        "coordinate": [
-            "此功能将您的场景真实映射在高德地图上,并获取精准的地理坐标。您需要在场景拍摄时使用 RTK 或相关设备获取控制点,并手动录入参数。若您的相机已配置 RTK,系统将自动获取控制点数据无需手动录入。"
-        ],
-        "spaceDivision": [
-            "当您的场景导入/上传了多个数据集,需要在此模块进行拼接,以便能够正常浏览场景。"
-        ],
-        "spaceModel": [
-            "此模块可以为您的场景划分区域,区域划分好后,搜索该区域可以定位,或按区域导航。"
-        ],
-        "epoint": [
-            "当场景拍摄过程中出现点位位置错误时,可以在此模块进行调整。"
-        ]
+        "query": {
+            "0": "View mode can control the content of the interface's display. After selecting point cloud mode in the lower right corner, the point cloud display can be customized."
+        },
+        "data": {
+            "0": "The list on the right contains all of the information. Click the checkbox after entering the point cloud mode to hide/show the corresponding point cloud."
+        },
+        "hotspot": {
+            "0": "The list on the right contains all of the information. Click the checkbox after entering the point cloud mode to hide/show the corresponding point cloud."
+        },
+        "measure": {
+            "0": "Click [Start Measuring] to begin measuring the length and area."
+        },
+        "floorpan": {
+            "0": "The algorithm will generate the floor plan of a scene with support for download, replacement, and concealment."
+        },
+        "coord": {
+            "0": "If your scene has RTK or related equipment to collect control points. In that case, you can obtain the geographic coordinates of any location in the scene and support the conversion between multiple coordinate systems."
+        },
+        "download": {
+            "0": "Scenes can be downloaded in their entirety, or they can be cropped and downloaded. Download formats supported: las. ply. e57.obj. Downloads of point cloud formats can include coordinates."
+        },
+        "coordinate": {
+            "0": "This function will realistically map your scene on the map and acquire its precise geographic coordinates. When shooting a scene, you must use RTK or related equipment to obtain the control points and manually enter the parameters. If your scanner is equipped with RTK, the system will automatically acquire the control point information without requiring manual entry."
+        },
+        "spaceDivision": {
+            "0": "If your scenes import/upload multiple datasets, they must be stitched in this module for proper viewing."
+        },
+        "spaceModel": {
+            "0": "Scene areas, such as buildings, floors, and rooms, can be separated. The ability to search for areas within a scene enables you to locate or navigate by area."
+        },
+        "epoint": {
+            "0": "In case of a point position error during scene shooting, this module allows for its correction."
+        }
     },
     "video": {
-        "coordinate": "https://docs.4dkankan.com/#/product/laser/zh-cn/setcontrolpoint",
-        "spaceDivision": "https://docs.4dkankan.com/#/product/laser/zh-cn/splicing",
-        "spaceModel": "https://docs.4dkankan.com/#/product/laser/zh-cn/createfloor",
-        "epoint": "https://docs.4dkankan.com/#/product/laser/zh-cn/calibrationpoint",
-        "kankanEpoint": "https://docs.4dkankan.com/#/product/laser/zh-cn/calibrationpoint"
+        "coordinate": "https://docs.4dkankan.com/#/product/laser/en-us/setcontrolpoint",
+        "spaceDivision": "https://docs.4dkankan.com/#/product/laser/en-us/splicing",
+        "spaceModel": "https://docs.4dkankan.com/#/product/laser/en-us/createfloor",
+        "epoint": "https://docs.4dkankan.com/#/product/laser/en-us/calibrationpoint",
+        "kankanEpoint": "https://docs.4dkankan.com/#/product/laser/en-us/calibrationpoint"
     },
     "query": {
-        "cloud": [
-            "按住鼠标左键,可以旋转镜头方向",
-            "按住鼠标右键,可以平移视图",
-            "单击地面点位,可切换视角在场景中漫游",
-            "点击左下角按钮切换全景图/点云"
-        ],
-        "pano": [
-            "按住鼠标左键,可以旋转镜头方向",
-            "单击地面点位,可切换视角在场景中漫游",
-            "点击左下角按钮切换全景图/点云"
-        ]
+        "cloud": {
+            "0": "To rotate the lens direction, press and hold the left mouse button",
+            "1": "To pan the view, press and hold the right mouse button",
+            "2": "Click the ground point to switch the camera's perspective and walkthrough the scene",
+            "3": "Click the lower right button to switch between panorama and point cloud views"
+        },
+        "pano": {
+            "0": "Press and hold the left mouse button to rotate the scanner's direction",
+            "1": "Click the ground point to switch the camera's perspective and walkthrough the scene",
+            "2": "Click the lower right button to switch between panorama and point cloud views"
+        }
     },
+    "init": "Enjoy your use of the scene editing platform",
+    "link": "User Manual",
+    "videoBtn": "Tutorial Videos",
     "mobile": {
         "step1": {
-            "title": "行走",
-            "content": "点击任意方向可移动"
+            "title": "Walk",
+            "content": "To navigate, click in any direction"
         },
         "step2": {
-            "title": "旋转视角",
-            "content": "左右滑动屏幕"
+            "title": "Rotate",
+            "content": "To go left or right, swipe the screen"
         },
         "step3": {
-            "title": "缩放",
-            "content": "双指滑动放大或缩小视图"
+            "title": "Zoom",
+            "content": "Zoom in or out by two-finger"
         },
         "step4": {
-            "title": "切换全景图/点云",
-            "content": "单击按钮切换全景图/点云"
+            "title": "Panorama/Point Cloud View",
+            "content": "Click to switch to the Panorama/Point Cloud View"
         }
     }
 }

+ 29 - 29
src/lang/zh/hotspot.ts

@@ -1,47 +1,47 @@
 export default {
-    "name": "热点",
-    "addMenu": "添加热点",
-    "flyErr": "距离太远,操作失败。",
-    "show": "显示热点",
-    "all": "全部热点",
-    "added": "已添加热点",
-    "addTip": "请在场景中右键点击“添加热点”",
+    "name": "Hotspots",
+    "addMenu": "Add hotspot",
+    "flyErr": "Too distant, the operation failed.",
+    "show": "Display hotspots",
+    "all": "All hotspots",
+    "added": "Hotspot added",
+    "addTip": "Please click \"Add Hotspot\" with the right mouse button in the scene.",
     "range": {
-        "set": "可视范围设置",
-        "min": "最小",
-        "max": "最大"
+        "set": "Viewable range settings",
+        "min": "Minimum",
+        "max": "Maximum"
     },
     "edit": {
         "placeholder": {
-            "title": "请输入热点标题",
-            "content": "请输入内容",
-            "addLinkTitle": "请填写链接文本",
-            "addLinkContent": "请填写链接地址"
+            "title": "Please enter the title of the hotspot",
+            "content": "Please enter the content",
+            "addLinkTitle": "Please fill in the link text",
+            "addLinkContent": "Please fill in the link's URL"
         },
-        "unTitle": "存在热点未填写标题",
-        "maxContentLen": "请先清理出位置再添加链接!",
-        "addLink": "添加链接"
+        "unTitle": "Hotspot exists without a title",
+        "maxContentLen": "Please clean up the site before adding a link!",
+        "addLink": "Add a link"
     },
     "meta": {
         "image": {
-            "title": "图片",
-            "place": "上传图片",
-            "desc": "支持JPG、PNG图片格式,单张不超过5MB,最多支持上传9张。"
+            "title": "Images",
+            "place": "Upload images",
+            "desc": "Support JPG and PNG image formats, single files up to 5 MB in size, and uploads of up to 9 images."
         },
         "video": {
-            "title": "视频",
-            "place": "上传视频",
-            "desc": "支持MP4、MOV视频格式,码率小于2Mbps,不超过20MB"
+            "title": "Video",
+            "place": "Upload video",
+            "desc": "Support MP4, MOV video format, bit rate less than 2Mbps, no more than 20MB"
         },
         "audio": {
-            "title": "音频",
-            "place": "上传音频",
-            "desc": "支持MP3、WAV格式,不超过5MB"
+            "title": "Audio",
+            "place": "Upload audio",
+            "desc": "Support MP3, WAV format with a maximum 5MB"
         },
         "web": {
-            "title": "链接",
-            "place": "网页展示区"
+            "title": "Link",
+            "place": "Webpage display"
         }
     },
-    "deleteConfirm": "确定要删除此{type}吗?"
+    "deleteConfirm": "Confirm to delete this {type}?"
 }

+ 4 - 0
src/lang/zh/index.ts

@@ -0,0 +1,4 @@
+
+import { langMessageFactory } from '../helper'
+const lang = langMessageFactory(require.context('./', true, /\b((?!index)\w)+\b.[t|j]s$/))
+export default lang

+ 20 - 20
src/lang/zh/measure.ts

@@ -1,21 +1,21 @@
 export default {
-  name: "测量",
-  unit: {
-    meter: "公制(米)",
-    inch: "英制(ft)",
-  },
-  len: "长度",
-  area: "面积",
-  toolTip: "取消选中测量工具可以切换点位。",
-  invalidPoint: "点云为空,换个位置试试",
-  start: "开始测量",
-  stop: "停止测量",
-  titlePlac: "点击添加备注",
-  export: "导出测量",
-  exportPDF: "导出PDF",
-  downloadName: "测量结果",
-  copy: "链接复制成功",
-  pageMark: "{length}页中的第{index}页",
-  wxError: "微信浏览器无法导出pdf",
-  unSave: "测量结果未保存,无法生成分享链接",
-};
+    "name": "Measure",
+    "unit": {
+        "meter": "Metric (m)",
+        "inch": "Inch (ft)"
+    },
+    "toolTip": "Uncheck the measurement tool to change the position of the point.",
+    "invalidPoint": "Empty point clouds are not measurable.",
+    "start": "Start measurement",
+    "titlePlac": "Click to create a note",
+    "export": "Export measurement",
+    "exportPDF": "Export PDF",
+    "downloadName": "Measurement results",
+    "copy": " Link copied successfully",
+    "pageMark": "{length}page of page{index}",
+    "wxError": "Wechat browser cannot export pdf files.",
+    "unSave": "The results of measurements are not saved and a share link cannot be generated.",
+    "len": "Length",
+    "area": "Area",
+    "stop": "Stop measurement"
+}

+ 63 - 59
src/lang/zh/resStatus.ts

@@ -1,61 +1,65 @@
 export default {
-    "200": "操作成功",
-    "204": "系统正在处理,请勿重复提交",
-    "304": "操作失败,您已退出登录",
-    "305": "该账号已在另一台设备登陆,本机账号自动退出。",
-    "400": "参数列表错误(缺少,格式不匹配",
-    "401": "未授权",
-    "402": "访问受限,授权过期",
-    "408": "登录状态过期,已自动退出",
-    "500": "系统内部错误",
-    "502": "上传文件需小于 5GB",
-    "503": "上传异常",
-    "2001": "obj下载失败",
-    "2002": "只能输入数字或字母大小写",
-    "2003": "无点云数据",
-    "2004": "校验成功",
-    "2005": "校验失败",
-    "2006": "文件格式有误, 只接收png图片",
-    "3001": "对象不存在",
-    "3002": "特殊点表坐标异常",
-    "3006": "fdToken校验失败",
-    "3007": "查无此任务",
-    "3008": "任务失败",
-    "3009": "登录失败,请稍后再试",
-    "3014": "账号或密码不正确。",
-    "3015": "该用户未注册",
-    "3021": "账号不存在,请核对后重新输入。",
-    "3024": "不能将场景协作给自己",
-    "3101": "正在计算中",
-    "3102": "场景不存在",
-    "3103": "调用计算失败",
-    "3104": "route不存在",
-    "3105": "控制点计算表结果不存在,尝试重算解决",
-    "4001": "验证码发送错误",
-    "4002": "检测控制点坐标正在被修改,暂时无法操作",
-    "4003": "请输入正确地理坐标",
-    "4004": "场景校验失败",
-    "4007": "数据集添加失败",
-    "4008": "检测到该数据集正在进行合并,暂时无法操作",
-    "5027": "文件夹不存在",
-    "5028": "无权修改该文件夹",
-    "5030": "同级文件夹名称不能重复",
-    "6000": "不存在数据集",
-    "6001": "转换模型错误,场景查询不到",
-    "6002": "转换模型错误,控制点查询不到",
-    "6003": "转换模型错误,未设置控制点",
-    "6004": "场景大小超出限制,合并下载失败。",
-    "6005": "info.json文件不存在, 请检查",
-    "6006": "上传图片尺寸跟原图不一致",
-    "6007": "上传平面图错误",
-    "6008": "算法生成平面图失败, info.json不存在",
-    "6009": "没有生成平面图文件,请检查平面图算法是否调用成功",
-    "6010": "vision.txt不存在",
-    "6011": "final_freespace文件不存在",
-    "8001": "恢复默认点云失败,没有找到对应点云数据",
-    "8002": "未获取到可编辑点云",
-    "8004": "后台正在处理,请勿重复上传",
-    "8005": "2022年3月以前的场景不支持重算。",
-    "loginErr": "登录失败,请稍后再试。",
-    "accountErr": "该账号下未检测到当前场景,请更换账号重新登录。"
+    "200": "Operation successful",
+    "204": "The system is processing, please do not submit again.",
+    "304": "Failed operation, you have been logged out.",
+    "305": "The account is already logged in at another device and the local account is automatically logged out.",
+    "400": "Parameter list error (missing, format does not match)",
+    "401": "Unauthorized",
+    "402": "Access denied; authorization expiring",
+    "408": "This user is not registered",
+    "500": "Internal system error",
+    "502": "Upload file cannot exceed 5GB",
+    "503": "Upload error",
+    "507": "The file name is too long, please modify and re-upload it.",
+    "2001": "object download failed",
+    "2002": "Only numbers and letter case can be entered.",
+    "2003": "No point cloud data",
+    "2004": "Calibration successful",
+    "2005": "Calibration error",
+    "2006": "Inappropriate file format; only PNG images are supported",
+    "3001": "Object does not exist",
+    "3002": "Special point table coordinate exception",
+    "3006": "fdToken calibration failed",
+    "3007": "No task. found",
+    "3008": "Task failed",
+    "3009": "Failure to log in, please try again later",
+    "3014": "The account or password entered is incorrect.",
+    "3015": "This user is not registered",
+    "3021": "Please verify and enter the account number again.",
+    "3024": "Can't collaborate the scene to yourself",
+    "3101": "Calculating..",
+    "3102": "Scene does not exist",
+    "3103": "Failed to invoke calculation",
+    "3104": "route does not exist",
+    "3105": "The result of the control point calculation table does not exist; recalculate to resolve.",
+    "4001": "Verification code error",
+    "4002": "The control point cannot be operated while the coordinates are being updated.",
+    "4003": "Please enter accurate geographical coordinates",
+    "4004": "Scene calibration failed",
+    "4007": "Failed to add dataset",
+    "4008": "The dataset is currently undergoing a merger and is temporarily inaccessible.",
+    "5027": "Folder is not exist",
+    "5028": "No permission to alter the folder",
+    "5030": "There cannot be duplicate folder names at the same level.",
+    "6000": "Dataset does not exist",
+    "6001": "Model conversion error, the scene cannot be queried.",
+    "6002": "Model conversion error, the control point cannot be queried.",
+    "6003": "Model conversion error, no control point set",
+    "6004": "The scene size exceeded the maximum allowed, and download merging failed.",
+    "6005": "Please verify, as the file info.json does not exist.",
+    "6006": "The uploaded image has a different size from the source image.",
+    "6007": "Floor plan uploading error",
+    "6008": "The algorithm failed to produce a floor layout, and info.json does not exist.",
+    "6009": "No floor plan file is generated; verify that the floor plan algorithm was correctly called.",
+    "6010": "vision.txt does not exist",
+    "6011": "final_freespace file does not exist",
+    "8001": "Failed to restore the default point cloud; no matching point cloud data was found.",
+    "8002": "Editable point cloud not obtained.",
+    "8004": "Calculating...",
+    "8005": "Scenes prior to March 2022 are ineligible for recalculations.",
+    "8008": "The current function is unavailable.",
+    "8009": "Copying scenes does not support recalculation",
+    "8010": "The original scene data has expired and does not support recalculation",
+    "loginErr": "Please try logging in again later.",
+    "accountErr": "This account does not identify the current scene. Switch to another account and log in again."
 }

+ 41 - 41
src/lang/zh/scene.ts

@@ -1,55 +1,55 @@
 export default {
-    "flyUnImages": "该位置无全景图,请切换到点云模式再试。",
-    "flyCurrent": "您已在该位置",
-    "getPointError": "空白区域无法获取点位,请移动到点云区域再试。",
-    "pano": "全景图",
-    "cloud": "点云",
-    "objTip": "Mesh 场景",
-    "cloudTip": "点击切换为点云模式",
-    "nav": "导航",
-    "navPath": "导航路线",
-    "navStart": "导航起点",
-    "navEnd": "导航终点",
-    "navPlaceholder": "请确认",
-    "navErr": "超出数据集范围,无法规划路线",
+    "flyUnImages": "This location does not include a panorama; please switch to point cloud mode and try again.",
+    "flyCurrent": "You are currently at the location.",
+    "getPointError": "The blank area is unable to determine the location of the point; please move to the point cloud area and try again.",
+    "pano": "Panorama",
+    "cloud": "Point Cloud",
+    "cloudTip": "Click to switch to point cloud mode",
+    "nav": "Navigation",
+    "navPath": "Route",
+    "navStart": "Origin",
+    "navEnd": "Destination",
+    "navPlaceholder": "Please verify",
+    "navErr": "Unable to plan route because it is outside the scope of the dataset.",
     "notice": {
-        "handerTitle": "后台处理完成",
-        "handerSuccess": "[ {mode} ] 已完成数据处理。",
-        "handerIng": "场景已被锁定无法编辑,您可以继续浏览场景。",
-        "updateTitle": "提示",
-        "updateSuccess": "场景已被修改,系统即将刷新页面。",
-        "resetSuccess": "场景已重算,系统即将刷新页面",
-        "coordResetSuccess": "控制点坐标已被修改,系统即将刷新页面"
+        "handerTitle": "Completion of backend operations",
+        "handerSuccess": "[ {mode} ] The processing of data has concluded.",
+        "handerIng": "Although the scene is locked and cannot be edited, it can still be viewed.",
+        "updateTitle": "Tips",
+        "updateSuccess": "The scene has been updated, the system will reload the page shortly.",
+        "resetSuccess": "The scene has been recalculated, the system will reload the page shortly.",
+        "coordResetSuccess": "The coordinates of control points have been updated, the system will reload the page shortly."
     },
     "download": {
-        "cloud": "下载点云",
-        "format": "下载格式",
-        "formatNotSupport": "格式不支持",
-        "cropCloud": "裁剪后下载",
-        "nullCloud": "裁剪框内点云为空,无法下载。",
-        "btn": "立即下载"
+        "cloud": "Download point cloud",
+        "format": "Download format",
+        "formatNotSupport": "Format is not supported",
+        "cropCloud": "Crop point cloud",
+        "nullCloud": "Within the crop box, the empty point cloud cannot be downloaded.",
+        "btn": "Download"
     },
     "floorpan": {
-        "title": "平面图",
-        "default": "系统默认",
-        "un": "未上传平面图",
+        "title": "Plan view",
+        "default": "System default",
+        "un": "No floor plan has been uploaded.",
         "customize": {
-            "title": "自定义",
-            "steps": [
-                "请先下载默认平面图,修改或替换后上传。",
-                "上传时,需按照原始文件格式上传,不得修改其尺寸大小。"
-            ],
-            "success": "平面图更新成功",
-            "un": "请上传{title}的自定义图"
+            "title": "Customize",
+            "steps": {
+                "0": "Please download the default floor plan, then alter or replace it before uploading your own.",
+                "1": "Please adhere to the original file format and size when uploading files."
+            },
+            "success": "Floor plan updated successfully",
+            "un": "Please upload the custom image of {title}"
         }
     },
     "spaceModel": {
-        "title": "空间模型",
-        "defaultFloorTitle": "1"
+        "title": "Space model",
+        "defaultFloorTitle": "1st floor"
     },
     "pose": {
-        "unSid": "没有找到该panoSid",
-        "unImage": "全景模式下不允许设置位置"
+        "unSid": "The panoSid was not found",
+        "unImage": "Location settings are not permitted in panorama mode."
     },
-    "invalidRight": "空白区域无法使用右键菜单,请移动到点云区域再试。"
+    "invalidRight": "Please move to the point cloud area and try again",
+    "objTip": "Mesh Scene"
 }

+ 95 - 90
src/lang/zh/sys.ts

@@ -1,102 +1,107 @@
 export default {
-    "title": "激光",
-    "query": "查看",
-    "searchAll": "搜索",
-    "search": "搜索建筑物\\房间\\热点...",
-    "unSearchData": "未搜索到结果",
-    "inputScenePwd": "输入场景密码",
-    "phonePlace": "请输入手机号码",
-    "unPhonePlace": "手机号码不能为空",
-    "pwdPlace": "请输入密码",
-    "setPwdPlace": "设置密码",
-    "setRepeatPwdPlace": "重复密码",
-    "unPwdPlace": "密码不能为空",
-    "pwdReg": "密码需要包含英文大小写、数字、长度8-16字符",
-    "unRepeatPwd": "确认密码不能为空",
-    "pwdErr": "密码错误",
-    "codePlace": "请输入验证码",
-    "getCode": "获取验证码",
-    "resetCodeTime": "{count}s后重新发送",
-    "accountLoginTitle": "用户登录",
-    "qrLoginTitle": "相机登录",
-    "markPwd": "记住密码",
-    "repeatPwdDiff": "两次输入的密码不一致",
-    "login": "登录",
-    "qrPlace": "打开四维看看app扫一扫登录",
-    "forgetPwd": "忘记密码",
-    "updatePwdSuccess": "密码修改成功",
-    "retrievePwd": "找回密码",
-    "logout": "退出",
-    "logoutConfirm": "确定要退出登录吗?",
-    "haveAccountLogin": "使用已有帐户登录",
-    "unData": "暂无数据",
-    "help": "帮助中心",
+    "title": "Laser",
+    "query": "View",
+    "searchAll": "Search",
+    "search": "Search for buildings\\rooms\\hotspots…",
+    "unSearchData": "No search results found",
+    "inputScenePwd": "Enter scene password",
+    "phonePlace": "Please enter your mobile phone number",
+    "unPhonePlace": "The mobile phone number cannot be left blank.",
+    "pwdPlace": "Please enter the password",
+    "setPwdPlace": "Set password",
+    "setRepeatPwdPlace": "Repeat password",
+    "unPwdPlace": "Password cannot be left blank",
+    "pwdReg": "Password must contain English letter case, numerals, and be between 8 and 16 characters in length",
+    "unRepeatPwd": "Confirm that the password is not empty",
+    "pwdErr": "Password error",
+    "codePlace": "Enter the verification number",
+    "getCode": "Get the verification code",
+    "resetCodeTime": "Resend after {count}s",
+    "accountLoginTitle": "User Login",
+    "qrLoginTitle": "Camera Login",
+    "markPwd": "Remember password",
+    "repeatPwdDiff": "The entered passwords are not the same.",
+    "login": "Login",
+    "qrPlace": "Open the 4DKanKan app and scan to log in",
+    "forgetPwd": "Forget password",
+    "updatePwdSuccess": "Change password successfully",
+    "retrievePwd": "Retrieve password",
+    "logout": "Logout",
+    "logoutConfirm": "Are you sure you want to log out?",
+    "haveAccountLogin": "Sign in using your current account",
+    "unData": "No data available",
+    "help": "Help Center",
     "repeatLogin": {
-        "title": "检测到另一台设备已登录此账号,是否继续?",
-        "content": "选择【继续登录】,另一台设备将退出登录,其操作不会被保存。",
-        "btn": "继续登录"
+        "title": "Another device is currently logged into this account, would you like to continue?",
+        "content": "If you choose [Continue], the other device will be logged out and its actions will not be preserved.",
+        "btn": "Continue"
     },
-    "inputPlc": "请输入",
-    "selectPic": "请选择",
-    "dialogTitle": "提示",
-    "update": "修改",
-    "cancel": "取消",
-    "add": "添加",
-    "crop": "裁剪",
-    "save": "保存",
-    "leave": "退出",
-    "submit": "提交",
-    "calc": "计算",
-    "hide": "隐藏",
-    "open": "开启",
-    "close": "关闭",
-    "ok": "我知道了",
-    "reset": "重置",
-    "enter": "确定",
-    "show": "显示",
-    "delete": "删除",
-    "ignore": "忽略",
-    "setup": "设置",
-    "edit": "编辑",
-    "all": "全部",
-    "refer": "刷新",
-    "upload": "上传",
-    "uploadAddText": "继续添加",
-    "uploadReplaceText": "替换",
-    "uploadErr": {
-        "len": "最多仅支持{len}个文件!",
-        "size": "{name}的大小超过{size}",
-        "scale": "{name}的比例不为{scale}",
-        "accept": "仅支持{accept}格式文件"
-    },
-    "download": "下载",
-    "unset": "未设置",
-    "unUpdate": "没有修改",
-    "downloadSuccess": "下载成功",
-    "forceLeaveConfirm": "您有操作未保存,确定要退出吗?",
-    "resetConfirm": "确定重置?该操作无法撤销。",
+    "update": "Modify",
+    "cancel": "Cancel",
+    "add": "Add",
+    "save": "Save",
+    "leave": "Exit",
+    "submit": "Submit",
+    "calc": "Calculate",
+    "hide": "Hide",
+    "open": "Open",
+    "close": "Close",
+    "ok": "Got it",
+    "reset": "Reset",
+    "enter": "Confirm",
+    "show": "Display",
+    "delete": "Delete",
+    "ignore": "Ignore",
+    "setup": "Settings",
+    "edit": "Edit",
+    "all": "All",
+    "refer": "Refresh",
+    "upload": "Upload",
+    "download": "Download",
+    "unset": "Not set",
+    "unUpdate": "No modification",
+    "downloadSuccess": "Downloaded successfully",
+    "downloadAndroidSuccess": "Downloaded, please open the \"Downloads\" to get the file",
+    "downloadIosSuccess": "Downloaded, please open \"File\" to obtain it",
+    "downloadWXSuccess": "Please open it with a browser and try again",
+    "forceLeaveConfirm": "You have an unsaved action,  confirm to exit?",
+    "resetConfirm": "Confirm to reset? The action cannot be reversed.",
     "compatible": {
-        "tip": "无法打开页面,请升级或更换浏览器后重新打开",
-        "selectTip": "建议使用以下浏览器",
-        "ff": "火狐",
+        "tip": "Please upgrade or change your browser and try to open the page again.",
+        "selectTip": "The following browsers are recommended",
+        "ff": "Firefox",
         "edg": "Microsoft Edge",
         "safari": "Safari",
         "chrome": "Chrome"
     },
     "time": {
-        "h": "小时",
-        "m": "分钟",
-        "about": "约"
+        "h": " hours",
+        "m": " minutes",
+        "about": "About ",
+        "s": " seconds"
     },
     "setting": {
-        "setName": "修改名称",
-        "setNameErr": "场景名称不能为空!",
-        "setNamePlace": "请输入标题",
-        "setPic": "设置初始画面",
-        "setView": "可视设置",
-        "setOpen": "浏览设置",
-        "setOpenErr": "请输入加密密码!",
-        "public": "公开",
-        "pwd": "加密"
-    }
+        "setName": "Change the name",
+        "setNameErr": "The scene name must not be blank!",
+        "setNamePlace": "Please provide a title",
+        "setPic": "Set the initial screen",
+        "setView": "Viewable settings",
+        "setOpen": "Browse settings",
+        "setOpenErr": "Please enter the password for the encryption!",
+        "public": "Public",
+        "pwd": "Encryption"
+    },
+    "inputPlc": "Please enter",
+    "selectPic": "Select",
+    "dialogTitle": "Tips",
+    "crop": "Crop",
+    "uploadAddText": "Continue",
+    "uploadReplaceText": "Replace",
+    "uploadErr": {
+        "len": "Only a maximum of {len} files are supported!",
+        "size": "Size of {name} exceeds {size}",
+        "scale": "cale part of {name} is not {scale}",
+        "accept": "Only files in the {accept} format are supported."
+    },
+    "detail": "More"
 }

+ 606 - 0
src/lang/zh/tl-1.ts

@@ -0,0 +1,606 @@
+export default {
+  addName: "Add Name",
+  pubName: "Common Name",
+  icons: [
+    "斑马线",
+    "侧三轮平面",
+    "电车侧面",
+    "电车平面",
+    "普通二轮摩托车",
+    "挂车侧面",
+    "挂车平面",
+    "货车平面图",
+    "货车侧面",
+    "货车侧面",
+    "轿车平面",
+    "轿车侧面",
+    "客车平面",
+    "客车侧面",
+    "轮式自行机械平面",
+    "轮式拖拉机平面",
+    "轮式拖拉机侧面",
+    "侨银车平面",
+    "牵引车侧面",
+    "手扶拖拉机平面",
+    "手扶拖拉机侧面",
+    "正三轮平面",
+    "正三轮侧面",
+    "残疾人用车侧面",
+    "人力车",
+    "三轮车",
+    "风向标",
+    "方向标",
+    "尸体",
+    "牲畜",
+    "伤体",
+    "人员运动方向",
+    "伤畜",
+    "残疾人用车平面",
+    "机动车行驶方向",
+    "自行车",
+    "非机动车行驶方向",
+    "接触点",
+    "人体",
+    "畜力车",
+    "死畜",
+    "道路结构",
+    "常用名称",
+    "机动车",
+    "非机动车",
+    "人体、牲畜",
+    "地面标志及交通现象",
+  ],
+
+  coption1: "Sedan",
+  coption2: "Bus",
+  coption3: "Truck",
+  coption4: "Tractor",
+  coption5: "Motor Tricycle",
+  coption6: "Bicycle",
+  coption7: "Injured Body",
+  coption8: "Livestock",
+  coption9: "Scatted Objects",
+  coption10: "Deck",
+  coption11: "Bridge",
+  slide1: "Flat",
+  slide2: "Side",
+  selected: "{count}chosen",
+  fixPoint: "Fixed Point",
+  OK: "Successful",
+  UnBaseLine: "Please establish BaseLine",
+  UnBasePoint: "Please establish BasePoint",
+  UnSelectBasePoint: "Please selecte BasePoint",
+  UnFixPoint: "Please establish FixedPoint",
+  dtex: "Text",
+  basep: "BasePoint",
+  basel: "BaseLine",
+  draw: "Mapping",
+  photos: "Photos",
+  accidents: "Pictures of Accident",
+  roads: "Photographs of Roads",
+  tabulation: "Create Form",
+  gena4: "Creat A4",
+  tables: "Traffic Accident Investigation Transcript",
+  demo: "Form",
+  aptypes: [
+    "Overview picture",
+    "center pictures",
+    "detailed pictures",
+    "positioning pictures",
+  ],
+
+  weather: "Sunny",
+  conditions: "Normal",
+  illustrate:
+    "Ratio of drawing is 1:215, unit in meters. Vehicles A is small sedan, no license plate.Vehicle B is small sedan, no license plate. Select the edge of a roadway as BaseLine, and sewage caps as BasePoint.",
+  loaderr: "Scene Data Loading Failed",
+  labelps: "Labeled Photographs({length})",
+  pphotos: "All Photographs({length})`",
+  proads: "Photograph Management({length})",
+  upphonto: "No photos, please obtain from model.",
+  uproads: "No live drawing. Click top right button to begin drawing.",
+
+  cancel: "Cancel",
+  select: "Select",
+  add: "Add",
+  unp: "No photographs. Click top right button to  label photographs.",
+  edit: "Edit",
+  del: "Delete",
+  save: "Save",
+  cdel: "Confirm to delete the data?",
+  cndel: "Confirm to delete these{length}data?",
+  savep: "Saved to photos",
+  errp: "Photograph created failed",
+  r1: "Scene Mapping",
+  r2: "Pictures of Accident",
+  su: "Done",
+  saves: "Save successful",
+  ud: "No result",
+  it: "Legend",
+  rt: "Road Structure",
+  pub: "Frequently Used",
+  icon: {
+    jg_bmx: "crosswalk",
+    jg_xfsj: "Fire hydrant",
+    jg_ysk: "Stormwater inlet",
+    jg_lmak: "Pothole",
+    jg_lmtcbf: "Pavement bump",
+    jg_lmjs: "Pool of water",
+    mb_sxwl: "S curve",
+    mb_dzlk: "T-junction",
+    mb_wclk: "5-way junction",
+    mb_ckzd: "Exit ramp",
+    mb_szlk: "crossroad",
+    mb_gdlj: "State highway (shoulder)",
+    mb_snld: "Indoor road",
+    mb_wd: "Curved Road",
+    mb_jzwd: "Sharp turn",
+    mb_lclk: "6-way junction",
+    mb_zjwd: "Straight Turn",
+    mb_jkzd: "Inlet Ramp",
+    mb_gssfz: "Highway Toll Station",
+    mb_gsld: "Highway Toll Station",
+    measure_r: "Perpendicular Positioning",
+    ymeasure_r: "On- Click Measure",
+    measure_free: "Free Measure",
+    road: "Road",
+    line_d: "Draw Line",
+    legend: "Legend",
+    measure: "Measure",
+    text: "Text",
+    magnify_g: "Magnify",
+    setting: "Settings",
+    r_template: "Road Structure",
+    r_structure: "Road Template",
+    Text: "Text",
+    Circle: "Circle",
+    SingleArrow: "Arrow",
+    Magnifier: "Magnify",
+    GoBack: "Back",
+    GoAhead: "Forward",
+    Clear: "Clear",
+    BackImageChange: "Base Image On/Off",
+
+    color: "Color",
+    type: "Type",
+    arrows_s: "One-Way",
+    arrows_d: "Two-Way",
+    copy: "Copy",
+    photo: "Take Photo",
+    map: "Photos",
+    recover: "Recover Default",
+
+    line_sf: "Single Solid Line",
+    line_sd: "Single Broken Line",
+    line_df: "Double Solid Line",
+    line_dd: "Double Broken Line",
+    line_broken: "Bent Line",
+    line_dot: "Point Line",
+    l_thick: "Thickness",
+    control_a: "Control Point",
+    stone: "Curbline",
+    addcontrol_a: "Add Control Point",
+    lane_a: "Add Lane",
+    lane_d: "Remove Lane",
+    fontSize: "Font Size",
+    fontEdit: "Edit Text",
+  },
+  defr: "Default Lane Width",
+  unit: "Unit:",
+  defw: "Default Isolation Width",
+  basew: "BaseLine Width",
+  photograph: "Take Photo",
+  selectPhotoAlbum: "Select Album",
+  scene: "Scene Screenshot",
+
+  table: {
+    t1: "Time of Arrival to Site",
+    t2: "Weather",
+    t3: "Road Type",
+    t4: "Accident Location",
+    t5: "Time of Drawing",
+    t6: "Investigator",
+    t7: "Drawn by",
+    t8: "Invovled Party Signature",
+    t9: "Witness signature",
+    t10: "Unnamed",
+  },
+  pnull: "Empty point cloud. Please try another spot",
+  time: "YYYY,MM,DD,HH,MM",
+  tip: "Tip",
+  dscene: {
+    dblc: "First draw BaseLine",
+    dbpc: "Please create BasePoint",
+    gdblc: "Start Drawing",
+    gdbpc: "Create BasePoint",
+    sbd: "Select BasePoint",
+  },
+  t1: {
+    i1: "Time of Accident",
+    i2: "Weather",
+    i3: "Location",
+    i4: "Description",
+    i5: "Case",
+    i6: "Record of Investigation",
+    i7: "Interview Transcripts",
+    i8: "Interrogation Transcripts",
+    i9: "Accident Determination",
+    i10: "Blood Sample Registration Form",
+    i11: "Inventory of Items Left Behind",
+    i12: "Authorized Power of Attorney",
+    i13: "Laws and Regulations",
+  },
+  pdraw: "Please draw{name}",
+  psbasep: "Single Click to Select BasePoint Location",
+  psfixp: "Single Click to Select FixedPoint Location",
+  fixg: "Shape",
+  mline: "Measuring Line",
+  pfixg: "Single Click to Draw Fixed Shape",
+  pdnull: "Confirm to clear? This action cannot be undone",
+
+  menus: [
+    "Clear All",
+    "Measure",
+    "Horizon",
+    "Perpendicular",
+    "Free",
+    "Fixed Point",
+    "Draw Line",
+    "Foot of Perpendicular",
+    "Establish Base",
+    "Scope",
+    "Height Above Ground",
+    "Horizontal Zoom",
+    "Horizontal Rotate",
+    "Recover",
+  ],
+
+  t2: [
+    "On-site Accident Investigation Transcript",
+    "Interview Transcripts",
+    "Interrogation Transcripts",
+    "Certificate of Traffic Accident Determination",
+    "Involved Party Blood Sample Registration",
+    "List of items left at the accident site",
+    "Authorized Power of Attorney",
+  ],
+
+  t3: [
+    "Live Investigation",
+    "Add to Investigation",
+    "Normal Section",
+    "Highway Section",
+    "Narrow Section",
+    "Narrow Road",
+    "Bridge",
+    "Tunnel",
+    "Road Entry/Exit",
+    "Roadside Danger Section",
+    "Other Special Section",
+    "3-way fork",
+    "4-way fork",
+    "Multi-way fork",
+    "Roundabout ",
+    "Ramp",
+
+    "City Quicklane",
+    "Normal City Road",
+    "Commnunity Build Road",
+    "Public Parking Lot",
+    "Public Square",
+    "Other Roads",
+
+    "National Highway",
+    "State Highway",
+    "Village Road",
+    "Other",
+
+    "Highway",
+    "Level 1",
+    "Level 2",
+    "Level 3",
+    "Level 4",
+    "Other",
+
+    "Sunny",
+    "Dark",
+    "Cloudy",
+    "Rain",
+    "Snow",
+    "Fog",
+    "Hail",
+    "Sand",
+    "Haze",
+    "Other",
+  ],
+  t4: [
+    "Obstacles affecting vision or driving:",
+    "Road Traffic Signs:",
+    "Road Surface Marking:",
+    "Center Barrier:",
+    "Roadside Protection Objects:",
+    "View Conditions:",
+    "Road Surface Material:",
+    "Pavement Condition:",
+    "Road Surface Condition:",
+    "Other Notable Conditions:",
+  ],
+  t5: [
+    "None",
+    "Present:",
+    "Asphaly",
+    "Cement",
+    "Gravel",
+    "Dirt Road",
+    "Other",
+
+    "Excellent Road Surface ",
+    "Under Construction",
+    "Bumpy",
+    "Collapsed",
+    "Obstacle",
+    "Other",
+
+    "Dry",
+    "Wet",
+    "Waterlogged",
+    "Flooded",
+    "Ice",
+    "Muddy",
+    "Other",
+
+    "Lights are present during day/night?",
+    "Yes",
+  ],
+
+  t6: [
+    "Number",
+    "Page",
+    "Times",
+    "Total",
+    "Inquire",
+    "Interrogate",
+    "Transcript",
+    "Time",
+    "To",
+    "Location",
+    "Person",
+    "Company",
+    "Recorder",
+    "By",
+    "Gender",
+    "Age",
+    "Birthdate",
+    "ID Number",
+    "Deputy to the National People's Congress",
+    "Current Address",
+    "Principal",
+    "Nationality",
+    "Verbal Summon/Self Report",
+    "by",
+    "Arrival,",
+    "Departure,",
+    "Signature:",
+    "Person asked:",
+    "Person interrogated:",
+  ],
+  t7: ["Yes", "No"],
+  t8: [
+    "On-site Accident Investigation Transcript (Continued)",
+    "6.Test results for alcohol, psychotropic and narcotic drugs and collect blood sample、",
+    "Number",
+    "Name",
+    "ID Number码",
+    "Contact Number",
+    "Method of Transport",
+    "Test results for alcohol, psychotropic and narcotic drugs",
+    "Did you collect blood or urine sample?",
+    "Remarks",
+    "7. Vehicle's direction of driving, vehicle type, model, color",
+    "Number",
+    "License Plate",
+    "Vehicle Model",
+    "Vehicle Color",
+    "Vehicle's Path and Direction",
+    "Passenger Status",
+    "Other information",
+    "8. Compulsory measure taken on-site",
+    "9. Other factors that deems important to note by investigator",
+    "Investigator Signature:",
+    "Scribe Signature:",
+    "Involved Party Signature:",
+    "Witness Signature:",
+    "Total Pages",
+  ],
+  t9: [
+    "On-site Accident Investigation Transcript",
+    "Investigating Department",
+    "Investigation Time",
+    "Time of Accident",
+    "Accident Location",
+    "Road Type",
+    "Highway",
+    "Technical Level",
+    "Administrative Level",
+    "City Road",
+    "Intersection Type",
+    "Intersection Type",
+    "Road Section",
+    "Road Name",
+    "Highway Number",
+    "Location",
+    "GPS location",
+    "Longitude",
+    "Lattitude",
+    "Location Description",
+    "Weather",
+    "1. Traffic Environment of Acciden Site",
+    "On-site Investigator Signature:",
+    "Scribe Signature:",
+    "Involved Party Signature:",
+    "Witness Signature:",
+    "Total Pages",
+  ],
+
+  t10: [
+    "On-site Accident Investigation Transcript (Continued)",
+    "(一)Traces on the Ground:",
+    "(二)Traces on the Vehicle:",
+    "(三)Traces on Body:",
+    "(四)Evidence:",
+    "(五)Other:",
+    "On-site Investigator Signature:",
+    "Scribe Signature:",
+    "Involved Party Signature:",
+    "Witness Signature:",
+    "Total Pages",
+    "5. Type, condition, size, location  of  any evidence on-site",
+  ],
+  t11: [
+    "Status of Security Cameras",
+    "Conditions of injured personnel and rescue",
+    "1. Conditions of Injured Person;",
+    "Dead on the Spot:",
+    "Person",
+    "Emergency Rescure Signature:",
+    "Injured",
+    "Destination of Injured:",
+    "Other Situations Requring Explanation:",
+    "2. Summary of Rescue:",
+    "Any Dangerous Goods?:",
+    "Name:",
+    "Arrival of Related Department and Personnel:",
+    "4. Vehicles's model, license plate, gear, light, dashboard camera, GPS tracking, etc",
+    "Number",
+    "Plate Number",
+    "Vehicle Type",
+    "Vehicle Gear",
+    "Status of Light",
+    "Position of Speedometer",
+    "On board equipment installed  (Yes/No)",
+
+    "Dashboard Camera",
+    "On board recorder",
+    "GPS Tracking",
+
+    "On-site Investigator Signature:",
+    "Scribe Signature:",
+    "Involved Party Signature:",
+    "Witness Signature:",
+
+    "Not Found",
+    "Found",
+    "No",
+    "Yes",
+    "Medical",
+    "Fire Rescue",
+    "Clearance",
+    "Other",
+  ],
+  t12: [
+    "Involved Party's Blood (Urine) Sample Registion Form",
+    "Name",
+    "Gender",
+    "ID Number",
+    "Time of Accident",
+    "Location",
+    "Blood (Urine) Sample Collection Time",
+    "Blood (Urine) Sample Collection Location",
+    "Blood (Urine) Sample Collected by",
+    "Collection Registration",
+    "Sample A Container Serial Number",
+    "Quantity Collected",
+    "Sample A Container Serial Number",
+    "Disinfection",
+    "Method of Enclosure",
+    "Collecting Department",
+    "Collector (Signature)",
+    "Informing Family Members",
+    "Party Being Collected (Signature)",
+    "Witness (Signature)",
+    "Traffic Police (Signature)",
+    "Case Department",
+  ],
+  t13: [
+    "Certificate of Traffic Accident Determination (Simplified)",
+    "Number",
+    "Number",
+    "Time of Accident",
+    "Weather",
+    "Accident Location",
+    "Person Involved",
+    "Driver's license/ID number/Phone number",
+    "Principal",
+    "Method of Transport",
+    "Type of Motor Vehicle、License plate number",
+    "Insurance Company",
+    "Vehicle Insurance Policy Number",
+    "Facts and Responsibility of Traffic Accident",
+    "Person Involved:",
+    "(Road Traffic Incident Handling Stamp)",
+    "Traffic Police:",
+    "Resulting Damages and Compensation",
+    "Person Involved:",
+    "If involved party disagrees with the case outcome, party must apply for re-review of the outcome documentation within 3 days. Same case can only be reviewed once. Dispute over damages and compensation can involved a mediation, or raise the issue to the people's court",
+    "Note: Save this document, send a copy to each copy. ",
+    "Property Loss Accident",
+    "Injuries of person involved are minor and all parties agree to apply simplified procedures",
+  ],
+  t14: [
+    "Download",
+    "Confirm",
+    "Save",
+    "On-site Accident Investigation Transcript",
+    "Interview Transcripts",
+    "Interrogation Transcripts",
+    "Authorized Power of Attorney",
+    "List of items left at the accident site",
+    "Involved Party's Blood (Urine) Sample Registion Form",
+    "Certificate of Traffic Accident Determination (Simplified)",
+    "Laws and Regulations",
+  ],
+  t15: [
+    "List of items left at the accident site",
+    "Time of Accident",
+    "Accident Location",
+    "Number",
+    "Item Name",
+    "Quantity",
+    "Characteristics",
+    "Collector Signature",
+    "Collection time",
+    "Remarks",
+    "Involved Party Signature:",
+    "Traffic Police(sign):",
+  ],
+  t16: [
+    "Authorized Power of Attorney",
+    "Principal:",
+    "Gender:",
+    "Age:",
+    "ID Number:",
+    "Address:",
+    "Principal:",
+    "Appointee:",
+    "Gender:",
+    "Age:",
+    "ID Number:",
+    "Company:",
+    "Address and Contact Info:",
+    "I hereby appoint the above appointee to participate in:",
+    "Case",
+    "Investigation Work.",
+    "Appointee:",
+    "The authority of the appointee is:",
+    "General representation: to participate in litigation, mediation, provide legal assistance.",
+    "Special authorization: to provide the facts;  participate in mediation; propose, accept, waive or change the claim for compensation; file counterclaims or appeals; signing receipt of legal documents.",
+  ],
+  t17: [
+    "Appointee:",
+    "The authority of the appointee is:",
+    "Principal (Signature):",
+    "Appointee (Signature):",
+    "General representation: to participate in litigation, mediation, provide legal assistance.",
+    "Special authorization: to provide the facts;  participate in mediation; propose, accept, waive or change the claim for compensation; file counterclaims or appeals; signing receipt of legal documents.",
+  ],
+};

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 543 - 488
src/lang/zh/tl.ts


+ 9 - 9
src/lang/zh/tool.ts

@@ -1,11 +1,11 @@
 export default {
-    "magnify": "放大镜",
-    "free": "自由",
-    "lfree": "水平",
-    "vfree": "垂直",
-    "area": "多边形",
-    "rect": "矩形",
-    "move": "移动",
-    "series": "连续直线",
-    "rotate": "旋转"
+    "magnify": "Magnifier",
+    "free": "Free",
+    "lfree": "Hor",
+    "vfree": "Vert",
+    "area": "Polygonal",
+    "rect": "Rect",
+    "move": "Move",
+    "rotate": "Rotate",
+    "series": "Segment "
 }

+ 32 - 31
src/lang/zh/view.ts

@@ -1,40 +1,41 @@
 export default {
-    "top": "顶视图",
-    "side": "侧视图",
+    "top": "Top View",
+    "side": "Side View",
     "scene": "3D",
-    "clound": "漫游视图",
-    "sideLeft": "侧视图(N-S)",
-    "sideRight": "侧视图(E-W)",
-    "switchMiniView": "{action}迷你视角",
-    "switchView": "切换视图",
-    "seting": "视图设置",
-    "showMini": "显示迷你视角",
-    "showPano": "显示漫游点位",
-    "showMap": "显示高德地图",
-    "showFloorpan": "显示平面图",
-    "cloudSeting": "点云设置",
-    "reset": "恢复默认",
+    "clound": "Roaming view",
+    "sideLeft": "Side view (N-S)",
+    "sideRight": "Side view (E-W)",
+    "switchMiniView": "{action} Mini-view",
+    "switchView": "Changing viewpoint",
+    "seting": "View Settings",
+    "showMini": "Show mini-view",
+    "showPano": "Display roaming points",
+    "showGaodeMap": "Display Amap",
+    "showGoogleMap": "Display Amap",
+    "showFloorpan": "Display floor plan",
+    "cloudSeting": "Point cloud settings",
+    "reset": "Restore default settings",
     "density": {
-        "name": "点云质量",
-        "low": "",
-        "middle": "",
-        "high": ""
+        "name": "Point cloud quality",
+        "low": "Low",
+        "middle": "Medium",
+        "high": "High"
     },
     "colorMode": {
-        "name": "色彩模式",
-        "full": "彩色",
-        "altitude": "海拔",
-        "translucent": "半透明"
+        "name": "Color Mode",
+        "full": "Colours",
+        "altitude": "Elevation",
+        "translucent": "Translucent"
     },
     "shape": {
-        "name": "点的形状",
-        "rectangle": "矩形",
-        "circular": "圆形"
+        "name": "Dot shape",
+        "rectangle": "Rectangle",
+        "circular": "Circle"
     },
-    "moreSetting": "高级设置",
-    "range": "范围",
-    "opacity": "不透明度",
-    "size": "点的大小",
-    "detail": "细节",
-    "strong": "强化边缘"
+    "moreSetting": "Advanced Settings",
+    "range": "Range",
+    "opacity": "Opacity",
+    "size": "Dot size",
+    "detail": "More",
+    "strong": "Enhance Edges"
 }

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1341 - 1311
src/sdk/laser/core/enter.js