Skip to content

i18n(client): translate the last readable English on the client screens, the public header and the mass email - #191

Merged
Panelica merged 3 commits into
Panelica:mainfrom
ertugrulkeyvan:i18n/client-screens-3
Oct 15, 2026
Merged

Panelica merged 3 commits into
Panelica:mainfrom
ertugrulkeyvan:i18n/client-screens-3

Conversation

@ertugrulkeyvan

Copy link
Copy Markdown
Contributor

What

After #175 and #184 for the admin area, this goes through what HardcodedViewTextTest still counts in the client area, the public pages and the emails.

Whatever a customer actually reads now goes through translations. The ledger goes from 38 to 32 for the client area, and from 25 to 23 for the sections and emails.

What is left should stay as written:

  • example values, such as you@example.com, yourdomain.com, shopuser and public_html;
  • units and protocol names, such as MB, GB, SSL, IMAP, FTP / FTPS (TLS), STARTTLS and NS;
  • the CSR's -----BEGIN/END CERTIFICATE REQUEST----- lines;
  • the payment marks in the footer;
  • fragments the detector reads from inline scripts.

Translated, in three groups:

  1. Account and sign-in:
    • the stored card's "ending 4242" (client.payment_methods.card_ending);
    • the two-factor QR image's alt text (client.auth.qr_code_alt);
    • the custom logo's alt text on the sign-in page and in the client layout. These now carry the company name instead of the word "Logo", which also says something to a screen reader.
  2. Pages:
    • an announcement's " at " (client.announcements.date_at_time), so each language orders and joins them its own way;
    • the "Soon" badge on a service's tools that are not built yet (client.services.tool_soon);
    • the "Paste your CSR here..." line inside the CSR field's placeholder (client.ssl.csr_paste_here).
  3. Shared:
    • the dark-mode button's title on the public navigation, which reuses the existing client.toggle_dark_mode;
    • the "Hello ," greeting of a mass email (client.marketing.mail_greeting), next to the marketing.mail_foot it already uses.

New keys: each is written in en, tr, de, pl and zh, with names, dates and digits passed as placeholders.

How

  • Commits: three, one per group above. Each holds the views, the new keys in the five language files, and the lower HardcodedViewTextTest ledger numbers.
  • No behaviour change: routes, fields and values are untouched; only text a person reads moved into __().

Tests

  • HardcodedViewTextTest: passes with the lower ledger.
  • TranslationParityTest, DynamicTranslationParityTest and TranslationCoverageTest: pass. Every new key is in all five languages and none shadows an existing one.

Full suite: 4199 passed. The one failure is the CurrencyAndBackupTest db backup test, which fails on main too in my local setup.

@Panelica
Panelica merged commit 71f62ae into Panelica:main Oct 15, 2026
1 check passed
Panelica pushed a commit that referenced this pull request Oct 15, 2026
The stored card's last digits ("terminada en", as card_expiring already
says), the two-factor QR code's text, an announcement's date and time, the
"Soon" badge, the CSR field's hint and the mass email's greeting ("Hola
:name,", as email_verify.mail_greeting in the same file). Spanish has every
client text again.
@Panelica

Copy link
Copy Markdown
Owner

Thank you, Ertuğrul. What a customer reads now goes through translations, down to the stored card's last digits and the mass email's greeting, with names, dates and digits as placeholders so each language can order them its own way. HardcodedViewTextTest passes with the lower ledger, and so do the translation tests and the full suite on the merged result (4219 passed).

Merged with one commit on top (19aab83, merge 71f62ae): the six new texts in Spanish, in the words the Spanish file already uses ("terminada en" for a card, "Hola :name," for a greeting).

It goes out with the next beta.

Panelica pushed a commit that referenced this pull request Oct 15, 2026
One command on a fresh server (install.sh), the release package installed
without a command line, the wizard's database step tried before it is
saved and run in short requests, the cron line on the finish page, the
wizard in five languages (#192) and the last client texts translated
(#191), the My Account language hint and the README's Docker quick start
on image 1.5. No database change. A MINOR beta: features landed after
1.5.1-beta.1.
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