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,47 @@
{
"title": "Dashboard",
"welcome": "Welcome back, {{name}}",
"stats": {
"myTasks": "My Tasks",
"overdueTasks": "Overdue Tasks",
"completedTasks": "Completed Tasks",
"activeProjects": "Active Projects",
"teamMembers": "Team Members",
"totalTasks": "Total Tasks",
"pendingReview": "Pending Review"
},
"sections": {
"recentActivity": "Recent Activity",
"upcomingDeadlines": "Upcoming Deadlines",
"myAssignedTasks": "Tasks Assigned to Me",
"projectOverview": "Project Overview",
"quickActions": "Quick Actions"
},
"activity": {
"taskCreated": "Created task \"{{task}}\"",
"taskCompleted": "Completed task \"{{task}}\"",
"taskAssigned": "Assigned task \"{{task}}\" to {{assignee}}",
"commentAdded": "Added a comment on task \"{{task}}\"",
"projectCreated": "Created project \"{{project}}\"",
"noRecentActivity": "No recent activity"
},
"deadlines": {
"today": "Due today",
"tomorrow": "Due tomorrow",
"thisWeek": "Due this week",
"overdue": "Overdue",
"noUpcoming": "No upcoming deadlines"
},
"quickActions": {
"createTask": "Create Task",
"createProject": "Create Project",
"viewAllTasks": "View All Tasks",
"viewWorkload": "View Workload"
},
"widgets": {
"tasksByStatus": "Tasks by Status",
"tasksByPriority": "Tasks by Priority",
"projectProgress": "Project Progress",
"teamWorkload": "Team Workload"
}
}