-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
🎯 Goal
Implement multi-language support for SecPal using Translation.io, enabling the platform to serve German and English-speaking security services. This epic covers both backend (API) and frontend implementations.
📋 Sub-Issues & Work Plan
Implementation Tasks
- PR-1: API Translation.io Integration & Configuration #84 PR-1: API Translation.io Configuration & Setup
- PR-2: Implement Accept-Language Middleware & Translate Existing Strings #87 PR-2: Implement Accept-Language Middleware & Translate Existing Strings
- PR-2: Frontend Translation.io Integration & i18n Setup #85 PR-3: Frontend Translation.io Integration & i18n Setup
Related Enhancements (Future)
- User Language Preference in Profile (Override Accept-Language Header) #86 User Language Preference in Profile (Override Accept-Language Header)
🎨 Technical Approach
- Translation Service: Translation.io (Open Source plan)
- Source Locale: English (en)
- Target Locales: German (de)
- Backend:
- Laravel translation features with Translation.io Laravel package (
tio/laravel) - Locale detection via
Accept-LanguageHTTP header - Future: User profile language preference override
- Laravel translation features with Translation.io Laravel package (
- Frontend: To be determined (React i18n library + Translation.io integration)
- Gettext Support: Parse paths include
app/andresources/directories
✅ Acceptance Criteria
- Translation.io account created and configured as Open Source project
- All sub-issues are closed
- API repository integrated with Translation.io (PR-1: API Translation.io Integration & Configuration #84)
- Locale middleware implemented (PR-2: Implement Accept-Language Middleware & Translate Existing Strings #87)
- Existing API strings translated (PR-2: Implement Accept-Language Middleware & Translate Existing Strings #87)
- Frontend repository integrated with Translation.io (PR-2: Frontend Translation.io Integration & i18n Setup #85)
- Both repositories mention Translation.io in README (required for Open Source plan)
- Initial German translations synced and functional
- Documentation complete for adding new translations
- Test coverage maintained (≥80% for new code)
- CI/CD passing on all PRs
🚫 Non-Goals
- Automatic language detection from browser headers (✅ DONE - using Accept-Language)
- Support for languages beyond English and German in this epic
- Translation of user-generated content (guard book entries, etc.)
- Real-time translation features
- User profile language preference (see User Language Preference in Profile (Override Accept-Language Header) #86 - separate enhancement)
🔗 Related Resources
- Translation.io Documentation: https://translation.io/docs
- Laravel Translation Docs: https://laravel.com/docs/12.x/localization
- Translation.io Dashboard: https://translation.io/secpal/api
- Translation.io Open Source Requirements:
- Public repository (✓ SecPal/api and SecPal/frontend)
- Mention Translation.io in README files
- Free unlimited account for life when these conditions are met
📝 Implementation Progress
- ✅ PR-1: API Translation.io Integration & Configuration #84 (In Progress): Translation.io configuration and setup
- ⏳ PR-2: Implement Accept-Language Middleware & Translate Existing Strings #87 (Waiting): Middleware and translations (depends on PR-1: API Translation.io Integration & Configuration #84)
- ⏳ PR-2: Frontend Translation.io Integration & i18n Setup #85 (Waiting): Frontend implementation (depends on PR-1: API Translation.io Integration & Configuration #84, PR-2: Implement Accept-Language Middleware & Translate Existing Strings #87)
- 💡 User Language Preference in Profile (Override Accept-Language Header) #86 (Future): User language preference (enhancement after basic i18n works)
Close Epic: PR for #85 (frontend) will close this epic with Closes #83
Metadata
Metadata
Assignees
Type
Projects
Status
✅ Done