From 1a68e602bc61fd691f2413c8dad2e054493315ec Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期一, 23 三月 2026 08:29:27 +0800
Subject: [PATCH] lsh#行号适配

---
 rsf-admin/src/i18n/en.js |  356 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 356 insertions(+), 0 deletions(-)

diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 7db3a65..78cc5cb 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/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',
@@ -226,6 +230,331 @@
         subsystemFlowTemplate: 'SubsystemFlowTemplate',
         flowStepTemplate: 'FlowStepTemplate',
         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",
+            thinkingProcess: "Thinking Process",
+            thinkingExpand: "Show Thinking Process",
+            thinkingCollapse: "Hide Thinking Process",
+            thinkingEmpty: "Organizing the current stage information...",
+            thinkingStatusStarted: "Started",
+            thinkingStatusUpdated: "In Progress",
+            thinkingStatusCompleted: "Completed",
+            thinkingStatusFailed: "Failed",
+            thinkingStatusAborted: "Aborted",
+            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: {
@@ -280,6 +609,30 @@
                 retryEnabled: "retryEnabled",
                 retryConfig: "retryConfig",
                 timeoutSeconds: "timeoutSeconds",
+            },
+            flowStepInstance: {
+                flowInstanceId: "Flow Instance ID",
+                flowInstanceNo: "Flow Instance No",
+                stepTemplateId: "Step Template ID",
+                errorCode: "Error Code",
+                errorMessage: "Error Message",
+                startTime: "Start Time",
+                endTime: "End Time",
+                durationSeconds: "Duration(s)",
+                inputData: "Input Data",
+                outputData: "Output Data",
+                retryTimes: "Retry Times",
+                id: "ID",
+                stepOrder: "Step Order",
+                stepCode: "Step Code",
+                stepName: "Step Name",
+                stepType: "Step Type",
+                status: "Status",
+                executeResult: "Execute Result",
+                taskNo: "Task No",
+                createTime: "Create Time",
+                wmsNextTaskStatus: "WMS Next Task Status",
+                wmsNowTaskStatus: "WMS Now Task Status",
             },
             subsystemFlowTemplate: {
                 flowCode: "flowCode",
@@ -1458,6 +1811,7 @@
         locInit: 'loc init',
         init: "Init",
         siteInit: 'site init',
+        pathInit: 'Path init',
         batch: 'batch',
         pick: 'Pick',
         check: 'Check',
@@ -1505,6 +1859,8 @@
         order: 'Orders',
         modiftySite: 'Modify SiteNo',
         selectWave: 'Select Wave Rule',
+        flowStep: "Flow Step",
+        jumpCurrent: "Jump To Current",
 
     },
     placeholder: {

--
Gitblit v1.9.1