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,39 @@
{
"title": "Spaces",
"createSpace": "Create Space",
"editSpace": "Edit Space",
"deleteSpace": "Delete Space",
"fields": {
"name": "Name",
"namePlaceholder": "Enter space name",
"description": "Description",
"descriptionPlaceholder": "Enter space description",
"icon": "Icon",
"color": "Color"
},
"members": {
"title": "Members",
"add": "Add Member",
"remove": "Remove Member",
"role": "Role",
"owner": "Owner",
"admin": "Admin",
"member": "Member",
"viewer": "Viewer"
},
"stats": {
"projects": "Projects",
"members": "Members",
"tasks": "Tasks"
},
"messages": {
"created": "Space created",
"updated": "Space updated",
"deleted": "Space deleted",
"confirmDelete": "Are you sure you want to delete this space? This will delete all related projects and tasks."
},
"empty": {
"title": "No Spaces",
"description": "Create your first space to organize projects"
}
}