Skip to content

chore(l10n): translator hints for cancelled appointments (Abgesagt, nicht Abgebrochen)#115

Merged
luflow merged 3 commits into
mainfrom
claude/cancelled-wording
Jul 24, 2026
Merged

chore(l10n): translator hints for cancelled appointments (Abgesagt, nicht Abgebrochen)#115
luflow merged 3 commits into
mainfrom
claude/cancelled-wording

Conversation

@luflow

@luflow luflow commented Jul 24, 2026

Copy link
Copy Markdown
Owner

What changed

TRANSLATORS context hints (comments only, no string/key changes) on every string of the cancelled-appointment family: the status badge and list filter/group label (Cancelled), the Cancel appointment / Reactivate appointment menu action, the Appointment cancelled success toast, the mobile strings (Cancelled on {when}, This appointment has been cancelled.) and the iCal title prefix.

Why

The strings mean the appointment was called off — German „Abgesagt"/„Termin absagen". Translators rendered several of them as „Abgebrochen"/„Termin abbrechen" (currently Cancelled → „Abgebrochen", Cancelled on {when} → „Abgebrochen am {when}", Cancel appointment → „Termin abbrechen" in de and de_DE), most likely because the generic dialog button Cancel (correctly „Abbrechen") looks identical without context. The hints spell out the distinction for all languages; a matching Transifex issue asks for the German fixes.

Notes for review

  • Comments only — no impact on the Flutter client or existing translations; hints appear in Transifex after the next .pot sync.
  • npm run build and composer test:unit (155 tests) pass.

🤖 Generated with Claude Code

luflow added 3 commits July 25, 2026 00:22
'Cancelled' means the appointment was called off (German 'Abgesagt',
not 'Abgebrochen') — hints on the status badge, list filter and group,
the cancel/reactivate menu action, success toast, mobile strings and
the iCal title prefix, distinguishing it from the generic dialog
button 'Cancel' ('Abbrechen').
Verified against the Nextcloud translationtool: a TRANSLATORS comment
only attaches to the first t() call on the immediately following line.
Multi-line ternaries, multi-line attribute bindings and comments before
an element tag silently lose their hint, and the second call of a
one-line ternary never gets one.

Restructure the affected spots: scheduling toggle label/tooltip and
cancel/reactivate action become computeds/functions with one comment
per t() line, check-in chips get computed texts, the cancel toast an
if/else, the cancelled badge and the teams settings section move the
translated attribute onto the line after the comment. Document the
binding rule and a local verification workflow (translationtool via
docker + grep of the generated .pot) in the transifex skill.
@luflow
luflow merged commit 4c7d135 into main Jul 24, 2026
2 checks passed
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