Skip to content

Address people and write ellipses the way Apple does - #10

Open
Jeehut wants to merge 3 commits into
mainfrom
wip/apple-address-style
Open

Jeehut wants to merge 3 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.

TranslateKit's strings are meant to read like Apple's own UI, so this aligns them with Apple's localization style guides in every language. Parenthetical gender forms such as „sûr(e)“, „уверен(а)“ or „Student/in“ are rephrased neutrally, which Apple's guides forbid. A key that appears in several category catalogs now carries the same wording everywhere, for example debug, which read „Encriptar“ in pt-PT.

Ellipses are now always the single „…“ character, never three periods. German puts a non-breaking space before it („Laden …“), as Apple does. Traditional Chinese (zh-Hant, zh-HK) uses the midline „⋯“. The 23 defaultValue literals in TranslateKitPhotoAndVideoLite follow the same rule.

Impact on apps using this package

No API changes. Apps that ship these languages will show different text there, though. An app whose own strings still address people informally, for example French „tu“, will mix two registers in one screen until it switches as well. That is why this change warrants a major version.

Examples (before → after)

Lang Source Before After
fr Enter author name… Entrez le nom de l'auteur… Saisir le nom de l'auteur…
fr-CA Enter book title… Entrez le titre du livre… Entrer le titre du livre…
ru Enter author name… Введи имя автора… Введите имя автора…
tr Bookmark Yer İşaretle Yer İşaretlerine Ekle
pl Ready for the next lesson? Gotowy/a na następną lekcję? Czy chcesz przejść do następnej lekcji?
bg Read Now Чети сега Прочети сега
ro Add Bookmark Adaugă marcaj Adăugați marcaj
el Bookmark Προσθήκη Σελιδοδείκτη Προσθήκη σελιδοδείκτη
hu Add Note Megjegyzés Hozzáadása Jegyzet hozzáadása
cs Add client details… Přidej údaje o klientovi… Přidejte údaje o klientovi…
pt-PT Download for Offline Transferir para Offline Transferir para offline
uk Bookmark Закладка Додати до закладок
hr Add to Library Dodaj u knjižnicu Dodaj u medijateku
de Add a bookmark… Lesezeichen hinzufügen… Lesezeichen hinzufügen …
zh-Hant Add a bookmark… 新增書籤… 新增書籤⋯

Changed values per language: ro 1351, zh-HK 556, zh-Hant 555, de 552, hr 476, bg 467, el 446, sk 405, hu 361, tr 329, ru 322, cs 320, pt-PT 275, fr 229, fr-CA 225, kk 85, uk 71, id 65, pl 48, ms 31, ja 25, hi 25, ar 23, ca 23, da 23, en 23, en-AU 23, en-GB 23, es 23, es-419 23, fi 23, he 23, it 23, ko 23, nb 23, nl 23, pt-BR 23, sv 23, th 23, zh-Hans 23, vi 22.

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.

Jeehut added 3 commits October 8, 2026 10:22
Address: fr, fr-CA, ru, uk, bg, cs, sk, hu, ro, el, hr, id, ms, kk, hi,
tr, pl and pt-PT now speak to the person in the register Apple uses for
each language (vous, capitalized Вы, vykání, magázás, Greek plural, hr
sentences in the plural with singular button imperatives, tr plural
imperative -in, pl capitalized Ty, pt-PT third person without pronoun,
bg/ro plural imperatives). About 5,300 catalog values changed across the
27 catalogs, mostly Messages and Placeholders, plus the Action buttons
of bg, ro, sk and cs. Parenthesis, slash and middle-dot gender forms
such as "sûr(e)" and "уверен(а)" were rephrased neutrally. A few
mistranslations found on the way were corrected as well.

Ellipsis: every "..." in the catalogs is now the single character "…"
(German with a no-break space before it, zh-Hant and zh-HK as "⋯"), and
the 23 default values in the Photo and Video module read "…" too.
Actions in bg, el, hu, cs, sk, ru, kk, tr and pt-PT now use the form
Apple prescribes for buttons (singular imperative, nominal form or
infinitive) instead of the polite plural imperative. Placeholders,
labels and messages stay polite. Equal action keys carry the same
value per language across all catalogs, except playNow, review and
record whose meaning differs by module.
Apple's French style guide puts buttons, options and input placeholders in the infinitive. Convert the vous imperatives in all fr and fr-CA placeholders (Entrez/Saisissez/Choisissez/Tapez ...) to Saisir/Entrer/Choisir/Taper ..., and fix the fr-CA find-a-player placeholder that said exercise.
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