From 50e95b985a72fcec4a93a2470e9efdfb2620148a Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 02 四月 2026 15:46:09 +0800
Subject: [PATCH] #i18n

---
 rsf-design/src/locales/langs/en.json | 2398 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2,386 insertions(+), 12 deletions(-)

diff --git a/rsf-design/src/locales/langs/en.json b/rsf-design/src/locales/langs/en.json
index a34ec06..571d9c3 100644
--- a/rsf-design/src/locales/langs/en.json
+++ b/rsf-design/src/locales/langs/en.json
@@ -36,6 +36,7 @@
     "tips": "Prompt",
     "cancel": "Cancel",
     "confirm": "Confirm",
+    "close": "Close",
     "logOutTips": "Do you want to log out?",
     "count": "{count} items",
     "listSeparator": ", ",
@@ -43,6 +44,7 @@
       "search": "Search",
       "reset": "Reset",
       "refresh": "Refresh",
+      "reload": "Reload",
       "add": "Add",
       "batchDelete": "Batch Delete",
       "edit": "Edit",
@@ -58,7 +60,8 @@
       "collapse": "Collapse",
       "viewAll": "View All",
       "save": "Save",
-      "submit": "Submit"
+      "submit": "Submit",
+      "initialize": "Initialize"
     },
     "status": {
       "enabled": "Enabled",
@@ -113,6 +116,18 @@
     "index": "No.",
     "unit": "Unit",
     "id": "ID",
+    "name": "Name",
+    "code": "Code",
+    "status": "Status",
+    "memo": "Remark",
+    "createBy": "Created By",
+    "createTime": "Created At",
+    "updateBy": "Updated By",
+    "updateTime": "Updated At",
+    "sort": "Sort",
+    "route": "Route",
+    "authority": "Authority",
+    "operation": "Operation",
     "wcs": "WCS",
     "source": "Source",
     "supplier": "Supplier",
@@ -207,15 +222,66 @@
   "notice": {
     "title": "Notice",
     "btnRead": "Mark as read",
-    "bar": [
-      "Notice",
-      "Message",
-      "Todo"
-    ],
-    "text": [
-      "No"
-    ],
-    "viewAll": "View all"
+    "bar": {
+      "notice": "Notice",
+      "message": "Message",
+      "todo": "Todo"
+    },
+    "emptyPrefix": "No",
+    "viewAll": "View all",
+    "actions": {
+      "viewAllNotice": "View all notice",
+      "viewAllMessage": "View all message",
+      "viewAllTodo": "View all todo"
+    },
+    "samples": {
+      "notice": {
+        "addI18n": "Internationalization added",
+        "receiveMessage": "Lengyuedaidai sent you a message",
+        "newFollower": "Xiaofeizhu followed you",
+        "addDocs": "Usage documentation added",
+        "receiveMail": "Xiaofeizhu sent you an email",
+        "menuMock": "Menu mock switched to local real data"
+      },
+      "message": {
+        "chibupang": "Chibupang followed you",
+        "tangbuku": "Tangbuku followed you",
+        "zhongxiaoyu": "Zhongxiaoyu followed you",
+        "hexiaohe": "Hexiaohe followed you",
+        "suixuinian": "Suixuinian followed you",
+        "lengyuedaidai": "Lengyuedaidai followed you"
+      }
+    }
+  },
+  "components": {
+    "fastEnter": {
+      "quickLinks": "Quick Links",
+      "invalidNavigation": "Invalid navigation config: missing route name or link"
+    },
+    "dragVerify": {
+      "dragText": "Hold the slider and drag",
+      "successText": "Verified"
+    },
+    "banner": {
+      "card": {
+        "viewDetails": "View Details",
+        "cancel": "Cancel"
+      },
+      "basic": {
+        "view": "View",
+        "backgroundAlt": "Background Image"
+      }
+    },
+    "cropper": {
+      "chooseImage": "Choose Image",
+      "clearImage": "Clear",
+      "previewAlt": "Preview Image",
+      "downloadImage": "Download Image",
+      "coverImage": "Cover Image",
+      "imageLoadFailed": "Image load failed:",
+      "downloadLog": "Download image",
+      "fileName": "image.png"
+    }
   },
   "worktab": {
     "btn": {
@@ -287,6 +353,18 @@
   },
   "lockScreen": {
     "pwdError": "Password error",
+    "avatarAlt": "User avatar",
+    "devTools": {
+      "title": "System Locked",
+      "descriptionLine1": "Developer tools have been detected as open",
+      "descriptionLine2": "For system security, please close developer tools before continuing",
+      "footer": "Security Lock Activated"
+    },
+    "errors": {
+      "decryptFailed": "Password decryption failed:",
+      "validationFailed": "Form validation failed:",
+      "updateStoreFailed": "Store update failed:"
+    },
     "lock": {
       "inputPlaceholder": "Please input lock screen password",
       "btnText": "Lock"
@@ -467,7 +545,8 @@
     "subsystemFlowTemplate": "SubsystemFlowTemplate",
     "flowStepTemplate": "FlowStepTemplate",
     "taskPathTemplateMerge": "TaskPathTemplateMerge",
-    "missionFlowStepInstance": "Mission Flow Steps"
+    "missionFlowStepInstance": "Mission Flow Steps",
+    "aiManagementCenter": "AI Management Center"
   },
   "ai": {
     "drawer": {
@@ -582,13 +661,18 @@
     },
     "index": "Index",
     "id": "ID",
+    "name": "Name",
+    "code": "Code",
+    "keyword": "Keyword",
     "operation": "Operation",
     "status": "Status",
     "type": "Type",
     "source": "Source",
     "supplier": "Supplier",
     "supplierBatch": "Supplier Batch",
+    "memo": "Remark",
     "remark": "Remark",
+    "createBy": "Created By",
     "updateBy": "Updated By",
     "updateTime": "Updated At",
     "createTime": "Created At",
@@ -613,6 +697,11 @@
     "requestTimeoutStopped": "Request timed out and waiting has stopped",
     "exportTimeoutStopped": "Export request timed out and waiting has stopped",
     "printTimeoutStopped": "Print data loading timed out and waiting has stopped",
+    "routeRenderFailedTitle": "Page failed to load",
+    "routeRenderFailed": "The page failed to render. Please try again later.",
+    "systemUpgradeTitle": "System Upgrade Notice",
+    "systemUpgradeIntro": "The system has been upgraded to version {version}. Please review the following updates:",
+    "systemUpgradeRelogin": "This upgrade requires you to sign in again to apply the latest changes.",
     "exportInvalidDataType": "Data must be an array",
     "exportNoData": "No data available for export",
     "exportExceedMaxRows": "Row count exceeds the limit ({maxRows} rows)",
@@ -626,7 +715,321 @@
     "exportWorkbookComments": "Generated automatically by the system"
   },
   "pages": {
-    "system": {
+    "systemDraft": {
+      "aiParam": {
+        "title": "AI Params",
+        "subtitle": "Manage model connection parameters and default settings with cards.",
+        "entity": "AI parameter",
+        "reportTitle": "AI Parameter Report",
+        "empty": "No AI parameters",
+        "buttons": {
+          "add": "Add Parameter"
+        },
+        "actions": {
+          "setDefault": "Set Default"
+        },
+        "fields": {
+          "baseUrl": "Base URL",
+          "lastValidateTime": "Last Validation",
+          "timeoutMs": "Timeout",
+          "streamingEnabled": "Streaming",
+          "maxTokens": "Max Tokens"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter parameter name",
+          "providerType": "Provider",
+          "providerTypePlaceholder": "Enter provider type",
+          "model": "Model",
+          "modelPlaceholder": "Enter model name",
+          "status": "Default Status"
+        },
+        "status": {
+          "default": "Default",
+          "candidate": "Candidate"
+        },
+        "validation": {
+          "valid": "Validated",
+          "invalid": "Invalid",
+          "notTested": "Not Tested"
+        },
+        "streaming": {
+          "enabled": "Streaming",
+          "disabled": "Non-streaming"
+        },
+        "table": {
+          "name": "Name",
+          "providerType": "Provider Type",
+          "model": "Model",
+          "status": "Default Status",
+          "validateStatus": "Validation Status",
+          "timeoutMs": "Timeout"
+        },
+        "summary": {
+          "title": "Runtime Summary",
+          "subtitle": "Overview of the active model, prompt and MCP mounts.",
+          "refresh": "Refresh Summary",
+          "activeModel": "Active Model",
+          "activePrompt": "Active Prompt",
+          "lastPromptUpdate": "Last updated {value}",
+          "enabledMcp": "Enabled MCP",
+          "enabledMcpCount": "{count}",
+          "noMcp": "No mounts"
+        },
+        "dialog": {
+          "titleCreate": "Create AI Param",
+          "titleEdit": "Edit AI Param",
+          "titleDetail": "AI Param Detail",
+          "runtimeTitle": "Runtime Status",
+          "runtimeDescription": "Run draft validation before saving. Runtime status comes from the backend.",
+          "validateDraft": "Validate Draft",
+          "labels": {
+            "validateStatus": "Validation Status",
+            "lastValidateElapsedMs": "Last Validation Elapsed",
+            "lastValidateTime": "Last Validation Time",
+            "updateBy": "Updated By",
+            "updateTime": "Updated At",
+            "lastValidateMessage": "Last Validation Message",
+            "name": "Parameter Name",
+            "providerType": "Provider Type",
+            "baseUrl": "Base URL",
+            "apiKey": "API Key",
+            "model": "Model",
+            "temperature": "Temperature",
+            "topP": "Top P",
+            "maxTokens": "Max Tokens",
+            "timeoutMs": "Timeout (ms)",
+            "streamingEnabled": "Streaming",
+            "status": "Default Status",
+            "memo": "Remark"
+          },
+          "placeholders": {
+            "name": "Enter parameter name",
+            "providerType": "Select provider type",
+            "baseUrl": "Enter an OpenAI-compatible base URL",
+            "apiKey": "Enter API key",
+            "model": "Enter model name",
+            "temperature": "Enter temperature",
+            "topP": "Enter topP",
+            "maxTokens": "Enter max token count",
+            "timeoutMs": "Enter timeout",
+            "status": "Select default status",
+            "memo": "Enter remark"
+          },
+          "validation": {
+            "name": "Please enter a parameter name",
+            "providerType": "Please select a provider type",
+            "baseUrl": "Please enter a base URL",
+            "apiKey": "Please enter an API key",
+            "model": "Please enter a model name"
+          }
+        },
+        "messages": {
+          "setDefaultSuccess": "Default parameter updated",
+          "summaryTimeout": "Runtime summary timed out and waiting has stopped",
+          "summaryUnavailable": "Runtime summary is currently unavailable"
+        }
+      },
+      "aiPrompt": {
+        "title": "Prompt Management",
+        "subtitle": "Manage system prompts and scene-based user prompt templates with cards.",
+        "entity": "Prompt",
+        "reportTitle": "Prompt Report",
+        "empty": "No prompts",
+        "buttons": {
+          "add": "Add Prompt"
+        },
+        "fields": {
+          "sceneTag": "Scene {value}",
+          "systemPrompt": "System Prompt",
+          "userPromptTemplate": "User Prompt Template"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter prompt name",
+          "code": "Prompt Code",
+          "codePlaceholder": "Enter prompt code",
+          "scene": "Scene",
+          "scenePlaceholder": "Enter scene",
+          "status": "Status"
+        },
+        "table": {
+          "name": "Prompt Name",
+          "code": "Prompt Code",
+          "scene": "Scene",
+          "status": "Status",
+          "systemPrompt": "System Prompt",
+          "userPromptTemplate": "User Prompt Template"
+        },
+          "dialog": {
+            "titleCreate": "Create Prompt",
+            "titleEdit": "Edit Prompt",
+            "titleDetail": "Prompt Detail",
+            "defaultPreviewInput": "Please summarize the current input",
+            "previewTitle": "Render Preview",
+          "previewDescription": "Input sample content and metadata to preview the final rendering.",
+          "previewAction": "Render Preview",
+          "previewResolvedVariables": "Resolved variables: {value}",
+          "previewNoVariables": "None",
+          "runtimeTitle": "Runtime Status",
+          "labels": {
+            "updateBy": "Updated By",
+            "updateTime": "Updated At",
+            "name": "Prompt Name",
+            "code": "Prompt Code",
+            "scene": "Scene",
+            "systemPrompt": "System Prompt",
+            "userPromptTemplate": "User Prompt Template",
+            "status": "Status",
+            "memo": "Remark"
+          },
+          "placeholders": {
+            "previewInput": "Enter sample input",
+            "metadata": "Enter JSON metadata, for example {\"path\":\"/system/aiPrompt\"}",
+            "renderedSystemPrompt": "Rendered system prompt",
+            "renderedUserPrompt": "Rendered user prompt",
+            "name": "Enter prompt name",
+            "code": "Enter prompt code",
+            "scene": "Enter scene",
+            "systemPrompt": "Enter system prompt",
+            "userPromptTemplate": "Enter user prompt template",
+            "status": "Select status",
+            "memo": "Enter remark"
+          },
+          "validation": {
+            "name": "Please enter a prompt name",
+            "code": "Please enter a prompt code",
+            "scene": "Please enter a scene",
+            "systemPrompt": "Please enter the system prompt",
+            "userPromptTemplate": "Please enter the user prompt template"
+          }
+        },
+        "messages": {
+          "previewFailed": "Render preview failed"
+        }
+      },
+      "aiMcpMount": {
+        "title": "MCP Mounts",
+        "subtitle": "Manage MCP service mounts and runtime health in the current environment.",
+        "entity": "MCP mount",
+        "empty": "No MCP mounts",
+        "buttons": {
+          "add": "Add Mount"
+        },
+        "fields": {
+          "target": "Target",
+          "lastTestTime": "Last Test Time",
+          "timeoutMs": "Request Timeout",
+          "lastInitElapsedMs": "Last Init Elapsed"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter mount name",
+          "transportType": "Transport Type",
+          "status": "Status"
+        },
+        "actions": {
+          "connectivityTest": "Connectivity Test",
+          "toolsPreview": "Tools Preview"
+        },
+        "health": {
+          "healthy": "Healthy",
+          "unhealthy": "Unhealthy",
+          "notTested": "Not Tested"
+        },
+        "groups": {
+          "builtin": {
+            "title": "Built-in Mounts",
+            "description": "Platform built-in MCP capabilities."
+          },
+          "sse": {
+            "title": "SSE / HTTP Mounts",
+            "description": "Remote MCP services connected through HTTP/SSE."
+          },
+          "stdio": {
+            "title": "STDIO Mounts",
+            "description": "MCP services launched locally and communicated with through stdio."
+          }
+        },
+        "dialog": {
+          "titleCreate": "Create Mount",
+          "titleEdit": "Edit Mount",
+          "titleDetail": "Mount Detail",
+          "draftTestTitle": "Draft Connectivity Test",
+          "draftTestDescription": "Validate the current mount configuration before saving.",
+          "draftTestAction": "Test Draft Connectivity",
+          "runtimeTitle": "Runtime Status",
+          "runtimeLabels": {
+            "healthStatus": "Health Status",
+            "lastTestTime": "Last Test Time",
+            "lastInitElapsedMs": "Last Init Elapsed",
+            "updateTime": "Updated At",
+            "lastTestMessage": "Last Test Message"
+          },
+          "labels": {
+            "name": "Name",
+            "transportType": "Transport Type",
+            "builtinCode": "Built-in MCP Code",
+            "serverUrl": "Server URL",
+            "endpoint": "SSE Endpoint",
+            "headersJson": "Headers JSON",
+            "command": "Command",
+            "argsJson": "Args JSON",
+            "envJson": "Environment JSON",
+            "requestTimeoutMs": "Request Timeout (ms)",
+            "sort": "Sort",
+            "status": "Status",
+            "memo": "Remark"
+          },
+          "placeholders": {
+            "name": "Enter name",
+            "transportType": "Select transport type",
+            "builtinCode": "Enter built-in MCP code",
+            "serverUrl": "Enter server URL",
+            "endpoint": "Enter SSE endpoint",
+            "headersJson": "Enter headers JSON",
+            "command": "Enter command",
+            "argsJson": "Enter command args JSON",
+            "envJson": "Enter environment JSON",
+            "requestTimeoutMs": "Enter request timeout",
+            "sort": "Enter sort",
+            "status": "Select status",
+            "memo": "Enter remark"
+          },
+          "validation": {
+            "name": "Please enter a name",
+            "transportType": "Please select a transport type"
+          }
+        },
+        "toolsDrawer": {
+          "title": "MCP Tools Preview",
+          "currentMount": "Current Mount",
+          "description": "Preview the tool list and run debug tests for tool inputs.",
+          "refreshTools": "Refresh Tools",
+          "connectivityTest": "Connectivity Test",
+          "empty": "No tools available",
+          "toolTest": "Run Tool Test",
+          "inputJson": "Input JSON",
+          "inputJsonPlaceholder": "Enter JSON, for example {\"taskCode\":\"TK001\"}",
+          "output": "Tool Output",
+          "outputPlaceholder": "Tool output will be shown here",
+          "inputSchema": "Input Schema",
+          "toolInputRequired": "Please enter tool test input JSON",
+          "toolTestSuccess": "Tool test succeeded",
+          "toolTestFailed": "Tool test failed",
+          "toolsLoadFailed": "Failed to load tool list"
+        },
+        "messages": {
+          "connectivityTimeout": "Connectivity test timed out and waiting has stopped",
+          "connectivitySuccess": "Connectivity test succeeded",
+          "connectivityFailed": "Connectivity test failed",
+          "draftConnectivitySuccess": "Draft connectivity test succeeded",
+          "draftConnectivityFailed": "Draft connectivity test failed",
+          "toolsTimeout": "Tool list timed out and waiting has stopped",
+          "toolTestTimeout": "Tool test timed out and waiting has stopped",
+          "initElapsedMs": "Initialization elapsed {value} ms"
+        }
+      },
       "role": {
         "entity": "Role",
         "reportTitle": "Role Report",
@@ -721,6 +1124,98 @@
       }
     },
     "orders": {
+      "common": {
+        "orderCode": "Document Code",
+        "trackCode": "Track Code"
+      },
+      "asnOrderItem": {
+        "reportTitle": "Receiving Item Report",
+        "sourceTitle": "Current Source",
+        "sourceLabel": "ASN ID: {id}",
+        "orderType": {
+          "in": "Inbound",
+          "out": "Outbound"
+        },
+        "ntyStatus": {
+          "notReported": "Not Reported",
+          "reported": "Reported"
+        },
+        "search": {
+          "conditionPlaceholder": "Enter PO No./material code/material name/supplier",
+          "poCode": "PO No.",
+          "poCodePlaceholder": "Enter PO No.",
+          "orderCode": "ASN No.",
+          "orderCodePlaceholder": "Enter ASN No.",
+          "platWorkCode": "Plan Track No.",
+          "platWorkCodePlaceholder": "Enter plan track No.",
+          "platItemId": "Line No.",
+          "platItemIdPlaceholder": "Enter line No.",
+          "matnrCodePlaceholder": "Enter material code",
+          "maktxPlaceholder": "Enter material name",
+          "splrBatchPlaceholder": "Enter supplier batch",
+          "stockUnit": "Stock Unit",
+          "stockUnitPlaceholder": "Enter stock unit",
+          "ntyStatus": "Report Status",
+          "createTimeRange": "Created At",
+          "updateTimeRange": "Updated At",
+          "startTime": "Start Time",
+          "endTime": "End Time",
+          "rangeSeparator": "To"
+        },
+        "table": {
+          "poCode": "PO No.",
+          "wkType": "Business Type",
+          "type": "Document Type",
+          "purchaseOrg": "Purchase Org",
+          "purchaseUser": "Purchaser",
+          "platWorkCode": "Plan Track No.",
+          "platItemId": "Line No.",
+          "stockUnit": "Stock Unit",
+          "anfme": "Delivery Qty",
+          "qty": "Received Qty",
+          "targetWarehouseId": "Suggested Target Warehouse",
+          "businessTime": "Business Time"
+        },
+        "detail": {
+          "title": "Receiving Item Detail",
+          "baseInfo": "Basic Information",
+          "itemInfo": "Item Information",
+          "auditInfo": "Audit Information",
+          "extendFields": "Extended Fields",
+          "poCode": "PO No.",
+          "orderCode": "ASN No.",
+          "wkType": "Business Type",
+          "orderType": "Document Type",
+          "purchaseOrg": "Purchase Org",
+          "purchaseUser": "Purchaser",
+          "supplierId": "Supplier ID",
+          "supplierName": "Supplier Name",
+          "businessTime": "Business Time",
+          "targetWarehouseId": "Suggested Target Warehouse",
+          "ntyStatus": "Report Status",
+          "platItemId": "Plan Line No.",
+          "platWorkCode": "Plan Track No.",
+          "spec": "Specification",
+          "model": "Model",
+          "barcode": "Barcode",
+          "qrcode": "QR Code",
+          "packName": "Package Name",
+          "stockUnit": "Stock Unit",
+          "purUnit": "Purchase Unit",
+          "anfme": "Delivery Qty",
+          "qty": "Received Qty",
+          "purQty": "Purchase Qty",
+          "prodTime": "Production Date",
+          "isptResult": "Inspection Result",
+          "sourceWarehouseId": "Source Warehouse"
+        },
+        "messages": {
+          "detailTimeout": "Receiving item detail timed out and waiting has stopped",
+          "detailFailed": "Failed to load receiving item detail",
+          "pageTimeout": "Receiving item loading timed out and waiting has stopped",
+          "noExportData": "No data available for export"
+        }
+      },
       "asnOrder": {
         "reportTitle": "ASN Report",
         "entity": "ASN",
@@ -830,6 +1325,258 @@
           "receivedQtyTotal": "Received Qty"
         }
       },
+      "asnOrderLog": {
+        "table": {
+          "poId": "PO ID",
+          "type": "Order Type",
+          "wkType": "Business Type",
+          "anfme": "Delivery Qty",
+          "qty": "Received Qty",
+          "logisNo": "Logistics No.",
+          "arrTime": "Estimated Arrival Time",
+          "rleStatus": "Release Status",
+          "exceStatus": "Execution Status"
+        }
+      },
+      "asnOrderItemLog": {
+        "reportTitle": "ASN Item Log Report",
+        "table": {
+          "asnCode": "ASN No.",
+          "platItemId": "Platform Line No.",
+          "poDetlId": "PO Item ID",
+          "poCode": "PO No.",
+          "fieldsIndex": "Dynamic Field Index",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "anfme": "Delivery Qty",
+          "stockUnit": "Stock Unit",
+          "purQty": "Purchase Qty",
+          "purUnit": "Purchase Unit",
+          "qty": "Received Qty",
+          "splrCode": "Supplier Code",
+          "splrBatch": "Supplier Batch",
+          "splrName": "Supplier Name",
+          "qrcode": "QR Code",
+          "trackCode": "Track Code",
+          "barcode": "Barcode",
+          "packName": "Package Name",
+          "ntyStatus": "Report Status"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter ASN No./PO No./material code",
+          "logId": "Log ID",
+          "logIdPlaceholder": "Enter log ID",
+          "asnCodePlaceholder": "Enter ASN No.",
+          "poCodePlaceholder": "Enter PO No.",
+          "matnrCodePlaceholder": "Enter material code",
+          "maktxPlaceholder": "Enter material name",
+          "splrBatchPlaceholder": "Enter supplier batch"
+        },
+        "status": {
+          "notReported": "Not Reported",
+          "reported": "Reported",
+          "partialReported": "Partially Reported"
+        }
+      },
+      "outStock": {
+        "reportTitle": "Out Stock Report",
+        "entity": "Out Stock Order",
+        "type": {
+          "out": "Out Stock Order"
+        },
+        "businessType": {
+          "salesOut": "Sales Outbound",
+          "transferOut": "Transfer Outbound",
+          "stockOut": "Stock Outbound",
+          "preOut": "Preparation Outbound"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter out stock order / PO No. / customer",
+          "code": "Out Stock Order",
+          "codePlaceholder": "Enter out stock order",
+          "poCode": "PO No.",
+          "poCodePlaceholder": "Enter PO No.",
+          "wkType": "Business Type",
+          "wkTypePlaceholder": "Select business type",
+          "exceStatus": "Document Status",
+          "exceStatusPlaceholder": "Select document status",
+          "rleStatus": "Release Status",
+          "rleStatusPlaceholder": "Select release status",
+          "logisNo": "Logistics No.",
+          "logisNoPlaceholder": "Enter logistics No.",
+          "customerName": "Customer Name",
+          "customerNamePlaceholder": "Enter customer name",
+          "saleOrgName": "Sales Org",
+          "saleOrgNamePlaceholder": "Enter sales org",
+          "memo": "Remark",
+          "memoPlaceholder": "Enter remark"
+        },
+        "status": {
+          "initialized": "Initialized",
+          "pending": "Pending",
+          "generated": "Generated Work File",
+          "running": "Running",
+          "completed": "Completed",
+          "cancelled": "Cancelled",
+          "released": "Released"
+        },
+        "actions": {
+          "view": "View Detail",
+          "items": "Items",
+          "print": "Print",
+          "complete": "Complete",
+          "cancel": "Cancel",
+          "delete": "Delete"
+        },
+        "table": {
+          "code": "Out Stock Order",
+          "poCode": "PO No.",
+          "type": "Order Type",
+          "wkType": "Business Type",
+          "customerName": "Customer",
+          "saleOrgName": "Sales Org",
+          "anfme": "Required Qty",
+          "workQty": "Execution Qty",
+          "qty": "Outbound Qty",
+          "logisNo": "Logistics No.",
+          "rleStatus": "Release Status",
+          "exceStatus": "Document Status",
+          "updateTime": "Updated At"
+        },
+        "detail": {
+          "title": "Out Stock Detail",
+          "baseInfo": "Basic Information",
+          "auditInfo": "Audit Information",
+          "items": "Order Items",
+          "count": "{count} items",
+          "code": "Out Stock Order",
+          "poCode": "PO No.",
+          "type": "Order Type",
+          "wkType": "Business Type",
+          "exceStatus": "Document Status",
+          "rleStatus": "Release Status",
+          "logisNo": "Logistics No.",
+          "businessTime": "Business Time",
+          "saleOrgName": "Sales Org",
+          "saleUserName": "Sales User",
+          "customerId": "Customer Code",
+          "customerName": "Customer Name",
+          "stockOrgName": "Warehouse Org",
+          "anfme": "Required Qty",
+          "workQty": "Execution Qty",
+          "qty": "Outbound Qty",
+          "memo": "Remark",
+          "createBy": "Created By",
+          "createTime": "Created At",
+          "updateBy": "Updated By",
+          "updateTime": "Updated At"
+        },
+        "messages": {
+          "detailTimeout": "Out stock detail timed out and waiting has stopped",
+          "itemsTimeout": "Out stock items timed out and waiting has stopped",
+          "detailLoadFailed": "Failed to load out stock detail",
+          "completeTitle": "Complete Confirmation",
+          "completeConfirm": "Are you sure you want to complete out stock order {code}?",
+          "completeSuccess": "Completed successfully",
+          "cancelTitle": "Cancel Confirmation",
+          "cancelConfirm": "Are you sure you want to cancel out stock order {code}?",
+          "cancelSuccess": "Cancelled successfully",
+          "actionFailed": "Out stock action failed"
+        }
+      },
+      "outStockItem": {
+        "title": "Out Stock Item",
+        "reportTitle": "Out Stock Item Report",
+        "sourceSummary": {
+          "title": "Current Source",
+          "orderId": "Out stock order ID: {id}"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter out stock order / material code / material name",
+          "orderCode": "Out Stock Order",
+          "orderCodePlaceholder": "Enter out stock order",
+          "poCode": "PO No.",
+          "poCodePlaceholder": "Enter PO No.",
+          "platItemId": "Platform Line No.",
+          "platItemIdPlaceholder": "Enter platform line No.",
+          "matnrCode": "Material Code",
+          "matnrCodePlaceholder": "Enter material code",
+          "maktx": "Material Name",
+          "maktxPlaceholder": "Enter material name",
+          "batch": "Batch",
+          "batchPlaceholder": "Enter batch",
+          "splrBatch": "Supplier Batch",
+          "splrBatchPlaceholder": "Enter supplier batch",
+          "barcode": "Barcode",
+          "barcodePlaceholder": "Enter barcode",
+          "fieldsIndex": "Field Index",
+          "fieldsIndexPlaceholder": "Enter field index",
+          "status": "Status",
+          "statusPlaceholder": "Select status"
+        },
+        "detail": {
+          "title": "Out Stock Item Detail",
+          "orderCode": "Out Stock Order",
+          "poCode": "PO No.",
+          "platItemId": "Platform Line No.",
+          "platOrderCode": "Platform Order No.",
+          "platWorkCode": "Platform Work Order No.",
+          "projectCode": "Project No.",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "spec": "Specification",
+          "model": "Model",
+          "batch": "Batch",
+          "splrBatch": "Supplier Batch",
+          "stockUnit": "Stock Unit",
+          "purUnit": "Purchase Unit",
+          "baseUnit": "Base Unit",
+          "fieldsIndex": "Field Index",
+          "barcode": "Barcode",
+          "qrcode": "QR Code",
+          "packName": "Package Name",
+          "status": "Status",
+          "anfme": "Quantity",
+          "workQty": "Execution Qty",
+          "qty": "Outbound Qty",
+          "purQty": "Purchase Qty",
+          "demandQty": "Demand Qty",
+          "splrCode": "Supplier Code",
+          "splrName": "Supplier Name",
+          "sourceWarehouseId": "Source Warehouse",
+          "targetWarehouseId": "Target Warehouse",
+          "ownerName": "Owner",
+          "keeperName": "Keeper",
+          "memo": "Remark",
+          "createBy": "Created By",
+          "createTime": "Created At",
+          "updateBy": "Updated By",
+          "updateTime": "Updated At"
+        },
+        "table": {
+          "orderCode": "Out Stock Order",
+          "poCode": "PO No.",
+          "platItemId": "Platform Line No.",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "batch": "Batch",
+          "splrBatch": "Supplier Batch",
+          "stockUnit": "Stock Unit",
+          "anfme": "Quantity",
+          "workQty": "Execution Qty",
+          "qty": "Outbound Qty",
+          "fieldsIndex": "Field Index",
+          "status": "Status",
+          "updateTime": "Updated At"
+        },
+        "messages": {
+          "detailTimeout": "Out stock item detail timed out and waiting has stopped",
+          "detailFailed": "Failed to load out stock item detail"
+        }
+      },
       "delivery": {
         "reportTitle": "DO Report",
         "detailReportTitle": "DO Item Report",
@@ -922,6 +1669,56 @@
           "itemsTimeout": "DO items timed out and waiting has stopped",
           "detailTimeout": "DO detail timed out and waiting has stopped",
           "detailLoadFailed": "Failed to load DO detail"
+        }
+      },
+      "deliveryItem": {
+        "reportTitle": "DO Item Report",
+        "sourceTitle": "Current Source",
+        "sourceLabel": "DO ID: {id}",
+        "search": {
+          "conditionPlaceholder": "Enter DO No./material code/material name/supplier",
+          "deliveryCode": "DO No.",
+          "deliveryCodePlaceholder": "Enter DO No.",
+          "platItemId": "Platform Line No.",
+          "platItemIdPlaceholder": "Enter platform line No.",
+          "matnrCodePlaceholder": "Enter material code",
+          "maktxPlaceholder": "Enter material name",
+          "supplierName": "Supplier Name",
+          "supplierNamePlaceholder": "Enter supplier name",
+          "supplierBatchPlaceholder": "Enter supplier batch"
+        },
+        "table": {
+          "deliveryId": "DO ID",
+          "deliveryCode": "DO No.",
+          "platItemId": "Platform Line No.",
+          "fieldsIndex": "Field Index",
+          "workQty": "Execution Qty",
+          "qty": "Outbound Qty",
+          "nromQty": "Std. Pack",
+          "printQty": "Print Qty",
+          "supplierCode": "Supplier Code",
+          "supplierName": "Supplier Name"
+        },
+        "detail": {
+          "title": "DO Item Detail",
+          "baseInfo": "Basic Information",
+          "auditInfo": "Audit Information",
+          "deliveryId": "DO ID",
+          "deliveryCode": "DO No.",
+          "platItemId": "Platform Line No.",
+          "fieldsIndex": "Field Index",
+          "workQty": "Execution Qty",
+          "qty": "Outbound Qty",
+          "nromQty": "Std. Pack",
+          "printQty": "Print Qty",
+          "supplierCode": "Supplier Code",
+          "supplierName": "Supplier Name",
+          "packName": "Package Name",
+          "prodTime": "Production Date"
+        },
+        "messages": {
+          "detailTimeout": "DO item detail timed out and waiting has stopped",
+          "detailFailed": "Failed to load DO item detail"
         }
       },
       "transfer": {
@@ -1038,6 +1835,267 @@
           "publishFailed": "Dispatch failed",
           "typeOptionsTimeout": "Transfer type options timed out and waiting has stopped",
           "areaOptionsTimeout": "Area options timed out and waiting has stopped"
+        }
+      },
+      "transferItem": {
+        "reportTitle": "Transfer Item Report",
+        "sourceTitle": "Current Source",
+        "sourceLabel": "Transfer ID: {id}",
+        "search": {
+          "conditionPlaceholder": "Enter transfer No./material code/material name",
+          "transferId": "Transfer ID",
+          "transferIdPlaceholder": "Enter transfer ID",
+          "transferCode": "Transfer No.",
+          "transferCodePlaceholder": "Enter transfer No.",
+          "platItemId": "Platform Line No.",
+          "platItemIdPlaceholder": "Enter platform line No.",
+          "matnrId": "Material ID",
+          "matnrIdPlaceholder": "Enter material ID",
+          "matnrCodePlaceholder": "Enter material code",
+          "maktxPlaceholder": "Enter material name",
+          "spec": "Specification",
+          "specPlaceholder": "Enter specification",
+          "model": "Model",
+          "modelPlaceholder": "Enter model",
+          "batchPlaceholder": "Enter batch",
+          "unitPlaceholder": "Enter unit",
+          "workQty": "Execution Qty",
+          "workQtyPlaceholder": "Enter execution qty",
+          "qty": "Completed Qty",
+          "qtyPlaceholder": "Enter completed qty",
+          "anfmePlaceholder": "Enter planned qty",
+          "fieldsIndex": "Field Index",
+          "fieldsIndexPlaceholder": "Enter field index",
+          "platOrderCode": "Platform Order No.",
+          "platOrderCodePlaceholder": "Enter platform order No.",
+          "platWorkCode": "Platform Work No.",
+          "platWorkCodePlaceholder": "Enter platform work No.",
+          "projectCode": "Project Code",
+          "projectCodePlaceholder": "Enter project code",
+          "splrId": "Supplier ID",
+          "splrIdPlaceholder": "Enter supplier ID",
+          "memoPlaceholder": "Enter remark",
+          "timeStart": "Start Time",
+          "timeStartPlaceholder": "Select start time",
+          "timeEnd": "End Time",
+          "timeEndPlaceholder": "Select end time"
+        },
+        "table": {
+          "transferId": "Transfer ID",
+          "transferCode": "Transfer No.",
+          "platItemId": "Platform Line No.",
+          "fieldsIndex": "Field Index",
+          "spec": "Specification",
+          "model": "Model",
+          "workQty": "Execution Qty",
+          "qty": "Completed Qty",
+          "platOrderCode": "Platform Order No.",
+          "platWorkCode": "Platform Work No.",
+          "projectCode": "Project Code",
+          "supplierCode": "Supplier Code",
+          "supplierName": "Supplier Name"
+        },
+        "detail": {
+          "title": "Transfer Item Detail",
+          "baseInfo": "Basic Information",
+          "materialInfo": "Material Information",
+          "platformInfo": "Platform Information",
+          "auditInfo": "Audit Information",
+          "transferId": "Transfer ID",
+          "transferCode": "Transfer No.",
+          "platItemId": "Platform Line No.",
+          "fieldsIndex": "Field Index",
+          "matnrId": "Material ID",
+          "spec": "Specification",
+          "model": "Model",
+          "workQty": "Execution Qty",
+          "qty": "Completed Qty",
+          "platOrderCode": "Platform Order No.",
+          "platWorkCode": "Platform Work No.",
+          "projectCode": "Project Code",
+          "splrId": "Supplier ID",
+          "supplierCode": "Supplier Code",
+          "supplierName": "Supplier Name"
+        },
+        "messages": {
+          "detailTimeout": "Transfer item detail timed out and waiting has stopped",
+          "detailFailed": "Failed to load transfer item detail"
+        }
+      },
+      "wave": {
+        "reportTitle": "Wave Report",
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter wave No./remark",
+          "code": "Wave No.",
+          "codePlaceholder": "Enter wave No.",
+          "type": "Wave Type",
+          "exceStatus": "Wave Status",
+          "status": "Status",
+          "memo": "Remark",
+          "memoPlaceholder": "Enter remark",
+          "timeStart": "Start Time",
+          "timeEnd": "End Time"
+        },
+        "status": {
+          "type": {
+            "0": "Manual",
+            "1": "Automatic"
+          },
+          "exceStatus": {
+            "0": "Pending",
+            "1": "Running",
+            "2": "Paused",
+            "3": "Completed"
+          }
+        },
+        "actions": {
+          "view": "View Detail",
+          "publicTask": "Dispatch Task",
+          "pause": "Pause",
+          "continue": "Continue",
+          "stop": "Stop",
+          "print": "Print"
+        },
+        "table": {
+          "code": "Wave No.",
+          "type": "Wave Type",
+          "exceStatus": "Wave Status",
+          "anfme": "Expected Qty",
+          "workQty": "Running Qty",
+          "qty": "Completed Qty",
+          "orderNum": "Document Count",
+          "progress": "Progress",
+          "createTime": "Created At",
+          "updateTime": "Updated At",
+          "status": "Status"
+        },
+        "preview": {
+          "waveCode": "Wave No.",
+          "orderCode": "Document Code",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "batch": "Batch",
+          "unit": "Unit",
+          "anfme": "Required Qty",
+          "workQty": "Allocated Qty",
+          "stockQty": "Stock Qty",
+          "splrBatch": "Supplier Batch",
+          "stockLocs": "Location"
+        },
+        "detail": {
+          "title": "Wave Detail",
+          "code": "Wave No.",
+          "type": "Wave Type",
+          "exceStatus": "Wave Status",
+          "status": "Status",
+          "anfme": "Expected Qty",
+          "workQty": "Running Qty",
+          "qty": "Completed Qty",
+          "orderNum": "Document Count",
+          "groupQty": "Category Count",
+          "targSite": "Target Site",
+          "stationId": "Assigned Station",
+          "locCode": "Assigned Location",
+          "createBy": "Created By",
+          "createTime": "Created At",
+          "updateBy": "Updated By",
+          "updateTime": "Updated At",
+          "memo": "Remark",
+          "previewTitle": "Wave Preview Items - Material Code"
+        },
+        "publicTask": {
+          "title": "Dispatch Wave Task",
+          "code": "Wave No.",
+          "type": "Wave Type",
+          "exceStatus": "Wave Status",
+          "workQty": "Running Qty"
+        },
+        "messages": {
+          "pauseSuccess": "Wave paused",
+          "continueSuccess": "Wave resumed",
+          "stopConfirm": "Are you sure you want to stop wave {code}?",
+          "stopTitle": "Stop Confirmation",
+          "stopSuccess": "Wave stopped",
+          "actionFailed": "Wave action failed",
+          "detailTimeout": "Wave detail timed out and waiting has stopped",
+          "previewTimeout": "Wave preview timed out and waiting has stopped",
+          "publicTaskTimeout": "Wave dispatch preview timed out and waiting has stopped",
+          "publicTaskSuccess": "Wave dispatched",
+          "publicTaskFailed": "Wave dispatch failed",
+          "publicTaskWarning": "Wave preview data is unavailable. Please check location configuration first."
+        }
+      },
+      "waveItem": {
+        "reportTitle": "Wave Item Report",
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter wave No./material code/material name",
+          "waveCode": "Wave No.",
+          "waveCodePlaceholder": "Enter wave No.",
+          "orderCode": "Document Code",
+          "orderCodePlaceholder": "Enter document code",
+          "matnrCode": "Material Code",
+          "matnrCodePlaceholder": "Enter material code",
+          "maktx": "Material Name",
+          "maktxPlaceholder": "Enter material name",
+          "batch": "Batch",
+          "batchPlaceholder": "Enter batch",
+          "splrBatch": "Supplier Batch",
+          "splrBatchPlaceholder": "Enter supplier batch",
+          "fieldsIndex": "Dynamic Field Index",
+          "fieldsIndexPlaceholder": "Enter dynamic field index",
+          "timeStart": "Start Time",
+          "timeEnd": "End Time"
+        },
+        "status": {
+          "exceStatus": {
+            "0": "Pending",
+            "1": "Running",
+            "2": "Paused",
+            "3": "Dispatched",
+            "4": "Task Completed"
+          }
+        },
+        "actions": {
+          "view": "View Detail"
+        },
+        "table": {
+          "waveCode": "Wave No.",
+          "orderCode": "Document Code",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "batch": "Batch",
+          "splrBatch": "Supplier Batch",
+          "unit": "Unit",
+          "anfme": "Required Qty",
+          "workQty": "Allocated Qty",
+          "stockQty": "Stock Qty",
+          "fieldsIndex": "Dynamic Field Index",
+          "exceStatus": "Execution Status",
+          "updateTime": "Updated At",
+          "stockLocs": "Location"
+        },
+        "detail": {
+          "title": "Wave Item Detail",
+          "waveCode": "Wave No.",
+          "orderCode": "Document Code",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "batch": "Batch",
+          "splrBatch": "Supplier Batch",
+          "unit": "Unit",
+          "fieldsIndex": "Dynamic Field Index",
+          "anfme": "Required Qty",
+          "workQty": "Allocated Qty",
+          "stockQty": "Stock Qty",
+          "exceStatus": "Execution Status",
+          "createTime": "Created At",
+          "updateTime": "Updated At",
+          "stockLocs": "Location"
+        },
+        "messages": {
+          "detailTimeout": "Wave item detail timed out and waiting has stopped"
         }
       }
     },
