feat: add i18n internationalization support

- Add react-i18next, i18next with browser language detection
- Support Traditional Chinese (zh-TW) and English (en)
- Default language: zh-TW, stored in localStorage
- Create 10 translation namespaces (common, auth, dashboard, tasks, etc.)
- Add LanguageSwitcher component in header
- Translate pages: Login, Dashboard, Tasks, Spaces, Workload, Audit

🤖 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:18:41 +08:00
parent 1e31def7ba
commit 4bc3c24360
32 changed files with 1741 additions and 104 deletions

View File

@@ -0,0 +1,42 @@
{
"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"
},
"status": {
"balanced": "Balanced",
"overloaded": "Overloaded",
"underutilized": "Underutilized"
},
"empty": {
"title": "No Workload Data",
"description": "Not enough data to display workload"
}
}