feat: add chinese translations and improve ui
This commit is contained in:
parent
f73749ac63
commit
98307d5d85
@ -169,7 +169,8 @@
|
|||||||
"edit.message.user.placeholder": "输入用户消息",
|
"edit.message.user.placeholder": "输入用户消息",
|
||||||
"edit.message.empty.content": "会话输入内容不能为空",
|
"edit.message.empty.content": "会话输入内容不能为空",
|
||||||
"edit.model.select.title": "选择模型",
|
"edit.model.select.title": "选择模型",
|
||||||
"edit.settings.hide_preset_messages": "隐藏预设消息"
|
"edit.settings.hide_preset_messages": "隐藏预设消息",
|
||||||
|
"search.no_results": "没有找到相关智能体"
|
||||||
},
|
},
|
||||||
"minapp": {
|
"minapp": {
|
||||||
"title": "小程序"
|
"title": "小程序"
|
||||||
|
|||||||
@ -169,7 +169,8 @@
|
|||||||
"edit.message.user.placeholder": "輸入用戶消息",
|
"edit.message.user.placeholder": "輸入用戶消息",
|
||||||
"edit.message.empty.content": "會話輸入內容不能為空",
|
"edit.message.empty.content": "會話輸入內容不能為空",
|
||||||
"edit.model.select.title": "選擇模型",
|
"edit.model.select.title": "選擇模型",
|
||||||
"edit.settings.hide_preset_messages": "隱藏預設消息"
|
"edit.settings.hide_preset_messages": "隱藏預設消息",
|
||||||
|
"search.no_results": "沒有找到相關智能體"
|
||||||
},
|
},
|
||||||
"minapp": {
|
"minapp": {
|
||||||
"title": "小程序"
|
"title": "小程序"
|
||||||
|
|||||||
@ -97,8 +97,7 @@ const AgentsPage: FC = () => {
|
|||||||
|
|
||||||
const tabItems = useMemo(() => {
|
const tabItems = useMemo(() => {
|
||||||
let groups = Object.keys(filteredAgentGroups)
|
let groups = Object.keys(filteredAgentGroups)
|
||||||
groups = groups.filter((g) => g !== '办公')
|
groups = groups.includes('办公') ? ['办公', ...groups.filter((g) => g !== '办公')] : groups
|
||||||
groups = ['办公', ...groups]
|
|
||||||
return groups.map((group, i) => {
|
return groups.map((group, i) => {
|
||||||
const id = String(i + 1)
|
const id = String(i + 1)
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -1,20 +1,17 @@
|
|||||||
import { SyncOutlined } from '@ant-design/icons'
|
import { SyncOutlined } from '@ant-design/icons'
|
||||||
import { Message, Model } from '@renderer/types'
|
import { Message, Model } from '@renderer/types'
|
||||||
import { getBriefInfo } from '@renderer/utils'
|
import { getBriefInfo } from '@renderer/utils'
|
||||||
import { Alert } from 'antd'
|
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
|
||||||
import styled from 'styled-components'
|
import styled from 'styled-components'
|
||||||
|
|
||||||
import Markdown from '../Markdown/Markdown'
|
import Markdown from '../Markdown/Markdown'
|
||||||
import MessageAttachments from './MessageAttachments'
|
import MessageAttachments from './MessageAttachments'
|
||||||
|
import MessageError from './MessageError'
|
||||||
|
|
||||||
const MessageContent: React.FC<{
|
const MessageContent: React.FC<{
|
||||||
message: Message
|
message: Message
|
||||||
model?: Model
|
model?: Model
|
||||||
}> = ({ message, model }) => {
|
}> = ({ message, model }) => {
|
||||||
const { t } = useTranslation()
|
|
||||||
|
|
||||||
if (message.status === 'sending') {
|
if (message.status === 'sending') {
|
||||||
return (
|
return (
|
||||||
<MessageContentLoading>
|
<MessageContentLoading>
|
||||||
@ -24,14 +21,7 @@ const MessageContent: React.FC<{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (message.status === 'error') {
|
if (message.status === 'error') {
|
||||||
return (
|
return <MessageError message={message} />
|
||||||
<Alert
|
|
||||||
message={<div style={{ fontSize: 14 }}>{t('error.chat.response')}</div>}
|
|
||||||
description={<Markdown message={message} />}
|
|
||||||
type="error"
|
|
||||||
style={{ marginBottom: 15, padding: 10, fontSize: 12 }}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message.type === '@' && model) {
|
if (message.type === '@' && model) {
|
||||||
|
|||||||
21
src/renderer/src/pages/home/Messages/MessageError.tsx
Normal file
21
src/renderer/src/pages/home/Messages/MessageError.tsx
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { Message } from '@renderer/types'
|
||||||
|
import { Alert } from 'antd'
|
||||||
|
import { t } from 'i18next'
|
||||||
|
import { FC } from 'react'
|
||||||
|
|
||||||
|
import Markdown from '../Markdown/Markdown'
|
||||||
|
|
||||||
|
const MessageError: FC<{ message: Message }> = ({ message }) => {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Alert
|
||||||
|
description={t('error.chat.response')}
|
||||||
|
type="error"
|
||||||
|
style={{ marginBottom: 15, padding: 10, fontSize: 12 }}
|
||||||
|
/>
|
||||||
|
<Markdown message={message} />
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MessageError
|
||||||
@ -73,8 +73,12 @@ export async function fetchChatCompletion({
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
message.content = `Error: ${error.message}`
|
|
||||||
message.status = 'error'
|
message.status = 'error'
|
||||||
|
try {
|
||||||
|
message.content = '```json\n' + JSON.stringify(error, null, 2) + '\n```'
|
||||||
|
} catch (e) {
|
||||||
|
message.content = 'Error: ' + error.message
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
timer && clearInterval(timer)
|
timer && clearInterval(timer)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user