Files
pdfcraft/docs/localization-parity.md
4bfd3c2729 M14: add Lithuanian interface and date localization (#1401)
* M14: add Lithuanian interface localization

Register Lithuanian UI and date languages with three integer plural forms
and a 2,572-entry contributor-original catalog. Cover dynamic dialog labels,
contextual calendar and certificate wording, commands, tools, and every key
in the other bundled catalogs. Add real-shell calendar, inspector and
password-dialog regressions; preserve PDF values and document state.

Update localization documentation and asset attribution. Native-speaker/VLKK
terminology review remains outstanding.

Validation: cargo xtask ci passed; cargo-deny was skipped because it is not
installed. Five rendered dialogs and contributor manual testing checked UI.

Co-Authored-By: OpenAI gpt-6.1-sol <noreply@openai.com>

* M14: preserve multilingual localization documentation

Restore the existing language descriptions instead of replacing general
localization guidance with Lithuanian-specific coverage. List every
registered language and control-channel code; keep Lithuanian details
alongside the existing catalog descriptions.

Include the previously omitted Kazakh, Polish, Slovenian, Greek and Turkish
catalogs in the shipped-language table without changing the historical
coverage snapshot or existing assessments. Keep Lithuanian roadmap notes
concise and additive.

Validation: all 22 registered languages appear in documentation; every
existing descriptive paragraph is retained. cargo xtask ci passed, with
cargo-deny skipped because it is not installed.

Co-Authored-By: OpenAI gpt-6.1-sol <noreply@openai.com>

* M14: record completed Lithuanian native-speaker review

The contributor confirms they are a native Lithuanian speaker and have
reviewed the translation. Remove obsolete pending-review labels from the
asset manifest and documentation; regenerate ATTRIBUTION.md. Remove the
redundant generated-message disclaimer from the Lithuanian description,
keeping the existing general localization documentation unchanged.

Validation: cargo xtask ci passed; cargo-deny was skipped because it is
not installed. Catalog content and its SHA-256 are unchanged.

Co-Authored-By: OpenAI gpt-6.1-sol <noreply@openai.com>

* Lithuanian: cover main's Copy Image labels, list lt last, check its glyphs

Adds the six Copy Image rows from #1363, moves lt to the end of LANGUAGES
and DATE_LANGUAGES (after tr), adds lt.tsv to the primary-font coverage
test, writes the JavaScript preferences path with '>' as the other
catalogs do (Inter has no ▸), and refreshes counts and hashes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: OpenAI gpt-6.1-sol <noreply@openai.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 08:54:15 -04:00

6.1 KiB
Raw Permalink Blame History

Localization parity

Last reviewed: 2026-10-10 · Last updated: 2026-10-12 · Change: minor (list all registered interface languages; preserve the original coverage snapshot) · Target: Adobe Acrobat Pro (Acrobat DC, continuous track 26.002.21931, macOS)

Per-language status of PdfCraft's interface against Acrobat Pro's. How translations work and how to add a language: localization.md. Summary in ROADMAP.md.

How this was measured

  • Strings translated is measured: the catalogs in crates/ui-egui/src/i18n/<code>.tsv, counted as distinct (context, English) keys with a non-empty translation. The denominator is the union of keys across all catalogs, 2,143. Cross-check: of the 1,151 distinct tl!("…") literals in crates/ui-egui/src, every full catalog covers 96.5–99.4% (7 literals are in no catalog yet). English is built in.
  • Not counted: error details from the engine and the operating system, which are shown in English inside a translated frame; there is no translated user documentation or help yet (Acrobat ships localized help).
  • Script support comes from localization.md, the vendored winit IME patches (vendor/README.md) and user reports.
  • Native review: "community" means a native speaker contributed or corrected the catalog in a pull request or issue; "no" means no record of review. No catalog has had a formal review.
  • Acrobat ships 24 interface localizations on macOS (.lproj: cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt, ru, sv, tr, uk, zh_CN, zh_TW, plus en_AE, en_IL, fr_MA) and Middle East / North Africa editions (MEA Arabic, MEH Hebrew, NAF French; Resources/Sequences/).

The twelve key languages

Language Code UI strings translated Dialogs / tooltips / help Script support Native review Status Acrobat ships it To full (h)
English en built in (100%) all; README and docs Latin yes full yes 0
Simplified Chinese zh-hans 2,088 (97.4%) dialogs and tooltips through tl!; no help CJK text and IME work, but release builds have no Hans face: many characters show as boxes (#826, #688, #728, #758; Flatpak #689) no partial yes 6–12
Spanish es 2,046 (95.5%) dialogs and tooltips; no help Latin no partial yes 2–4
Hindi hi 0 none Devanagari not tested (egui shapes Telugu conjuncts, so shaping is likely workable); no Devanagari face in craft-fonts no none no 10–18
Arabic ar 2,143 (100%) dialogs and tooltips; no help Letters joined and lines reordered at load, but layout not mirrored, wrapped lines break at the wrong end, typed text runs left to right (localization.md §Arabic) no partial yes (Middle East edition) 25–45
French fr 2,128 (99.3%) dialogs and tooltips; no help Latin no partial yes 1–2
Portuguese (Brazil) pt-br 2,130 (99.4%) dialogs and tooltips; no help Latin community (#288) partial yes 1–2
Indonesian id 0 none Latin no none no 3–5
Japanese ja 2,123 (99.1%) dialogs and tooltips; no help BIZ UDPGothic from craft-fonts; IME patched on macOS, Windows, X11, Wayland; vertical text renders but can't be edited no partial yes 4–8
German de 2,128 (99.3%) dialogs and tooltips; no help Latin community, in progress (#828: terminology, clipping) partial yes 2–4
Korean ko 0 none Hangul IME patched (Microsoft and Apple Korean, vendor/README.md winit 3, 6, 9, 10); no Hangul UI face in craft-fonts no none yes 6–10
Vietnamese vi 0 none Latin with stacked diacritics; bundled Inter covers them (not tested) no none no 3–5

Localization dimension ≈ 59%: the mean over the twelve, counting a catalog's percentage but only 60% for Chinese and Arabic until their script problems are fixed, and 0 for the four missing languages. ≈ 60–115 h to bring all twelve to full, of which ≈ 35–60 h is engineering (Hans face, RTL layout, bidi text) and the rest catalogs and fixes; native-speaker review needs humans.

No language is full except English: every catalog leaves engine error details in English, and none has translated help.

Other shipped languages

Language Code UI strings translated Status Acrobat ships it
Traditional Chinese zh-hant 2,016 (94.1%) partial (same Hans/Hant face caveat) yes
Russian ru 2,043 (95.3%) partial yes
Bulgarian bg 2,094 (97.7%) partial no
Czech cs 135 (6.3%) menus only yes
Telugu te 2,058 (96.0%) partial (the release-pinned craft-fonts has no Telugu face yet) no
Hungarian hu 2,126 (99.2%) partial yes
Ukrainian uk 2,142 (100%) partial yes
Italian it 2,130 (99.4%) partial yes
Kazakh kk 2,327 entries partial no
Polish pl 2,287 entries partial yes
Slovenian sl 2,324 entries partial no
Greek el 2,341 entries partial no
Turkish tr 2,313 entries partial yes
Lithuanian lt 2,578 entries partial; community native-speaker review (#1401) no

14 other languages ship (21 catalogs plus English, 22 interface languages in Preferences). The entry counts without percentages were measured on 2026-10-12; they are not percentages of the older 2,143-key snapshot above. Their presence does not imply a detailed linguistic or runtime review. Acrobat languages PdfCraft lacks: Danish, Dutch, Finnish, Norwegian, Swedish, Hebrew.

Revision history

Date Change Summary
2026-10-12 minor Added current counts for Kazakh, Polish, Slovenian, Greek, Turkish and Lithuanian; retained existing language assessments and the original percentage snapshot
2026-10-10 major Created. Catalog counts measured from crates/ui-egui/src/i18n/*.tsv against the 2,143-key union; Acrobat's localizations from its bundle's .lproj and Sequences folder names