Skip to content

feat(notifications): localise the rest of the push text (#1037) - #1043

Merged
tempus2016 merged 1 commit into
mainfrom
feat/1037-localize-remaining-notification-text
Oct 7, 2026
Merged

tempus2016 merged 1 commit into
mainfrom
feat/1037-localize-remaining-notification-text

Conversation

@tempus2016

Copy link
Copy Markdown
Owner

Refs #1037. Follow-up to #1041: the rest of the push notification text now follows Home Assistant's language.

Newly localised

  • Celebration messages (level up, perfect week, streak milestone, all chores done, birthday, challenge / quest completed, inspection passed). These feed both the celebration push and the taskmate_celebration event message, so TTS automations speak them in your language too.
  • Recap announcements: the child push, the "N new recaps" push, the grouped parent push, and the period label inside them (week / month name / year / Jul–Sep).
  • Month and weekday names: monthly report heading, season champion month, auction dates (So, 4. Okt).
  • Name lists: "Malia, Vaiha und Alex".
  • Test pushes from the panel: the stand-in names (Tidy room, Movie night, Grandma, …) are translated.

Fixes along the way

  • A test push of the auction / streak-freeze types used to send literal {date}, {max_points}, {result_text} and {freezes_left}. They are filled now.
  • Strings load at startup and reload on core_config_updated, so changing HA's language takes effect without a restart. Text built outside the dispatcher (celebrations, recaps) no longer depends on a push having gone out first.
  • Recaps no longer .capitalize() the label. That turned Jul–Sep into Jul–sep and would mis-capitalise other languages. The English parent message now reads "✨ New September recaps are ready for …".

Non-English recap templates put the period in brackets ("Dein Rückblick ist fertig (September)"), so a week, month, year or range all read naturally.

Translations

da, de, fr, nb, nn, pl, pt, pt-BR. German month names that match English ("April", "September" …) and pure format patterns are allow-listed in locale_english_baseline.json.

Tests

  • New: every notification type's test push, in every locale, leaves no {placeholder} and (outside English) no English sample names. Also German dates / months / name lists / recap labels, English fallbacks, and a language change reloading the strings.
  • Full suite 3066 passed. Translation parity, data files and ruff pass.

Follow-up to #1041. Celebration messages, recap announcements (and their
period labels), month and weekday names in the monthly report, season
champion and auction dates, name lists ("A, B and C") and the panel's
test-push sample names now follow HA's language too.

Strings are loaded at startup and reloaded when HA's language changes,
so text built outside the dispatcher is translated as well. A test push
now fills {date}, {max_points}, {result_text} and {freezes_left}, which
were previously sent as literal placeholders.
@github-actions github-actions Bot added backend Python integration code translations i18n / locale strings tests Test suite labels Oct 7, 2026
@tempus2016
tempus2016 merged commit fa7a747 into main Oct 7, 2026
16 checks passed
@tempus2016
tempus2016 deleted the feat/1037-localize-remaining-notification-text branch October 7, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Python integration code tests Test suite translations i18n / locale strings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant