feat: complete i18n translation for remaining components

- Translate pages: Projects, ProjectHealthPage, ProjectSettings
- Translate components: TaskDetailModal, KanbanBoard, Comments,
  SubtaskList, CalendarView, BlockerDialog
- Add translation keys for tasks namespace: kanban, calendar,
  subtasks.error, comments.error, blockers (full translation)
- Add common.labels.task translation key
- Fix task creation: use original_estimate instead of time_estimate

Translation coverage:
- 10 locale files updated (zh-TW & en)
- 6 page/component files translated
- ~100 new translation keys added

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
beabigegg
2026-01-08 23:38:21 +08:00
parent 4bc3c24360
commit 2796cbb42d
20 changed files with 401 additions and 197 deletions

View File

@@ -52,7 +52,8 @@
"selectAssignee": "選擇負責人...",
"searchUsers": "搜尋使用者...",
"noUsersFound": "找不到使用者",
"typeToSearch": "輸入以搜尋使用者"
"typeToSearch": "輸入以搜尋使用者",
"task": "任務"
},
"messages": {
"success": "操作成功",

View File

@@ -1,12 +1,29 @@
{
"title": "專案健康度",
"subtitle": "監控專案的整體健康狀況",
"title": "專案健康度儀表板",
"subtitle": "監控所有專案的健康狀況與風險等級",
"overall": {
"title": "整體健康度",
"healthy": "健康",
"atRisk": "風險中",
"critical": "危急"
},
"summary": {
"totalProjects": "專案總數",
"healthy": "健康",
"atRisk": "風險中",
"critical": "危急",
"avgHealth": "平均健康度",
"withBlockers": "有阻擋問題",
"delayed": "延遲"
},
"sort": {
"label": "排序方式",
"riskHigh": "風險:高到低",
"riskLow": "風險:低到高",
"healthHigh": "健康度:高到低",
"healthLow": "健康度:低到高",
"name": "名稱A 到 Z"
},
"metrics": {
"schedule": "進度",
"budget": "預算",
@@ -34,15 +51,21 @@
"high": "高風險",
"medium": "中風險",
"low": "低風險",
"critical": "危急",
"mitigated": "已緩解"
},
"actions": {
"viewDetails": "查看詳情",
"exportReport": "匯出報告",
"setAlert": "設定警示"
"setAlert": "設定警示",
"retry": "重試"
},
"projectCount": "{{count}} 個專案",
"empty": {
"title": "沒有健康度資料",
"description": "專案需要更多資料才能顯示健康度指標"
"title": "沒有專案",
"description": "建立專案以開始追蹤健康狀態"
},
"error": {
"loadFailed": "載入專案健康度資料失敗,請重試。"
}
}

View File

@@ -4,16 +4,26 @@
"editProject": "編輯專案",
"deleteProject": "刪除專案",
"projectSettings": "專案設定",
"newProject": "新增專案",
"fields": {
"name": "名稱",
"namePlaceholder": "輸入專案名稱",
"title": "專案標題",
"titlePlaceholder": "輸入專案標題",
"description": "描述",
"descriptionPlaceholder": "輸入專案描述",
"descriptionPlaceholder": "輸入專案描述(選填)",
"status": "狀態",
"startDate": "開始日期",
"endDate": "結束日期",
"owner": "專案負責人",
"space": "工作空間"
"space": "工作空間",
"securityLevel": "安全等級"
},
"securityLevel": {
"label": "安全等級",
"public": "公開 - 所有使用者",
"department": "部門 - 僅同部門",
"confidential": "機密 - 僅負責人"
},
"status": {
"planning": "規劃中",
@@ -37,10 +47,18 @@
"overdue": "逾期",
"progress": "整體進度"
},
"card": {
"tasks": "{{count}} 個任務",
"owner": "負責人",
"noDescription": "沒有描述",
"unknown": "未知"
},
"messages": {
"created": "專案已建立",
"updated": "專案已更新",
"deleted": "專案已刪除",
"loadFailed": "載入專案失敗",
"createFailed": "建立專案失敗",
"confirmDelete": "確定要刪除此專案嗎?此操作將刪除所有相關任務。"
},
"empty": {

View File

@@ -1,6 +1,7 @@
{
"title": "設定",
"projectSettings": "專案設定",
"backToTasks": "返回任務",
"tabs": {
"general": "一般",
"members": "成員",
@@ -13,10 +14,13 @@
"title": "一般設定",
"projectName": "專案名稱",
"description": "描述",
"noDescription": "沒有描述",
"securityLevel": "安全等級",
"status": "狀態",
"visibility": "可見性",
"public": "公開",
"private": "私人"
"private": "私人",
"helpText": "如需編輯專案詳情,請聯繫專案負責人。"
},
"members": {
"title": "成員管理",

View File

@@ -23,7 +23,8 @@
"attachments": "附件",
"comments": "留言",
"watchers": "關注者",
"blockers": "阻擋項目"
"blockers": "阻擋項目",
"hours": "{{count}} 小時"
},
"status": {
"todo": "待處理",
@@ -31,7 +32,11 @@
"review": "審核中",
"done": "已完成",
"cancelled": "已取消",
"blocked": "被阻擋"
"blocked": "被阻擋",
"noStatus": "無狀態",
"unassigned": "未指派",
"noDueDate": "無截止日期",
"notEstimated": "未預估"
},
"priority": {
"low": "低",
@@ -86,17 +91,32 @@
"add": "新增子任務",
"placeholder": "輸入子任務標題",
"completed": "已完成 {{count}} / {{total}}",
"empty": "沒有子任務"
"count": "{{count}} 個子任務",
"empty": "沒有子任務",
"adding": "新增中...",
"error": {
"load": "載入子任務失敗",
"create": "建立子任務失敗"
}
},
"comments": {
"title": "留言",
"add": "新增留言",
"placeholder": "輸入您的留言...",
"add": "發表留言",
"placeholder": "新增留言... 使用 @name 來提及某人",
"edited": "已編輯",
"delete": "刪除留言",
"confirmDelete": "確定要刪除此留言嗎?",
"confirmDelete": "確定要刪除此留言嗎?此操作無法復原。",
"empty": "還沒有留言",
"reply": "回覆"
"reply": "回覆",
"mentioned": "提及",
"replyingTo": "回覆留言中",
"posting": "發送中...",
"error": {
"load": "載入留言失敗",
"post": "發表留言失敗",
"update": "更新留言失敗",
"delete": "刪除留言失敗"
}
},
"attachments": {
"title": "附件",
@@ -113,7 +133,26 @@
"blockedBy": "被以下任務阻擋",
"blocking": "正在阻擋以下任務",
"remove": "移除阻擋關係",
"empty": "沒有阻擋項目"
"empty": "沒有阻擋項目",
"taskBlocked": "任務被阻擋",
"markAsBlocked": "標記為阻擋",
"activeBlocker": "進行中的阻擋",
"reportedBy": "回報者",
"on": "於",
"resolutionNote": "解決說明",
"resolutionPlaceholder": "描述如何解決阻擋問題...",
"resolving": "解決中...",
"resolveBlocker": "解決阻擋",
"blockerReason": "阻擋原因",
"reasonPlaceholder": "描述阻擋此任務的原因...",
"history": "阻擋歷史",
"reported": "回報",
"resolved": "已解決",
"error": {
"load": "載入阻擋項目失敗",
"create": "建立阻擋項目失敗",
"resolve": "解決阻擋項目失敗"
}
},
"messages": {
"created": "任務已建立",
@@ -126,6 +165,18 @@
"attachmentUploaded": "附件已上傳",
"confirmDelete": "確定要刪除此任務嗎?此操作無法復原。"
},
"kanban": {
"dropHere": "將任務拖放至此"
},
"calendar": {
"allAssignees": "所有負責人",
"allPriorities": "所有優先順序",
"activeOnly": "僅進行中",
"completedOnly": "僅已完成",
"clearFilters": "清除篩選",
"overdue": "逾期",
"completed": "已完成"
},
"empty": {
"title": "沒有任務",
"description": "目前沒有任務。建立您的第一個任務開始吧!",