refactor(i18n): U23 Task 模块 i18n 治理 — 4 文件 phantom key + hash key + 硬编码中文清零
- CronJobManager/CronJobFormDialog/ScriptManager/RemoteExecPage
从 import i18n 全局调用改为 useTranslation() hook
- 42 处 phantom key (i18n.t('Chinese text') → 语义化键)
- 28 个孤儿 hash key 清理 (cronjobformdial.s*/remoteexecpaget.s*)
- 50+ 处硬编码 JSX 中文 → t() 调用
- 新增 task.cronJob.*/task.scriptList.*/task.remoteExec.* 子命名空间
- zh/en 6825→6886 keys 对齐
- tsc -b=0, npm build✓ (17.46s), ESLint=0/45/0, go build=0
- 17/17 集成回归测试通过
This commit is contained in:
1 parent
a8f6fd190b
commit
de6f9454fc
7 files changed
+361
-229
No files matched your search
@@ -4520,6 +4520,56 @@
|
||||
"minutesAgo": "{{count}}m ago",
|
||||
"hoursAgo": "{{count}}h ago",
|
||||
"daysAgo": "{{count}}d ago"
|
||||
},
|
||||
"form": {
|
||||
"titleCreate": "Create Cron Job",
|
||||
"titleEdit": "Edit Cron Job",
|
||||
"desc": "Configure scheduled tasks with script association or custom commands",
|
||||
"labelName": "Job Name",
|
||||
"labelDesc": "Description",
|
||||
"labelCronExpr": "Cron Expression",
|
||||
"labelJobType": "Execution Type",
|
||||
"labelScript": "Select Script",
|
||||
"labelCommand": "Command",
|
||||
"placeholderName": "e.g., Database backup",
|
||||
"placeholderCommand": "/scripts/backup.sh arg1 arg2",
|
||||
"quickSelect": "Quick Select",
|
||||
"cronHint": "Format: minute hour day month weekday",
|
||||
"noScriptType": "No {{type}} scripts found in script library",
|
||||
"noScriptHint": "Please create a {{type}} script in Script Library first",
|
||||
"selectScriptPlaceholder": "Select a script from library...",
|
||||
"emptyScript": "(empty script)",
|
||||
"scriptLines": "{{count}} lines",
|
||||
"cancel": "Cancel",
|
||||
"toastNameRequired": "Please fill in job name and Cron expression",
|
||||
"toastSaved": "Job saved successfully"
|
||||
},
|
||||
"typeShell": "Link to Shell scripts from the script library",
|
||||
"typePython": "Link to Python scripts from the script library",
|
||||
"typePowershell": "Link to PowerShell scripts from the script library",
|
||||
"typeCommandDesc": "Manually enter command or script path",
|
||||
"typeCommandLabel": "Custom Command",
|
||||
"list": {
|
||||
"subtitle": "Cron Scheduler · Script Execution · Built-in System Tasks",
|
||||
"searchPlaceholder": "Search name, description, script...",
|
||||
"filterStatus": "Status",
|
||||
"filterHealth": "Health",
|
||||
"filterType": "Type",
|
||||
"selectAll": "Select All",
|
||||
"batchDelete": "Delete",
|
||||
"clearFilter": "Clear Filters",
|
||||
"filterResult": "Filtered {{shown}}/{{total}}",
|
||||
"selectedCount": "{{count}} selected",
|
||||
"allHistory": "All History",
|
||||
"refresh": "Refresh",
|
||||
"create": "Create",
|
||||
"createTask": "New Task",
|
||||
"delete": "Delete Cron Job",
|
||||
"toastToggled": "Status toggled",
|
||||
"toastDeleted": "{{count}} jobs deleted",
|
||||
"batchDeleteConfirm": "Delete {{count}} selected jobs? This cannot be undone.",
|
||||
"confirmDelete": "Delete \"{{name}}\"? This cannot be undone.",
|
||||
"execDuration": "Duration: {{ms}}ms"
|
||||
}
|
||||
},
|
||||
"script": {
|
||||
@@ -4566,34 +4616,53 @@
|
||||
"noPython": "Python is not installed. Python scripts will not be executable.",
|
||||
"partialUnavailable": "Some interpreters are unavailable; scripts of those types cannot run after creation."
|
||||
},
|
||||
"remoteexecpaget.seb6e67f1": "Batch Execute Commands",
|
||||
"remoteexecpaget.s30048caa": "Batch Upload Files",
|
||||
"remoteexecpaget.sb7e21a1e": "Select Local File",
|
||||
"remoteexecpaget.sb47f0323": "Remote target path (filename auto-appended for directories)",
|
||||
"cronjobformdial.s2e10ee70": "Configure Cron Job",
|
||||
"cronjobformdial.s3b56b1f9": "Format: min hour day month weekday",
|
||||
"cronjobformdial.s15d864c1": "Execution Type",
|
||||
"systemtaskspanel.s4d5e6f7g": "Built-in",
|
||||
"systemtaskspanel.s5e6f7g8h": "Process-level built-in scheduling, not editable; cleanup and cost tasks support manual trigger",
|
||||
"systemtaskspanel.s6f7g8h9i": "{{count}} tasks",
|
||||
"systemtaskspanel.s7g8h9i0j": "{{count}} failed",
|
||||
"systemtaskspanel.s8h9i0j1k": "Task",
|
||||
"systemtaskspanel.s9i0j1k2l": "Schedule / Description",
|
||||
"systemtaskspanel.s0j1k2l3m": "Last Run",
|
||||
"systemtaskspanel.s1k2l3m4n": "Actions",
|
||||
"systemtaskspanel.s2l3m4n5o": "Retain {{days}} days",
|
||||
"systemtaskspanel.s3m4n5o6p": "{{count}} runs",
|
||||
"systemtaskspanel.s4n5o6p7q": "Auto",
|
||||
"systemtaskspanel.s5o6p7q8r": "Run Now",
|
||||
"systemtaskspanel.s6p7q8r9s": "Manually run system task '{{name}}'?",
|
||||
"systemtaskspanel.s7q8r9s0t": "Execute",
|
||||
"systemtaskspanel.s8r9s0t1u": "Execution completed",
|
||||
"systemtaskspanel.s9s0t1u2v": "Execution failed",
|
||||
"systemtaskspanel.s0t1u2v3w": "Failed to load system tasks",
|
||||
"systemtaskspanel.s1u2v3w4x": "No system tasks",
|
||||
"systemtaskspanel.monitor": "Monitor",
|
||||
"systemtaskspanel.cleanup": "Cleanup",
|
||||
"systemtaskspanel.finops": "Cost"
|
||||
"scriptList": {
|
||||
"subtitle": "Script editing and management",
|
||||
"refresh": "Refresh",
|
||||
"create": "New Script",
|
||||
"batchDelete": "Batch Delete",
|
||||
"cancelSelect": "Cancel Selection",
|
||||
"selectedCount": "{{selected}} selected / {{total}} total",
|
||||
"empty": "No scripts",
|
||||
"emptyHint": "Click \"New Script\" to create your first one",
|
||||
"delete": "Delete Script",
|
||||
"confirmDelete": "Delete \"{{name}}\"? This cannot be undone.",
|
||||
"batchDeleteConfirm": "Delete {{count}} selected scripts? This cannot be undone.",
|
||||
"toastDeleted": "{{count}} scripts deleted",
|
||||
"toastFetchFailed": "Failed to fetch script list",
|
||||
"toastSaved": "Script saved successfully",
|
||||
"toastNameRequired": "Please fill in script name and content",
|
||||
"copySuffix": "(copy)"
|
||||
},
|
||||
"remoteExec": {
|
||||
"subtitle": "Batch execute commands / upload files via native SSH",
|
||||
"refresh": "Refresh",
|
||||
"searchPlaceholder": "Search hostname/IP",
|
||||
"emptyHint": "Add servers in Server Management first",
|
||||
"selectAllCount": "All ({{count}})",
|
||||
"selectedCount": "{{count}} selected",
|
||||
"tabExec": "Execute Command",
|
||||
"tabUpload": "Upload File",
|
||||
"execTitle": "Batch Execute Commands",
|
||||
"execPlaceholder": "Enter shell command to run on selected hosts, e.g.: df -h | head -5",
|
||||
"execButton": "Execute ({{count}} hosts)",
|
||||
"execResultTitle": "Results",
|
||||
"uploadTitle": "Batch Upload Files",
|
||||
"uploadFileLabel": "Select Local File",
|
||||
"uploadPathLabel": "Remote target path (directories auto-append filename)",
|
||||
"uploadPathPlaceholder": "/tmp/ or /opt/app/config.yaml",
|
||||
"uploadButton": "Upload ({{count}} hosts)",
|
||||
"toastFetchFailed": "Failed to load server list",
|
||||
"toastCommandRequired": "Please enter a command to execute",
|
||||
"toastHostRequired": "Please select at least one host",
|
||||
"toastFileRequired": "Please select a file to upload",
|
||||
"toastPathRequired": "Please enter a remote target path",
|
||||
"toastExecResult": "Execution complete: {{success}}/{{total}} succeeded",
|
||||
"toastUploadResult": "Upload complete: {{success}}/{{total}} succeeded",
|
||||
"toastExecConfirm": "Confirm batch execution",
|
||||
"toastExecConfirmDesc": "This will execute the command on {{count}} hosts. Please verify the command is safe:\n\n{{command}}",
|
||||
"noOutput": "(no output)"
|
||||
}
|
||||
},
|
||||
"rbac": {
|
||||
"logRole": {
|
||||
|
||||
Reference in new issue
Block a user