Skip to content

Fix: label the close-dialog draft button with the generic Save#590

Open
dealerweb wants to merge 1 commit into
bulwarkmail:mainfrom
dealerweb:fix/close-dialog-save-label
Open

Fix: label the close-dialog draft button with the generic Save#590
dealerweb wants to merge 1 commit into
bulwarkmail:mainfrom
dealerweb:fix/close-dialog-save-label

Conversation

@dealerweb

Copy link
Copy Markdown
Contributor

Summary

The third button of the "Save or discard draft?" dialog wraps onto two lines in several languages, making the button row look broken next to its one-line siblings. Shortening the label fixes this at the root, in every locale at once.

Why

  • "Save Draft" is a verb-plus-object label, and in many languages that compound is simply long: German "Entwurf speichern", French "Enregistrer le brouillon", Portuguese "Salvar rascunho", Russian "Сохранить черновик". Any of these can exceed the button width the dialog allows, so the wrapping is not a single-locale glitch but structural.
  • The context the object provides is redundant here: the dialog title ("Save or discard draft?") and its message already state that a draft is what would be saved. Within that dialog, a bare "Save" is unambiguous - the same pattern the neighbouring buttons already use ("Cancel", "Discard", not "Discard draft").
  • common.save already exists, translated in all 22 locales, and the composer already has the common translator in scope - so the fix is one changed line of code and zero new translations.
  • Deliberately not fixed with whitespace-nowrap: on narrow phones that would turn the wrap into horizontal overflow. A short label degrades gracefully everywhere.

Changes

  • The dialog's save button uses common.save instead of email_composer.save_draft.
  • email_composer.save_draft had exactly this one consumer, so the now-dead key is removed from all 22 locales (verified programmatically: only this key removed, every other value byte-identical).

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation

Checklist

  • tsc --noEmit passes (0 errors)
  • eslint passes on the changed file
  • Translation parity test passes (44/44)
  • next build succeeds (exit 0)

Notes for Reviewers

  • Resulting button rows, for a feel of the symmetry: en "Cancel / Discard / Save", de "Abbrechen / Verwerfen / Speichern", fr "Annuler / Supprimer / Enregistrer".

"Save Draft" made the third button of the save-or-discard dialog wrap
onto two lines in several languages (German "Entwurf speichern", French
"Enregistrer le brouillon", ...) while its siblings stay one line. The
dialog title already says the draft is what's being saved, so the
button now uses the existing generic common.save key - one short word
in every locale, no new translations needed.

email_composer.save_draft had exactly this one consumer; the dead key
is removed from all 22 locales.
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