@tencentcloud/ai-desk-customer-vue 1.3.0 → 1.5.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/CHANGELOG.md +23 -4
- package/assets/customer_avatar.png +0 -0
- package/assets/face.svg +10 -0
- package/assets/feedback_dialog_close.svg +3 -0
- package/assets/feedback_dislike_after.svg +3 -0
- package/assets/feedback_dislike_before.svg +10 -0
- package/assets/feedback_dislike_hover.svg +10 -0
- package/assets/feedback_like_after.svg +14 -0
- package/assets/feedback_like_before.svg +10 -0
- package/assets/feedback_like_hover.svg +10 -0
- package/assets/files.svg +5 -0
- package/assets/green_check.svg +4 -0
- package/assets/image.svg +8 -0
- package/assets/rating_tool_icon.svg +5 -0
- package/assets/rating_tool_icon_h5.svg +1 -0
- package/assets/video.svg +8 -0
- package/assets/video_h5.svg +1 -0
- package/components/CustomerServiceChat/chat-header/index-web.vue +16 -14
- package/components/CustomerServiceChat/index-web.vue +87 -13
- package/components/CustomerServiceChat/message-input/index-web.vue +31 -5
- package/components/CustomerServiceChat/message-input/message-input-editor-web.vue +25 -0
- package/components/CustomerServiceChat/message-input/message-input-quote/index.vue +29 -20
- package/components/CustomerServiceChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.vue +36 -36
- package/components/CustomerServiceChat/message-input-toolbar/emoji-picker/index.vue +1 -1
- package/components/CustomerServiceChat/message-input-toolbar/file-upload/index.vue +6 -8
- package/components/CustomerServiceChat/message-input-toolbar/image-upload/index.vue +11 -16
- package/components/CustomerServiceChat/message-input-toolbar/index-web.vue +61 -18
- package/components/CustomerServiceChat/message-input-toolbar/rating-tool/index.vue +72 -0
- package/components/CustomerServiceChat/message-input-toolbar/toolbar-item-container/style/h5.scss +10 -1
- package/components/CustomerServiceChat/message-input-toolbar/user-define-input-tool.vue +80 -0
- package/components/CustomerServiceChat/message-input-toolbar/video-upload/index.vue +9 -14
- package/components/CustomerServiceChat/message-list/index-web.vue +38 -6
- package/components/CustomerServiceChat/message-list/message-elements/feedback-button.vue +369 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-bubble-web.vue +81 -15
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/marked.ts +17 -10
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-branch.vue +18 -10
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-concurrency-limit.vue +1 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-desk.vue +13 -6
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-ivr-form/form-branch.vue +117 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/{message-single-form → message-ivr-form}/form-input.vue +65 -111
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/{message-single-form → message-ivr-form}/index.vue +7 -2
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-branch/branch-pc.vue +25 -9
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-branch/index.vue +5 -3
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-mobile/input-mobile.vue +1 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-mobile/label-mobile.vue +4 -2
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-pc/label-pc.vue +5 -3
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/form-mobile.vue +17 -5
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/form-pc.vue +21 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-order.vue +3 -3
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-product-card.vue +2 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-rating/message-rating-number.vue +9 -13
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-rating/message-rating-star.vue +11 -18
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-robot-welcome.vue +1 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-stream.vue +14 -10
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-timeout-warning.vue +29 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/styles/common.scss +1 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-plugin-web.vue +22 -2
- package/components/CustomerServiceChat/message-list/message-elements/message-file.vue +1 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-quote/index-web.vue +6 -24
- package/components/CustomerServiceChat/message-list/message-elements/message-text.vue +0 -9
- package/components/CustomerServiceChat/message-list/message-elements/read-status/index.vue +31 -20
- package/components/CustomerServiceChat/message-list/message-elements/simple-message-list/index.vue +2 -1
- package/components/CustomerServiceChat/message-list/scroll-button/index.vue +3 -3
- package/components/CustomerServiceChat/message-list/style/web.scss +2 -1
- package/components/CustomerServiceChat/message-toolbar-button/index.vue +111 -42
- package/components/CustomerServiceChat/message-toolbar-button/toolbar-button-end-human-service.vue +59 -0
- package/components/CustomerServiceChat/message-toolbar-button/toolbar-button-human-service.vue +55 -0
- package/components/CustomerServiceChat/message-toolbar-button/toolbar-button-service-rating.vue +59 -0
- package/components/common/Toast/index-web.vue +4 -2
- package/constant.ts +25 -0
- package/interface.ts +35 -5
- package/locales/en/aidesk.ts +28 -15
- package/locales/fil/aidesk.ts +28 -15
- package/locales/id/aidesk.ts +28 -15
- package/locales/ja/aidesk.ts +28 -15
- package/locales/ms/aidesk.ts +28 -15
- package/locales/ru/aidesk.ts +28 -15
- package/locales/th/aidesk.ts +28 -15
- package/locales/vi/aidesk.ts +28 -15
- package/locales/zh_cn/aidesk.ts +28 -15
- package/locales/zh_tw/aidesk.ts +28 -15
- package/package.json +1 -1
- package/server.ts +5 -1
- package/utils/state.js +30 -0
- package/utils/utils.ts +48 -1
- package/assets/face.png +0 -0
- package/assets/files.png +0 -0
- package/assets/image.png +0 -0
- package/assets/video.png +0 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-single-form/form-branch.vue +0 -68
package/components/CustomerServiceChat/message-toolbar-button/toolbar-button-end-human-service.vue
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="['toolbar-button', isH5 ? 'toolbar-button-h5' : '']" @click="onClick">
|
|
3
|
+
<Icon v-if="props.icon" class="toolbar-button-icon" :file="props.icon" width="14px" height="14px"/>
|
|
4
|
+
<div class="toolbar-button-text">
|
|
5
|
+
{{ props.title || TUITranslateService.t('AIDesk.结束人工会话') }}
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
</template>
|
|
9
|
+
<script lang="ts" setup>
|
|
10
|
+
import vue from '../../../adapter-vue';
|
|
11
|
+
const { ref, onMounted, onUnmounted } = vue;
|
|
12
|
+
import { isH5 } from '../../../utils/env';
|
|
13
|
+
import Icon from '../../common/Icon.vue';
|
|
14
|
+
import { TUITranslateService, TUIChatService, IConversationModel, TUIStore, StoreName } from '@tencentcloud/chat-uikit-engine';
|
|
15
|
+
import { CUSTOM_MESSAGE_SRC } from '../../../constant';
|
|
16
|
+
import { isEnabledMessageReadReceiptGlobal, getTo } from '../../../utils/utils';
|
|
17
|
+
const currentConversation = ref<IConversationModel>();
|
|
18
|
+
interface IProps {
|
|
19
|
+
title?:string;
|
|
20
|
+
icon?:string | undefined;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const props = withDefaults(defineProps<IProps>(), {
|
|
24
|
+
title: '',
|
|
25
|
+
icon: ''
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
onMounted(() => {
|
|
29
|
+
TUIStore.watch(StoreName.CONV, {
|
|
30
|
+
currentConversation: onCurrentConversationUpdate,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
onUnmounted(() => {
|
|
35
|
+
TUIStore.unwatch(StoreName.CONV, {
|
|
36
|
+
currentConversation: onCurrentConversationUpdate,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const onCurrentConversationUpdate = (conversation: IConversationModel) => {
|
|
41
|
+
currentConversation.value = conversation;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const onClick = () => {
|
|
45
|
+
TUIChatService.sendCustomMessage({
|
|
46
|
+
to: getTo(currentConversation?.value),
|
|
47
|
+
conversationType: currentConversation?.value?.type,
|
|
48
|
+
payload: {
|
|
49
|
+
data: JSON.stringify({
|
|
50
|
+
customerServicePlugin: 0,
|
|
51
|
+
src: CUSTOM_MESSAGE_SRC.USER_END_SESSION,
|
|
52
|
+
}),
|
|
53
|
+
},
|
|
54
|
+
needReadReceipt: isEnabledMessageReadReceiptGlobal(),
|
|
55
|
+
},{ onlineUserOnly:true });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
</script>
|
|
59
|
+
<style></style>
|
package/components/CustomerServiceChat/message-toolbar-button/toolbar-button-human-service.vue
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="['toolbar-button', isH5 ? 'toolbar-button-h5' : '']" @click="onClick">
|
|
3
|
+
<Icon v-if="props.icon" class="toolbar-button-icon" :file="props.icon" width="14px" height="14px"/>
|
|
4
|
+
<div class="toolbar-button-text">
|
|
5
|
+
{{ props.title || TUITranslateService.t('AIDesk.转人工服务') }}
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
</template>
|
|
9
|
+
<script lang="ts" setup>
|
|
10
|
+
import vue from '../../../adapter-vue';
|
|
11
|
+
const { ref, onMounted, onUnmounted } = vue;
|
|
12
|
+
import { isH5 } from '../../../utils/env';
|
|
13
|
+
import Icon from '../../common/Icon.vue';
|
|
14
|
+
import { TUITranslateService, TUIChatService, IConversationModel, StoreName, TUIStore } from '@tencentcloud/chat-uikit-engine';
|
|
15
|
+
import { isEnabledMessageReadReceiptGlobal, getTo } from '../../../utils/utils';
|
|
16
|
+
const currentConversation = ref<IConversationModel>();
|
|
17
|
+
interface IProps {
|
|
18
|
+
title?:string;
|
|
19
|
+
icon?:string | undefined;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const props = withDefaults(defineProps<IProps>(), {
|
|
23
|
+
title: '',
|
|
24
|
+
icon: ''
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
onMounted(() => {
|
|
28
|
+
TUIStore.watch(StoreName.CONV, {
|
|
29
|
+
currentConversation: onCurrentConversationUpdate,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
onUnmounted(() => {
|
|
34
|
+
TUIStore.unwatch(StoreName.CONV, {
|
|
35
|
+
currentConversation: onCurrentConversationUpdate,
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const onCurrentConversationUpdate = (conversation: IConversationModel) => {
|
|
40
|
+
currentConversation.value = conversation;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const onClick = () => {
|
|
44
|
+
TUIChatService.sendTextMessage({
|
|
45
|
+
to: getTo(currentConversation?.value),
|
|
46
|
+
conversationType: currentConversation?.value?.type,
|
|
47
|
+
payload: {
|
|
48
|
+
text: TUITranslateService.t('AIDesk.转人工服务')
|
|
49
|
+
},
|
|
50
|
+
needReadReceipt: isEnabledMessageReadReceiptGlobal(),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
</script>
|
|
55
|
+
<style></style>
|
package/components/CustomerServiceChat/message-toolbar-button/toolbar-button-service-rating.vue
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="['toolbar-button', isH5 ? 'toolbar-button-h5' : '']" @click="onClick">
|
|
3
|
+
<Icon v-if="props.icon" class="toolbar-button-icon" :file="props.icon" width="14px" height="14px"/>
|
|
4
|
+
<div class="toolbar-button-text">
|
|
5
|
+
{{ props.title || TUITranslateService.t('AIDesk.服务评价') }}
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
</template>
|
|
9
|
+
<script lang="ts" setup>
|
|
10
|
+
import vue from '../../../adapter-vue';
|
|
11
|
+
const { ref, onMounted, onUnmounted } = vue;
|
|
12
|
+
import { isH5 } from '../../../utils/env';
|
|
13
|
+
import Icon from '../../common/Icon.vue';
|
|
14
|
+
import { TUITranslateService, TUIChatService, IConversationModel, StoreName, TUIStore } from '@tencentcloud/chat-uikit-engine';
|
|
15
|
+
import { CUSTOM_MESSAGE_SRC } from '../../../constant';
|
|
16
|
+
import { isEnabledMessageReadReceiptGlobal, getTo } from '../../../utils/utils';
|
|
17
|
+
const currentConversation = ref<IConversationModel>();
|
|
18
|
+
interface IProps {
|
|
19
|
+
title?:string;
|
|
20
|
+
icon?:string | undefined;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const props = withDefaults(defineProps<IProps>(), {
|
|
24
|
+
title: '',
|
|
25
|
+
icon: ''
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
onMounted(() => {
|
|
29
|
+
TUIStore.watch(StoreName.CONV, {
|
|
30
|
+
currentConversation: onCurrentConversationUpdate,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
onUnmounted(() => {
|
|
35
|
+
TUIStore.unwatch(StoreName.CONV, {
|
|
36
|
+
currentConversation: onCurrentConversationUpdate,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const onCurrentConversationUpdate = (conversation: IConversationModel) => {
|
|
41
|
+
currentConversation.value = conversation;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const onClick = () => {
|
|
45
|
+
TUIChatService.sendCustomMessage({
|
|
46
|
+
to: getTo(currentConversation?.value),
|
|
47
|
+
conversationType: currentConversation?.value?.type,
|
|
48
|
+
payload: {
|
|
49
|
+
data:JSON.stringify({
|
|
50
|
+
src: CUSTOM_MESSAGE_SRC.USER_SATISFACTION,
|
|
51
|
+
customerServicePlugin: 0,
|
|
52
|
+
}),
|
|
53
|
+
},
|
|
54
|
+
needReadReceipt: isEnabledMessageReadReceiptGlobal(),
|
|
55
|
+
},{ onlineUserOnly: true });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
</script>
|
|
59
|
+
<style></style>
|
|
@@ -127,7 +127,8 @@ const handleStyle = (type?: string) => {
|
|
|
127
127
|
border-radius: 3px;
|
|
128
128
|
padding: 10px 15px;
|
|
129
129
|
width: fit-content;
|
|
130
|
-
|
|
130
|
+
overflow-wrap: break-word;
|
|
131
|
+
word-break: normal;
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
|
|
@@ -148,7 +149,8 @@ const handleStyle = (type?: string) => {
|
|
|
148
149
|
font-size: 14px;
|
|
149
150
|
letter-spacing: 0;
|
|
150
151
|
text-align: center;
|
|
151
|
-
|
|
152
|
+
overflow-wrap: break-word;
|
|
153
|
+
word-break: normal;
|
|
152
154
|
}
|
|
153
155
|
}
|
|
154
156
|
|
package/constant.ts
CHANGED
|
@@ -33,6 +33,7 @@ export const CUSTOM_MESSAGE_SRC = {
|
|
|
33
33
|
MULTI_FORM: '33',
|
|
34
34
|
THINKING: '35',
|
|
35
35
|
CONCURRENCY_LIMIT: '36',
|
|
36
|
+
TIMEOUT_WARNING: '37',
|
|
36
37
|
};
|
|
37
38
|
|
|
38
39
|
// im message extra type
|
|
@@ -140,4 +141,28 @@ export const WHITE_LIST = [
|
|
|
140
141
|
CUSTOM_MESSAGE_SRC.MULTI_FORM,
|
|
141
142
|
CUSTOM_MESSAGE_SRC.CONCURRENCY_LIMIT,
|
|
142
143
|
CUSTOM_MESSAGE_SRC.ORDER,
|
|
144
|
+
CUSTOM_MESSAGE_SRC.TIMEOUT_WARNING,
|
|
143
145
|
];
|
|
146
|
+
|
|
147
|
+
export const TOOLBAR_BUTTON_TYPE = {
|
|
148
|
+
HUMAN_SERVICE: 'humanService',
|
|
149
|
+
SERVICE_RATING: 'serviceRating',
|
|
150
|
+
END_HUMAN_SERVICE: 'endHumanService',
|
|
151
|
+
}
|
|
152
|
+
export const INPUT_TOOLBAR_TYPE = {
|
|
153
|
+
EMOJI: 'emoji',
|
|
154
|
+
IMAGE: 'image',
|
|
155
|
+
FILE: 'file',
|
|
156
|
+
VIDEO: 'video',
|
|
157
|
+
RATING: 'rating',
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export const USER_DEFAULT_AVATAR = 'https://web.sdk.qcloud.com/im/desk/assets/user_default_avatar.png';
|
|
161
|
+
|
|
162
|
+
export enum ReadState {
|
|
163
|
+
Read,
|
|
164
|
+
Unread,
|
|
165
|
+
AllRead,
|
|
166
|
+
NotShow,
|
|
167
|
+
PartiallyRead,
|
|
168
|
+
}
|
package/interface.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TOOLBAR_BUTTON_TYPE,INPUT_TOOLBAR_TYPE } from './constant';
|
|
1
2
|
export interface customerServicePayloadType {
|
|
2
3
|
chatbotPlugin?: number | string;
|
|
3
4
|
customerServicePlugin?: number | string;
|
|
@@ -9,6 +10,12 @@ export interface customerServicePayloadType {
|
|
|
9
10
|
status?:number;
|
|
10
11
|
nodeStatus?:number;
|
|
11
12
|
thinkingStatus?:number;
|
|
13
|
+
optionType?: number;
|
|
14
|
+
taskInfo?: {
|
|
15
|
+
taskID?: number;
|
|
16
|
+
nodeID?: string;
|
|
17
|
+
env?: string;
|
|
18
|
+
}
|
|
12
19
|
}
|
|
13
20
|
|
|
14
21
|
interface IMenuItem {
|
|
@@ -176,9 +183,32 @@ export interface ISendMessagePayload {
|
|
|
176
183
|
atUserList?: string[];
|
|
177
184
|
}
|
|
178
185
|
|
|
186
|
+
// 快捷按钮已有功能
|
|
187
|
+
export type ToolbarButtonPresetType = typeof TOOLBAR_BUTTON_TYPE[keyof typeof TOOLBAR_BUTTON_TYPE];
|
|
188
|
+
|
|
179
189
|
export interface ToolbarButtonModel {
|
|
180
|
-
title:string,
|
|
181
|
-
icon?:string,
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
190
|
+
title: string, // 名称
|
|
191
|
+
icon?: string, // 图标
|
|
192
|
+
type?: number, // 类型 1:关键词回复 2:跳转链接
|
|
193
|
+
content?: string, // 发送的文本或跳转的链接
|
|
194
|
+
presetId?: ToolbarButtonPresetType, // 若要显示已有功能,填写相关type
|
|
195
|
+
isPreset?: number, // 是否是预置功能 0:非预置 1:预置类型
|
|
196
|
+
isEnabled?: number, // 是否显示
|
|
197
|
+
renderCondition?: () => {}, // [UIKit] 是否显示
|
|
198
|
+
clickEvent?: () => void, // [UIKit] 点击事件
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// 输入框功能 已有功能
|
|
202
|
+
export type InputToolbarPresetType = typeof INPUT_TOOLBAR_TYPE[keyof typeof INPUT_TOOLBAR_TYPE];
|
|
203
|
+
|
|
204
|
+
export interface InputToolbarModel {
|
|
205
|
+
title?: string, // 名称
|
|
206
|
+
icon?: string, // 图标
|
|
207
|
+
type?: number, // 类型 1:关键词回复 2:跳转链接
|
|
208
|
+
content?: string, // 发送的文本或跳转的链接
|
|
209
|
+
isPreset?: number, // 是否是预置功能 0:非预置 1:预置类型
|
|
210
|
+
presetId?: InputToolbarPresetType, // 若要显示已有功能,填写相关type
|
|
211
|
+
isEnabled?: number, // 是否显示
|
|
212
|
+
renderCondition?: () => {},// [UIKit] 是否显示
|
|
213
|
+
clickEvent?: () => void,// [UIKit] 点击事件
|
|
214
|
+
}
|
package/locales/en/aidesk.ts
CHANGED
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
const AIDesk = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
"结束人工会话": "End human service",
|
|
3
|
+
"转人工服务": "Human service",
|
|
4
|
+
"跳转": "Goto",
|
|
5
|
+
"立即填写": "Fill now",
|
|
6
|
+
"已提交": "Submitted",
|
|
7
|
+
"提交": "Submit",
|
|
8
|
+
"查看内容": "View content",
|
|
9
|
+
"请填写必填项": "Please fill in the required fields",
|
|
10
|
+
"Hi,我是": "Hi, I'm ",
|
|
11
|
+
"请输入内容":"Please enter the content",
|
|
12
|
+
"如果满意请给好评哦~":"If you're satisfied, please give a good review~",
|
|
13
|
+
"请对本次服务进行评价": "Please rate this service",
|
|
14
|
+
"提交评价": "Feedback",
|
|
15
|
+
"并发限制": "There are currently too many users accessing the service. Please try again later",
|
|
16
|
+
"分支选项异常": "Content is abnormal, please check the task flow configuration",
|
|
17
|
+
"服务评价": "Feedback",
|
|
18
|
+
"满意":"Satisfied",
|
|
19
|
+
"不满意":"Dissatisfied",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进":"Thank you for your feedback, we will continue to improve",
|
|
21
|
+
"您遇到了哪方面的问题":"What problem did you encounter",
|
|
22
|
+
"其他反馈内容":"Other feedback",
|
|
23
|
+
"取消":"Cancel",
|
|
24
|
+
"答非所问":"Irrelevant answer",
|
|
25
|
+
"未匹配相关内容":"No relevant content matched",
|
|
26
|
+
"信息错误":"Incorrect information",
|
|
27
|
+
"上下文理解错误":"Context misunderstanding",
|
|
28
|
+
"格式不规范":"Improper format",
|
|
29
|
+
"内容不完整":"Incomplete content",
|
|
17
30
|
}
|
|
18
31
|
export default AIDesk;
|
package/locales/fil/aidesk.ts
CHANGED
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
const AIDesk = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
"结束人工会话":"Tapusin ang Usapan",
|
|
3
|
+
"转人工服务": "Ilipat sa Serbisyo ng Tao",
|
|
4
|
+
"跳转":"Tumalon",
|
|
5
|
+
"立即填写": "Punan Agad",
|
|
6
|
+
"已提交": "Naisumite Na",
|
|
7
|
+
"提交": "Isumite",
|
|
8
|
+
"查看内容": "Tingnan ang Nilalaman",
|
|
9
|
+
"请填写必填项": "Mangyaring punan ang mga kinakailangang field",
|
|
10
|
+
"Hi,我是": "Hi, ako ",
|
|
11
|
+
"请输入内容":"Pakilagay ang nilalaman",
|
|
12
|
+
"如果满意请给好评哦~":"Kung nasiyahan ka, mangyaring magbigay ng magandang pagsusuri~",
|
|
13
|
+
"请对本次服务进行评价": "Mangyaring suriin ang serbisyong ito",
|
|
14
|
+
"提交评价": "Ipasa ang pagsusuri",
|
|
15
|
+
"并发限制": "Maraming tao ang naghahanap ng tulong ngayon, subukan muli mamaya",
|
|
16
|
+
"分支选项异常": "Ang nilalaman ay abnormal, pakisuri ang configuration ng task flow",
|
|
17
|
+
"服务评价": "Pagsusuri ng Serbisyo",
|
|
18
|
+
"满意":"Nasisiyahan",
|
|
19
|
+
"不满意":"Hindi nasisiyahan",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进":"Salamat sa iyong feedback, patuloy naming pagbubutihin",
|
|
21
|
+
"您遇到了哪方面的问题":"Anong problema ang iyong naranasan",
|
|
22
|
+
"其他反馈内容":"Iba pang feedback",
|
|
23
|
+
"取消":"Kanselahin",
|
|
24
|
+
"答非所问":"Hindi nauugnay na sagot",
|
|
25
|
+
"未匹配相关内容":"Walang katugmang nilalaman",
|
|
26
|
+
"信息错误":"Maling impormasyon",
|
|
27
|
+
"上下文理解错误":"Maling pag-unawa sa konteksto",
|
|
28
|
+
"格式不规范":"Hindi tamang pormat",
|
|
29
|
+
"内容不完整":"Hindi kumpletong nilalaman",
|
|
17
30
|
}
|
|
18
31
|
export default AIDesk;
|
package/locales/id/aidesk.ts
CHANGED
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
const AIDesk = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
"结束人工会话": "Selesai",
|
|
3
|
+
"转人工服务": "Layanan manusia",
|
|
4
|
+
"跳转": "Goto",
|
|
5
|
+
"立即填写": "Isi sekarang",
|
|
6
|
+
"已提交": "Terkirim",
|
|
7
|
+
"提交": "Kirim",
|
|
8
|
+
"查看内容": "Lihat konten",
|
|
9
|
+
"请填写必填项": "Harap isi bidang yang wajib diisi",
|
|
10
|
+
"Hi,我是": "Hai, saya adalah ",
|
|
11
|
+
"请输入内容":"Silakan masukkan konten",
|
|
12
|
+
"如果满意请给好评哦~":"Jika Anda puas, silakan berikan ulasan yang bagus~",
|
|
13
|
+
"请对本次服务进行评价": "Silakan beri penilaian untuk layanan ini",
|
|
14
|
+
"提交评价": "Kirim Ulasan",
|
|
15
|
+
"服务评价": "Ulasan Layanan",
|
|
16
|
+
"并发限制": "Saat ini banyak pengguna yang mengakses. Mohon coba lagi nanti",
|
|
17
|
+
"分支选项异常": "Konten tidak normal, silakan periksa konfigurasi alur tugas",
|
|
18
|
+
"满意":"Puas",
|
|
19
|
+
"不满意":"Tidak puas",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进":"Terima kasih atas masukan Anda, kami akan terus memperbaiki",
|
|
21
|
+
"您遇到了哪方面的问题":"Masalah apa yang Anda hadapi",
|
|
22
|
+
"其他反馈内容":"Masukan lainnya",
|
|
23
|
+
"取消":"Batal",
|
|
24
|
+
"答非所问":"Jawaban tidak relevan",
|
|
25
|
+
"未匹配相关内容":"Tidak ada konten yang cocok",
|
|
26
|
+
"信息错误":"Informasi salah",
|
|
27
|
+
"上下文理解错误":"Kesalahan pemahaman konteks",
|
|
28
|
+
"格式不规范":"Format tidak standar",
|
|
29
|
+
"内容不完整":"Konten tidak lengkap",
|
|
17
30
|
}
|
|
18
31
|
export default AIDesk;
|
package/locales/ja/aidesk.ts
CHANGED
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
const AIDesk = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
"结束人工会话": "終了",
|
|
3
|
+
"转人工服务": "人工サービスに転送する",
|
|
4
|
+
"跳转": "リンク",
|
|
5
|
+
"立即填写": "今すぐ記入",
|
|
6
|
+
"已提交": "提出済み",
|
|
7
|
+
"提交": "提出する",
|
|
8
|
+
"查看内容": "内容を表示",
|
|
9
|
+
"请填写必填项":"必須項目を入力してください",
|
|
10
|
+
"Hi,我是": "こんにちは、私は",
|
|
11
|
+
"请输入内容":"内容を入力してください",
|
|
12
|
+
"如果满意请给好评哦~":"ご満足いただけましたら、ぜひ良いレビューをお願いします〜",
|
|
13
|
+
"请对本次服务进行评价": "このサービスについて評価をお願いします",
|
|
14
|
+
"提交评价": "評価を提出する",
|
|
15
|
+
"服务评价": "サービス評価",
|
|
16
|
+
"并发限制": "現在アクセスが集中しております。しばらくしてから再度お試しください",
|
|
17
|
+
"分支选项异常": "コンテンツに異常があります。タスクフローの設定を確認してください",
|
|
18
|
+
"满意":"満足",
|
|
19
|
+
"不满意":"不満",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进":"フィードバックありがとうございます、改善を続けます",
|
|
21
|
+
"您遇到了哪方面的问题":"どのような問題がありましたか",
|
|
22
|
+
"其他反馈内容":"その他のフィードバック",
|
|
23
|
+
"取消":"キャンセル",
|
|
24
|
+
"答非所问":"関係ない回答",
|
|
25
|
+
"未匹配相关内容":"関連する内容が見つかりません",
|
|
26
|
+
"信息错误":"情報が間違っています",
|
|
27
|
+
"上下文理解错误":"文脈の理解誤り",
|
|
28
|
+
"格式不规范":"形式が不適切",
|
|
29
|
+
"内容不完整":"内容が不完全",
|
|
17
30
|
}
|
|
18
31
|
export default AIDesk;
|
package/locales/ms/aidesk.ts
CHANGED
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
const AIDesk = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
"结束人工会话": "Tamatkan Sesi",
|
|
3
|
+
"转人工服务": "Alihkan ke Perkhidmatan Manusia",
|
|
4
|
+
"跳转": "Pergi ke",
|
|
5
|
+
"立即填写": "Isi Sekarang",
|
|
6
|
+
"已提交": "Telah Dihantar",
|
|
7
|
+
"提交": "Hantar",
|
|
8
|
+
"查看内容": "Lihat Kandungan",
|
|
9
|
+
"请填写必填项": "Sila isi ruangan yang wajib",
|
|
10
|
+
"Hi,我是": "Hai, saya ",
|
|
11
|
+
"请输入内容":"Sila masukkan kandungan",
|
|
12
|
+
"如果满意请给好评哦~":"Jika anda berpuas hati, sila berikan ulasan yang baik~",
|
|
13
|
+
"请对本次服务进行评价": "Sila beri penilaian untuk perkhidmatan ini",
|
|
14
|
+
"提交评价": "Hantar Penilaian",
|
|
15
|
+
"服务评价": "Penilaian Perkhidmatan",
|
|
16
|
+
"并发限制": "Terdapat terlalu ramai pengguna pada masa ini. Sila cuba lagi nanti",
|
|
17
|
+
"分支选项异常": "Kandungan tidak normal, sila semak konfigurasi aliran tugas",
|
|
18
|
+
"满意":"Berpuas hati",
|
|
19
|
+
"不满意":"Tidak berpuas hati",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进":"Terima kasih atas maklum balas anda, kami akan terus memperbaiki",
|
|
21
|
+
"您遇到了哪方面的问题":"Masalah apa yang anda hadapi",
|
|
22
|
+
"其他反馈内容":"Maklum balas lain",
|
|
23
|
+
"取消":"Batal",
|
|
24
|
+
"答非所问":"Jawapan tidak berkaitan",
|
|
25
|
+
"未匹配相关内容":"Tiada kandungan yang sepadan",
|
|
26
|
+
"信息错误":"Maklumat salah",
|
|
27
|
+
"上下文理解错误":"Kesilapan pemahaman konteks",
|
|
28
|
+
"格式不规范":"Format tidak standard",
|
|
29
|
+
"内容不完整":"Kandungan tidak lengkap",
|
|
17
30
|
}
|
|
18
31
|
export default AIDesk;
|
package/locales/ru/aidesk.ts
CHANGED
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
const AIDesk = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
"结束人工会话": "Завершить сеанс ручного управления",
|
|
3
|
+
"转人工服务": "Перевод на ручное обслуживание",
|
|
4
|
+
"跳转":"Прыжок",
|
|
5
|
+
"立即填写": "Заполнить сейчас",
|
|
6
|
+
"已提交": "Отправлено",
|
|
7
|
+
"提交": "Отправить",
|
|
8
|
+
"查看内容": "Просмотреть содержимое",
|
|
9
|
+
"请填写必填项": "Пожалуйста, заполните обязательные поля",
|
|
10
|
+
"Hi,我是": "Привет, я ",
|
|
11
|
+
"请输入内容":"Пожалуйста, введите содержание",
|
|
12
|
+
"如果满意请给好评哦~":"Если вы удовлетворены, пожалуйста, оставьте хороший отзыв~",
|
|
13
|
+
"请对本次服务进行评价": "Оцените обслуживание",
|
|
14
|
+
"提交评价": "Отправить оценку",
|
|
15
|
+
"服务评价": "Оценка услуги",
|
|
16
|
+
"并发限制": "В данный момент слишком много пользователей. Попробуйте позже",
|
|
17
|
+
"分支选项异常": "Содержимое аномально, пожалуйста, проверьте конфигурацию потока задач",
|
|
18
|
+
"满意":"Доволен",
|
|
19
|
+
"不满意":"Не доволен",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进":"Спасибо за ваш отзыв, мы будем продолжать улучшать",
|
|
21
|
+
"您遇到了哪方面的问题":"С какой проблемой вы столкнулись",
|
|
22
|
+
"其他反馈内容":"Другой отзыв",
|
|
23
|
+
"取消":"Отмена",
|
|
24
|
+
"答非所问":"Несоответствующий ответ",
|
|
25
|
+
"未匹配相关内容":"Нет соответствующего содержания",
|
|
26
|
+
"信息错误":"Ошибочная информация",
|
|
27
|
+
"上下文理解错误":"Ошибка понимания контекста",
|
|
28
|
+
"格式不规范":"Нестандартный формат",
|
|
29
|
+
"内容不完整":"Неполное содержание",
|
|
17
30
|
}
|
|
18
31
|
export default AIDesk;
|
package/locales/th/aidesk.ts
CHANGED
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
const AIDesk = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
"结束人工会话": "สิ้นสุดการสนทนากับพนักงาน",
|
|
3
|
+
"转人工服务": "เปลี่ยนไปยังบริการพนักงาน",
|
|
4
|
+
"跳转": "ไปยัง",
|
|
5
|
+
"立即填写": "กรอกทันที",
|
|
6
|
+
"已提交": "เสนอแล้ว",
|
|
7
|
+
"提交": "เสนอ",
|
|
8
|
+
"查看内容": "ดูเนื้อหา",
|
|
9
|
+
"请填写必填项": "โปรดกรอกข้อมูลที่จำเป็น",
|
|
10
|
+
"Hi,我是": "สวัสดี ฉันเป็น ",
|
|
11
|
+
"请输入内容": "กรุณากรอกเนื้อหา",
|
|
12
|
+
"如果满意请给好评哦~": "หากพอใจแล้วก็อย่าลืมรีวิวให้ด้วยนะ~",
|
|
13
|
+
"请对本次服务进行评价": "กรุณาประเมินบริการครั้งนี้",
|
|
14
|
+
"提交评价": "ส่งการประเมิน",
|
|
15
|
+
"服务评价": "การประเมินบริการ",
|
|
16
|
+
"并发限制": "ปัจจุบันมีผู้ใช้งานจำนวนมาก กรุณาลองใหม่ในภายหลัง",
|
|
17
|
+
"分支选项异常": "เนื้อหาผิดปกติ กรุณาตรวจสอบการตั้งค่ากระบวนการงาน",
|
|
18
|
+
"满意":"พอใจ",
|
|
19
|
+
"不满意":"ไม่พอใจ",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进":"ขอบคุณสำหรับความคิดเห็น เราจะปรับปรุงอย่างต่อเนื่อง",
|
|
21
|
+
"您遇到了哪方面的问题":"คุณประสบปัญหาด้านใด",
|
|
22
|
+
"其他反馈内容":"ความคิดเห็นอื่นๆ",
|
|
23
|
+
"取消":"ยกเลิก",
|
|
24
|
+
"答非所问":"คำตอบไม่เกี่ยวข้อง",
|
|
25
|
+
"未匹配相关内容":"ไม่พบเนื้อหาที่เกี่ยวข้อง",
|
|
26
|
+
"信息错误":"ข้อมูลผิดพลาด",
|
|
27
|
+
"上下文理解错误":"ความเข้าใจบริบทผิดพลาด",
|
|
28
|
+
"格式不规范":"รูปแบบไม่ถูกต้อง",
|
|
29
|
+
"内容不完整":"เนื้อหาไม่สมบูรณ์",
|
|
17
30
|
}
|
|
18
31
|
export default AIDesk;
|