Skip to content

Implement Multi-Language Support for Puzzle Content #87

Description

@Mkalbani

Description

Add internationalisation (i18n) support so that puzzle titles, descriptions, and hints can be served in multiple languages. As LogiQuest grows its player base globally, language should not be a barrier to participation. The system should allow admins to add translations for existing puzzles without duplicating the puzzle record or breaking existing sessions.

Acceptance Criteria

  • A PuzzleTranslation entity stores puzzleId, locale, title, description, and translated hints
  • GET /puzzles/:id accepts an Accept-Language header and returns content in the requested locale
  • English (en) is the fallback locale when a translation is unavailable
  • POST /puzzles/:id/translations (admin-only) adds or updates a translation for a given locale
  • GET /puzzles/:id/translations (admin-only) returns all available locales for a puzzle
  • Locale is validated against a supported list defined in config
  • Session records store the locale that was active at start time for accurate replay
  • Unit tests cover locale resolution, fallback to English, translation creation, and unsupported locale rejection

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions