Files
beabigegg 4b7e523f84 feat: implement debug logging cleanup and i18n coverage proposals
## cleanup-debug-logging
- Create environment-aware logger utility (logger.ts)
- Replace 60+ console.log/error statements across 28 files
- Production: only warn/error logs visible
- Development: all log levels with prefixes

Updated files:
- Contexts: NotificationContext, ProjectSyncContext, AuthContext
- Components: GanttChart, CalendarView, ErrorBoundary, and 11 others
- Pages: Tasks, Projects, Dashboard, and 7 others
- Services: api.ts

## complete-i18n-coverage
- WeeklyReportPreview: all strings translated, dynamic locale
- ReportHistory: all strings translated, dynamic locale
- AuditPage: detail modal and verification modal translated
- WorkloadPage: error message translated

Locale files updated:
- en/common.json, zh-TW/common.json: reports section
- en/audit.json, zh-TW/audit.json: modal sections
- en/workload.json, zh-TW/workload.json: errors section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 21:37:29 +08:00

196 lines
5.6 KiB
JSON

{
"buttons": {
"save": "儲存",
"cancel": "取消",
"delete": "刪除",
"edit": "編輯",
"create": "建立",
"close": "關閉",
"confirm": "確認",
"back": "返回",
"next": "下一步",
"previous": "上一步",
"submit": "提交",
"reset": "重置",
"search": "搜尋",
"filter": "篩選",
"export": "匯出",
"import": "匯入",
"refresh": "重新整理",
"add": "新增",
"remove": "移除",
"view": "檢視",
"download": "下載",
"upload": "上傳",
"retry": "重試"
},
"labels": {
"loading": "載入中...",
"noData": "暫無資料",
"required": "必填",
"optional": "選填",
"all": "全部",
"none": "無",
"yes": "是",
"no": "否",
"active": "啟用",
"inactive": "停用",
"enabled": "已啟用",
"disabled": "已停用",
"actions": "操作",
"details": "詳情",
"description": "描述",
"name": "名稱",
"title": "標題",
"status": "狀態",
"type": "類型",
"date": "日期",
"time": "時間",
"createdAt": "建立時間",
"updatedAt": "更新時間",
"createdBy": "建立者",
"assignee": "負責人",
"selectAssignee": "選擇負責人...",
"searchUsers": "搜尋使用者...",
"noUsersFound": "找不到使用者",
"typeToSearch": "輸入以搜尋使用者",
"task": "任務",
"admin": "管理員",
"live": "即時",
"offline": "離線"
},
"messages": {
"success": "操作成功",
"error": "操作失敗",
"confirmDelete": "確定要刪除嗎?此操作無法復原。",
"unsavedChanges": "您有未儲存的變更,確定要離開嗎?",
"networkError": "網路連線錯誤,請稍後再試",
"sessionExpired": "工作階段已過期,請重新登入",
"permissionDenied": "您沒有權限執行此操作",
"notFound": "找不到請求的資源"
},
"validation": {
"required": "此欄位為必填",
"email": "請輸入有效的電子郵件地址",
"minLength": "至少需要 {{min}} 個字元",
"maxLength": "最多 {{max}} 個字元",
"invalidFormat": "格式不正確"
},
"nav": {
"dashboard": "儀表板",
"spaces": "工作空間",
"projects": "專案",
"tasks": "任務",
"workload": "工作負載",
"health": "專案健康度",
"audit": "稽核日誌",
"settings": "設定",
"logout": "登出",
"toggleMenu": "切換選單",
"menu": "選單"
},
"language": {
"switch": "切換語言",
"zhTW": "繁體中文",
"en": "English"
},
"notifications": {
"title": "通知",
"markAllRead": "全部標為已讀",
"noNotifications": "沒有通知",
"empty": "沒有通知",
"viewAll": "查看全部",
"refresh": "重新整理",
"time": {
"justNow": "剛剛",
"minutesAgo": "{{count}} 分鐘前",
"hoursAgo": "{{count}} 小時前",
"daysAgo": "{{count}} 天前"
}
},
"pagination": {
"page": "第 {{page}} 頁",
"of": "共 {{total}} 頁",
"showing": "顯示 {{from}}-{{to}} 筆,共 {{total}} 筆",
"itemsPerPage": "每頁顯示"
},
"errorBoundary": {
"retry": "重試",
"page": {
"title": "發生錯誤",
"message": "非常抱歉造成不便。請嘗試重新整理頁面,如果問題持續發生,請聯繫技術支援。"
},
"section": {
"title": "無法載入此區塊",
"message": "此區塊發生錯誤,但頁面的其他部分可能仍然正常運作。",
"messageWithName": "{{section}} 發生錯誤,但頁面的其他部分可能仍然正常運作。"
},
"widget": {
"title": "元件錯誤",
"message": "無法顯示此元件。",
"errorSuffix": "發生錯誤"
}
},
"attachments": {
"dropzone": "拖曳檔案至此或點擊上傳",
"maxFileSize": "檔案大小上限:{{size}}",
"uploading": "正在上傳 {{filename}} ({{current}}/{{total}})...",
"uploadFailed": "上傳失敗"
},
"reports": {
"weeklyPreview": {
"title": "週報預覽",
"generateNow": "立即產生",
"generating": "產生中...",
"loading": "載入報告預覽中...",
"noData": "無可用的報告資料",
"noProjects": "找不到專案",
"projects": "專案",
"retry": "重試",
"completedShort": "已完成",
"done": "完成",
"inProgressLower": "進行中",
"overdueLower": "逾期",
"blockedLower": "受阻",
"nextWeekLower": "下週",
"unassigned": "未指派",
"due": "截止",
"since": "自",
"noReasonProvided": "未提供原因",
"daysOverdue": "逾期 {{count}} 天",
"status": {
"completed": "已完成",
"inProgress": "進行中",
"overdue": "逾期",
"blocked": "受阻",
"nextWeek": "下週",
"total": "總計"
},
"errors": {
"loadFailed": "載入報告預覽失敗",
"generateFailed": "產生報告失敗"
},
"messages": {
"generateSuccess": "報告已產生並發送通知!"
}
},
"history": {
"title": "報告歷史",
"loading": "載入歷史中...",
"retry": "重試",
"empty": "找不到報告歷史記錄。報告會在每週五 16:00 自動產生。",
"totalReports": "{{count}} 份報告",
"completed": "已完成",
"inProgress": "進行中",
"overdue": "逾期",
"status": {
"sent": "已發送",
"failed": "失敗"
},
"errors": {
"loadFailed": "載入報告歷史失敗"
}
}
}
}