Skip to content

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

Merged
Jeehut merged 5 commits into
mainfrom
wip/apple-address-style
Oct 11, 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.

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 İşareti
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 un 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.

Apple's own wording and length

Short UI strings follow 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. A value that got longer during the switch was reverted to its shorter form unless Apple's wording or a rule demands the extra length, and the same key now carries the same, shortest correct value in every catalog. This corrects 188 values, for example:

Lang Source main Earlier on this branch Now
tr Bookmark Yer İşaretle Yer İşaretlerine Ekle Yer İşareti
uk Bookmark Закладка Додати до закладок Закладка
el Learn More Μάθε περισσότερα Περισσότερες πληροφορίες Μάθετε περισσότερα
hr Copy Link Kopiraj link Kopiraj poveznicu Kopiraj link
hr Save to Photos Spremi u Foto Spremi u Fotografije Spremi u Foto
cs Download for Offline Stáhnout pro offline Stáhnout pro použití offline Stáhnout pro offline
ru Report Weather Condition Сообщить о погоде Сообщить о погодных условиях Сообщить о погоде
tr Join Challenge Müsabakaya Katıl Meydan Okumaya Katıl Müsabakaya Katıl
ro Share Distribuie Distribuiți Partajați
bg Unlike Не харесвай Премахни харесването Не харесвам

Most values that are still longer than on main are the intended change of address itself, e.g. Romanian „-ați“, the Greek and Hungarian noun forms on buttons, and the Czech, Slovak and Russian infinitive.

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 5 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.
The unification commit picked the longer variant of equal keys across
catalogs without checking Apple's own text, so short UI texts grew and
sometimes changed meaning (tr "Bookmark" became "Add to Bookmarks").

Check every changed short value against Apple's iOS glossary and the
current iOS 27 strings. Where Apple has a matching text, use it (tr and
uk "Yer İşareti"/"Закладка", el "Μάθετε περισσότερα", hr "Kopiraj link"
and "Spremi u Foto"). Otherwise take the shortest value that still
follows the language's register and button form, or fall back to the
previous one when it already complied. A noun label stays a noun, and
the same key gets the same value across catalogs.

Only values changed on the branch are touched; register changes
(formal address, polite plural) stay as they were.
The correction pass only touched values this branch had changed. The
same actions kept longer or non-Apple variants in other catalogs, e.g.
tr "Yer İşaretlerine Ekle" for Bookmark in News, hr "Kopiraj
poveznicu" in Reference. They now use the same shortest correct value
everywhere. uk "Add to Reading List" no longer uses Safari's feature
name "Читанка", which would mislead outside Safari.
@Jeehut
Jeehut merged commit 1f86ecf into main Oct 11, 2026
1 check failed
@Jeehut
Jeehut deleted the wip/apple-address-style branch October 11, 2026 08:46
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