## 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>
76 lines
2.2 KiB
JSON
76 lines
2.2 KiB
JSON
{
|
||
"title": "Workload",
|
||
"subtitle": "View team member workload distribution",
|
||
"filters": {
|
||
"project": "Project",
|
||
"allProjects": "All Projects",
|
||
"dateRange": "Date Range",
|
||
"thisWeek": "This Week",
|
||
"thisMonth": "This Month",
|
||
"custom": "Custom"
|
||
},
|
||
"metrics": {
|
||
"totalHours": "Total Hours",
|
||
"assignedTasks": "Assigned Tasks",
|
||
"completedTasks": "Completed Tasks",
|
||
"overdueTasks": "Overdue Tasks",
|
||
"utilization": "Utilization"
|
||
},
|
||
"chart": {
|
||
"hoursPerDay": "Hours per Day",
|
||
"taskDistribution": "Task Distribution",
|
||
"byProject": "By Project",
|
||
"byPriority": "By Priority"
|
||
},
|
||
"team": {
|
||
"title": "Team Members",
|
||
"member": "Member",
|
||
"allocated": "Allocated",
|
||
"available": "Available",
|
||
"overloaded": "Overloaded",
|
||
"underutilized": "Underutilized"
|
||
},
|
||
"table": {
|
||
"member": "Team Member",
|
||
"department": "Department",
|
||
"allocated": "Allocated",
|
||
"capacity": "Capacity",
|
||
"load": "Load",
|
||
"status": "Status"
|
||
},
|
||
"status": {
|
||
"balanced": "Balanced",
|
||
"normal": "Normal",
|
||
"warning": "Warning",
|
||
"overloaded": "Overloaded",
|
||
"unavailable": "Unavailable",
|
||
"underutilized": "Underutilized"
|
||
},
|
||
"empty": {
|
||
"title": "No Workload Data",
|
||
"description": "Not enough data to display workload",
|
||
"noTasks": "No one has been assigned tasks this week",
|
||
"hint": "Team members will appear here when they are assigned tasks with due dates in this week."
|
||
},
|
||
"options": {
|
||
"showAllUsers": "Show all users",
|
||
"showAllUsersHint": "(including users without tasks)"
|
||
},
|
||
"calculation": {
|
||
"title": "Workload Calculation",
|
||
"formula": "Workload = Weekly task estimated hours ÷ Personal weekly capacity × 100%",
|
||
"requirements": "Tasks must meet all conditions to be counted:",
|
||
"req1": "Task is assigned to the member",
|
||
"req2": "Task due date falls within the selected week",
|
||
"req3": "Task has estimated hours (original_estimate)",
|
||
"req4": "Task is not completed",
|
||
"thresholds": "Load Level Thresholds:",
|
||
"normal": "Normal: < 80%",
|
||
"warning": "Warning: 80% - 99%",
|
||
"overloaded": "Overloaded: ≥ 100%"
|
||
},
|
||
"errors": {
|
||
"loadFailed": "Failed to load workload data. Please try again."
|
||
}
|
||
}
|