Skip to content

feat(i18n): add complete French translation - #190

Open
Darkdragon14 wants to merge 1 commit into
damianeickhoff:mainfrom
Darkdragon14:feat/french-translation
Open

Darkdragon14 wants to merge 1 commit into
damianeickhoff:mainfrom
Darkdragon14:feat/french-translation

Conversation

@Darkdragon14

Copy link
Copy Markdown

What does this change?

Adds src/lang/fr.js with French metadata (Français, fr-FR) and translations for all 1,281 keys in the English dictionary, including the dynamically selected strings. Covers the panel, card settings, onboarding, notifications and the 3.1 cards.

Uses the existing automatic language discovery, so French is available in Settings → General → Language, and regional profile languages such as fr-CH and fr-CA resolve to fr. Dutch keys, interpolation variables and technical syntax are preserved. This PR adds only the language file, as requested in CONTRIBUTING.md.

Why?

Makes HaCasa Nova usable in French without falling back to English for any existing English dictionary key.

Validation

  • node dev/i18n-check.mjs fr (the i18n:check script): passes, 1,026/1,026 source-detected keys translated, zero missing French keys and no placeholder/data-only errors.
  • Exact dictionary parity: 1,281/1,281 English keys, with no empty translations.
  • node build.mjs --local (the dev script): passes.
  • Runtime checks: French language registration, fr, fr-FR, fr-CH, fr-CA, FR_ca, variable substitution, singular/plural strings, French decimal formatting and room-name casing pass.
  • Visually checked the mock dev home page and General settings with dev/index.html?lang=fr&shot. Mock entity names and external mock content remain as supplied by the dev fixture.

Validation used the local mock only; no live Home Assistant instance was accessed or modified.

Checklist

  • dist/hacasa-nova.js not committed (it is rebuilt with each release)
  • i18n:check passes
  • Existing translation architecture and Dutch keys preserved
  • Tested in the dev page (dev/index.html)
  • Screenshots attached (not attached; translation-only PR)

This branch has not been deployed

No deployments
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.

1 participant