Skip to content

Address people the way Apple does in every language - #5

Merged
Jeehut merged 5 commits into
mainfrom
wip/apple-address-style
Oct 13, 2026
Merged

Jeehut merged 5 commits into
mainfrom
wip/apple-address-style

Conversation

@Jeehut

@Jeehut Jeehut commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Overview

The translations now follow Apple's localization style guides for how each language addresses people. Where Apple uses a formal register, so does this package now: French „vous“, Russian «Вы», Bulgarian, Czech, Slovak, Hungarian, Romanian, Greek, Croatian, Ukrainian, Kazakh, Indonesian, Malay and Hindi. European Portuguese uses the third person without a pronoun. Turkish sentences use the plural imperative „-in“, never the stiff „-iniz“. Polish uses a capitalized „Ty/Twój“. Languages where Apple addresses people informally stay as they were: German, Spanish, Italian, Dutch, the Nordic languages, Chinese, Japanese, Korean and Brazilian Portuguese.

Buttons take the form Apple uses for buttons in each language, because the polite form belongs in sentences:

Button form Languages
Infinitive fr, ru, uk, cs, sk, pt-PT, kk, lt
Singular imperative bg, hr, tr
Noun form hu, el
Polite plural imperative ro

Field placeholders and instructions count as sentences.

Impact on apps using this package

No API changes. The package is meant to match the wording Apple's own UI uses, so this corrects it towards what apps already expect; it fits a minor version. Apps that ship these languages will show the corrected text there.

Examples (before → after)

Lang Source Before After
fr Deleting cannot be undone. Continue? La suppression ne peut pas être annulée. Continue ? La suppression ne peut pas être annulée. Continuer ?
fr-CA Enter text Entrez du texte Entrer du texte
ru Failed with error:
%@ Провалился с ошибкой:
%@ Сбой с ошибкой:
%@
ro Pick Emoji Alege Emoji Alegeți emoji
pt-PT Failed to load with error: %@ Não conseguiste carregar com o erro: %@ Falha ao carregar com o erro: %@

Changed values per language: pt-PT 6, fr 4, fr-CA 3, ru 3, kk 2, ro 1, hi 1.

How this was verified

  • Every catalog was checked entry by entry and per plural, device and substitution variant. The check covers placeholders (count, type, position), leading and trailing whitespace, and the ellipsis rule. It reports no placeholder or ellipsis issue. The few remaining whitespace notes predate this branch.
  • swift build succeeds.

Apple's own wording for standard texts

Short UI strings (buttons, labels, titles) now use the exact wording Apple's own iOS 27 UI uses for the same English text, looked up per language in Apple's localizations, wherever the context matches. This also fixes several mistranslations. A value only got longer where Apple's wording or a rule demands it.

Lang Key Before After
uk Try again Спробуйте ще раз Ще раз
ru Try again Попробовать ещё раз Повторить
el Try again Δοκιμάστε ξανά Νέα δοκιμή
hu Try again Próbálja újra Újrapróbálkozás
tr Try again Tekrar deneyin Yeniden Dene
cs Try again Zkuste to znovu Zkusit znovu
ro Try again Încercați din nou Reîncercați
fr %lld chars left %lld caractères à gauche %lld caractères restants
cs %lld chars left %lld znaků vlevo Zbývající znaky: %lld
ar No matches لا توجد مباريات لا توجد تطابقات
vi No matches Không có trận đấu Không có kết quả nào
th Deleting cannot be undone. Continue? การลบไม่สามารถยกเลิกได้ ต่อเนื่อง การลบไม่สามารถยกเลิกได้ ดำเนินการต่อหรือไม่
pt-BR Deleting cannot be undone. Continue? A exclusão não pode ser desfeita. Você pode continuar? A exclusão não pode ser desfeita. Continuar?

Changed values: 116 (ar 5, bg 2, ca 8, cs 3, da 3, el 6, es 3, fi 2, fr 3, fr-CA 3, he 7, hi 3, hr 4, hu 3, id 2, it 4, ja 5, kk 5, ms 1, nl 4, pl 3, pt-BR 5, pt-PT 3, ro 4, ru 2, sk 3, sv 2, th 2, tr 3, uk 1, vi 1, zh-HK 5, zh-Hans 4, zh-Hant 2).

Jeehut added 3 commits October 8, 2026 10:10
French, Russian and Romanian now use the formal address, European
Portuguese the formal third person, Bulgarian noun forms for the Edit
and Delete buttons, and Hindi and Kazakh the polite verb forms. 21
values changed (fr 4, fr-CA 2, ru 3, bg 2, hi 1, kk 2, pt-PT 6, ro 1).
The catalog and the user-facing strings in code have no three-dot
ellipses.
Revert bg buttons to the singular imperative; infinitive for ru and kk (5 strings).
Apple's French style guide puts buttons, options and input placeholders in the infinitive. Convert the remaining vous/tu imperatives in fr and fr-CA (Choisir, Saisir/Entrer, Essayer, Toucher pour ..., Suivre ...).
@Jeehut Jeehut changed the title Address people and write ellipses the way Apple does Address people the way Apple does in every language Oct 8, 2026
Use Apple's iOS 27 wording for "Try again", "Cancel", "Delete", "Edit",
"Loading…", "None", "Are you sure?", "Enter text" and "No matches" where
a version for the same English text exists. "Try again" now follows
Apple's button forms (uk "Ще раз", el "Νέα δοκιμή", cs "Zkusit znovu",
sk "Skúsiť znovu", hu "Újrapróbálkozás", bg "Опитай отново", tr "Yeniden
Dene", ru "Повторить" and so on).

Fix real errors on the way: "%lld chars left" had "left" translated as
the direction in 25 languages, "No matches" read "no sports matches" in
ar, ca and vi, and several failure messages were nonsense (ca, it, he,
kk) or in the plain form (ja).
The package needs Swift tools 6.2, but the macOS 15 image ships Swift
6.1, so every CI run failed before compiling anything.
@Jeehut
Jeehut merged commit da46117 into main Oct 13, 2026
1 check 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