chore: sync upstream (187 Commits) #2
No reviewers
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/wordcraft!2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/sync-upstream-20261016"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upstream-Sync von
upstream/main(187 Commits). Fast-Forward.eae2421Merge pull request #2307 from dylanmtaylor/ci/nix-workflow40c4ebcci: add nix check workflow86adfd3refactor(pdf): adopt the shared PDF writer (PDFW)df28b78refactor(pdf): reconcile shared writer with current main (PDFW)fd0bb2f#954: macOS ⌘←/⌘→ go to the line's start and end (#972)b3b6c45fix(ui): draw Arabic and other non-Latin comment text in balloons (#950)6a2bad8Tables: formulas with cell references, functions, number formats and F9 (#907)dac8c6dTable style review follow-ups: No Border on inherited parts, cell Top beats the style (#1288) (#1296)18b680cRecovery: a record lock held for a moment is waited out, not skippede127a08CI: drop a duplicate contributor entry in people.toml5b49d69Table style editor formats every table style part (#714) (#887)ffacc4cFields: refresh unlocked DATE and TIME when a document is opened (#1679)109956bTables: preserve row table border exceptions (#1708)add4851layout.pageSetup validates its section values (#1582) (#1584)9a19e09CI: rustfmt the proofing language listFile › Options › Proofing gets a Dictionaries folder: a folder of Hunspell .aff/.dic files searched before the system locations, saved with the settings and applied at start-up. An app started from Finder or the Dock doesn't see WORDCRAFT_DICTIONARIES, so this is how it finds a dictionary kept in a folder of the user's own. Changing it reloads the Polish and Portuguese dictionaries and checks the text again. The pane lists the dictionary file each language found, or that none was found, so missing spelling marks are explained. Agents set it with file.options {"dictionariesFolder": path | "auto"}; a missing folder or a relative path is refused and changes nothing. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>Replace from_utf8(h).unwrap_or("zz") with .ok() and let_chaining. The fallback was unreachable because h is always valid UTF-8 (it comes from slicing a valid UTF-8 input string). The magic string "zz" made the intent unclear to readers.* UI: view-mode tooltips, SmartArt labels and TOC style names follow the interface language Found while translating the interface: - The status bar's Web/Print/Read view buttons showed their internal ids (`readMode`) as tooltips; they now show the translated names ("Web Layout", "Print Layout", "Read Mode"). - SmartArt layout tiles drew each label on one line, so long labels (and long translations) ran out of the 96 px tile. A label wider than the tile now breaks at the space nearest its middle; the tile is 96 px high to make room for the second line. - Table of Contents › Options listed built-in styles (Normal, Title, Caption …) in English in every language; they now use the same display names as the Styles pane. The document keeps its names. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * TOC options: the style list's scroll bar takes its own room A floating scroll bar was drawn over the level boxes and hid their right edge. The list now uses a solid scroll bar, so the list is as wide as its widest label and level box plus the bar. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>The attribution check spawned `git ls-files` but never looked at its exit status: outside a usable checkout, or on a git error, the empty output read as "no files" and the check passed with nothing checked. A non-zero status is now an error with git's message. The list is read NUL-separated (`-z`): without it git quotes a name with non-ASCII letters ("assets/\303\251.png"), which matched no file on disk and was silently left out of the check. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>- Envelopes: the size list was drawn as English text (`#10 4.13 × 9.5 in`) with a decimal point in every region. The label is now a catalog template (`{name} {height} × {width} in` / `mm`) filled with the region's decimal separator; ru, hu, tr, bg, pl and it carry it. Regression test included. - Italian: the 18 strings the interface audit looks up that it.tsv lacked (Reading Mode bar, Go To, command search, status and command messages); `Privacy Settings` no longer says "current". - The audit's catalog-completeness check covers Italian too. - docs/localization-parity.md: status line, Italian note, revision history. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>\mac,\pc,\pca) (#1653) (#1661) 29320804f2* i18n: add Swedish (sv) interface translation A 2,504-entry Swedish catalog: every key of the reference catalog, the equation gallery's labels, everything the interface audit finds, and 44 newer strings no catalog had yet (the native print settings among them). Written from the meaning of the English labels in ordinary Swedish computing vocabulary; no other product's localisation and no other catalog was used. An AI-assisted draft whose terminology and running app were reviewed by a native speaker. Counts use count-neutral wording ("21 ord"). - sv, sv-SE, sv_SE.UTF-8 and sv-FI select it automatically; "Svenska" in Options and ui.language with {"value":"sv"}. - The interface audit checks Swedish the way it checks Russian, Hungarian, Turkish and Bulgarian. - Tests: locales and saved preference, catalog coverage and key translations, the search hint's example, count wording, and the bundled Inter/JetBrains Mono faces covering å ä ö é. - native_print: the narrow-window test pins English, since it finds controls by their English labels (it failed on a Swedish machine once those labels had a translation). - The Hungarian locale test used sv-SE as an unsupported language; it now uses fi-FI. - ATTRIBUTION, README, ROADMAP, docs/localization-parity.md and a new docs/localization-sv.md; a contributors/people.toml entry for @holmbom. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Swedish rows for the cross-reference dialog Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>* i18n: add Croatian (hr) interface translation Croatian interface catalog (2,505 entries: every key of the reference catalog, built-in style names, equation gallery, print dialog), registered as `hr` ("Hrvatski"). `hr`, `hr-HR` and `hr_HR.UTF-8` system locales pick it automatically. - Count-neutral wording (`Riječi: 21`), since Croatian numerals take three noun forms. - New `template` catalog context: the "Letter" template can be called "Pismo" while the "Letter" paper size keeps its name. Other languages fall back to their plain entry, so nothing changes. - Locale, saved-preference, catalog-coverage and bundled-font tests; `hr` added to the interface-audit languages; Polish's coverage test lists `hr` with it/hu/bg. - Written from the meaning of the English labels (clean room, no Word localisation consulted), proofread by a second model and reviewed by a native speaker. - ATTRIBUTION row, contributors entry for the author, docs and roadmap. Croatian spelling and grammar proofing is separate (#1114). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * ATTRIBUTION: name the models and the human review for the Croatian catalog Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * i18n(hr): native-speaker corrections to math terms and messages Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * i18n(hr): envelope names without their size Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * docs: Croatian entry count Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>* Margins gallery: Normal and Narrow follow the measurement unit The two uniform margin presets were written as `Normal 1" all` and `Narrow 0.5" all` whatever unit the user chose, so a centimetre or millimetre setting still showed inches. They now take the size from the measurement unit, like the paper-size menu next to them (`Normal 2,54 cm all`). The catalog keys become `Normal {size} all` and `Narrow {size} all`; every catalog carries the same translation with its number replaced by `{size}`, so no wording changes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Paper sizes: translate the name, show the size in the measurement unit The Size menu built each entry as "{name} {w} × {h}" in the measurement unit and then looked that whole text up in the catalog, so with centimetres or millimetres no entry matched and the envelope names stayed English. The name is now looked up on its own (`Envelope #10`, `Envelope DL`); the catalogs that translated the old inch labels carry the same wording without the size. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>