feat(web): en update

This commit is contained in:
zhaoying
2026-01-16 12:11:02 +08:00
parent fcf9a92f11
commit 339f6280e1
7 changed files with 82 additions and 75 deletions

View File

@@ -16,6 +16,7 @@ interface TableComponentProps extends Omit<TableProps, 'pagination'> {
rowSelection?: TableProps['rowSelection']; rowSelection?: TableProps['rowSelection'];
initialData?: Record<string, unknown>[]; initialData?: Record<string, unknown>[];
emptySize?: number; emptySize?: number;
emptyText?: string;
isScroll?: boolean; isScroll?: boolean;
scrollX?: number | string | true; // 支持自定义横向滚动宽度 scrollX?: number | string | true; // 支持自定义横向滚动宽度
scrollY?: number | string; // 支持自定义纵向滚动高度 scrollY?: number | string; // 支持自定义纵向滚动高度
@@ -46,6 +47,7 @@ const TableComponent = forwardRef<TableRef, TableComponentProps>(({
rowSelection, rowSelection,
initialData, initialData,
emptySize = 160, emptySize = 160,
emptyText,
isScroll = false, isScroll = false,
scrollX, scrollX,
scrollY, scrollY,
@@ -169,7 +171,7 @@ const TableComponent = forwardRef<TableRef, TableComponentProps>(({
rowSelection={rowSelection} rowSelection={rowSelection}
rowClassName={styles.row} rowClassName={styles.row}
className={styles.table} className={styles.table}
locale={{ emptyText: <Empty size={emptySize} /> }} locale={{ emptyText: <Empty size={emptySize} subTitle={emptyText} /> }}
scroll={getScrollConfig()} scroll={getScrollConfig()}
tableLayout="auto" tableLayout="auto"
/> />

View File

@@ -7,7 +7,7 @@ export const en = {
viewGuide: 'View Guide', viewGuide: 'View Guide',
watchVideo: 'Watch Video', watchVideo: 'Watch Video',
viewDetails: 'View Details', viewDetails: 'View Details',
changeLog: 'Change Log', changeLog: 'Changelog',
latestUpdate: 'Latest Update', latestUpdate: 'Latest Update',
appCount: 'Number of Spaces', appCount: 'Number of Spaces',
userCount: 'Number of Users', userCount: 'Number of Users',
@@ -80,7 +80,7 @@ export const en = {
userManagement: 'User Management', userManagement: 'User Management',
roleManagement: 'Role Management', roleManagement: 'Role Management',
systemManage: 'System Manage', systemManage: 'System Manage',
applicationManagement: 'Application Manage', applicationManagement: 'Application',
productManagement: 'Product Management', productManagement: 'Product Management',
knowledgeManagement: 'KnowledgeBase ', knowledgeManagement: 'KnowledgeBase ',
knowledgeBase: 'Datasets Management', knowledgeBase: 'Datasets Management',
@@ -102,7 +102,7 @@ export const en = {
knowledgeCreateDataset: 'Create Dataset', knowledgeCreateDataset: 'Create Dataset',
knowledgeDocumentDetails: 'Document Details', knowledgeDocumentDetails: 'Document Details',
userMemoryDetail: 'UserMemory Detail', userMemoryDetail: 'UserMemory Detail',
apiKeyManagement: 'API KEY Management', apiKeyManagement: 'API Key Management',
toolManagement: 'Tool Management', toolManagement: 'Tool Management',
emotionEngine: 'Emotion Engine', emotionEngine: 'Emotion Engine',
statementDetail: 'Emotion Memory', statementDetail: 'Emotion Memory',
@@ -113,27 +113,27 @@ export const en = {
spaceConfig: 'Space Configuration' spaceConfig: 'Space Configuration'
}, },
dashboard: { dashboard: {
total_models: 'Total number of available models', total_models: 'Available Models',
total_spaces: 'Number of active spaces', total_spaces: 'Active Spaces',
total_users: 'Total number of users', total_users: 'Users',
total_running_apps: 'Number of application runs', total_running_apps: 'Application Runs',
desc_models: 'Contains {{ account }} LLMs and {{ nums }} Embeddings', desc_models: 'Includes {{ account }} LLM and {{ nums }} embedding',
desc_spaces: 'more than last week', desc_spaces: 'compared to last week',
desc_users: 'New additions this week', desc_users: 'New additions this week',
desc_running_apps: "Today's success rate", desc_running_apps: "Today's success rate",
totalMemoryCapacity: 'Total Memory Capacity', totalMemoryCapacity: 'Total Stored Memories',
userMemory: 'User Memory', userMemory: 'User Memory',
knowledgeBaseCount: 'Knowledge Base Count', knowledgeBaseCount: 'Knowledge Bases',
apiCallCount: 'API Call Count', apiCallCount: 'API Calls',
comparedToYesterday: 'compared to yesterday', comparedToYesterday: 'compared to yesterday',
thisWeek: 'this week', thisWeek: 'this week',
thisDay: 'day on day', thisDay: 'day on day',
failureRate: 'Failure Rate', failureRate: 'Failure Rate',
application: 'Application Count', application: 'Applications',
total_num: 'Total Memory Capacity', total_num: 'Total Memory Capacity',
lastDays: 'last {{days}} days', lastDays: 'last {{days}} days',
lastHalfYear: 'last half year', lastHalfYear: 'last 6 months',
lastYear: 'last year', lastYear: 'last year',
enterpriseMemory: 'Enterprise Memory', enterpriseMemory: 'Enterprise Memory',
@@ -183,13 +183,13 @@ export const en = {
createNewMemorySummary: 'Create New Memory Entry', createNewMemorySummary: 'Create New Memory Entry',
createNewApplication: 'Create New Application', createNewApplication: 'Create New Application',
createNewApplicationDesc: 'Create New Space Application', createNewApplicationDesc: 'Create a new application for this space',
createNewKnowledge: 'Create New Knowledge', createNewKnowledge: 'Create New Knowledge',
createNewKnowledgeDesc: 'Create a new memory entry', createNewKnowledgeDesc: 'Create a new memory entry',
memoryConversation: 'Memory Conversation', memoryConversation: 'Memory Conversation',
memoryConversationDesc: 'Memory Conversation', memoryConversationDesc: 'Create a new memory conversation',
memorySummary: 'View Memory Summary', memorySummary: 'View Memory Summary',
memorySummaryDesc: 'View Memory Summary Report', memorySummaryDesc: 'View Memory Summary Report',
@@ -198,13 +198,13 @@ export const en = {
tagEmpty: 'There are no tag records at the moment', tagEmpty: 'There are no tag records at the moment',
chunk_count: 'Data Chunk', chunk_count: 'Data Chunk',
chunk_count_desc: 'Current Processing {{count}} Data Chunks', chunk_count_desc: '{{count}} data chunks currently being processed',
statements_count: 'Statements', statements_count: 'Statements',
statements_count_desc: 'Manage {{count}} knowledge statements', statements_count_desc: '{{count}} knowledge statements',
triplet_count: 'Entity Relation Extraction', triplet_count: 'Entity Relation Extraction',
triplet_count_desc: 'Build {{entities_count}} entity nodes and {{relations_count}} relation connections', triplet_count_desc: '{{entities_count}} entity nodes and {{relations_count}} relationships built',
temporal_count: 'Time Extraction', temporal_count: 'Time Extraction',
temporal_count_desc: 'Record {{count}} time series information', temporal_count_desc: '{{count}} time series records',
dialogue: 'Dialogue', dialogue: 'Dialogue',
chunk: 'Chunk', chunk: 'Chunk',
@@ -943,20 +943,20 @@ export const en = {
apiEndpoint: 'API Endpoint', apiEndpoint: 'API Endpoint',
apiKey: 'API-Key', apiKey: 'API-Key',
returnToApplicationList: 'Return to application list', returnToApplicationList: 'Return to application list',
arrangement: 'Arrangement', arrangement: 'Configuration',
api: 'API', api: 'API',
release: 'Release', release: 'Release',
promptConfiguration: 'Prompt Configuration', promptConfiguration: 'Prompt Configuration',
configurationDesc: 'Define the role, capabilities, and behavioral guidelines of the Agent', configurationDesc: 'Define the role, capabilities, and behavioral guidelines of the Agent',
aiPrompt: 'AI Prompt', aiPrompt: 'AI Prompt',
promptPlaceholder: 'You are a professional AI assistant, and your responsibility is to help users solve problems.', promptPlaceholder: 'You are a professional AI assistant, and your responsibility is to help users solve problems.',
knowledgeBaseAssociation: 'Knowledge base association', knowledgeBaseAssociation: 'Knowledge Base Association',
associatedKnowledgeBase: 'Associated Knowledge Base', associatedKnowledgeBase: 'Associated Knowledge Bases',
addKnowledgeBase: 'Add Knowledge Base', addKnowledgeBase: 'Add Knowledge Base',
knowledgeEmpty: 'There is currently no knowledge base association', knowledgeEmpty: 'No knowledge base associated.',
memoryConfiguration: 'Memory Configuration', memoryConfiguration: 'Memory Configuration',
dialogueHistoricalMemory: 'Dialogue Historical Memory', dialogueHistoricalMemory: 'Conversation History Memory',
dialogueHistoricalMemoryDesc: 'After activation, the memory content in the memory management can be selected', dialogueHistoricalMemoryDesc: 'Enable this to select memory content from memory management.',
toolConfiguration: 'Tool Configuration', toolConfiguration: 'Tool Configuration',
webSearch: 'Web Search', webSearch: 'Web Search',
webSearchDesc: 'Allow the Agent to access the Internet for real-time search', webSearchDesc: 'Allow the Agent to access the Internet for real-time search',
@@ -971,14 +971,14 @@ export const en = {
VariableManagementDesc: 'Configure the available variables for the Agent', VariableManagementDesc: 'Configure the available variables for the Agent',
addVariables: 'Add Variables', addVariables: 'Add Variables',
variablesEmpty: 'There are currently no variables available', variablesEmpty: 'There are currently no variables available',
debuggingEmpty: 'Currently, there are no debugging models available', debuggingEmpty: 'No models available for debugging.',
debuggingEmptyDesc: 'Click the "+" button on the page, select and add the model you need', debuggingEmptyDesc: 'Click the “+” button to select and add a model.',
debuggingAndPreview: 'Debugging and Preview', debuggingAndPreview: 'Preview and Debugging',
addModel: 'Add Model', addModel: 'Add Model',
fieldName: 'Field Name', fieldName: 'Field Name',
Optional: 'Optional', Optional: 'Optional',
chatEmpty: 'Send message to start testing', chatEmpty: 'Send a message to start testing',
chatPlaceholder: 'Start chatting with the robot…', chatPlaceholder: 'Start a conversation...',
endpointConfiguration: 'Endpoint Configuration', endpointConfiguration: 'Endpoint Configuration',
authenticationMethod: 'Authentication Method', authenticationMethod: 'Authentication Method',
@@ -1005,22 +1005,22 @@ export const en = {
whitelistIPDesc: 'supports CIDR', whitelistIPDesc: 'supports CIDR',
publicAPIDocumentation: 'Public API Documentation', publicAPIDocumentation: 'Public API Documentation',
versionList: 'Version List', versionList: 'Versions',
versionListDesc: 'All release records and status', versionListDesc: 'Release history and status',
current: 'Current', current: 'Current',
rolledBack: 'rolled back', rolledBack: 'rolled back',
history: 'history', history: 'history',
VersionInformation: 'Version Information', VersionInformation: 'Version Information',
publishedOn: 'Published On', publishedOn: 'Published on',
publisher: 'Publisher', publisher: 'Published by',
DetailsOfVersion: 'Details of {{version}} version', DetailsOfVersion: 'Version Details: {{version}}',
exportDSLFile: 'Export DSL file', exportDSLFile: 'Export DSL file',
willRollToThisVersion: 'Will roll to this version', willRollToThisVersion: 'Will roll to this version',
share: 'Share', share: 'Share',
lastUpdateTime: 'Last Update Time', lastUpdateTime: 'Last Update Time',
editor: 'Editor', editor: 'Editor',
releaseTime: 'Release Time', releaseTime: 'Release Time',
changeLog: 'Change Log', changeLog: 'Changelog',
fix: 'Fix', fix: 'Fix',
optimization: 'Optimization', optimization: 'Optimization',
new: 'New', new: 'New',
@@ -1125,7 +1125,7 @@ export const en = {
ReplyException: 'Reply exception', ReplyException: 'Reply exception',
endpointConfigurationSubTitle: 'Configure API access address and supported HTTP methods', endpointConfigurationSubTitle: 'Configure API access address and supported HTTP methods',
apiKeys: 'API Keys Management', apiKeys: 'API Key Management',
apiKeySubTitle: 'Manage API keys, view usage and traffic statistics for each key', apiKeySubTitle: 'Manage API keys, view usage and traffic statistics for each key',
addApiKey: 'Add New API Key', addApiKey: 'Add New API Key',
apiKeyName: 'Key Name', apiKeyName: 'Key Name',
@@ -1194,7 +1194,7 @@ export const en = {
drag: 'Drag and drop to move nodes', drag: 'Drag and drop to move nodes',
zoom: 'Scroll zoom view', zoom: 'Scroll zoom view',
memoryDetailEmpty: 'Please select a memory node', memoryDetailEmpty: 'Please select a memory node',
memoryDetailEmptyDesc: 'Click on the node in the left graph to view the details of entity memory', memoryDetailEmptyDesc: 'Click a node in the graph to view memory details.',
totalNumOfMemories: 'Total Number of Memories', totalNumOfMemories: 'Total Number of Memories',
footprintCity: 'Footprint City', footprintCity: 'Footprint City',
@@ -1212,20 +1212,20 @@ export const en = {
editConfig: 'Edit Config', editConfig: 'Edit Config',
chooseModel: 'Choose Model', chooseModel: 'Choose Model',
nodeStatistics: 'Memory Classification', nodeStatistics: 'Memory Categories',
total: 'Total', total: 'Total',
PERCEPTUAL_MEMORY: 'Perceptual Memory', PERCEPTUAL_MEMORY: 'Perceptual Memory',
WORKING_MEMORY: 'Working Memory', WORKING_MEMORY: 'Working Memory',
SHORT_TERM_MEMORY: 'Shot Term Memory', SHORT_TERM_MEMORY: 'Short-Term Memory',
LONG_TERM_MEMORY: 'Long Term Memory', LONG_TERM_MEMORY: 'Long-Term Memory',
EXPLICIT_MEMORY: 'Explicit Memory', EXPLICIT_MEMORY: 'Explicit Memory',
IMPLICIT_MEMORY: 'Implicit Memory', IMPLICIT_MEMORY: 'Implicit Memory',
EMOTIONAL_MEMORY: 'Emotional Memory', EMOTIONAL_MEMORY: 'Emotional Memory',
EPISODIC_MEMORY: 'Episodic Memory', EPISODIC_MEMORY: 'Episodic Memory',
FORGET_MEMORY: 'Forget Memory', FORGET_MEMORY: 'Forget Memory',
endUserProfile: 'Core Profile', endUserProfile: 'Profile',
editEndUserProfile: 'Edit', editEndUserProfile: 'Edit',
other_name: 'Name', other_name: 'Name',
position: 'Position', position: 'Position',
@@ -1235,10 +1235,10 @@ export const en = {
hire_date: 'Hire Date', hire_date: 'Hire Date',
memoryContent: 'Memory Content', memoryContent: 'Memory Content',
created_at: 'Created At', created_at: 'Created At',
updated_at: 'Updated At', updated_at: 'Last Updated',
fullScreen: 'Full Screen', fullScreen: 'Full Screen',
memoryWindow: "{{name}}'s Window of Memory", memoryWindow: "{{name}}'s Memory Overview",
memory_insight: 'Overall Overview', memory_insight: 'Overall Overview',
key_findings: 'Key Findings', key_findings: 'Key Findings',
behavior_pattern: 'Behavior Pattern', behavior_pattern: 'Behavior Pattern',
@@ -1311,7 +1311,7 @@ export const en = {
tTypeStrict: 'Type Matching Threshold', tTypeStrict: 'Type Matching Threshold',
tOverall: 'Comprehensive Matching Threshold', tOverall: 'Comprehensive Matching Threshold',
arrangementLayerModule: 'Arrangement Layer Module', arrangementLayerModule: 'Configuration Layer Module',
queryMode: 'Query Mode', queryMode: 'Query Mode',
queryModeSubTitle: 'Control whether to activate deeper search functions', queryModeSubTitle: 'Control whether to activate deeper search functions',
deepRetrieval: 'Deep Retrieval', deepRetrieval: 'Deep Retrieval',
@@ -1448,11 +1448,11 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
deduplication_desc: 'Deduplication and disambiguation completed, {{count}} unique entities in total' deduplication_desc: 'Deduplication and disambiguation completed, {{count}} unique entities in total'
}, },
memoryConversation: { memoryConversation: {
searchPlaceholder: 'Input user ID...', searchPlaceholder: 'Enter user ID...',
userID: 'User ID', userID: 'User ID',
testMemoryConversation: 'Test Memory Conversation', testMemoryConversation: 'Test Memory Conversation',
conversationContent: 'Conversation Content', conversationContent: 'Conversation Content',
conversationContentEmpty: 'There is currently no conversation content available', conversationContentEmpty: 'No conversation content available.',
memoryConversationAnalysis: 'Memory Conversation Analysis', memoryConversationAnalysis: 'Memory Conversation Analysis',
memoryFunction: 'Memory Function', memoryFunction: 'Memory Function',
onlineSearch: 'Online Search', onlineSearch: 'Online Search',
@@ -1472,8 +1472,8 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
quickReply: 'Quick Reply', quickReply: 'Quick Reply',
web_search: 'Online search', web_search: 'Online search',
memory: 'Memory', memory: 'Memory',
memoryConversationAnalysisEmpty: 'There is currently no dialogue analysis content available', memoryConversationAnalysisEmpty: 'No conversation analysis available.',
memoryConversationAnalysisEmptySubTitle: 'After entering your user ID, click on "Test Memory" to view the conversation memory', memoryConversationAnalysisEmptySubTitle: 'Conversation analysis will appear here.',
}, },
login: { login: {
title: 'Red Bear Memory Science', title: 'Red Bear Memory Science',
@@ -1526,7 +1526,7 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
notFoundDesc: 'Try returning to the previous page', notFoundDesc: 'Try returning to the previous page',
noPermission: 'Oh, this is an exclusive domain for permissions', noPermission: 'Oh, this is an exclusive domain for permissions',
noPermissionDesc: ' Please contact the administrator to grant permission', noPermissionDesc: ' Please contact the administrator to grant permission',
tableEmpty: 'There are currently no data', tableEmpty: 'No data available.',
loadingEmpty: 'The content is loading…', loadingEmpty: 'The content is loading…',
loadingEmptyDesc: 'Your content is on its way by rocket! It will soon land on your screen' loadingEmptyDesc: 'Your content is on its way by rocket! It will soon land on your screen'
}, },
@@ -1556,12 +1556,12 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
inactive: 'Expired' inactive: 'Expired'
}, },
tool: { tool: {
mcp: 'MCP Service', mcp: 'MCP Services',
inner: 'Built-in Tools', inner: 'Built-in Tools',
custom: 'Custom Tools', custom: 'Custom Tools',
mcpSearchPlaceholder: 'Search MCP services...', mcpSearchPlaceholder: 'Search MCP Services...',
innerSearchPlaceholder: 'Search tools...', innerSearchPlaceholder: 'Search Tools...',
customSearchPlaceholder: 'Search custom tools...', customSearchPlaceholder: 'Search Custom Tools...',
addService: 'Add MCP Service', addService: 'Add MCP Service',
editService: 'Edit MCP Service', editService: 'Edit MCP Service',
addServiceSuccess: 'Service added successfully', addServiceSuccess: 'Service added successfully',
@@ -1594,7 +1594,7 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
requestHeader: 'Request Headers', requestHeader: 'Request Headers',
config: 'Configuration', config: 'Configuration',
auth_type: 'Authentication Type', auth_type: 'Authentication Type',
none: 'No Authentication', none: 'None',
api_key: 'API Key', api_key: 'API Key',
basic_auth: 'Basic Auth', basic_auth: 'Basic Auth',
bearer_token: 'Bearer Token', bearer_token: 'Bearer Token',
@@ -1722,9 +1722,11 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
created_at: 'Created At', created_at: 'Created At',
headerName: 'Header Name', headerName: 'Header Name',
null: 'None', null: 'None',
tagDesc: 'Multiple tags separated by commas', tagDesc: 'Enter tags (comma-separated)',
availableTools: 'Available Tools', availableTools: 'Available Tools',
name: 'Name', name: 'Name',
enterNamePlaceholder: 'Please enter a name',
toolEmpty: 'No tools detected.',
desc: 'Description', desc: 'Description',
method: 'Method', method: 'Method',
path: 'Path', path: 'Path',
@@ -2145,34 +2147,34 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
personal: { personal: {
type: 'Personal', type: 'Personal',
label: 'Current Package', label: 'Current Package',
typeDesc: 'For individuals', typeDesc: 'For Individuals',
solution: "A person's second brain, capable of storing up to 2000 memories.", solution: "A person's second brain, capable of storing up to 2000 memories.",
targetAudience: 'individual users, students, and first-time users', targetAudience: 'individual users, students, and first-time users',
priceDesc: '/Forever free', priceDesc: '/Free forever',
supportServices: 'Community Forum + Email Support', supportServices: 'Community Forum + Email Support',
}, },
team: { team: {
type: 'Team', type: 'Team',
label: 'Small Team', label: 'Small Team',
typeDesc: 'Small Team Version', typeDesc: 'For Small Teams',
solution: "Enable every team to build a shared second brain in seconds.", solution: "Enable every team to build a shared second brain in seconds.",
targetAudience: 'Small teams, early-stage startups, and small projects.', targetAudience: 'Small teams, early-stage startups, and small projects.',
priceDesc: '/Month', priceDesc: '/month',
supportServices: 'Standard customer service support', supportServices: 'Standard customer service support',
}, },
biz: { biz: {
type: 'Biz+', type: 'Biz+',
label: 'Most Popular', label: 'Most Popular',
typeDesc: 'Enterprise Growth Edition', typeDesc: 'Enterprise Growth Plan',
solution: "Scale your organization with a powerful, enterprise-ready second-brain system.", solution: "Scale your organization with a powerful, enterprise-ready second-brain system.",
targetAudience: 'Growing teams, startups, and SMBs requiring advanced memory capabilities.', targetAudience: 'Growing teams, startups, and SMBs requiring advanced memory capabilities.',
priceDesc: '/Month/workspace', priceDesc: 'per workspace / month',
supportServices: 'Priority customer service support', supportServices: 'Priority customer service support',
}, },
commerce: { commerce: {
type: 'Commerce', type: 'Commerce',
label: 'Commercial OEM', label: 'Commercial OEM',
typeDesc: 'Commercial OEM version', typeDesc: 'Commercial OEM plan',
solution: "Seamlessly integrate advanced memory capabilities into your SaaS or enterprise product.", solution: "Seamlessly integrate advanced memory capabilities into your SaaS or enterprise product.",
targetAudience: 'Large enterprises, SaaS vendors, and system integrators requiring fully customizable and secure deployment.', targetAudience: 'Large enterprises, SaaS vendors, and system integrators requiring fully customizable and secure deployment.',
priceDesc: 'On-premises deployment', priceDesc: 'On-premises deployment',
@@ -2191,8 +2193,8 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
supportServices: 'Support Services:', supportServices: 'Support Services:',
flexibleDeployment: 'Flexible deployment:', flexibleDeployment: 'Flexible deployment:',
reliableGuarantee: 'Reliable guarantee:', reliableGuarantee: 'Reliable guarantee:',
alertTitle: 'Intellectual Property Authorization Reminder', alertTitle: 'Third-Party API Usage Notice',
alertContent: 'Please note: Using certain AI models (such as GPT-4, Claude, etc.) may involve third-party API call fees, which are not included in the Memory Bear platform subscription fee. You need to pay the relevant fees separately to the model provider. Memory Bear only charges platform management and service fees and does not bear the usage fees of third-party APIs.', alertContent: "Please note: Some AI models(such as GPT- 4, Claude, etc.) may incur third- party API usage fees.These fees are not included in your Memory Bear subscription and must be paid directly to the model provider. Memory Bear charges only for platform management and related services and does not cover or assume responsibility for any third- party API usage fees.",
currentAccountType: 'Current Account Type', currentAccountType: 'Current Account Type',
validUntil: 'Valid Until', validUntil: 'Valid Until',
orderHistory: 'Order History', orderHistory: 'Order History',

View File

@@ -1820,6 +1820,8 @@ export const zh = {
tagDesc: '多个标签用逗号分隔', tagDesc: '多个标签用逗号分隔',
availableTools: '可用工具', availableTools: '可用工具',
name: '名称', name: '名称',
enterNamePlaceholder: '请输入名称',
toolEmpty: '未检测到工具',
desc: '描述', desc: '描述',
method: '方法', method: '方法',
path: '路径', path: '路径',

View File

@@ -1,7 +1,7 @@
import { cookieUtils } from './request' import { cookieUtils } from './request'
export const clearAuthData = () => { export const clearAuthData = () => {
console.log("Clearing auth data and redirecting to login"); console.log("Clearing auth data and redirecting to login");
sessionStorage.clear(); localStorage.removeItem('user')
localStorage.clear() localStorage.removeItem('breadcrumbs')
cookieUtils.clear(); cookieUtils.clear();
} }

View File

@@ -445,7 +445,7 @@ const Agent = forwardRef<AgentRef>((_props, ref) => {
<Space size={10}> <Space size={10}>
<Button type="primary" ghost onClick={handleAddModel}> <Button type="primary" ghost onClick={handleAddModel}>
+{t('application.addModel')} + {t('application.addModel')}
</Button> </Button>
<div className="rb:w-8 rb:h-8 rb:cursor-pointer rb:bg-[url('@/assets/images/application/clean.svg')]" onClick={handleClearDebugging}></div> <div className="rb:w-8 rb:h-8 rb:cursor-pointer rb:bg-[url('@/assets/images/application/clean.svg')]" onClick={handleClearDebugging}></div>
</Space> </Space>

View File

@@ -151,7 +151,7 @@ const MemoryConversation: FC = () => {
> >
<Chat <Chat
empty={ empty={
<Empty url={ConversationEmptyIcon} className="rb:h-full" size={[140, 100]} title={t('memoryConversation.conversationContentEmpty')} /> <Empty url={ConversationEmptyIcon} className="rb:h-full" size={[140, 100]} title={t('memoryConversation.conversationContentEmpty')} isNeedSubTitle={false} />
} }
contentClassName='rb:h-[calc(100vh-362px)]' contentClassName='rb:h-[calc(100vh-362px)]'
data={chatData} data={chatData}

View File

@@ -1,5 +1,5 @@
import { forwardRef, useImperativeHandle, useState } from 'react'; import { forwardRef, useImperativeHandle, useState } from 'react';
import { Form, Input, Select, Row, Col, App, Button } from 'antd'; import { Form, Input, Select, App } from 'antd';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import type { CustomToolItem, CustomToolModalRef, ToolItem } from '../types' import type { CustomToolItem, CustomToolModalRef, ToolItem } from '../types'
@@ -134,9 +134,9 @@ const CustomToolModal = forwardRef<CustomToolModalRef, CustomToolModalProps>(({
<Form.Item <Form.Item
name="name" name="name"
label={t('tool.name')} label={t('tool.name')}
rules={[{ required: true, message: t('common.pleaseEnter') }]} rules={[{ required: true, message: t('common.enterNamePlaceholder') }]}
> >
<Input placeholder={t('common.pleaseEnter')} /> <Input placeholder={t('tool.enterNamePlaceholder')} />
</Form.Item> </Form.Item>
{/* 名称和图标 */} {/* 名称和图标 */}
{/* <Form.Item label={t('tool.nameAndIcon')} required> {/* <Form.Item label={t('tool.nameAndIcon')} required>
@@ -195,6 +195,7 @@ const CustomToolModal = forwardRef<CustomToolModalRef, CustomToolModalProps>(({
]} ]}
initialData={parseSchemaData.operations || []} initialData={parseSchemaData.operations || []}
emptySize={88} emptySize={88}
emptyText={t('tool.toolEmpty')}
/> />
</Form.Item> </Form.Item>
@@ -269,7 +270,7 @@ const CustomToolModal = forwardRef<CustomToolModalRef, CustomToolModalProps>(({
<Select <Select
mode="tags" mode="tags"
style={{ width: '100%' }} style={{ width: '100%' }}
placeholder={t('common.pleaseEnter')} placeholder={t('tool.tagDesc')}
/> />
</FormItem> </FormItem>
</Form> </Form>