yh-i18n 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +22 -12
- package/lang/baseEnUS.js +17 -0
- package/lang/baseTh.js +17 -0
- package/lang/baseTr.js +17 -0
- package/lang/baseVi.js +17 -0
- package/lang/baseZhCn.js +17 -0
- package/lang/th.js +237 -238
- package/language.vue +21 -3
- package/list.vue +65 -12
- package/package.json +1 -2
package/index.js
CHANGED
|
@@ -3,6 +3,12 @@ import { defineStore } from "pinia";
|
|
|
3
3
|
import { createI18n } from "vue-i18n";
|
|
4
4
|
import axios from "@/libs/api.request";
|
|
5
5
|
|
|
6
|
+
// base
|
|
7
|
+
import zhCNBase from "./lang/baseZhCn.js";
|
|
8
|
+
import enUSBase from "./lang/baseEnUS.js";
|
|
9
|
+
import thBase from "./lang/baseTh.js";
|
|
10
|
+
import viBase from "./lang/baseVi.js";
|
|
11
|
+
import trBase from "./lang/baseTr.js";
|
|
6
12
|
// vxe table
|
|
7
13
|
import zhCNVXETable from "vxe-table/lib/locale/lang/zh-CN";
|
|
8
14
|
import enUSVXETable from "vxe-table/lib/locale/lang/en-US";
|
|
@@ -24,8 +30,7 @@ const initlang = localStorage.local || localLang || "zh_CN";
|
|
|
24
30
|
|
|
25
31
|
export let i18n = null;
|
|
26
32
|
const isDev = import.meta.env.DEV;
|
|
27
|
-
|
|
28
|
-
window.translateReady = translateReady;
|
|
33
|
+
window.translateReady = false;
|
|
29
34
|
function addTranslate(key) {
|
|
30
35
|
if (key.indexOf("vxe") === -1) {
|
|
31
36
|
try {
|
|
@@ -43,9 +48,13 @@ function addTranslate(key) {
|
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
50
|
const keySet = new Set();
|
|
51
|
+
Object.keys(zhCNBase).forEach((key) => {
|
|
52
|
+
keySet.add(key);
|
|
53
|
+
});
|
|
54
|
+
|
|
46
55
|
export const ct = (key, args) => {
|
|
47
56
|
if (isDev) {
|
|
48
|
-
if (!keySet.has(key) && translateReady) {
|
|
57
|
+
if (!keySet.has(key) && window.translateReady) {
|
|
49
58
|
keySet.add(key);
|
|
50
59
|
addTranslate(key);
|
|
51
60
|
}
|
|
@@ -114,6 +123,7 @@ export const useI18nStore = defineStore("i18nStore", () => {
|
|
|
114
123
|
}
|
|
115
124
|
});
|
|
116
125
|
}
|
|
126
|
+
|
|
117
127
|
const title = computed(() => {
|
|
118
128
|
return langList[lang.value];
|
|
119
129
|
});
|
|
@@ -150,21 +160,21 @@ async function createMessage(list) {
|
|
|
150
160
|
list.forEach((item) => {
|
|
151
161
|
switch (item) {
|
|
152
162
|
case "zh_CN":
|
|
153
|
-
messages["zh_CN"] = Object.assign(
|
|
163
|
+
messages["zh_CN"] = Object.assign(zhCNBase, zhCNVXETable);
|
|
154
164
|
break;
|
|
155
165
|
case "en_US":
|
|
156
|
-
messages["en_US"] = Object.assign(
|
|
166
|
+
messages["en_US"] = Object.assign(enUSBase, enUSVXETable);
|
|
157
167
|
break;
|
|
158
168
|
case "th":
|
|
159
|
-
messages["th"] = Object.assign(
|
|
169
|
+
messages["th"] = Object.assign(thBase, thVXETable);
|
|
160
170
|
break;
|
|
161
171
|
|
|
162
172
|
case "vi":
|
|
163
|
-
messages["vi"] = Object.assign(
|
|
173
|
+
messages["vi"] = Object.assign(viBase, viVXETable);
|
|
164
174
|
break;
|
|
165
175
|
|
|
166
176
|
case "tr":
|
|
167
|
-
messages["tr"] = Object.assign(
|
|
177
|
+
messages["tr"] = Object.assign(trBase, trVXETable);
|
|
168
178
|
break;
|
|
169
179
|
|
|
170
180
|
default:
|
|
@@ -191,16 +201,16 @@ async function createMessage(list) {
|
|
|
191
201
|
}
|
|
192
202
|
Object.entries(itemObj).forEach(([key, val]) => {
|
|
193
203
|
if (list.includes(key)) {
|
|
194
|
-
messages[key][mKey]
|
|
204
|
+
if (!messages[key][mKey]) {
|
|
205
|
+
messages[key][mKey] = val;
|
|
206
|
+
}
|
|
195
207
|
}
|
|
196
208
|
});
|
|
197
209
|
} catch (err) {
|
|
198
210
|
console.error(err);
|
|
199
211
|
}
|
|
200
212
|
});
|
|
201
|
-
} catch (error) {
|
|
202
|
-
translateReady = false;
|
|
203
|
-
}
|
|
213
|
+
} catch (error) {}
|
|
204
214
|
return messages;
|
|
205
215
|
}
|
|
206
216
|
|
package/lang/baseEnUS.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
翻译键名: "Translate key names",
|
|
3
|
+
翻译管理: "Translation management",
|
|
4
|
+
键入以筛选键名: "filter key names",
|
|
5
|
+
搜索: "search",
|
|
6
|
+
新增: "New addition",
|
|
7
|
+
批量删除: "Batch deletion",
|
|
8
|
+
重置: "reset",
|
|
9
|
+
编辑: "edit",
|
|
10
|
+
删除: "delete",
|
|
11
|
+
操作: "operation",
|
|
12
|
+
中文简体: "Simplified Chinese",
|
|
13
|
+
English: "English",
|
|
14
|
+
ไทย: "Thailand.",
|
|
15
|
+
"Việt nam": "Vietnamese",
|
|
16
|
+
Türkçe: "Turkish",
|
|
17
|
+
};
|
package/lang/baseTh.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
翻译键名: "ชื่อคีย์การแปล",
|
|
3
|
+
翻译管理: "การจัดการการแปล",
|
|
4
|
+
键入以筛选键名: "พิมพ์เพื่อกรองชื่อคีย์",
|
|
5
|
+
搜索: "ค้นหา",
|
|
6
|
+
新增: "เพิ่มใหม่",
|
|
7
|
+
批量删除: "ลบแบทช์",
|
|
8
|
+
重置: "รีเซ็ต",
|
|
9
|
+
编辑: "บรรณาธิการ",
|
|
10
|
+
删除: "ลบ",
|
|
11
|
+
操作: "การดำเนินงาน",
|
|
12
|
+
中文简体: "ภาษาจีนตัวย่อ",
|
|
13
|
+
English: "ภาษาอังกฤษ",
|
|
14
|
+
ไทย: "ไทย",
|
|
15
|
+
"Việt nam": "เวียดนาม",
|
|
16
|
+
Türkçe: "ตุรกี",
|
|
17
|
+
};
|
package/lang/baseTr.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
翻译键名: "Anahtar isimlerini çevir",
|
|
3
|
+
翻译管理: "Çeviri Yönetimi",
|
|
4
|
+
键入以筛选键名: "Anahtar isimlerini silmek için yazın",
|
|
5
|
+
搜索: "arama",
|
|
6
|
+
新增: "Yeni ekleme",
|
|
7
|
+
批量删除: "Toplu silme",
|
|
8
|
+
重置: "Sıfırla",
|
|
9
|
+
编辑: "edit",
|
|
10
|
+
删除: "Sil",
|
|
11
|
+
操作: "operasyon",
|
|
12
|
+
中文简体: "Basitleştirilmiş Çince",
|
|
13
|
+
English: "İngilizce",
|
|
14
|
+
ไทย: "Tayland.",
|
|
15
|
+
"Việt nam": "Vietnamca",
|
|
16
|
+
Türkçe: "Türkçe",
|
|
17
|
+
};
|
package/lang/baseVi.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
翻译键名: "Tên khóa dịch",
|
|
3
|
+
翻译管理: "Quản lý phiên dịch",
|
|
4
|
+
键入以筛选键名: "Nhập để lọc các tên khóa",
|
|
5
|
+
搜索: "Tìm kiếm",
|
|
6
|
+
新增: "Mới",
|
|
7
|
+
批量删除: "Xóa hàng loạt",
|
|
8
|
+
重置: "Đặt lại",
|
|
9
|
+
编辑: "Chỉnh sửa",
|
|
10
|
+
删除: "Xoá",
|
|
11
|
+
操作: "Hoạt động",
|
|
12
|
+
中文简体: "Trung Quốc",
|
|
13
|
+
English: "Tiếng Việt",
|
|
14
|
+
ไทย: "Thái Lan.",
|
|
15
|
+
"Việt nam": "Việt nam",
|
|
16
|
+
Türkçe: "Thổ Nhĩ Kỳ",
|
|
17
|
+
};
|
package/lang/baseZhCn.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
翻译键名: "翻译键名",
|
|
3
|
+
翻译管理: "翻译管理",
|
|
4
|
+
键入以筛选键名: "键入以筛选键名",
|
|
5
|
+
搜索: "搜索",
|
|
6
|
+
新增: "新增",
|
|
7
|
+
批量删除: "批量删除",
|
|
8
|
+
重置: "重置",
|
|
9
|
+
编辑: "编辑",
|
|
10
|
+
删除: "删除",
|
|
11
|
+
操作: "操作",
|
|
12
|
+
中文简体: "中文简体",
|
|
13
|
+
English: "英语",
|
|
14
|
+
ไทย: "泰语",
|
|
15
|
+
"Việt nam": "越南语",
|
|
16
|
+
Türkçe: "土耳其语",
|
|
17
|
+
};
|
package/lang/th.js
CHANGED
|
@@ -1,312 +1,311 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
vxe: {
|
|
3
3
|
loading: {
|
|
4
|
-
text: "
|
|
4
|
+
text: "กำลังดาวน์โหลด",
|
|
5
5
|
},
|
|
6
6
|
error: {
|
|
7
|
-
groupFixed:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
groupFixed:
|
|
8
|
+
"ถ้าใช้งานการจัดกลุ่มหัวข้อ ในคอลัมน์ต้องตั้งค่าตามการจัดกลุ่ม",
|
|
9
|
+
groupMouseRange:
|
|
10
|
+
"การจัดกลุ่มหัวข้อไม่สามารถใช้งานคู่กับ'{0}' ได้ในเวลาเดียวกัน ไม่เช่นนั้นจะมีแจ้งเตือนข้อความขัดแย้งขึ้นมา",
|
|
11
|
+
groupTag:
|
|
12
|
+
"การจัดกลุ่มส่วนหัวในคอลัมน์ควรใช้ '{0}' แทน '{1}' ไม่เช่นนั้นจะมีแจ้งเตือนข้อความขัดแย้งขึ้นมา",
|
|
13
|
+
scrollErrProp: "เมื่อเปิดใช้งานการเสมือน จะไม่สนับสนุนพารามิเตอร์ '{0}' ",
|
|
14
|
+
errConflicts: "พารามิเตอร์ '{0}' กับ'{1}'มีความขัดแย้งกัน",
|
|
15
|
+
unableInsert:
|
|
16
|
+
"ไม่สามารถแทรกลงในตำแหน่งที่ระบุได้ โปรดตรวจสอบว่าพารามิเตอร์ถูกต้องหรือไม่",
|
|
13
17
|
useErr:
|
|
14
|
-
"
|
|
15
|
-
barUnableLink: "
|
|
16
|
-
expandContent:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
18
|
+
"เกิดข้อผิดพลาดขณะติดตั้งโมดูล '{0}' ซึ่งอาจอยู่ในลำดับที่ไม่ถูกต้อง จำเป็นต้องติดตั้งโมดูลในตารางก่อน",
|
|
19
|
+
barUnableLink: "แถบเครื่องมือไม่สามารถเชื่อมต่อกับฟอร์มตารางได้",
|
|
20
|
+
expandContent:
|
|
21
|
+
"ช่องที่จะขยายแถวควรมีเนื้อหา โปรดตรวจสอบว่าถูกต้องหรือไม่",
|
|
22
|
+
reqModule: "โมดูล '{0}' ขาดหายไป",
|
|
23
|
+
reqProp:
|
|
24
|
+
"พารามิเตอร์ '{0}' ที่จำเป็นขาดหายไป ซึ่งอาจส่งผลให้เกิดข้อผิดพลาด",
|
|
25
|
+
emptyProp: "พารามิเตอร์ '{0}'ไม่อนุญาตให้เว้นว่าง",
|
|
26
|
+
errProp: "พารามิเตอร์ '{0}'ไม่ซัพพอท อาจจะต้องใช้ '{1}'",
|
|
27
|
+
colRepet: "column.{0} ='{1}' ซ้ำกัน ซึ่งอาจทำให้บางฟังก์ชันใช้งานไม่ได้",
|
|
28
|
+
notFunc: "วิธี '{0}' ไม่มีอยู่",
|
|
29
|
+
notSlot: "ในช่อง'{0}'ไม่มีอยู่",
|
|
30
|
+
noTree: "โครงสร้างไม่สนับสนุน '{0}'",
|
|
31
|
+
notProp: "พารามิเตอร์ที่ไม่สนับสนุน '{0}'",
|
|
32
|
+
coverProp: "พารามิเตอร์ '{0}'ถูก'{1}'เขียนทับ ซึ่งอาจทำให้เกิดข้อผิดพลาด",
|
|
33
|
+
delFunc: "วิธีการ '{0}' เลิกใช้แล้ว โปรดใช้ '{1}'",
|
|
34
|
+
delProp: "พารามิเตอร์ '{0}' เลิกใช้แล้ว โปรดใช้ '{1}'",
|
|
35
|
+
delEvent: "กิจกรรม '{0}' เลิกใช้แล้ว โปรดใช้ '{1}'",
|
|
36
|
+
removeProp:
|
|
37
|
+
"พารามิเตอร์ '{0}' เลิกใช้แล้วและไม่แนะนำให้ใช้อาจส่งผลให้เกิดข้อผิดพลาด",
|
|
31
38
|
errFormat:
|
|
32
|
-
"
|
|
33
|
-
notType: "
|
|
34
|
-
notExp: "
|
|
35
|
-
impFields:
|
|
36
|
-
|
|
39
|
+
"เนื้อหาการจัดรูปแบบสากลควรถูกกำหนดโดยใช้ 'VXETable.formats' ไม่แนะนำให้ใช้วิธีการเมานต์ 'formatter={0}' อีกต่อไป",
|
|
40
|
+
notType: "ไม่สนับสนุนประเภทไฟล์ '{0}'",
|
|
41
|
+
notExp: "เบราว์เซอร์นี้ไม่รองรับฟังก์ชันการนำเข้า/ส่งออก",
|
|
42
|
+
impFields:
|
|
43
|
+
"การนำเข้าล้มเหลว โปรดตรวจสอบว่าชื่อฟิลด์และรูปแบบข้อมูลถูกต้องหรือไม่",
|
|
44
|
+
treeNotImp: "ตารางแผนผังไม่รองรับการนำเข้า",
|
|
37
45
|
},
|
|
38
46
|
renderer: {
|
|
39
|
-
search: "
|
|
47
|
+
search: "ค้นหา",
|
|
40
48
|
cases: {
|
|
41
|
-
equal: "
|
|
42
|
-
unequal: "
|
|
43
|
-
gt: "
|
|
44
|
-
ge: "
|
|
45
|
-
lt: "
|
|
46
|
-
le: "
|
|
47
|
-
begin: "
|
|
48
|
-
notbegin: "
|
|
49
|
-
endin: "
|
|
50
|
-
notendin: "
|
|
51
|
-
include: "
|
|
52
|
-
exclude: "
|
|
53
|
-
between: "
|
|
54
|
-
custom: "
|
|
55
|
-
insensitive: "
|
|
56
|
-
isSensitive: "
|
|
49
|
+
equal: "เท่ากับ",
|
|
50
|
+
unequal: "ไม่เท่ากับ",
|
|
51
|
+
gt: "มากกว่า",
|
|
52
|
+
ge: "มากกว่าหรือเท่ากับ",
|
|
53
|
+
lt: "น้อยกว่า",
|
|
54
|
+
le: "น้อยกว่าหรือเท่ากับ",
|
|
55
|
+
begin: "เริ่มต้นด้วย",
|
|
56
|
+
notbegin: "ไม่ใช่จุดเริ่มต้น",
|
|
57
|
+
endin: "จุดสิ้นสุด",
|
|
58
|
+
notendin: "ไม่ใช่จุดสิ้นสุด",
|
|
59
|
+
include: "ครอบคลุม",
|
|
60
|
+
exclude: "ไม่ครอบคลุม",
|
|
61
|
+
between: "ระหว่าง",
|
|
62
|
+
custom: "ตัวกรองแบบกำหนดเอง",
|
|
63
|
+
insensitive: "ไม่คำนึงถึงขนาดตัวพิมพ์",
|
|
64
|
+
isSensitive: "คำนึงถึงขนาดตัวพิมพ์",
|
|
57
65
|
},
|
|
58
66
|
combination: {
|
|
59
67
|
menus: {
|
|
60
|
-
clearSort: "
|
|
61
|
-
sortAsc: "
|
|
62
|
-
sortDesc: "
|
|
63
|
-
fixedColumn: "
|
|
64
|
-
fixedGroup: "
|
|
65
|
-
cancelFixed: "
|
|
66
|
-
fixedLeft: "
|
|
67
|
-
fixedRight: "
|
|
68
|
-
clearFilter: "
|
|
69
|
-
textOption: "
|
|
70
|
-
numberOption: "
|
|
68
|
+
clearSort: "เรียงลำดับชัดเจน",
|
|
69
|
+
sortAsc: "ลำดับจากน้อยไปมาก",
|
|
70
|
+
sortDesc: "ลำดับจากมากไปน้อย",
|
|
71
|
+
fixedColumn: "ล็อคคอลัมน์",
|
|
72
|
+
fixedGroup: "ล็อคการจัดกลุ่ม",
|
|
73
|
+
cancelFixed: "ยกเลิกการล็อค",
|
|
74
|
+
fixedLeft: "ล็อคไปทางซ้าย",
|
|
75
|
+
fixedRight: "ล็อคไปทางขวา",
|
|
76
|
+
clearFilter: "ล้างตัวกรอง",
|
|
77
|
+
textOption: "ตัวกรองข้อความ",
|
|
78
|
+
numberOption: "ตัวกรองตัวเลข",
|
|
71
79
|
},
|
|
72
80
|
popup: {
|
|
73
|
-
title: "
|
|
74
|
-
currColumnTitle: "
|
|
75
|
-
and: "
|
|
76
|
-
or: "
|
|
77
|
-
describeHtml:
|
|
81
|
+
title: "วิธีปรับแต่งการกรอง",
|
|
82
|
+
currColumnTitle: "คอลัมน์ปัจจุบัน",
|
|
83
|
+
and: "กับ(และ)",
|
|
84
|
+
or: "หรือ",
|
|
85
|
+
describeHtml:
|
|
86
|
+
"แสดงถึงอักขระตัวเดียว<br/> * แสดงถึงการใช้อักขระจำนวนเท่าใดก็ได้",
|
|
78
87
|
},
|
|
79
|
-
empty: "
|
|
80
|
-
notData: "
|
|
88
|
+
empty: "ว่างเปล่า",
|
|
89
|
+
notData: "ไม่มีรายการที่เหมาะสม",
|
|
81
90
|
},
|
|
82
91
|
},
|
|
83
92
|
pro: {
|
|
84
93
|
area: {
|
|
85
|
-
mergeErr: "
|
|
86
|
-
multiErr: "
|
|
94
|
+
mergeErr: "การดำเนินการนี้ไม่สามารถทำได้บนตารางที่ผสานเซลล์แล้ว",
|
|
95
|
+
multiErr: "การดำเนินการนี้ไม่สามารถทำได้ในการเลือกตัวเลือกหลายพื้นที่",
|
|
87
96
|
extendErr:
|
|
88
|
-
"
|
|
97
|
+
"หากช่วงขยายมีเซลล์ที่ผสานกัน เซลล์ที่ผสานทั้งหมดจะต้องมีขนาดเท่ากัน",
|
|
89
98
|
pasteMultiErr:
|
|
90
|
-
"
|
|
99
|
+
"ไม่สามารถวางได้ พื้นที่ที่คัดลอกและวางจะต้องมีขนาดเท่ากันจึงจะดำเนินการนี้ได้",
|
|
91
100
|
},
|
|
92
101
|
fnr: {
|
|
93
|
-
title: "
|
|
94
|
-
findLabel: "
|
|
95
|
-
replaceLabel: "
|
|
96
|
-
findTitle: "
|
|
97
|
-
replaceTitle: "
|
|
102
|
+
title: "ค้นหาและแทนที่",
|
|
103
|
+
findLabel: "ค้นหา",
|
|
104
|
+
replaceLabel: "แทนที่",
|
|
105
|
+
findTitle: "ค้นหาเนื้อหา",
|
|
106
|
+
replaceTitle: "แทนที่",
|
|
98
107
|
tabs: {
|
|
99
|
-
find: "
|
|
100
|
-
replace: "
|
|
108
|
+
find: "ค้นหา",
|
|
109
|
+
replace: "แทนที่",
|
|
101
110
|
},
|
|
102
111
|
filter: {
|
|
103
|
-
re: "
|
|
104
|
-
whole: "
|
|
105
|
-
sensitive: "
|
|
112
|
+
re: "การแสดงปกติ",
|
|
113
|
+
whole: "การจับคู่คำทั้งหมด",
|
|
114
|
+
sensitive: "คำนึงถึงขนาดตัวพิมพ์",
|
|
106
115
|
},
|
|
107
116
|
btns: {
|
|
108
|
-
findNext: "
|
|
109
|
-
findAll: "
|
|
110
|
-
replace: "
|
|
111
|
-
replaceAll: "
|
|
112
|
-
cancel: "
|
|
117
|
+
findNext: "ค้นหาต่อไป",
|
|
118
|
+
findAll: "ค้นหาทั้งหมด",
|
|
119
|
+
replace: "แทนที่",
|
|
120
|
+
replaceAll: "แทนที่ทั้งหมด",
|
|
121
|
+
cancel: "ยกเลิก",
|
|
113
122
|
},
|
|
114
123
|
header: {
|
|
115
|
-
seq: "
|
|
116
|
-
cell: "
|
|
117
|
-
value: "
|
|
124
|
+
seq: "เครื่องหมายชาร์ป",
|
|
125
|
+
cell: "หน่วยเซลล์",
|
|
126
|
+
value: "ค่า",
|
|
118
127
|
},
|
|
119
|
-
empty: "
|
|
120
|
-
reError: "
|
|
121
|
-
recordCount: "
|
|
122
|
-
notCell: "
|
|
123
|
-
replaceSuccess: "
|
|
128
|
+
empty: "ค่าว่าง",
|
|
129
|
+
reError: "การแสดงไร้ประสิทธิภาพ",
|
|
130
|
+
recordCount: "พบ{0}เซลล์แล้ว",
|
|
131
|
+
notCell: "ไม่พบเซลล์ที่ตรงกัน",
|
|
132
|
+
replaceSuccess: "แทนที่เซลล์{0} สำเร็จแล้ว",
|
|
124
133
|
},
|
|
125
134
|
},
|
|
126
135
|
table: {
|
|
127
|
-
emptyText: "
|
|
128
|
-
allTitle: "
|
|
129
|
-
seqTitle: "
|
|
130
|
-
|
|
131
|
-
resetFilter: "重置",
|
|
132
|
-
allFilter: "全部",
|
|
133
|
-
sortAsc: "升序:最低到最高",
|
|
134
|
-
sortDesc: "降序:最高到最低",
|
|
135
|
-
filter: "对所选的列启用筛选",
|
|
136
|
-
impSuccess: "成功导入 {0} 条记录",
|
|
137
|
-
expLoading: "正在导出中",
|
|
138
|
-
expSuccess: "导出成功",
|
|
139
|
-
expFilename: "导出_{0}",
|
|
140
|
-
expOriginFilename: "导出_源_{0}",
|
|
141
|
-
customTitle: "列设置",
|
|
142
|
-
customAll: "全部",
|
|
143
|
-
customConfirm: "确认",
|
|
144
|
-
customRestore: "还原",
|
|
136
|
+
emptyText: "ไม่มีข้อมูล",
|
|
137
|
+
allTitle: "เลือกทั้งหมด/ยกเลิก",
|
|
138
|
+
seqTitle: "เครื่องหมายชาร์ป",
|
|
139
|
+
customRestore: "การลดน้อยลง",
|
|
145
140
|
},
|
|
146
141
|
grid: {
|
|
147
|
-
selectOneRecord: "
|
|
148
|
-
deleteSelectRecord: "
|
|
149
|
-
removeSelectRecord: "
|
|
150
|
-
dataUnchanged: "
|
|
151
|
-
delSuccess: "
|
|
152
|
-
saveSuccess: "
|
|
153
|
-
operError: "
|
|
142
|
+
selectOneRecord: "โปรดเลือกอย่างน้อยหนึ่งรายการ!",
|
|
143
|
+
deleteSelectRecord: "คุณแน่ใจหรือไม่ว่าต้องการลบบันทึกที่เลือก?",
|
|
144
|
+
removeSelectRecord: "คุณแน่ใจหรือไม่ว่าต้องการลบบันทึกที่เลือก?",
|
|
145
|
+
dataUnchanged: "ข้อมูลไม่มีการเปลี่ยนแปลง!",
|
|
146
|
+
delSuccess: "ลบบันทึกที่เลือกเรียบร้อยแล้ว!",
|
|
147
|
+
saveSuccess: "บันทึกสำเร็จ",
|
|
148
|
+
operError: "เกิดข้อผิดพลาดและการดำเนินการล้มเหลว!",
|
|
154
149
|
},
|
|
155
150
|
select: {
|
|
156
|
-
search: "
|
|
157
|
-
loadingText: "
|
|
158
|
-
emptyText: "
|
|
151
|
+
search: "ค้นหา",
|
|
152
|
+
loadingText: "กำลังดาวน์โหลด",
|
|
153
|
+
emptyText: "ไม่มีข้อมูล",
|
|
159
154
|
},
|
|
160
155
|
pager: {
|
|
161
|
-
goto: "
|
|
162
|
-
pagesize: "{0}
|
|
163
|
-
total: "
|
|
164
|
-
pageClassifier: "
|
|
165
|
-
prevPage: "
|
|
166
|
-
nextPage: "
|
|
167
|
-
prevJump: "
|
|
168
|
-
nextJump: "
|
|
156
|
+
goto: "ไปข้างหน้า",
|
|
157
|
+
pagesize: "{0} รายการ/หน้า",
|
|
158
|
+
total: "รวมทั้งหมด{0}รายการที่บันทึก",
|
|
159
|
+
pageClassifier: "หน้า",
|
|
160
|
+
prevPage: "หน้าก่อนหน้า",
|
|
161
|
+
nextPage: "หน้าถัดไป",
|
|
162
|
+
prevJump: "ข้ามขึ้นไป",
|
|
163
|
+
nextJump: "ข้ามลงมา",
|
|
169
164
|
},
|
|
170
165
|
alert: {
|
|
171
|
-
title: "
|
|
166
|
+
title: "การแจ้งเตือน",
|
|
172
167
|
},
|
|
173
168
|
button: {
|
|
174
|
-
confirm: "
|
|
175
|
-
cancel: "
|
|
169
|
+
confirm: "ยืนยัน",
|
|
170
|
+
cancel: "ยกเลิก",
|
|
176
171
|
},
|
|
177
172
|
import: {
|
|
178
173
|
modes: {
|
|
179
|
-
covering: "
|
|
180
|
-
insert: "
|
|
174
|
+
covering: "ปิดบัง",
|
|
175
|
+
insert: "เพิ่มใหม่",
|
|
181
176
|
},
|
|
182
|
-
impTitle: "
|
|
183
|
-
impFile: "
|
|
184
|
-
impSelect: "
|
|
185
|
-
impType: "
|
|
186
|
-
impOpts: "
|
|
187
|
-
impConfirm: "
|
|
188
|
-
impCancel: "
|
|
177
|
+
impTitle: "นำเข้าข้อมูล",
|
|
178
|
+
impFile: "ชื่อไฟล์",
|
|
179
|
+
impSelect: "เลือกไฟล์",
|
|
180
|
+
impType: "ประเภทไฟล์",
|
|
181
|
+
impOpts: "ตั้งค่าพารามิเตอร์",
|
|
182
|
+
impConfirm: "นำเข้า",
|
|
183
|
+
impCancel: "ยกเลิก",
|
|
189
184
|
},
|
|
190
185
|
export: {
|
|
191
186
|
types: {
|
|
192
|
-
csv: "CSV (
|
|
193
|
-
html: "
|
|
194
|
-
xml: "XML
|
|
195
|
-
txt: "
|
|
196
|
-
xls: "Excel 97-2003
|
|
197
|
-
xlsx: "Excel
|
|
198
|
-
pdf: "PDF (
|
|
187
|
+
csv: "CSV (คั่นด้วยเครื่องหมายจุลภาค)(*.csv)",
|
|
188
|
+
html: "เว็บไซต์",
|
|
189
|
+
xml: "ข้อมูลXML (นามสกุลไฟล์)",
|
|
190
|
+
txt: "ไฟล์ข้อความ (คั่นด้วยแท็บ) (*.txt)",
|
|
191
|
+
xls: "ไฟล์งานExcel 97-2003 (*.xls)",
|
|
192
|
+
xlsx: "ไฟล์งานExcel (*.xlsx)",
|
|
193
|
+
pdf: "PDF (นามสกุลไฟล์)",
|
|
199
194
|
},
|
|
200
195
|
modes: {
|
|
201
|
-
current: "
|
|
202
|
-
selected: "
|
|
203
|
-
all: "
|
|
196
|
+
current: "ข้อมูลปัจจุบัน (ข้อมูลของหน้าปัจจุบัน)",
|
|
197
|
+
selected: "ข้อมูลที่เลือก (ข้อมูลที่เลือกในหน้าปัจจุบัน)",
|
|
198
|
+
all: "ข้อมูลทั้งหมด (รวมถึงข้อมูลที่แบ่งหน้าทั้งหมด)",
|
|
204
199
|
},
|
|
205
|
-
printTitle: "
|
|
206
|
-
expTitle: "
|
|
207
|
-
expName: "
|
|
208
|
-
expNamePlaceholder: "
|
|
209
|
-
expSheetName: "
|
|
210
|
-
expSheetNamePlaceholder: "
|
|
211
|
-
expType: "
|
|
212
|
-
expMode: "
|
|
213
|
-
expCurrentColumn: "
|
|
214
|
-
expColumn: "
|
|
215
|
-
expOpts: "
|
|
216
|
-
expOptHeader: "
|
|
217
|
-
expHeaderTitle: "
|
|
218
|
-
expOptFooter: "
|
|
219
|
-
expFooterTitle: "
|
|
220
|
-
expOptColgroup: "
|
|
221
|
-
expColgroupTitle:
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
200
|
+
printTitle: "ปริ้นข้อมูล",
|
|
201
|
+
expTitle: "นำออกข้อมูล",
|
|
202
|
+
expName: "ชื่อไฟล์",
|
|
203
|
+
expNamePlaceholder: "โปรดใส่ชื่อไฟล์",
|
|
204
|
+
expSheetName: "หัวข้อ",
|
|
205
|
+
expSheetNamePlaceholder: "โปรดใส่ชื่อหัวข้อ",
|
|
206
|
+
expType: "ประเภทการเซฟ",
|
|
207
|
+
expMode: "เลือกช้อมูล",
|
|
208
|
+
expCurrentColumn: "คำทั้งหมด",
|
|
209
|
+
expColumn: "เลือกเฉพาะคำ",
|
|
210
|
+
expOpts: "ตั้งค่าพารามิเตอร์",
|
|
211
|
+
expOptHeader: "หัวข้อ",
|
|
212
|
+
expHeaderTitle: "ต้องการตั้งหัวข้อหรือไม่",
|
|
213
|
+
expOptFooter: "ท้ายตาราง",
|
|
214
|
+
expFooterTitle: "ต้องการตั้งท้ายตารางหรือไม่",
|
|
215
|
+
expOptColgroup: "การจัดกลุ่มหัวข้อ",
|
|
216
|
+
expColgroupTitle:
|
|
217
|
+
"หากมีอยู่ ต้องการรองรับหัวข้อที่มีโครงสร้างการจัดกลุ่ม",
|
|
218
|
+
expOptMerge: "ผสานเข้าด้วยกัน",
|
|
219
|
+
expMergeTitle:
|
|
220
|
+
"หากมีอยู่ ต้องการรองรับเซลล์ที่มีโครงสร้างผสานเข้าด้วยกันหรือไม่",
|
|
221
|
+
expOptAllExpand: "ขยายลำดับชั้น",
|
|
222
|
+
expAllExpandTitle:
|
|
223
|
+
"หากมีอยู่ ต้องการรองรับการขยายข้อมูลทั้งหมดด้วยโครงสร้างแบบลำดับชั้นหรือไม่",
|
|
224
|
+
expOptUseStyle: "รูปแบบ",
|
|
225
|
+
expUseStyleTitle: "หากมีอยู่ ต้องการรองรับรูปแบบเซลล์หรือไม่",
|
|
226
|
+
expOptOriginal: "แหล่งข้อมูล",
|
|
227
|
+
expOriginalTitle:
|
|
228
|
+
"หากเป็นแหล่งข้อมูล ต้องการรองรับการนำเข้าลงในตารางหรือไม่",
|
|
229
|
+
expPrint: "ปริ้น",
|
|
230
|
+
expConfirm: "นำออก",
|
|
231
|
+
expCancel: "ยกเลิก",
|
|
233
232
|
},
|
|
234
233
|
modal: {
|
|
235
|
-
zoomIn: "
|
|
236
|
-
zoomOut: "
|
|
237
|
-
close: "
|
|
234
|
+
zoomIn: "ขยายใหญ่ขึ้น",
|
|
235
|
+
zoomOut: "คืนกลับสภาพเดิม",
|
|
236
|
+
close: "ปิด",
|
|
238
237
|
},
|
|
239
238
|
form: {
|
|
240
|
-
folding: "
|
|
241
|
-
unfolding: "
|
|
239
|
+
folding: "จัดเก็บ",
|
|
240
|
+
unfolding: "ขยายการดำเนินงาน",
|
|
242
241
|
},
|
|
243
242
|
toolbar: {
|
|
244
|
-
import: "
|
|
245
|
-
export: "
|
|
246
|
-
print: "
|
|
247
|
-
refresh: "
|
|
248
|
-
zoomIn: "
|
|
249
|
-
zoomOut: "
|
|
250
|
-
custom: "
|
|
251
|
-
customAll: "
|
|
252
|
-
customConfirm: "
|
|
253
|
-
customRestore: "
|
|
243
|
+
import: "นำเข้า",
|
|
244
|
+
export: "นำออก",
|
|
245
|
+
print: "ปริ้น",
|
|
246
|
+
refresh: "รีเฟรช",
|
|
247
|
+
zoomIn: "ขนาดเต็มจอ",
|
|
248
|
+
zoomOut: "คืนกลับสภาพเดิม",
|
|
249
|
+
custom: "การตั้งค่าคอลัมน์",
|
|
250
|
+
customAll: "ทั้งหมด",
|
|
251
|
+
customConfirm: "ยืนยัน",
|
|
252
|
+
customRestore: "คืนกลับสภาพเดิม",
|
|
254
253
|
},
|
|
255
254
|
input: {
|
|
256
255
|
date: {
|
|
257
|
-
m1: "
|
|
258
|
-
m2: "
|
|
259
|
-
m3: "
|
|
260
|
-
m4: "
|
|
261
|
-
m5: "
|
|
262
|
-
m6: "
|
|
263
|
-
m7: "
|
|
264
|
-
m8: "
|
|
265
|
-
m9: "
|
|
266
|
-
m10: "
|
|
267
|
-
m11: "
|
|
268
|
-
m12: "
|
|
269
|
-
quarterLabel: "{0}
|
|
270
|
-
monthLabel: "{0}
|
|
271
|
-
dayLabel: "{0}
|
|
256
|
+
m1: "มกราคม",
|
|
257
|
+
m2: "กุมภาพัน์",
|
|
258
|
+
m3: "มีนาคม",
|
|
259
|
+
m4: "เมษายน",
|
|
260
|
+
m5: "พฤษภาคม",
|
|
261
|
+
m6: "มิถุนายน",
|
|
262
|
+
m7: "กรกฎาคม",
|
|
263
|
+
m8: "สิงหาคม",
|
|
264
|
+
m9: "กันยายน",
|
|
265
|
+
m10: "ตุลาคม",
|
|
266
|
+
m11: "พฤศจิกายน",
|
|
267
|
+
m12: "ธันวาคม",
|
|
268
|
+
quarterLabel: "{0} ปี",
|
|
269
|
+
monthLabel: "{0} ปี",
|
|
270
|
+
dayLabel: "{0} ปี {1}",
|
|
272
271
|
labelFormat: {
|
|
273
|
-
date: "
|
|
274
|
-
time: "
|
|
275
|
-
datetime: "
|
|
276
|
-
week: "
|
|
277
|
-
month: "
|
|
278
|
-
quarter: "
|
|
279
|
-
year: "
|
|
272
|
+
date: "ปี-เดือน-วัน",
|
|
273
|
+
time: "ชั่วโมง-นาที-วินาที",
|
|
274
|
+
datetime: "ปี-เดือน-วัน ชั่วโมง-นาที-วินาที",
|
|
275
|
+
week: "ปี-สัปดาห์ที่",
|
|
276
|
+
month: "ปี-เดือน",
|
|
277
|
+
quarter: "ปี-ฤดูกาล",
|
|
278
|
+
year: "ปี",
|
|
280
279
|
},
|
|
281
280
|
weeks: {
|
|
282
|
-
w: "
|
|
283
|
-
w0: "
|
|
284
|
-
w1: "
|
|
285
|
-
w2: "
|
|
286
|
-
w3: "
|
|
287
|
-
w4: "
|
|
288
|
-
w5: "
|
|
289
|
-
w6: "
|
|
281
|
+
w: "สัปดาห์",
|
|
282
|
+
w0: "วันอาทิตย์",
|
|
283
|
+
w1: "วันจันทร์",
|
|
284
|
+
w2: "วันอังคาร",
|
|
285
|
+
w3: "วันพุธ",
|
|
286
|
+
w4: "วันพฤหัสบดี",
|
|
287
|
+
w5: "วันศุกร์",
|
|
288
|
+
w6: "วันเสาร์",
|
|
290
289
|
},
|
|
291
290
|
months: {
|
|
292
|
-
m0: "
|
|
293
|
-
m1: "
|
|
294
|
-
m2: "
|
|
295
|
-
m3: "
|
|
296
|
-
m4: "
|
|
297
|
-
m5: "
|
|
298
|
-
m6: "
|
|
299
|
-
m7: "
|
|
300
|
-
m8: "
|
|
301
|
-
m9: "
|
|
302
|
-
m10: "
|
|
303
|
-
m11: "
|
|
291
|
+
m0: "มกราคม",
|
|
292
|
+
m1: "กุมภาพัน์",
|
|
293
|
+
m2: "มีนาคม",
|
|
294
|
+
m3: "เมษายน",
|
|
295
|
+
m4: "พฤษภาคม",
|
|
296
|
+
m5: "มิถุนายน",
|
|
297
|
+
m6: "กรกฎาคม",
|
|
298
|
+
m7: "สิงหาคม",
|
|
299
|
+
m8: "กันยายน",
|
|
300
|
+
m9: "ตุลาคม",
|
|
301
|
+
m10: "พฤศจิกายน",
|
|
302
|
+
m11: "ธันวาคม",
|
|
304
303
|
},
|
|
305
304
|
quarters: {
|
|
306
|
-
q1: "
|
|
307
|
-
q2: "
|
|
308
|
-
q3: "
|
|
309
|
-
q4: "
|
|
305
|
+
q1: "ฤดูกาลแรก",
|
|
306
|
+
q2: "ฤดูกาลที่สอง",
|
|
307
|
+
q3: "ฤดูกาลที่สาม",
|
|
308
|
+
q4: "ฤดูกาลที่สี่",
|
|
310
309
|
},
|
|
311
310
|
},
|
|
312
311
|
},
|
package/language.vue
CHANGED
|
@@ -14,17 +14,35 @@
|
|
|
14
14
|
</el-dropdown-menu>
|
|
15
15
|
</template>
|
|
16
16
|
</el-dropdown>
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
<el-link v-if="isDev" type="warning" href="/#/translate">{{
|
|
19
|
+
ct("翻译管理")
|
|
20
|
+
}}</el-link>
|
|
21
|
+
|
|
22
|
+
<el-switch
|
|
23
|
+
active-text="收集"
|
|
24
|
+
inactive-text="不收集"
|
|
25
|
+
inline-prompt
|
|
26
|
+
v-if="isDev"
|
|
27
|
+
v-model="isCollect"
|
|
28
|
+
></el-switch>
|
|
18
29
|
</template>
|
|
19
30
|
|
|
20
31
|
<script setup>
|
|
21
|
-
import { useI18nStore } from "yh-i18n";
|
|
32
|
+
import { useI18nStore, ct } from "yh-i18n";
|
|
22
33
|
import { storeToRefs } from "pinia";
|
|
23
|
-
import { ref } from "vue";
|
|
34
|
+
import { ref, watch } from "vue";
|
|
24
35
|
|
|
25
36
|
const isDev = ref(import.meta.env.DEV);
|
|
26
37
|
|
|
27
38
|
const i18nStore = useI18nStore();
|
|
39
|
+
const isCollect = ref(window.translateReady);
|
|
40
|
+
watch(
|
|
41
|
+
() => isCollect.value,
|
|
42
|
+
(val) => {
|
|
43
|
+
window.translateReady = val;
|
|
44
|
+
}
|
|
45
|
+
);
|
|
28
46
|
|
|
29
47
|
const { localList, title } = storeToRefs(i18nStore);
|
|
30
48
|
|
package/list.vue
CHANGED
|
@@ -5,11 +5,16 @@
|
|
|
5
5
|
<i class="iconfont icon-add"></i>
|
|
6
6
|
{{ ct("新增") }}
|
|
7
7
|
</el-button>
|
|
8
|
+
<el-button type="danger" @click="delMore">
|
|
9
|
+
<i class="iconfont icon-delete"></i>
|
|
10
|
+
{{ ct("批量删除") }}
|
|
11
|
+
</el-button>
|
|
8
12
|
<div class="yh-i18n-list-conditions">
|
|
9
13
|
<el-form inline>
|
|
10
14
|
<el-form-item :label="ct('翻译键名')">
|
|
11
15
|
<el-input
|
|
12
16
|
v-model="listForm.key"
|
|
17
|
+
@keyup.enter.stop.prevent="getDataList(true)"
|
|
13
18
|
:placeholder="ct('键入以筛选键名')"
|
|
14
19
|
></el-input>
|
|
15
20
|
</el-form-item>
|
|
@@ -20,7 +25,18 @@
|
|
|
20
25
|
}}</el-button>
|
|
21
26
|
<el-button @click="resetList">{{ ct("重置") }}</el-button>
|
|
22
27
|
</div>
|
|
23
|
-
<el-table
|
|
28
|
+
<el-table
|
|
29
|
+
ref="i18nList"
|
|
30
|
+
:data="dataList"
|
|
31
|
+
row-key="adTranslateId"
|
|
32
|
+
@row-click="rowClickHandler"
|
|
33
|
+
>
|
|
34
|
+
<el-table-column
|
|
35
|
+
type="selection"
|
|
36
|
+
width="60"
|
|
37
|
+
align="center"
|
|
38
|
+
fixed="left"
|
|
39
|
+
></el-table-column>
|
|
24
40
|
<el-table-column
|
|
25
41
|
type="index"
|
|
26
42
|
label="#"
|
|
@@ -53,12 +69,12 @@
|
|
|
53
69
|
></el-table-column>
|
|
54
70
|
</el-table>
|
|
55
71
|
<el-pagination
|
|
56
|
-
small
|
|
57
72
|
background
|
|
58
|
-
:page-
|
|
73
|
+
:page-sizes="[100, 200, 1000, 10000]"
|
|
74
|
+
v-model:page-size="listForm.pageSize"
|
|
59
75
|
:total="listForm.total"
|
|
60
76
|
v-model:current-page="listForm.pageNum"
|
|
61
|
-
layout="prev,pager,next,total"
|
|
77
|
+
layout="sizes,prev,pager,next,total"
|
|
62
78
|
></el-pagination>
|
|
63
79
|
</div>
|
|
64
80
|
<el-dialog
|
|
@@ -105,11 +121,10 @@
|
|
|
105
121
|
</template>
|
|
106
122
|
<script setup lang="ts">
|
|
107
123
|
import { reactive, ref, onMounted, watch } from "vue";
|
|
108
|
-
import { ElMessage, ElMessageBox } from "element-plus";
|
|
124
|
+
import { ElLoadingService, ElMessage, ElMessageBox } from "element-plus";
|
|
109
125
|
import { useI18nStore, ct } from "yh-i18n";
|
|
110
126
|
import http from "@/libs/api.request";
|
|
111
127
|
import { VxeFormInstance, VxeFormPropTypes } from "vxe-table";
|
|
112
|
-
import { nextTick } from "vue";
|
|
113
128
|
|
|
114
129
|
const i18nStore = useI18nStore();
|
|
115
130
|
const vxeFormRef = ref<VxeFormInstance>();
|
|
@@ -118,16 +133,20 @@ const insertUrl = "/translate/insert";
|
|
|
118
133
|
const updateUrl = "/translate/edit";
|
|
119
134
|
const deleteUrl = "/translate/deleteTranslate";
|
|
120
135
|
|
|
136
|
+
const i18nList = ref();
|
|
121
137
|
const listForm = reactive({
|
|
122
138
|
key: "",
|
|
123
139
|
pageNum: 1,
|
|
124
|
-
pageSize:
|
|
140
|
+
pageSize: 200,
|
|
125
141
|
total: 0,
|
|
126
142
|
});
|
|
127
143
|
const listColumns = reactive<any>([]);
|
|
128
144
|
const dataList = ref<any>([]);
|
|
129
|
-
function getDataList() {
|
|
145
|
+
function getDataList(isReset = false) {
|
|
130
146
|
let { key, pageNum, pageSize } = listForm;
|
|
147
|
+
if (isReset) {
|
|
148
|
+
pageNum = 1;
|
|
149
|
+
}
|
|
131
150
|
http
|
|
132
151
|
.request({
|
|
133
152
|
url: "/translate/select",
|
|
@@ -162,6 +181,17 @@ function getDataList() {
|
|
|
162
181
|
listForm.total = total;
|
|
163
182
|
});
|
|
164
183
|
}
|
|
184
|
+
|
|
185
|
+
watch(
|
|
186
|
+
() => listForm.pageNum,
|
|
187
|
+
() => {
|
|
188
|
+
getDataList();
|
|
189
|
+
}
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
function rowClickHandler(row) {
|
|
193
|
+
i18nList.value?.toggleRowSelection(row);
|
|
194
|
+
}
|
|
165
195
|
function resetList() {
|
|
166
196
|
listForm.key = "";
|
|
167
197
|
listForm.pageNum = 1;
|
|
@@ -263,13 +293,39 @@ function delOne(id) {
|
|
|
263
293
|
.then((res) => {
|
|
264
294
|
if (res?.data?.status === 200) {
|
|
265
295
|
ElMessage.success(res.data.msg);
|
|
266
|
-
|
|
296
|
+
getDataList();
|
|
267
297
|
} else {
|
|
268
298
|
ElMessage.error(res.data.msg);
|
|
269
299
|
}
|
|
270
300
|
});
|
|
271
301
|
});
|
|
272
302
|
}
|
|
303
|
+
function delMore() {
|
|
304
|
+
ElMessageBox.confirm("确认删除选中的翻译记录吗?").then(async () => {
|
|
305
|
+
let ids = i18nList.value
|
|
306
|
+
?.getSelectionRows()
|
|
307
|
+
.map((row) => row.adTranslateId);
|
|
308
|
+
if (ids && ids.length) {
|
|
309
|
+
let len = ids.length;
|
|
310
|
+
let loading = ElLoadingService({
|
|
311
|
+
text: "正在删除选中的翻译……",
|
|
312
|
+
});
|
|
313
|
+
for (let i = 0; i < ids.length; i++) {
|
|
314
|
+
const id = ids[i];
|
|
315
|
+
loading.setText(`正在删除... ${i + 1}/${len}`);
|
|
316
|
+
await http.request({
|
|
317
|
+
url: deleteUrl,
|
|
318
|
+
method: "POST",
|
|
319
|
+
data: {
|
|
320
|
+
id,
|
|
321
|
+
},
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
loading.close();
|
|
325
|
+
getDataList();
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
}
|
|
273
329
|
|
|
274
330
|
const formItems = reactive<VxeFormPropTypes.Items>([
|
|
275
331
|
{
|
|
@@ -307,9 +363,6 @@ watch(
|
|
|
307
363
|
props: { class: "i18n-form-item", id: `i18nFormItem${index + 2}` },
|
|
308
364
|
},
|
|
309
365
|
});
|
|
310
|
-
fromRules[item.value] = [
|
|
311
|
-
{ required: true, type: "string", message: `请输入${item.label}` },
|
|
312
|
-
];
|
|
313
366
|
});
|
|
314
367
|
}
|
|
315
368
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yh-i18n",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "对于国际化的封装",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
},
|
|
13
13
|
"peerDependencies": {
|
|
14
14
|
"vue": "3.2.47",
|
|
15
|
-
"pinia": "2.0.35",
|
|
16
15
|
"vxe-table": "4.3.10",
|
|
17
16
|
"element-plus": "2.4.4"
|
|
18
17
|
},
|