Skip to content

[EPIC] Multi-Language Support with Translation.io #83

@kevalyq

Description

@kevalyq

🎯 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

Related Enhancements (Future)

🎨 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-Language HTTP header
    • Future: User profile language preference override
  • Frontend: To be determined (React i18n library + Translation.io integration)
  • Gettext Support: Parse paths include app/ and resources/ directories

✅ Acceptance Criteria

🚫 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


📝 Implementation Progress

  1. PR-1: API Translation.io Integration & Configuration #84 (In Progress): Translation.io configuration and setup
  2. PR-2: Implement Accept-Language Middleware & Translate Existing Strings #87 (Waiting): Middleware and translations (depends on PR-1: API Translation.io Integration & Configuration #84)
  3. 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)
  4. 💡 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

No one assigned

    Type

    No type

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions