Skip to content

feat(i18n): add Catalan (ca) locale#403

Open
jaumemir wants to merge 1 commit intoTHU-MAIC:mainfrom
jaumemir:feat/i18n-catalan-i18next
Open

feat(i18n): add Catalan (ca) locale#403
jaumemir wants to merge 1 commit intoTHU-MAIC:mainfrom
jaumemir:feat/i18n-catalan-i18next

Conversation

@jaumemir
Copy link
Copy Markdown

Summary

Adds Catalan (ca) as a supported locale, following the i18next migration introduced in #331.

  • lib/i18n/locales/ca.json — 787 translation keys covering all namespaces: common, toolbar, export, chat, stage, whiteboard, quiz, roundtable, pbl, generation, settings, profile, media
  • lib/i18n/locales.ts — registers { code: 'ca', label: 'Català', shortLabel: 'CA' }
  • lib/audio/constants.ts — adds Azure TTS voices ca-ES-AlbaNeural (female) and ca-ES-EnricNeural (male)

Translation notes

Key Translation choice
profile.defaultNickname "Estudiant" — warm, gender-neutral Catalan term for a learner
home.greetingWithName "Hola, {{name}}" — natural Catalan greeting that keeps the name visible as a call-to-action
profile.bioPlaceholder Explains to the user that the bio helps the AI teacher personalise lessons

Test plan

  • Switch UI language to CA via the header language selector — all interface strings appear in Catalan
  • Azure TTS provider: ca-ES-AlbaNeural and ca-ES-EnricNeural appear in the voice list
  • pnpm build passes with no TypeScript errors
  • pnpm lint passes

🤖 Generated with Claude Code

Add Catalan language support compatible with the i18next migration.

- lib/i18n/locales/ca.json: 787 translation keys covering all namespaces
  (common, toolbar, export, chat, stage, whiteboard, quiz, roundtable,
  pbl, generation, settings, profile, media). Migrated from the custom
  TypeScript objects in the previous i18n system.
- lib/i18n/locales.ts: register { code: 'ca', label: 'Català', shortLabel: 'CA' }
- lib/audio/constants.ts: add Azure TTS voices ca-ES-AlbaNeural (female)
  and ca-ES-EnricNeural (male)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@wyuc wyuc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, clean PR.

Two things before merging:

  1. Rebase onto main — 4 PRs landed since this branch (#409, #411, #412, #418), adding 28 new keys (accessCode.*, import.*, export.classroomZip*, and several settings.* keys). Also, toolbar.languageHint and pbl.chat.welcomeMessage were removed in #412, so drop those after rebasing.

  2. Locale code (optional) — existing locales use region codes (en-US, ja-JP, etc.). Consider ca-ES + ca-ES.json for consistency. Not a blocker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants