* 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>
6.1 KiB
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 distincttl!("…")literals incrates/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 |