zhou zhou
27 分钟以前 e96aaddc59b17e86beb08cc8f3aa64957cdd57cf
rsf-admin/src/i18n/en.js
@@ -150,6 +150,10 @@
        token: 'Token',
        operation: 'Operation',
        config: 'Config',
        aiParam: 'AI Params',
        aiPrompt: 'Prompts',
        aiMcpMount: 'MCP Mounts',
        aiCallLog: 'AI Observe',
        tenant: 'Tenant',
        userLogin: 'Token',
        customer: 'Customer',
@@ -228,6 +232,321 @@
        taskPathTemplateMerge: 'TaskPathTemplateMerge',
        missionFlowStepInstance: 'Mission Flow Steps',
    },
    ai: {
        common: {
            cancel: "Cancel",
            close: "Close",
            save: "Save",
            new: "New",
            detail: "Details",
            delete: "Delete",
            enabled: "Enabled",
            disabled: "Disabled",
            saveSuccess: "Saved successfully",
            updateSuccess: "Updated successfully",
            deleteSuccess: "Deleted successfully",
            deleteFailed: "Delete failed",
            operationFailed: "Operation failed",
            confirmDelete: "Delete \"%{name}\"?",
            none: "None",
            notValidated: "Not validated",
            notTested: "Not tested",
            lastUpdatedBy: "Last updated by",
            lastUpdatedAt: "Last updated at",
            target: "Target",
            lastTest: "Last test",
            prompt: "Prompt",
            model: "Model",
            error: "Error",
            testing: "Testing...",
        },
        runtimeSummary: {
            fetchFailed: "Failed to load runtime summary",
            title: "Current Runtime",
            description: "Shows the active model, prompt, and MCP mounts.",
            currentModel: "Current Model",
            validateStatus: "Validate %{status}",
            currentPrompt: "Current Prompt",
            lastUpdated: "Last updated: %{time} / %{user}",
            enabledMcp: "Enabled MCP",
            enabledMcpCount: "%{count} enabled",
        },
        param: {
            fields: {
                providerType: "Provider Type",
                model: "Model",
                baseUrl: "Base URL",
                apiKey: "API Key",
                temperature: "Temperature",
                topP: "Top P",
                maxTokens: "Max Tokens",
                timeoutMs: "Timeout(ms)",
                streamingEnabled: "Enable Streaming",
                validateStatus: "Latest Validate Status",
                lastValidateElapsedMs: "Latest Validate Elapsed(ms)",
                lastValidateTime: "Latest Validate Time",
                lastValidateMessage: "Latest Validate Result",
            },
            list: {
                emptyTitle: "No AI parameter configs",
                emptyDescription: "Create an OpenAI-compatible model card first.",
                streaming: "Streaming",
                nonStreaming: "Non-streaming",
            },
            dialog: {
                create: "New AI Parameter",
                edit: "Edit AI Parameter",
                show: "View AI Parameter Details",
            },
            validate: {
                success: "AI parameter validation succeeded",
                failed: "AI parameter validation failed",
                loading: "Validating...",
                beforeSave: "Validate Before Save",
                description: "Validates the current Base URL, API Key, and model directly.",
            },
            form: {
                sections: {
                    main: "Main Configuration",
                    runtime: "Runtime and Audit",
                },
            },
        },
        prompt: {
            fields: {
                code: "Code",
                scene: "Scene",
                systemPrompt: "System Prompt",
                userPromptTemplate: "User Prompt Template",
            },
            list: {
                emptyTitle: "No prompt configs",
                emptyDescription: "Once you create a prompt card, AI chat will load it dynamically.",
                sceneValue: "Scene: %{value}",
            },
            dialog: {
                create: "New Prompt",
                edit: "Edit Prompt",
                show: "View Prompt Details",
            },
            preview: {
                defaultInput: "Please summarize what this page can do",
                success: "Prompt preview generated",
                failed: "Prompt preview failed",
                title: "Prompt Preview",
                input: "Sample Input",
                metadata: "Sample Metadata JSON",
                loading: "Rendering...",
                render: "Render Preview",
                description: "Render the System Prompt and User Prompt with the current form values.",
                resolvedVariables: "Resolved variables: %{value}",
                renderedSystemPrompt: "Rendered System Prompt",
                renderedUserPrompt: "Rendered User Prompt",
            },
            form: {
                sections: {
                    main: "Prompt Configuration",
                    runtime: "Runtime and Audit",
                },
            },
        },
        mcp: {
            fields: {
                transportType: "Transport Type",
                builtinCode: "Built-in MCP",
                serverUrl: "Server URL",
                endpoint: "SSE Endpoint",
                headersJson: "Headers JSON",
                command: "Command",
                argsJson: "Args JSON",
                envJson: "Env JSON",
                requestTimeoutMs: "Timeout(ms)",
                sort: "Sort",
                healthStatus: "Health Status",
                lastInitElapsedMs: "Last Init Elapsed(ms)",
                lastTestTime: "Last Test Time",
                lastTestMessage: "Last Test Result",
            },
            groups: {
                builtin: {
                    title: "Built-in MCP",
                    description: "Built-in tool mounts for exposing platform capabilities directly.",
                },
                sse: {
                    title: "Remote SSE MCP",
                    description: "Mount external tools through a remote MCP server.",
                },
                stdio: {
                    title: "Local STDIO MCP",
                    description: "Mount external MCP tools through a local command process.",
                },
            },
            health: {
                healthy: "Healthy",
                unhealthy: "Failed",
            },
            list: {
                emptyTitle: "No MCP mounts",
                emptyDescription: "Create a built-in MCP, remote SSE mount, or local STDIO mount.",
                sortValue: "Sort %{value}",
                timeoutValue: "Timeout %{value} ms",
                initValue: "Init %{value} ms",
                noConnectivityTest: "No connectivity test has been run yet",
                connectivityTest: "Connectivity Test",
            },
            dialog: {
                create: "New MCP Mount",
                edit: "Edit MCP Mount",
                show: "View MCP Mount Details",
            },
            connectivity: {
                success: "Connectivity test completed",
                failed: "Connectivity test failed",
            },
            form: {
                testBeforeSave: "Test Before Save",
                testDescription: "Validate connectivity directly with the current draft without saving.",
                sections: {
                    main: "MCP Mount Configuration",
                    runtime: "Runtime Info",
                },
            },
            tools: {
                schemaParseFailed: "Failed to parse input schema: %{message}",
                loadFailed: "Failed to load tools",
                inputRequired: "Please enter tool test JSON",
                testSuccess: "Tool %{name} test completed",
                testFailed: "Tool test failed",
                saveBeforePreview: "Save the mount before previewing tools and running tests.",
                title: "Tool Preview and Test",
                description: "Supports connectivity checks, structured schema preview, and generated test forms from input parameters.",
                refresh: "Refresh Tools",
                noTools: "No tools were resolved for this mount.",
                connectivityInit: "Init %{value} ms",
                connectivityToolCount: "Tools %{count}",
                purpose: "Purpose: %{value}",
                fieldCount: "%{count} fields",
                returnDirect: "Return Direct",
                normal: "Normal",
                queryBoundary: "Query boundary: %{value}",
                exampleQuestions: "Example Questions",
                formattedSchema: "Formatted Input Schema",
                testInput: "Test Input JSON",
                testInputPlaceholder: "Example: {\"code\":\"A01\"}",
                executeTest: "Run Test",
                testResult: "Test Result",
            },
        },
        observe: {
            fields: {
                requestId: "Request ID",
                promptCode: "Prompt Code",
                userId: "User ID",
                sessionId: "Session ID",
                mountedMcp: "MCP Mounts",
            },
            summary: {
                fetchFailed: "Failed to load AI observe stats",
                title: "Observe Overview",
                description: "Statistics for AI chats and MCP tool calls in the current tenant.",
                callCount: "AI Calls",
                successFailure: "Success %{success} / Failed %{failure}",
                avgElapsed: "Average Elapsed",
                firstToken: "First token %{value} ms",
                tokenUsage: "Token Usage",
                avgToken: "Average %{value}",
                toolSuccessRate: "Tool Success Rate",
                toolCallFailure: "Calls %{call} / Failed %{failure}",
            },
            status: {
                completed: "Success",
                failed: "Failed",
                aborted: "Aborted",
            },
            detail: {
                mcpLogsFailed: "Failed to load MCP call logs",
                title: "AI Call Details",
                mcpLogs: "MCP Tool Call Logs",
                noMcpLogs: "No MCP tool logs were generated for this call.",
                inputSummary: "Input Summary",
                outputSummary: "Output Summary / Error",
            },
            list: {
                emptyTitle: "No AI call logs",
                emptyDescription: "After starting AI chats, statistics and audit records will appear here.",
                userValue: "User %{value}",
                elapsedValue: "Elapsed %{value} ms",
                tokenValue: "Token %{value}",
                mcpToolCalls: "MCP / Tool Calls",
                mcpToolSummary: "%{mcp} mounts, %{success} tool successes, %{failure} failures",
            },
        },
        drawer: {
            title: "AI Chat",
            runtimeFailed: "Failed to load AI runtime",
            sessionListFailed: "Failed to load AI sessions",
            sessionDeleted: "Session deleted",
            deleteSessionFailed: "Failed to delete AI session",
            pinned: "Session pinned",
            unpinned: "Session unpinned",
            pinFailed: "Failed to update session pin state",
            renamed: "Session renamed",
            renameFailed: "Failed to rename session",
            memoryCleared: "Session memory cleared",
            clearMemoryFailed: "Failed to clear session memory",
            retainLatestRoundSuccess: "Only the latest round was kept",
            retainLatestRoundFailed: "Failed to keep only the latest round",
            stopSuccess: "Current output stopped",
            chatFailed: "AI chat failed",
            newSession: "New Session",
            sessionList: "Sessions",
            searchPlaceholder: "Search session titles",
            noSessions: "No history sessions",
            sessionTitle: "Session %{id}",
            pinAction: "Pin session",
            unpinAction: "Unpin session",
            renameAction: "Rename session",
            deleteAction: "Delete session",
            toolTrace: "Tool Trace",
            noToolTrace: "No tool call was triggered in this round",
            unknownTool: "Unknown tool",
            toolStatusFailed: "Failed",
            toolStatusCompleted: "Completed",
            toolStatusRunning: "Running",
            collapseDetail: "Hide Details",
            viewDetail: "View Details",
            toolInput: "Input: %{value}",
            toolOutput: "Output summary: %{value}",
            toolError: "Error: %{value}",
            hasSummary: "Summary",
            noSummary: "No Summary",
            hasFacts: "Facts",
            noFacts: "No Facts",
            retainLatestRound: "Keep Latest Round",
            clearMemory: "Clear Memory",
            loadingRuntime: "Loading AI runtime info...",
            emptyHint: "AI responses stream back through SSE here. You can also maintain parameters, prompts, and MCP mounts from the quick links above.",
            userRole: "You",
            assistantRole: "AI",
            thinking: "Thinking...",
            inputPlaceholder: "Type your question. Press Enter to send, Shift + Enter for a new line",
            clearInput: "Clear Input",
            stop: "Stop",
            send: "Send",
            renameDialogTitle: "Rename Session",
            sessionTitleField: "Session Title",
            requestMetric: "Req: %{value}",
            sessionMetric: "Session: %{id}",
            promptMetric: "Prompt: %{value}",
            modelMetric: "Model: %{value}",
            mcpMetric: "MCP: %{value}",
            historyMetric: "History: %{value}",
            recentMetric: "Recent: %{value}",
            elapsedMetric: "Elapsed: %{value} ms",
            firstTokenMetric: "First token: %{value} ms",
            tokenMetric: "Tokens: prompt %{prompt} / completion %{completion} / total %{total}",
        },
    },
    table: {
        field: {
            basStationArea: {
@@ -303,6 +622,8 @@
                executeResult: "Execute Result",
                taskNo: "Task No",
                createTime: "Create Time",
                wmsNextTaskStatus: "WMS Next Task Status",
                wmsNowTaskStatus: "WMS Now Task Status",
            },
            subsystemFlowTemplate: {
                flowCode: "flowCode",
@@ -1530,6 +1851,7 @@
        modiftySite: 'Modify SiteNo',
        selectWave: 'Select Wave Rule',
        flowStep: "Flow Step",
        jumpCurrent: "Jump To Current",
    },
    placeholder: {