-
diff --git a/web/apps/web-ele/src/components/form-editor/index.ts b/web/apps/web-ele/src/components/form-editor/index.ts
deleted file mode 100644
index 21d85de..0000000
--- a/web/apps/web-ele/src/components/form-editor/index.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * 表单编辑器公共组件
- * 可用于:表单管理器、工作流设计预览编辑
- */
-
-export { default as BasicInfoEditor } from './BasicInfoEditor.vue';
-export type { BasicFormData } from './BasicInfoEditor.vue';
-
-export { default as DesignEditorPanel } from './DesignEditorPanel.vue';
-export type { DesignData, DesignType } from './DesignEditorPanel.vue';
-
-export { default as FormEditorContent } from './FormEditorContent.vue';
-export type { FormEditorData, BasicFormData as FormBasicData } from './FormEditorContent.vue';
-
-export { default as AppDesignPanel } from './AppDesignPanel.vue';
-export type { AppDesignData } from './AppDesignPanel.vue';
-
-export { default as AppSettingsPanel } from './AppSettingsPanel.vue';
-export type { AppSettingsData } from './AppSettingsPanel.vue';
-
-export { default as DashboardBasicInfoConfirmPanel } from './DashboardBasicInfoConfirmPanel.vue';
-export type { DashboardBasicInfoData } from './DashboardBasicInfoConfirmPanel.vue';
-
-export { default as DashboardDesignConfirmPanel } from './DashboardDesignConfirmPanel.vue';
-export type { DashboardDesignData } from './DashboardDesignConfirmPanel.vue';
-
-export { default as PageBasicInfoEditor } from './PageBasicInfoEditor.vue';
-export type { PageBasicInfo } from './PageBasicInfoEditor.vue';
-
-export { default as PagePublishInfoEditor } from './PagePublishInfoEditor.vue';
-export type { PagePublishInfo } from './PagePublishInfoEditor.vue';
-
-export { default as PageEditorContent } from './PageEditorContent.vue';
-export type { PageEditorData } from './PageEditorContent.vue';
-
-export { default as DashboardPublishConfirmPanel } from './DashboardPublishConfirmPanel.vue';
-export type { DashboardPublishData } from './DashboardPublishConfirmPanel.vue';
-
-export { default as SystemSummaryConfirmPanel } from './SystemSummaryConfirmPanel.vue';
-export type { SystemSummaryData } from './SystemSummaryConfirmPanel.vue';
diff --git a/web/apps/web-ele/src/components/fu-page/fu-page.vue b/web/apps/web-ele/src/components/fu-page/fu-page.vue
index b0e85aa..29f62ec 100644
--- a/web/apps/web-ele/src/components/fu-page/fu-page.vue
+++ b/web/apps/web-ele/src/components/fu-page/fu-page.vue
@@ -1,7 +1,7 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/web/apps/web-ele/src/locales/langs/en-US/about.json b/web/apps/web-ele/src/locales/langs/en-US/about.json
deleted file mode 100644
index b36aa53..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/about.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "title": "About Project",
- "basicInfo": "Basic Information",
- "productionDependencies": "Production Dependencies",
- "devDependencies": "Development Dependencies",
- "version": "Version",
- "license": "License",
- "buildTime": "Build Time",
- "homepage": "Homepage",
- "docUrl": "Documentation",
- "previewUrl": "Preview",
- "github": "Github",
- "author": "Author",
- "viewDetails": "View Details"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/account-settings.json b/web/apps/web-ele/src/locales/langs/en-US/account-settings.json
deleted file mode 100644
index a384512..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/account-settings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "passwordLengthHint": "Password length must be 6-20 characters"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/ai-platform.json b/web/apps/web-ele/src/locales/langs/en-US/ai-platform.json
deleted file mode 100644
index 7489941..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/ai-platform.json
+++ /dev/null
@@ -1,2509 +0,0 @@
-{
- "agent": {
- "title": "Agent",
- "create": "Create Agent",
- "createSuccess": "Created successfully",
- "createFailed": "Failed to create",
- "saveSuccess": "Saved successfully",
- "saveFailed": "Failed to save",
- "publishSuccess": "Published successfully",
- "publishFailed": "Failed to publish",
- "disableSuccess": "Disabled",
- "deleteSuccess": "Deleted successfully",
- "deleteFailed": "Failed to delete",
- "deleteConfirm": "Are you sure to delete agent \"{name}\"?",
- "deleteTitle": "Delete Confirmation",
- "unpublishMenuSuccess": "Menu unpublished successfully",
- "operationFailed": "Operation failed",
- "fillNameAndCode": "Please fill in name and code",
- "codeFormatError": "Code must start with a letter and contain only letters, numbers and underscores",
- "searchPlaceholder": "Search agent name",
- "search": "Search",
- "noDescription": "No description",
- "empty": "No agents",
- "mainApp": "Main App",
- "edit": "Edit",
- "delete": "Delete",
- "chat": "Chat",
- "publish": "Publish",
- "publishToMenu": "Publish Agent to Menu",
- "publishDialog": {
- "menuConfig": "Menu Config",
- "menuName": "Menu Name",
- "menuNamePlaceholder": "Please enter menu name",
- "parentMenu": "Parent Menu",
- "parentMenuPlaceholder": "Please select parent menu",
- "menuIcon": "Menu Icon",
- "routeInfo": "Route Info",
- "accessPath": "Access Path"
- },
- "unpublishMenu": "Unpublish Menu",
- "disable": "Disable",
- "back": "Back",
- "save": "Save",
- "cancel": "Cancel",
- "loading": "Loading...",
- "status": {
- "draft": "Draft",
- "published": "Published",
- "disabled": "Disabled"
- },
- "mode": {
- "autonomous": "Autonomous",
- "dialogFlow": "Dialog Flow",
- "autonomousLabel": "Autonomous Mode",
- "dialogFlowLabel": "Dialog Flow Mode",
- "autonomousDesc": "Agent automatically decomposes and executes tasks",
- "dialogFlowDesc": "Interact with users following predefined workflow"
- },
- "form": {
- "name": "Name",
- "namePlaceholder": "Please enter agent name",
- "code": "Code",
- "codePlaceholder": "Please enter unique code",
- "appCode": "App Code",
- "mode": "Mode",
- "description": "Description",
- "descriptionPlaceholder": "Please enter description",
- "globalVisible": "Visible to Sub-apps"
- },
- "importExport": {
- "export": "Export",
- "import": "Import Config",
- "exportSuccess": "Agent config exported",
- "exportFailed": "Export failed",
- "importTitle": "Import Agent Config",
- "dragOrClick": "Drag a JSON file here or click to upload",
- "onlyJson": "Only .json files are supported",
- "fileParseError": "Failed to parse file. Please check the format",
- "checking": "Checking...",
- "codeConflictTip": "Agent code already exists. Please change the code before importing",
- "codeAvailable": "Agent code is available",
- "newCodePlaceholder": "Enter a new agent code",
- "importSuccess": "Agent config imported successfully",
- "importFailed": "Import failed",
- "confirmImport": "Confirm Import",
- "reselect": "Reselect",
- "agentInfo": "Agent Info",
- "modelName": "Model",
- "workflowCode": "Workflow",
- "appTip": "Imported agent will belong to the current application as draft",
- "refTip": "Model, workflow and knowledge bases are matched by name/code; reconfigure in editor if missing in target environment"
- },
- "basicInfo": "Basic Info",
- "runMode": "Run Mode",
- "runModeTooltip": "Autonomous Mode: Agent automatically understands user intent and responds, suitable for general Q&A; Dialog Flow Mode: Interacts with users following predefined workflow steps, suitable for fixed process scenarios",
- "relatedWorkflow": "Related Workflow",
- "relatedWorkflowTooltip": "Select a published workflow. In dialog flow mode, the agent will interact with users following the workflow steps",
- "selectWorkflow": "Please select workflow",
- "dialogFlowHint": "Dialog flow mode requires a linked workflow. The workflow can use interactive nodes like Q&A, choice, etc.",
- "conversationMemory": "Conversation Memory",
- "conversationMemoryTooltip": "When enabled, LLM nodes in the workflow can access conversation history for more coherent responses",
- "enabled": "Enabled",
- "notEnabled": "Not Enabled",
- "memoryWindow": "Memory Window",
- "memoryWindowTooltip": "LLM nodes can access the last N rounds of conversation history. Larger values mean longer memory but more token consumption",
- "rounds": "rounds",
- "agentDescription": "Agent description...",
- "persona": {
- "title": "Persona",
- "role": "Role",
- "roleTooltip": "Define the core identity and responsibilities of the agent, e.g. 'You are a professional data analyst'. This affects the AI's response style and expertise",
- "rolePlaceholder": "e.g. You are a professional data analyst, skilled at handling complex data problems...",
- "personality": "Personality",
- "personalityTooltip": "Set personality traits like 'rigorous', 'friendly', 'humorous', etc. to influence the tone and style of responses",
- "personalityPlaceholder": "Enter personality trait, press Enter to add",
- "skills": "Skills",
- "skillsTooltip": "List the agent's expertise areas like 'data analysis', 'code review', etc. to help AI understand its capability boundaries",
- "skillsPlaceholder": "Enter skill, press Enter to add",
- "constraints": "Constraints",
- "constraintsTooltip": "Set rules the agent must follow, like 'no political topics', 'answers must be fact-based', etc. to prevent AI from overstepping",
- "constraintsPlaceholder": "Enter constraint, press Enter to add",
- "background": "Background",
- "backgroundTooltip": "Provide detailed background info like company, business domain, target audience, etc. to help AI better understand the business context",
- "backgroundPlaceholder": "Detailed background...",
- "add": "Add"
- },
- "prompt": {
- "title": "System Prompt",
- "tooltip": "Direct instruction text for AI, higher priority than persona config. Leave empty to auto-generate from persona",
- "placeholder": "Write system prompt directly, or leave empty to auto-generate from persona..."
- },
- "model": {
- "title": "Model Config",
- "label": "Model",
- "tooltip": "Select the LLM for the agent. Different models vary in capability, speed, and cost",
- "placeholder": "Please select model",
- "temperature": "Temperature",
- "temperatureTooltip": "Controls response randomness. Lower values give more stable responses, higher values are more creative but may be inaccurate. Recommended: strict 0.1~0.3, general 0.5~0.7, creative 0.8~1.2",
- "maxToken": "Max Tokens",
- "maxTokenTooltip": "Maximum output length per response (in tokens). ~1 token ≈ 4 English characters. Larger values allow longer responses but cost more",
- "maxIterations": "Max Iterations",
- "maxIterationsTooltip": "Maximum think-act cycles per conversation. Prevents infinite loops. Usually 5~10 is sufficient",
- "streaming": "Streaming Output",
- "streamingTooltip": "When enabled, AI responses stream character by character for a smoother experience"
- },
- "knowledgeBase": {
- "title": "Knowledge Base",
- "label": "Linked Knowledge Bases",
- "placeholder": "Select knowledge bases to link",
- "hint": "After selecting knowledge bases, relevant content will be automatically retrieved as context for each question, improving answer accuracy",
- "documents": "documents",
- "retrievalMode": "Retrieval Mode",
- "retrievalModeTooltip": "Hybrid: Uses both semantic vectors and keyword matching, best for most scenarios; Vector: Based on semantic similarity, good at understanding synonyms; Full-text: Based on exact keyword matching, good for technical terms",
- "hybridRecommended": "Hybrid (Recommended)",
- "vectorSearch": "Vector Semantic Search",
- "fulltextSearch": "Full-text Keyword Search",
- "topK": "Top K",
- "topKTooltip": "Number of most relevant segments returned per retrieval. Larger values provide richer context but may introduce noise. Recommended 3~5",
- "scoreThreshold": "Score Threshold",
- "scoreThresholdTooltip": "Only return results above this similarity threshold. Higher values mean more precise but may miss relevant content. Recommended 0.5~0.7"
- },
- "welcome": {
- "title": "Welcome Message",
- "tooltip": "Auto-displayed greeting when users first enter the conversation. Can introduce agent capabilities or guide users",
- "placeholder": "Welcome message when starting conversation..."
- },
- "suggestions": {
- "title": "Suggested Questions",
- "hint": "Suggested questions are shown at the start of conversation to help users get started quickly",
- "placeholder": "Enter suggested question",
- "inputPlaceholder": "Enter suggested question, press Enter to add",
- "add": "Add",
- "empty": "No suggested questions. Add some to help users get started"
- },
- "debug": {
- "inputPlaceholder": "Enter message to debug...",
- "publishFirst": "Please publish the agent first"
- },
- "chatPanel": {
- "inputPlaceholder": "Enter message...",
- "sendToStart": "Send a message to start conversation",
- "publishFirst": "Please publish the agent before chatting",
- "executionFailed": "Execution failed",
- "waitingInput": "Waiting for input...",
- "selectPrompt": "Please select:",
- "confirm": "Confirm",
- "confirmContinue": "Please confirm to continue?",
- "inputPrompt": "Please input:",
- "feedbackThanks": "Thanks for your feedback",
- "confirmDesign": "Confirm Design",
- "confirmAppDesign": "Confirm App Design",
- "appDesignTitle": "App Design Plan",
- "designPreview": "Design Preview",
- "designPanelHint": "Please confirm or edit the design in the right panel",
- "aiDeveloping": "AI is developing...",
- "analyzingAndGenerating": "Analyzing requirements and generating code",
- "cancelText": "Cancel"
- },
- "codeRequired": "Agent code is required",
- "loadFailed": "Failed to load agent",
- "notFound": "Agent not found",
- "knowledge": {
- "annotationReply": "Annotation Direct Reply",
- "annotationReplyTip": "When enabled, if user question matches an annotation above the threshold, the annotation answer is returned directly without calling LLM. Zero token cost, faster response. Falls back to normal RAG when no match.",
- "annotationThreshold": "Annotation Match Threshold",
- "annotationThresholdTip": "Directly return annotation answer when similarity exceeds this threshold. Recommend 0.9+ to avoid false matches."
- }
- },
- "conversation": {
- "history": "History",
- "new": "New Chat",
- "empty": "No conversations yet",
- "untitled": "Untitled",
- "messages": "messages",
- "loadFailed": "Failed to load conversations",
- "deleteConfirm": "Are you sure to delete this conversation?",
- "deleteSuccess": "Deleted successfully",
- "deleteFailed": "Failed to delete"
- },
- "appSettings": {
- "title": "App Settings",
- "appConfig": "App Config",
- "logoConfig": "Logo Config",
- "themeConfig": "Theme Config",
- "layoutConfig": "Layout Config",
- "appName": "App Name",
- "appNamePlaceholder": "Please enter app name",
- "defaultHomePath": "Default Home",
- "defaultHomePathPlaceholder": "Please enter default home path",
- "enablePreferences": "Enable Preferences",
- "logoEnable": "Enable Logo",
- "logoSource": "Logo Image",
- "logoSourcePlaceholder": "Please enter logo image URL or upload",
- "logoFit": "Fit Mode",
- "builtinTheme": "Built-in Theme",
- "primaryColor": "Primary Color",
- "themeMode": "Theme Mode",
- "layout": "Layout Mode",
- "layoutOptions": {
- "sidebar-nav": "Sidebar Navigation",
- "sidebar-mixed-nav": "Sidebar Mixed Navigation",
- "header-nav": "Header Navigation",
- "mixed-nav": "Mixed Navigation",
- "full-content": "Full Content"
- },
- "themeOptions": {
- "default": "Default",
- "violet": "Violet",
- "pink": "Pink",
- "rose": "Rose",
- "sky": "Sky",
- "cyan": "Cyan",
- "green": "Green",
- "orange": "Orange",
- "yellow": "Yellow",
- "zinc": "Zinc",
- "neutral": "Neutral",
- "slate": "Slate",
- "gray": "Gray",
- "deep-blue": "Deep Blue",
- "deep-green": "Deep Green"
- },
- "themeModeOptions": {
- "light": "Light",
- "dark": "Dark",
- "auto": "Follow System"
- },
- "fitOptions": {
- "contain": "Contain",
- "cover": "Cover",
- "fill": "Fill",
- "none": "None",
- "scale-down": "Scale Down"
- }
- },
- "dashboard": {
- "basicInfo": {
- "title": "Dashboard Basic Info",
- "name": "Dashboard Name",
- "namePlaceholder": "Please enter dashboard name",
- "code": "Dashboard Code",
- "codePlaceholder": "Please enter dashboard code",
- "category": "Category",
- "categoryPlaceholder": "Please select category",
- "description": "Description",
- "descriptionPlaceholder": "Please enter description",
- "sort": "Sort",
- "requireConfirmation": "Require Confirmation",
- "categoryOptions": {
- "dashboard": "Dashboard",
- "portal": "Portal",
- "databoard": "Data Board",
- "other": "Other"
- }
- },
- "design": {
- "title": "Dashboard Design",
- "designTitle": "Design Title",
- "designSuggestion": "Design Suggestion",
- "requireConfirmation": "Require Confirmation"
- },
- "create": {
- "title": "Dashboard Create",
- "basicInfo": "Basic Info",
- "pageConfig": "Page Config",
- "applicationId": "Application ID",
- "updateIfExists": "Update If Exists"
- },
- "publish": {
- "title": "Dashboard Publish",
- "dashboardId": "Dashboard ID",
- "menuName": "Menu Name",
- "menuParentId": "Parent Menu ID",
- "menuIcon": "Menu Icon",
- "menuOrder": "Menu Order"
- }
- },
- "systemSummary": {
- "title": "System Created Successfully",
- "subtitle": "Here are the modules AI created for you",
- "app": "Application",
- "formModules": "Form Modules",
- "dashboard": "Dashboard",
- "appInfo": "Application Info",
- "formModulesTitle": "Feature Modules",
- "dashboardTitle": "Data Dashboard",
- "visit": "Visit",
- "complete": "Complete",
- "noData": "No modules created"
- },
- "knowledge": {
- "title": "Knowledge Base",
- "create": "Create Knowledge Base",
- "edit": "Edit Knowledge Base",
- "delete": "Delete Knowledge Base",
- "deleteConfirm": "Are you sure to delete this knowledge base? All documents and segments will be permanently lost.",
- "deleteSuccess": "Deleted successfully",
- "createSuccess": "Created successfully",
- "saveSuccess": "Saved successfully",
- "name": "Name",
- "namePlaceholder": "Please enter knowledge base name",
- "code": "Code",
- "codePlaceholder": "Please enter unique code",
- "description": "Description",
- "descriptionPlaceholder": "Please enter description",
- "embeddingModel": "Embedding Model",
- "embeddingModelPlaceholder": "Please select embedding model",
- "dimensions": "Dimensions",
- "chunkStrategy": "Chunk Strategy",
- "chunkSize": "Chunk Size",
- "chunkOverlap": "Chunk Overlap",
- "retrievalMode": "Retrieval Mode",
- "topK": "Top K",
- "scoreThreshold": "Score Threshold",
- "rerank": "Rerank",
- "status": "Status",
- "active": "Active",
- "disabled": "Disabled",
- "globalVisible": "Visible to Sub-apps",
- "documents": "Documents",
- "segments": "Segments",
- "tokens": "Tokens",
- "noDescription": "No description",
- "mainApp": "Main App",
- "search": "Search",
- "searchPlaceholder": "Search knowledge base name",
- "document": {
- "title": "Document Management",
- "add": "Add Document",
- "batchAdd": "Batch Add",
- "delete": "Delete Document",
- "deleteConfirm": "Are you sure to delete this document?",
- "deleteSuccess": "Deleted successfully",
- "reindex": "Reindex",
- "reindexSuccess": "Reindexing started",
- "reindexAll": "Reindex All",
- "reindexAllConfirm": "Are you sure to reindex all documents? This may take a while.",
- "reindexAllSuccess": "Started reindexing all documents",
- "duplicateWarning": "Duplicate content warning",
- "enable": "Enable",
- "disable": "Disable",
- "pending": "Pending",
- "indexing": "Indexing",
- "completed": "Completed",
- "failed": "Failed",
- "searchPlaceholder": "Search document name",
- "selectFile": "Select Files",
- "addSuccess": "Documents added, indexing in background",
- "uploadPlaceholder": "Click to upload or drag files, supports PDF, Word, TXT, Markdown, etc."
- },
- "segment": {
- "title": "Segment Management",
- "add": "Add Segment",
- "edit": "Edit Segment",
- "delete": "Delete Segment",
- "deleteConfirm": "Are you sure to delete this segment?",
- "deleteSuccess": "Deleted successfully",
- "content": "Content",
- "contentPlaceholder": "Please enter segment content",
- "keywords": "Keywords",
- "enabled": "Enabled",
- "disabled": "Disabled",
- "searchPlaceholder": "Search segment content",
- "embeddingCompleted": "Embedding OK",
- "embeddingFailed": "Embedding Failed"
- },
- "annotation": {
- "title": "Annotations",
- "add": "Add Annotation",
- "edit": "Edit Annotation",
- "delete": "Delete Annotation",
- "deleteConfirm": "Are you sure to delete this annotation?",
- "deleteSuccess": "Deleted successfully",
- "createSuccess": "Created successfully",
- "saveSuccess": "Saved successfully",
- "question": "Question",
- "questionPlaceholder": "Please enter question",
- "answer": "Answer",
- "answerPlaceholder": "Please enter answer",
- "searchPlaceholder": "Search annotations",
- "hitCount": "Hit Count",
- "enabled": "Enabled",
- "disabled": "Disabled",
- "reindex": "Re-vectorize",
- "reindexSuccess": "Vectorization task submitted",
- "vectorizing": "Vectorizing"
- },
- "hitStats": {
- "title": "Hit Statistics",
- "totalHits": "Total Hits",
- "totalSegments": "Total Segments",
- "zeroHitCount": "Zero-hit Segments",
- "hitCount": "Hit Count",
- "hitPercentage": "Hit Percentage",
- "includeZero": "Include Zero-hit",
- "topN": "Display Count",
- "noData": "No hit data yet"
- },
- "retrievalLog": {
- "title": "Retrieval Logs",
- "query": "Query",
- "resultCount": "Results",
- "elapsed": "Elapsed",
- "mode": "Mode",
- "rerank": "Rerank",
- "source": "Source",
- "time": "Time",
- "searchPlaceholder": "Search query content",
- "noData": "No retrieval logs yet",
- "sourceAgent": "Agent",
- "sourceAnnotation": "Annotation Reply",
- "sourceApi": "Recall Test"
- },
- "retrieval": {
- "title": "Retrieval Test",
- "query": "Query",
- "queryPlaceholder": "Please enter query text",
- "test": "Test",
- "results": "Results",
- "noResults": "No results found",
- "score": "Score",
- "source": "Source",
- "elapsed": "Elapsed",
- "metadataFilterPlaceholder": "Metadata filter (JSON, e.g. {\"author\": \"xxx\"})",
- "invalidMetadataFilter": "Invalid metadata filter format, please enter valid JSON",
- "matchSource": {
- "vector": "Vector Match",
- "fulltext": "Fulltext Match",
- "annotation": "Annotation Match"
- },
- "showParent": "Show Parent Segment",
- "hideParent": "Hide Parent Segment"
- },
- "chunkPreview": {
- "title": "Chunk Preview",
- "totalChunks": "Total Chunks",
- "selectFile": "Please select a file to preview chunking",
- "loading": "Loading chunk preview...",
- "noFileId": "This document has no associated file",
- "error": "Chunk preview failed"
- },
- "metadata": {
- "editTitle": "Edit Metadata",
- "key": "Key",
- "value": "Value",
- "add": "Add Metadata",
- "addPair": "Add Row",
- "addFilter": "Add Metadata Filter",
- "filter": "Filter",
- "filterKeyPlaceholder": "Metadata Key",
- "filterValuePlaceholder": "Metadata Value"
- },
- "settings": {
- "title": "Knowledge Base Settings",
- "basic": "Basic Info",
- "indexing": "Indexing Config",
- "retrieval": "Retrieval Config",
- "advanced": "Advanced",
- "embeddingModelChangeTitle": "Embedding Model Changed",
- "embeddingModelChangeWarning": "Changing the embedding model will make existing vectors incompatible. All documents need to be re-indexed. Save and re-index?",
- "saveAndReindex": "Save & Re-index"
- },
- "indexingTechnique": "Indexing Mode",
- "indexingTechniques": {
- "high_quality": "High Quality",
- "economy": "Economy"
- },
- "indexingTechniqueHint": {
- "high_quality": "Vector indexing + keyword extraction, best retrieval quality",
- "economy": "Keyword-only indexing, no Embedding cost"
- },
- "retrievalWeight": "Retrieval Weight",
- "retrievalWeightHint": "Weight coefficient for multi-KB retrieval (0.1-10.0), higher value ranks results higher",
- "processRules": "Process Rules",
- "processRulesHint": "Text cleaning rules before document indexing",
- "removeExtraSpaces": "Remove extra spaces",
- "removeUrlsEmails": "Remove URLs and emails",
- "chunkStrategies": {
- "recursive": "Recursive",
- "markdown": "Markdown",
- "fixed": "Fixed Size",
- "sentence": "Sentence",
- "auto": "Auto (Recommended)",
- "qa": "Q&A"
- },
- "retrievalModes": {
- "vector": "Vector Search",
- "fulltext": "Full-text Search",
- "hybrid": "Hybrid Search"
- },
- "embeddingModelTooltip": "Model for converting text to vectors, directly affects semantic search quality. Different models support different languages and dimensions",
- "embeddingModelSettingsTooltip": "Model for converting text to vectors, directly affects semantic search quality. Documents need to be re-indexed after changing the model",
- "chunkStrategyTooltip": "Document chunking strategy. auto: automatically select best strategy; recursive: recursive splitting, versatile; markdown: split by headings; fixed: fixed length; sentence: by sentence; qa: AI auto-split into Q&A pairs",
- "chunkStrategySettingsTooltip": "Document chunking strategy. auto: auto select; recursive: recursive splitting; markdown: split by headings; fixed: fixed length; sentence: by sentence; qa: AI split into Q&A pairs",
- "indexingTechniqueTooltip": "High quality: uses Embedding vectorization, high retrieval accuracy but resource-intensive; Economy: keyword-only indexing, low resource usage but limited accuracy",
- "retrievalModeTooltip": "Hybrid: uses both semantic vectors and keyword matching, recommended for most scenarios; Vector: based on semantic similarity; Full-text: based on exact keyword matching",
- "chunkSizeTooltip": "Maximum characters per document chunk. Larger chunks preserve more context but may introduce noise, smaller chunks are more precise but may lose context. Recommended: 300~800",
- "chunkSizeSettingsTooltip": "Maximum characters per chunk, larger preserves more context but may introduce noise. Recommended: 300~800",
- "chunkOverlapTooltip": "Overlapping characters between adjacent chunks to ensure information at chunk boundaries is not lost. Recommended: 10%~20% of chunk size",
- "chunkOverlapSettingsTooltip": "Overlapping characters between adjacent chunks to preserve boundary information. Recommended: 10%~20% of chunk size",
- "globalVisibleTooltip": "When enabled, all applications can use this knowledge base; otherwise only the current application",
- "dimensionsTooltip": "Embedding vector dimensions, must match the selected Embedding model. Higher dimensions provide richer semantic representation but increase storage and computation costs",
- "topKTooltip": "Number of most relevant segments returned per retrieval. Higher values provide richer context but may introduce noise. Recommended: 3~5",
- "scoreThresholdTooltip": "Only return results with similarity above this threshold. Higher values mean more precise matches but may miss relevant content. Recommended: 0.5~0.7",
- "rerankTooltip": "When enabled, performs secondary ranking on initial retrieval results, significantly improving accuracy but adding latency and cost",
- "retrievalWeightTooltip": "Weight coefficient for this knowledge base in multi-KB retrieval. Higher values rank this KB's results higher",
- "processRulesTooltip": "Text cleaning rules before document indexing. Removes extra spaces, URLs, emails and other irrelevant content to improve retrieval quality"
- },
- "knowledgeNode": {
- "selectKb": "Select knowledge base",
- "queryText": "Query Text",
- "queryPlaceholder": "Enter query text or use variable reference",
- "queryHint": "Leave empty to use user input, supports {'{{variable}}'} references",
- "retrievalMode": "Retrieval Mode",
- "useKbDefault": "Use knowledge base default",
- "vector": "Vector Search",
- "fulltext": "Full-text Search",
- "hybrid": "Hybrid Search",
- "outputVar": "Result Variable",
- "contextVar": "Context Variable",
- "rerankEnabled": "Enable Rerank",
- "rerankHint": "Use Rerank model to reorder results after retrieval for better relevance",
- "rerankModel": "Rerank Model",
- "noRerankModel": "No Rerank model configured, please add one in Model Management",
- "outputVariables": "Output Variables",
- "resultsArrayDesc": "Array of retrieval results with segment_id, content, score, etc.",
- "contextTextDesc": "Concatenated context text, ready for LLM node prompts",
- "totalCountDesc": "Total count of retrieval results"
- },
- "workflow": {
- "title": "Workflow",
- "create": "Create Workflow",
- "createSuccess": "Created successfully",
- "saveSuccess": "Saved successfully",
- "published": "Published",
- "unpublished": "Unpublished",
- "editing": "Editing",
- "publishSuccess": "Published successfully",
- "publishFailed": "Failed to publish",
- "copySuccess": "Copied successfully",
- "deleteSuccess": "Deleted successfully",
- "deleteConfirm": "Are you sure to delete workflow \"{name}\"?",
- "deleteTitle": "Delete Confirmation",
- "operationFailed": "Operation failed",
- "searchPlaceholder": "Search workflow name",
- "search": "Search",
- "noDescription": "No description",
- "empty": "No workflows",
- "mainApp": "Main App",
- "edit": "Edit",
- "editInfo": "Edit Info",
- "design": "Design",
- "publish": "Publish",
- "run": "Run",
- "copy": "Copy",
- "delete": "Delete",
- "disable": "Disable",
- "form": {
- "name": "Name",
- "namePlaceholder": "Please enter workflow name",
- "nameRequired": "Please enter name",
- "code": "Code",
- "codePlaceholder": "Please enter unique code",
- "codeRequired": "Please enter code",
- "codeFormat": "Code must start with a letter and contain only letters, numbers and underscores",
- "type": "Type",
- "description": "Description",
- "descriptionPlaceholder": "Please enter description",
- "globalVisible": "Visible to Sub-apps"
- },
- "status": {
- "draft": "Draft",
- "published": "Published",
- "disabled": "Disabled"
- },
- "type": {
- "general": "General",
- "application": "Application",
- "form": "Form",
- "report": "Report",
- "dataProcess": "Data Process",
- "automation": "Automation"
- },
- "deleteConfirmSimple": "Are you sure to delete this workflow? This action cannot be undone.",
- "copyConfirm": "Are you sure to copy workflow \"{name}\"?",
- "copyTitle": "Copy Confirmation",
- "deleteButton": "Delete",
- "cancelButton": "Cancel",
- "copyButton": "Copy",
- "editWorkflow": "Edit Workflow",
- "importExport": {
- "export": "Export",
- "import": "Import Config",
- "exportSuccess": "Workflow config exported",
- "exportFailed": "Export failed",
- "importTitle": "Import Workflow Config",
- "dragOrClick": "Drag a JSON file here or click to upload",
- "onlyJson": "Only .json files are supported",
- "fileParseError": "Failed to parse file. Please check the format",
- "checking": "Checking...",
- "codeConflictTip": "Workflow code already exists. Please change the code before importing",
- "codeAvailable": "Workflow code is available",
- "newCodePlaceholder": "Enter a new workflow code",
- "importSuccess": "Workflow config imported successfully",
- "importFailed": "Import failed",
- "confirmImport": "Confirm Import",
- "reselect": "Reselect",
- "workflowInfo": "Workflow Info",
- "appTip": "Imported workflow will belong to the current application as draft",
- "subflowTip": "Subflow nodes are matched by code; re-select in editor if subflows are missing in target environment"
- },
- "nodeLabel": "Node Name",
- "nodes": {
- "knowledge_retrieval": "Knowledge Retrieval",
- "common": {
- "configured": "Configured",
- "notConfigured": "Not configured",
- "yes": "Yes",
- "no": "No",
- "output": "Output:",
- "outputVariable": "Output variable:",
- "inputVariablesCount": "{count} input variable(s) configured",
- "noInputVariables": "No input variables",
- "outputVariablesCount": "{count} output variable(s) configured",
- "noOutputVariables": "No output variables",
- "addNextNode": "Add next node",
- "question": "Question:",
- "configureQuestion": "Please configure question",
- "conditions": "Conditions: {count}",
- "selectModel": "Select model"
- },
- "start": {
- "label": "Start",
- "desc": "Starting node of the flow"
- },
- "end": {
- "label": "End",
- "desc": "End flow and output results"
- },
- "llm": {
- "label": "LLM",
- "desc": "Call large language model for processing",
- "systemPrompt": "System prompt:",
- "userPrompt": "User prompt:"
- },
- "code": {
- "label": "Code Execution",
- "desc": "Execute Python/JavaScript code",
- "language": "Language:",
- "input": "Input:"
- },
- "condition": {
- "label": "Condition Branch",
- "desc": "Execute different branches based on conditions",
- "unnamed": "Unnamed"
- },
- "http": {
- "label": "HTTP Request",
- "desc": "Call external API"
- },
- "template": {
- "label": "Template Render",
- "desc": "Combine text using Jinja2 syntax"
- },
- "variable": {
- "label": "Variable Assignment",
- "desc": "Set or transform variable values"
- },
- "question": {
- "label": "Question Node",
- "desc": "Ask user a question and wait for answer",
- "inputType": "Input type:"
- },
- "choice": {
- "label": "Choice Node",
- "desc": "Let user choose from options",
- "options": "Options:",
- "noOptions": "No options configured",
- "multiple": "Multiple",
- "single": "Single"
- },
- "message": {
- "label": "Message Node",
- "desc": "Send message to user",
- "content": "Message content:",
- "configureContent": "Please configure message content",
- "messageType": "Message type:"
- },
- "confirm": {
- "label": "Confirm Node",
- "desc": "Wait for user to confirm or cancel",
- "confirmText": "Confirm",
- "cancelText": "Cancel",
- "configureContent": "Please configure confirm content"
- },
- "intent": {
- "label": "Intent Recognition",
- "desc": "AI intelligent intent recognition",
- "noMatch": "No match",
- "confidenceThreshold": "Confidence threshold:"
- },
- "parallel": {
- "label": "Parallel Branch",
- "desc": "Execute multiple branches simultaneously",
- "branch": "Branch {index}"
- },
- "merge": {
- "label": "Merge",
- "desc": "Wait for all branches to complete and merge",
- "mergeMode": "Merge mode",
- "array": "Array",
- "concat": "Concat",
- "first": "First",
- "object": "Object"
- },
- "loop": {
- "label": "Loop",
- "forEach": "For Each",
- "whileLoop": "While Loop",
- "nodeCount": "{count} node(s)",
- "iteration": "Iteration {current}/{total}",
- "iterationNoTotal": "Iteration {current}",
- "maxIterations": "Max {max} iterations",
- "loopCondition": "Loop condition",
- "availableVariables": "Available variables:",
- "dragNodeHere": "Drag nodes here as loop body"
- },
- "subflow": {
- "label": "Subflow",
- "desc": "Call sub-workflow",
- "subflowLabel": "Subflow:",
- "notSelected": "No subflow selected",
- "varPassMode": "Variable passing:",
- "all": "All",
- "selected": "Selected",
- "none": "None",
- "progress": "Progress:",
- "current": "Current: {label}",
- "subflowNodes": "Subflow nodes",
- "loading": "Loading...",
- "emptySubflow": "Subflow is empty",
- "selectSubflow": "Please select a subflow"
- },
- "db_query": {
- "label": "Query",
- "desc": "Query data from database",
- "noTable": "No table selected",
- "returnMode": "Return:",
- "limit": "Limit: {count} rows"
- },
- "db_insert": {
- "label": "Insert",
- "desc": "Insert data into database",
- "noTable": "No table selected",
- "fieldMapping": "Field mapping:",
- "upsert": "Upsert:"
- },
- "db_update": {
- "label": "Update",
- "desc": "Update database records",
- "noTable": "No table selected",
- "updateFields": "Update fields:"
- },
- "db_delete": {
- "label": "Delete",
- "desc": "Delete data from database",
- "noTable": "No table selected",
- "mustSetCondition": "Conditions required"
- },
- "db_sql": {
- "label": "SQL Execute",
- "desc": "Execute custom SQL statements",
- "query": "Query",
- "execute": "Execute",
- "notConfigured": "Not configured"
- },
- "app_create": {
- "label": "Create App",
- "desc": "Create a new app/sub-app",
- "appName": "App name:",
- "appCode": "App code:",
- "updateIfExists": "Update if exists:"
- },
- "app_design": {
- "label": "App Design",
- "desc": "Display app design, support confirm or edit",
- "designTitle": "Design title:",
- "needConfirm": "Need confirm:"
- },
- "app_settings": {
- "label": "App Settings",
- "desc": "Configure app settings including theme and layout",
- "appName": "App name:",
- "layoutMode": "Layout mode:",
- "builtinTheme": "Built-in theme:",
- "needConfirm": "Need confirm:"
- },
- "app_update": {
- "label": "App Update",
- "desc": "Execute app configuration update",
- "settingsSource": "Settings source:",
- "app": "App:",
- "target": "Target:",
- "mainApp": "Main app"
- },
- "form_basic_info": {
- "label": "Form Basic Info",
- "desc": "Process form basic information",
- "formName": "Form name:",
- "formCode": "Form code:",
- "autoGenerate": "Auto generate",
- "formType": "Form type:",
- "workflow": "Workflow",
- "normal": "Normal"
- },
- "form_create": {
- "label": "Form Create",
- "desc": "Save form config to database",
- "updateIfExists": "Update if exists:"
- },
- "form_data": {
- "label": "Form Data",
- "desc": "Form data operations",
- "create": "Create Form Data",
- "createDesc": "Create new form data record",
- "read": "Read Form Data",
- "readDesc": "Read specified form data record",
- "update": "Update Form Data",
- "updateDesc": "Update existing form data record",
- "delete": "Delete Form Data",
- "deleteDesc": "Delete specified form data record",
- "list": "Query Form Data",
- "listDesc": "Query form data list",
- "schemaToLLM": "Form to LLM Schema",
- "schemaToLLMDesc": "Convert form config to LLM structured output",
- "formCode": "Form code:",
- "recordId": "Record ID:",
- "updateData": "Update data:",
- "createData": "Create data:",
- "filterCondition": "Filter condition:"
- },
- "form_db_create": {
- "label": "DB Table Create",
- "desc": "Create database and tables",
- "operation": "Operation:",
- "createTable": "Create table",
- "tableExists": "Table exists:",
- "dropRecreate": "Drop & recreate",
- "error": "Error",
- "skip": "Skip",
- "autoCreateSchema": "Auto create:",
- "schemaIfNotExists": "Schema:"
- },
- "form_db_design": {
- "label": "DB Table Design",
- "desc": "Validate and standardize DB table structure",
- "database": "Database:",
- "mainTable": "Main table:",
- "subTable": "Sub table:",
- "noSubTable": "None",
- "systemFields": "System fields:",
- "autoAdd": "Auto add",
- "noAdd": "No add"
- },
- "form_list_design": {
- "label": "List UI Design",
- "desc": "Generate list config from form UI design",
- "containerType": "Container type:",
- "drawer": "Drawer",
- "dialog": "Dialog",
- "page": "Page",
- "pageSize": "Page size:",
- "autoQueryFields": "Auto query fields:",
- "autoColumns": "Auto columns:"
- },
- "form_publish": {
- "label": "Form Publish",
- "desc": "Publish form to menu system",
- "menuName": "Menu name:",
- "notSet": "Not set",
- "menuIcon": "Menu icon:"
- },
- "form_ui_design": {
- "label": "Form UI Design",
- "desc": "Generate form UI config from DB structure",
- "layoutMode": "Layout mode:",
- "auto": "Auto",
- "singleCol": "Single column",
- "doubleCol": "Double column",
- "tripleCol": "Triple column",
- "formName": "Form name:",
- "enableGrouping": "Enable grouping:",
- "hideSystemFields": "Hide system fields:"
- },
- "dashboard_basic_info": {
- "label": "Dashboard Basic Info",
- "desc": "Configure dashboard basic info",
- "name": "Name:",
- "code": "Code:",
- "category": "Category:"
- },
- "dashboard_create": {
- "label": "Dashboard Create",
- "desc": "Save dashboard config to database",
- "basicInfo": "Basic info:",
- "pageConfig": "Page config:",
- "updateIfExists": "Update if exists:"
- },
- "dashboard_design": {
- "label": "Dashboard Design",
- "desc": "Design dashboard layout and components",
- "title": "Title:",
- "needConfirm": "Confirm:",
- "need": "Required",
- "notNeed": "Not required"
- },
- "dashboard_publish": {
- "label": "Dashboard Publish",
- "desc": "Publish dashboard to menu system",
- "dashboard": "Dashboard:",
- "menuName": "Menu name:",
- "icon": "Icon:"
- },
- "knowledge_retrieval_node": {
- "label": "Knowledge Retrieval",
- "desc": "Retrieve relevant documents from knowledge base",
- "kbCount": "{count} knowledge base(s)",
- "topKThreshold": "Top {topK} · Threshold {threshold}",
- "vector": "Vector search",
- "fulltext": "Full-text search",
- "hybrid": "Hybrid search"
- },
- "system_summary": {
- "label": "System Summary",
- "desc": "Collect and display AI-created system info",
- "title": "Title:",
- "showStatistics": "Show statistics:",
- "appInfo": "App info:",
- "formResult": "Form result:",
- "dashboard": "Dashboard:"
- },
- "snowflake_cortex_llm": {
- "label": "Snowflake Cortex LLM",
- "desc": "Snowflake Cortex AI functions",
- "function": "Function:",
- "complete": "LLM Complete",
- "summarize": "Summarize",
- "translate": "Translate",
- "sentiment": "Sentiment",
- "extractAnswer": "Extract Answer",
- "selectFunction": "Select",
- "model": "Model:",
- "prompt": "Prompt:",
- "translateLabel": "Translate:",
- "inputText": "Input text:"
- },
- "snowflake_cortex_analyst": {
- "label": "Snowflake Cortex Analyst",
- "desc": "Natural language data query",
- "nlQuery": "Natural language query",
- "questionLabel": "Question:",
- "semanticModel": "Semantic model:"
- },
- "text_to_sql": {
- "label": "Text to SQL",
- "desc": "Natural language to SQL query",
- "notConfigured": "Query not configured",
- "chartRecommend": "Chart recommendation"
- }
- },
- "editor": {
- "categories": {
- "basic": "Basic Nodes",
- "formDesign": "Form Design",
- "formData": "Form Data",
- "dialog": "Dialog Interaction",
- "database": "Database",
- "flowControl": "Flow Control",
- "appManage": "App Management",
- "dashboard": "Dashboard",
- "knowledge": "Knowledge Base"
- },
- "nodeLabels": {
- "start": "Start",
- "end": "End",
- "llm": "LLM Model",
- "http": "HTTP Request",
- "code": "Code Execution",
- "condition": "Condition Branch",
- "template": "Template Render",
- "parallel": "Parallel Branch",
- "merge": "Merge",
- "loop": "Loop",
- "intent": "Intent Recognition",
- "subflow": "Subflow",
- "db_insert": "DB Insert",
- "db_update": "DB Update",
- "db_query": "DB Query",
- "db_delete": "DB Delete",
- "db_sql": "SQL Execute",
- "text_to_sql": "Text-to-SQL",
- "message": "Send Message",
- "question": "Question Input",
- "choice": "Choice Select",
- "confirm": "Confirm Action",
- "form_basic_info": "Form Basic Info",
- "form_database_design": "Table Structure Design",
- "form_database_create": "Database Table Create",
- "form_ui_design": "Form UI Design",
- "form_list_design": "List UI Design",
- "form_create": "Form Create",
- "form_publish": "Form Publish",
- "form_data_create": "Create Data",
- "form_data_read": "Read Data",
- "form_data_update": "Update Data",
- "form_data_delete": "Delete Data",
- "form_data_list": "Query List",
- "form_schema_to_llm": "Form to LLM Schema",
- "app_create": "Create App",
- "app_design": "App Design",
- "app_settings": "App Settings",
- "app_update": "App Update",
- "dashboard_basic_info": "Dashboard Basic Info",
- "dashboard_design": "Dashboard Design",
- "dashboard_create": "Dashboard Create",
- "dashboard_publish": "Dashboard Publish",
- "system_summary": "System Summary",
- "knowledge_retrieval": "Knowledge Retrieval",
- "snowflake_cortex_llm": "Cortex LLM",
- "snowflake_cortex_analyst": "Cortex Analyst"
- },
- "rename": "Rename",
- "renamePrompt": "Please enter new node name",
- "confirmBtn": "OK",
- "cancelBtn": "Cancel",
- "addedToLoop": "Added to loop body",
- "autoInserted": "Node auto-inserted",
- "saveFailed": "Save failed",
- "publishFailed": "Publish failed",
- "publishPrompt": "Enter version description (optional)",
- "publishTitle": "Publish Workflow",
- "publishBtn": "Publish",
- "publishPlaceholder": "e.g.: Fixed XX issue, added XX feature",
- "publishVersionSuccess": "Published successfully! Version: v{version}",
- "workflowHasIssues": "Workflow has issues:",
- "workflowIncomplete": "Workflow configuration is incomplete, please fix issues first",
- "validation": {
- "missingStart": "Missing start node",
- "multipleStart": "Only one start node allowed",
- "missingEnd": "Missing end node",
- "startNoConnection": "Start node is not connected to other nodes",
- "endNoConnection": "End node is not connected",
- "llmNoModel": "LLM node has no model configured",
- "httpNoUrl": "HTTP node has no URL configured",
- "parallelMinBranches": "Parallel node requires at least 2 branches",
- "mergeMinInputs": "Merge node requires at least 2 inputs"
- },
- "toolbar": {
- "save": "Save",
- "publish": "Publish",
- "run": "Run",
- "chat": "Chat Test",
- "versions": "Version History",
- "back": "Back",
- "undo": "Undo",
- "redo": "Redo",
- "zoomIn": "Zoom In",
- "zoomOut": "Zoom Out",
- "fitView": "Fit View",
- "minimap": "Minimap",
- "addNode": "Add Node",
- "searchNode": "Search nodes...",
- "saved": "Saved",
- "saving": "Saving...",
- "unsaved": "Unsaved"
- },
- "contextMenu": {
- "rename": "Rename",
- "duplicate": "Duplicate",
- "delete": "Delete"
- },
- "panel": {
- "propertyConfig": "Properties",
- "noConfig": "No configuration available"
- },
- "dbConnection": {
- "connectionLabel": "Database Connection",
- "databaseHint": "Leave empty to use the connection default; variables like {'{{target_db}}'} are supported",
- "databaseInputPlaceholder": "Type manually or insert a variable",
- "databaseLabel": "Target Database",
- "databaseOracleHint": "For Oracle, the database/service is defined in the connection settings",
- "databaseOraclePlaceholder": "Usually leave empty",
- "databasePlaceholder": "Select target database (optional)",
- "defaultWriteWarning": "Write operation uses the platform default database. Please verify the environment."
- },
- "confirmMode": {
- "always": "Always Confirm",
- "never": "Never Confirm",
- "variable": "Variable Control",
- "placeholder": "Select or enter variable, e.g. {'{{need_confirm}}'}",
- "hint": "Confirm when value is true/1/yes, skip when false/0/no"
- },
- "smartInput": {
- "insertVariable": "Insert Variable"
- },
- "schemaConfigDialog": {
- "title": "Structured Output Config",
- "visual": "Visual",
- "addField": "Add Field",
- "emptyHint": "Click \"Add Field\" to define data structure, or switch to JSON mode to paste directly",
- "fieldName": "Field Name",
- "description": "Description",
- "required": "Required",
- "advancedConfig": "Advanced",
- "advancedConfigEnumDefault": "Advanced (enum, default)",
- "advancedConfigMinMaxDefault": "Advanced (min, max, default)",
- "enumValues": "Enum Values (enum)",
- "enumValuesShort": "Enum:",
- "addOption": "Add Option",
- "add": "Add",
- "enumHint": "Optional, restrict field to one of the specified values",
- "optionValue": "Option value",
- "defaultValue": "Default:",
- "defaultShort": "Default:",
- "optional": "Optional",
- "minValue": "Min:",
- "maxValue": "Max:",
- "minShort": "Min:",
- "maxShort": "Max:",
- "noLimit": "No limit",
- "childProperties": "Child Properties",
- "noChildProperties": "No child properties",
- "nestedProperties": "Nested Properties",
- "arrayItemType": "Array Item Type:",
- "objectPropertyDef": "Object Property Definition",
- "addProperty": "Add Property",
- "jsonPreview": "JSON Schema Preview",
- "cancel": "Cancel",
- "confirm": "OK",
- "jsonFormatError": "Invalid JSON format, must contain properties field",
- "jsonParseError": "JSON parse error: {message}",
- "typeString": "String (string)",
- "typeNumber": "Number (number)",
- "typeInteger": "Integer (integer)",
- "typeBoolean": "Boolean (boolean)",
- "typeArray": "Array (array)",
- "typeObject": "Object (object)"
- },
- "tableSelectModal": {
- "title": "Table Selection",
- "step1": "Select Tables",
- "step2": "Design Relations",
- "prevStep": "Previous",
- "nextStep": "Next",
- "confirmSelect": "Confirm Selection",
- "close": "Close",
- "database": "Database",
- "refresh": "Refresh",
- "refreshSuccess": "Refreshed successfully",
- "loading": "Loading...",
- "fieldOf": "{table} Fields",
- "fieldPreview": "Field Preview",
- "clickToPreview": "Click a table to preview fields",
- "noFields": "No field information",
- "selectedTables": "Selected Tables",
- "clearAll": "Clear All",
- "clickCheckboxHint": "Click the checkbox on the left to add tables",
- "fieldsCount": "{count} fields",
- "sameDbWarning": "Can only select tables from the same database/schema",
- "selectAtLeastTwo": "Please select at least two tables to add a relation",
- "selectAtLeastOne": "Please select at least one table",
- "completeRelations": "Please complete all relation configurations",
- "tableRelations": "Table Relations",
- "addRelation": "Add Relation",
- "selectTwoTablesFirst": "Please select at least two tables first",
- "noRelations": "No table relations",
- "addRelationHint": "Click \"Add Relation\" to create associations between tables",
- "relationIndex": "Relation {index}",
- "delete": "Delete",
- "sourceTable": "Source Table",
- "selectTable": "Select Table",
- "selectField": "Select Field",
- "relationType": "Relation Type",
- "oneToOne": "One-to-One (1:1)",
- "oneToMany": "One-to-Many (1:N)",
- "manyToOne": "Many-to-One (N:1)",
- "manyToMany": "Many-to-Many (M:N)",
- "targetTable": "Target Table",
- "hint": "Tip: Table relations help AI understand associations between tables for more accurate JOIN queries"
- },
- "tableSelectDialog": {
- "title": "Select Table",
- "loadConfigFailed": "Failed to load database config",
- "selectTableFirst": "Please select a table first",
- "refreshSuccess": "Refreshed successfully",
- "database": "Database",
- "refresh": "Refresh",
- "loading": "Loading...",
- "current": "Current",
- "fieldList": "{table} Field List",
- "fieldPreview": "Field Preview",
- "clickToPreview": "Click a table to preview fields, double-click to select",
- "noFields": "No field information",
- "cancel": "Cancel",
- "confirmSelect": "Confirm Selection"
- },
- "runPanel": {
- "runPreview": "Run Preview",
- "inputVariables": "Input Variables",
- "noVariablesHint": "No input variables, please configure in the \"Start\" node",
- "inputPlaceholder": "Please enter {type}",
- "startRun": "Start Run",
- "stopRun": "Stop Run",
- "clearStatus": "Clear Status",
- "execStatus": "Execution Status",
- "running": "Running",
- "nodes": "Nodes",
- "llmOutput": "LLM Output",
- "parallelBranches": "Parallel Branches ({count})",
- "branchResults": "Branch Results:",
- "parallelExec": "Parallel Execution",
- "input": "Input",
- "output": "Output",
- "runResult": "Run Result",
- "success": "Success",
- "failed": "Failed",
- "execFailed": "Execution failed",
- "workflowExecFailed": "Workflow execution failed",
- "userStopped": "User stopped"
- },
- "chatPanel": {
- "runPreview": "Run Preview",
- "configVariables": "Configure Input Variables",
- "assistantName": "Workflow",
- "placeholder": "Enter message to run workflow...",
- "emptyText": "Enter a message to start running workflow",
- "execFailed": "Execution failed",
- "workflowExecFailed": "Workflow execution failed",
- "workflowComplete": "Workflow execution completed",
- "resumeFailed": "Resume failed",
- "resumeWorkflowFailed": "Resume workflow execution failed",
- "waitingInput": "Waiting for input...",
- "pleaseSelect": "Please select:",
- "confirm": "Confirm",
- "pleaseConfirm": "Please confirm to continue?",
- "pleaseInput": "Please input:",
- "cancel": "Cancel",
- "userStopped": "User stopped",
- "confirmDesign": "Confirm Design",
- "confirmAppDesign": "Confirm App Design",
- "confirmAppSettings": "Confirm App Settings",
- "confirmDashboardBasicInfo": "Confirm Dashboard Basic Info",
- "confirmDashboardDesign": "Confirm Dashboard Design",
- "publishToMenu": "Publish to menu: {name}",
- "complete": "Complete",
- "startRun": "Start Run",
- "inputVariable": "Please enter {variable}",
- "appDesignTitle": "App Design Plan",
- "appSettingsTitle": "App Settings",
- "dashboardBasicInfoTitle": "Dashboard Basic Info",
- "dashboardDesignTitle": "Dashboard Design",
- "dashboardPublishTitle": "Dashboard Publish Confirmation",
- "systemSummaryTitle": "System Creation Complete",
- "designPreviewTitle": "Design Preview",
- "designPreviewHint": "Please confirm or edit the design in the right panel"
- },
- "nodeResultCard": {
- "failed": "Failed",
- "pending": "Pending",
- "running": "Running",
- "success": "Completed",
- "unknown": "Unknown",
- "noOutput": "(No output)",
- "execFailed": "Execution failed",
- "elapsed": "Elapsed:",
- "iteration": "Iteration:",
- "fullscreen": "Fullscreen",
- "input": "Input",
- "output": "Output",
- "errorInfo": "Error Info"
- },
- "variableSelector": {
- "searchPlaceholder": "Search variables...",
- "noVariables": "No available variables",
- "system": "System",
- "field": "Field",
- "structured": "Structured",
- "userChoice": "User Choice",
- "choiceText": "Choice Text",
- "execResult": "Execution Result (result)",
- "confirmed": "Confirmed (true/false)",
- "deleteResult": "Delete Result",
- "affectedRows": "Affected Rows",
- "insertResult": "Insert Result",
- "insertId": "Insert ID",
- "queryResult": "Query Result",
- "resultCount": "Result Count",
- "sqlResult": "SQL Result",
- "updateResult": "Update Result",
- "responseBody": "Response Body",
- "statusCode": "Status Code",
- "jsonString": "JSON String",
- "structuredData": "Structured Data Object",
- "tokenUsage": "Token Usage",
- "llmResponse": "LLM Response Text",
- "currentLoopItem": "Current Loop Item",
- "currentIndex": "Current Index",
- "loopResults": "Loop Results Array",
- "mergeResult": "Merge Result",
- "branchCount": "Branch Count",
- "userAnswer": "User Answer",
- "isValid": "Is Valid",
- "queryResultData": "Query Result Data",
- "generatedSql": "Generated SQL",
- "rawResponse": "Raw Response",
- "cortexLlmResponse": "Cortex LLM Response",
- "userInput": "User Input",
- "appId": "Sub-App ID",
- "appCode": "Sub-App Code",
- "formCode": "Form Code",
- "renderResult": "Render Result",
- "generatedSqlStatement": "Generated SQL Statement",
- "sqlThought": "SQL Generation Thought",
- "formBasicInfoObj": "Form Basic Info Object",
- "formName": "Form Name",
- "formType": "Form Type",
- "formDescription": "Form Description",
- "formSort": "Sort Value",
- "dbDesignObj": "Database Design Object",
- "tableName": "Table Name",
- "fieldCount": "Field Count",
- "creationResult": "Creation Result Object",
- "allTablesReady": "All Tables Ready",
- "createdCount": "Created Table Count",
- "errorCount": "Error Count",
- "schemaName": "Schema Name",
- "formUiDesign": "Form UI Design Config",
- "groupCount": "Group Count",
- "listConfig": "List Config",
- "queryFieldCount": "Query Field Count",
- "columnCount": "Column Count",
- "formId": "Form ID",
- "formMeta": "Form Metadata",
- "menuId": "Menu ID",
- "routePath": "Route Path",
- "publishResult": "Publish Result",
- "appName": "App Name",
- "createSuccess": "Created Successfully",
- "designContent": "Design Content",
- "designTitle": "Design Title",
- "isConfirmed": "Is Confirmed",
- "appSettings": "App Settings Config",
- "updateSuccess": "Update Successful",
- "configId": "Config Record ID",
- "updateMessage": "Update Result Message",
- "dashboardBasicInfo": "Dashboard Basic Info",
- "dashboardName": "Dashboard Name",
- "dashboardCode": "Dashboard Code",
- "pageConfig": "Page Design Config",
- "dashboardId": "Dashboard ID",
- "pageMeta": "Page Metadata",
- "summaryData": "Summary Data",
- "totalForms": "Total Forms",
- "hasApp": "Has App",
- "hasDashboard": "Has Dashboard",
- "subflowFullResult": "Subflow Full Result",
- "execSuccess": "Execution Successful",
- "subflowOutputVars": "Subflow Output Variables",
- "allSubflowVars": "(All Subflow Output Variables)",
- "fromSubflow": "From Subflow",
- "output": "Output",
- "knowledgeResults": "Retrieval Results Array",
- "knowledgeContext": "Concatenated Context Text",
- "knowledgeResultsTotal": "Total Results Count"
- },
- "versionHistory": {
- "title": "Version History",
- "loadFailed": "Failed to load version history",
- "rollbackConfirm": "Are you sure to rollback to v{version}? The current draft will be overwritten.",
- "rollbackTitle": "Rollback Confirmation",
- "rollbackBtn": "Confirm Rollback",
- "rollbackSuccess": "Rolled back to v{version}",
- "rollbackFailed": "Rollback failed",
- "rollback": "Rollback",
- "noDescription": "No description",
- "runCount": "Runs: {count}",
- "successCount": "Success: {count}",
- "empty": "No version history"
- }
- },
- "panels": {
- "common": {
- "nodeName": "Node Name",
- "add": "Add",
- "delete": "Delete",
- "noInputVars": "No input variables",
- "noOutputVarsClickAdd": "No output variables, click above to add",
- "noVars": "No variables",
- "noCustomVarsClickAdd": "No custom variables, click above to add",
- "inputVars": "Input Variables",
- "outputVars": "Output Variables",
- "outputVarName": "Output Variable Name",
- "variableName": "Variable name",
- "defaultValue": "Default value",
- "customVars": "Custom Variables",
- "sysVar": "System variable (cannot delete)",
- "configured": "Configured",
- "notConfigured": "Not configured",
- "yes": "Yes",
- "no": "No",
- "output": "Output",
- "selectModel": "Select model",
- "model": "Model",
- "usage": "Usage",
- "usageTips": "Usage Tips",
- "confirmMode": "Confirm Mode",
- "varRef": "Supports variable reference, e.g.: ",
- "selectTable": "Select Table",
- "targetTable": "Target Table",
- "tablePlaceholder": "Click the button on the right to select a table",
- "tableFields": "Table Fields",
- "availableFields": "Available Fields",
- "fieldMapping": "Field Mapping",
- "addField": "Add Field",
- "addCondition": "Add Condition",
- "queryConditions": "Query Conditions",
- "field": "Field",
- "value": "Value",
- "variable": "Variable",
- "noConditionQueryAll": "No conditions will query all data",
- "noCondition": "No conditions",
- "returnFields": "Return Fields",
- "returnFieldsHint": "* for all fields, separate multiple fields with commas",
- "orderBy": "Order By",
- "limitRows": "Limit Rows",
- "resultSavedTo": "Query results (array) will be saved to this variable",
- "insertResultSavedTo": "Insert result will be saved to this variable",
- "updateResultSavedTo": "Update result will be saved to this variable",
- "deleteResultSavedTo": "Delete result will be saved to this variable",
- "sqlResultSavedTo": "SQL execution result will be saved to this variable",
- "clickFieldToAdd": "Click field to quickly add to mapping",
- "clickAddField": "Click \"Add Field\" or click table fields above to add",
- "selectField": "Select field",
- "dbField": "Database field",
- "varValue": "Variable value",
- "upsert": "Update if exists (UPSERT)",
- "upsertHint": "If checked, update existing records, otherwise insert",
- "judgeCondition": "Match Condition",
- "addJudgeConditionHint": "Please add conditions to check if record exists",
- "outputVarTitle": "Output Variables",
- "advancedSettings": "Advanced Settings",
- "tableFieldsRef": "Table Fields Reference"
- },
- "template": {
- "label": "Template",
- "placeholder": "Template",
- "templateContent": "Template Content"
- },
- "end": {
- "outputContent": "Output Content",
- "outputPlaceholder": "Enter content to return to user, use {'{{variable}}'} to reference context variables",
- "outputHint": "This content will be displayed in the chat, click / to select variables",
- "noOutputVars": "No output variables, click above to add",
- "type": "Type"
- },
- "message": {
- "label": "Message Node",
- "placeholder": "Message Node",
- "content": "Message Content",
- "contentPlaceholder": "Enter message content to send to user, supports variables like {'{{variable}}'}",
- "contentHint": "This message will be sent to the user, workflow will not pause",
- "messageType": "Message Type",
- "plainText": "Plain Text"
- },
- "confirm": {
- "label": "Confirm Node",
- "placeholder": "Confirm Node",
- "dialogTitle": "Dialog Title",
- "titlePlaceholder": "Confirm",
- "content": "Confirm Content",
- "contentPlaceholder": "Enter content for user confirmation, supports variables like {'{{variable}}'}",
- "contentHint": "Workflow will pause, waiting for user to click confirm or cancel",
- "confirmBtnText": "Confirm Button Text",
- "cancelBtnText": "Cancel Button Text",
- "confirmPlaceholder": "Confirm",
- "cancelPlaceholder": "Cancel",
- "outputHint": "User confirm returns true, cancel returns false",
- "smartIntent": "Smart Intent Recognition",
- "smartIntentHint": "When user inputs text (instead of clicking buttons), use LLM to determine user intent.\nBy default, keyword matching is used (e.g. \"ok\", \"yes\" for confirm, \"no\", \"cancel\" for cancel).",
- "intentModel": "Intent Recognition Model",
- "intentModelHint": "When keyword matching fails, use this model for intent recognition"
- },
- "merge": {
- "label": "Merge",
- "placeholder": "Merge",
- "mergeMode": "Merge Mode",
- "objectMode": "Object (by branch ID)",
- "arrayMode": "Array",
- "firstMode": "First Only",
- "concatMode": "String Concat",
- "objectDesc": "Merge branch results into object, keyed by branch ID",
- "arrayDesc": "Merge branch results into array",
- "firstDesc": "Take only the first completed branch result",
- "concatDesc": "Concatenate branch results into string",
- "separator": "Separator",
- "usageTip1": "Merge node waits for all parallel branches to complete",
- "usageTip2": "Merged results are stored in the output variable",
- "usageTip3": "Reference merged results via {template}"
- },
- "parallel": {
- "label": "Parallel Branch",
- "placeholder": "Parallel Branch",
- "title": "Parallel Branches",
- "addBranch": "Add Branch",
- "branchHint": "All branches execute simultaneously, converging at the merge node",
- "branchName": "Branch name",
- "branch": "Branch {index}",
- "usageTip1": "Connect each branch output to different nodes",
- "usageTip2": "All branches must connect to the same merge node",
- "usageTip3": "Nodes within branches execute in parallel"
- },
- "start": {
- "userInputDesc": "User input from the chat box, automatically passed to this variable",
- "appIdDesc": "Auto-injected actual ID in sub-app, 'main' in main app mode",
- "appCodeDesc": "Auto-injected app code in sub-app, empty in main app mode",
- "formCodeDesc": "Auto-injected form code when called from form list, empty otherwise"
- },
- "choice": {
- "label": "Choice Node",
- "placeholder": "Choice Node",
- "questionContent": "Question Content",
- "questionPlaceholder": "Enter question or prompt text",
- "outputHint": "User's selection will be saved to this variable",
- "optionList": "Option List",
- "addOption": "Add Option",
- "optionValue": "Option value",
- "displayText": "Display text",
- "optionDesc": "Option description (optional)",
- "option": "Option {index}",
- "allowMultiple": "Allow Multiple",
- "minSelect": "Min Select",
- "maxSelect": "Max Select"
- },
- "question": {
- "label": "Question Node",
- "placeholder": "Question Node",
- "questionContent": "Question Content",
- "questionPlaceholder": "Enter question to ask user, supports variables like {'{{variable}}'}",
- "outputHint": "User's answer will be saved to this variable",
- "renderInput": "Render Input Box",
- "renderInputHint": "When off, user types in chat box; when on, shows dedicated input",
- "inputType": "Input Type",
- "text": "Text",
- "number": "Number",
- "email": "Email",
- "phone": "Phone",
- "date": "Date",
- "placeholderText": "Placeholder Text",
- "placeholderHint": "Input placeholder text",
- "defaultValueLabel": "Default Value",
- "defaultValueHint": "Optional default value",
- "required": "Required",
- "validationRegex": "Validation Regex",
- "validationRegexHint": "Regular expression for validating user input format",
- "validationMessage": "Validation Error Message",
- "validationDefault": "Invalid input format"
- },
- "http": {
- "label": "HTTP Request",
- "placeholder": "HTTP Request",
- "addParam": "Add Param",
- "addHeader": "Add Header",
- "bodyHint": "JSON format only, supports variable references like {'{{ variable }}'}",
- "settings": "Settings",
- "timeout": "Timeout (seconds)"
- },
- "code": {
- "label": "Code Execution",
- "placeholder": "Code Execution",
- "timeout": "Timeout (seconds)",
- "noInputVars": "No input variables",
- "noOutputVars": "No output variables, code return fields will be used as output",
- "codePython": "Code (Python)",
- "codePlaceholder": "Write code here...",
- "expandEditor": "Expand editor"
- },
- "llm": {
- "label": "LLM",
- "placeholder": "LLM",
- "systemPrompt": "System Prompt",
- "optional": "(optional)",
- "systemPromptPlaceholder": "Define AI role and behavior rules, e.g.: You are a professional translator...",
- "systemPromptHint": "Set AI role, behavior rules and constraints",
- "userPrompt": "User Prompt",
- "userPromptPlaceholder": "Enter user question or instruction, supports variables like {'{{variable}}'}...",
- "userPromptHint": "User's actual question or instruction, can reference upstream node outputs",
- "ragTip": "RAG Tip: Use with Knowledge Retrieval node, reference retrieval results with {knowledgeContext} in prompt",
- "outputVarHint": "LLM response will be saved to this variable for downstream nodes",
- "outputMode": "Output Mode",
- "textOutput": "Text Output",
- "structuredOutput": "Structured Output",
- "structuredDesc": "Use Function Calling to extract structured JSON data",
- "textDesc": "Plain text response",
- "schemaSource": "Schema Source",
- "staticConfig": "Static Config",
- "fromVariable": "From Variable",
- "fromVariableDesc": "Get schema config from upstream node (e.g. Form-to-LLM-Schema node)",
- "staticConfigDesc": "Manually configure output schema",
- "schemaVariable": "Schema Variable",
- "schemaVarPlaceholder": "Enter variable name, e.g. {'{{llm_output_schema}}'}",
- "schemaVarHint": "Variable value should be a structured output config array, can be generated by Form-to-LLM-Schema node",
- "configSchema": "Configure Schema",
- "configSchemaHint": "Click Configure Schema to define data structure (supports nested)",
- "schemaPreviewHint": "Click JSON above to reconfigure, extracted data will be saved as",
- "streaming": "Streaming Output",
- "streamingHint": "Enable real-time LLM response output",
- "conversationHistory": "Use Conversation History",
- "conversationHistoryHint": "Include conversation history as context (requires Agent memory enabled)",
- "configStructure": "Config Structure"
- },
- "condition": {
- "label": "Condition Branch",
- "placeholder": "Condition Branch",
- "booleanHint": "Boolean check",
- "emptyStringHint": "Empty string",
- "mainAppHint": "Main app check",
- "numberCompareHint": "Number comparison",
- "branchList": "Branch List",
- "addBranch": "Add Branch",
- "branch": "Branch {index}",
- "conditions": "Conditions",
- "elseBranch": "ELSE (default branch)",
- "equals": "Equals",
- "notEquals": "Not equals",
- "gt": "Greater than",
- "gte": "Greater or equal",
- "lt": "Less than",
- "lte": "Less or equal",
- "contains": "Contains",
- "notContains": "Not contains",
- "startsWith": "Starts with",
- "endsWith": "Ends with",
- "isEmpty": "Is empty",
- "isNotEmpty": "Is not empty",
- "numberCompare": "Supports greater than, less than operators",
- "noCondition": "No Condition"
- },
- "intent": {
- "label": "Intent Recognition",
- "placeholder": "Intent Recognition",
- "selectModelHint": "Select model for intent recognition",
- "modelHint": "Select LLM model for analyzing user intent",
- "inputVariable": "Input Variable",
- "inputVarHint": "Variable containing user input, supports variable reference like {'{{ variable }}'}",
- "intentList": "Intent List",
- "addIntent": "Add Intent",
- "intentIndex": "Intent {index}",
- "intentNamePlaceholder": "Intent name (e.g.: consult)",
- "name": "Name",
- "intentDescPlaceholder": "Intent description (e.g.: User wants to consult product info)",
- "description": "Description",
- "branchIdPlaceholder": "Branch ID (defaults to name)",
- "branchLabel": "Branch",
- "exampleSentences": "Example sentences (helps AI recognize more accurately)",
- "examplePlaceholder": "Enter example sentence",
- "otherBranch": "OTHER (when no intent matches)",
- "outputHint": "Recognition result will be saved to this variable, containing intent and confidence",
- "confidenceThreshold": "Confidence Threshold",
- "confidenceHint": "Below this threshold will go to OTHER branch",
- "intentLabel": "Intent"
- },
- "loop": {
- "label": "Loop",
- "placeholder": "Loop",
- "loopMode": "Loop Mode",
- "forEach": "For Each (Array)",
- "whileLoop": "While (Condition)",
- "arrayVariable": "Array Variable",
- "arrayVarHint": "Array variable to iterate, supports {'{{NodeID.key}}'} format or direct JSON array",
- "itemVarName": "Item Variable Name",
- "indexVarName": "Index Variable Name",
- "loopCondition": "Loop Condition",
- "conditionLogic": "Condition Logic",
- "allMatch": "All match (AND)",
- "anyMatch": "Any match (OR)",
- "conditionIndex": "Condition {index}",
- "varPlaceholder": "Variable, e.g.: {'{{counter}}'}",
- "compareValue": "Compare value",
- "addConditionHint": "Click \"Add Condition\" to set loop continuation conditions",
- "maxIterations": "Max Iterations",
- "maxIterationsHint": "Prevent infinite loops, force stop after this count",
- "outputVarHint": "Array variable name storing all loop results",
- "usageTip1": "Drag nodes into the loop container as loop body",
- "usageTip2": "Nodes in loop body will be executed repeatedly",
- "usageTip3ForEach": "Use {item} and {index} inside loop body",
- "usageTip3While": "Conditions are re-evaluated after each iteration",
- "usageTip4": "After loop completes, results stored in {output}",
- "eq": "Equals",
- "ne": "Not equals",
- "gt": "Greater than",
- "gte": "Greater or equal",
- "lt": "Less than",
- "lte": "Less or equal",
- "is_empty": "Is empty",
- "is_not_empty": "Is not empty",
- "is_true": "Is true",
- "is_false": "Is false",
- "loopBodyHint1": "In loop body you can use",
- "loopBodyHint2": "and"
- },
- "subflow": {
- "label": "Subflow",
- "placeholder": "Subflow",
- "selectSubflow": "Select Subflow",
- "selectSubflowPlaceholder": "Select subflow to call",
- "openInNewTab": "Open in new tab",
- "publishedOnly": "Only published workflows shown",
- "varPass": "Variable Passing",
- "passMode": "Pass Mode",
- "passAll": "Pass all variables",
- "passSelected": "Select variables",
- "passNone": "None",
- "varMapping": "Variable Mapping",
- "addVarMappingHint": "Click \"Add\" to configure variable passing",
- "varIndex": "Variable {index}",
- "subflowVarName": "Subflow variable name",
- "mainflowVarValue": "Main flow variable value",
- "selectVarPlaceholder": "Click variable button to select",
- "varMappingHint1": "Subflow variable name: variable name used in subflow",
- "varMappingHint2": "Main flow variable value: value passed from main flow (select variable)",
- "resultHandling": "Result Handling",
- "resultPassMode": "Result Pass Mode",
- "resultPassAll": "Pass all results",
- "resultPassSelected": "Select results",
- "resultPassNone": "None",
- "selectResultVars": "Select Result Variables",
- "resultVarPlaceholder": "Enter subflow variable name",
- "resultVarHint": "Enter variable names to pass back from subflow (variables produced inside subflow)",
- "resultVarName": "Result Variable Name",
- "resultVarSavedHint": "Complete subflow result stored in this variable, access via {template}",
- "maxNestDepth": "Max Nesting Depth",
- "maxNestDepthHint": "Prevent infinite recursion, max 5 levels by default",
- "showSubflowMessages": "Show Subflow Messages",
- "showSubflowMessagesHint": "When enabled, message nodes in subflow will display in main flow chat",
- "forwardInteractive": "Forward Interactive Nodes",
- "forwardInteractiveHint": "When enabled, Q&A, choice, confirm nodes in subflow will display in main flow",
- "usageTip1": "Subflow must be a published workflow",
- "usageTip2": "Subflow inherits main flow user context",
- "usageTip3": "Pass data between main flow and subflow via variable passing",
- "usageTip4": "After subflow completes, results stored in specified variable",
- "usageTip5": "Supports nested subflow calls, but avoid circular dependencies"
- },
- "appCreate": {
- "label": "Create App",
- "placeholder": "Create App",
- "appName": "App Name",
- "appNamePlaceholder": "Enter app name or use variable",
- "appNameHint": "Supports variable reference, e.g.: ",
- "appCode": "App Code",
- "appCodePlaceholder": "Enter app code or use variable",
- "appCodeHint": "Unique identifier for URL routing. Only letters, numbers, underscores and hyphens, must start with letter",
- "appDesc": "App Description",
- "appDescPlaceholder": "Enter app description",
- "appIcon": "App Icon",
- "appIconPlaceholder": "Enter icon name, e.g. app-window",
- "appType": "App Type",
- "appTypePlaceholder": "Select app type",
- "mixedApp": "Mixed App",
- "formApp": "Form App",
- "workflowApp": "Workflow App",
- "dashboardApp": "Dashboard App",
- "screenApp": "Screen App",
- "updateIfExists": "Update if exists",
- "updateIfExistsHint": "When enabled, update existing app instead of error if code exists",
- "createdAppId": "Created app ID",
- "appCodeOutput": "App code",
- "appNameOutput": "App name",
- "successOutput": "Whether created successfully (false if exists)"
- },
- "appDesign": {
- "label": "App Design",
- "placeholder": "App Design",
- "designContent": "Design Content",
- "designContentPlaceholder": "Enter design content or use variable to reference LLM output",
- "designContentHint": "Supports Markdown format, can use variable references, e.g.: ",
- "designTitle": "Design Title",
- "designTitlePlaceholder": "Enter title, defaults to 'App Design Plan'",
- "designContentOutput": "Confirmed design content",
- "designTitleOutput": "Design title",
- "confirmedOutput": "Whether confirmed"
- },
- "appSettings": {
- "label": "App Settings",
- "placeholder": "App Settings",
- "varRefHint": "Supports variable reference, e.g.: ",
- "homePath": "Home Path",
- "homePathHint": "App home path, supports variable reference",
- "logoHint": "Logo image URL or file ID, supports variable reference",
- "primaryColorHint": "Theme primary color, e.g. hsl(212 100% 45%)",
- "settingsOutput": "Complete app settings config",
- "confirmedOutput": "Whether confirmed"
- },
- "appUpdate": {
- "label": "App Update",
- "placeholder": "App Update",
- "appSettingsLabel": "App Settings",
- "appSettingsPlaceholder": "Use variable to reference app settings node output",
- "appSettingsHint": "Use variable to reference app settings node output, e.g.: ",
- "appId": "App ID",
- "appIdPlaceholder": "Leave empty to update main app config",
- "appIdHint": "Target app ID, leave empty to update main app config. Supports variable reference, e.g.: ",
- "updateSuccess": "Whether update succeeded",
- "configId": "Config record ID",
- "updateMessage": "Update result message"
- },
- "dbQuery": {
- "label": "DB Query",
- "placeholder": "DB Query",
- "eqOp": "Equals (=)",
- "neOp": "Not equals (!=)",
- "gtOp": "Greater than (>)",
- "gteOp": "Greater or equal (>=)",
- "ltOp": "Less than (<)",
- "lteOp": "Less or equal (<=)",
- "likeOp": "Like (LIKE)",
- "inOp": "In list (IN)",
- "isNullOp": "Is null (IS NULL)",
- "isNotNullOp": "Is not null (IS NOT NULL)"
- },
- "dbInsert": {
- "label": "DB Insert",
- "placeholder": "DB Insert"
- },
- "dbUpdate": {
- "label": "DB Update",
- "placeholder": "DB Update",
- "updateConditions": "Update Conditions",
- "addUpdateConditionHint": "Please add update conditions, otherwise all records will be updated",
- "mustAddCondition": "Must add conditions to prevent updating all rows",
- "updateFields": "Update Fields"
- },
- "dbDelete": {
- "label": "DB Delete",
- "placeholder": "DB Delete",
- "deleteConditions": "Delete Conditions",
- "addDeleteConditionHint": "Please add delete conditions, otherwise all records will be deleted",
- "dangerWarning": "Danger: No conditions will delete ALL data in the table!",
- "mustAddCondition": "Must add conditions to prevent deleting all rows"
- },
- "dbSql": {
- "label": "SQL Execute",
- "placeholder": "SQL Execute",
- "sqlStatement": "SQL Statement",
- "sqlPlaceholder": "SELECT * FROM users WHERE status = :status LIMIT :limit",
- "sqlHint": "Supports variable references. Ensure SQL safety, avoid SQL injection",
- "sqlParams": "SQL Parameters",
- "addParam": "Add Parameter",
- "paramName": "Param name",
- "paramType": "Type",
- "paramValue": "Param value",
- "noParams": "No parameters. Click \"Add Parameter\"",
- "paramsHint": "Param name maps to :param_name in SQL; use variable selector for values",
- "affectedRowsHint": "Affected rows count will be saved to this variable",
- "cautionWarning": "Use with caution, SQL will be executed directly",
- "examples": "Examples",
- "execType": "Execution Type",
- "executeType": "Execute (No Result)",
- "insertExample": "Insert Example",
- "paramList": "Parameter List",
- "paramOrderHint": "The :param_name placeholders in SQL are bound by parameter name",
- "paramValuePlaceholder": "Select or enter upstream variable",
- "queryExample": "Query Example",
- "queryResultHint": "Query results (array) will be saved to this variable",
- "queryType": "Query (Returns Result)",
- "sqlParamHint": "Use :param_name as named parameter placeholders; supports variable references",
- "statsExample": "Statistics Example",
- "updateExample": "Update Example"
- },
- "textToSql": {
- "desc": "Convert natural language to SQL query",
- "queryQuestion": "Query Question",
- "queryPlaceholder": "Enter natural language question, e.g.: Show sales comparison by department for last 7 days",
- "dataTable": "Data Tables",
- "modifySelection": "Modify Selection",
- "selectDataTable": "Select Data Tables",
- "selectedTables": "{count} tables selected",
- "clear": "Clear",
- "noTableHint": "When no tables selected, all tables will be analyzed (max 20)",
- "includeRelations": "Include Table Relations",
- "includeRelationsHint": "Auto-detect foreign key relations to improve multi-table JOIN accuracy",
- "llmModel": "LLM Model",
- "selectLlmModel": "Select LLM Model",
- "sqlSavedHint": "Generated SQL will be saved to this variable",
- "sqlOutput": "Generated SQL statement",
- "thoughtOutput": "SQL generation reasoning",
- "autoAnalyzeHint": "When no table selected, all tables will be auto-analyzed (max 20)",
- "dataTables": "Data Tables",
- "description": "Convert natural language to SQL query",
- "modelRecommendation": "Recommend using GPT-4 or equivalent model for better SQL generation quality",
- "outputVarHint": "Generated SQL will be saved to this variable",
- "reasoningOutput": "SQL Generation Reasoning",
- "selectTables": "Select Tables",
- "varRefHint": "Supports variable reference, e.g.:"
- },
- "systemSummary": {
- "label": "System Summary",
- "placeholder": "System Summary",
- "formResults": "Form Results List",
- "formResultsHint": "Result array from loop node or single form publish node output",
- "appName": "App Name",
- "appNameHint": "App name, can be variable reference or direct text",
- "dashboardName": "Dashboard Name",
- "dashboardNameHint": "Dashboard name, can be variable reference or direct text",
- "summaryTitle": "Summary Title",
- "summaryTitleDefault": "System Creation Complete",
- "showStatistics": "Show Statistics",
- "showStatisticsHint": "Whether to show module count statistics",
- "baseUrl": "Base URL",
- "baseUrlPlaceholder": "Leave empty for relative paths",
- "baseUrlHint": "Base URL for generating full links (optional)",
- "summaryOutput": "Complete summary data",
- "totalForms": "Total forms",
- "hasApp": "Has app",
- "hasDashboard": "Has dashboard",
- "useCase": "Use Cases",
- "fullAppCreate": "Full app creation: ",
- "subAppCreate": "Sub-app module creation: ",
- "singleFormCreate": "Single form creation: ",
- "formCountOutput": "Form Count",
- "formResultList": "Form Result List",
- "formResultListHint": "Result array from loop node or output from single form publish node",
- "hasAppOutput": "Has App",
- "hasDashboardOutput": "Has Dashboard",
- "summaryDataOutput": "Full Summary Data",
- "showStats": "Show Statistics",
- "showStatsHint": "Whether to show module count and other statistics",
- "usageScenarios": "Usage Scenarios"
- },
- "dashboardBasicInfo": {
- "label": "Dashboard Basic Info",
- "placeholder": "Dashboard Basic Info",
- "name": "Dashboard Name",
- "namePlaceholder": "Enter dashboard name or use variable",
- "code": "Dashboard Code",
- "codePlaceholder": "Enter code or use variable",
- "codeHint": "Unique identifier for internal reference",
- "category": "Category",
- "categoryPlaceholder": "e.g.: Operations Analysis, Sales Report",
- "catDashboard": "Dashboard",
- "catDataboard": "Data Board",
- "catOther": "Other",
- "catPortal": "Portal",
- "dashboardCode": "Dashboard Code",
- "dashboardCodePlaceholder": "Leave empty to auto-generate",
- "description": "Description",
- "descPlaceholder": "Enter description",
- "sort": "Sort",
- "dashboardName": "Dashboard Name",
- "dashboardNamePlaceholder": "Enter name or select variable"
- },
- "dashboardCreate": {
- "label": "Create Dashboard",
- "placeholder": "Create Dashboard",
- "basicInfo": "Basic Info",
- "basicInfoPlaceholder": "Use variable to reference basic info node output",
- "basicInfoHint": "From dashboard basic info node output",
- "pageConfig": "Page Config",
- "pageConfigPlaceholder": "Use variable to reference design node output",
- "pageConfigHint": "From dashboard design node output",
- "updateIfExists": "Update if exists",
- "updateIfExistsHint": "When enabled, update existing dashboard instead of error if code exists",
- "dashboardId": "Created dashboard ID",
- "dashboardCode": "Dashboard code",
- "appId": "App ID (Optional)",
- "appIdPlaceholder": "Leave empty to not associate with app",
- "dashboardCodeOutput": "Dashboard Code",
- "dashboardIdOutput": "Dashboard ID",
- "pageMetaOutput": "Full Page Metadata"
- },
- "dashboardDesign": {
- "label": "Dashboard Design",
- "placeholder": "Dashboard Design",
- "designContent": "Design Content",
- "designContentPlaceholder": "Enter design content or use variable to reference LLM output",
- "designContentHint": "Supports Markdown format, can use variable references",
- "designTitle": "Design Title",
- "designTitlePlaceholder": "Enter title",
- "pageConfigOutput": "Page config data",
- "dashboardCode": "Dashboard Code",
- "dashboardCodePlaceholder": "From basic info node",
- "designSuggestion": "Design Suggestion (Optional)",
- "designSuggestionPlaceholder": "LLM-generated design suggestion",
- "designTitleLabel": "Design Title",
- "usageTip1": "This node will open the dashboard designer",
- "usageTip2": "Users can drag and drop charts, cards and other components",
- "usageTip3": "Page config will be output after confirmation"
- },
- "dashboardPublish": {
- "label": "Publish Dashboard",
- "placeholder": "Publish Dashboard",
- "dashboardId": "Dashboard ID",
- "dashboardIdPlaceholder": "Use variable to reference create node output",
- "dashboardIdHint": "From dashboard create node output",
- "menuName": "Menu Name",
- "menuNamePlaceholder": "Enter menu name",
- "menuIcon": "Menu Icon",
- "menuIconPlaceholder": "e.g. LayoutDashboard",
- "menuIdOutput": "Menu ID",
- "routePathOutput": "Route path",
- "appId": "App ID (Optional)",
- "appIdPlaceholder": "Leave empty to use dashboard's app ID",
- "menuSort": "Menu Sort",
- "parentMenuId": "Parent Menu ID (Optional)",
- "parentMenuIdPlaceholder": "Leave empty for top-level menu",
- "publishResultOutput": "Publish Result"
- },
- "formBasicInfo": {
- "label": "Form Basic Info",
- "placeholder": "Form Basic Info",
- "formName": "Form Name",
- "formNamePlaceholder": "Enter form name or use variable",
- "formCode": "Form Code",
- "formCodePlaceholder": "Enter code or use variable",
- "formCodeHint": "Used to generate access route",
- "autoGenerate": "Auto generate",
- "autoGenCode": "Auto Generate Code",
- "autoGenCodeHint": "When enabled, code will be auto-generated from form name (pinyin conversion)",
- "formCodeOutput": "Form Code",
- "formDesc": "Form Description",
- "formDescOutput": "Form Description",
- "formDescPlaceholder": "Enter form description",
- "formNameHint": "Supports variable reference, e.g.:",
- "formNameOutput": "Form Name",
- "formTypeOutput": "Form Type",
- "formCategoryOutput": "Form Category",
- "fullConfigOutput": "Full Basic Info Object",
- "confirmedConfigOutput": "Confirmed Full Config",
- "normalForm": "Normal Form",
- "workflowForm": "Workflow Form",
- "sort": "Sort",
- "sortHint": "Smaller number comes first",
- "sortOutput": "Sort Value",
- "sortPlaceholder": "Enter sort value",
- "confirmedOutput": "Is Confirmed",
- "formType": "Form Type",
- "formTypePlaceholder": "Select form type"
- },
- "formCreate": {
- "label": "Create Form",
- "placeholder": "Create Form",
- "formConfig": "Form Config",
- "formConfigPlaceholder": "Use variable to reference form UI design node output",
- "formConfigHint": "From form UI design node output",
- "listConfig": "List Config",
- "listConfigPlaceholder": "Use variable to reference list design node output",
- "listConfigHint": "From list design node output",
- "formCodeLabel": "Form Code",
- "formCodeOptional": "(optional)",
- "formCodeHint": "Used to generate access route",
- "appId": "App ID",
- "appIdPlaceholder": "Leave empty for main app",
- "appIdHint": "Leave empty to not associate with app",
- "basicInfoHint": "Output from form basic info node",
- "dbCreate": "Database Create",
- "dbDesign": "Database Design",
- "dbDesignConfig": "Database Design Config",
- "dbDesignHint": "Output from database design node",
- "formBasicInfo": "Form Basic Info",
- "formCodeOutput": "Form Code",
- "formCreateStep": "Form Create",
- "formIdOutput": "Created Form ID",
- "formMetaOutput": "Full Form Metadata",
- "formPublish": "Form Publish",
- "fullWorkflow": "Full Workflow",
- "listDesign": "List UI Design",
- "listDesignConfig": "List Config",
- "listDesignHint": "Output from list UI design node",
- "uiDesign": "Form UI Design",
- "uiDesignConfig": "Form UI Design Config",
- "uiDesignHint": "Output from form UI design node",
- "updateIfExists": "Update If Exists",
- "updateIfExistsHint": "Whether to update existing form when code exists"
- },
- "formData": {
- "label": "Form Data",
- "placeholder": "Form Data",
- "createLabel": "Create Form Data",
- "data": "Data",
- "dataHint": "Supports single object or array (batch operation)",
- "dataPlaceholder": "Enter JSON data or variable, e.g.",
- "deleteLabel": "Delete Form Data",
- "filterConditions": "Filter Conditions",
- "formCode": "Form Code",
- "formCodeHint": "Published form code",
- "formCodeInputHint": "Supports direct input or variable reference",
- "formCodeInputPlaceholder": "Enter form code or use variable, e.g.",
- "formCodePlaceholder": "Enter form code or use variable",
- "generateArray": "Generate Array Type",
- "generateArrayHint": "When checked, generated structure will be wrapped as array for extracting multiple records",
- "hardDelete": "Hard Delete (Irreversible)",
- "hardDeleteHint": "Default is soft delete, check to permanently delete data",
- "listLabel": "Query Form Data",
- "operationType": "Operation Type",
- "create": "Create",
- "read": "Read",
- "update": "Update",
- "delete": "Delete",
- "list": "Query List",
- "readLabel": "Read Form Data",
- "recordId": "Record ID",
- "recordIdHint": "Record ID to read",
- "recordIdPlaceholder": "Enter record ID, supports variable e.g.",
- "schemaToLlmLabel": "Form to LLM Schema",
- "selectFormPlaceholder": "Select form from list",
- "selectedFormHint": "Select from published forms (code: {code})",
- "unknownOp": "Unknown Operation",
- "updateFieldData": "Update Field Data",
- "updateFieldDataHint": "Field data to update (JSON object)",
- "updateLabel": "Update Form Data",
- "updateRecordIdHint": "Record ID to update",
- "deleteRecordIdHint": "Record ID to delete",
- "fieldData": "Field Data",
- "createFieldDataHint": "Field data for creating record (JSON object)",
- "queryConditions": "Query Conditions",
- "queryConditionsHint": "Query filter conditions (JSON object)",
- "pageSize": "Page Size",
- "pageNum": "Page Number",
- "outputVarHint": "Operation result will be saved to this variable",
- "createdRecordId": "Created Record ID",
- "recordDetail": "Record Detail",
- "variableInput": "Variable Input",
- "selectFromList": "Select from List"
- },
- "formDatabaseCreate": {
- "label": "Form Database Create",
- "placeholder": "Form Database Create"
- },
- "formDatabaseDesign": {
- "label": "Form Database Design",
- "placeholder": "Form Database Design"
- },
- "formListDesign": {
- "label": "List Design",
- "placeholder": "List Design",
- "autoGenColumns": "Auto Generate Columns",
- "autoGenColumnsHint": "Auto generate list columns from form fields",
- "autoGenQuery": "Auto Generate Query Fields",
- "autoGenQueryHint": "Auto generate query conditions from form fields",
- "columnCountOutput": "Column Count",
- "containerType": "Container Type",
- "containerTypeHint": "Container type for form editing",
- "containerTypePlaceholder": "Select container type",
- "dbDesignConfig": "Database Design Config",
- "dbDesignConfigHint": "Output from database design node, for supplementing field type info",
- "dbDesignConfigPlaceholder": "Optional, for supplementing field type info",
- "dialog": "Dialog",
- "drawer": "Drawer",
- "enableExport": "Enable Export",
- "enableImport": "Enable Import",
- "fullConfigOutput": "Full List Config",
- "inferRules": "Smart Inference Rules",
- "inferRule1": "Query fields: name/status/type etc.",
- "inferRule2": "Query type: selector→in, option→eq, date→range, text→like",
- "inferRule3": "Column sort: backend sort by default, file/image not supported",
- "inferRule4": "Column align: number→right, date→center, other→left",
- "inferRule5": "Tag display: option fields auto use Tag",
- "page": "Page",
- "pageSize": "Page Size",
- "pageSizePlaceholder": "Select page size",
- "queryFieldCountOutput": "Query Field Count",
- "showIndex": "Show Index Column",
- "showSelection": "Show Selection Column",
- "uiDesignConfig": "Form UI Design Config",
- "uiDesignConfigHint": "Output config from form UI design node",
- "uiDesignConfigPlaceholder": "Use variable to reference form UI design node output",
- "perPage": "{count} per page"
- },
- "formPublish": {
- "label": "Form Publish",
- "placeholder": "Form Publish",
- "formCode": "Form Code",
- "formCodeHint": "Used to generate access route",
- "formId": "Form ID",
- "formIdHint": "Output from form create node",
- "menuIdOutput": "Created Menu ID",
- "publishResultOutput": "Publish Result Details",
- "routePathOutput": "Form Access Path",
- "usageTip1": "This node is used to publish created forms to the menu system.",
- "usageTip2": "During execution, a publish config editor will be shown in the right panel, where users can set menu name, icon, etc."
- },
- "formUIDesign": {
- "label": "Form UI Design",
- "placeholder": "Form UI Design",
- "dbDesignConfig": "Database Design Config",
- "dbDesignPlaceholder": "Use variable to reference database design node output {'{{form_database_design.database_design}}'}",
- "dbDesignHint": "From database design node output config",
- "formNameLabel": "Form Name",
- "formNamePlaceholder": "Leave empty to use table alias",
- "formNameHint": "Form display name, e.g.: Employee Info Form",
- "formCodeLabel": "Form Code",
- "formCodePlaceholder": "Leave empty to use table name",
- "formCodeHint": "Unique form code for system identification",
- "layoutMode": "Layout Mode",
- "layoutModePlaceholder": "Select layout mode",
- "autoLayout": "Auto (by field count)",
- "singleColumn": "Single Column",
- "doubleColumn": "Double Column",
- "tripleColumn": "Triple Column",
- "autoLayoutHint": "Auto mode: <=6 fields single, 7-12 double, >12 triple",
- "labelWidth": "Label Width",
- "labelWidthHint": "Form label width (px), default 120px",
- "enableGrouping": "Enable Grouping",
- "enableGroupingHint": "Auto-group by field type (basic info, contact, system info, etc.)",
- "hideSystemFields": "Hide System Fields",
- "hideSystemFieldsHint": "Hide system fields (id, sys_create_datetime, is_deleted, etc.)",
- "formDesignOutput": "Complete form UI design config",
- "formCodeOutput": "Form code",
- "fieldCountOutput": "Field count",
- "groupCountOutput": "Group count",
- "smartMapping": "Smart Mapping Rules",
- "dbDesignConfigHint": "Output config from database design node",
- "dbDesignConfigPlaceholder": "Use variable to reference database design node output",
- "formCode": "Form Code",
- "formName": "Form Name",
- "fullConfigOutput": "Full Form UI Design Config",
- "mappingRules": "Smart Mapping Rules",
- "mappingRule1": "varchar → Input / Textarea (length>200)",
- "mappingRule2": "int/decimal → Number Input / Currency Input",
- "mappingRule3": "datetime → DateTime Picker",
- "mappingRule4": "boolean → Switch",
- "mappingRule5": "*_id → Select / User/Dept Selector",
- "mappingRule6": "email/phone → Input with validation",
- "layoutAuto": "Auto (by field count)",
- "layoutAutoHint": "Auto mode: ≤6 fields single, 7-12 double, >12 triple column",
- "layoutDouble": "Double Column",
- "layoutSingle": "Single Column",
- "layoutTriple": "Triple Column"
- },
- "snowflakeAnalyst": {
- "label": "Snowflake Cortex Analyst",
- "placeholder": "Snowflake Cortex Analyst",
- "authPassword": "Username/Password",
- "authKeyPair": "Key Pair",
- "authSSO": "External Browser SSO",
- "fillRequired": "Please fill in required connection info first",
- "fillPassword": "Please fill in password",
- "fillPrivateKey": "Please fill in private key content or private key file path",
- "connectionFailed": "Connection test failed",
- "snowflakeConnection": "Snowflake Connection",
- "authMethod": "Auth Method",
- "authMethodPlaceholder": "Select auth method",
- "username": "Username",
- "password": "Password, supports variables",
- "privateKeyContent": "Private Key Content",
- "privateKeyPlaceholder": "RSA private key content (PEM format), or use file path below",
- "privateKeyPath": "Or Private Key File Path",
- "privateKeyPassword": "Private Key Password",
- "privateKeyPasswordHint": "Fill in if private key is password protected",
- "ssoHint": "External browser SSO authentication will open browser for identity verification at execution.",
- "database": "Database name",
- "schemaOptional": "Optional",
- "testing": "Testing...",
- "testConnection": "Test Connection",
- "snowflakeVersion": "Snowflake version",
- "queryConfig": "Query Config",
- "semanticModel": "Semantic Model",
- "semanticModelHint1": "Two formats supported:",
- "semanticModelHint2": "Stage file",
- "queryQuestion": "Query Question",
- "queryPlaceholder": "Describe the data you want to query in natural language, e.g.: What was last month's total sales?",
- "queryHint": "Cortex Analyst will automatically convert natural language to SQL query",
- "resultVarName": "Result Variable Name",
- "resultVarHint": "Query result data will be saved to this variable",
- "sqlVarName": "SQL Variable Name",
- "sqlVarHint": "Generated SQL statement will be saved to this variable",
- "databaseName": "Database Name",
- "optional": "Optional",
- "passwordPlaceholder": "Password, supports variables",
- "privateKeyPasswordPlaceholder": "Fill in if private key is password protected",
- "selectAuthMethod": "Select auth method",
- "twoFormats": "Supports two formats"
- },
- "snowflakeLLM": {
- "label": "Snowflake Cortex LLM",
- "placeholder": "Snowflake Cortex LLM",
- "complete": "LLM Generation (COMPLETE)",
- "summarize": "Text Summary (SUMMARIZE)",
- "translate": "Translate (TRANSLATE)",
- "sentiment": "Sentiment Analysis (SENTIMENT)",
- "extractAnswer": "Q&A Extraction (EXTRACT_ANSWER)",
- "langEn": "English",
- "langZh": "Chinese",
- "langJa": "Japanese",
- "langKo": "Korean",
- "langFr": "French",
- "langDe": "German",
- "langEs": "Spanish",
- "langRu": "Russian",
- "langPt": "Portuguese",
- "langIt": "Italian",
- "ssoHintFull": "External Browser SSO\nAuthentication will open browser for identity verification at execution, suitable for interactive scenarios.",
- "varHint": "Supports variables like",
- "functionConfig": "Function Config",
- "functionType": "Function Type",
- "selectFunction": "Select function",
- "selectModelLabel": "Select model",
- "systemPrompt": "System Prompt",
- "promptRequired": "Prompt",
- "promptPlaceholder": "Enter prompt, supports variables like {'{{user_input}}'}",
- "defineAiRole": "Define AI role and behavior rules",
- "textToSummarize": "Text to Summarize",
- "textToSummarizePlaceholder": "Enter text to summarize, supports variables",
- "textToTranslate": "Text to Translate",
- "textToTranslatePlaceholder": "Enter text to translate, supports variables",
- "sourceLang": "Source Language",
- "targetLang": "Target Language",
- "textToAnalyze": "Text to Analyze",
- "textToAnalyzePlaceholder": "Enter text for sentiment analysis, supports variables",
- "sentimentRange": "Return range: -1 (negative) to 1 (positive)",
- "documentContent": "Document Content",
- "documentPlaceholder": "Enter document content, supports variables",
- "questionLabel": "Question",
- "questionPlaceholder": "Enter question to extract answer from document",
- "outputVarHint": "Cortex output will be saved to this variable for downstream nodes",
- "funcComplete": "LLM Generate (COMPLETE)",
- "funcExtractAnswer": "Q&A Extract (EXTRACT_ANSWER)",
- "funcSentiment": "Sentiment Analysis (SENTIMENT)",
- "funcSummarize": "Text Summary (SUMMARIZE)",
- "funcTranslate": "Translate (TRANSLATE)",
- "passwordPlaceholder": "Password, supports variable e.g.",
- "prompt": "Prompt",
- "question": "Question",
- "sentimentPlaceholder": "Enter text for sentiment analysis, supports variables",
- "sentimentText": "Text to Analyze",
- "sourceLanguage": "Source Language",
- "summarizePlaceholder": "Enter text to summarize, supports variables",
- "summarizeText": "Text to Summarize",
- "systemPromptPlaceholder": "Define AI role and behavior rules",
- "targetLanguage": "Target Language",
- "translatePlaceholder": "Enter text to translate, supports variables",
- "translateText": "Text to Translate",
- "varRefHint": "Supports variable e.g."
- },
- "formDbCreate": {
- "allReadyOutput": "All Tables Ready",
- "autoCreateSchema": "Auto Create Schema",
- "autoCreateSchemaHint": "Auto create when Schema doesn't exist (PostgreSQL/SQL Server only)",
- "cautionWarning": "This node will actually create database tables, please operate with caution",
- "database": "Target Database (optional)",
- "databaseHint": "If set, overrides the design node; leave empty to use the connection default",
- "databasePlaceholder": "e.g. my_app_db, supports {'{{database}}'}",
- "dbDesignConfig": "Database Design Config",
- "dbDesignConfigHint": "Database design config from previous node (table structure design)",
- "dbDesignConfigPlaceholder": "Please use variable",
- "errorCountOutput": "Error Count",
- "ifExists": "When Table Exists",
- "ifExistsHint": "How to handle when table exists, recommended: skip",
- "ifExistsPlaceholder": "Select handling method",
- "label": "Database Table Create",
- "note1": "This node will actually execute DDL statements to create tables",
- "note2": "Recommend verifying SQL in test environment first",
- "note3": "Choosing \"replace\" will lose all data in the table",
- "note4": "Ensure database user has CREATE TABLE permission",
- "notes": "Notes",
- "placeholder": "Database Table Create",
- "replaceDanger": "Replace (Dangerous)",
- "resultOutput": "Creation Result Object",
- "schema": "Database Schema (Optional)",
- "schemaHint": "PostgreSQL/SQL Server schema name. If configured, this value takes priority, otherwise uses design node's schema",
- "schemaPlaceholder": "e.g. public, app, supports variables",
- "skipRecommended": "Skip (Recommended)",
- "successCountOutput": "Successfully Created Table Count",
- "throwError": "Throw Error"
- },
- "formDbDesign": {
- "autoAddSystemFields": "Auto Add System Fields",
- "autoAddSystemFieldsHint": "Auto add system fields (id, sys_create_datetime, sys_update_datetime, etc.)",
- "dbConfig": "Database Config",
- "dbConfigHint": "Database config name, default is 'default'",
- "dbConfigPlaceholder": "Enter database config name",
- "dbSchema": "Database Schema",
- "dbSchemaHint": "PostgreSQL schema name, empty uses database default schema",
- "dbSchemaPlaceholder": "PostgreSQL schema name, e.g. public, app (optional)",
- "dbType": "Database Type",
- "dbTypePlaceholder": "Select database type",
- "dbTypeHint": "Select target database type, affects field type mapping",
- "designMode": "Design Mode",
- "designModeHint": "Choose to design main or sub table, sub table needs to specify related main table",
- "fieldCountOutput": "Field Count",
- "fieldConfigExample": "Field Config Example (array)",
- "fieldList": "Field List",
- "fieldListHint": "Field config array, each field contains name, type, comment, etc.",
- "fieldListPlaceholder": "Enter field list or use variable",
- "foreignKey": "Foreign Key Field",
- "foreignKeyHint": "Foreign key field name for main table, auto-generated if empty",
- "foreignKeyPlaceholder": "Default is {main_table}_id",
- "fullDesignOutput": "Full Database Design Object",
- "label": "Database Table Structure Design",
- "mainTable": "Main Table",
- "placeholder": "Database Table Structure Design",
- "relatedMainTable": "Related Main Table",
- "relatedMainTableHint": "Main table name that sub table relates to",
- "relatedMainTablePlaceholder": "Enter related main table name or use variable",
- "subFieldListPlaceholder": "Enter sub table field list or use variable",
- "subFieldListHint": "Sub table field config array",
- "subTable": "Sub Table",
- "subTableName": "Sub Table Name",
- "subTableNameHint": "Database table name for sub table",
- "subTableNamePlaceholder": "Enter sub table name or use variable",
- "tableName": "Table Name",
- "tableNameHint": "Database table name, e.g.: employee, order_info",
- "tableNameOutput": "Table Name",
- "tableNamePlaceholder": "Enter table name or use variable"
- }
- }
- },
- "workflowRuns": {
- "title": "Run History",
- "description": "View AI workflow execution records and node logs",
- "search": "Search",
- "refresh": "Refresh",
- "filters": {
- "workflow": "Workflow",
- "status": "Status",
- "trigger": "Trigger",
- "allWorkflows": "All workflows",
- "allStatus": "All statuses",
- "allTriggers": "All triggers"
- },
- "columns": {
- "workflow": "Workflow",
- "status": "Status",
- "trigger": "Trigger",
- "steps": "Steps",
- "tokens": "Tokens",
- "duration": "Duration",
- "startedAt": "Started at",
- "error": "Error",
- "actions": "Actions"
- },
- "status": {
- "pending": "Pending",
- "running": "Running",
- "waiting": "Waiting",
- "completed": "Completed",
- "failed": "Failed",
- "stopped": "Stopped"
- },
- "trigger": {
- "editor_draft": "Editor draft",
- "editor_published": "Editor published",
- "agent": "Agent",
- "api": "API",
- "form_button": "Form button"
- },
- "detail": {
- "back": "Back to list",
- "runId": "Run ID",
- "openEditor": "Open workflow",
- "snapshotMissing": "Definition snapshot is missing; canvas replay may be incomplete",
- "completedAt": "Completed at",
- "version": "Version",
- "draft": "Draft",
- "timeline": "Execution timeline",
- "noLogs": "No execution logs",
- "inputsOutputs": "Inputs / Outputs"
- }
- }
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/announcement.json b/web/apps/web-ele/src/locales/langs/en-US/announcement.json
deleted file mode 100644
index 53afeee..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/announcement.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "title": "Title",
- "status": "Status",
- "priority": "Priority",
- "targetType": "Target Type",
- "readCount": "Read Count",
- "publisher": "Publisher",
- "publishTime": "Publish Time",
- "actions": "Actions",
- "keyword": "Keyword",
- "keywordPlaceholder": "Enter title keyword",
- "statusAll": "All",
- "statusDraft": "Draft",
- "statusPublished": "Published",
- "statusExpired": "Expired",
- "priorityNormal": "Normal",
- "priorityImportant": "Important",
- "priorityUrgent": "Urgent",
- "targetTypeAll": "All",
- "targetTypeDept": "Specified Department",
- "targetTypeRole": "Specified Role",
- "targetTypeUser": "Specified User",
- "topTag": "Top",
- "createButton": "Create Announcement",
- "editButton": "Edit",
- "deleteButton": "Delete",
- "publishButton": "Publish",
- "statsButton": "Read Statistics",
- "moreButton": "More",
- "createTitle": "Create Announcement",
- "editTitle": "Edit Announcement",
- "deleteConfirm": "Are you sure you want to delete the announcement \"{title}\"?",
- "deleteConfirmTitle": "Delete Confirmation",
- "publishConfirm": "Are you sure you want to publish this announcement? Relevant users will be notified after publishing.",
- "publishConfirmTitle": "Publish Confirmation",
- "deleteSuccess": "Deleted successfully",
- "publishSuccess": "Published successfully",
- "updateSuccess": "Updated successfully",
- "createSuccess": "Created successfully",
- "formTitleLabel": "Title",
- "formTitlePlaceholder": "Enter announcement title",
- "formSummaryLabel": "Summary",
- "formSummaryPlaceholder": "Enter summary (optional)",
- "formContentLabel": "Content",
- "formContentPlaceholder": "Enter announcement content",
- "formTitleRequired": "Please enter announcement title",
- "formContentRequired": "Please enter announcement content",
- "formPriorityLabel": "Priority",
- "formTopLabel": "Top",
- "formTargetTypeLabel": "Target Type",
- "formExpireTimeLabel": "Expire Time",
- "formExpireTimePlaceholder": "Select expire time (optional)",
- "formCancelButton": "Cancel",
- "formSaveButton": "Save",
- "statsTitle": "Read Statistics",
- "statsReadCount": "Read: {count} people",
- "statsUserLabel": "User",
- "statsReadTimeLabel": "Read Time",
- "unreadOnly": "Unread Only",
- "unreadOnlyAll": "All",
- "unreadOnlyUnread": "Unread",
- "unreadCount": "{count} unread",
- "viewButton": "View",
- "publisherLabel": "Publisher",
- "publishTimeLabel": "Publish Time",
- "emptyList": "No announcements",
- "loadingMore": "Loading...",
- "noMore": "No more data",
- "detailTitle": "Announcement Detail",
- "selectHint": "Please select an announcement to view",
- "unreadLabel": "Unread",
- "summary": "Summary"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/api-token.json b/web/apps/web-ele/src/locales/langs/en-US/api-token.json
deleted file mode 100644
index 119ebe7..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/api-token.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "title": "API Token",
- "deviceManagement": "Device Management",
- "description": "Create personal access tokens for automation calls.",
- "loadError": "Failed to load tokens",
- "nameRequired": "Please enter token name",
- "createError": "Failed to create token",
- "createToken": "Create Token",
- "tokenName": "Token Name",
- "tokenNamePlaceholder": "Enter token name",
- "expirationDate": "Expiration",
- "neverExpiresHint": "Leave empty for no expiration",
- "tokenDescription": "Description",
- "tokenDescriptionPlaceholder": "Enter description",
- "tokenCreated": "Token Created",
- "tokenWarning": "Copy and save this token now. It will not be shown again.",
- "revokeTitle": "Revoke Token",
- "revokeConfirm": "Revoke token \"{0}\"?",
- "confirmRevoke": "Revoke",
- "revokeSuccess": "Token revoked",
- "revokeToken": "Revoke Token",
- "copy": "Copy",
- "copied": "Copied",
- "copySuccess": "Copied to clipboard",
- "copyError": "Copy failed",
- "neverExpires": "Never expires",
- "expired": "Expired",
- "expiresSoon": "Expires in {0} days",
- "createdAt": "Created",
- "lastUsed": "Last used",
- "empty": "No tokens",
- "days7": "7 days",
- "days30": "30 days",
- "days60": "60 days",
- "days90": "90 days",
- "days365": "1 year"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/application.json b/web/apps/web-ele/src/locales/langs/en-US/application.json
deleted file mode 100644
index 6cd3d40..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/application.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "title": "Application Management",
- "createApp": "Create App",
- "editApp": "Edit App",
- "search": "Search",
- "searchPlaceholder": "Search app name or code",
- "noApps": "No applications",
- "appName": "App Name",
- "appNamePlaceholder": "Please enter app name",
- "appCode": "App Code",
- "appCodePlaceholder": "Please enter app code (for URL routing)",
- "appType": "App Type",
- "appTypePlaceholder": "Please select app type",
- "appDescription": "Description",
- "appDescriptionPlaceholder": "Please enter app description",
- "appIcon": "App Icon",
- "systemMenu": "System Menu",
- "systemMenuPlaceholder": "Select system menus for dev mode (leave empty for all)",
- "selectSystemMenu": "Select System Menu",
- "save": "Save",
- "create": "Create",
- "cancel": "Cancel",
- "develop": "Develop",
- "edit": "Edit",
- "publish": "Publish",
- "enable": "Enable",
- "disable": "Disable",
- "delete": "Delete",
- "publishApp": "Publish App",
- "enableApp": "Enable App",
- "disableApp": "Disable App",
- "confirmPublish": "Confirm Publish",
- "confirmEnable": "Confirm Enable",
- "confirmDisable": "Confirm Disable",
- "publishConfirmMsg": "Are you sure to publish app \"{name}\"?",
- "enableConfirmMsg": "Are you sure you want to re-enable app \"{name}\"?",
- "publishSuccessMsg": "After publishing, users can access this app via the following link:",
- "enableSuccessMsg": "After enabling, users can access this app via the following link:",
- "disableConfirmMsg": "Are you sure to disable app \"{name}\"?",
- "appLink": "App Link:",
- "deleteConfirm": "Delete Confirm",
- "deleteConfirmMsg": "Are you sure to delete app \"{name}\"?",
- "confirm": "Confirm",
- "loadFailed": "Failed to load applications",
- "publishSuccess": "Published successfully",
- "publishFailed": "Failed to publish",
- "enableSuccess": "Enabled successfully",
- "enableFailed": "Failed to enable",
- "disableSuccess": "Disabled successfully",
- "disableFailed": "Failed to disable",
- "deleteSuccess": "Deleted successfully",
- "copySuccess": "Link copied to clipboard",
- "copyFailed": "Failed to copy",
- "appTypes": {
- "mixed": "Mixed App",
- "form": "Form App",
- "workflow": "Workflow App",
- "ai": "AI App",
- "dashboard": "Dashboard App",
- "screen": "Screen App"
- },
- "appStatus": {
- "draft": "Draft",
- "published": "Published",
- "disabled": "Disabled"
- },
- "validation": {
- "nameRequired": "Please enter app name",
- "nameLength": "Length should be 2 to 100 characters",
- "codeRequired": "Please enter app code",
- "codePattern": "Code must start with a letter and contain only letters, numbers, underscores and hyphens",
- "codeLength": "Length should be 2 to 100 characters",
- "typeRequired": "Please select app type"
- }
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/approval.json b/web/apps/web-ele/src/locales/langs/en-US/approval.json
deleted file mode 100644
index 3562138..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/approval.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "title": "Process Title",
- "type": "Process Type",
- "currentNode": "Current Node",
- "processNode": "Process Node",
- "initiator": "Initiator",
- "receiveTime": "Receive Time",
- "processTime": "Process Time",
- "copyTime": "Copy Time",
- "startTime": "Start Time",
- "actions": "Actions",
- "processResult": "Process Result",
- "status": "Status",
- "approved": "Approved",
- "rejected": "Rejected",
- "transferred": "Transferred",
- "pending": "Pending",
- "cancelled": "Cancelled",
- "unread": "Unread",
- "read": "Read",
- "tabPending": "My Pending",
- "tabHandled": "My Handled",
- "tabInitiated": "My Initiated",
- "tabCopy": "Copied to Me",
- "approveButton": "Approve",
- "detailButton": "Details",
- "urgeButton": "Urge",
- "cancelButton": "Cancel",
- "markReadButton": "Mark as Read",
- "emptyPending": "No pending tasks",
- "emptyHandled": "No handled tasks",
- "emptyInitiated": "No initiated processes",
- "emptyCopy": "No copies",
- "urgeConfirm": "Are you sure you want to urge this process?",
- "cancelConfirm": "Are you sure you want to cancel this process?",
- "urgeSuccess": "Urged successfully",
- "cancelSuccess": "Cancelled successfully",
- "markReadSuccess": "Marked as read",
- "operationFailed": "Operation failed",
- "dialogTitle": "Approval",
- "initiatorLabel": "Initiator",
- "startTimeLabel": "Start Time",
- "currentNodeLabel": "Current Node",
- "formDataTitle": "Form Data",
- "approvalLogsTitle": "Approval Logs",
- "approvalActionTitle": "Approval Action",
- "approvalResultLabel": "Approval Result",
- "approvalOpinionLabel": "Approval Opinion",
- "approvalOpinionPlaceholder": "Enter approval opinion (optional)",
- "approveAction": "Approve",
- "rejectAction": "Reject",
- "cancelButton2": "Cancel",
- "submitButton": "Submit",
- "approveSuccess": "Approved successfully",
- "rejectSuccess": "Rejected",
- "loadDataFailed": "Failed to load data",
- "startAction": "Start Process",
- "approveActionLabel": "Approve",
- "rejectActionLabel": "Reject",
- "transferAction": "Transfer",
- "cancelAction": "Cancel"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/authentication.json b/web/apps/web-ele/src/locales/langs/en-US/authentication.json
deleted file mode 100644
index 9b78ee1..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/authentication.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "username": "Username",
- "usernameTip": "Please enter username",
- "password": "Password",
- "passwordTip": "Please enter password",
- "confirmPassword": "Confirm Password",
- "confirmPasswordTip": "Passwords do not match",
- "passwordStrength": "Password Strength",
- "selectAccount": "Select Account",
- "verifyRequiredTip": "Please complete the slider verification",
- "mobile": "Phone Number",
- "mobileTip": "Please enter phone number",
- "mobileErrortip": "Please enter a valid phone number",
- "code": "Verification Code",
- "codeTip": "Verification code length is {0} digits",
- "sendCode": "Send Code",
- "sendText": "Resend({0}s)",
- "email": "Email",
- "emailTip": "Please enter email",
- "emailValidErrorTip": "Please enter a valid email format",
- "agree": "I agree to",
- "privacyPolicy": "Privacy Policy",
- "terms": "Terms of Service",
- "agreeTip": "Please agree to Privacy Policy and Terms of Service",
- "thirdPartyLogin": "Third-party Login",
- "getAuthUrlFailed": "Failed to get authorization link",
- "giteeLoginFailed": "Gitee login failed, please try again later",
- "githubLoginFailed": "GitHub login failed, please try again later",
- "qqLoginFailed": "QQ login failed, please try again later",
- "googleLoginFailed": "Google login failed, please try again later",
- "wechatLoginFailed": "WeChat login failed, please try again later",
- "microsoftLoginFailed": "Microsoft login failed, please try again later",
- "dingtalkLoginFailed": "DingTalk login failed, please try again later",
- "feishuLoginFailed": "Feishu login failed, please try again later",
- "wechat": "WeChat",
- "wecom": "WeCom",
- "dingtalk": "DingTalk",
- "feishu": "Feishu",
- "wecomLoginFailed": "WeCom login failed, please try again later",
- "dingtalkAutoRedirect": "DingTalk detected, redirecting to login..."
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/chat.json b/web/apps/web-ele/src/locales/langs/en-US/chat.json
deleted file mode 100644
index 4195cf5..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/chat.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "title": "Chat",
- "search": "Search contacts or groups",
- "noConversations": "No conversations",
- "selectHint": "Select a conversation to start chatting",
- "newChat": "New Chat",
- "newGroup": "New Group",
- "private": "Private",
- "group": "Group",
- "members": "Members",
- "memberCount": "{count} members",
- "owner": "Owner",
- "admin": "Admin",
- "member": "Member",
- "groupName": "Group Name",
- "groupNamePlaceholder": "Enter group name",
- "selectMembers": "Select Members",
- "selectMembersPlaceholder": "Select group members",
- "createGroupSuccess": "Group created successfully",
- "inputPlaceholder": "Type a message...",
- "send": "Send",
- "sendImage": "Send Image",
- "sendFile": "Send File",
- "recall": "Recall",
- "recallSuccess": "Message recalled",
- "recallFailed": "Recall failed",
- "recallTimeout": "Cannot recall after 2 minutes",
- "messageRecalled": "Message recalled",
- "typing": "Typing...",
- "yesterday": "Yesterday",
- "pin": "Pin",
- "unpin": "Unpin",
- "mute": "Mute",
- "unmute": "Unmute",
- "conversationInfo": "Conversation Info",
- "addMember": "Add Member",
- "addMemberSuccess": "Members added successfully",
- "allMembersExist": "Selected members are already in the group",
- "removeMember": "Remove Member",
- "removeMemberConfirm": "Are you sure to remove this member?",
- "dissolveGroup": "Dissolve Group",
- "dissolveGroupConfirm": "Are you sure to dissolve this group? This action cannot be undone.",
- "dissolveSuccess": "Group dissolved",
- "leaveGroup": "Leave Group",
- "noMessages": "No messages",
- "loadMore": "Load more",
- "loading": "Loading...",
- "image": "Image",
- "file": "File",
- "replyTo": "Reply",
- "groupNameRequired": "Please enter group name",
- "membersRequired": "Please select at least one member",
- "recentChats": "Chats",
- "contacts": "Contacts",
- "searchContacts": "Search contacts",
- "noContacts": "No contacts",
- "startChat": "Start Chat",
- "online": "Online",
- "offline": "Offline",
- "sending": "Sending...",
- "contactDetail": "Contact Detail",
- "contactDept": "Department",
- "contactPost": "Position",
- "contactManager": "Manager",
- "contactEmail": "Email",
- "contactMobile": "Mobile",
- "contactCity": "City",
- "contactType": "User Type",
- "contactOrg": "Organization",
- "contactOrgInfo": "Organization",
- "contactInfo": "Contact",
- "selectContactHint": "Select a contact to view details",
- "copy": "Copy",
- "copySuccess": "Copied to clipboard",
- "replyingTo": "Reply to {name}",
- "markUnread": "Mark as Unread",
- "deleteConversation": "Delete",
- "deleteConversationConfirm": "Are you sure to delete this conversation?",
- "deleteSuccess": "Deleted",
- "orgStructure": "Organization",
- "emoji": "Emoji",
- "voiceMessage": "Voice Message",
- "voiceTooShort": "Recording too short",
- "voiceUploading": "Sending voice...",
- "micPermissionDenied": "Cannot access microphone, please check browser permissions",
- "voice": "Voice",
- "dropToUpload": "Drop to send file",
- "newMessage": "New Message",
- "systemNotification": "System Notification",
- "viewDetail": "View Detail"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/common.json b/web/apps/web-ele/src/locales/langs/en-US/common.json
deleted file mode 100644
index 979b65d..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/common.json
+++ /dev/null
@@ -1,188 +0,0 @@
-{
- "all": "All",
- "mainApp": "Main App",
- "close": "Close",
- "operation": "Operation",
- "next": "Next",
- "prev": "Previous",
- "cancel": "Cancel",
- "cancelEdit": "Cancel Edit",
- "ok": "OK",
- "confirm": "Confirm",
- "confirmAndContinue": "Confirm and Continue",
- "save": "Save",
- "add": "Add",
- "delete": "Delete",
- "edit": "Edit",
- "update": "Update",
- "reset": "Reset",
- "status": "Status",
- "enabled": "Enabled",
- "disabled": "Disabled",
- "selected": "Selected",
- "noData": "No Data",
- "loading": "Loading",
- "loadMore": "Load More",
- "noMore": "No more data",
- "noMoreData": "No more data",
- "justNow": "Just now",
- "minutesAgo": "minutes ago",
- "hoursAgo": "hours ago",
- "yesterday": "Yesterday",
- "daysAgo": "days ago",
- "tips": "Tips",
- "warning": "Warning",
- "success": "Success",
- "info": "Info",
- "error": "Error",
- "primary": "Primary",
- "search": "Search",
- "clear": "Clear",
- "replace": "Replace",
- "copy": "Copy",
- "format": "Format",
- "compress": "Compress",
- "redo": "Redo",
- "jsonEditor": {
- "placeholder": "Enter or paste JSON",
- "valid": "✓ Valid",
- "invalid": "✗ Invalid",
- "format": "Format",
- "compress": "Compress",
- "copy": "Copy",
- "clear": "Clear",
- "copiedSuccess": "Copied to clipboard",
- "copyFailed": "Copy failed",
- "noContent": "No content to copy",
- "formatSuccess": "Format successful",
- "formatFailed": "Format failed: {0}",
- "compressSuccess": "Compress successful",
- "compressFailed": "Compress failed: {0}",
- "invalidJson": "Invalid JSON format",
- "emptyContent": "Please enter JSON content",
- "stats": "Lines: {0} | Characters: {1}"
- },
- "ui": {
- "placeholder": {
- "select": "Please select",
- "selectAll": "Select All",
- "search": "Please enter search content"
- },
- "actionTitle": {
- "create": "Create {0}",
- "add": "Add {0}",
- "edit": "Edit {0}",
- "view": "View {0}",
- "delete": "Delete {0}"
- },
- "actionMessage": {
- "createSuccess": "Created successfully",
- "createError": "Create failed",
- "updateSuccess": "Updated successfully",
- "updateError": "Update failed",
- "deleteSuccess": "Deleted successfully",
- "deleteConfirm": "Are you sure you want to delete {0}?",
- "deleteError": "Delete failed",
- "loadError": "Failed to load"
- },
- "submit": "Submit",
- "formRules": {
- "required": "{0} is required",
- "minLength": "{0} must be at least {1} characters",
- "maxLength": "{0} must be at most {1} characters",
- "alreadyExists": "{0} {1} already exists",
- "startWith": "{0} must start with {1}",
- "invalidURL": "Please enter a valid URL"
- }
- },
- "male": "Male",
- "female": "Female",
- "yes": "Yes",
- "no": "No",
- "fullscreen": "Fullscreen",
- "exitFullscreen": "Exit Fullscreen",
- "setting": "Settings",
- "columnSetting": "Column Settings",
- "sort": "Sort",
- "batchDelete": "Batch Delete",
- "export": "Export",
- "import": "Import",
- "downloadTemplate": "Download Template",
- "view": "View",
- "summarySum": "Sum",
- "summaryAvg": "Average",
- "summaryCount": "Count",
- "summaryMax": "Max",
- "summaryMin": "Min",
- "startDate": "Start Date",
- "endDate": "End Date",
- "selectDate": "Select Date",
- "table": "Table",
- "action": "Action",
- "placeholder": "Please enter",
- "selectPlaceholder": "Please select",
- "back": "Back",
- "createSuccess": "Created successfully",
- "updateSuccess": "Updated successfully",
- "saveFailed": "Save failed",
- "noDescription": "No description",
- "applicationName": "Application",
- "more": "More",
- "copied": "Copied",
- "deleted": "Deleted",
- "duplicate": "Duplicate",
- "description": "Description",
- "download": "Download",
- "downloadFailed": "Download failed",
- "loadError": "Load failed",
- "loadFailed": "Load failed",
- "loadingMenu": "Loading menu",
- "moveDown": "Move Down",
- "moveUp": "Move Up",
- "none": "None",
- "operationFailed": "Operation failed",
- "operationSuccess": "Operation successful",
- "pasted": "Pasted",
- "preview": "Preview",
- "prompt": "Prompt",
- "redone": "Redone",
- "refresh": "Refresh",
- "row": "Row",
- "saveSuccess": "Saved successfully",
- "select": "Select",
- "selectAll": "Select All",
- "unselectAll": "Unselect All",
- "submit": "Submit",
- "tip": "Tip",
- "undo": "Undo",
- "undone": "Undone",
- "video": "Video",
- "exportData": "Export Data",
- "exportSuccess": "Export successful",
- "exportFailed": "Export failed",
- "exportCompleted": "Export completed, {0} records in total",
- "exportPreparing": "Preparing export...",
- "exportReady": "Ready to export...",
- "exportQuerying": "Querying data {0} / {1} records...",
- "exportGeneratingExcel": "Generating Excel file...",
- "exportGeneratingExcelShort": "Generating Excel...",
- "querying": "Querying...",
- "retryExport": "Retry Export",
- "fileDownloadFailed": "File download failed, please retry",
- "records": "records",
- "importFailed": "Import failed",
- "importPreparing": "Preparing import...",
- "importParsing": "Parsing Excel data {0} / {1} rows...",
- "importImporting": "Importing data {0} / {1} records...",
- "importValidating": "Validating data {0} / {1} rows...",
- "validatePreparing": "Preparing validation...",
- "importValidatingData": "Checking data uniqueness...",
- "willInsert": "Will insert {0} records",
- "willUpdate": "Will update {0} records",
- "willOverwrite": "Will overwrite {0} records",
- "comma": ", ",
- "closeConfirmTitle": "Confirm Close",
- "closeConfirmMessage": "An operation is in progress. Closing will interrupt it. Are you sure?",
- "maxImportRows": "Server supports importing up to {0}0,000 rows",
- "maxExportRows": "Server supports exporting up to {0}0,000 rows"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/contract.json b/web/apps/web-ele/src/locales/langs/en-US/contract.json
deleted file mode 100644
index af46ea1..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/contract.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "contractNo": "Contract No.",
- "contractTitle": "Contract Title",
- "templateNameUsed": "Template Used",
- "statusLabel": "Status",
- "creatorName": "Creator",
- "createdTimeInstance": "Created Time",
- "completedTimeInstance": "Completed Time",
- "actions": "Actions",
- "statusDraft": "Draft",
- "statusPending": "Pending Signature",
- "statusSigning": "Signing",
- "statusCompleted": "Completed",
- "statusCanceled": "Canceled",
- "statusExpired": "Expired",
- "createContract": "Create Contract",
- "view": "View",
- "edit": "Edit",
- "copy": "Copy",
- "mobileSignButton": "Mobile Sign",
- "submit": "Submit",
- "complete": "Complete",
- "cancel": "Cancel",
- "delete": "Delete",
- "submitConfirm": "Are you sure you want to submit this contract? It will enter pending signature status after submission.",
- "submitConfirmTitle": "Submit Confirmation",
- "submitSuccess": "Submitted successfully",
- "completeConfirm": "Are you sure you want to complete this contract?",
- "completeConfirmTitle": "Complete Confirmation",
- "completeSuccess": "Contract completed",
- "cancelConfirm": "Are you sure you want to cancel this contract?",
- "cancelConfirmTitle": "Cancel Confirmation",
- "cancelSuccess": "Canceled",
- "deleteConfirm": "Are you sure you want to delete this contract?",
- "deleteConfirmTitle": "Delete Confirmation",
- "deleteSuccess": "Deleted successfully",
- "templateNameLabel": "Template Name",
- "templateCodeLabel": "Template Code",
- "categoryLabel2": "Category",
- "version": "Version",
- "createTimeTemplate": "Create Time",
- "categoryName": "Category",
- "categorySales": "Sales Contract",
- "categoryPurchase": "Purchase Contract",
- "categoryLabor": "Labor Contract",
- "categoryLease": "Lease Contract",
- "categoryService": "Service Contract",
- "categoryOther": "Other",
- "statusPublished": "Published",
- "statusDisabled": "Disabled",
- "addTemplate": "Add Template",
- "batchDelete": "Batch Delete",
- "batchDeleteConfirm": "Are you sure you want to delete the selected {count} templates?",
- "batchDeleteConfirmTitle": "Batch Delete Confirmation",
- "publish": "Publish",
- "publishConfirm": "Are you sure you want to publish this template? It can be used to create contracts after publishing.",
- "publishConfirmTitle": "Publish Confirmation",
- "publishSuccess": "Published successfully",
- "disable": "Disable",
- "disableConfirm": "Are you sure you want to disable this template? New contracts cannot be created after disabling.",
- "disableConfirmTitle": "Disable Confirmation",
- "disableSuccess": "Disabled successfully",
- "copyTemplate": "Copy Template",
- "copyPrompt": "Please enter the code for the new template",
- "copyConfirm": "Confirm",
- "copyCancel": "Cancel",
- "copyCodePattern": "Code must start with a letter and can only contain letters, numbers and underscores",
- "copiedSuccess": "Copied successfully",
- "pleaseSelectTemplate": "Please select a contract template",
- "pleaseInputTitle": "Please enter contract title",
- "pleaseInputContractNo": "Please enter contract number",
- "contractNoInvalid": "Invalid contract number",
- "contractNoDuplicate": "Contract number already exists",
- "basicInfo": "Basic Info",
- "variableFill": "Variable Fill",
- "createDialog": "Create Contract",
- "editDialog": "Edit Contract",
- "copyDialog": "Copy Contract",
- "basicInfoConfig": "Basic Info Configuration",
- "contractTemplate": "Contract Template",
- "selectTemplate": "Please select a contract template",
- "contractNoLabel": "Contract No.",
- "inputContractNo": "Please enter contract number",
- "regenerate": "Regenerate",
- "contractTitleLabel": "Contract Title",
- "inputContractTitle": "Please enter contract title",
- "contractPreview": "Contract Preview",
- "variableRealtime": "Variables will be replaced in real-time",
- "variableFillForm": "Variable Fill",
- "noVariables": "No variables need to be filled for this template",
- "previousStep": "Previous",
- "nextStep": "Next",
- "save": "Save",
- "close": "Close",
- "saveSuccess": "Saved successfully",
- "createSuccess": "Created successfully",
- "loadTemplateFailed": "Failed to load template details",
- "loadContractFailed": "Failed to load contract data",
- "saveFailed": "Save failed",
- "noTemplatesAvailable": "No templates available, please publish contract templates first",
- "selectNothing": "Please select templates to delete first",
- "selectNothingWarning": "Please select templates to delete first",
- "contractDetail": "Contract Details",
- "pageNumber": "Page {page} / {total}",
- "noContent": "No Content",
- "mobileSign": "Mobile Signature",
- "contract": "Contract",
- "partyType": "Party Type:",
- "signerName": "Signer Name:",
- "signerNamePlaceholder": "Optional, enter signer name",
- "signQrCode": "Signature QR Code",
- "generatingQrCode": "Generating QR code...",
- "scanQrCodeToSign": "Please scan the QR code with your mobile phone to sign",
- "qrCodeExpiredAt": "QR code expires at {time}",
- "refreshQrCode": "Refresh QR Code",
- "invalidSignUrl": "Invalid signature link",
- "pleaseSign": "Please sign first",
- "loading": "Loading...",
- "checkSignUrl": "Please check if the signature link is correct, or contact the contract initiator",
- "signComplete": "Signature Complete",
- "signCompleteMsg": "You have successfully completed the signature, you can close this page",
- "pleaseSignArea": "Please sign in the following area",
- "signed": "Signed",
- "sign": "Sign",
- "noSignArea": "No signature area required for you",
- "contractCompleted": "Contract signature completed",
- "handwriteSign": "Handwritten Signature",
- "signInArea": "Please write your signature in the area below",
- "confirmSign": "Confirm Signature",
- "editTemplate": "Edit Contract Template",
- "viewTemplate": "View Contract Template",
- "addTemplate": "Add Contract Template",
- "templateName": "Template Name",
- "inputTemplateName": "Please enter template name",
- "templateCode": "Template Code",
- "inputTemplateCode": "Please enter template code",
- "selectCategory": "Please select category",
- "templateDescription": "Template Description",
- "inputTemplateDescription": "Please enter template description",
- "contractNumber": "Contract Number",
- "usedTemplate": "Used Template",
- "status": "Status",
- "creator": "Creator",
- "createdTime": "Created Time",
- "completedTime": "Completed Time",
- "completeSign": "Complete Signing",
- "exportPdf": "Export PDF",
- "operationLog": "Operation Log",
- "noOperationLog": "No operation logs"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/core.json b/web/apps/web-ele/src/locales/langs/en-US/core.json
deleted file mode 100644
index 7b8090c..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/core.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "user": {
- "name": "User",
- "title": "User Management",
- "list": "User List",
- "userName": "User Name",
- "account": "Account",
- "mobile": "Mobile",
- "mobileFormatError": "Please enter a valid mobile phone format",
- "email": "Email",
- "emailFormatError": "Please enter a valid email format",
- "gender": "Gender",
- "unknown": "Unknown",
- "male": "Male",
- "female": "Female",
- "locked": "Locked",
- "status": "Status",
- "role": "Role",
- "post": "Post",
- "dept": "Department",
- "selectRole": "Please select role",
- "selectPost": "Please select post",
- "selectDept": "Please select department",
- "createTime": "Create Time",
- "operation": "Operation",
- "batchDelete": "Batch Delete",
- "resetPassword": "Reset Password",
- "resetPasswordTitle": "Reset Password",
- "resetPasswordConfirm": "Are you sure you want to reset the password for {0}?",
- "resetPasswordSuccess": "Successfully reset the password for {0}",
- "resetPasswordError": "Failed to reset password",
- "cannotDeleteAdmin": "Cannot delete administrator account",
- "cannotResetAdminPassword": "Cannot reset administrator password",
- "selectUsersToDelete": "Please select users to delete first",
- "batchDeleteTitle": "Batch Delete Users",
- "batchDeleteConfirm": "Are you sure you want to delete the selected {0} users? {1}",
- "deleteSuccess": "Successfully deleted {0} users",
- "deleteError": "Failed to delete users",
- "avatar": "Avatar",
- "selectAvatar": "Select Avatar",
- "avatarHelp": "Recommended to upload a square image, maximum 2MB",
- "birthday": "Birthday",
- "selectBirthday": "Select Birthday",
- "city": "City",
- "address": "Address",
- "bio": "Bio",
- "bioPlaceholder": "Please enter bio",
- "manager": "Manager",
- "selectManager": "Please select manager",
- "userType": "User Type",
- "systemUser": "System User",
- "normalUser": "Normal User",
- "externalUser": "External User"
- }
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/dashboard-design.json b/web/apps/web-ele/src/locales/langs/en-US/dashboard-design.json
deleted file mode 100644
index 6197b63..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/dashboard-design.json
+++ /dev/null
@@ -1,894 +0,0 @@
-{
- "title": "Dashboard Design",
- "preview": "Preview",
- "save": "Save",
- "saveSuccess": "Save successful",
- "clear": "Clear",
- "clearConfirm": "Are you sure you want to clear the canvas? This action cannot be undone.",
- "clearSuccess": "Cleared",
- "export": "Export",
- "exportSuccess": "Export successful",
- "import": "Import",
- "importTitle": "Import Configuration",
- "importPlaceholder": "Please paste JSON configuration content...",
- "importSuccess": "Import successful",
- "importError": "Invalid configuration format",
- "importEmpty": "Please enter configuration content",
- "viewCode": "View Code",
- "jsonPreview": "JSON Preview",
- "copyCode": "Copy Code",
- "copySuccess": "Copied to clipboard",
- "copyError": "Copy failed",
- "undoSuccess": "Undone",
- "redoSuccess": "Redone",
- "copyWidgetSuccess": "Copied",
- "pasteWidgetSuccess": "Pasted",
- "deleteWidgetSuccess": "Deleted",
- "noWidgetsTip": "Please add widgets first",
- "noConfigTip": "No dashboard configuration",
- "loadingData": "Loading data...",
- "loadDataError": "Failed to load data",
- "unknownWidget": "Unknown widget type",
- "widgetCount": "{count} widgets",
- "dragTip": "Drag widgets from the left to here",
- "add": "Add",
- "copy": "Copy",
- "delete": "Delete",
- "reset": "Reset",
- "clean": "Clear",
- "canvas": {
- "title": "Design Canvas",
- "adaptive": "Adaptive",
- "actualSize": "Actual Size",
- "settings": "Canvas Settings",
- "undo": "Undo",
- "redo": "Redo"
- },
- "months": {
- "jan": "Jan",
- "feb": "Feb",
- "mar": "Mar",
- "apr": "Apr",
- "may": "May",
- "jun": "Jun",
- "jul": "Jul",
- "aug": "Aug",
- "sep": "Sep",
- "oct": "Oct",
- "nov": "Nov",
- "dec": "Dec"
- },
- "weekdaysShort": {
- "mon": "Mon",
- "tue": "Tue",
- "wed": "Wed",
- "thu": "Thu",
- "fri": "Fri",
- "sat": "Sat",
- "sun": "Sun"
- },
- "material": {
- "title": "Material Library",
- "search": "Search widgets...",
- "category": {
- "common": "Common",
- "chart": "Chart",
- "filter": "Filter",
- "map": "Map",
- "media": "Media",
- "other": "Other"
- },
- "widgets": {
- "statCard": "Stat Card",
- "progressCard": "Progress Card",
- "chartLine": "Line Chart",
- "chartBar": "Bar Chart",
- "chartPie": "Pie Chart",
- "chartGauge": "Gauge Chart",
- "chartArea": "Area Chart",
- "chartRadar": "Radar Chart",
- "chartFunnel": "Funnel Chart",
- "chartScatter": "Scatter Chart",
- "chartRing": "Ring Progress",
- "chartHeatmap": "Heatmap",
- "chartKline": "K-line Chart",
- "chartSankey": "Sankey Chart",
- "todoList": "Todo List",
- "noticeList": "Message Notification",
- "announcementList": "Announcement List",
- "rankingList": "Ranking List",
- "quickLinks": "Quick Links",
- "welcomeCard": "Welcome Card",
- "calendar": "Calendar",
- "countdown": "Countdown",
- "clock": "Clock",
- "weather": "Weather",
- "imageCarousel": "Image Carousel",
- "dataTable": "Data Table",
- "iframe": "iframe Embed",
- "videoPlayer": "Video Player",
- "image": "Image",
- "formRender": "Form Render",
- "approvalCenter": "Approval Center",
- "myApps": "My Apps",
- "serverMonitor": "Server Monitor",
- "filterInput": "Input Filter",
- "filterSelect": "Select Filter",
- "filterDate": "Date Filter",
- "filterDateRange": "Date Range"
- },
- "defaultProps": {
- "statTitle": "Statistic Data",
- "trendLabel": "vs Yesterday",
- "progressTitle": "Completion Progress",
- "visitTrend": "Visit Trend",
- "visits": "Visits",
- "downloads": "Downloads",
- "salesStat": "Sales Statistics",
- "trafficSource": "Traffic Source",
- "searchEngine": "Search Engine",
- "directAccess": "Direct Access",
- "emailMarketing": "Email Marketing",
- "unionAds": "Union Ads",
- "videoAds": "Video Ads",
- "sysLoad": "System Load",
- "abilityEval": "Ability Evaluation",
- "sales": "Sales",
- "mgmt": "Mgmt",
- "tech": "Tech",
- "cs": "CS",
- "rd": "R&D",
- "mkt": "Mkt",
- "budget": "Budget",
- "actual": "Actual",
- "convFunnel": "Conversion Funnel",
- "visit": "Visit",
- "consult": "Consult",
- "intent": "Intent",
- "order": "Order",
- "deal": "Deal",
- "dataDist": "Data Distribution",
- "height": "Height (cm)",
- "weight": "Weight (kg)",
- "male": "Male",
- "female": "Female",
- "kpiDone": "KPI Completion",
- "salesVolume": "Sales Volume",
- "orderVolume": "Order Volume",
- "customerCount": "Customer Count",
- "weekVisitHeat": "Weekly Visit Heat",
- "stockTrend": "Stock Trend",
- "todoTitle": "To-do Items",
- "todoItem1": "Complete project report",
- "todoItem2": "Team weekly meeting",
- "todoItem3": "Code review",
- "latestNotice": "Message Notification",
- "latestAnnouncement": "Latest Announcements",
- "salesRanking": "Sales Ranking",
- "welcomeTitle": "Welcome back",
- "welcomeSubtitle": "Today is a good day",
- "countdownTitle": "Event Countdown",
- "todayWeather": "Today's Weather",
- "dataList": "Data List",
- "externalPage": "External Page",
- "itemName": "Item",
- "imageTitle": "Image",
- "myDashboard": "My Dashboard",
- "formRender": "Form Data",
- "approvalCenter": "Approval Center",
- "myApps": "My Apps",
- "serverMonitor": "Server Monitor",
- "filterInput": "Keyword",
- "filterInputPlaceholder": "Enter keyword to filter...",
- "filterSelect": "Select Filter",
- "filterSelectPlaceholder": "Please select...",
- "filterDate": "Date",
- "filterDatePlaceholder": "Select date",
- "filterDateRange": "Date Range",
- "filterStartDate": "Start Date",
- "filterEndDate": "End Date"
- }
- },
- "attribute": {
- "title": "Attribute Panel",
- "canvasConfig": "Canvas Config",
- "widgetConfig": "Widget Config",
- "styleConfig": "Style Config",
- "dataConfig": "Data Config",
- "globalSettings": "Global Settings",
- "dashboardName": "Dashboard Name",
- "gridLayout": "Grid Layout",
- "columns": "Columns",
- "rowHeight": "Row Height (px)",
- "widgetMargin": "Widget Margin (px)",
- "horizontal": "Horizontal",
- "vertical": "Vertical",
- "background": "Background",
- "backgroundColor": "Background Color",
- "reset": "Reset",
- "display": "Display",
- "outerMargin": "Outer Margin",
- "outerMarginTip": "Show outer margin during rendering",
- "widgetTitle": "Title",
- "layout": "Layout",
- "widthGrid": "Width (Grid)",
- "heightGrid": "Height (Grid)",
- "layoutTip": "Tip: Resize widgets directly on the canvas",
- "iconConfig": "Icon Config",
- "icon": "Icon",
- "iconColor": "Icon Color",
- "status": "Status",
- "strokeWidth": "Stroke Width",
- "showText": "Show Text",
- "border": "Border",
- "borderWidth": "Border Width",
- "borderColor": "Border Color",
- "borderStyleLabel": "Border Style",
- "borderRadius": "Corner Radius",
- "shadow": "Shadow",
- "enableShadow": "Enable Shadow",
- "shadowColor": "Shadow Color",
- "shadowBlur": "Blur Radius",
- "chartLayout": "Chart Layout",
- "margin": {
- "left": "Left Margin (%)",
- "right": "Right Margin (%)",
- "top": "Top Margin (%)",
- "bottom": "Bottom Margin (%)"
- },
- "tabs": {
- "basic": "Basic",
- "data": "Data",
- "style": "Style"
- },
- "placeholder": {
- "name": "Please enter name",
- "title": "Please enter title",
- "remark": "Please enter description"
- },
- "iconOptions": {
- "trending": "Trending",
- "creditCard": "Credit Card",
- "users": "Users",
- "activity": "Activity",
- "bell": "Bell",
- "award": "Award"
- },
- "progressStatus": {
- "default": "Default",
- "success": "Success",
- "warning": "Warning",
- "exception": "Exception"
- },
- "colorTheme": {
- "label": "Color Theme",
- "default": "Default",
- "fresh": "Fresh",
- "business": "Business",
- "tech": "Tech",
- "warm": "Warm"
- },
- "chart": {
- "smooth": "Smooth Curve",
- "showArea": "Show Area",
- "showSymbol": "Show Symbol",
- "symbolSize": "Symbol Size",
- "lineWidth": "Line Width",
- "axis": "Axis",
- "xAxisName": "X-Axis Name",
- "yAxisName": "Y-Axis Name",
- "nameLocation": "Name Location",
- "legend": "Legend",
- "showLegend": "Show Legend",
- "legendPosition": "Legend Position",
- "barWidth": "Bar Width",
- "barRadius": "Bar Radius",
- "horizontal": "Horizontal",
- "stack": "Stack",
- "showBackground": "Show Background",
- "pieType": "Pie Type",
- "showLabel": "Show Label",
- "labelPosition": "Label Position",
- "minValue": "Min Value",
- "maxValue": "Max Value",
- "splitNumber": "Split Number",
- "showProgress": "Show Progress",
- "showMA5": "Show MA5",
- "showMA10": "Show MA10",
- "shape": "Shape",
- "sort": "Sort",
- "orient": "Orient",
- "pointSize": "Point Size",
- "numerical": "Numerical Config",
- "currentValue": "Current Value",
- "min": "Min",
- "max": "Max",
- "unit": "Unit",
- "maConfig": "MA Config",
- "prefix": "Prefix",
- "suffix": "Suffix",
- "trendConfig": "Trend Config",
- "trendValue": "Trend Value (%)",
- "trendTip": "Positive for increase, negative for decrease",
- "trendLabel": "Trend Description",
- "seriesNamePrefix": "Series",
- "itemNamePrefix": "Item",
- "placeholder": {
- "xAxis": "e.g. Month",
- "yAxis": "e.g. Sales",
- "unit": "e.g. %",
- "title": "Please enter title",
- "xAxis2": "Separated by commas, e.g. Jan, Feb, Mar",
- "seriesData": "Separated by commas, e.g. 100, 200, 300",
- "seriesName": "Series Name",
- "prefix": "e.g. $",
- "suffix": "e.g. items, %",
- "trendLabel": "e.g. vs Yesterday",
- "subtitle": "Please enter subtitle"
- },
- "location": {
- "start": "Start",
- "middle": "Middle",
- "end": "End",
- "top": "Top",
- "bottom": "Bottom",
- "left": "Left",
- "right": "Right"
- },
- "pieTypes": {
- "pie": "Pie",
- "ring": "Ring",
- "rose": "Rose"
- },
- "labelPositions": {
- "outside": "Outside",
- "inside": "Inside"
- },
- "barWidthOptions": {
- "auto": "Auto",
- "thin": "Thin (30%)",
- "medium": "Medium (50%)",
- "thick": "Thick (70%)"
- },
- "shapes": {
- "polygon": "Polygon",
- "circle": "Circle"
- },
- "sortOptions": {
- "descending": "Descending",
- "ascending": "Ascending",
- "none": "None"
- },
- "orientOptions": {
- "vertical": "Vertical",
- "horizontal": "Horizontal"
- },
- "dataEditMode": "Edit Mode",
- "dataEditForm": "Form",
- "dataEditJson": "JSON",
- "jsonPlaceholder": "JSON format data",
- "jsonTip": "Edit JSON directly, automatically applied on blur",
- "xAxisData": "X-Axis Data",
- "seriesDataLabel": "Series Data",
- "addSeries": "Add Series",
- "dataItem": "Data Item",
- "addItem": "Add Data Item",
- "radarTip": "Radar chart data is complex, JSON mode is recommended",
- "scatterTip": "Scatter chart data is coordinate points, JSON mode is recommended",
- "ringTip": "Ring progress data JSON mode is recommended",
- "heatmapTip": "Heatmap data JSON mode is recommended",
- "klineTip": "K-line data JSON mode is recommended",
- "sankeyTip": "Sankey data JSON mode is recommended",
- "gaugeTip": "Gauge data set 'Current Value' in Basic Config"
- },
- "dataSource": {
- "dataType": "Data Type",
- "static": "Static Data",
- "uploadImage": "Image Upload",
- "uploadVideo": "Video Upload",
- "dataSource": "Data Source",
- "api": "API Interface",
- "config": "Data Source Config",
- "select": "Select Data Source",
- "selectPlaceholder": "Please select data source",
- "mapping": "Field Mapping",
- "sourceField": "Source Field",
- "targetField": "Target",
- "addMapping": "Add Mapping",
- "mappingTip": "Tip: Data source mapping is configured in 'Data Source Management', additional mappings here override default.",
- "refresh": "Refresh Config",
- "autoRefresh": "Auto Refresh",
- "interval": "Refresh Interval",
- "intervalUnit": "Unit: seconds, min 5 seconds",
- "apiConfig": "API Config",
- "apiUrl": "Request URL",
- "apiUrlPlaceholder": "e.g. /api/dashboard/stats",
- "apiMethod": "Request Method",
- "dataPath": "Data Path",
- "dataPathPlaceholder": "e.g. data.list",
- "dataPathTip": "Path to extract data from response",
- "enableRefresh": "Enable Refresh",
- "intervalSeconds": "Refresh Interval (s)",
- "paramBinding": "Param Binding",
- "paramName": "Data Source Param",
- "globalParam": "Filter Param",
- "addBinding": "Add Binding",
- "paramBindingTip": "Bind filter component parameters to data source parameters for interactive filtering. Select data source parameter on the left, select or enter filter parameter key on the right.",
- "required": "Required"
- },
- "widget": {
- "todo": {
- "items": "Todo Items",
- "add": "Add Todo",
- "done": "Done",
- "newItem": "New Todo",
- "priority": {
- "high": "High",
- "medium": "Medium",
- "low": "Low"
- }
- },
- "notice": {
- "tip": "Notice list automatically fetched from system messages, no manual configuration needed",
- "limit": "Display Count"
- },
- "announcement": {
- "tip": "Announcement list automatically fetched from system announcements, no manual configuration needed",
- "limit": "Display Count"
- },
- "ranking": {
- "items": "Ranking Items",
- "add": "Add Ranking",
- "newItem": "New Member"
- },
- "quickLinks": {
- "title": "Quick Links",
- "tip": "Click grid to select menu, icon automatically uses menu config",
- "iconColorDefault": "Default Theme Color",
- "selectMenu": "Select Menu"
- },
- "welcome": {
- "subtitle": "Subtitle",
- "subtitlePlaceholder": "Please enter subtitle",
- "showTime": "Show Time"
- },
- "countdown": {
- "config": "Countdown Settings",
- "targetTime": "Target Time",
- "targetTimePlaceholder": "Select target time",
- "showDays": "Show Days",
- "showHours": "Show Hours",
- "showMinutes": "Show Minutes",
- "showSeconds": "Show Seconds",
- "finishedText": "Finished Text",
- "finishedTextPlaceholder": "e.g. Finished"
- },
- "clock": {
- "config": "Clock Settings",
- "showDate": "Show Date",
- "showSeconds": "Show Seconds",
- "format24": "24H Format",
- "timezone": "Timezone",
- "timezoneOptions": {
- "local": "Local Time",
- "utc": "UTC",
- "beijing": "Beijing Time",
- "tokyo": "Tokyo Time",
- "newyork": "New York Time",
- "london": "London Time"
- }
- },
- "weather": {
- "config": "Weather Config",
- "cityName": "City Name",
- "cityNamePlaceholder": "e.g. Beijing",
- "presetCity": "Preset City",
- "presetCityPlaceholder": "Quick select city",
- "latitude": "Latitude",
- "longitude": "Longitude",
- "autoLocate": "Auto Locate",
- "refreshInterval": "Refresh Interval (min)",
- "refreshIntervalTip": "Unit: minutes, minimum 5 minutes"
- },
- "carousel": {
- "config": "Carousel Settings",
- "autoplay": "Autoplay",
- "interval": "Interval",
- "intervalUnit": "ms",
- "showIndicator": "Show Indicator",
- "showArrow": "Show Arrow",
- "imageList": "Image List",
- "addImage": "Add Image",
- "selectFromGallery": "From Gallery",
- "selectedImages": "Selected Images",
- "selectTip": "Please select images from gallery",
- "newItem": "New Image"
- },
- "table": {
- "config": "Table Settings",
- "stripe": "Stripe",
- "border": "Border",
- "showIndex": "Show Index",
- "showHeader": "Show Header",
- "highlightCurrentRow": "Highlight Current Row",
- "alignment": "Alignment",
- "headerAlign": "Header Align",
- "cellAlign": "Cell Align",
- "heightConfig": "Height Config",
- "height": "Fixed Height",
- "heightPlaceholder": "e.g. 300px or 100%",
- "heightTip": "Supports pixels or percentage",
- "maxHeight": "Max Height",
- "maxHeightPlaceholder": "e.g. 500",
- "maxHeightTip": "Shows scrollbar when exceeded",
- "customization": "Customization",
- "emptyText": "Empty Text",
- "emptyTextPlaceholder": "No data",
- "headerBgColor": "Header Background",
- "summaryConfig": "Summary Config",
- "showSummary": "Show Footer Summary",
- "summaryType": "Summary Type",
- "summaryTypes": {
- "sum": "Sum",
- "avg": "Average",
- "count": "Count",
- "max": "Maximum",
- "min": "Minimum"
- },
- "summaryPrecision": "Decimal Places",
- "summaryColumns": "Summary Columns",
- "noColumnsConfigured": "Please configure table columns first",
- "mergeConfig": "Merge Config",
- "enableMerge": "Enable Merge",
- "mergeRules": "Merge Rules",
- "mergeTypes": {
- "row": "Row Merge",
- "column": "Column Merge"
- },
- "selectMergeField": "Select merge field",
- "rowIndex": "Row Index",
- "startCol": "Start Column",
- "colspan": "Column Span",
- "addMergeRule": "Add Merge Rule",
- "size": "Size",
- "sizeOptions": {
- "default": "Default",
- "large": "Large",
- "small": "Small"
- },
- "columnConfig": "Column Config",
- "columnConfigJson": "Column Config JSON",
- "tableData": "Table Data",
- "tableDataJson": "Table Data JSON",
- "complexDataTip": "Table data structure is complex, JSON mode is recommended"
- },
- "iframe": {
- "config": "Display Settings",
- "showBorder": "Show Border",
- "allowFullscreen": "Allow Fullscreen",
- "pageAddress": "Page Address"
- },
- "video": {
- "config": "Playback Settings",
- "autoplay": "Autoplay",
- "loop": "Loop",
- "muted": "Muted",
- "controls": "Native Controls",
- "videoAddress": "Video Address",
- "poster": "Poster",
- "posterPlaceholder": "Poster Image URL (Optional)",
- "selectFromFileLib": "From File Library"
- },
- "image": {
- "title": "Image",
- "config": "Image Settings",
- "alt": "Alt Text",
- "altPlaceholder": "Alt text when image cannot be displayed",
- "fit": "Fit Mode",
- "fitOptions": {
- "cover": "Cover",
- "contain": "Contain",
- "fill": "Fill",
- "none": "None",
- "scaleDown": "Scale Down"
- },
- "lazy": "Lazy Load",
- "previewConfig": "Preview Settings",
- "zIndex": "Z-Index",
- "closeOnClickModal": "Close on Click Modal",
- "url": "Image URL",
- "urlPlaceholder": "Please enter image URL",
- "link": "Link URL",
- "previewList": "Preview List",
- "previewListTip": "List of images to preview when clicked, current image if empty",
- "addImage": "Add Image",
- "mainImage": "Main Image"
- },
- "common": {
- "staticDataTip": "Current component uses static data, can be modified in Basic Config"
- },
- "formRender": {
- "formConfig": "Form Config",
- "formCode": "Select Form",
- "formCodePlaceholder": "Please select a form",
- "containerType": "Container Type",
- "drawer": "Drawer",
- "dialog": "Dialog",
- "displayConfig": "Display Config",
- "showToolbar": "Show Toolbar",
- "showPagination": "Show Pagination",
- "pageSize": "Page Size",
- "buttonConfig": "Button Config",
- "showAdd": "Add Button",
- "showView": "View Button",
- "showEdit": "Edit Button",
- "showDelete": "Delete Button"
- }
- },
- "fieldLabels": {
- "title": "Title",
- "value": "Value",
- "time": "Time",
- "trend": "Trend %",
- "trendLabel": "Trend Desc",
- "prefix": "Prefix",
- "suffix": "Suffix",
- "percentage": "Percentage",
- "xAxisData": "X-Axis Data",
- "seriesData": "Series Data",
- "currentValue": "Current Value",
- "min": "Min",
- "max": "Max",
- "listData": "List Data",
- "linkData": "Link Data"
- },
- "resultType": {
- "list": "List",
- "tree": "Tree",
- "object": "Object",
- "value": "Value",
- "chartAxis": "Axis Chart",
- "chartPie": "Pie Chart",
- "chartGauge": "Gauge Chart",
- "chartRadar": "Radar Chart",
- "chartScatter": "Scatter Chart",
- "chartHeatmap": "Heatmap"
- },
- "borderStyle": {
- "solid": "Solid",
- "dashed": "Dashed",
- "dotted": "Dotted",
- "none": "None"
- }
- },
- "widgets": {
- "announcement": {
- "markAllRead": "Mark All as Read",
- "top": "Top",
- "noData": "No Announcements",
- "loading": "Loading...",
- "noContent": "No detailed content",
- "publisher": "Publisher: ",
- "priority": {
- "normal": "Normal",
- "important": "Important",
- "urgent": "Urgent"
- },
- "time": {
- "justNow": "Just now",
- "minutesAgo": " minutes ago",
- "hoursAgo": " hours ago",
- "daysAgo": " days ago"
- }
- },
- "weather": {
- "city": "City",
- "humidity": "Humidity",
- "wind": "Wind",
- "loading": "Loading weather data...",
- "error": "Failed to fetch weather data",
- "codes": {
- "clear": "Clear",
- "mainlyClear": "Mainly Clear",
- "partlyCloudy": "Partly Cloudy",
- "overcast": "Overcast",
- "fog": "Fog",
- "drizzle": "Drizzle",
- "rain": "Rain",
- "snow": "Snow",
- "showers": "Showers",
- "snowShowers": "Snow Showers",
- "thunderstorm": "Thunderstorm"
- },
- "windDir": {
- "n": "N",
- "ne": "NE",
- "e": "E",
- "se": "SE",
- "s": "S",
- "sw": "SW",
- "w": "W",
- "nw": "NW"
- }
- },
- "chart": {
- "visits": "Visits"
- },
- "iframe": {
- "refresh": "Refresh",
- "openNew": "Open in New Tab",
- "placeholder": "iframe Embedding",
- "noUrl": "URL not set",
- "loading": "Loading...",
- "loadFailed": "Load failed",
- "retry": "Click to retry"
- },
- "todo": {
- "title": "To-do List",
- "noData": "No to-dos",
- "priority": {
- "high": "High",
- "medium": "Medium",
- "low": "Low"
- }
- },
- "dataTable": {
- "status": {
- "normal": "Normal",
- "warning": "Warning",
- "error": "Error",
- "success": "Success",
- "failed": "Failed",
- "processing": "Processing"
- },
- "summary": {
- "sum": "Sum",
- "avg": "Avg",
- "count": "Count",
- "max": "Max",
- "min": "Min"
- }
- },
- "formRender": {
- "placeholder": "Form Render Widget",
- "noFormCode": "Please configure form code",
- "deleteConfirm": "Are you sure to delete this data?",
- "batchDeleteConfirm": "Are you sure to delete the selected {count} records?",
- "importResult": "Successfully imported {success}, failed {failed}",
- "view": "View"
- },
- "welcome": {
- "greeting": {
- "night": "Good late night",
- "morning": "Good morning",
- "morning2": "Good morning",
- "noon": "Good noon",
- "afternoon": "Good afternoon",
- "evening": "Good evening"
- }
- },
- "countdown": {
- "day": "d",
- "hour": "h",
- "minute": "m",
- "second": "s",
- "finished": "Finished"
- },
- "video": {
- "placeholder": "Video Player"
- },
- "ranking": {
- "tenThousand": "W"
- },
- "clock": {
- "weekdays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
- "year": "-",
- "month": "-",
- "day": ""
- },
- "image": {
- "title": "Image",
- "noData": "No images"
- },
- "approvalCenter": {
- "initiated": "My Initiated",
- "pending": "My Pending",
- "handling": "My Handling",
- "signing": "My Signing",
- "handled": "My Handled",
- "copy": "CC to Me",
- "start": "Start Process",
- "more": "More",
- "config": "Approval Center Config",
- "routePrefix": "Route Prefix"
- },
- "myApps": {
- "more": "More",
- "noData": "No apps"
- },
- "serverMonitor": {
- "config": "Server Monitor Config",
- "cpuBgColor": "CPU Background",
- "memoryBgColor": "Memory Background",
- "diskBgColor": "Disk Background",
- "networkBgColor": "Network Background",
- "core": " Cores",
- "thread": " Threads",
- "memory": "Memory",
- "disk": "Disk",
- "network": "Network",
- "read": "Read",
- "write": "Write",
- "upload": "Upload",
- "download": "Download",
- "totalRW": "Total R/W",
- "uptime": "Uptime",
- "days": "d ",
- "hours": "h ",
- "minutes": "m"
- }
- },
- "filter": {
- "config": "Filter Config",
- "paramKey": "Param Key",
- "paramKeyPlaceholder": "e.g. status",
- "startParamKey": "Start Date Param",
- "startParamKeyPlaceholder": "e.g. start_date",
- "endParamKey": "End Date Param",
- "endParamKeyPlaceholder": "e.g. end_date",
- "label": "Label",
- "labelPlaceholder": "Enter label",
- "defaultValue": "Default Value",
- "noParamKey": "Param key not configured",
- "optionConfig": "Option Config",
- "optionSource": "Option Source",
- "staticOptions": "Static Options",
- "optionLabel": "Label",
- "optionValue": "Value",
- "addOption": "Add Option",
- "optionDataSource": "Option Data Source",
- "labelField": "Label Field",
- "valueField": "Value Field",
- "multiple": "Multiple",
- "dateFormat": "Date Format",
- "styleConfig": "Style Config",
- "labelPosition": "Label Position",
- "labelPositionLeft": "Left",
- "labelPositionTop": "Top",
- "labelPositionHidden": "Hidden",
- "labelWidth": "Label Width",
- "labelAlign": "Label Align",
- "alignLeft": "Left",
- "alignCenter": "Center",
- "alignRight": "Right",
- "componentSize": "Size",
- "sizeLarge": "Large",
- "sizeDefault": "Default",
- "sizeSmall": "Small",
- "showBorder": "Show Border",
- "borderRadius": "Border Radius"
- },
- "gradient": {
- "solid": "Solid",
- "gradient": "Gradient",
- "startColor": "Start",
- "endColor": "End",
- "direction": "Direction",
- "noColor": "Not set",
- "presetTitle": "Preset Gradients",
- "presets": {
- "warmSunrise": "Warm Sunrise",
- "oceanBreeze": "Ocean Breeze",
- "freshMint": "Fresh Mint",
- "peachGlow": "Peach Glow",
- "lavenderDream": "Lavender Dream",
- "skyBlue": "Sky Blue",
- "roseWater": "Rose Water",
- "softGrass": "Soft Grass",
- "winterNymph": "Winter Nymph",
- "cottonCandy": "Cotton Candy",
- "sunnyMorning": "Sunny Morning",
- "crystalClear": "Crystal Clear"
- }
- }
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/data-source.json b/web/apps/web-ele/src/locales/langs/en-US/data-source.json
deleted file mode 100644
index 4c6cd67..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/data-source.json
+++ /dev/null
@@ -1,283 +0,0 @@
-{
- "basicInfo": "Basic Info",
- "codePlaceholder": "Enter unique code, e.g. user_list",
- "dataSourceConfig": "Data Source Configuration",
- "dataSourceName": "Data Source Name",
- "inputDataSourceName": "Please enter data source name",
- "dataSourceType": "Data Source Type",
- "selectDataSourceType": "Please select data source type",
- "dataSourceDescription": "Data Source Description",
- "inputDataSourceDescription": "Please enter data source description",
- "testConnection": "Test Connection",
- "testConnectionSuccess": "Connection successful",
- "testConnectionFailed": "Connection failed",
- "testing": "Testing...",
- "save": "Save",
- "cancel": "Cancel",
- "create": "Create",
- "edit": "Edit",
- "delete": "Delete",
- "query": "Query",
- "sqlEditor": "SQL Editor",
- "executeSql": "Execute SQL",
- "executing": "Executing...",
- "queryResult": "Query Result",
- "noData": "No data",
- "error": "Error",
- "confirm": "Confirm",
- "close": "Close",
- "dbSchema": "Database",
- "tables": "Tables",
- "columns": "Columns",
- "dataType": "Data Type",
- "nullable": "Nullable",
- "primaryKey": "Primary Key",
- "loading": "Loading...",
- "paramType": "Parameter Type",
- "resultType": "Result Type",
- "httpMethod": "HTTP Method",
- "requestUrl": "Request URL",
- "inputRequestUrl": "Please enter request URL",
- "requestHeaders": "Request Headers",
- "requestBody": "Request Body",
- "responseMapping": "Response Mapping",
- "addParam": "Add Parameter",
- "paramName": "Parameter Name",
- "paramValue": "Parameter Value",
- "paramLabel": "Display Name",
- "deleteParam": "Delete Parameter",
- "total": "Total",
- "limited": "Limited",
- "dataSourceList": "Data Source List",
- "createDataSource": "Create Data Source",
- "editDataSource": "Edit Data Source",
- "deleteDataSourceConfirm": "Are you sure you want to delete this data source?",
- "deleteDataSourceSuccess": "Deleted successfully",
- "createDataSourceSuccess": "Created successfully",
- "updateDataSourceSuccess": "Updated successfully",
- "loadDataSourceFailed": "Failed to load data source",
- "testDataSourceFailed": "Failed to test data source",
- "previousStep": "Previous",
- "nextStep": "Next",
- "basicInfoConfig": "Basic Information Configuration",
- "status": "Status",
- "enable": "Enable",
- "disable": "Disable",
- "selectDbSchema": "Please select database on the left",
- "tip": "Tip",
- "useParamPlaceholder": "Use",
- "onlySelectQuery": "as parameter placeholder, only SELECT queries are allowed",
- "paramDefinition": "Parameter Definition",
- "defineDataSourceParams": "Define parameters that the data source can receive",
- "required": "Required",
- "action": "Action",
- "resultProcessing": "Result Processing",
- "resultTypeListDesc": "Return array data directly, suitable for tables, dropdown selections and other components.",
- "resultTypeTreeDesc": "Convert flat list to tree structure, suitable for tree selection, cascade selection and other components.",
- "resultTypeObjectDesc": "Return the first record as an object, suitable for detail display, form backfill and other scenarios.",
- "resultTypeValueDesc": "Return the first field value of the first record, suitable for statistics, titles and other scenarios.",
- "resultTypeChartAxisDesc": "Convert to xAxisData, seriesData format, suitable for line charts, bar charts, area charts.",
- "resultTypeChartPieDesc": "Convert to seriesData: [name, value] format, suitable for pie charts, funnel charts.",
- "resultTypeChartGaugeDesc": "Convert to value, name, max format, suitable for gauges, progress charts.",
- "resultTypeChartRadarDesc": "Convert to indicator, seriesData format, suitable for radar charts, multi-dimensional comparison.",
- "resultTypeChartScatterDesc": "Convert to seriesData: [x, y] format, suitable for scatter plots, bubble charts.",
- "resultTypeChartHeatmapDesc": "Convert to xAxisData, yAxisData, seriesData format, suitable for heatmaps.",
- "treeConversionConfig": "Tree Conversion Configuration",
- "refresh": "Refresh",
- "fieldPreview": "Field Preview",
- "clickTableToView": "Click table name to view",
- "selectTable": "Please select a table",
- "noFieldInfo": "No field information",
- "clickFieldToInsert": "Click field name to insert into editor",
- "testDataSource": "Test Data Source",
- "dataSourceInfo": "Data Source Information",
- "code": "Code",
- "type": "Type",
- "name": "Name",
- "inputCode": "Please enter code",
- "all": "All",
- "staticData": "Static Data",
- "staticLabel": "Static",
- "batchDelete": "Batch Delete",
- "more": "More",
- "copy": "Copy",
- "deleteConfirmMessage": "Are you sure you want to delete data source \"{name}\"?",
- "deleteConfirmTitle": "Delete Confirmation",
- "deleteSuccess": "Data source deleted: {name}",
- "batchDeleteConfirmMessage": "Are you sure you want to delete {count} selected data sources?",
- "batchDeleteConfirmTitle": "Batch Delete Confirmation",
- "batchDeleteSuccess": "Deleted {count} data sources",
- "inputNewCode": "Please enter new data source code",
- "copyDataSource": "Copy Data Source",
- "codeFormatError": "Code must start with a letter and contain only letters, numbers and underscores",
- "copySuccess": "Copied successfully",
- "importExport": {
- "export": "Export",
- "import": "Import Config",
- "exportSuccess": "Data source config exported",
- "exportFailed": "Export failed",
- "importTitle": "Import Data Source Config",
- "dragOrClick": "Drag a JSON file here or click to upload",
- "onlyJson": "Only .json files are supported",
- "fileParseError": "Failed to parse file. Please check the format",
- "checking": "Checking...",
- "codeConflictTip": "Data source code already exists. Please change the code before importing",
- "codeAvailable": "Data source code is available",
- "newCodePlaceholder": "Enter a new data source code",
- "importSuccess": "Data source config imported successfully",
- "importFailed": "Import failed",
- "confirmImport": "Confirm Import",
- "reselect": "Reselect",
- "dataSourceInfo": "Data Source Info",
- "appTip": "Imported data source will belong to the current application",
- "dbConnectionTip": "For SQL sources, db_connection is a connection name — ensure it exists in the target environment"
- },
- "saveSuccess": "Saved successfully",
- "createTime": "Creation Time",
- "apiInterface": "API Interface",
- "sqlQuery": "SQL Query",
- "resultTypeList": "List",
- "resultTypeTree": "Tree",
- "resultTypeSingleObject": "Single Object",
- "resultTypeSingleValue": "Single Value",
- "resultTypeAxisChart": "Axis Chart",
- "resultTypePieChart": "Pie Chart Data",
- "resultTypeGauge": "Gauge",
- "resultTypeRadarChart": "Radar Chart",
- "resultTypeScatterChart": "Scatter Chart",
- "resultTypeHeatmap": "Heatmap",
- "paramTypeString": "String",
- "paramTypeInteger": "Integer",
- "paramTypeFloat": "Float",
- "paramTypeBoolean": "Boolean",
- "paramTypeDate": "Date",
- "paramTypeDatetime": "Datetime",
- "axisChartConfig": "Axis Chart Configuration",
- "xAxisField": "X Axis Field",
- "seriesField": "Series Field",
- "seriesName": "Series Name",
- "pieChartConfig": "Pie Chart Configuration",
- "nameField": "Name Field",
- "valueField": "Value Field",
- "gaugeChartConfig": "Gauge Chart Configuration",
- "maxField": "Max Field",
- "radarChartConfig": "Radar Chart Configuration",
- "indicatorNameField": "Indicator Name Field",
- "scatterChartConfig": "Scatter Chart Configuration",
- "xCoordinateField": "X Coordinate Field",
- "yCoordinateField": "Y Coordinate Field",
- "sizeField": "Size Field",
- "heatmapChartConfig": "Heatmap Configuration",
- "fieldMapping": "Field Mapping",
- "addMapping": "Add Mapping",
- "originalField": "Original Field",
- "mappedField": "Mapped Field",
- "deleteMapping": "Delete",
- "multipleFieldsComma": "Multiple fields separated by commas, e.g.: {example}",
- "multipleNamesComma": "Multiple names separated by commas, e.g.: {example}",
- "dataFieldsForChart": "Data fields used to draw charts",
- "optionalLegendNames": "Optional, the name displayed in the legend, leave blank to use field name",
- "oneFieldPerSeries": "One field per series",
- "optionalBubbleChart": "e.g.: size (optional, for bubble chart)",
- "optionalName": "e.g.: name (optional)",
- "optionalMax": "e.g.: max (optional)",
- "fieldNameMapping": "Map original field names to new field names, e.g. id -> value",
- "cacheConfig": "Cache Configuration",
- "enableCache": "Enable Cache",
- "cacheTime": "Cache Time",
- "cacheTimeUnit": "seconds (0 means no cache)",
- "test": "Test",
- "testParams": "Test Parameters",
- "executeTest": "Execute Test",
- "testResult": "Test Result",
- "success": "Success",
- "failed": "Failed",
- "returnedData": "Returned {count} records",
- "reachedLimit": "Reached limit {limit} records",
- "aiAssistant": "AI Assistant",
- "aiSqlAssistant": "AI SQL Assistant",
- "aiSqlAssistantTip": "AI will automatically generate SQL queries based on your requirements and database structure",
- "sqlWritingTip": "SQL runs against the connection default database. Use schema.table for PostgreSQL/SQL Server/Oracle; `db`.`table` or table for MySQL; bind params as :name. For external connections, pick tables in the tree or AI dialog so db_connection matches the connection code.",
- "describeYourQuery": "Describe your query requirements",
- "queryPlaceholder": "e.g.: Query the number of new users and active users per day in the last 30 days",
- "quickExamples": "Quick Examples",
- "selectDataTable": "Select Data Tables",
- "modifySelection": "Modify Selection",
- "selectedTables": "Selected {count} tables",
- "clear": "Clear",
- "pleaseSelectTableFirst": "Please select data tables first",
- "tableRelationsCount": "Configured {count} table relations",
- "includeTableRelations": "Include table relations (improves multi-table JOIN query accuracy)",
- "aiModel": "AI Model",
- "selectModel": "Select Model",
- "generating": "Generating...",
- "generateSql": "Generate SQL",
- "generationThought": "Generation Thought",
- "generatedSql": "Generated SQL",
- "paramSuggestions": "Parameter Suggestions",
- "default": "Default",
- "insertToEditor": "Insert to Editor",
- "sqlGenerateSuccess": "SQL generated successfully",
- "sqlGenerateFailed": "SQL generation failed",
- "sqlInserted": "Inserted to editor",
- "copied": "Copied to clipboard",
- "pleaseInputQuestion": "Please input query requirements",
- "pleaseSelectModel": "Please select AI model",
- "pleaseSelectTable": "Please select data tables first",
- "aiSqlInsertSuccess": "SQL inserted, parameters auto-configured",
- "manualMode": "Manual",
- "aiMode": "AI",
- "aiConfig": "AI Config",
- "aiSqlPlaceholder": "AI generated SQL will be displayed here...",
- "querying": "Querying...",
- "dataView": "Data",
- "chartView": "Chart",
- "clickTestToExecute": "Click button above to execute test",
- "rawData": "Raw Data",
- "selectChartTypeToPreview": "Please select a chart type in Result Processing to preview",
- "apiConfig": "API Configuration",
- "urlPlaceholder": "https://api.example.com/data",
- "apiTabBasic": "Basic",
- "apiTabAuth": "Auth",
- "apiTabQueryParams": "Query Params",
- "apiTabBody": "Body",
- "apiTabAdvanced": "Advanced",
- "timeout": "Timeout",
- "second": "s",
- "dataPath": "Data Path",
- "dataPathPlaceholder": "e.g. data.list",
- "description": "Description",
- "authType": "Auth Type",
- "authNone": "No Auth",
- "bearerTokenPlaceholder": "Enter Token, supports {param} placeholder",
- "username": "Username",
- "usernamePlaceholder": "Enter username",
- "password": "Password",
- "passwordPlaceholder": "Enter password",
- "keyPosition": "Key Position",
- "keyName": "Key Name",
- "keyValue": "Key Value",
- "bodyType": "Type",
- "bodyTypeNone": "None",
- "contentType": "Content-Type",
- "retryCount": "Retry Count",
- "retryInterval": "Retry Interval",
- "proxy": "Proxy",
- "followRedirects": "Follow Redirects",
- "verifySSL": "Verify SSL",
- "successCondition": "Success Condition",
- "successStatusCodes": "Status Codes",
- "successStatusCodesPlaceholder": "e.g. 200, 201 (empty checks 2xx)",
- "successFieldPath": "Field Path",
- "successFieldPathPlaceholder": "e.g. code",
- "successFieldValue": "Expected Value",
- "apiTabHeaders": "Headers",
- "viewRequest": "View Request",
- "queryParamsHint": "Parameters will auto-sync to URL",
- "headersHint": "Custom HTTP request headers",
- "addHeader": "Add Header",
- "headerName": "Name",
- "headerValue": "Value",
- "noQueryParams": "No query parameters",
- "noHeaders": "No headers"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/database-connection.json b/web/apps/web-ele/src/locales/langs/en-US/database-connection.json
deleted file mode 100644
index d57d022..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/database-connection.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "title": "Database Connections",
- "createConnection": "New Connection",
- "editConnection": "Edit Connection",
- "searchPlaceholder": "Search by name or code",
- "code": "Connection Code",
- "codePlaceholder": "e.g. erp_mysql",
- "codeTip": "Must start with a letter; letters, numbers, underscore, hyphen only; 'default' is reserved",
- "name": "Connection Name",
- "namePlaceholder": "Enter connection name",
- "dbType": "Database Type",
- "host": "Host",
- "hostPlaceholder": "e.g. 192.168.1.100",
- "port": "Port",
- "user": "Username",
- "userPlaceholder": "Database username",
- "password": "Password",
- "passwordPlaceholder": "Enter password",
- "passwordKeepHint": "Leave blank to keep existing password",
- "defaultDatabase": "Default Database",
- "defaultDatabasePlaceholder": "Default database after connect (Oracle: Service Name)",
- "dbTypePostgresql": "PostgreSQL",
- "dbTypeMysql": "MySQL",
- "dbTypeSqlserver": "SQL Server",
- "dbTypeOracle": "Oracle",
- "description": "Description",
- "descriptionPlaceholder": "Optional description",
- "status": "Enabled",
- "enabled": "Enabled",
- "disabled": "Disabled",
- "systemConnection": "System",
- "systemConnectionTip": "System default connection comes from DATABASE_URL and cannot be edited or deleted",
- "testConnection": "Test Connection",
- "testSuccess": "Connection successful",
- "testFailed": "Connection failed",
- "confirm": "Confirm",
- "cancel": "Cancel",
- "deleteConfirmTitle": "Delete Connection",
- "deleteConfirmMessage": "Delete connection \"{name}\"?",
- "deleteSuccess": "Connection \"{name}\" deleted",
- "createSuccess": "Connection created",
- "updateSuccess": "Connection updated",
- "empty": "No database connections yet. Click the button above to add one.",
- "codeExists": "Connection code already exists",
- "codeAvailable": "Connection code is available",
- "filterAll": "All",
- "noDescription": "No description",
- "requiredFields": "Please fill in connection code, name and host",
- "browseDatabase": "Browse Database",
- "backToConnectionList": "Back to Connections",
- "connectionNotFoundForBrowse": "Connection not found or disabled, cannot browse"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/database-manager.json b/web/apps/web-ele/src/locales/langs/en-US/database-manager.json
deleted file mode 100644
index c5e0117..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/database-manager.json
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "connectionInfo": "Connection Information",
- "testConnection": "Test Connection",
- "connectionName": "Connection Name",
- "databaseType": "Database Type",
- "connectionIdentifier": "Connection Identifier",
- "connectionStatus": "Connection Status",
- "connectionSuccessful": "✓ Connection Successful",
- "connectionFailed": "✗ Connection Failed",
- "notTested": "Not Tested",
- "testResult": "Test Result:",
- "testConnectionSuccess": "Connection test successful",
- "testConnectionFailed": "Connection test failed",
- "connectionError": "Connection failed",
- "usageInstructions": "Usage Instructions",
- "expandConnection": "· Expand Connection - View all databases under this connection",
- "selectDatabase": "· Select Database - View database details",
- "selectTable": "· Select Table - View table structure, query data, execute SQL",
- "searchFunction": "· Search Function - Quickly find databases or tables in the left tree",
- "quickActions": "Quick Actions",
- "testDatabaseConnection": "Test Database Connection",
- "tip": "Tip: Click on the left tree node to expand and view more content",
- "constraintList": "Constraint List",
- "addConstraint": "Add Constraint",
- "constraintName": "Constraint Name",
- "constraintNameTip": "A unique name to identify and manage this constraint",
- "constraintType": "Constraint Type",
- "constraintTypeTip": "Primary Key: unique row identifier; Foreign Key: links to another table; Unique: no duplicate values; Check: custom validation rule",
- "field": "Local Field",
- "constraintFieldTip": "Select the column(s) in this table used by the constraint",
- "definition": "Check Rule",
- "constraintDefinitionTip": "Required for CHECK constraints only, e.g. age > 0",
- "referencedTable": "Related Table",
- "referencedTableTip": "Select the target table to link to, usually the parent table",
- "referencedTablePlaceholder": "Enter referenced table name",
- "selectReferencedTable": "Select related table",
- "onDelete": "On Delete",
- "onDeleteTip": "What happens in this table when a related row is deleted",
- "onUpdate": "On Update",
- "onUpdateTip": "What happens in this table when the related column is updated",
- "fkActionDefault": "Default",
- "fkActionDefaultLabel": "Default rule",
- "fkActionDefaultTip": "Use the database default behavior",
- "fkActionNoActionLabel": "No action",
- "fkActionNoActionTip": "Block delete/update when related data exists",
- "fkActionRestrictLabel": "Restrict",
- "fkActionRestrictTip": "Immediately reject delete/update when related data exists",
- "fkActionCascadeLabel": "Cascade",
- "fkActionCascadeTip": "Also delete or update related rows in this table",
- "fkActionSetNullLabel": "Set null",
- "fkActionSetNullTip": "Set the foreign key column in this table to NULL",
- "fkActionSetDefaultLabel": "Set default",
- "fkActionSetDefaultTip": "Set the foreign key column in this table to its default value",
- "referencedColumns": "Related Column",
- "referencedColumnsTip": "Select the matching column in the related table, usually primary key id",
- "referencedColumnsPlaceholder": "Select related columns",
- "constraintNameRequired": "Please enter constraint name",
- "constraintColumnsRequired": "Please select constraint columns",
- "constraintCheckDefinitionRequired": "Please enter CHECK constraint definition",
- "constraintReferencedTableRequired": "Please enter referenced table for foreign key",
- "constraintReferencedColumnsRequired": "Please enter referenced columns for foreign key",
- "constraintReferencedColumnsMismatch": "Foreign key column count must match referenced column count",
- "constraintValidationFailed": "Constraint validation failed",
- "selectField": "Select Field",
- "constraintDefinition": "Constraint Definition (e.g.: age > 0)",
- "constraintDeleted": "Constraint deleted",
- "noConstraints": "No constraints, click \"Add Constraint\" to start creating",
- "foreignKey": "FOREIGN KEY",
- "foreignKeyLabel": "Foreign Key",
- "check": "CHECK",
- "checkLabel": "Check Rule",
- "database": "Database",
- "schema": "Schema",
- "tableName": "Table Name",
- "enterTableName": "Please enter table name",
- "tableComment": "Table Comment",
- "enterTableComment": "Please enter table comment (optional)",
- "fieldManagement": "Field Management",
- "indexManagement": "Index Management",
- "constraintManagement": "Constraint Management",
- "previewSQL": "Preview SQL",
- "createTable": "Create Table",
- "createTableSQLPreview": "CREATE TABLE SQL Preview",
- "executeCreate": "Execute Create",
- "fillTableNameAndFields": "Please fill in the table name and add at least one field",
- "createTableSuccess": "Table created successfully",
- "createTableFailed": "Failed to create table",
- "primaryKeyUUID": "Primary Key ID (UUID)",
- "databaseInfo": "Database Information",
- "databaseName": "Database Name",
- "owner": "Owner",
- "encoding": "Encoding",
- "collation": "Collation",
- "tableCount": "Table Count",
- "databaseSize": "Database Size",
- "description": "Description",
- "noDatabaseInfo": "No database information found",
- "viewTableList": "View Table List",
- "expandLeftTreeNode": "Expand the left tree node to view all tables in this database",
- "searchTable": "Search Table",
- "useSearchBox": "Use the search box on the left to quickly find table names",
- "switchToSqlTab": "Select any table and switch to the \"SQL Execution\" tab",
- "statistics": "Statistics",
- "loadDatabaseInfoFailed": "Failed to load database information",
- "tables": "Tables",
- "loading": "Loading...",
- "loadDatabaseConfigsFailed": "Failed to load database configurations",
- "loadDatabaseListFailed": "Failed to load database list",
- "loadSchemaListFailed": "Failed to load schema list",
- "loadTableListFailed": "Failed to load table list",
- "loadViewListFailed": "Failed to load view list",
- "cannotFindNode": "Cannot find node",
- "refreshSuccess": "Refresh successful",
- "refreshFailed": "Refresh failed",
- "expandNodeToViewLatestData": "Refresh successful, expand the node to view the latest data",
- "copiedToClipboard": "Copied to clipboard",
- "enterSchemaName": "Please enter schema name",
- "createSchema": "Create Schema",
- "schemaNamePattern": "Schema name can only contain letters, numbers and underscores, and must start with a letter or underscore",
- "schemaCreatedSuccess": "Schema \"{schemaName}\" created successfully",
- "createSchemaFailed": "Failed to create schema",
- "refreshConnection": "Refresh Connection",
- "viewInfo": "View Information",
- "copyConnectionName": "Copy Connection Name",
- "refreshDatabase": "Refresh Database",
- "copyDatabaseName": "Copy Database Name",
- "refreshSchema": "Refresh Schema",
- "copySchemaName": "Copy Schema Name",
- "refreshTableList": "Refresh Table List",
- "createNewTable": "Create New Table",
- "viewStatistics": "View Statistics",
- "refreshViewList": "Refresh View List",
- "createNewView": "Create New View",
- "refreshAllMaterializedViews": "Refresh All Materialized Views",
- "viewTableStructure": "View Table Structure",
- "queryData": "Query Data",
- "executeSql": "Execute SQL",
- "copyTableName": "Copy Table Name",
- "refresh": "Refresh",
- "viewViewStructure": "View View Structure",
- "viewDefinitionSQL": "View Definition SQL",
- "refreshView": "Refresh View",
- "copyViewName": "Copy View Name",
- "confirmTruncateTable": "Are you sure you want to clear all data in table \"{tableName}\"? This operation cannot be undone!",
- "deleteTable": "Delete Table",
- "confirmDeleteTable": "Are you sure you want to delete table \"{tableName}\"? This operation cannot be undone!",
- "deleteTableSuccess": "Table deleted successfully",
- "deleteTableFailed": "Failed to delete table",
- "warning": "Warning",
- "confirm": "Confirm",
- "cancel": "Cancel",
- "confirmRefreshMaterializedView": "Are you sure you want to refresh the materialized view \"{viewName}\"?",
- "onlyMaterializedViewNeedsRefresh": "Only materialized views need manual refresh",
- "confirmExportAllTables": "Are you sure you want to export all tables in the current Schema/Database?",
- "confirmExportAllViews": "Are you sure you want to export all views in the current Schema/Database?",
- "confirmRefreshAllMaterializedViews": "Are you sure you want to refresh all materialized views in the current Schema/Database? This may take some time.",
- "exportFeatureDevelopment": "Export feature is under development...",
- "importFeatureDevelopment": "Import feature is under development...",
- "editFeatureDevelopment": "Edit feature is under development...",
- "deleteFeatureDevelopment": "Delete feature is under development...",
- "truncateTableFeatureDevelopment": "Truncate table feature is under development...",
- "createViewFeatureDevelopment": "Create view feature is under development...",
- "exportAllTablesFeatureDevelopment": "Export all tables feature is under development...",
- "exportAllViewsFeatureDevelopment": "Export all views feature is under development...",
- "refreshAllMaterializedViewsFeatureDevelopment": "Refresh all materialized views feature is under development...",
- "selectItemFromLeft": "Please select an item from the left",
- "tableStructure": "Table Structure",
- "dataQuery": "Data Query",
- "sqlExecution": "SQL Execution",
- "objectEditor": "Object Editor",
- "viewStructure": "View Structure",
- "fieldList": "Field List",
- "fields": "Fields",
- "indexes": "Indexes",
- "constraints": "Constraints",
- "columns": "Columns",
- "addField": "Add Field",
- "serialNumber": "Serial Number",
- "fieldName": "Field Name",
- "dataType": "Data Type",
- "lengthPrecision": "Length/Precision",
- "decimalPlaces": "Decimal Places",
- "nullable": "Nullable",
- "defaultValue": "Default Value",
- "primaryKey": "Primary Key",
- "unique": "Unique",
- "comment": "Comment",
- "operation": "Operation",
- "fieldDeleted": "Field deleted",
- "noFields": "No fields, click \"Add Field\" to start creating",
- "type": "Type",
- "fieldNamePlaceholder": "e.g. product_name",
- "defaultValuePlaceholder": "Default value",
- "fieldCommentPlaceholder": "Field comment",
- "indexList": "Index List",
- "addIndex": "Add Index",
- "indexName": "Index Name",
- "indexType": "Index Type",
- "selectFields": "Select Fields",
- "indexDeleted": "Index deleted",
- "noIndexes": "No indexes, click \"Add Index\" to start creating",
- "indexNamePlaceholder": "Index name",
- "typePlaceholder": "Type",
- "schemaInfo": "Schema Information",
- "copyName": "Copy Name",
- "schemaName": "Schema Name",
- "objectStatistics": "Object Statistics",
- "databaseObjects": "Database Objects",
- "noTablesInSchema": "No tables in this Schema",
- "noViewsInSchema": "No views in this Schema",
- "materializedView": "Materialized View",
- "updatable": "Updatable",
- "readOnly": "Read-only",
- "loadSchemaInfoFailed": "Failed to load Schema information",
- "sqlEditor": "SQL Editor",
- "loadExample": "Load Example",
- "clearSQL": "Clear",
- "execute": "Execute",
- "executionResult": "Execution Result",
- "executionTime": "Execution Time",
- "affectedRows": "Affected Rows",
- "returned": "Returned",
- "records": "records",
- "querySuccessNoData": "Query successful, but no data returned",
- "enterSQL": "Enter SQL statement above and click \"Execute\" button",
- "sqlWarning": "Please be careful when executing UPDATE, DELETE and other data modification statements",
- "enterSQLStatement": "Enter SQL statement...",
- "sqlPlaceholder": "Enter SQL statement...\\n\\nExample:\\nSELECT * FROM users WHERE id > 100;\\nUPDATE users SET status = 'active' WHERE id = 1;\\nDELETE FROM users WHERE id = 999;",
- "invalidDatabaseConnection": "Invalid database connection",
- "executeSQLFailed": "SQL execution failed",
- "pleaseEnterSQL": "Please enter SQL statement",
- "whereCondition": "WHERE condition (e.g: id > 100 AND status = 'active')",
- "orderBy": "ORDER BY (e.g: id DESC)",
- "query": "Query",
- "noData": "No data",
- "totalRecords": "{count} records in total",
- "designTable": "Design Table - {tableName}",
- "designTableAction": "Design Table",
- "databaseLabel": "Database",
- "schemaLabel": "Schema",
- "tableNameLabel": "Table Name",
- "tableNamePlaceholder": "Table name",
- "commentLabel": "Comment",
- "tableCommentPlaceholder": "Table comment",
- "unsavedChanges": "Unsaved changes",
- "noChanges": "No changes",
- "reset": "Reset",
- "saveChanges": "Save Changes",
- "sqlPreview": "SQL Preview",
- "close": "Close",
- "confirmSave": "Are you sure you want to save these changes?",
- "confirmSaveTitle": "Confirm Save",
- "confirmClose": "There are unsaved changes, are you sure you want to close?",
- "confirmCloseTitle": "Tip",
- "noChangesDetected": "No changes detected",
- "noSQLGenerated": "No SQL statement generated",
- "saveSuccess": "Save successful",
- "saveFailed": "Save failed",
- "loadTableStructureFailed": "Failed to load table structure",
- "loadTableDataFailed": "Failed to load table data",
- "tableInfo": "Table Information",
- "tableType": "Type",
- "rowCount": "Row Count",
- "tableSize": "Size",
- "ddlStatement": "DDL Statement",
- "copy": "Copy",
- "basicInfo": "Basic Information",
- "confirmReset": "Are you sure you want to reset all changes?",
- "confirmResetTitle": "Tip",
- "resetSuccess": "Reset successful",
- "missingDatabaseConfig": "Missing database configuration information",
- "loadDDLFailed": "Failed to load DDL statement",
- "loadDDLFailedMsg": "-- Failed to load DDL, please check database connection",
- "viewInfo": "View Information",
- "viewName": "View Name",
- "viewType": "View Type",
- "materializedView": "Materialized View",
- "normalView": "Normal View",
- "isUpdatable": "Is Updatable",
- "yes": "Yes",
- "no": "No",
- "checkOption": "CHECK OPTION",
- "columnInfo": "Column Information",
- "columnName": "Column Name",
- "dataType": "Data Type",
- "nullable": "Nullable",
- "position": "Position",
- "dependentTables": "Dependent Tables",
- "noDependentTables": "No Dependent Tables",
- "viewDefinition": "View Definition",
- "noDefinition": "No Definition",
- "description": "Description",
- "viewExplanation": "A View is a virtual table based on one or more tables and does not store actual data.",
- "viewBenefit1": "Views can simplify complex queries and improve data security",
- "viewBenefit2": "Updatable views allow modifying underlying table data through the view",
- "viewBenefit3": "When tables that the view depends on are modified, the view structure is automatically updated",
- "viewBenefit4": "Deleting a view does not affect the data in the underlying tables",
- "searchPlaceholder": "Search databases, tables, views...",
- "loadViewStructureFailed": "Failed to load view structure",
- "noData": "No data",
- "noColumnInfo": "No column information",
- "dataTypes": {
- "varchar": "Text",
- "char": "Fixed Text",
- "text": "Long Text",
- "integer": "Integer",
- "int": "Integer",
- "bigint": "Big Integer",
- "smallint": "Small Integer",
- "numeric": "Exact Decimal",
- "decimal": "Exact Decimal",
- "doublePrecision": "Decimal",
- "double": "Decimal",
- "float": "Decimal",
- "json": "JSON",
- "date": "Date",
- "time": "Time",
- "datetime": "DateTime",
- "timestamp": "Timestamp",
- "datetime2": "Timestamp",
- "boolean": "Boolean",
- "bit": "Boolean",
- "nvarchar": "Unicode Text",
- "nvarcharMax": "JSON"
- },
- "fieldNameRequired": "Field name is required",
- "fieldNameInvalidFormat": "Field name must start with a letter or underscore and contain only letters, numbers, and underscores",
- "fieldNameDuplicate": "Duplicate field name \"{name}\"",
- "tablesFolder": "Tables",
- "viewsFolder": "Views",
- "refreshSuccess": "Refreshed successfully",
- "refreshFailed": "Refresh failed",
- "executeShortcutHint": "Ctrl/Cmd + Enter to execute",
- "createDatabase": "Create Database",
- "dropDatabase": "Drop Database",
- "dropSchema": "Drop Schema",
- "renameSchema": "Rename Schema",
- "renameDatabase": "Rename Database",
- "editTableStructure": "Edit Table Structure",
- "enterNameToConfirm": "This action cannot be undone. Type the object name below to confirm:",
- "nameMismatch": "The name you entered does not match",
- "systemConnectionForbidden": "Write operations are not allowed on the system connection",
- "systemDatabase": "System Database",
- "systemDatabaseForbidden": "This system database cannot be modified",
- "databaseCreated": "Database \"{name}\" created successfully",
- "databaseDropped": "Database \"{name}\" dropped successfully",
- "schemaDropped": "Schema \"{name}\" dropped successfully",
- "schemaRenamed": "Schema renamed to \"{name}\"",
- "createDatabaseFailed": "Failed to create database",
- "dropDatabaseFailed": "Failed to drop database",
- "dropSchemaFailed": "Failed to drop schema",
- "renameSchemaFailed": "Failed to rename schema",
- "renameDatabaseFailed": "Failed to rename database",
- "databaseRenamed": "Database renamed to \"{name}\"",
- "enterNewDatabaseName": "Enter new database name",
- "databaseNameRequired": "Please enter a database name",
- "databaseNamePattern": "Database name must start with a letter or underscore and contain only letters, numbers, and underscores",
- "enterDatabaseName": "Enter database name",
- "databaseName": "Database Name",
- "encoding": "Encoding",
- "charset": "Charset",
- "collation": "Collation",
- "enterNewSchemaName": "Enter new schema name",
- "objectTypeDatabase": "database",
- "objectTypeSchema": "schema",
- "objectTypeTable": "table",
- "dangerousActionDefaultWarning": "Are you sure you want to drop {objectType} \"{objectName}\"? This cannot be undone.",
- "typeObjectNamePlaceholder": "Type \"{objectName}\" to confirm",
- "objectOverview": "Overview",
- "objectName": "Object Name",
- "objectTypeConnection": "Connection",
- "objectTypeView": "View",
- "databaseCount": "Database Count",
- "databasesUnderConnection": "Databases under this connection",
- "connectionHint": "Hint",
- "connectionBrowseHint": "Expand the connection in the left tree to browse databases and objects",
- "schemaList": "Schema List",
- "mysqlSchemaHint": "MySQL does not use schema layers; the database is the top-level container. Expand the left tree to view tables and views.",
- "schemaDescriptionHint": "A schema is a logical container for database objects such as tables and views.",
- "searchObjectPlaceholder": "Search object name...",
- "loadObjectListFailed": "Failed to load object list",
- "size": "Size",
- "indexTypes": {
- "btree": "B-Tree",
- "hash": "Hash",
- "gin": "GIN",
- "gist": "GiST",
- "brin": "BRIN",
- "nonclustered": "Nonclustered",
- "clustered": "Clustered",
- "normal": "Normal",
- "bitmap": "Bitmap"
- }
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/database-monitor.json b/web/apps/web-ele/src/locales/langs/en-US/database-monitor.json
deleted file mode 100644
index 54d7fa8..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/database-monitor.json
+++ /dev/null
@@ -1,138 +0,0 @@
-{
- "overview": "Overview",
- "connectionInfo": "Connection Information",
- "performanceStats": "Performance Statistics",
- "tableStats": "Table Statistics",
- "loadConfigFailed": "Failed to load database configuration",
- "loading": "Loading {name}...",
- "loadSuccess": "{name} loaded successfully",
- "loadFailed": "Failed to load {name}",
- "selectDatabase": "Please select a database",
- "selectConnection": "Please select a database connection",
- "systemConnection": "System",
- "autoRefreshing": "Auto-refreshing",
- "paused": "Paused",
- "connected": "Connected",
- "disconnected": "Disconnected",
- "featureDeveloping": "Feature under development...",
- "connectionUsageRate": "Connection Usage Rate",
- "databaseSize": "Database Size",
- "cacheHitRatio": "Cache Hit Ratio",
- "activeConnections": "Active Connections",
- "currentActiveConnections": "Current active connections",
- "basicInfo": "Basic Information",
- "databaseType": "Database Type",
- "hostAddress": "Host Address",
- "databaseName": "Database Name",
- "version": "Version",
- "uptime": "Uptime",
- "timezone": "Timezone",
- "charset": "Charset",
- "totalConnections": "Total Connections",
- "maxConnections": "Max Connections",
- "idleConnections": "Idle Connections",
- "storageInfo": "Storage Information",
- "databaseSizeGb": "Database Size (GB)",
- "databaseSizeMb": "Database Size (MB)",
- "databaseSizeBytes": "Database Size (Bytes)",
- "transactionsCommit": "Transactions Commit",
- "transactionsRollback": "Transactions Rollback",
- "tuplesReturned": "Tuples Returned",
- "totalQueries": "Total Queries",
- "slowQueries": "Slow Queries",
- "bytesReceived": "Bytes Received",
- "batchRequestsPerSec": "Batch Requests/sec",
- "pageLifeExpectancy": "Page Life Expectancy",
- "bufferCacheHitRatio": "Buffer Cache Hit Ratio",
- "realtimeActiveConnections": "Real-time Active Connections",
- "currentIdleConnections": "Current Idle Connections",
- "connectionPoolStatus": "Connection Pool Status",
- "congested": "Congested",
- "busy": "Busy",
- "normal": "Normal",
- "idle": "Idle",
- "connectionDistribution": "Connection Distribution",
- "connectionPoolCapacity": "Connection Pool Capacity",
- "usedMaxConnections": "Used / Max Connections",
- "connectionDetailInfo": "Connection Detail Information",
- "usedConnections": "Used Connections",
- "availableConnections": "Available Connections",
- "connectionExplanation": "Connection Explanation",
- "totalConnectionsDesc": "Total number of connections currently established by the database",
- "maxConnectionsDesc": "Maximum allowed number of connections configured for the database",
- "activeConnectionsDesc": "Number of connections currently executing queries or transactions",
- "idleConnectionsDesc": "Number of connections established but not currently in use",
- "usageRateDesc": "Percentage of current connections relative to the maximum number of connections",
- "connectionStatus": "Connection Status",
- "connectionStatusDesc": "Idle (<50%) / Normal (50-70%) / Busy (70-90%) / Congested (≥90%)",
- "corePerformanceMetrics": "Core Performance Metrics",
- "totalCommittedTransactions": "Total Committed Transactions",
- "totalRollbackTransactions": "Total Rollback Transactions",
- "totalQueriesCount": "Total Queries Count",
- "queriesNeedOptimization": "Queries Needing Optimization",
- "batchRequestsPerSecDesc": "Batch requests per second",
- "transactionStats": "Transaction Statistics",
- "commitRate": "Commit Rate",
- "tuplesFetched": "Tuples Fetched",
- "tuplesInserted": "Tuples Inserted",
- "tuplesUpdated": "Tuples Updated",
- "tuplesDeleted": "Tuples Deleted",
- "needOptimization": "Need Optimization",
- "queryStats": "Query Statistics",
- "batchStats": "Batch Statistics",
- "cacheStats": "Cache Statistics",
- "networkTraffic": "Network Traffic",
- "bytesSent": "Bytes Sent",
- "totalTraffic": "Total Traffic",
- "performanceMetricExplanation": "Performance Metric Explanation",
- "cacheHitRatioDesc": "The proportion of data read from the cache; higher is better",
- "transactionsCommitDesc": "Total number of successfully committed transactions",
- "transactionsRollbackDesc": "Total number of rollback transactions; too high may indicate issues",
- "tupleOperations": "Tuple Operations",
- "tupleOperationsDesc": "Statistics for insert, update, delete, and select operations on data rows",
- "totalQueriesDesc": "Total number of all queries executed by the database",
- "slowQueriesDesc": "Queries with execution time exceeding the threshold, needing optimization",
- "networkTrafficDesc": "Number of bytes received and sent by the database",
- "batchRequests": "Batch Requests",
- "batchRequestsDesc": "Number of batch requests processed per second",
- "pageLifeExpectancyDesc": "Average number of seconds a page stays in the buffer pool",
- "bufferCacheHitRatioDesc": "Proportion of pages read from the buffer cache",
- "statisticalOverview": "Statistical Overview",
- "totalTables": "Total Tables",
- "totalRows": "Total Rows",
- "totalSize": "Total Size",
- "searchTable": "Search Table",
- "searchTablePlaceholder": "Enter table name to search...",
- "top10LargestTables": "Top 10 Largest Tables",
- "noTableData": "No table data",
- "rank": "Rank",
- "schema": "Schema",
- "tableName": "Table Name",
- "rows": "Rows",
- "size": "Size",
- "dataSize": "Data Size",
- "indexSize": "Index Size",
- "inserts": "Inserts",
- "updates": "Updates",
- "deletes": "Deletes",
- "deadTuples": "Dead Tuples",
- "autoIncrement": "Auto Increment",
- "usedSize": "Used Size",
- "tableStatsExplanation": "Table Statistics Explanation",
- "tableSizeDesc": "Disk space occupied by the table, including data and indexes",
- "tableRowsDesc": "Total number of data rows in the table",
- "deadTuplesDesc": "Deleted rows not yet cleaned up, requiring VACUUM",
- "insertUpdateDelete": "Insert/Update/Delete",
- "tableOpsDesc": "Statistics for insert, update, and delete operations on the table",
- "tableDataSizeDesc": "Space occupied by table data",
- "tableIndexSizeDesc": "Space occupied by table indexes",
- "autoIncrementDesc": "Current value of the auto-increment primary key",
- "tableUsedSizeDesc": "Actual space used by the table",
- "yes": "Yes",
- "no": "No",
- "realtime": "Real-time",
- "noMatchingTables": "No matching tables found",
- "allTablesList": "All Tables List",
- "tableCount": "{count} tables",
- "tableSize": "Table Size"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/demos.json b/web/apps/web-ele/src/locales/langs/en-US/demos.json
deleted file mode 100644
index 18d43c4..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/demos.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "title": "Demos",
- "elementPlus": "Element Plus",
- "form": "Form",
- "vben": {
- "title": "Project",
- "about": "About",
- "document": "Document",
- "antdv": "Ant Design Vue Version",
- "naive-ui": "Naive UI Version",
- "element-plus": "Element Plus Version"
- },
- "demo": {
- "name": "Demo",
- "list": "Demo List",
- "create": "Create Demo",
- "edit": "Edit Demo",
- "delete": "Delete Demo",
- "detail": "Demo Detail",
- "title": "Title",
- "content": "Content",
- "status": "Status",
- "priority": "Priority",
- "isActive": "Is Active",
- "createTime": "Create Time",
- "updateTime": "Update Time",
- "creator": "Creator",
- "dept": "Department",
- "statusDraft": "Draft",
- "statusPublished": "Published",
- "statusArchived": "Archived",
- "priorityLow": "Low",
- "priorityMedium": "Medium",
- "priorityHigh": "High",
- "titlePlaceholder": "Please enter title",
- "contentPlaceholder": "Please enter content",
- "searchPlaceholder": "Search by title",
- "createSuccess": "Created successfully",
- "updateSuccess": "Updated successfully",
- "deleteSuccess": "Deleted successfully",
- "deleteConfirm": "Are you sure to delete this Demo?",
- "exportExcel": "Export Excel",
- "importExcel": "Import Excel",
- "downloadTemplate": "Download Template",
- "importSuccess": "Imported successfully",
- "selectFile": "Select File"
- }
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/dept.json b/web/apps/web-ele/src/locales/langs/en-US/dept.json
deleted file mode 100644
index 90b1a48..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/dept.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "Department",
- "title": "Department Management",
- "deptName": "Department Name",
- "parentDept": "Parent Department",
- "deptCode": "Department Code",
- "deptCodeHelp": "Optional, unique code to identify the department",
- "deptCodeFormatError": "Department code can only contain letters, numbers, underscores and hyphens",
- "deptType": "Department Type",
- "deptTypeOptions": {
- "company": "Company",
- "department": "Department",
- "team": "Team",
- "other": "Other"
- },
- "lead": "Department Leader",
- "phone": "Department Phone",
- "phoneHelp": "Optional, department contact phone number",
- "phoneFormatError": "Invalid phone number format",
- "email": "Department Email",
- "emailHelp": "Optional, department contact email",
- "emailFormatError": "Please enter a valid email address",
- "status": "Status",
- "sort": "Sort",
- "description": "Department Description",
- "descriptionPlaceholder": "Please enter department description",
- "descriptionHelp": "Optional, detailed description of the department",
- "operation": "Operation",
- "addChildDept": "Add Sub-Department",
- "edit": "Edit",
- "delete": "Delete",
- "updateSuccess": "Department updated successfully",
- "updateFailed": "Failed to update department data",
- "searchFailed": "Failed to search departments",
- "selectDeptFirst": "Please select a department first",
- "selectUsersFirst": "Please select users first",
- "addUsersSuccess": "Added successfully",
- "removeUsersConfirm": "Are you sure you want to delete {0} selected users?",
- "removeUsersSuccess": "Deleted successfully",
- "removeUsersFailed": "Delete failed"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/dict.json b/web/apps/web-ele/src/locales/langs/en-US/dict.json
deleted file mode 100644
index e9db682..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/dict.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "Dictionary",
- "title": "Dictionary Management",
- "dictName": "Dictionary Name",
- "dictCode": "Dictionary Code",
- "remark": "Remark",
- "remarkPlaceholder": "Please enter remark",
- "status": "Status",
- "operation": "Operation",
- "edit": "Edit",
- "codeFormatError": "Dictionary code can only contain letters, numbers and underscores",
- "selectDictFirst": "Please select dictionary first",
- "noData": "No data",
- "itemName": "Dictionary Item",
- "itemLabel": "Label",
- "itemValue": "Value",
- "itemIcon": "Icon",
- "sort": "Sort",
- "isGlobal": "Global Visible",
- "globalTag": "Global",
- "mainApp": "Main App"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/dingtalk-sync.json b/web/apps/web-ele/src/locales/langs/en-US/dingtalk-sync.json
deleted file mode 100644
index 5f232d6..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/dingtalk-sync.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "title": "DingTalk Sync Configuration",
- "corpId": "Corp ID",
- "corpIdPlaceholder": "Enter AgentId",
- "appKey": "App Key",
- "appKeyPlaceholder": "Enter AppKey",
- "appSecret": "App Secret",
- "appSecretPlaceholder": "Enter AppSecret",
- "testConnection": "Test Connection",
- "testSuccess": "Connection Successful",
- "testFail": "Connection Failed",
- "testing": "Testing...",
- "syncScope": "Sync Scope",
- "syncScopePlaceholder": "Please select",
- "syncScopeTip": "Select an organization as the top-level for data synchronization. Once synced, this organization cannot be changed.",
- "syncScopeLocked": "Initial sync completed. Sync scope is now locked. Contact admin to change.",
- "syncStats": "Sync Statistics",
- "syncType": "Sync Type",
- "totalCount": "Total",
- "successCount": "Synced",
- "failCount": "Failed",
- "notSynced": "Not Synced",
- "syncTime": "Sync Time",
- "syncStatus": "Status",
- "statusRunning": "Syncing",
- "statusSuccess": "Success",
- "statusPartial": "Partial",
- "statusFailed": "Failed",
- "operation": "Operation",
- "sync": "Sync",
- "syncing": "Syncing...",
- "syncDept": "Organization",
- "syncUser": "User",
- "syncDeptSuccess": "Organization sync completed",
- "syncUserSuccess": "User sync completed",
- "syncFail": "Sync failed",
- "triggerEvents": "Trigger Events",
- "triggerEvent": "Trigger Event",
- "description": "Description",
- "enableSyncDept": "Enable Sync Organization",
- "enableSyncDeptDesc": "Trigger organization sync on add, delete, or modify organization info",
- "enableSyncUser": "Enable Sync User",
- "enableSyncUserDesc": "Trigger user sync on add, delete, or modify user info",
- "save": "Save",
- "saving": "Saving...",
- "saveSuccess": "Saved successfully",
- "saveFail": "Save failed",
- "corpName": "Corp Name",
- "loadingDeptTree": "Loading department tree...",
- "callbackConfig": "Event Callback Configuration",
- "callbackConfigTip": "After configuring the callback URL, DingTalk contacts changes will be pushed to this system in real-time for incremental sync.",
- "callbackUrl": "Callback URL",
- "callbackUrlPlaceholder": "Enter callback URL, e.g. https://example.com/api/core/dingtalk-sync/callback",
- "callbackToken": "Callback Token",
- "callbackTokenPlaceholder": "Enter callback token",
- "callbackAesKey": "Callback AES Key",
- "callbackAesKeyPlaceholder": "Enter callback AES Key (43 characters)",
- "callbackStatus": "Callback Status",
- "callbackRegistered": "Registered",
- "callbackNotRegistered": "Not Registered",
- "registerCallback": "Register Callback",
- "deleteCallback": "Delete Callback",
- "registerSuccess": "Callback registered successfully",
- "registerFail": "Failed to register callback",
- "deleteCallbackSuccess": "Callback deleted successfully",
- "deleteCallbackFail": "Failed to delete callback",
- "registering": "Registering...",
- "subscribedEvents": "Subscribed Events",
- "generateRandom": "Generate",
- "streamConfig": "Stream Mode (Real-time Sync)",
- "streamConfigTip": "Receive DingTalk contacts change events in real-time via WebSocket connection. No public callback URL required.",
- "streamStatus": "Connection Status",
- "streamConnected": "Connected",
- "streamDisconnected": "Disconnected",
- "streamTotalEvents": "Events Received",
- "streamLastEvent": "Last Event",
- "streamLastEventTime": "Last Event Time",
- "streamEventNone": "None",
- "streamEventLog": "Incremental Sync Log",
- "refresh": "Refresh",
- "eventType": "Event Type",
- "targetType": "Target Type",
- "targetName": "Target Name",
- "eventStatus": "Status",
- "eventTime": "Time",
- "eventCreate": "Create Org",
- "eventModify": "Modify Org",
- "eventRemove": "Remove Org",
- "eventAddUser": "Add User",
- "eventModifyUser": "Modify User",
- "eventLeaveUser": "User Left",
- "eventActiveUser": "User Activated",
- "guideTitle": "DingTalk Sync Setup Guide",
- "guideStep1Title": "Create a DingTalk Internal App",
- "guideStep1Desc": "Log in to DingTalk Open Platform (open.dingtalk.com), navigate to \"App Development\" -> \"Internal Development\", create an H5 mini-app, and obtain the AppKey and AppSecret.",
- "guideStep2Title": "Configure App Permissions",
- "guideStep2Desc": "In the app management page, go to \"Permission Management\" and enable the following permissions: \"Contact Department Info Read\", \"Member Info Read\", \"Contact Department Members Read\", \"Employee Phone Number Info\", etc.",
- "guideStep3Title": "Enter Credentials",
- "guideStep3Desc": "Fill in the CorpId, AppKey, and AppSecret into the corresponding fields on this page, then click \"Test Connection\" to verify the credentials.",
- "guideStep4Title": "Set Sync Scope & Run Full Sync",
- "guideStep4Desc": "After a successful connection, select the root department in \"Sync Scope\", then click \"Sync\" in the statistics table — sync organizations first, then users.",
- "guideStep5Title": "Enable Stream Mode on DingTalk Platform",
- "guideStep5Desc": "Log in to DingTalk Open Platform, go to app -> \"Events & Callbacks\", select \"Stream Mode\" for push method, and save. No callback URL, Token, or AES Key needed.",
- "guideStep6Title": "Enable Trigger Events",
- "guideStep6Desc": "In the \"Trigger Events\" section, check the event types to auto-sync (organizations, users) and save. DingTalk contacts changes will then be pushed to the system for incremental sync automatically."
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/document-generator.json b/web/apps/web-ele/src/locales/langs/en-US/document-generator.json
deleted file mode 100644
index 4ad9577..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/document-generator.json
+++ /dev/null
@@ -1,527 +0,0 @@
-{
- "documentGenerator": {
- "title": "Document Generator",
- "templateManagement": "Template Management",
- "sealManagement": "Seal Management",
- "documentList": "Document List",
-
- "addTemplate": "Add Template",
- "editTemplate": "Edit Template",
- "copyTemplate": "Copy Template",
- "previewTemplate": "Preview Template",
-
- "templateName": "Template Name",
- "templateCode": "Template Code",
- "category": "Category",
- "formCode": "Form Code",
- "workflowCode": "Workflow Code",
- "bindingType": "Binding Type",
- "bindToWorkflow": "Bind to Workflow",
- "bindToForm": "Bind to Form",
- "workflowLinkedForm": "Workflow linked form",
-
- "basicInfo": "Basic Info",
- "pageSettings": "Page Settings",
- "autoGenerate": "Auto Generate",
- "watermark": "Watermark",
- "templateDesign": "Template Design",
-
- "pageSize": "Page Size",
- "pageSizeCustom": "Custom",
- "customPageWidth": "Page Width",
- "customPageHeight": "Page Height",
- "pageOrientation": "Orientation",
- "pageMargin": "Page Margin",
- "top": "Top",
- "right": "Right",
- "bottom": "Bottom",
- "left": "Left",
- "showPageNumber": "Show Page Number",
- "pageNumberSettings": "Page Number",
- "pageNumberPosition": "Position",
- "pageNumberPositionFooter": "Footer",
- "pageNumberPositionHeader": "Header",
- "pageNumberAlign": "Alignment",
- "pageNumberFormat": "Format",
- "pageNumberFormatChinese": "第 1 页 / 共 10 页",
- "pageNumberFormatFraction": "1 / 10",
- "pageNumberFormatEnglish": "Page 1 of 10",
- "pageNumberFontSize": "Font Size",
- "pageNumberColor": "Color",
-
- "enableAutoGenerate": "Enable Auto Generate",
- "generateTrigger": "Trigger",
-
- "enableWatermark": "Enable Watermark",
- "watermarkText": "Watermark Text",
- "watermarkOpacity": "Opacity",
- "watermarkAngle": "Angle",
-
- "elementLibrary": "Element Library",
- "canvas": "Canvas",
- "properties": "Properties",
- "dragElementHere": "Click elements on the left to add to canvas",
- "selectElementToEdit": "Select an element to edit properties",
-
- "basicProperties": "Basic Properties",
- "elementType": "Element Type",
- "content": "Content",
- "fieldName": "Field Name",
- "fieldLabel": "Label",
- "format": "Format",
- "dataSource": "Data Source",
- "columns": "Columns",
- "sealType": "Seal Type",
-
- "position": "Position",
- "width": "Width",
- "height": "Height",
-
- "style": "Style",
- "fontSize": "Font Size",
- "fontWeight": "Font Weight",
- "textAlign": "Text Align",
- "alignLeft": "Left",
- "alignCenter": "Center",
- "alignRight": "Right",
- "color": "Color",
-
- "publish": "Publish",
- "unpublish": "Unpublish",
- "builtin": "Built-in",
-
- "confirmDelete": "Are you sure to delete this template?",
- "confirmUnpublish": "Are you sure to unpublish this template?",
- "builtinCannotDelete": "Built-in templates cannot be deleted",
- "publishSuccess": "Published successfully",
- "unpublishSuccess": "Unpublished successfully",
-
- "pleaseInputName": "Please input template name",
- "pleaseInputCode": "Please input template code",
- "codeFormatError": "Code must start with a letter and contain only letters, numbers and underscores",
- "pleaseInputNameAndCode": "Please input template name and code",
- "pleaseInputFormCode": "Please input form code",
- "pleaseInputWorkflowCode": "Please input workflow code",
- "pleaseSelectWorkflow": "Please select workflow (optional)",
- "pleaseSelectForm": "Please select form",
- "pleaseInputWatermarkText": "Please input watermark text",
-
- "newCode": "New Code",
- "newName": "New Name",
-
- "previewFailed": "Preview failed",
-
- "generateDocument": "Generate Document",
- "regenerate": "Regenerate",
- "downloadDocument": "Download Document",
- "documentName": "Document Name",
- "documentNo": "Document No.",
- "generateTime": "Generate Time",
- "generator": "Generator",
- "downloadCount": "Download Count",
-
- "sealName": "Seal Name",
- "sealImage": "Seal Image",
- "uploadSeal": "Upload Seal",
- "sealOwner": "Owner",
- "sealScope": "Scope",
-
- "noDocuments": "No documents",
- "selectTemplate": "Select Template",
- "pleaseSelectTemplate": "Please select a template",
- "generate": "Generate",
- "generateSuccess": "Generated successfully",
- "generateFailed": "Generate failed",
- "regenerateSuccess": "Regenerated successfully",
- "regenerateFailed": "Regenerate failed",
- "pageCount": "Pages",
- "fileSize": "File Size",
- "generateType": "Type",
- "auto": "Auto",
- "manual": "Manual",
-
- "elementText": "Text",
- "elementField": "Field",
- "elementTable": "Table",
- "elementImage": "Image",
- "selectImage": "Select Image",
- "elementSignature": "Signature",
- "elementSeal": "Seal",
- "elementQrcode": "QR Code",
- "elementDivider": "Divider",
-
- "noDataSource": "(No data source)",
- "signatureDefault": "Signature",
- "fieldNamePlaceholder": "e.g. applicant_name",
- "fieldLabelPlaceholder": "e.g. Applicant:",
- "dataSourcePlaceholder": "e.g. expense_items",
- "columnFieldPlaceholder": "Field",
- "columnLabelPlaceholder": "Title",
- "columnWidthPlaceholder": "Width",
- "signatureFieldPlaceholder": "Signature field name",
-
- "formatNone": "None",
- "formatDate": "Date",
- "formatDatetime": "Datetime",
- "formatMoney": "Money",
- "formatNumber": "Number",
-
- "sealCompany": "Company Seal",
- "sealDepartment": "Department Seal",
- "sealPersonal": "Personal Seal",
- "sealFinance": "Finance Seal",
- "sealContract": "Contract Seal",
-
- "selectedSeal": "Selected Seal",
- "selectSeal": "Select Seal",
- "noSealSelected": "No seal selected",
- "noSealImage": "No image",
- "noAvailableSeals": "No available seals",
- "clearSeal": "Clear Seal",
- "sealLabel": "Seal Label",
- "sealLabelPlaceholder": "Enter seal label (e.g., Seal Here)",
- "allTypes": "All Types",
- "noSealsOfType": "No seals of this type",
-
- "pleaseInputText": "Please input text",
- "fieldPrefix": "Field: ",
- "column": "Column",
- "addColumn": "Add Column",
-
- "fontNormal": "Normal",
- "fontBold": "Bold",
- "alignLeft": "Left",
- "alignCenter": "Center",
- "alignRight": "Right",
-
- "notSet": "Not set",
- "notSetDataSource": "Data source not set",
-
- "documents": "Documents",
-
- "categoryLeave": "Leave",
- "categoryExpense": "Expense",
- "categoryPurchase": "Purchase",
- "categoryContract": "Contract",
- "categoryCertificate": "Certificate",
- "categoryOther": "Other",
-
- "statusPublished": "Published",
- "statusDraft": "Draft",
-
- "orientationPortrait": "Portrait",
- "orientationLandscape": "Landscape",
-
- "triggerOnApprove": "On Approval",
- "triggerOnSubmit": "On Submit",
- "triggerOnComplete": "On Complete",
-
- "deleteConfirmTitle": "Delete Confirmation",
- "deleteSuccess": "Template {name} deleted",
- "unpublishConfirmTitle": "Unpublish Confirmation",
-
- "copyTitle": "Copy Template",
- "copyCodePlaceholder": "Enter the new template code",
- "copyCodeRule": "Code can only contain letters, numbers, underscores and hyphens",
- "copy": "Copy",
- "copySuccess": "Copied successfully",
- "importExport": {
- "export": "Export Config",
- "import": "Import Config",
- "exportSuccess": "Template config exported",
- "exportFailed": "Export failed",
- "importTitle": "Import Document Template",
- "dragOrClick": "Drag JSON file here or click to upload",
- "onlyJson": "Only .json files are supported",
- "fileParseError": "Failed to parse file. Please check the format",
- "checking": "Checking...",
- "codeConflictTip": "Template code already exists. Enter a new code to import",
- "codeAvailable": "Template code is available",
- "newCodePlaceholder": "Enter a new template code",
- "importSuccess": "Template imported successfully",
- "importFailed": "Import failed",
- "confirmImport": "Confirm Import",
- "reselect": "Reselect",
- "templateInfo": "Template Info",
- "appTip": "Imported template belongs to the current app (draft status)",
- "bindingTip": "Ensure linked form/workflow codes exist in the target environment"
- },
-
- "design": "Design",
- "editInfo": "Edit Info",
- "createSuccess": "Created successfully",
- "saveSuccess": "Saved successfully",
- "autoSave": {
- "saving": "Saving...",
- "saved": "Saved",
- "unsaved": "Unsaved"
- },
-
- "layoutElements": "Layout",
- "headerElements": "Header Area",
- "infoElements": "Info Area",
- "tableElements": "Table Area",
- "contentElements": "Content",
- "approvalElements": "Approval Area",
- "otherElements": "Other Elements",
- "footerElements": "Footer Area",
-
- "rowContainer": "Row Container",
- "columnCount": "Column Count",
- "columnWidths": "Column Widths",
- "columnGap": "Column Gap",
- "addRowColumn": "Add Column",
- "removeRowColumn": "Remove Column",
- "dropElementHere": "Drop element here",
-
- "documentHeader": "Document Header",
- "documentTitle": "Document Title",
- "documentInfo": "Document Info",
- "infoRow": "Info Row",
- "infoTable": "Info Table",
- "smartTable": "Smart Table",
- "smartText": "Smart Text",
- "smartTextPlaceholder": "Type text here...",
- "smartTextItalic": "Italic",
- "smartTextUnderline": "Underline",
- "smartTextStrikethrough": "Strikethrough",
- "smartTextUnorderedList": "Unordered List",
- "smartTextOrderedList": "Ordered List",
- "smartTextLineHeight": "Line Height",
- "smartTextHeading": "Heading",
- "smartTextParagraph": "Paragraph",
- "smartTextH1": "Heading 1",
- "smartTextH2": "Heading 2",
- "smartTextH3": "Heading 3",
- "smartTextInsertTable": "Insert Table",
- "smartTextRemoveTable": "Remove Table",
- "smartTableRows": "Rows",
- "smartTableCols": "Columns",
- "smartTableAddRow": "Add Row",
- "smartTableAddCol": "Add Column",
- "smartTableDeleteRow": "Delete Row",
- "smartTableDeleteCol": "Delete Column",
- "smartTableMergeCells": "Merge Cells",
- "smartTableSplitCell": "Split Cell",
- "smartTableCellContent": "Cell Content",
- "smartTableSelectCells": "Please select cells first",
- "smartTableInsertText": "Enter text or insert variable",
- "smartTableInsertRowAbove": "Insert Row Above",
- "smartTableInsertRowBelow": "Insert Row Below",
- "smartTableInsertColLeft": "Insert Column Left",
- "smartTableInsertColRight": "Insert Column Right",
- "smartTableClearContent": "Clear Content",
- "smartTableBold": "Bold",
- "smartTableFontSize": "Font Size",
- "smartTableFontColor": "Font Color",
- "smartTableBgColor": "Background Color",
- "smartTableToggleBorder": "Border Settings",
- "borderAll": "All Borders",
- "borderOuter": "Outer Border",
- "borderInner": "Inner Border",
- "borderHorizontal": "Horizontal Border",
- "borderVertical": "Vertical Border",
- "borderColorLabel": "Border Color",
- "customColor": "Custom",
- "smartTableColumnWidths": "Column Widths",
- "labelField": "Label Field",
- "detailTable": "Detail Table",
- "amountField": "Amount Field",
- "paragraph": "Paragraph",
- "richText": "Rich Text",
- "approvalArea": "Approval Area",
- "barcode": "Barcode",
- "spacer": "Spacer",
- "documentFooter": "Document Footer",
-
- "searchElements": "Search elements",
- "elementTitle": "Title",
- "elementParagraph": "Paragraph",
-
- "documentTemplate": "Document Template",
- "elements": "elements",
-
- "viewJSON": "View JSON",
- "jsonPreview": "JSON Preview",
- "copyCode": "Copy Code",
- "importConfig": "Import Config",
- "pasteJsonConfig": "Paste JSON configuration",
- "importSuccess": "Imported successfully",
- "exportSuccess": "Exported successfully",
- "configFormatError": "Configuration format error",
- "copiedToClipboard": "Copied to clipboard",
- "copyFailed": "Copy failed",
- "pleaseEnterConfig": "Please enter configuration",
- "pleaseAddElements": "Please add elements first",
- "previewNotImplemented": "Preview not implemented yet",
- "pdfPreview": "PDF Preview",
- "generatingPreview": "Generating preview...",
- "noPreviewContent": "No preview content",
- "saveBeforePreview": "Please save the template before preview",
- "viewHTML": "View HTML",
- "htmlPreview": "HTML Preview",
- "htmlPreviewFailed": "HTML preview failed",
- "clearCanvasConfirm": "Are you sure to clear the canvas? This action cannot be undone.",
- "cleared": "Cleared",
- "releaseToAdd": "Release to add element",
-
- "elementProperties": "Element Properties",
- "templateSettings": "Template Settings",
-
- "signatureZone": "Signature Zone",
- "sealZone": "Seal Zone",
- "qrcodeContent": "QR Code Content",
- "qrcodeContentPlaceholder": "Enter QR code content or field name",
- "qrcodeType": "QR Code Type",
- "qrcodeTypeText": "Text",
- "qrcodeTypeUrl": "URL Link",
- "qrcodeTypePhone": "Phone Number",
- "qrcodeTypeEmail": "Email",
- "signatureFieldName": "Signature field name",
- "dividerLine": "Divider Line",
- "sourceCode": "Source",
- "pagePreview": "Preview",
- "fontFamily": "Font Family",
- "defaultFont": "Default Font",
- "lineHeight": "Line Height",
- "fontWeightNormal": "Normal",
- "fontWeightBold": "Bold",
- "alignJustify": "Justify",
- "titlePlaceholder": "Enter title",
- "contentPlaceholder": "Enter content, use {{variable}} to insert variables",
- "imageUrl": "Image URL",
- "imageUrlPlaceholder": "Enter image URL or field name",
- "imageLabelPlaceholder": "e.g. Signature, Approver",
- "labelPosition": "Label Position",
- "labelPositionTop": "Top",
- "labelPositionBottom": "Bottom",
- "labelPositionLeft": "Left",
- "labelPositionRight": "Right",
- "labelFontSize": "Label Font Size",
- "showUnderline": "Show Underline",
- "lineStyle": "Line Style",
- "lineSolid": "Solid",
- "lineDashed": "Dashed",
- "lineDotted": "Dotted",
- "lineWidth": "Line Width",
- "lineColor": "Line Color",
- "showPrintDate": "Show Print Date",
- "footerContentPlaceholder": "Enter footer content",
- "yes": "Yes",
- "no": "No",
- "fieldsConfig": "Fields Configuration",
- "rowsConfig": "Rows Configuration",
- "field": "Field",
- "row": "Row",
- "addField": "Add Field",
- "addRow": "Add Row",
- "newField": "New Field",
- "label": "Label",
- "value": "Value",
- "labelWidth": "Label Width",
- "labelBgColor": "Label Background",
- "labelColor": "Label Font Color",
- "fieldFontSize": "Field Font Size",
- "fieldColor": "Field Font Color",
- "valueFontSize": "Value Font Size",
- "valueColor": "Value Font Color",
- "fontSettings": "Font Settings",
- "fontColor": "Font Color",
- "labelFontWeight": "Label Bold",
- "headerBgColor": "Header Background",
- "headerFontSize": "Header Font Size",
- "headerColor": "Header Font Color",
- "headerFontWeight": "Header Bold",
- "labelSettings": "Label Settings",
- "contentFontSize": "Content Font Size",
- "contentColor": "Content Font Color",
- "columnWidth": "Width",
- "showIndex": "Show Index",
- "indexWidth": "Index Width",
- "noBackground": "No Background",
- "borderStyle": "Border Style",
- "borderNone": "No Border",
- "insertVariable": "Insert Variable",
- "searchVariable": "Search variables...",
- "noVariables": "No variables",
- "otherVariables": "Other",
- "varApplicant": "Applicant",
- "varDepartment": "Department",
- "varPosition": "Position",
- "varApplyDate": "Apply Date",
- "varDocNo": "Document No",
- "varCreateDate": "Create Date",
- "varPhone": "Phone",
- "varEmail": "Email",
- "varTotalAmount": "Total Amount",
- "varRemark": "Remark",
-
- "placeholder": {
- "name": "Search template name"
- },
- "groupFormFields": "Form Fields",
- "groupCalculationFields": "Calculation Fields",
- "groupSubTablePrefix": "Sub Table: ",
- "subTableDataSourceSuffix": " (Data Source)",
- "subTableFirstRowSuffix": " (First Row)",
- "nameSuffix": " (Name)",
- "companyName": "Company Name",
- "headerType": "Header Type",
- "noImage": "No Image",
- "positionMode": "Position Mode",
- "positionInline": "Inline",
- "positionFloat": "Float"
- },
- "calculation": {
- "title": "Calculation Config",
- "enableCalculation": "Enable Calculation",
- "enableCalculationHint": "Enable to define calculation and aggregation fields in the calculation config step",
- "calculationFields": "Calculation Fields",
- "aggregationFields": "Aggregation Fields",
- "calculationField": "Calculation Field",
- "aggregationField": "Aggregation Field",
- "noCalculationFields": "No calculation fields, click add button to create",
- "noAggregationFields": "No aggregation fields, click add button to create",
- "fieldName": "Field Name",
- "fieldLabel": "Field Label",
- "fieldNamePlaceholder": "e.g. total_amount",
- "fieldLabelPlaceholder": "e.g. Total Amount",
- "formula": "Formula",
- "formulaPlaceholder": "e.g. quantity * unit_price * (1 - discount_rate)",
- "formulaHint": "Operators: +, -, *, /, %, ** | Functions: round, abs, numberToChinese | Can reference other fields and aggregation results",
- "format": "Format",
- "formatNumber": "Number",
- "formatMoney": "Money",
- "formatPercent": "Percent",
- "formatChinese": "Chinese Amount",
- "decimalPlaces": "Decimal Places",
- "dataSource": "Data Source",
- "selectSubTable": "Select sub table",
- "aggregateField": "Aggregate Field",
- "selectField": "Select field",
- "aggregateFunction": "Aggregate Function",
- "funcSum": "Sum",
- "funcAvg": "Average",
- "funcMax": "Maximum",
- "funcMin": "Minimum",
- "funcCount": "Count",
- "usageTitle": "Usage Guide",
- "usageHint1": "Aggregation fields are used to summarize sub-table data (e.g. total amount of order items)",
- "usageHint2": "Calculation fields are used for formula calculations based on form fields or aggregation results",
- "usageHint3": "Calculation results can be referenced in document templates by variable name (wrap with double curly braces)",
- "usageHint4": "Chinese format will automatically convert numbers to Chinese amount format",
- "positionMode": "Position Mode",
- "positionInline": "Inline",
- "positionFloat": "Float",
- "floatX": "X",
- "floatY": "Y",
- "floatZIndex": "Z-Index",
- "editorModeComponent": "Component",
- "editorModeWysiwyg": "Document",
- "wysiwygInsertImage": "Insert Image",
- "wysiwygInsertSeal": "Insert Seal",
- "wysiwygPageCount": "{count} pages",
- "hideAttributePanel": "Hide Properties",
- "showAttributePanel": "Show Properties"
- }
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/electronic-seal.json b/web/apps/web-ele/src/locales/langs/en-US/electronic-seal.json
deleted file mode 100644
index e04a9fa..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/electronic-seal.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "title": "Electronic Seal Management",
- "create": "Create Seal",
- "createSeal": "Create Seal",
- "editSeal": "Edit Seal",
- "name": "Seal Name",
- "sealTypeLabel": "Seal Type",
- "ownerTypeLabel": "Owner Type",
- "scopeLabel": "Scope",
- "sealImage": "Seal Image",
- "description": "Description",
- "width": "Width",
- "height": "Height",
- "enable": "Enable",
- "disable": "Disable",
- "sealType": {
- "company": "Company Seal",
- "department": "Department Seal",
- "personal": "Personal Seal",
- "contract": "Contract Seal",
- "finance": "Finance Seal"
- },
- "status": {
- "active": "Active",
- "disabled": "Disabled"
- },
- "ownerType": {
- "all": "Everyone",
- "dept": "Specific Department",
- "role": "Specific Role",
- "user": "Specific User"
- },
- "scope": {
- "all": "All Templates",
- "specific": "Specific Templates"
- },
- "placeholder": {
- "name": "Please enter seal name",
- "sealType": "Please select seal type",
- "ownerType": "Please select owner type",
- "scope": "Please select scope",
- "sealImage": "Please upload seal image",
- "description": "Please enter description",
- "selectDept": "Please select department",
- "selectRole": "Please select role",
- "selectUser": "Please select user",
- "selectTemplate": "Please select template"
- },
- "deleteConfirm": "Are you sure you want to delete seal \"{name}\"?",
- "deleteConfirmTitle": "Delete Confirmation",
- "deleteSuccess": "Deleted successfully",
- "disableConfirm": "Are you sure you want to disable this seal? It will not be available after disabled.",
- "disableConfirmTitle": "Disable Confirmation",
- "disableSuccess": "Disabled successfully",
- "enableSuccess": "Enabled successfully",
- "selectDept": "Select Department",
- "selectRole": "Select Role",
- "selectUser": "Select User",
- "selectTemplate": "Select Template"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/feishu-sync.json b/web/apps/web-ele/src/locales/langs/en-US/feishu-sync.json
deleted file mode 100644
index ee87804..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/feishu-sync.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "title": "Feishu Sync Configuration",
- "appId": "App ID",
- "appIdPlaceholder": "Enter Feishu App ID",
- "appSecret": "App Secret",
- "appSecretPlaceholder": "Enter Feishu App Secret",
- "testConnection": "Test Connection",
- "testSuccess": "Connection Successful",
- "testFail": "Connection Failed",
- "testing": "Testing...",
- "syncScope": "Sync Scope",
- "syncScopePlaceholder": "Please select",
- "syncScopeTip": "Select an organization as the top-level for data synchronization. Once synced, this organization cannot be changed.",
- "syncScopeLocked": "Initial sync completed. Sync scope is now locked. Contact admin to change.",
- "syncStats": "Sync Statistics",
- "syncType": "Sync Type",
- "totalCount": "Total",
- "successCount": "Synced",
- "failCount": "Failed",
- "notSynced": "Not Synced",
- "syncTime": "Sync Time",
- "operation": "Operation",
- "sync": "Sync",
- "syncing": "Syncing...",
- "syncDept": "Organization",
- "syncUser": "User",
- "syncDeptSuccess": "Organization sync completed",
- "syncUserSuccess": "User sync completed",
- "syncFail": "Sync failed",
- "triggerEvents": "Trigger Events",
- "triggerEvent": "Trigger Event",
- "description": "Description",
- "enableSyncDept": "Enable Sync Organization",
- "enableSyncDeptDesc": "Trigger organization sync on add, delete, or modify organization info",
- "enableSyncUser": "Enable Sync User",
- "enableSyncUserDesc": "Trigger user sync on add, delete, or modify user info",
- "save": "Save",
- "saving": "Saving...",
- "saveSuccess": "Saved successfully",
- "saveFail": "Save failed",
- "callbackConfig": "Event Callback Configuration",
- "callbackConfigTip": "After configuring the callback URL, Feishu contacts changes will be pushed to this system in real-time for incremental sync. Feishu callbacks must be manually configured in the Feishu Open Platform console.",
- "callbackUrl": "Request URL",
- "callbackUrlPlaceholder": "Enter request URL, e.g. https://example.com/api/core/feishu-sync/callback",
- "encryptKey": "Encrypt Key",
- "encryptKeyPlaceholder": "Enter Encrypt Key",
- "verificationToken": "Verification Token",
- "verificationTokenPlaceholder": "Enter Verification Token",
- "callbackStatus": "Callback Status",
- "callbackConfigured": "Configured",
- "callbackNotConfigured": "Not Configured",
- "subscribedEvents": "Subscribed Events",
- "generateRandom": "Generate",
- "guideTitle": "Feishu Sync Setup Guide",
- "guideStep1Title": "Create a Feishu Custom App",
- "guideStep1Desc": "Log in to Feishu Open Platform (open.feishu.cn), go to \"Developer Console\", create a custom app, and obtain the App ID and App Secret.",
- "guideStep2Title": "Configure App Permissions",
- "guideStep2Desc": "In the app management page, go to \"Permission Management\" and enable contact-related permissions: \"Get Department Basic Info\", \"Get Department Organization Info\", \"Get User Basic Info\", \"Get User Phone Number\", etc.",
- "guideStep3Title": "Enter Credentials & Run Full Sync",
- "guideStep3Desc": "Fill in App ID and App Secret, click \"Test Connection\" to verify. After success, select the sync scope and sync organizations first, then users.",
- "guideStep4Title": "Configure Event Subscription (Real-time Sync)",
- "guideStep4Desc": "In the Feishu Open Platform app's \"Event Subscription\" page, set the request URL (format: https://your-domain/api/core/feishu-sync/callback), enter the Encrypt Key and Verification Token generated on this page into Feishu console, and subscribe to contact events.",
- "guideStep5Title": "Enable Trigger Events",
- "guideStep5Desc": "In the \"Trigger Events\" section, check the event types to auto-sync (organizations, users) and save. Feishu contacts changes will then be pushed to the system for incremental sync automatically."
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/file-manager.json b/web/apps/web-ele/src/locales/langs/en-US/file-manager.json
deleted file mode 100644
index e3f9b0a..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/file-manager.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "myFiles": "My Files",
- "fileManagement": "File Management",
- "folderName": "Folder Name",
- "newFolder": "New Folder",
- "rename": "Rename",
- "name": "Name",
- "size": "Size",
- "modifiedTime": "Modified Time",
- "actions": "Actions",
- "search": "Search...",
- "listView": "List View",
- "gridView": "Grid View",
- "batchDelete": "Batch Delete",
- "upload": "Upload",
- "uploadFile": "Upload File",
- "uploadFolder": "Upload Folder",
- "open": "Open",
- "download": "Download",
- "delete": "Delete",
- "selectAll": "Select All",
- "noFiles": "No Files",
- "pleaseEnterName": "Please enter name",
- "pleaseEnterFolderName": "Please enter folder name",
- "renameSuccess": "Rename successful",
- "createSuccess": "Create successful",
- "deleteSuccess": "Delete successful",
- "deleteConfirm": "Are you sure you want to delete {name}?",
- "batchDeleteConfirm": "Are you sure you want to delete the selected {count} items?",
- "uploadSuccess": "Successfully uploaded {count} files",
- "uploadFailed": "{count} files failed to upload",
- "uploadError": "Upload error",
- "folderDownloadNotSupported": "Folder download is not supported currently",
- "downloadFailed": "Download failed",
- "previewFailed": "Preview failed",
- "previewNotSupported": "This file type is not supported for preview",
- "previewRenderError": "File rendering failed",
- "filePreview": "File Preview",
- "tip": "Tip",
- "cancel": "Cancel",
- "confirm": "Confirm"
-}
diff --git a/web/apps/web-ele/src/locales/langs/en-US/form-manager.json b/web/apps/web-ele/src/locales/langs/en-US/form-manager.json
deleted file mode 100644
index 406fea5..0000000
--- a/web/apps/web-ele/src/locales/langs/en-US/form-manager.json
+++ /dev/null
@@ -1,803 +0,0 @@
-{
- "form": "Form",
- "name": "Form Name",
- "code": "Form Code",
- "application": "Application",
- "type": "Form Type",
- "status": "Status",
- "description": "Description",
- "createTime": "Create Time",
- "updateTime": "Update Time",
- "actions": "Actions",
- "showInMobile": "Show in Mobile",
- "showInMobileTip": "When enabled, this form will be displayed in the mobile workbench",
- "icon": "Form Icon",
- "iconBgColor": "Icon Background Color",
- "iconPreview": "Preview",
- "iconBgColorPlaceholder": "Enter custom color or gradient",
- "iconPlaceholder": "Select form icon",
- "placeholder": {
- "name": "Please enter form name",
- "code": "Please enter form code",
- "type": "Please select form type",
- "status": "Please select status"
- },
- "typeMap": {
- "all": "All",
- "normal": "Normal Form",
- "workflow": "Workflow Form"
- },
- "statusMap": {
- "all": "All",
- "published": "Published",
- "draft": "Draft"
- },
- "create": "New Form",
- "batchDelete": "Batch Delete",
- "batchDeleteWithCount": "Batch Delete ({count})",
- "deleteConfirm": "Are you sure you want to delete form \"{name}\"?",
- "deleteConfirmTitle": "Delete Confirmation",
- "deleteConfirmMessage": "The following actions will be performed when deleting the form:
1. Delete the form menu 2. Delete the form API permissions 3. Delete the form field permissions 4. Delete the form data permissions 5. Permanently delete form metadata and design config
Are you sure you want to delete form \"{name}\"?",
- "deleteSuccess": "Form deleted: {name}",
- "batchDeleteConfirm": "Are you sure you want to delete {count} selected forms?",
- "batchDeleteConfirmTitle": "Batch Delete Confirmation",
- "batchDeleteSuccess": "{count} forms deleted",
- "unpublishSuccess": "Form \"{name}\" unpublished",
- "unpublishFailed": "Unpublish failed",
- "unpublishConfirmTitle": "Unpublish Confirmation",
- "unpublishConfirmMessage": "The following actions will be performed after unpublishing:
1. Delete the form menu 2. Delete the form API permissions 3. Delete the form field permissions 4. Delete the form data permissions
Are you sure you want to unpublish?",
- "copyCodePlaceholder": "Please enter new form code",
- "copyTitle": "Copy Form",
- "copyCodeRule": "Code can only contain letters, numbers, underscores, and dashes",
- "codeFormatError": "Code must start with a letter and contain only letters, numbers and underscores",
- "copySuccess": "Copied successfully",
- "preview": "Preview",
- "publish": "Publish",
- "unpublish": "Unpublish",
- "copy": "Copy",
- "visit": "Visit Form",
- "setAsHome": "Set as Home",
- "setAsHomeTitle": "Set as Default Home",
- "setAsHomeConfirm": "Are you sure you want to set form \"{name}\" as the default home page?",
- "setAsHomePath": "Home Path",
- "setAsHomeTip": "After setting, users will be redirected to this form page by default after login.",
- "setAsHomeAppTip": "This form belongs to app \"{app}\". The home page config of that app will be updated.",
- "setHomeSuccess": "Set as default home page successfully",
- "setHomeFailed": "Failed to set as home page",
- "more": "More",
- "design": "Design",
- "editInfo": "Edit Info",
- "saveSuccess": "Form saved successfully",
- "previewDialog": {
- "title": "Form Preview",
- "loadFailed": "Failed to load form configuration",
- "verifySuccess": "Validation passed",
- "realtimeData": "Realtime Data (v-model):",
- "noConfig": "No form configuration",
- "close": "Close",
- "verifySubmit": "Verify Submit",
- "verifyFailed": "Form validation failed"
- },
- "editor": {
- "title": "Online Development",
- "create": "Create Form",
- "edit": "Edit Form",
- "steps": {
- "basic": "Basic Info",
- "database": "Database Design",
- "form": "Form Design",
- "list": "List Design",
- "publish": "Publish Form"
- },
- "placeholder": {
- "remark": "Please enter form description"
- },
- "validate": {
- "title": "Form validation failed",
- "warningTitle": "Form validation warnings",
- "repairTip": "Please fix the following issues before continuing",
- "warningTip": "The following issues won't block saving, but please review and confirm",
- "continueAnyway": "Continue anyway",
- "basic": "Validation failed: Name and Code are required",
- "database": "Validation failed: Main table must be configured",
- "incomplete": "Incomplete form configuration",
- "perfectDesign": "Please complete form design"
- },
- "loadFailed": "Failed to load data",
- "createSuccess": "Created successfully",
- "save": "Save",
- "saveSuccess": "Saved successfully",
- "autoSave": {
- "saving": "Saving...",
- "saved": "Saved",
- "unsaved": "Unsaved"
- }
- },
- "dataSource": {
- "refresh": "Refresh",
- "refreshSuccess": "Refresh successful",
- "loading": "Loading...",
- "mainTable": "Main Table",
- "subTable": "Sub Table",
- "added": "Added",
- "fieldPreview": "Field Preview",
- "noFields": "No field information",
- "relationConfig": "Table Relation Config",
- "selectMainTip": "Please select main table first",
- "selectMainDesc": "Expand to table node in database tree, click [Main Table] button to set.",
- "addDatabase": "Add Database",
- "refreshConn": "Refresh Connection",
- "copyConnName": "Copy Connection Name",
- "addSchema": "Add Schema",
- "addTable": "Add Table",
- "editDatabase": "Edit Database",
- "refreshDatabase": "Refresh Database",
- "copyDatabaseName": "Copy Database Name",
- "editSchema": "Edit Schema",
- "refreshSchema": "Refresh Schema",
- "copySchemaName": "Copy Schema Name",
- "viewFields": "View Fields",
- "designTable": "Design Table",
- "setMainTable": "Set as Main",
- "addSubTable": "Add as Sub",
- "copyTableName": "Copy Table Name",
- "deleteTable": "Delete Table",
- "deleteTableConfirmTitle": "Delete Confirmation",
- "confirmDeleteTable": "Are you sure you want to delete table \"{tableName}\"? This operation cannot be undone!",
- "deleteTableSuccess": "Table deleted successfully",
- "deleteTableFailed": "Failed to delete table",
- "inputDatabaseName": "Please enter database name",
- "databaseNameRule": "Name can only contain letters, numbers, and underscores, starting with letter/underscore",
- "databaseCreateSuccess": "Database \"{name}\" created successfully",
- "databaseCreateFailed": "Failed to create database",
- "inputNewDatabaseName": "Please enter new database name",
- "nameNotChanged": "Name not changed",
- "renameNotSupported": "Database renaming not supported yet, please do it manually",
- "inputSchemaName": "Please enter Schema name",
- "createSchema": "Create Schema",
- "schemaNameRule": "Name can only contain letters, numbers, and underscores, starting with letter/underscore",
- "schemaCreateSuccess": "Schema \"{name}\" created successfully",
- "schemaCreateFailed": "Failed to create Schema",
- "inputNewSchemaName": "Please enter new Schema name",
- "schemaRenameSuccess": "Schema renamed to \"{name}\"",
- "schemaRenameFailed": "Failed to rename Schema",
- "sqlServerRenameSchemaNotSupported": "SQL Server does not support renaming Schema directly",
- "loadConfigFailed": "Failed to load database configuration",
- "loadDatabaseFailed": "Failed to load databases",
- "loadSchemaFailed": "Failed to load schemas",
- "loadTableFailed": "Failed to load tables",
- "loadNodeFailed": "Failed to load node data",
- "nodeNotFound": "Node not found",
- "refreshNodeSuccess": "Refresh successful, expand node to see latest data",
- "refreshNodeFailed": "Failed to refresh node",
- "refreshFailed": "Refresh failed",
- "copyToClipboard": "Copied to clipboard",
- "tableAlreadyAdded": "Table already added",
- "setMainSuccess": "{name} set as main table",
- "addSubSuccess": "Sub table {name} added",
- "tableFieldsRefreshed": "Table {name} fields updated",
- "removeMainConfirm": "Are you sure you want to remove the main table?",
- "removeSubConfirm": "Are you sure you want to remove this sub table?",
- "removeMain": "Remove Main Table",
- "subTableCount": "{count} sub tables in total",
- "tableName": "Table Name",
- "tableNamePlaceholder": "Please enter table name",
- "alias": "Alias",
- "aliasPlaceholder": "For SQL query",
- "fieldList": "Field List ({count})",
- "fieldName": "Field Name",
- "fieldNamePlaceholder": "Please enter field name",
- "fieldType": "Type",
- "fieldLength": "Length",
- "fieldScale": "Scale",
- "fieldComment": "Comment",
- "fieldCommentPlaceholder": "Please enter field comment",
- "schemaName": "Schema",
- "schemaNamePlaceholder": "Please enter schema name",
- "nullable": "Nullable",
- "isPrimaryKey": "Primary Key",
- "uniqueCheck": "Unique",
- "addField": "Add Field",
- "relationType": "Relation Type",
- "oneToMany": "One-to-Many",
- "oneToOne": "One-to-One",
- "foreignKeyField": "Foreign Key (Sub)",
- "relatedFieldMain": "Related Field (Main)",
- "selectForeignKey": "Select foreign key",
- "selectRelatedField": "Select related field",
- "viewFieldList": "View field list ({count} fields)",
- "noSubTables": "No sub tables",
- "addSubTip": "Click + button in database tree to add sub table",
- "missingSystemFieldsTitle": "Missing System Fields",
- "missingSystemFieldsMessage": "This table is missing system fields required for data permissions:
{fields}
Data permissions will not work properly without these fields.