Files
PROJECT-CONTORL/frontend/public/locales/zh-TW/projects.json
beabigegg 3bdc6ff1c9 feat: implement 8 OpenSpec proposals for security, reliability, and UX improvements
## Security Enhancements (P0)
- Add input validation with max_length and numeric range constraints
- Implement WebSocket token authentication via first message
- Add path traversal prevention in file storage service

## Permission Enhancements (P0)
- Add project member management for cross-department access
- Implement is_department_manager flag for workload visibility

## Cycle Detection (P0)
- Add DFS-based cycle detection for task dependencies
- Add formula field circular reference detection
- Display user-friendly cycle path visualization

## Concurrency & Reliability (P1)
- Implement optimistic locking with version field (409 Conflict on mismatch)
- Add trigger retry mechanism with exponential backoff (1s, 2s, 4s)
- Implement cascade restore for soft-deleted tasks

## Rate Limiting (P1)
- Add tiered rate limits: standard (60/min), sensitive (20/min), heavy (5/min)
- Apply rate limits to tasks, reports, attachments, and comments

## Frontend Improvements (P1)
- Add responsive sidebar with hamburger menu for mobile
- Improve touch-friendly UI with proper tap target sizes
- Complete i18n translations for all components

## Backend Reliability (P2)
- Configure database connection pool (size=10, overflow=20)
- Add Redis fallback mechanism with message queue
- Add blocker check before task deletion

## API Enhancements (P3)
- Add standardized response wrapper utility
- Add /health/ready and /health/live endpoints
- Implement project templates with status/field copying

## Tests Added
- test_input_validation.py - Schema and path traversal tests
- test_concurrency_reliability.py - Optimistic locking and retry tests
- test_backend_reliability.py - Connection pool and Redis tests
- test_api_enhancements.py - Health check and template tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 22:13:43 +08:00

80 lines
2.2 KiB
JSON

{
"title": "專案",
"createProject": "建立專案",
"editProject": "編輯專案",
"deleteProject": "刪除專案",
"projectSettings": "專案設定",
"newProject": "新增專案",
"fields": {
"name": "名稱",
"namePlaceholder": "輸入專案名稱",
"title": "專案標題",
"titlePlaceholder": "輸入專案標題",
"description": "描述",
"descriptionPlaceholder": "輸入專案描述(選填)",
"status": "狀態",
"startDate": "開始日期",
"endDate": "結束日期",
"owner": "專案負責人",
"space": "工作空間",
"securityLevel": "安全等級"
},
"securityLevel": {
"label": "安全等級",
"public": "公開 - 所有使用者",
"department": "部門 - 僅同部門",
"confidential": "機密 - 僅負責人"
},
"status": {
"planning": "規劃中",
"active": "進行中",
"on_hold": "暫停",
"completed": "已完成",
"cancelled": "已取消"
},
"tabs": {
"overview": "概覽",
"tasks": "任務",
"members": "成員",
"settings": "設定",
"files": "檔案",
"activity": "活動紀錄"
},
"stats": {
"totalTasks": "總任務數",
"completedTasks": "已完成",
"inProgress": "進行中",
"overdue": "逾期",
"progress": "整體進度"
},
"card": {
"tasks": "{{count}} 個任務",
"owner": "負責人",
"noDescription": "沒有描述",
"unknown": "未知"
},
"messages": {
"created": "專案已建立",
"updated": "專案已更新",
"deleted": "專案已刪除",
"loadFailed": "載入專案失敗",
"createFailed": "建立專案失敗",
"confirmDelete": "確定要刪除此專案嗎?此操作將刪除所有相關任務。"
},
"empty": {
"title": "沒有專案",
"description": "建立您的第一個專案來開始管理任務"
},
"template": {
"label": "模板",
"selectTemplate": "選擇模板",
"blankProject": "空白專案",
"blankProjectDescription": "從頭開始建立",
"loadingTemplates": "載入模板中...",
"loadFailed": "載入模板失敗",
"statusCount": "{{count}} 個狀態",
"fieldCount": "{{count}} 個自訂欄位",
"publicTemplate": "公開"
}
}