@tencentcloud/ai-desk-customer-vue 1.5.6 → 1.5.8
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 +9 -0
- package/assets/feedback_dislike_after.svg +1 -1
- package/assets/feedback_dislike_before.svg +2 -9
- package/assets/feedback_dislike_hover.svg +2 -9
- package/assets/feedback_like_after.svg +2 -13
- package/assets/feedback_like_before.svg +2 -9
- package/assets/feedback_like_hover.svg +2 -9
- package/components/CustomerServiceChat/chat-header/index-web.vue +10 -10
- package/components/CustomerServiceChat/feedback-modal/index.vue +391 -0
- package/components/CustomerServiceChat/index-web.vue +26 -0
- package/components/CustomerServiceChat/message-input/message-input-editor-web.vue +0 -1
- package/components/CustomerServiceChat/message-input/message-input-quote/index.vue +0 -3
- package/components/CustomerServiceChat/message-input-toolbar/index-web.vue +4 -2
- package/components/CustomerServiceChat/message-list/bottom-quick-order/index.vue +0 -1
- package/components/CustomerServiceChat/message-list/index-web.vue +90 -61
- package/components/CustomerServiceChat/message-list/message-elements/feedback-button.vue +96 -251
- package/components/CustomerServiceChat/message-list/message-elements/message-bubble-web.vue +51 -16
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-concurrency-limit.vue +0 -2
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-ivr-form/form-branch.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-branch/branch-pc.vue +0 -2
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/form-mobile.vue +5 -9
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/form-pc.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-order.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-product-card.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-rating/message-rating-star.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-stream.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-transfer-with-desc.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/styles/common.scss +0 -2
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-plugin-layout-web.vue +16 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-plugin-web.vue +18 -0
- package/components/CustomerServiceChat/message-list/message-elements/message-quote/index-web.vue +0 -3
- package/components/CustomerServiceChat/message-list/message-elements/message-text.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/message-timestamp.vue +0 -1
- package/components/CustomerServiceChat/message-list/message-elements/read-status/index.vue +4 -2
- package/components/CustomerServiceChat/message-list/scroll-button/index.vue +8 -4
- package/components/CustomerServiceChat/message-list/style/web.scss +0 -2
- package/components/CustomerServiceChat/message-toolbar-button/index.vue +8 -5
- package/components/CustomerServiceChat/style/common.scss +4 -0
- package/components/CustomerServiceChat/style/web.scss +2 -1
- package/components/common/BottomPopup/style/h5.scss +0 -1
- package/components/common/Dialog/style/color.scss +0 -1
- package/components/common/Toast/index-web.vue +1 -1
- package/constant.ts +2 -0
- package/locales/en/aidesk.ts +18 -15
- package/locales/fil/aidesk.ts +17 -15
- package/locales/id/aidesk.ts +17 -15
- package/locales/ja/aidesk.ts +17 -15
- package/locales/ms/aidesk.ts +17 -15
- package/locales/ru/aidesk.ts +17 -15
- package/locales/th/aidesk.ts +17 -15
- package/locales/vi/aidesk.ts +17 -15
- package/locales/zh_cn/aidesk.ts +17 -14
- package/locales/zh_tw/aidesk.ts +17 -15
- package/package.json +1 -1
- package/server.ts +5 -2
- package/utils/index.ts +6 -0
- package/utils/utils.ts +42 -0
- package/assets/customer_avatar.png +0 -0
|
@@ -109,7 +109,6 @@
|
|
|
109
109
|
.title-name {
|
|
110
110
|
font-size: 18px;
|
|
111
111
|
font-weight: 500;
|
|
112
|
-
font-family: PingFangSC-Medium;
|
|
113
112
|
}
|
|
114
113
|
}
|
|
115
114
|
}
|
|
@@ -124,7 +123,6 @@
|
|
|
124
123
|
justify-content: flex-start;
|
|
125
124
|
margin: 0;
|
|
126
125
|
padding: 0;
|
|
127
|
-
font-family: PingFangSC-Regular;
|
|
128
126
|
user-select: text;
|
|
129
127
|
|
|
130
128
|
.message-marked_code-container {
|
|
@@ -22,7 +22,11 @@
|
|
|
22
22
|
:content="messageModel.getMessageContent()"
|
|
23
23
|
:blinkMessageIDList="props.blinkMessageIDList"
|
|
24
24
|
:classNameList="props.bubbleClassNameList"
|
|
25
|
+
:enableFeedback="props.enableFeedback"
|
|
26
|
+
:enableAINote="props.enableAINote"
|
|
25
27
|
@resendMessage="resendMessage(messageModel)"
|
|
28
|
+
@like="onLike"
|
|
29
|
+
@dislike="onDislike"
|
|
26
30
|
>
|
|
27
31
|
<!-- web message-bubble is a named slot, content area slotName is messageElement -->
|
|
28
32
|
<template #messageElement>
|
|
@@ -45,6 +49,8 @@ interface IProps {
|
|
|
45
49
|
showStyle: string;
|
|
46
50
|
bubbleClassNameList?: string[];
|
|
47
51
|
blinkMessageIDList?: string[];
|
|
52
|
+
enableFeedback: number;
|
|
53
|
+
enableAINote: number;
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
const props = withDefaults(defineProps<IProps>(), {
|
|
@@ -52,12 +58,16 @@ const props = withDefaults(defineProps<IProps>(), {
|
|
|
52
58
|
showStyle: '',
|
|
53
59
|
bubbleClassNameList: () => [] as string[],
|
|
54
60
|
blinkMessageIDList: () => [] as string[],
|
|
61
|
+
enableFeedback: 0,
|
|
62
|
+
enableAINote: 1,
|
|
55
63
|
});
|
|
56
64
|
|
|
57
65
|
const emits = defineEmits([
|
|
58
66
|
'resendMessage',
|
|
59
67
|
'handleToggleMessageItem',
|
|
60
68
|
'handleH5LongPress',
|
|
69
|
+
'like',
|
|
70
|
+
'dislike',
|
|
61
71
|
]);
|
|
62
72
|
const messageModel = computed(() =>
|
|
63
73
|
TUIStore.getMessageModel(props.message?.ID),
|
|
@@ -77,6 +87,12 @@ const handleToggleMessageItem = (
|
|
|
77
87
|
const handleH5LongPress = (e: any, message: IMessageModel, type: string) => {
|
|
78
88
|
emits('handleH5LongPress', e, message, type);
|
|
79
89
|
};
|
|
90
|
+
const onLike = (messageInfo: Object) => {
|
|
91
|
+
emits('like', messageInfo);
|
|
92
|
+
};
|
|
93
|
+
const onDislike = (messageInfo: Object) => {
|
|
94
|
+
emits('dislike', messageInfo);
|
|
95
|
+
};
|
|
80
96
|
</script>
|
|
81
97
|
|
|
82
98
|
<style lang="scss" scoped>
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
@resendMessage="resendMessage"
|
|
10
10
|
@handleToggleMessageItem="handleToggleMessageItem"
|
|
11
11
|
@handleH5LongPress="handleH5LongPress"
|
|
12
|
+
:enableFeedback="props.enableFeedback"
|
|
13
|
+
:enableAINote="props.enableAINote"
|
|
14
|
+
@like="onLike"
|
|
15
|
+
@dislike="onDislike"
|
|
12
16
|
>
|
|
13
17
|
<template #messageBubble>
|
|
14
18
|
<MessageCustomerService
|
|
@@ -43,11 +47,15 @@ const { computed } = vue;
|
|
|
43
47
|
interface IProps {
|
|
44
48
|
message: IMessageModel;
|
|
45
49
|
blinkMessageIDList?: string[];
|
|
50
|
+
enableFeedback: number;
|
|
51
|
+
enableAINote: number;
|
|
46
52
|
}
|
|
47
53
|
|
|
48
54
|
const props = withDefaults(defineProps<IProps>(), {
|
|
49
55
|
message: () => ({} as IMessageModel),
|
|
50
56
|
blinkMessageIDList: () => [] as string[],
|
|
57
|
+
enableFeedback: 0,
|
|
58
|
+
enableAINote: 1,
|
|
51
59
|
});
|
|
52
60
|
|
|
53
61
|
const emits = defineEmits([
|
|
@@ -56,6 +64,8 @@ const emits = defineEmits([
|
|
|
56
64
|
'handleH5LongPress',
|
|
57
65
|
'heightChanged',
|
|
58
66
|
'messageSent',
|
|
67
|
+
'like',
|
|
68
|
+
'dislike',
|
|
59
69
|
]);
|
|
60
70
|
const messageModel = computed(() => TUIStore.getMessageModel(props.message.ID));
|
|
61
71
|
|
|
@@ -101,6 +111,14 @@ const onHeightChanged = () => {
|
|
|
101
111
|
const onMessageSent = () => {
|
|
102
112
|
emits('messageSent');
|
|
103
113
|
};
|
|
114
|
+
|
|
115
|
+
function onLike(messageInfo: Object) {
|
|
116
|
+
emits('like', messageInfo);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
function onDislike(messageInfo: Object) {
|
|
120
|
+
emits('dislike', messageInfo);
|
|
121
|
+
};
|
|
104
122
|
</script>
|
|
105
123
|
|
|
106
124
|
<style lang="scss" scoped>
|
package/components/CustomerServiceChat/message-list/message-elements/message-quote/index-web.vue
CHANGED
|
@@ -256,13 +256,10 @@ async function scrollToOriginalMessage() {
|
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
.mobile-quote-sender{
|
|
259
|
-
font-family: PingFangSC-Regular;
|
|
260
259
|
font-size: 10px;
|
|
261
|
-
|
|
262
260
|
}
|
|
263
261
|
|
|
264
262
|
.max-double-line {
|
|
265
|
-
font-family: PingFangSC-Regular;
|
|
266
263
|
font-size: 14px;
|
|
267
264
|
overflow-wrap: break-word;
|
|
268
265
|
word-break: normal;
|
|
@@ -62,8 +62,10 @@ onUnmounted(() => {
|
|
|
62
62
|
});
|
|
63
63
|
});
|
|
64
64
|
|
|
65
|
-
const onInHumanServiceUpdate = (value: boolean) => {
|
|
66
|
-
|
|
65
|
+
const onInHumanServiceUpdate = (data: {conversationID: string, value: boolean}) => {
|
|
66
|
+
if (data && data.conversationID === props.message.conversationID) {
|
|
67
|
+
isInHumanService.value = data.value;
|
|
68
|
+
}
|
|
67
69
|
};
|
|
68
70
|
|
|
69
71
|
const isShowReadStatus = computed<boolean>(() => {
|
|
@@ -33,6 +33,7 @@ import { JSONToObject } from '../../../../utils';
|
|
|
33
33
|
|
|
34
34
|
interface IEmits {
|
|
35
35
|
(key: 'scrollToLatestMessage'): void;
|
|
36
|
+
(key: 'scrollNearToBottom'): void;
|
|
36
37
|
}
|
|
37
38
|
const emits = defineEmits<IEmits>();
|
|
38
39
|
|
|
@@ -89,11 +90,11 @@ function isTypingMessage(message: IMessageModel): boolean {
|
|
|
89
90
|
|
|
90
91
|
function onMessageListUpdated(newMessageList: IMessageModel[]) {
|
|
91
92
|
messageList.value = newMessageList || [];
|
|
92
|
-
const lastMessage = messageList.value
|
|
93
|
+
const lastMessage = messageList.value[messageList.value.length - 1];
|
|
93
94
|
isExistLastMessage.value = !!(
|
|
94
95
|
// 过滤在线消息
|
|
95
96
|
// @ts-ignore
|
|
96
|
-
lastMessage && !lastMessage
|
|
97
|
+
lastMessage && !lastMessage._onlineOnlyFlag && lastMessage.time < currentLastMessageTime.value
|
|
97
98
|
);
|
|
98
99
|
}
|
|
99
100
|
|
|
@@ -108,7 +109,7 @@ function onNewMessageList(newMessageList: IMessageModel[]) {
|
|
|
108
109
|
&& !isTypingMessage(message)
|
|
109
110
|
// 过滤在线消息
|
|
110
111
|
// @ts-ignore
|
|
111
|
-
&& !message.
|
|
112
|
+
&& !message._onlineOnlyFlag
|
|
112
113
|
) {
|
|
113
114
|
newMessageCount.value += 1;
|
|
114
115
|
}
|
|
@@ -147,6 +148,10 @@ async function judgeScrollOverOneScreen(e: Event) {
|
|
|
147
148
|
isScrollOverOneScreen.value = true;
|
|
148
149
|
return;
|
|
149
150
|
}
|
|
151
|
+
if (scrollHeight - scrollTop < height + 20) {
|
|
152
|
+
// 滚动接近底部,通知 message-list
|
|
153
|
+
emits('scrollNearToBottom');
|
|
154
|
+
}
|
|
150
155
|
isScrollOverOneScreen.value = false;
|
|
151
156
|
} catch (error) {
|
|
152
157
|
isScrollOverOneScreen.value = false;
|
|
@@ -205,7 +210,6 @@ defineExpose({
|
|
|
205
210
|
-webkit-tap-highlight-color: transparent;
|
|
206
211
|
|
|
207
212
|
&-text {
|
|
208
|
-
font-family: PingFangSC-Regular, system-ui;
|
|
209
213
|
font-size: 10px;
|
|
210
214
|
color: #147aff;
|
|
211
215
|
margin-left: 3px;
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
background-color: rgba(255, 149, 0, 0.1);
|
|
21
21
|
color: #ff8c39;
|
|
22
22
|
line-height: 18px;
|
|
23
|
-
font-family: PingFangSC-Regular;
|
|
24
23
|
font-style: normal;
|
|
25
24
|
font-weight: 400;
|
|
26
25
|
text-align: justify;
|
|
@@ -76,7 +75,6 @@
|
|
|
76
75
|
cursor: pointer;
|
|
77
76
|
|
|
78
77
|
&-text {
|
|
79
|
-
font-family: PingFangSC-Regular;
|
|
80
78
|
font-weight: 400;
|
|
81
79
|
font-size: 10px;
|
|
82
80
|
color: #147aff;
|
|
@@ -65,12 +65,16 @@ const onCurrentConversationUpdate = (conversation: IConversationModel) => {
|
|
|
65
65
|
currentConversation.value = conversation;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
const onInHumanServiceUpdate = (value: boolean) => {
|
|
69
|
-
|
|
68
|
+
const onInHumanServiceUpdate = (data: {conversationID: string, value: boolean}) => {
|
|
69
|
+
if (data && data.conversationID === currentConversation.value.conversationID) {
|
|
70
|
+
isInHumanService.value = data.value;
|
|
71
|
+
}
|
|
70
72
|
};
|
|
71
73
|
|
|
72
|
-
const onInSessionUpdate = (value: boolean) => {
|
|
73
|
-
|
|
74
|
+
const onInSessionUpdate = (data: {conversationID: string, value: boolean}) => {
|
|
75
|
+
if (data && data.conversationID === currentConversation.value.conversationID) {
|
|
76
|
+
isInSession.value = data.value;
|
|
77
|
+
}
|
|
74
78
|
}
|
|
75
79
|
|
|
76
80
|
function onClick(item:ToolbarButtonModel, index: number) {
|
|
@@ -150,6 +154,5 @@ function shouldRender(item: ToolbarButtonModel) {
|
|
|
150
154
|
text-overflow: ellipsis;
|
|
151
155
|
max-width: 100px;
|
|
152
156
|
overflow: hidden;
|
|
153
|
-
font-family: PingFangSC-Regular;
|
|
154
157
|
}
|
|
155
158
|
</style>
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
display: flex;
|
|
8
8
|
flex-direction: column;
|
|
9
9
|
position: relative;
|
|
10
|
+
font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', '微软雅黑', 'Segoe UI', 'Noto Sans CJK SC', 'Noto Sans CJK TC', 'Noto Sans CJK JP', 'Noto Sans CJK KR', 'Roboto', 'Helvetica Neue', 'MIUI', Arial, sans-serif;
|
|
10
11
|
|
|
11
12
|
&-default {
|
|
12
13
|
width: 100%;
|
|
@@ -45,4 +46,4 @@
|
|
|
45
46
|
height: 160px;
|
|
46
47
|
display: flex;
|
|
47
48
|
}
|
|
48
|
-
}
|
|
49
|
+
}
|
|
@@ -129,6 +129,7 @@ const handleStyle = (type?: string) => {
|
|
|
129
129
|
width: fit-content;
|
|
130
130
|
overflow-wrap: break-word;
|
|
131
131
|
word-break: normal;
|
|
132
|
+
font-size: 14px;
|
|
132
133
|
}
|
|
133
134
|
}
|
|
134
135
|
|
|
@@ -144,7 +145,6 @@ const handleStyle = (type?: string) => {
|
|
|
144
145
|
padding: 10px 15px;
|
|
145
146
|
|
|
146
147
|
span {
|
|
147
|
-
font-family: PingFangSC-Regular;
|
|
148
148
|
font-weight: 400;
|
|
149
149
|
font-size: 14px;
|
|
150
150
|
letter-spacing: 0;
|
package/constant.ts
CHANGED
package/locales/en/aidesk.ts
CHANGED
|
@@ -15,23 +15,26 @@ const AIDesk = {
|
|
|
15
15
|
"并发限制": "There are currently too many users accessing the service. Please try again later",
|
|
16
16
|
"分支选项异常": "Content is abnormal, please check the task flow configuration",
|
|
17
17
|
"服务评价": "Service Rating",
|
|
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",
|
|
30
|
-
"file 大小超过 100MB,无法发送":"Unable to send the file as it exceeds 100 MB",
|
|
31
|
-
"image 大小超过 20MB,无法发送":"Unable to send the image as it exceeds 20 MB",
|
|
32
|
-
"video 大小超过 100MB,无法发送":"Unable to send the video as it exceeds 100 MB",
|
|
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",
|
|
30
|
+
"file 大小超过 100MB,无法发送": "Unable to send the file as it exceeds 100 MB",
|
|
31
|
+
"image 大小超过 20MB,无法发送": "Unable to send the image as it exceeds 20 MB",
|
|
32
|
+
"video 大小超过 100MB,无法发送": "Unable to send the video as it exceeds 100 MB",
|
|
33
|
+
"提交成功": "Submitted successfully",
|
|
33
34
|
"userID 只能包含可打印 ASCII 字符": "The userID can only contain printable ASCII characters",
|
|
34
35
|
"userID 不能包含'administrator'": "The userID cannot contain the string 'administrator'",
|
|
35
36
|
"userID 长度不能超过45字节": "The length of the userID cannot exceed 45 bytes",
|
|
37
|
+
"我们想知道你对此回答不满意的原因,你认为更好的回答是什么?": "We appreciate your feedback. Please share any suggestions to help us improve.",
|
|
38
|
+
"该回复由AI生成,内容仅供参考": "AI-Generated Content",
|
|
36
39
|
}
|
|
37
40
|
export default AIDesk;
|
package/locales/fil/aidesk.ts
CHANGED
|
@@ -15,23 +15,25 @@ const AIDesk = {
|
|
|
15
15
|
"并发限制": "Maraming tao ang naghahanap ng tulong ngayon, subukan muli mamaya",
|
|
16
16
|
"分支选项异常": "Ang nilalaman ay abnormal, pakisuri ang configuration ng task flow",
|
|
17
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",
|
|
30
|
-
"file 大小超过 100MB,无法发送":"Lampas sa 100MB ang file, hindi maipadala",
|
|
31
|
-
"image 大小超过 20MB,无法发送":"Hindi maipadala ang larawan dahil lampas ito sa 20 MB",
|
|
32
|
-
"video 大小超过 100MB,无法发送":"Hindi maipadala ang video dahil lampas ito sa 100 MB",
|
|
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",
|
|
30
|
+
"file 大小超过 100MB,无法发送": "Lampas sa 100MB ang file, hindi maipadala",
|
|
31
|
+
"image 大小超过 20MB,无法发送": "Hindi maipadala ang larawan dahil lampas ito sa 20 MB",
|
|
32
|
+
"video 大小超过 100MB,无法发送": "Hindi maipadala ang video dahil lampas ito sa 100 MB",
|
|
33
|
+
"提交成功": "Matagumpay na naipasa",
|
|
33
34
|
"userID 只能包含可打印 ASCII 字符": "Ang UserID ay dapat naglalaman lamang ng printable ASCII characters",
|
|
34
35
|
"userID 不能包含'administrator'": "Ang UserID ay hindi dapat maglaman ng 'administrator'",
|
|
35
36
|
"userID 长度不能超过45字节": "Ang haba ng UserID ay hindi dapat lumampas sa 45 bytes",
|
|
37
|
+
"我们想知道你对此回答不满意的原因,你认为更好的回答是什么?": "Pinahahalagahan namin ang iyong feedback. Mangyaring ibahagi ang anumang mga mungkahi upang matulungan kaming mapabuti.",
|
|
36
38
|
}
|
|
37
39
|
export default AIDesk;
|
package/locales/id/aidesk.ts
CHANGED
|
@@ -15,23 +15,25 @@ const AIDesk = {
|
|
|
15
15
|
"服务评价": "Ulasan Layanan",
|
|
16
16
|
"并发限制": "Saat ini banyak pengguna yang mengakses. Mohon coba lagi nanti",
|
|
17
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",
|
|
30
|
-
"file 大小超过 100MB,无法发送":"Ukuran file melebihi 100MB, tidak dapat dikirim",
|
|
31
|
-
"image 大小超过 20MB,无法发送":"Tidak dapat mengirim gambar karena melebihi 20 MB",
|
|
32
|
-
"video 大小超过 100MB,无法发送":"Tidak dapat mengirim video karena melebihi 100 MB",
|
|
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",
|
|
30
|
+
"file 大小超过 100MB,无法发送": "Ukuran file melebihi 100MB, tidak dapat dikirim",
|
|
31
|
+
"image 大小超过 20MB,无法发送": "Tidak dapat mengirim gambar karena melebihi 20 MB",
|
|
32
|
+
"video 大小超过 100MB,无法发送": "Tidak dapat mengirim video karena melebihi 100 MB",
|
|
33
|
+
"提交成功": "Berhasil dikirim",
|
|
33
34
|
"userID 只能包含可打印 ASCII 字符": "UserID hanya boleh berisi karakter ASCII yang dapat dicetak",
|
|
34
35
|
"userID 不能包含'administrator'": "UserID tidak boleh mengandung 'administrator'",
|
|
35
36
|
"userID 长度不能超过45字节": "Panjang UserID tidak boleh melebihi 45 byte",
|
|
37
|
+
"我们想知道你对此回答不满意的原因,你认为更好的回答是什么?": "Kami menghargai masukan Anda. Silakan bagikan saran apa pun untuk membantu kami meningkatkan layanan.",
|
|
36
38
|
}
|
|
37
39
|
export default AIDesk;
|
package/locales/ja/aidesk.ts
CHANGED
|
@@ -15,23 +15,25 @@ const AIDesk = {
|
|
|
15
15
|
"服务评价": "サービス評価",
|
|
16
16
|
"并发限制": "現在アクセスが集中しております。しばらくしてから再度お試しください",
|
|
17
17
|
"分支选项异常": "コンテンツに異常があります。タスクフローの設定を確認してください",
|
|
18
|
-
"满意":"満足",
|
|
19
|
-
"不满意":"不満",
|
|
20
|
-
"感谢您的反馈,我们会持续优化改进":"フィードバックありがとうございます、改善を続けます",
|
|
21
|
-
"您遇到了哪方面的问题":"どのような問題がありましたか",
|
|
22
|
-
"其他反馈内容":"その他のフィードバック",
|
|
23
|
-
"取消":"キャンセル",
|
|
24
|
-
"答非所问":"関係ない回答",
|
|
25
|
-
"未匹配相关内容":"関連する内容が見つかりません",
|
|
26
|
-
"信息错误":"情報が間違っています",
|
|
27
|
-
"上下文理解错误":"文脈の理解誤り",
|
|
28
|
-
"格式不规范":"形式が不適切",
|
|
29
|
-
"内容不完整":"内容が不完全",
|
|
30
|
-
"file 大小超过 100MB,无法发送":"ファイルサイズが100MBを超えているため送信できません",
|
|
31
|
-
"image 大小超过 20MB,无法发送":"画像のサイズが20MBを超えているため送信できません",
|
|
32
|
-
"video 大小超过 100MB,无法发送":"動画のサイズが100MBを超えているため送信できません",
|
|
18
|
+
"满意": "満足",
|
|
19
|
+
"不满意": "不満",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进": "フィードバックありがとうございます、改善を続けます",
|
|
21
|
+
"您遇到了哪方面的问题": "どのような問題がありましたか",
|
|
22
|
+
"其他反馈内容": "その他のフィードバック",
|
|
23
|
+
"取消": "キャンセル",
|
|
24
|
+
"答非所问": "関係ない回答",
|
|
25
|
+
"未匹配相关内容": "関連する内容が見つかりません",
|
|
26
|
+
"信息错误": "情報が間違っています",
|
|
27
|
+
"上下文理解错误": "文脈の理解誤り",
|
|
28
|
+
"格式不规范": "形式が不適切",
|
|
29
|
+
"内容不完整": "内容が不完全",
|
|
30
|
+
"file 大小超过 100MB,无法发送": "ファイルサイズが100MBを超えているため送信できません",
|
|
31
|
+
"image 大小超过 20MB,无法发送": "画像のサイズが20MBを超えているため送信できません",
|
|
32
|
+
"video 大小超过 100MB,无法发送": "動画のサイズが100MBを超えているため送信できません",
|
|
33
|
+
"提交成功": "送信が成功しました",
|
|
33
34
|
"userID 只能包含可打印 ASCII 字符": "UserIDは印字可能なASCII文字のみを含める必要があります",
|
|
34
35
|
"userID 不能包含'administrator'": "UserIDに'administrator'を含めることはできません",
|
|
35
36
|
"userID 长度不能超过45字节": "UserIDの長さは45バイトを超えてはいけません",
|
|
37
|
+
"我们想知道你对此回答不满意的原因,你认为更好的回答是什么?": "皆様からのフィードバックをお待ちしております。改善に役立つご提案がございましたら、ぜひお聞かせください。",
|
|
36
38
|
}
|
|
37
39
|
export default AIDesk;
|
package/locales/ms/aidesk.ts
CHANGED
|
@@ -15,23 +15,25 @@ const AIDesk = {
|
|
|
15
15
|
"服务评价": "Penilaian Perkhidmatan",
|
|
16
16
|
"并发限制": "Terdapat terlalu ramai pengguna pada masa ini. Sila cuba lagi nanti",
|
|
17
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",
|
|
30
|
-
"file 大小超过 100MB,无法发送":"Saiz fail melebihi 100MB, tidak boleh dihantar",
|
|
31
|
-
"image 大小超过 20MB,无法发送":"Tidak dapat menghantar gambar kerana melebihi 20 MB",
|
|
32
|
-
"video 大小超过 100MB,无法发送":"Tidak dapat menghantar video kerana melebihi 100 MB",
|
|
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",
|
|
30
|
+
"file 大小超过 100MB,无法发送": "Saiz fail melebihi 100MB, tidak boleh dihantar",
|
|
31
|
+
"image 大小超过 20MB,无法发送": "Tidak dapat menghantar gambar kerana melebihi 20 MB",
|
|
32
|
+
"video 大小超过 100MB,无法发送": "Tidak dapat menghantar video kerana melebihi 100 MB",
|
|
33
|
+
"提交成功": "Berjaya dihantar",
|
|
33
34
|
"userID 只能包含可打印 ASCII 字符": "UserID hanya boleh mengandung aksara ASCII yang boleh dicetak",
|
|
34
35
|
"userID 不能包含'administrator'": "UserID tidak boleh mengandung 'administrator'",
|
|
35
36
|
"userID 长度不能超过45字节": "Panjang UserID tidak boleh melebihi 45 bait",
|
|
37
|
+
"我们想知道你对此回答不满意的原因,你认为更好的回答是什么?": "Kami menghargai maklum balas anda. Sila kongsi sebarang cadangan untuk membantu kami menambah baik.",
|
|
36
38
|
}
|
|
37
39
|
export default AIDesk;
|
package/locales/ru/aidesk.ts
CHANGED
|
@@ -15,23 +15,25 @@ const AIDesk = {
|
|
|
15
15
|
"服务评价": "Оценка услуги",
|
|
16
16
|
"并发限制": "В данный момент слишком много пользователей. Попробуйте позже",
|
|
17
17
|
"分支选项异常": "Содержимое аномально, пожалуйста, проверьте конфигурацию потока задач",
|
|
18
|
-
"满意":"Доволен",
|
|
19
|
-
"不满意":"Не доволен",
|
|
20
|
-
"感谢您的反馈,我们会持续优化改进":"Спасибо за ваш отзыв, мы будем продолжать улучшать",
|
|
21
|
-
"您遇到了哪方面的问题":"С какой проблемой вы столкнулись",
|
|
22
|
-
"其他反馈内容":"Другой отзыв",
|
|
23
|
-
"取消":"Отмена",
|
|
24
|
-
"答非所问":"Несоответствующий ответ",
|
|
25
|
-
"未匹配相关内容":"Нет соответствующего содержания",
|
|
26
|
-
"信息错误":"Ошибочная информация",
|
|
27
|
-
"上下文理解错误":"Ошибка понимания контекста",
|
|
28
|
-
"格式不规范":"Нестандартный формат",
|
|
29
|
-
"内容不完整":"Неполное содержание",
|
|
30
|
-
"file 大小超过 100MB,无法发送":"Размер файла превышает 100MB, отправка невозможна",
|
|
31
|
-
"image 大小超过 20MB,无法发送":"Невозможно отправить изображение, так как оно превышает 20 MB",
|
|
32
|
-
"video 大小超过 100MB,无法发送":"Невозможно отправить видео, так как оно превышает 100 MB",
|
|
18
|
+
"满意": "Доволен",
|
|
19
|
+
"不满意": "Не доволен",
|
|
20
|
+
"感谢您的反馈,我们会持续优化改进": "Спасибо за ваш отзыв, мы будем продолжать улучшать",
|
|
21
|
+
"您遇到了哪方面的问题": "С какой проблемой вы столкнулись",
|
|
22
|
+
"其他反馈内容": "Другой отзыв",
|
|
23
|
+
"取消": "Отмена",
|
|
24
|
+
"答非所问": "Несоответствующий ответ",
|
|
25
|
+
"未匹配相关内容": "Нет соответствующего содержания",
|
|
26
|
+
"信息错误": "Ошибочная информация",
|
|
27
|
+
"上下文理解错误": "Ошибка понимания контекста",
|
|
28
|
+
"格式不规范": "Нестандартный формат",
|
|
29
|
+
"内容不完整": "Неполное содержание",
|
|
30
|
+
"file 大小超过 100MB,无法发送": "Размер файла превышает 100MB, отправка невозможна",
|
|
31
|
+
"image 大小超过 20MB,无法发送": "Невозможно отправить изображение, так как оно превышает 20 MB",
|
|
32
|
+
"video 大小超过 100MB,无法发送": "Невозможно отправить видео, так как оно превышает 100 MB",
|
|
33
|
+
"提交成功": "Успешно отправлено",
|
|
33
34
|
"userID 只能包含可打印 ASCII 字符": "UserID должен содержать только печатные символы ASCII",
|
|
34
35
|
"userID 不能包含'administrator'": "UserID не должен содержать 'administrator'",
|
|
35
36
|
"userID 长度不能超过45字节": "Длина UserID не должна превышать 45 байт",
|
|
37
|
+
"我们想知道你对此回答不满意的原因,你认为更好的回答是什么?": "Мы ценим ваши отзывы. Пожалуйста, поделитесь предложениями, которые помогут нам стать лучше.",
|
|
36
38
|
}
|
|
37
39
|
export default AIDesk;
|