pdfcraft/docs
feraremag2680 513a1ecc3a
i18n: let the layers below hand their sentences over, so they can be translated (#478)
* i18n: let the layers below hand their sentences over, so they can be translated

The accessibility findings, the PDF/A problems, the signature details, the
page-range mistakes and the edit labels were English in all ten languages,
because matching their wording from the UI with a tl! literal would break
silently whenever the engine changed it.

So each layer now hands the wording over instead, apart from the document's
own words: a WORDINGS list of every sentence it can say, with holes in it, and
said(&words), which looks the wording up through the closure it is given and
fills the holes in a single pass. in_english changes nothing, for the CLI and
the tests; the UI passes &i18n::words, a catalog lookup. A wording with no
entry comes back as it stands, which is the English, so the nine catalogs this
does not touch read exactly as before.

a11y::report_html takes a language tag and a words closure, so a saved report
reads the way the panel read, down to its lang attribute. print::PrintError
gained a variant per thing a person can be wrong about, with the numbers apart
from the words; faults rather than mistakes keep their own text.

Spanish translates all of it (107 entries). spanish_covers_what_the_engine_says
requires an entry per wording in the eight lists and
spanish_keeps_the_holes_in_what_the_engine_says requires the holes to survive
the translation, so the catalog cannot fall behind the engine unnoticed.

No new tl! literal, so the Chinese, French and Russian UI-literal gates are
unaffected.

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

* Sign tests from #1099: compare against the &'static str kinds

* Camera tests: undo returns a Label now

---------

Co-authored-by: Fernando Areán <soporte@codebit.es>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-11 15:45:51 -04:00
..
brand Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
images Rename PrintCraft to PdfCraft (#174) 2026-10-07 16:03:57 -04:00
architecture.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#873) 2026-10-10 14:23:28 -04:00
contributors.md Restore #196, #202, #203 and the macOS release-runner change, reverted by the i18n chain (#229) 2026-10-08 03:33:35 -04:00
development.md fix(theme): complete Linux System appearance tracking (#1017) 2026-10-11 15:23:49 -04:00
editing-images.md Edit images: moving or resizing a clipped image moves its own clip too (#1022) (#1049) 2026-10-11 12:16:57 -04:00
editing-multiple-objects.md M7: select and move mixed PDF objects together (#844) (#907) 2026-10-10 17:38:34 -04:00
file-format-parity.md Docs: sync the progress docs with issues closed on 2026-10-10 (#1064) 2026-10-11 13:14:48 -04:00
gaps.md Docs: sync the progress docs with issues closed on 2026-10-10 (#1064) 2026-10-11 13:14:48 -04:00
hardware-parity.md Docs: sync the progress docs with issues closed on 2026-10-10 (#1064) 2026-10-11 13:14:48 -04:00
localization-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#873) 2026-10-10 14:23:28 -04:00
localization.md i18n: let the layers below hand their sentences over, so they can be translated (#478) 2026-10-11 15:45:51 -04:00
mcp.md CLI: reject malformed --root options before dispatch (#1048) 2026-10-11 12:12:23 -04:00
pdf-spec-parity.md Docs: sync the progress docs with issues closed on 2026-10-10 (#1064) 2026-10-11 13:14:48 -04:00
releasing.md Bump to 0.6.0; add a Linux riscv64 release build (#945) 2026-10-10 20:50:57 -04:00
roadmap.md fix(theme): complete Linux System appearance tracking (#1017) 2026-10-11 15:23:49 -04:00
target-app-parity.md Docs: sync the progress docs with issues closed on 2026-10-10 (#1064) 2026-10-11 13:14:48 -04:00
ui-parity.md Docs: sync the progress docs with issues closed on 2026-10-10 (#1064) 2026-10-11 13:14:48 -04:00
windows-renderer-startup.md Return renderer initialization errors to the OpenGL startup fallback (#1042) 2026-10-11 12:05:45 -04:00