@@ -1272,9 +2330,1325 @@
           "containerTypeTimeout": "Container type options timed out and waiting has stopped",
           "useStatusTimeout": "Usage status options timed out and waiting has stopped"
         }
+      },
+      "basContainer": {
+        "table": {
+          "containerType": "Container Type",
+          "code": "Unique Code",
+          "codeType": "Barcode Type",
+          "areas": "Inbound Areas"
+        }
+      },
+      "companys": {
+        "title": "Companies",
+        "entity": "Company",
+        "reportTitle": "Company Report",
+        "buttons": {
+          "add": "Add Company"
+        },
+        "table": {
+          "code": "Company Code",
+          "name": "Company Name",
+          "nameEn": "English Alias",
+          "briefCode": "Mnemonic Code",
+          "type": "Company Type",
+          "contact": "Contact",
+          "tel": "Phone",
+          "email": "Email",
+          "postCode": "Post Code",
+          "province": "Province",
+          "city": "City",
+          "address": "Address"
+        },
+        "search": {
+          "conditionPlaceholder": "Enter company name/code/contact/phone",
+          "codePlaceholder": "Enter company code",
+          "namePlaceholder": "Enter company name",
+          "nameEnPlaceholder": "Enter English alias",
+          "briefCodePlaceholder": "Enter mnemonic code",
+          "contactPlaceholder": "Enter contact",
+          "telPlaceholder": "Enter phone",
+          "emailPlaceholder": "Enter email",
+          "postCodePlaceholder": "Enter post code",
+          "provincePlaceholder": "Enter province",
+          "cityPlaceholder": "Enter city",
+          "addressPlaceholder": "Enter address",
+          "memoPlaceholder": "Enter remark"
+        },
+        "placeholders": {
+          "code": "Leave blank to auto-generate",
+          "name": "Enter company name",
+          "nameEn": "Enter English alias",
+          "briefCode": "Enter mnemonic code",
+          "type": "Select company type",
+          "contact": "Enter contact",
+          "tel": "Enter phone",
+          "email": "Enter email",
+          "postCode": "Enter post code",
+          "province": "Enter province",
+          "city": "Enter city",
+          "address": "Enter address",
+          "status": "Select status",
+          "memo": "Enter remark"
+        },
+        "validation": {
+          "name": "Please enter the company name",
+          "briefCode": "Please enter the mnemonic code",
+          "type": "Please select the company type"
+        },
+        "dialog": {
+          "titleCreate": "Create Company",
+          "titleEdit": "Edit Company",
+          "titleDetail": "Company Detail"
+        },
+        "detail": {
+          "sections": {
+            "basic": "Basic Information",
+            "audit": "Audit Information"
+          }
+        },
+        "messages": {
+          "detailTimeout": "Company detail loading timed out and waiting has stopped",
+          "detailFailed": "Failed to load company detail",
+          "typeOptionsTimeout": "Company type loading timed out and waiting has stopped"
+        }
+      },
+      "contract": {
+        "table": {
+          "code": "Contract Code",
+          "name": "Contract Name",
+          "projectName": "Project Name"
+        }
+      },
+      "whMat": {
+        "title": "Materials",
+        "labels": {
+          "allMaterials": "All Materials"
+        },
+        "search": {
+          "groupKeywordPlaceholder": "Search material groups",
+          "keyword": "Keyword",
+          "keywordPlaceholder": "Enter material code/name",
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter material code/name",
+          "code": "Material Code",
+          "codePlaceholder": "Enter material code",
+          "name": "Material Name",
+          "namePlaceholder": "Enter material name",
+          "spec": "Specification",
+          "specPlaceholder": "Enter specification",
+          "barcode": "Barcode",
+          "barcodePlaceholder": "Enter barcode"
+        },
+        "messages": {
+          "emptyGroups": "No material groups",
+          "groupTimeout": "Material groups loading timed out and waiting has stopped",
+          "groupLoadFailed": "Failed to load material groups",
+          "listTimeout": "Material list loading timed out and waiting has stopped",
+          "listLoadFailed": "Failed to load material list",
+          "detailTimeout": "Material detail timed out and waiting has stopped",
+          "detailLoadFailed": "Failed to load material detail"
+        },
+        "table": {
+          "code": "Material Code",
+          "name": "Material Name",
+          "groupName": "Material Group",
+          "group": "Material Group",
+          "barcode": "Barcode",
+          "spec": "Specification",
+          "model": "Model"
+        },
+        "detail": {
+          "title": "Material Detail",
+          "sections": {
+            "basic": "Basic Information",
+            "stock": "Stock Information",
+            "audit": "Audit Information",
+            "extend": "Extended Information"
+          },
+          "code": "Material Code",
+          "name": "Material Name",
+          "groupName": "Material Group",
+          "shipperName": "Shipper",
+          "shipper": "Shipper",
+          "barcode": "Barcode",
+          "spec": "Specification",
+          "model": "Model",
+          "color": "Color",
+          "size": "Size",
+          "description": "Description",
+          "unit": "Unit",
+          "purUnit": "Purchase Unit",
+          "purchaseUnit": "Purchase Unit",
+          "stockUnit": "Stock Unit",
+          "stockLevel": "Stock Level",
+          "flagLabelManage": "Label Management",
+          "flagCheck": "Review Management",
+          "safeQty": "Safety Stock",
+          "minQty": "Minimum Stock",
+          "maxQty": "Maximum Stock",
+          "stagn": "Stagnation Days",
+          "valid": "Valid",
+          "validWarn": "Validity Warning",
+          "baseUnit": "Base Unit",
+          "useOrgName": "Using Organization",
+          "erpClsId": "ERP Class"
+        }
+      },
+      "warehouse": {
+        "table": {
+          "name": "Warehouse Name",
+          "code": "Warehouse Code",
+          "factory": "Factory",
+          "address": "Warehouse Address"
+        }
+      },
+      "warehouseAreas": {
+        "title": "Warehouse Areas",
+        "entity": "Warehouse Area",
+        "reportTitle": "Warehouse Area Report",
+        "search": {
+          "conditionPlaceholder": "Enter warehouse area name/code/remark",
+          "codePlaceholder": "Enter warehouse area code",
+          "namePlaceholder": "Enter warehouse area name"
+        },
+        "placeholders": {
+          "warehouse": "Select warehouse",
+          "code": "Enter warehouse area code",
+          "name": "Enter warehouse area name",
+          "type": "Select business type",
+          "shipper": "Select shipper",
+          "supplier": "Select supplier",
+          "flagMinus": "Select negative stock option",
+          "flagLabelManage": "Select label management option",
+          "flagMix": "Select mixed storage option",
+          "status": "Select status",
+          "memo": "Enter remark"
+        },
+        "validation": {
+          "warehouse": "Please select warehouse",
+          "code": "Please enter warehouse area code",
+          "name": "Please enter warehouse area name",
+          "type": "Please select business type",
+          "flagMinus": "Please select negative stock option",
+          "flagMix": "Please select mixed storage option"
+        },
+        "dialog": {
+          "titleCreate": "Add Warehouse Area",
+          "titleEdit": "Edit Warehouse Area"
+        },
+        "detail": {
+          "title": "Warehouse Area Detail",
+          "sections": {
+            "basic": "Basic Information",
+            "audit": "Audit Information"
+          }
+        },
+        "messages": {
+          "detailTimeout": "Warehouse area detail loading timed out and has stopped waiting.",
+          "detailFailed": "Failed to get warehouse area detail",
+          "companyOptionsTimeout": "Company options loading timed out and has stopped waiting.",
+          "warehouseOptionsTimeout": "Warehouse options loading timed out and has stopped waiting.",
+          "typeOptionsTimeout": "Business type loading timed out and has stopped waiting."
+        },
+        "table": {
+          "warehouseName": "Warehouse",
+          "code": "Area Code",
+          "name": "Area Name",
+          "type": "Business Type",
+          "shipperName": "Shipper",
+          "supplierName": "Supplier",
+          "flagMix": "Mixed Storage",
+          "flagMinus": "Negative Stock",
+          "flagLabelManage": "Label Management",
+          "sort": "Sort"
+        }
+      },
+      "deviceSite": {
+        "table": {
+          "type": "Station Type",
+          "site": "Work Site",
+          "name": "Name",
+          "target": "Target Site",
+          "label": "Station Label",
+          "deviceType": "Device Type",
+          "deviceCode": "Device Code",
+          "deviceSite": "Device Site",
+          "channel": "Channel",
+          "areaStart": "Source Area",
+          "areaEnd": "Target Area"
+        }
+      },
+      "basStation": {
+        "table": {
+          "stationCode": "Station Code",
+          "stationName": "Station Name",
+          "type": "Station Type",
+          "useStatus": "Usage Status",
+          "area": "Warehouse Area",
+          "crossZoneArea": "Cross-zone Area",
+          "containerTypes": "Inbound Container Types",
+          "barcode": "Barcode",
+          "inAble": "Inbound Allowed",
+          "outAble": "Outbound Allowed",
+          "isCrossZone": "Cross Zone",
+          "isWcs": "WCS Enabled",
+          "autoTransfer": "Auto Transfer"
+        }
+      },
+      "loc": {
+        "table": {
+          "code": "Location Code",
+          "warehouseName": "Warehouse",
+          "areaName": "Area",
+          "typeIds": "Location Type",
+          "row": "Row",
+          "col": "Column",
+          "lev": "Level",
+          "channel": "Channel",
+          "useStatus": "Usage Status",
+          "flagLogic": "Virtual Location",
+          "flagLabelManage": "Label Management",
+          "barcode": "Container Code"
+        }
+      },
+      "taskPathTemplate": {
+        "actions": {
+          "flow": "Flow Diagram"
+        },
+        "table": {
+          "templateCode": "Template Code",
+          "templateName": "Template Name",
+          "sourceType": "Source Type",
+          "targetType": "Target Type",
+          "conditionDesc": "Condition Description",
+          "version": "Version",
+          "isCurrent": "Current Version",
+          "effectiveTime": "Effective Time",
+          "expireTime": "Expire Time",
+          "priority": "Priority",
+          "timeoutMinutes": "Timeout (min)",
+          "stepSize": "Step Length",
+          "maxRetryTimes": "Max Retries",
+          "retryIntervalSeconds": "Retry Interval (sec)"
+        }
+      },
+      "taskPathTemplateNode": {
+        "table": {
+          "templateId": "Template ID",
+          "templateCode": "Template Code",
+          "nodeOrder": "Node Order",
+          "nodeCode": "Node Code",
+          "nodeName": "Node Name",
+          "nodeType": "Node Type",
+          "systemCode": "System Code",
+          "systemName": "System Name",
+          "mandatory": "Mandatory Node",
+          "parallelExecutable": "Parallel",
+          "timeoutMinutes": "Timeout (min)"
+        }
+      },
+      "taskPathTemplateMerge": {
+        "table": {
+          "templateCode": "Template Code",
+          "templateName": "Template Name",
+          "sourceType": "Source Type",
+          "targetType": "Target Type",
+          "conditionExpression": "Condition Expression",
+          "conditionDesc": "Condition Description",
+          "version": "Version",
+          "isCurrent": "Current Version",
+          "effectiveTime": "Effective Time",
+          "expireTime": "Expire Time",
+          "priority": "Priority",
+          "timeoutMinutes": "Timeout (min)",
+          "maxRetryTimes": "Max Retries",
+          "retryIntervalSeconds": "Retry Interval (sec)",
+          "stepSize": "Step Length"
+        }
+      },
+      "locArea": {
+        "table": {
+          "area": "Area"
+        }
+      },
+      "locAreaMat": {
+        "table": {
+          "code": "Logical Code",
+          "warehouseName": "Warehouse",
+          "areaName": "Area",
+          "depict": "Description"
+        }
+      },
+      "locAreaRela": {
+        "table": {
+          "locAreaId": "Zone ID",
+          "locId": "Location ID"
+        }
+      },
+      "locAreaMatRela": {
+        "table": {
+          "areaMatId": "Parent Record",
+          "areaId": "Area",
+          "code": "Code",
+          "matnrId": "Material",
+          "groupId": "Material Group",
+          "locTypeId": "Location Type",
+          "locId": "Location",
+          "relationType": "Relation Type"
+        }
+      },
+      "locType": {
+        "table": {
+          "uuid": "Identifier",
+          "regex": "Barcode Rule"
+        }
+      },
+      "matnrGroup": {
+        "table": {
+          "code": "Group Code",
+          "parentCode": "Parent Code",
+          "name": "Group Name"
+        }
+      },
+      "deviceBind": {
+        "table": {
+          "currentRow": "Current Row",
+          "startRow": "Start Row",
+          "endRow": "End Row",
+          "deviceQty": "Device Qty",
+          "startDeviceNo": "Start Device No.",
+          "endDeviceNo": "End Device No.",
+          "staList": "Station List",
+          "typeId": "Area Type",
+          "beSimilar": "Material Similar",
+          "emptySimilar": "Empty Board Nearby"
+        }
+      },
+      "manager": {
+        "menuPda": {
+          "actions": {
+            "add": "Add PDA Menu"
+          },
+          "search": {
+            "name": "Menu Name",
+            "namePlaceholder": "Enter menu name",
+            "route": "Route",
+            "routePlaceholder": "Enter route"
+          },
+          "table": {
+            "name": "Menu Name",
+            "iconPreview": "Icon Preview",
+            "menuType": "Menu Type"
+          },
+          "tree": {
+            "topLevel": "Top Level Menu"
+          },
+          "type": {
+            "menu": "Menu",
+            "button": "Button",
+            "directory": "Directory"
+          },
+          "dialog": {
+            "titleAddMenu": "Add Menu",
+            "titleEditMenu": "Edit Menu",
+            "titleAddButton": "Add Button",
+            "titleEditButton": "Edit Button",
+            "menuType": "Menu Type",
+            "parentMenu": "Parent Menu",
+            "menuName": "Menu Name",
+            "permissionName": "Permission Name",
+            "route": "Route",
+            "component": "Component Key",
+            "authority": "Authority",
+            "icon": "Icon",
+            "sort": "Sort",
+            "status": "Status",
+            "placeholder": {
+              "parentMenu": "Select parent menu",
+              "menuName": "Enter menu name",
+              "permissionName": "Enter permission name",
+              "route": "Enter route",
+              "component": "Enter component key",
+              "authority": "Enter authority",
+              "icon": "Enter icon name",
+              "status": "Select status",
+              "memo": "Enter remark"
+            },
+            "validation": {
+              "menuName": "Please enter menu name",
+              "permissionName": "Please enter permission name",
+              "route": "Please enter route",
+              "authority": "Please enter authority"
+            }
+          },
+          "messages": {
+            "listTimeout": "PDA menu timed out and waiting has stopped",
+            "loadFailed": "Failed to load PDA menu",
+            "parentSelf": "Parent menu cannot be the current menu",
+            "deleteConfirm": "Are you sure you want to delete PDA menu \"{title}\"? This action cannot be undone."
+          }
+        }
+      }
+    },
+    "manager": {
+      "menuPda": {
+        "actions": {
+          "add": "Add PDA Menu"
+        },
+        "search": {
+          "name": "Menu Name",
+          "namePlaceholder": "Enter menu name",
+          "route": "Route",
+          "routePlaceholder": "Enter route"
+        },
+        "table": {
+          "name": "Menu Name",
+          "iconPreview": "Icon Preview",
+          "menuType": "Menu Type"
+        },
+        "tree": {
+          "topLevel": "Top Level Menu"
+        },
+        "type": {
+          "menu": "Menu",
+          "button": "Button",
+          "directory": "Directory"
+        },
+        "dialog": {
+          "titleAddMenu": "Add Menu",
+          "titleEditMenu": "Edit Menu",
+          "titleAddButton": "Add Button",
+          "titleEditButton": "Edit Button",
+          "menuType": "Menu Type",
+          "parentMenu": "Parent Menu",
+          "menuName": "Menu Name",
+          "permissionName": "Permission Name",
+          "route": "Route",
+          "component": "Component Key",
+          "authority": "Authority",
+          "icon": "Icon",
+          "sort": "Sort",
+          "status": "Status",
+          "placeholder": {
+            "parentMenu": "Select parent menu",
+            "menuName": "Enter menu name",
+            "permissionName": "Enter permission name",
+            "route": "Enter route",
+            "component": "Enter component key",
+            "authority": "Enter authority",
+            "icon": "Enter icon name",
+            "status": "Select status",
+            "memo": "Enter remark"
+          },
+          "validation": {
+            "menuName": "Please enter menu name",
+            "permissionName": "Please enter permission name",
+            "route": "Please enter route",
+            "authority": "Please enter authority"
+          }
+        },
+        "messages": {
+          "listTimeout": "PDA menu timed out and waiting has stopped",
+          "loadFailed": "Failed to load PDA menu",
+          "parentSelf": "Parent menu cannot be the current menu",
+          "deleteConfirm": "Are you sure you want to delete PDA menu \"{title}\"? This action cannot be undone."
+        }
+      },
+      "waveRule": {
+        "entity": "Wave Rule",
+        "reportTitle": "Wave Rule Report",
+        "actions": {
+          "add": "Add Wave Rule"
+        },
+        "table": {
+          "type": "Type"
+        },
+        "search": {
+          "conditionPlaceholder": "Enter code or name",
+          "codePlaceholder": "Enter code",
+          "namePlaceholder": "Enter rule name"
+        },
+        "dialog": {
+          "titleCreate": "Add Wave Rule",
+          "titleEdit": "Edit Wave Rule",
+          "validation": {
+            "type": "Please select a rule type",
+            "name": "Please enter a rule name"
+          },
+          "placeholder": {
+            "code": "Generated after creation",
+            "type": "Select rule type",
+            "name": "Enter rule name",
+            "status": "Select status",
+            "memo": "Enter remark"
+          }
+        },
+        "detail": {
+          "title": "Wave Rule Detail"
+        },
+        "messages": {
+          "typeTimeout": "Wave rule types timed out and waiting has stopped",
+          "detailFailed": "Failed to get wave rule detail"
+        }
+      },
+      "taskLog": {
+        "reportTitle": "Task Log Report",
+        "table": {
+          "taskCode": "Task Code",
+          "taskStatus": "Task Status",
+          "taskType": "Task Type",
+          "orgLoc": "Source Location",
+          "orgSite": "Source Station",
+          "targLoc": "Target Location",
+          "targSite": "Target Station",
+          "barcode": "Pallet Code",
+          "robotCode": "Robot Code",
+          "startTime": "Start Time",
+          "endTime": "End Time"
+        },
+        "search": {
+          "conditionPlaceholder": "Enter task code, pallet code, or robot code",
+          "taskCodePlaceholder": "Enter task code",
+          "orgLocPlaceholder": "Enter source location",
+          "targLocPlaceholder": "Enter target location",
+          "barcodePlaceholder": "Enter pallet code",
+          "robotCodePlaceholder": "Enter robot code",
+          "timeStart": "Start Date",
+          "timeEnd": "End Date"
+        },
+        "detail": {
+          "title": "Task Log Detail",
+          "taskId": "Task ID",
+          "exceStatus": "Execution Status",
+          "sort": "Priority",
+          "expDesc": "Exception Description",
+          "expCode": "Exception Code"
+        }
+      },
+      "inStatisticItem": {
+        "title": "Inbound Statistic Item",
+        "table": {
+          "dayTime": "Statistic Date",
+          "locCode": "Location",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "anfme": "Quantity",
+          "batch": "Batch",
+          "barcode": "Pallet Code"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter material name/code/batch",
+          "dayTime": "Statistic Date",
+          "maktx": "Material Name",
+          "maktxPlaceholder": "Enter material name",
+          "matnrCode": "Material Code",
+          "matnrCodePlaceholder": "Enter material code",
+          "batch": "Batch",
+          "batchPlaceholder": "Enter batch"
+        },
+        "detail": {
+          "title": "{title} Detail",
+          "taskType": "Task Type",
+          "taskStatus": "Task Status",
+          "fieldsIndex": "Field Index"
+        }
+      },
+      "freeze": {
+        "table": {
+          "locCode": "Location Code",
+          "wareArea": "Area",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "batch": "Batch",
+          "trackCode": "Track Code",
+          "anfme": "Available Qty",
+          "qty": "Stock Qty",
+          "workQty": "Working Qty"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter location code/material code",
+          "locCode": "Location Code",
+          "locCodePlaceholder": "Enter location code",
+          "matnrCode": "Material Code",
+          "matnrCodePlaceholder": "Enter material code",
+          "maktx": "Material Name",
+          "maktxPlaceholder": "Enter material name",
+          "batch": "Batch",
+          "batchPlaceholder": "Enter batch",
+          "trackCode": "Track Code",
+          "trackCodePlaceholder": "Enter track code",
+          "dynamicPlaceholder": "Enter {label}"
+        },
+        "detail": {
+          "title": "Freeze Stock Detail"
+        },
+        "messages": {
+          "fieldsTimeout": "Extended fields timed out and waiting has stopped",
+          "pageTimeout": "Frozen stock timed out and waiting has stopped",
+          "detailTimeout": "Frozen stock detail timed out and waiting has stopped"
+        }
+      },
+      "locItem": {
+        "table": {
+          "locId": "Location ID",
+          "wareArea": "Area",
+          "locCode": "Location Code",
+          "type": "Business Type",
+          "wkType": "Workstation Type",
+          "orderId": "Order ID",
+          "orderItemId": "Order Item ID",
+          "matnrId": "Material ID",
+          "matnrCode": "Material Code",
+          "maktx": "Material Name",
+          "spec": "Spec",
+          "model": "Model",
+          "batch": "Batch",
+          "trackCode": "Track Code",
+          "anfme": "Available Qty",
+          "qty": "Stock Qty",
+          "workQty": "Working Qty"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter location code/material code/track code",
+          "timeStart": "Start Date",
+          "timeEnd": "End Date",
+          "locId": "Location ID",
+          "locIdPlaceholder": "Enter location ID",
+          "orderId": "Order ID",
+          "orderIdPlaceholder": "Enter order ID",
+          "type": "Business Type",
+          "typePlaceholder": "Enter business type",
+          "wkType": "Workstation Type",
+          "wkTypePlaceholder": "Enter workstation type",
+          "matnrCode": "Material Code",
+          "matnrCodePlaceholder": "Enter material code",
+          "maktx": "Material Name",
+          "maktxPlaceholder": "Enter material name",
+          "trackCode": "Track Code",
+          "trackCodePlaceholder": "Enter track code",
+          "batch": "Batch",
+          "batchPlaceholder": "Enter batch",
+          "splrBatch": "Supplier Batch",
+          "splrBatchPlaceholder": "Enter supplier batch"
+        },
+        "detail": {
+          "title": "Stock Item Detail",
+          "extendFields": "Extended Fields",
+          "emptyExtendFields": "No extended fields"
+        },
+        "messages": {
+          "pageTimeout": "Stock item loading timed out and waiting has stopped",
+          "detailFailed": "Failed to get stock item detail",
+          "fieldsTimeout": "Extended fields timed out and waiting has stopped"
+        }
+      },
+      "locPreview": {
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter location code or barcode",
+          "code": "Location Code",
+          "codePlaceholder": "Enter location code",
+          "barcode": "Barcode",
+          "barcodePlaceholder": "Enter barcode"
+        },
+        "table": {
+          "locCode": "Location Code",
+          "warehouseLabel": "Warehouse",
+          "areaLabel": "Area",
+          "typeLabel": "Location Type",
+          "barcode": "Barcode",
+          "useStatusLabel": "Usage Status",
+          "row": "Row",
+          "col": "Column",
+          "lev": "Level",
+          "channel": "Channel"
+        },
+        "detail": {
+          "title": "Location Detail",
+          "stockItems": "Stock Items"
+        },
+        "messages": {
+          "fieldsTimeout": "Loading extended fields timed out and waiting has stopped",
+          "pageTimeout": "Loading location details timed out and waiting has stopped",
+          "detailTimeout": "Loading location detail timed out and waiting has stopped",
+          "itemPageTimeout": "Loading location stock details timed out and waiting has stopped"
+        }
       }
     },
     "system": {
+      "config": {
+        "title": "Config",
+        "entity": "config",
+        "buttons": {
+          "add": "Add Config"
+        },
+        "table": {
+          "flag": "Flag",
+          "type": "Type",
+          "value": "Value",
+          "content": "Content"
+        },
+        "search": {
+          "conditionPlaceholder": "Enter config name",
+          "flagPlaceholder": "Enter config flag"
+        },
+        "types": {
+          "boolean": "Boolean",
+          "number": "Number",
+          "string": "String",
+          "json": "JSON",
+          "date": "Date"
+        },
+        "placeholders": {
+          "uuid": "Generated after creation",
+          "name": "Enter config name",
+          "flag": "Enter config flag",
+          "type": "Select type",
+          "value": "Enter config value",
+          "content": "Enter config content",
+          "status": "Select status",
+          "memo": "Enter remark"
+        },
+        "validation": {
+          "name": "Please enter config name",
+          "flag": "Please enter config flag"
+        },
+        "dialog": {
+          "titleCreate": "Create Config",
+          "titleEdit": "Edit Config",
+          "titleDetail": "Config Detail"
+        },
+        "messages": {
+          "detailFailed": "Failed to fetch config detail"
+        }
+      },
+      "dictType": {
+        "title": "Dictionary Type",
+        "entity": "Dictionary Type",
+        "buttons": {
+          "add": "Add Dictionary Type"
+        },
+        "search": {
+          "conditionPlaceholder": "Enter code or name",
+          "codePlaceholder": "Enter dictionary code",
+          "namePlaceholder": "Enter dictionary name"
+        },
+        "table": {
+          "description": "Description"
+        },
+        "placeholders": {
+          "code": "Enter dictionary code",
+          "name": "Enter dictionary name",
+          "status": "Select status",
+          "description": "Enter dictionary description",
+          "memo": "Enter remark"
+        },
+        "validation": {
+          "code": "Please enter dictionary code",
+          "name": "Please enter dictionary name"
+        },
+        "dialog": {
+          "titleCreate": "Add Dictionary Type",
+          "titleEdit": "Edit Dictionary Type",
+          "titleDetail": "Dictionary Type Detail"
+        },
+        "messages": {
+          "detailFailed": "Failed to fetch dictionary type detail"
+        }
+      },
+      "dept": {
+        "title": "Department",
+        "entity": "department",
+        "buttons": {
+          "add": "Add Department"
+        },
+        "table": {
+          "parent": "Parent Department",
+          "name": "Department Name",
+          "fullName": "Department Full Name",
+          "leader": "Leader"
+        },
+        "search": {
+          "conditionPlaceholder": "Enter department name"
+        },
+        "placeholders": {
+          "parentId": "Select parent department",
+          "name": "Enter department name",
+          "fullName": "Enter full department name",
+          "leader": "Enter leader",
+          "status": "Select status",
+          "memo": "Enter remark"
+        },
+        "validation": {
+          "name": "Please enter department name"
+        },
+        "dialog": {
+          "titleCreate": "Create Department",
+          "titleEdit": "Edit Department"
+        },
+        "messages": {
+          "pageTimeout": "Department loading timed out and waiting has stopped",
+          "detailFailed": "Failed to fetch department detail",
+          "parentSelfInvalid": "Parent department cannot be the current department"
+        }
+      },
+      "userLogin": {
+        "title": "Login Logs",
+        "search": {
+          "token": "Token",
+          "tokenPlaceholder": "Enter token",
+          "ip": "IP",
+          "ipPlaceholder": "Enter IP",
+          "system": "System",
+          "systemPlaceholder": "Enter system identifier",
+          "type": "Type",
+          "typePlaceholder": "Select type"
+        },
+        "table": {
+          "user": "User",
+          "token": "Token",
+          "ip": "IP",
+          "system": "System"
+        },
+        "types": {
+          "loginSuccess": "Login Success",
+          "loginFailed": "Login Failed",
+          "logout": "Logout",
+          "tokenRenew": "Token Renew"
+        }
+      },
+      "operationRecord": {
+        "title": "Operation Log",
+        "entity": "Operation Log",
+        "reportTitle": "Operation Log Report",
+        "search": {
+          "conditionPlaceholder": "Enter namespace",
+          "urlPlaceholder": "Enter API URL",
+          "clientIpPlaceholder": "Enter client IP",
+          "timeStart": "Start Date",
+          "timeEnd": "End Date"
+        },
+        "table": {
+          "namespace": "Namespace",
+          "url": "API URL",
+          "user": "User",
+          "clientIp": "Client IP",
+          "spendTime": "Latency (ms)",
+          "result": "Result",
+          "timestamp": "Operation Time"
+        },
+        "result": {
+          "success": "Success",
+          "failed": "Failed"
+        },
+        "detail": {
+          "appkey": "App Key",
+          "error": "Error",
+          "request": "Request Content",
+          "response": "Response Content"
+        },
+        "dialog": {
+          "titleDetail": "Operation Log Detail"
+        },
+        "messages": {
+          "detailFailed": "Failed to load operation log detail"
+        }
+      },
+      "aiParam": {
+        "title": "AI Params",
+        "subtitle": "Manage the current user's model access settings and defaults with cards.",
+        "entity": "AI Params",
+        "reportTitle": "AI Params Report",
+        "empty": "No AI parameters yet",
+        "buttons": {
+          "add": "Add Param"
+        },
+        "actions": {
+          "setDefault": "Set Default"
+        },
+        "fields": {
+          "baseUrl": "Base URL",
+          "lastValidateTime": "Last Validation",
+          "timeoutMs": "Timeout",
+          "streamingEnabled": "Streaming",
+          "maxTokens": "Max Tokens"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter parameter name",
+          "providerType": "Provider",
+          "providerTypePlaceholder": "Enter provider type",
+          "model": "Model",
+          "modelPlaceholder": "Enter model name",
+          "status": "Default Status"
+        },
+        "status": {
+          "default": "Default",
+          "candidate": "Candidate"
+        },
+        "validation": {
+          "valid": "Validated",
+          "invalid": "Invalid",
+          "notTested": "Not Tested"
+        },
+        "streaming": {
+          "enabled": "Streaming",
+          "disabled": "Non-streaming"
+        },
+        "table": {
+          "name": "Name",
+          "providerType": "Provider Type",
+          "model": "Model",
+          "status": "Default Status",
+          "validateStatus": "Validation Status",
+          "timeoutMs": "Timeout"
+        },
+        "summary": {
+          "title": "Runtime Summary",
+          "subtitle": "Overview of the active model, prompt, and MCP mounts",
+          "refresh": "Refresh Summary",
+          "activeModel": "Active Model",
+          "activePrompt": "Active Prompt",
+          "lastPromptUpdate": "Last updated {value}",
+          "enabledMcp": "Enabled MCP",
+          "enabledMcpCount": "{count} enabled",
+          "noMcp": "No mounts"
+        },
+        "dialog": {
+          "titleCreate": "Create AI Param",
+          "titleEdit": "Edit AI Param",
+          "titleDetail": "AI Param Detail",
+          "runtimeTitle": "Runtime Status",
+          "runtimeDescription": "Run a draft validation before saving. Runtime status is returned from the backend.",
+          "validateDraft": "Validate Draft",
+          "labels": {
+            "validateStatus": "Validation Status",
+            "lastValidateElapsedMs": "Validation Duration",
+            "lastValidateTime": "Last Validation Time",
+            "updateBy": "Updated By",
+            "updateTime": "Updated At",
+            "lastValidateMessage": "Validation Message",
+            "name": "Name",
+            "providerType": "Provider Type",
+            "baseUrl": "Base URL",
+            "apiKey": "API Key",
+            "model": "Model",
+            "temperature": "Temperature",
+            "topP": "Top P",
+            "maxTokens": "Max Tokens",
+            "timeoutMs": "Timeout (ms)",
+            "streamingEnabled": "Streaming",
+            "status": "Default Status",
+            "memo": "Remark"
+          },
+          "placeholders": {
+            "name": "Enter parameter name",
+            "providerType": "Select provider type",
+            "baseUrl": "Enter OpenAI-compatible base URL",
+            "apiKey": "Enter API key",
+            "model": "Enter model name",
+            "temperature": "Enter temperature",
+            "topP": "Enter topP",
+            "maxTokens": "Enter max tokens",
+            "timeoutMs": "Enter timeout",
+            "status": "Select default status",
+            "memo": "Enter remark"
+          },
+          "validation": {
+            "name": "Please enter a parameter name",
+            "providerType": "Please select a provider type",
+            "baseUrl": "Please enter a base URL",
+            "apiKey": "Please enter an API key",
+            "model": "Please enter a model name"
+          }
+        },
+        "messages": {
+          "setDefaultSuccess": "Default parameter updated",
+          "summaryTimeout": "Runtime summary timed out and waiting has stopped",
+          "summaryUnavailable": "Runtime summary is currently unavailable"
+        }
+      },
+      "aiPrompt": {
+        "title": "Prompts",
+        "subtitle": "Manage system prompts and scene-based user prompt templates with cards.",
+        "entity": "Prompt",
+        "reportTitle": "Prompt Report",
+        "empty": "No prompts yet",
+        "buttons": {
+          "add": "Add Prompt"
+        },
+        "fields": {
+          "sceneTag": "Scene {value}",
+          "systemPrompt": "System Prompt",
+          "userPromptTemplate": "User Prompt Template"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter prompt name",
+          "code": "Prompt Code",
+          "codePlaceholder": "Enter prompt code",
+          "scene": "Scene",
+          "scenePlaceholder": "Enter scene",
+          "status": "Status"
+        },
+        "table": {
+          "name": "Prompt Name",
+          "code": "Prompt Code",
+          "scene": "Scene",
+          "status": "Status",
+          "systemPrompt": "System Prompt",
+          "userPromptTemplate": "User Prompt Template"
+        },
+        "dialog": {
+          "titleCreate": "Create Prompt",
+          "titleEdit": "Edit Prompt",
+          "titleDetail": "Prompt Detail",
+          "defaultPreviewInput": "Please summarize the current input",
+          "previewTitle": "Render Preview",
+          "previewDescription": "Enter sample input and metadata to preview the rendered output.",
+          "previewAction": "Render Preview",
+          "previewResolvedVariables": "Resolved variables: {value}",
+          "previewNoVariables": "None",
+          "runtimeTitle": "Runtime Status",
+          "labels": {
+            "updateBy": "Updated By",
+            "updateTime": "Updated At",
+            "name": "Prompt Name",
+            "code": "Prompt Code",
+            "scene": "Scene",
+            "systemPrompt": "System Prompt",
+            "userPromptTemplate": "User Prompt Template",
+            "status": "Status",
+            "memo": "Remark"
+          },
+          "placeholders": {
+            "previewInput": "Enter sample input",
+            "metadata": "Enter JSON metadata, e.g. {\"path\":\"/system/aiPrompt\"}",
+            "renderedSystemPrompt": "Rendered system prompt",
+            "renderedUserPrompt": "Rendered user prompt",
+            "name": "Enter prompt name",
+            "code": "Enter prompt code",
+            "scene": "Enter scene",
+            "systemPrompt": "Enter system prompt",
+            "userPromptTemplate": "Enter user prompt template",
+            "status": "Select status",
+            "memo": "Enter remark"
+          },
+          "validation": {
+            "name": "Please enter a prompt name",
+            "code": "Please enter a prompt code",
+            "scene": "Please enter a scene",
+            "systemPrompt": "Please enter a system prompt",
+            "userPromptTemplate": "Please enter a user prompt template"
+          }
+        },
+        "messages": {
+          "previewFailed": "Failed to render preview"
+        }
+      },
+      "aiMcpMount": {
+        "title": "MCP Mounts",
+        "subtitle": "Maintain MCP mounts and health status for the current environment.",
+        "entity": "MCP Mount",
+        "empty": "No MCP mounts yet",
+        "buttons": {
+          "add": "Add Mount"
+        },
+        "fields": {
+          "target": "Target",
+          "lastTestTime": "Last Test Time",
+          "timeoutMs": "Timeout",
+          "lastInitElapsedMs": "Last Init Duration"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter mount name",
+          "transportType": "Transport Type",
+          "status": "Status"
+        },
+        "actions": {
+          "connectivityTest": "Connectivity Test",
+          "toolsPreview": "Tools Preview"
+        },
+        "health": {
+          "healthy": "Healthy",
+          "unhealthy": "Unhealthy",
+          "notTested": "Not Tested"
+        },
+        "groups": {
+          "builtin": {
+            "title": "Built-in Mount",
+            "description": "Platform built-in MCP capabilities."
+          },
+          "sse": {
+            "title": "SSE / HTTP Mount",
+            "description": "Remote MCP service connected through HTTP/SSE."
+          },
+          "stdio": {
+            "title": "STDIO Mount",
+            "description": "MCP service started and communicated through local commands."
+          }
+        },
+        "dialog": {
+          "titleCreate": "Create MCP Mount",
+          "titleEdit": "Edit MCP Mount",
+          "titleDetail": "MCP Mount Detail",
+          "runtimeTitle": "Runtime Status",
+          "draftTestTitle": "Draft Connectivity Test",
+          "draftTestDescription": "Test current draft settings before saving.",
+          "draftTestAction": "Test Current Settings",
+          "runtimeLabels": {
+            "healthStatus": "Health Status",
+            "lastTestTime": "Last Test Time",
+            "lastTestMessage": "Last Test Message",
+            "lastInitElapsedMs": "Last Init Duration",
+            "updateTime": "Updated At"
+          },
+          "labels": {
+            "name": "Mount Name",
+            "transportType": "Transport Type",
+            "status": "Status",
+            "serverUrl": "Server URL",
+            "endpoint": "SSE/HTTP Path",
+            "command": "Command",
+            "argsJson": "Command Args (JSON)",
+            "envJson": "Environment JSON",
+            "headersJson": "Headers JSON",
+            "builtinCode": "Built-in Code",
+            "requestTimeoutMs": "Request Timeout (ms)",
+            "sort": "Sort",
+            "memo": "Remark"
+          },
+          "placeholders": {
+            "name": "Enter mount name",
+            "transportType": "Select transport type",
+            "status": "Select status",
+            "serverUrl": "Enter server URL",
+            "endpoint": "Enter endpoint path",
+            "command": "Enter command",
+            "argsJson": "Enter JSON array, e.g. [\"server.js\"]",
+            "envJson": "Enter JSON object, e.g. {\"NODE_ENV\":\"production\"}",
+            "headersJson": "Enter JSON object, e.g. {\"Authorization\":\"Bearer ...\"}",
+            "builtinCode": "Enter built-in code",
+            "requestTimeoutMs": "Enter request timeout",
+            "sort": "Enter sort value",
+            "memo": "Enter remark"
+          },
+          "validation": {
+            "name": "Please enter a mount name",
+            "transportType": "Please select a transport type"
+          }
+        },
+        "toolsDrawer": {
+          "title": "MCP Tools Preview",
+          "currentMount": "Current Mount",
+          "description": "Preview tools exposed by the current mount and test them online.",
+          "refreshTools": "Refresh Tools",
+          "connectivityTest": "Connectivity Test",
+          "empty": "No tools available for the current mount",
+          "toolTest": "Test Tool",
+          "toolInputRequired": "Please enter tool input JSON",
+          "toolTestSuccess": "Tool call succeeded",
+          "toolTestFailed": "Tool call failed",
+          "toolsLoadFailed": "Failed to load tools",
+          "toolsTimeout": "Tool loading timed out and waiting has stopped",
+          "toolTestTimeout": "Tool call timed out and waiting has stopped",
+          "inputSchema": "Input Schema",
+          "inputJson": "Input JSON",
+          "inputJsonPlaceholder": "Enter JSON, e.g. {\"keyword\":\"task\"}",
+          "output": "Output",
+          "outputPlaceholder": "No output yet"
+        },
+        "messages": {
+          "connectivitySuccess": "Connectivity test succeeded",
+          "connectivityFailed": "Connectivity test failed",
+          "connectivityTimeout": "Connectivity test timed out and waiting has stopped",
+          "draftConnectivitySuccess": "Draft connectivity test succeeded",
+          "draftConnectivityFailed": "Draft connectivity test failed",
+          "toolsTimeout": "Tool list timed out and waiting has stopped",
+          "toolTestTimeout": "Tool call timed out and waiting has stopped",
+          "initElapsedMs": "Init duration {value} ms"
+        }
+      },
+      "aiObserve": {
+        "title": "AI Observe",
+        "summaryTitle": "AI Observe Summary",
+        "summaryDescription": "Observe AI call status, latency, token usage, and MCP tool execution.",
+        "reportTitle": "AI Observe Report",
+        "stats": {
+          "callCount": "Calls",
+          "avgElapsed": "Average Latency",
+          "totalTokens": "Total Tokens",
+          "toolSuccessRate": "Tool Success Rate",
+          "successFailure": "Success {success} / Failure {failure}",
+          "firstTokenLatency": "First token {value} ms",
+          "avgTokens": "Average {value} Tokens",
+          "toolCallFailure": "Calls {callCount} / Failure {failureCount}"
+        },
+        "search": {
+          "condition": "Keyword",
+          "conditionPlaceholder": "Enter request ID or prompt",
+          "requestId": "Request ID",
+          "requestIdPlaceholder": "Enter request ID",
+          "promptCode": "Prompt Code",
+          "promptCodePlaceholder": "Enter prompt code",
+          "user": "User",
+          "userPlaceholder": "Enter user ID",
+          "status": "Status",
+          "statusPlaceholder": "Select status"
+        },
+        "status": {
+          "running": "Running",
+          "completed": "Completed",
+          "failed": "Failed",
+          "aborted": "Aborted"
+        },
+        "detail": {
+          "title": "AI Observe Detail",
+          "requestId": "Request ID",
+          "sessionId": "Session ID",
+          "prompt": "Prompt",
+          "model": "Model",
+          "user": "User",
+          "status": "Status",
+          "mountedMcp": "Mounted MCP",
+          "configuredMcpCount": "Configured MCP Count",
+          "toolCallCount": "Tool Calls",
+          "toolSuccessFailure": "Success / Failure",
+          "elapsed": "Total Latency",
+          "firstTokenLatency": "First Token Latency",
+          "createTime": "Created At",
+          "updateTime": "Updated At",
+          "errorCategory": "Error Category",
+          "errorStage": "Error Stage",
+          "errorMessage": "Error Message",
+          "mcpLogs": "MCP Call Logs",
+          "inputSummary": "Input Summary",
+          "outputSummary": "Output Summary",
+          "emptyMcpLogs": "No MCP call logs"
+        },
+        "table": {
+          "requestId": "Request ID",
+          "prompt": "Prompt",
+          "model": "Model",
+          "user": "User",
+          "status": "Status",
+          "elapsed": "Latency",
+          "totalTokens": "Total Tokens",
+          "createTime": "Created At"
+        },
+        "messages": {
+          "detailTimeout": "AI observe detail timed out and waiting has stopped",
+          "mcpLogsTimeout": "MCP call logs timed out and waiting has stopped",
+          "detailFailed": "Failed to load AI observe detail",
+          "statsTimeout": "AI observe summary timed out and waiting has stopped",
+          "statsFailed": "Failed to load AI observe summary"
+        }
+      },
       "role": {
         "entity": "Role",
         "reportTitle": "Role Report",

--
Gitblit v1.9.1