@webitel/ui-sdk 25.8.29 → 25.8.31
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/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.js +471 -185
- package/dist/ui-sdk.umd.cjs +558 -558
- package/package.json +5 -2
- package/src/api/clients/roles/{roles.js → roles.ts} +35 -52
- package/src/css/main.scss +0 -12
- package/src/locale/es/es.js +560 -127
- package/src/locale/i18n.js +1 -13
- package/src/locale/index.ts +33 -0
- package/src/locale/kz/kz.js +320 -236
- package/src/locale/pl/pl.js +718 -0
- package/src/locale/ro/ro.js +719 -0
- package/src/locale/uz/uz.js +718 -0
- package/src/locale/vi/vi.js +719 -0
- package/src/modules/ObjectPermissions/_internals/components/permissions-tab-role-popup.vue +1 -1
- package/types/api/clients/roles/roles.d.ts +27 -39
- package/types/api/history/index.d.ts +2 -0
- package/types/api/history/transcript/callTranscript.d.ts +15 -0
- package/types/components/wt-action-bar/WtActionBarActionsOrder.d.ts +2 -2
- package/types/components/wt-action-bar/wt-action-bar.vue.d.ts +15 -15
- package/types/components/wt-button-select/wt-button-select.vue.d.ts +2 -2
- package/types/components/wt-confirm-dialog/wt-confirm-dialog.vue.d.ts +2 -2
- package/types/components/wt-intersection-observer/wt-intersection-observer.vue.d.ts +2 -2
- package/types/components/wt-loader/_internals/wt-loader--md.vue.d.ts +2 -0
- package/types/components/wt-loader/_internals/wt-loader--sm.vue.d.ts +16 -0
- package/types/components/wt-player/wt-player.vue.d.ts +1 -1
- package/types/components/wt-table/wt-table.vue.d.ts +1 -1
- package/types/components/wt-timepicker/wt-timepicker.vue.d.ts +1 -1
- package/types/locale/es/es.d.ts +715 -40
- package/types/locale/i18n.d.ts +4447 -353
- package/types/locale/index.d.ts +7142 -0
- package/types/locale/kz/kz.d.ts +360 -226
- package/types/locale/pl/pl.d.ts +920 -0
- package/types/locale/ro/ro.d.ts +920 -0
- package/types/locale/ua/ua.d.ts +911 -0
- package/types/locale/uz/uz.d.ts +920 -0
- package/types/locale/vi/vi.d.ts +920 -0
- package/types/modules/Userinfo/api/userinfo.d.ts +1 -1
- package/types/modules/Userinfo/v2/api/UserinfoAPI.d.ts +1 -1
- package/types/plugins/primevue/theme/semantic/color-scheme/color-schema.d.ts +1189 -0
- package/types/plugins/primevue/theme/semantic/color-scheme/dark-color.d.ts +162 -0
- package/types/plugins/primevue/theme/semantic/color-scheme/light-color.d.ts +162 -0
- package/types/plugins/primevue/theme/semantic/color-scheme/palette.d.ts +435 -0
- package/types/plugins/primevue/theme/semantic/semantic.d.ts +5 -0
- package/types/scripts/caseConverters.d.ts +1 -1
- package/types/scripts/sortQueryAdapters.d.ts +1 -1
|
@@ -0,0 +1,719 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentStatus,
|
|
3
|
+
CallDirection,
|
|
4
|
+
ChannelState,
|
|
5
|
+
ChannelType,
|
|
6
|
+
EngineRoutingSchemaType,
|
|
7
|
+
} from 'webitel-sdk';
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
AdminSections,
|
|
11
|
+
AuditorSections,
|
|
12
|
+
ChatGatewayProvider,
|
|
13
|
+
CrmSections,
|
|
14
|
+
IconAction,
|
|
15
|
+
QueueType,
|
|
16
|
+
RelativeDatetimeValue,
|
|
17
|
+
SupervisorSections,
|
|
18
|
+
WebitelApplications,
|
|
19
|
+
} from '../../enums';
|
|
20
|
+
import { AccessMode } from '../../modules/ObjectPermissions/_internals/enums/AccessMode.enum.js';
|
|
21
|
+
import { snakeToCamel } from '../../scripts';
|
|
22
|
+
|
|
23
|
+
export default {
|
|
24
|
+
// describes reusable buttons, actions, default titles, and other ui elements
|
|
25
|
+
reusable: {
|
|
26
|
+
comment: 'Bình luận',
|
|
27
|
+
replace: 'Thay thế',
|
|
28
|
+
download: 'Tải xuống',
|
|
29
|
+
history: 'Lịch sử',
|
|
30
|
+
filter: ({ plural }) => plural(['Bộ lọc', 'Các bộ lọc']),
|
|
31
|
+
total: 'Tổng cộng',
|
|
32
|
+
ok: 'Đồng ý',
|
|
33
|
+
object: 'Đối tượng',
|
|
34
|
+
save: 'Lưu',
|
|
35
|
+
saveAs: 'Lưu như',
|
|
36
|
+
saved: 'Đã lưu',
|
|
37
|
+
send: 'Gửi',
|
|
38
|
+
start: 'Bắt đầu',
|
|
39
|
+
close: 'Đóng',
|
|
40
|
+
add: 'Thêm',
|
|
41
|
+
cancel: 'Hủy',
|
|
42
|
+
import: 'Nhập',
|
|
43
|
+
export: 'Xuất',
|
|
44
|
+
true: 'Đúng',
|
|
45
|
+
title: 'Tiêu đề',
|
|
46
|
+
position: 'Vị trí',
|
|
47
|
+
delete: 'Xóa',
|
|
48
|
+
search: 'Tìm kiếm',
|
|
49
|
+
open: 'Mở',
|
|
50
|
+
name: 'Tên',
|
|
51
|
+
expand: 'Mở rộng',
|
|
52
|
+
collapse: 'Thu gọn',
|
|
53
|
+
generate: 'Tạo',
|
|
54
|
+
lang: {
|
|
55
|
+
en: 'Tiếng Anh',
|
|
56
|
+
es: 'Tiếng Tây Ban Nha',
|
|
57
|
+
ru: 'Tiếng Nga',
|
|
58
|
+
uk: 'Tiếng Ukraina',
|
|
59
|
+
kz: 'Tiếng Kazakh',
|
|
60
|
+
},
|
|
61
|
+
from: 'Từ',
|
|
62
|
+
to: 'Đến',
|
|
63
|
+
tts: 'Chuyển văn bản thành giọng nói',
|
|
64
|
+
state: 'Trạng thái',
|
|
65
|
+
refresh: 'Làm mới',
|
|
66
|
+
retry: 'Thử lại',
|
|
67
|
+
downloadAll: 'Tải xuống tất cả',
|
|
68
|
+
warning: 'Cảnh báo',
|
|
69
|
+
doNotSave: 'Không lưu',
|
|
70
|
+
required: 'Bắt buộc',
|
|
71
|
+
copy: 'Sao chép',
|
|
72
|
+
new: 'Mới',
|
|
73
|
+
createdAt: 'Tạo lúc',
|
|
74
|
+
createdBy: 'Tạo bởi',
|
|
75
|
+
modifiedAt: 'Sửa lúc',
|
|
76
|
+
modifiedBy: 'Sửa bởi',
|
|
77
|
+
general: 'Chung',
|
|
78
|
+
generalInfo: 'Thông tin chung',
|
|
79
|
+
all: 'Tất cả {entity}',
|
|
80
|
+
upload: 'Tải lên',
|
|
81
|
+
edit: 'Sửa',
|
|
82
|
+
back: 'Quay lại',
|
|
83
|
+
step: 'Bước { count }',
|
|
84
|
+
more: 'Thêm',
|
|
85
|
+
read: 'Đọc',
|
|
86
|
+
create: 'Tạo mới',
|
|
87
|
+
update: 'Cập nhật',
|
|
88
|
+
draggable: 'Có thể kéo thả',
|
|
89
|
+
unassigned: 'Chưa được gán',
|
|
90
|
+
showUnassigned: 'Hiển thị chưa được gán',
|
|
91
|
+
group: 'Nhóm',
|
|
92
|
+
updatedBy: (/*{ named }*/) => {
|
|
93
|
+
return 'Đã sửa';
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
// yak zhe ya zaebalsya povtoriaty odni i ti sami slova!!!!
|
|
97
|
+
vocabulary: {
|
|
98
|
+
apply: 'Áp dụng',
|
|
99
|
+
language: 'Ngôn ngữ',
|
|
100
|
+
voice: 'Giọng nói',
|
|
101
|
+
format: 'Định dạng',
|
|
102
|
+
text: 'Văn bản',
|
|
103
|
+
yes: 'Có',
|
|
104
|
+
no: 'Không',
|
|
105
|
+
description: 'Mô tả',
|
|
106
|
+
login: 'Đăng nhập',
|
|
107
|
+
host: 'Máy chủ',
|
|
108
|
+
time: 'Thời gian',
|
|
109
|
+
channel: 'Kênh | Các kênh',
|
|
110
|
+
file: 'Tệp',
|
|
111
|
+
logout: 'Đăng xuất',
|
|
112
|
+
priority: 'Mức độ ưu tiên | Mức độ ưu tiên',
|
|
113
|
+
color: 'Màu sắc',
|
|
114
|
+
variables: 'Biến | Các biến',
|
|
115
|
+
type: 'Loại',
|
|
116
|
+
tag: 'Thẻ | Các thẻ',
|
|
117
|
+
output: 'Đầu ra | Các đầu ra',
|
|
118
|
+
values: 'Giá trị | Các giá trị',
|
|
119
|
+
keys: 'Khóa | Các khóa',
|
|
120
|
+
duration: 'Thời lượng',
|
|
121
|
+
reset: 'Đặt lại',
|
|
122
|
+
errors: 'Lỗi | Các lỗi',
|
|
123
|
+
labels: 'Nhãn | Các nhãn',
|
|
124
|
+
permissions: 'Quyền | Các quyền',
|
|
125
|
+
options: 'Tùy chọn | Các tùy chọn',
|
|
126
|
+
emails: 'Email | Các email',
|
|
127
|
+
phones: 'Điện thoại | Các điện thoại',
|
|
128
|
+
messaging: 'Nhắn tin',
|
|
129
|
+
emptyResultSearch: 'Không tìm thấy kết quả nào',
|
|
130
|
+
contact: 'Liên hệ | Các liên hệ',
|
|
131
|
+
column: 'Cột | Các cột',
|
|
132
|
+
notification: 'Thông báo | Các thông báo',
|
|
133
|
+
},
|
|
134
|
+
// date-related texts
|
|
135
|
+
date: {
|
|
136
|
+
sec: 'Giây',
|
|
137
|
+
timezone: 'Múi giờ | Các múi giờ',
|
|
138
|
+
},
|
|
139
|
+
// locales, related to user access, permissions, etc.
|
|
140
|
+
access: {
|
|
141
|
+
ObAC: 'Quản lý theo thao tác',
|
|
142
|
+
RbAC: 'Quản lý theo bản ghi',
|
|
143
|
+
operations: 'Các thao tác',
|
|
144
|
+
rbacDefault: 'Mặc định truy cập dựa trên bản ghi',
|
|
145
|
+
accessMode: {
|
|
146
|
+
[AccessMode.FORBIDDEN]: 'Cấm',
|
|
147
|
+
[AccessMode.ALLOW]: 'Cho phép',
|
|
148
|
+
[AccessMode.MANAGE]: 'Cho phép với ủy quyền',
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
// describes Webitel system entities
|
|
152
|
+
objects: {
|
|
153
|
+
team: 'Nhóm | Các nhóm',
|
|
154
|
+
supervisor: 'Giám sát viên | Các giám sát viên',
|
|
155
|
+
auditor: 'Kiểm toán viên | Các kiểm toán viên',
|
|
156
|
+
region: 'Khu vực | Các khu vực',
|
|
157
|
+
communicationType: 'Loại giao tiếp | Các loại giao tiếp',
|
|
158
|
+
grantee: 'Người được cấp quyền | Những người được cấp quyền',
|
|
159
|
+
grantor: 'Người cấp quyền | Những người cấp quyền',
|
|
160
|
+
role: 'Vai trò | Các vai trò',
|
|
161
|
+
user: 'Người dùng | Các người dùng',
|
|
162
|
+
list: 'Danh sách | Các danh sách',
|
|
163
|
+
contact: 'Liên hệ | Các liên hệ',
|
|
164
|
+
case: 'Trường hợp | Các trường hợp',
|
|
165
|
+
calendar: 'Lịch | Các lịch',
|
|
166
|
+
direction: 'Hướng',
|
|
167
|
+
gateway: 'Cổng kết nối | Các cổng kết nối',
|
|
168
|
+
hangupCause: 'Nguyên nhân ngắt máy',
|
|
169
|
+
hasOption: 'Có tùy chọn',
|
|
170
|
+
hasRecording: 'Ghi âm',
|
|
171
|
+
amdResult: 'Kết quả AMD',
|
|
172
|
+
ratedBy: 'Được đánh giá bởi',
|
|
173
|
+
talkDuration: 'Thời lượng đàm thoại',
|
|
174
|
+
totalDuration: 'Tổng thời lượng',
|
|
175
|
+
transcription: 'Bản ghi',
|
|
176
|
+
attachment: 'Tệp đính kèm | Các tệp đính kèm',
|
|
177
|
+
owner: 'Chủ sở hữu | Các chủ sở hữu',
|
|
178
|
+
queue: {
|
|
179
|
+
queue: 'Hàng chờ | Hàng chờ',
|
|
180
|
+
type: {
|
|
181
|
+
[QueueType.INBOUND_QUEUE]: 'Hàng chờ cuộc gọi vào',
|
|
182
|
+
[QueueType.OFFLINE_QUEUE]: 'Hàng chờ ngoại tuyến',
|
|
183
|
+
[QueueType.OUTBOUND_IVR_QUEUE]: 'Hàng chờ IVR gọi ra',
|
|
184
|
+
[QueueType.PREDICTIVE_DIALER]: 'Quay số dự đoán',
|
|
185
|
+
[QueueType.PROGRESSIVE_DIALER]: 'Quay số tiến bộ',
|
|
186
|
+
[QueueType.PREVIEW_DIALER]: 'Quay số xem trước',
|
|
187
|
+
[QueueType.CHAT_INBOUND_QUEUE]: 'Hàng chờ chat',
|
|
188
|
+
[QueueType.INBOUND_JOB_QUEUE]: 'Hàng chờ tác vụ vào',
|
|
189
|
+
[QueueType.OUTBOUND_JOB_QUEUE]: 'Hàng chờ tác vụ ra',
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
agent: {
|
|
193
|
+
agent: 'Tổng đài viên | Tổng đài viên',
|
|
194
|
+
status: {
|
|
195
|
+
[AgentStatus.Online]: 'Trực tuyến',
|
|
196
|
+
[AgentStatus.Pause]: 'Tạm dừng',
|
|
197
|
+
[AgentStatus.Offline]: 'Ngoại tuyến',
|
|
198
|
+
[snakeToCamel(AgentStatus.BreakOut)]: 'Giải lao',
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
flow: {
|
|
202
|
+
name: 'Sơ đồ luồng | Sơ đồ luồng',
|
|
203
|
+
type: {
|
|
204
|
+
[EngineRoutingSchemaType.Chat]: 'Chat',
|
|
205
|
+
[EngineRoutingSchemaType.Voice]: 'Thoại',
|
|
206
|
+
[EngineRoutingSchemaType.Service]: 'Dịch vụ',
|
|
207
|
+
[EngineRoutingSchemaType.Processing]: 'Biểu mẫu',
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
messengers: {
|
|
211
|
+
[ChatGatewayProvider.TELEGRAM_BOT]: 'Bot Telegram',
|
|
212
|
+
[ChatGatewayProvider.TELEGRAM_APP]: 'Ứng dụng Telegram',
|
|
213
|
+
[ChatGatewayProvider.MESSENGER]: 'Meta',
|
|
214
|
+
[ChatGatewayProvider.VIBER]: 'Viber',
|
|
215
|
+
[ChatGatewayProvider.WEBCHAT]: 'Web chat',
|
|
216
|
+
[ChatGatewayProvider.INFOBIP]: 'Infobip',
|
|
217
|
+
[ChatGatewayProvider.CUSTOM]: 'Cổng kết nối chat tùy chỉnh',
|
|
218
|
+
},
|
|
219
|
+
quickReplies: {
|
|
220
|
+
quickReplies: 'Trả lời nhanh | Trả lời nhanh',
|
|
221
|
+
quickRepliesEmpty: 'Chưa có trả lời nhanh nào',
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
channel: {
|
|
225
|
+
state: {
|
|
226
|
+
[ChannelState.Waiting]: 'Đang chờ',
|
|
227
|
+
[ChannelState.Distribute]: 'Phân phối',
|
|
228
|
+
[ChannelState.Offering]: 'Đang đề nghị',
|
|
229
|
+
[ChannelState.Answered]: 'Đã trả lời',
|
|
230
|
+
[ChannelState.Active]: 'Đang hoạt động',
|
|
231
|
+
[ChannelState.Bridged]: 'Đã kết nối',
|
|
232
|
+
[ChannelState.Hold]: 'Tạm giữ',
|
|
233
|
+
[ChannelState.Missed]: 'Nhỡ',
|
|
234
|
+
[snakeToCamel(ChannelState.WrapTime)]: 'Thời gian kết thúc',
|
|
235
|
+
[ChannelState.Processing]: 'Đang xử lý',
|
|
236
|
+
[ChannelState.Transfer]: 'Chuyển tiếp',
|
|
237
|
+
},
|
|
238
|
+
type: {
|
|
239
|
+
[ChannelType.Call]: 'Cuộc gọi',
|
|
240
|
+
[ChannelType.Email]: 'Email',
|
|
241
|
+
[ChannelType.Chat]: 'Chat',
|
|
242
|
+
[ChannelType.Job]: 'Tác vụ',
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
calls: {
|
|
246
|
+
direction: {
|
|
247
|
+
[CallDirection.Inbound]: 'Gọi vào',
|
|
248
|
+
[CallDirection.Outbound]: 'Gọi ra',
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
cases: {
|
|
252
|
+
status: 'Trạng thái',
|
|
253
|
+
source: 'Nguồn',
|
|
254
|
+
author: 'Tác giả',
|
|
255
|
+
reporter: 'Người báo cáo',
|
|
256
|
+
impacted: 'Bị ảnh hưởng',
|
|
257
|
+
assignee: 'Người được giao',
|
|
258
|
+
groupPerformers: 'Nhóm',
|
|
259
|
+
reason: 'Lý do | Lý do',
|
|
260
|
+
rating: 'Đánh giá',
|
|
261
|
+
service: 'Dịch vụ | Dịch vụ',
|
|
262
|
+
selectAService: 'Chọn một dịch vụ',
|
|
263
|
+
appliedSLA: 'SLA đã áp dụng',
|
|
264
|
+
appliedCondition: 'Điều kiện đã áp dụng',
|
|
265
|
+
reactionTime: 'Thời gian phản hồi',
|
|
266
|
+
resolutionTime: 'Thời gian giải quyết',
|
|
267
|
+
actualReactionTime: 'Thời gian phản hồi thực tế',
|
|
268
|
+
actualResolutionTime: 'Thời gian giải quyết thực tế',
|
|
269
|
+
},
|
|
270
|
+
// describes Webitel FRONTEND applications + their navs
|
|
271
|
+
WebitelApplications: {
|
|
272
|
+
[WebitelApplications.AGENT]: {
|
|
273
|
+
name: 'Không gian làm việc của tổng đài viên',
|
|
274
|
+
},
|
|
275
|
+
[WebitelApplications.AUDIT]: {
|
|
276
|
+
name: 'Kiểm toán',
|
|
277
|
+
sections: {
|
|
278
|
+
[AuditorSections.Scorecards]: 'Bảng điểm',
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
[WebitelApplications.CRM]: {
|
|
282
|
+
name: 'CRM',
|
|
283
|
+
sections: {
|
|
284
|
+
[CrmSections.Contacts]: 'Danh bạ',
|
|
285
|
+
[CrmSections.Cases]: 'Hỗ trợ',
|
|
286
|
+
[CrmSections.Priorities]: 'Mức độ ưu tiên',
|
|
287
|
+
[CrmSections.CloseReasonGroups]: 'Lý do kết thúc',
|
|
288
|
+
[CrmSections.Statuses]: 'Trạng thái',
|
|
289
|
+
[CrmSections.Slas]: 'SLA',
|
|
290
|
+
[CrmSections.ServiceCatalogs]: 'Danh mục dịch vụ',
|
|
291
|
+
[CrmSections.Sources]: 'Nguồn hỗ trợ',
|
|
292
|
+
[CrmSections.ContactGroups]: 'Nhóm liên hệ',
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
[WebitelApplications.HISTORY]: { name: 'Lịch sử cuộc gọi' },
|
|
296
|
+
[WebitelApplications.ANALYTICS]: { name: 'Công cụ trực quan hóa dữ liệu' },
|
|
297
|
+
[WebitelApplications.SUPERVISOR]: {
|
|
298
|
+
name: 'Không gian làm việc của giám sát viên',
|
|
299
|
+
sections: {
|
|
300
|
+
[SupervisorSections.Queues]: 'Hàng chờ',
|
|
301
|
+
[SupervisorSections.Agents]: 'Tổng đài viên',
|
|
302
|
+
[SupervisorSections.ActiveCalls]: 'Cuộc gọi đang diễn ra',
|
|
303
|
+
},
|
|
304
|
+
},
|
|
305
|
+
[WebitelApplications.ADMIN]: {
|
|
306
|
+
name: 'Quản trị',
|
|
307
|
+
sections: {
|
|
308
|
+
[AdminSections.Users]: 'Người dùng',
|
|
309
|
+
[AdminSections.License]: 'Giấy phép',
|
|
310
|
+
[AdminSections.Devices]: 'Thiết bị',
|
|
311
|
+
[AdminSections.Flow]: 'Sơ đồ luồng',
|
|
312
|
+
[AdminSections.Dialplan]: 'Kế hoạch gọi',
|
|
313
|
+
[AdminSections.Gateways]: 'Cổng kết nối',
|
|
314
|
+
[AdminSections.Chatplan]: 'Kế hoạch chat',
|
|
315
|
+
[AdminSections.ChatGateways]: 'Cổng kết nối chat',
|
|
316
|
+
[AdminSections.Skills]: 'Kỹ năng tổng đài viên',
|
|
317
|
+
[AdminSections.Buckets]: 'Vùng chứa',
|
|
318
|
+
[AdminSections.Media]: 'Tệp đa phương tiện',
|
|
319
|
+
[AdminSections.ShiftTemplates]: 'Mẫu ca làm việc',
|
|
320
|
+
[AdminSections.PauseTemplates]: 'Mẫu tạm dừng',
|
|
321
|
+
[AdminSections.WorkingConditions]: 'Điều kiện làm việc',
|
|
322
|
+
[AdminSections.Blacklist]: 'Danh sách',
|
|
323
|
+
[AdminSections.Calendars]: 'Lịch',
|
|
324
|
+
[AdminSections.Regions]: 'Địa điểm',
|
|
325
|
+
[AdminSections.Communications]: 'Loại giao tiếp',
|
|
326
|
+
[AdminSections.PauseCause]: 'Trạng thái tổng đài viên',
|
|
327
|
+
[AdminSections.Agents]: 'Tổng đài viên',
|
|
328
|
+
[AdminSections.Teams]: 'Nhóm',
|
|
329
|
+
[AdminSections.Resources]: 'Tài nguyên',
|
|
330
|
+
[AdminSections.ResourceGroups]: 'Nhóm tài nguyên',
|
|
331
|
+
[AdminSections.Queues]: 'Hàng chờ',
|
|
332
|
+
[AdminSections.Storage]: 'Lưu trữ',
|
|
333
|
+
[AdminSections.StoragePolicies]: 'Chính sách lưu trữ',
|
|
334
|
+
[AdminSections.CognitiveProfiles]: 'Hồ sơ nhận thức',
|
|
335
|
+
[AdminSections.EmailProfiles]: 'Hồ sơ email',
|
|
336
|
+
[AdminSections.SingleSignOn]: 'Đăng nhập một lần',
|
|
337
|
+
[AdminSections.ImportCsv]: 'Nhập từ tệp CSV',
|
|
338
|
+
[AdminSections.Triggers]: 'Kích hoạt',
|
|
339
|
+
[AdminSections.Media]: 'Tệp đa phương tiện',
|
|
340
|
+
[AdminSections.Roles]: 'Vai trò',
|
|
341
|
+
[AdminSections.Objects]: 'Đối tượng',
|
|
342
|
+
[AdminSections.Changelogs]: 'Nhật ký thay đổi',
|
|
343
|
+
[AdminSections.Configuration]: 'Cấu hình',
|
|
344
|
+
[AdminSections.GlobalVariables]: 'Biến toàn cục',
|
|
345
|
+
[AdminSections.QuickReplies]: 'Trả lời nhanh',
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
validation: {
|
|
350
|
+
required: 'Trường bắt buộc',
|
|
351
|
+
numeric: 'Phải là số',
|
|
352
|
+
email: 'Phải là email',
|
|
353
|
+
gatewayHostValidator: 'Phải là IPv4 hoặc FQDN',
|
|
354
|
+
sipAccountValidator: 'Phải là tài khoản SIP',
|
|
355
|
+
ipValidator: 'Phải là IPv4',
|
|
356
|
+
macValidator: 'Phải là MAC',
|
|
357
|
+
minValue: 'Giá trị không được nhỏ hơn',
|
|
358
|
+
maxValue: 'Giá trị không được lớn hơn',
|
|
359
|
+
maxLength: 'Độ dài không được lớn hơn',
|
|
360
|
+
sameAs: 'Mật khẩu không đúng',
|
|
361
|
+
requiredArrayValue: 'Mảng không được để trống',
|
|
362
|
+
minLength: ({ named }) => {
|
|
363
|
+
let text = 'Độ dài không được nhỏ hơn';
|
|
364
|
+
if (named('min')) {
|
|
365
|
+
text += ` ${named('min')}`;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
return text;
|
|
369
|
+
},
|
|
370
|
+
url: 'Phải là URL',
|
|
371
|
+
websocketValidator: 'Phải là URL WebSocket',
|
|
372
|
+
isRegExpMatched: 'Mật khẩu phải khớp với biểu thức chính quy:',
|
|
373
|
+
regExpValidator: 'Biểu thức chính quy này không hợp lệ',
|
|
374
|
+
domainValidator: 'Tên miền không đúng',
|
|
375
|
+
decimalValidator: 'Độ chính xác thập phân không được quá { count } chữ số',
|
|
376
|
+
latinWithNumber:
|
|
377
|
+
'Mã phải chỉ chứa chữ cái (A-Z, a-z) và số (0-9), và phải bắt đầu bằng chữ cái',
|
|
378
|
+
integer: 'Trường này chỉ được chứa số nguyên',
|
|
379
|
+
nameAlreadyInUse: 'Tên này đã được sử dụng',
|
|
380
|
+
},
|
|
381
|
+
webitelUI: {
|
|
382
|
+
searchBar: {
|
|
383
|
+
placeholder: 'Tìm kiếm',
|
|
384
|
+
settingsHint: 'Chế độ tìm kiếm',
|
|
385
|
+
variableSearchHint: 'Định dạng truy vấn: "key=value"',
|
|
386
|
+
},
|
|
387
|
+
timepicker: {
|
|
388
|
+
day: 'Ngày:',
|
|
389
|
+
hour: 'Giờ:',
|
|
390
|
+
min: 'Phút:',
|
|
391
|
+
sec: 'Giây:',
|
|
392
|
+
},
|
|
393
|
+
datetimepicker: {
|
|
394
|
+
lastHour: 'Giờ trước',
|
|
395
|
+
lastDay: 'Ngày trước',
|
|
396
|
+
},
|
|
397
|
+
pagination: {
|
|
398
|
+
sizeText: 'Số dòng mỗi trang:',
|
|
399
|
+
prev: 'Trước',
|
|
400
|
+
next: 'Sau',
|
|
401
|
+
},
|
|
402
|
+
appNavigator: {
|
|
403
|
+
title: 'Các ứng dụng Webitel',
|
|
404
|
+
admin: 'Quản trị',
|
|
405
|
+
agent: 'Tổng đài viên',
|
|
406
|
+
supervisor: 'Giám sát viên',
|
|
407
|
+
audit: 'Kiểm toán',
|
|
408
|
+
history: 'Lịch sử',
|
|
409
|
+
grafana: 'Grafana',
|
|
410
|
+
crm: 'CRM',
|
|
411
|
+
},
|
|
412
|
+
headerActions: {
|
|
413
|
+
account: 'Tài khoản',
|
|
414
|
+
docs: 'Tài liệu',
|
|
415
|
+
settings: 'Cài đặt',
|
|
416
|
+
logout: 'Đăng xuất',
|
|
417
|
+
buildVersion: 'Phiên bản',
|
|
418
|
+
},
|
|
419
|
+
tableActions: {
|
|
420
|
+
filterReset: 'Đặt lại bộ lọc',
|
|
421
|
+
columnSelect: 'Chọn cột',
|
|
422
|
+
refreshTable: 'Làm mới bảng',
|
|
423
|
+
expandFilters: 'Mở rộng bộ lọc',
|
|
424
|
+
},
|
|
425
|
+
tableColumnSelect: {
|
|
426
|
+
title: 'Chọn cột hiển thị',
|
|
427
|
+
},
|
|
428
|
+
statusSelect: {
|
|
429
|
+
online: 'Trực tuyến',
|
|
430
|
+
pause: 'Tạm dừng',
|
|
431
|
+
offline: 'Ngoại tuyến',
|
|
432
|
+
breakOut: 'Giải lao',
|
|
433
|
+
},
|
|
434
|
+
iconAction: {
|
|
435
|
+
hints: {
|
|
436
|
+
[IconAction.DELETE]: ({ linked }) => linked('reusable.delete'),
|
|
437
|
+
[IconAction.EDIT]: ({ linked }) => linked('reusable.edit'),
|
|
438
|
+
[IconAction.ADD]: ({ linked }) => linked('reusable.add'),
|
|
439
|
+
[IconAction.HISTORY]: ({ linked }) => linked('reusable.history'),
|
|
440
|
+
[IconAction.DOWNLOAD]: ({ linked }) => linked('reusable.download'),
|
|
441
|
+
[IconAction.FILTERS]: ({ linked }) => linked('reusable.filter'),
|
|
442
|
+
[IconAction.COLUMNS]: 'Chọn cột',
|
|
443
|
+
[IconAction.VARIABLES]: 'Chọn cột biến',
|
|
444
|
+
[IconAction.REFRESH]: ({ linked }) => linked('reusable.refresh'),
|
|
445
|
+
[IconAction.EXPAND]: ({ linked }) => linked('reusable.expand'),
|
|
446
|
+
[IconAction.COLLAPSE]: ({ linked }) => linked('reusable.collapse'),
|
|
447
|
+
[IconAction.CLOSE]: ({ linked }) => linked('reusable.close'),
|
|
448
|
+
[IconAction.CLEAR]: ({ linked }) =>
|
|
449
|
+
linked('webitelUI.tableActions.filterReset'),
|
|
450
|
+
[IconAction.ADD_FILTER]: ({ linked }) => linked('reusable.add'),
|
|
451
|
+
[IconAction.SAVE]: ({ linked }) => linked('reusable.save'),
|
|
452
|
+
[IconAction.CANCEL]: ({ linked }) => linked('reusable.cancel'),
|
|
453
|
+
[IconAction.SAVE_PRESET]: ({ linked }) => {
|
|
454
|
+
return `${linked('reusable.save')} ${linked(
|
|
455
|
+
'webitelUI.filters.presets.preset',
|
|
456
|
+
).toLowerCase()}`;
|
|
457
|
+
},
|
|
458
|
+
[IconAction.APPLY_PRESET]: ({ linked }) => {
|
|
459
|
+
return `${linked('vocabulary.apply')} ${linked(
|
|
460
|
+
'webitelUI.filters.presets.preset',
|
|
461
|
+
).toLowerCase()}`;
|
|
462
|
+
},
|
|
463
|
+
[IconAction.ADD_CONTACT]: ({ linked }) => {
|
|
464
|
+
return `${linked('reusable.add')} liên hệ`;
|
|
465
|
+
},
|
|
466
|
+
},
|
|
467
|
+
},
|
|
468
|
+
errorPages: {
|
|
469
|
+
goBack: 'Quay lại',
|
|
470
|
+
page403: {
|
|
471
|
+
title: 'Từ chối truy cập',
|
|
472
|
+
text: 'Xin lỗi, bạn không có đủ quyền để xem trang này.',
|
|
473
|
+
},
|
|
474
|
+
page404: {
|
|
475
|
+
title: 'Có vẻ như bạn đã lạc đường',
|
|
476
|
+
text: 'Xin lỗi, chúng tôi không thể tìm thấy trang bạn muốn.',
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
copyAction: {
|
|
480
|
+
copy: 'Sao chép',
|
|
481
|
+
copied: 'Đã sao chép vào clipboard!',
|
|
482
|
+
},
|
|
483
|
+
auditForm: {
|
|
484
|
+
question: 'Tiêu chí',
|
|
485
|
+
option: 'Tùy chọn | Các tùy chọn',
|
|
486
|
+
score: 'Điểm | Điểm số',
|
|
487
|
+
addQuestion: 'Thêm tiêu chí',
|
|
488
|
+
answerType: 'Loại câu trả lời',
|
|
489
|
+
type: {
|
|
490
|
+
options: 'Tùy chọn',
|
|
491
|
+
score: 'Điểm',
|
|
492
|
+
},
|
|
493
|
+
clearSelection: 'Xóa lựa chọn',
|
|
494
|
+
},
|
|
495
|
+
deleteConfirmationPopup: {
|
|
496
|
+
title: 'Xác nhận xóa',
|
|
497
|
+
askingAlert:
|
|
498
|
+
'Bạn có chắc chắn muốn xóa {subject}? Hành động này không thể hoàn tác.',
|
|
499
|
+
tableAskingAlert:
|
|
500
|
+
'Bạn có chắc chắn muốn\n xóa {count} bản ghi? | Bạn có chắc chắn muốn\n xóa {count} bản ghi?',
|
|
501
|
+
deleteAll: 'TẤT CẢ',
|
|
502
|
+
},
|
|
503
|
+
dummy: {
|
|
504
|
+
text: 'Chưa có bản ghi nào',
|
|
505
|
+
},
|
|
506
|
+
empty: {
|
|
507
|
+
text: {
|
|
508
|
+
empty: 'Chưa có bản ghi nào',
|
|
509
|
+
filters: 'Rất tiếc, không có bản ghi nào phù hợp với tiêu chí của bạn',
|
|
510
|
+
},
|
|
511
|
+
},
|
|
512
|
+
agentStatusSelect: {
|
|
513
|
+
pauseCausePopup: {
|
|
514
|
+
title: 'Chọn lý do tạm dừng',
|
|
515
|
+
min: 'Phút',
|
|
516
|
+
unlimited: 'Không giới hạn',
|
|
517
|
+
},
|
|
518
|
+
statusSelectErrorPopup: {
|
|
519
|
+
title: 'Chú ý',
|
|
520
|
+
message:
|
|
521
|
+
'Đã vượt quá giới hạn số lượng tổng đài viên tạm dừng. Không thể tạm dừng ngay bây giờ.',
|
|
522
|
+
},
|
|
523
|
+
},
|
|
524
|
+
saveFailedPopup: {
|
|
525
|
+
title: 'Lưu thất bại',
|
|
526
|
+
label: 'Đã xảy ra lỗi, vui lòng thử lại',
|
|
527
|
+
exportToJson: 'Xuất ra JSON',
|
|
528
|
+
},
|
|
529
|
+
filters: {
|
|
530
|
+
datetime: {
|
|
531
|
+
[RelativeDatetimeValue.Today]: 'Hôm nay',
|
|
532
|
+
[RelativeDatetimeValue.ThisWeek]: 'Tuần này',
|
|
533
|
+
[RelativeDatetimeValue.ThisMonth]: 'Tháng này',
|
|
534
|
+
[RelativeDatetimeValue.Custom]: 'Phạm vi ngày tùy chỉnh',
|
|
535
|
+
},
|
|
536
|
+
addFilter: ({ linked }) => {
|
|
537
|
+
return `${linked('reusable.add')} một ${linked(
|
|
538
|
+
'reusable.filter',
|
|
539
|
+
).toLowerCase()}`;
|
|
540
|
+
},
|
|
541
|
+
filterName: ({ linked }) => {
|
|
542
|
+
return linked('vocabulary.column');
|
|
543
|
+
},
|
|
544
|
+
filterValue: ({ linked }) => {
|
|
545
|
+
return linked('vocabulary.values');
|
|
546
|
+
},
|
|
547
|
+
filterValueFrom: ({ linked }) => {
|
|
548
|
+
const from = linked('reusable.from').toLowerCase();
|
|
549
|
+
return `${linked('vocabulary.values')} ${from}`;
|
|
550
|
+
},
|
|
551
|
+
filterLabel: ({ linked }) => {
|
|
552
|
+
return linked('vocabulary.labels');
|
|
553
|
+
},
|
|
554
|
+
actualReactionTime: ({ linked }) => {
|
|
555
|
+
return linked('cases.actualReactionTime');
|
|
556
|
+
},
|
|
557
|
+
actualResolutionTime: ({ linked }) => {
|
|
558
|
+
return linked('cases.actualResolutionTime');
|
|
559
|
+
},
|
|
560
|
+
agent: ({ linked }) => {
|
|
561
|
+
return linked('objects.agent.agent');
|
|
562
|
+
},
|
|
563
|
+
amdResult: ({ linked }) => {
|
|
564
|
+
return linked('objects.amdResult');
|
|
565
|
+
},
|
|
566
|
+
assignee: ({ linked }) => {
|
|
567
|
+
return linked('cases.assignee');
|
|
568
|
+
},
|
|
569
|
+
author: ({ linked }) => {
|
|
570
|
+
return linked('cases.author');
|
|
571
|
+
},
|
|
572
|
+
cause: ({ linked }) => {
|
|
573
|
+
return linked('objects.hangupCause');
|
|
574
|
+
},
|
|
575
|
+
closeReasonGroups: ({ linked }) => {
|
|
576
|
+
return linked('cases.reason');
|
|
577
|
+
},
|
|
578
|
+
contact: ({ linked }) => {
|
|
579
|
+
return linked('vocabulary.contact');
|
|
580
|
+
},
|
|
581
|
+
contactGroup: ({ linked }) => {
|
|
582
|
+
return linked('cases.groupPerformers');
|
|
583
|
+
},
|
|
584
|
+
createdAt: ({ linked }) => {
|
|
585
|
+
return linked('reusable.createdAt');
|
|
586
|
+
},
|
|
587
|
+
createdAtFrom: ({ linked }) => {
|
|
588
|
+
return linked('reusable.from');
|
|
589
|
+
},
|
|
590
|
+
createdAtTo: ({ linked }) => {
|
|
591
|
+
return linked('reusable.to');
|
|
592
|
+
},
|
|
593
|
+
direction: ({ linked }) => {
|
|
594
|
+
return linked('objects.direction');
|
|
595
|
+
},
|
|
596
|
+
gateway: ({ linked }) => {
|
|
597
|
+
return linked('objects.gateway');
|
|
598
|
+
},
|
|
599
|
+
grantee: ({ linked }) => {
|
|
600
|
+
return linked('objects.grantee');
|
|
601
|
+
},
|
|
602
|
+
hasAttachment: ({ linked }) => {
|
|
603
|
+
return linked('objects.attachment');
|
|
604
|
+
},
|
|
605
|
+
hasFile: ({ linked }) => {
|
|
606
|
+
return linked('objects.hasRecording');
|
|
607
|
+
},
|
|
608
|
+
hasTranscription: ({ linked }) => {
|
|
609
|
+
return linked('objects.transcription');
|
|
610
|
+
},
|
|
611
|
+
hasUser: ({ linked }) => {
|
|
612
|
+
return linked('objects.user');
|
|
613
|
+
},
|
|
614
|
+
impacted: ({ linked }) => {
|
|
615
|
+
return linked('cases.impacted');
|
|
616
|
+
},
|
|
617
|
+
contactLabel: ({ linked }) => {
|
|
618
|
+
return linked('vocabulary.labels');
|
|
619
|
+
},
|
|
620
|
+
contactOwner: ({ linked }) => {
|
|
621
|
+
return linked('objects.owner');
|
|
622
|
+
},
|
|
623
|
+
priority: ({ linked }) => {
|
|
624
|
+
return linked('vocabulary.priority');
|
|
625
|
+
},
|
|
626
|
+
queue: ({ linked }) => {
|
|
627
|
+
return linked('objects.queue.queue');
|
|
628
|
+
},
|
|
629
|
+
rated: 'Đã đánh giá',
|
|
630
|
+
ratedBy: ({ linked }) => {
|
|
631
|
+
return linked('objects.ratedBy');
|
|
632
|
+
},
|
|
633
|
+
rating: ({ linked }) => {
|
|
634
|
+
return linked('cases.rating');
|
|
635
|
+
},
|
|
636
|
+
reactionTime: ({ linked }) => {
|
|
637
|
+
return linked('cases.reactionTime');
|
|
638
|
+
},
|
|
639
|
+
reporter: ({ linked }) => {
|
|
640
|
+
return linked('cases.reporter');
|
|
641
|
+
},
|
|
642
|
+
resolutionTime: ({ linked }) => {
|
|
643
|
+
return linked('cases.resolutionTime');
|
|
644
|
+
},
|
|
645
|
+
score: ({ linked }) => {
|
|
646
|
+
return linked('webitelUI.auditForm.score');
|
|
647
|
+
},
|
|
648
|
+
service: ({ linked }) => {
|
|
649
|
+
return linked('cases.service');
|
|
650
|
+
},
|
|
651
|
+
sla: ({ linked }) => {
|
|
652
|
+
return linked('cases.appliedSLA');
|
|
653
|
+
},
|
|
654
|
+
slaCondition: ({ linked }) => {
|
|
655
|
+
return linked('cases.appliedCondition');
|
|
656
|
+
},
|
|
657
|
+
source: ({ linked }) => {
|
|
658
|
+
return linked('cases.source');
|
|
659
|
+
},
|
|
660
|
+
status: ({ linked }) => {
|
|
661
|
+
return linked('cases.status');
|
|
662
|
+
},
|
|
663
|
+
tag: ({ linked }) => {
|
|
664
|
+
return linked('vocabulary.tag');
|
|
665
|
+
},
|
|
666
|
+
talkDuration: ({ linked }) => {
|
|
667
|
+
return linked('objects.talkDuration');
|
|
668
|
+
},
|
|
669
|
+
team: ({ linked }) => {
|
|
670
|
+
return linked('objects.team');
|
|
671
|
+
},
|
|
672
|
+
totalDuration: ({ linked }) => {
|
|
673
|
+
return linked('objects.totalDuration');
|
|
674
|
+
},
|
|
675
|
+
user: ({ linked }) => {
|
|
676
|
+
return linked('objects.user');
|
|
677
|
+
},
|
|
678
|
+
variable: ({ linked }) => {
|
|
679
|
+
return linked('vocabulary.variables');
|
|
680
|
+
},
|
|
681
|
+
presets: {
|
|
682
|
+
preset: 'Mẫu | Các mẫu',
|
|
683
|
+
overwritePresetTitle: 'Đã tồn tại một mẫu có tên này.',
|
|
684
|
+
overwritePresetText: 'Bạn có muốn thay thế nó không?',
|
|
685
|
+
notifications: {
|
|
686
|
+
success: {
|
|
687
|
+
update: ({ linked }) => {
|
|
688
|
+
return linked('systemNotifications.success.update', {
|
|
689
|
+
entity: linked('filters.presets.preset'),
|
|
690
|
+
});
|
|
691
|
+
},
|
|
692
|
+
create: ({ linked }) => {
|
|
693
|
+
return linked('systemNotifications.success.create', {
|
|
694
|
+
entity: linked('filters.presets.preset'),
|
|
695
|
+
});
|
|
696
|
+
},
|
|
697
|
+
delete: ({ linked }) => {
|
|
698
|
+
return linked('systemNotifications.success.delete', {
|
|
699
|
+
entity: linked('filters.presets.preset'),
|
|
700
|
+
});
|
|
701
|
+
},
|
|
702
|
+
},
|
|
703
|
+
},
|
|
704
|
+
},
|
|
705
|
+
},
|
|
706
|
+
},
|
|
707
|
+
systemNotifications: {
|
|
708
|
+
success: {
|
|
709
|
+
update: ({ named }) =>
|
|
710
|
+
`${named('entity').toLowerCase()} đã được cập nhật`,
|
|
711
|
+
create: ({ named }) => `${named('entity').toLowerCase()} đã được lưu`,
|
|
712
|
+
delete: ({ named }) => `${named('entity').toLowerCase()} đã bị xóa`,
|
|
713
|
+
},
|
|
714
|
+
},
|
|
715
|
+
errorNotifications: {
|
|
716
|
+
chatHistoryApi: 'Đã xảy ra lỗi khi tải lịch sử trò chuyện',
|
|
717
|
+
markChatProcessed: 'Không thể chuyển trò chuyện sang trạng thái "Đã đóng"',
|
|
718
|
+
},
|
|
719
|
+
};
|