* i18n: add French (fr) interface A complete 1813-entry catalog with the same key set and order as ru.tsv (the most complete reference), written from the meaning of the English source. Registered in LANGUAGES after Turkish. The locale-resolution tests that used fr-FR as the example of a language without a catalog now assert the French mapping and use Italian, which has no catalog, to keep testing the unsupported path. * i18n: complete the French catalog and apply review fixes Rebase onto main (1805 uk.tsv keys, up from 1812 rows at the original PR): 357 new translations for the charts, Draw, content controls, Caption/Index/TOC dialogs and formatting features that landed after the PR was opened. Also applied the reviewer's five fixes: Bring Forward → Avancer d'un niveau, Print Layout → Mode Page, Not used by any command → N'est utilisé par aucune commande, Through → Au travers, and consistent U+2019 apostrophes throughout. * Review fixes for #729: attribution, French tests, language lists - ATTRIBUTION row for fr.tsv, in the form the other catalogs use. - French locale/saved-preference test and bundled-font coverage test (accents, œ, « », ’, and the no-break spaces in Inter). - Tests that need a language without a catalog use a private-use tag (qaa-QM, qtz) instead of it-IT/de-DE, so they keep passing as real languages land. - 11 French rows for commands that landed on main since (templates, styles organizer, Overtype, Move with Text), which every_tab_and_command_is_translated requires. - fr in docs/control-protocol.md, README and localization-parity. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Review fixes for #729: French rows for Outline view and SmartArt 34 rows for the Outlining and SmartArt Design tabs and their commands, which landed on main meanwhile and every_tab_and_command_is_translated requires; 1,850 entries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * French: translate interface strings added on main since this PR Adds 174 French entries (fr.tsv now covers every key in the other catalogs, 2,023 entries) and drops the stale "Wildcards (regex)" row; updates the documented entry count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * French: translate interface strings added on main since this PR Adds the 10 strings main gained with Polish proofing (spelling and grammar messages, Do Not Check Spelling or Grammar, comment/browse buttons): 2,033 entries; documented count updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * French: strings main added since the last merge (default app, numerals, KeyTips, Reading Mode) --------- Co-authored-by: sanches <cfic34@ya.ru> Co-authored-by: Brandon Thomas <echelon@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <brandon@storyteller.ai>
17 KiB
Asset attribution
Every non-code asset in this repository (fonts, icons, images, example documents) is listed here with its author, source and licence. cargo xtask assets (part of cargo xtask ci) fails if an asset file is missing from this table.
Policy (mandatory): WordCraft contains no Microsoft, Adobe, Avid or Autodesk iconography, images, templates, themes, clip art, fonts or other assets. Every asset is original work by WordCraft contributors or third-party material under an open licence (OSI open source, public domain / CC0, or a Creative Commons licence that allows redistribution). Screenshots of other vendors' software are never committed. New font files go to storytold/craft-fonts, not this repo. The one exception is the ArtCraft brand files in docs/brand/: ArtCraft trademarks, not open source, used under docs/brand/LICENSE-brand.txt.
Generated-in-code art is original and has no file to list: the UI icon set (crates/ui-egui/src/icons.rs), the sample documents and templates (crates/engine/src/sample.rs), the table and style previews, and theme colours (crates/engine/src/cmd/design.rs).
| Asset | Author | Source | Licence | Notes |
|---|---|---|---|---|
assets/hyphenation/en-us.pat |
DesignCraft contributors (generated) | trained from the Moby list by DesignCraft's patgen | Public Domain (CC0-1.0) | Our own Liang hyphenation patterns (no TeX patterns) |
assets/hyphenation/en-us.dic |
Grady Ward (Moby Hyphenator II word list); converted by DesignCraft contributors | https://www.gutenberg.org/ebooks/3204 (file mhyph.txt, SHA-256 eeb30474c86b8af3469035ec1a0913e35905325ca885290db9dfed9881e230ac), via DesignCraft |
Public Domain | ~165k words with break points; drives spelling and hyphenation |
assets/spelling/en-extra.txt |
WordCraft contributors | original word list written for this repository (common modern words the Moby list lacks); no other dictionary copied | MIT OR Apache-2.0 | ~220 lowercase English base forms supplementing spelling (#520) |
assets/hyphenation/pl.pat |
Hanna Kołodziejska, Bogusław Jackowski, Marek Ryćko (Polish TeX hyphenation patterns, 1987–1995); hyph-utf8 package | https://github.com/hyphenation/tex-hyphen (hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-pl.tex, SHA-256 83ddbbd21bc06a44bc4f4a4c49c38782e809cff5f026b764c044daa29e818843), bundled unmodified |
MIT (the file is offered under MIT or Knuth's public-domain terms; WordCraft uses MIT, whose notice is in the file's header) | 4,053 Liang patterns and 20 exception words; Polish hyphenation |
assets/app-icon/wordcraft-1024.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
packaging/macos/dmg/background.svg |
@XusBadia | original work for this repository, derived from the WordCraft app icon (assets/app-icon/wordcraft.svg, referenced via <image>, not copied); text is outlined Inter / JetBrains Mono glyph paths |
MIT OR Apache-2.0, like the code (LICENSE-MIT, LICENSE-APACHE) |
WordCraft macOS DMG window background (2026-10-08); used for the Finder window of the macOS DMG, rendered to background.tiff by packaging/macos/dmg/generate.py |
packaging/macos/dmg/background.tiff |
@XusBadia | Rendered from packaging/macos/dmg/background.svg by packaging/macos/dmg/generate.py |
MIT OR Apache-2.0, like the code (LICENSE-MIT, LICENSE-APACHE) |
1x + 2x HiDPI TIFF for the macOS DMG window; includes the app icon (see its row) and LittleCMS's built-in sRGB profile ("No copyright, use freely") |
assets/app-icon/wordcraft-macos-512.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/wordcraft.icns |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/wordcraft.ico |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/wordcraft.svg |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/16x16/apps/ai.storyteller.wordcraft.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/64x64/apps/ai.storyteller.wordcraft.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/32x32/apps/ai.storyteller.wordcraft.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/24x24/apps/ai.storyteller.wordcraft.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/128x128/apps/ai.storyteller.wordcraft.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/256x256/apps/ai.storyteller.wordcraft.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/scalable/apps/ai.storyteller.wordcraft.svg |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/48x48/apps/ai.storyteller.wordcraft.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/app-icon/hicolor/512x512/apps/ai.storyteller.wordcraft.png |
WordCraft contributors | original artwork drawn in SVG (assets/app-icon/wordcraft.svg), rendered by packaging/icons.sh |
MIT OR Apache-2.0 | Placeholder app icon until the WordCraft mascot drawing lands |
assets/fonts/Inter-Medium.ttf |
Rasmus Andersson / The Inter Project Authors | https://github.com/rsms/inter | OFL-1.1 (assets/fonts/OFL-Inter.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/Inter-Regular.ttf |
Rasmus Andersson / The Inter Project Authors | https://github.com/rsms/inter | OFL-1.1 (assets/fonts/OFL-Inter.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/Inter-SemiBold.ttf |
Rasmus Andersson / The Inter Project Authors | https://github.com/rsms/inter | OFL-1.1 (assets/fonts/OFL-Inter.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/JetBrainsMono-Regular.ttf |
The JetBrains Mono Project Authors | https://github.com/JetBrains/JetBrainsMono | OFL-1.1 (assets/fonts/OFL-JetBrainsMono.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/OFL-Inter.txt |
(licence text) | upstream project | — | |
assets/fonts/OFL-JetBrainsMono.txt |
(licence text) | upstream project | — | |
assets/fonts/OFL-SourceSans3.txt |
(licence text) | upstream project | — | |
assets/fonts/OFL-SourceSerif4.txt |
(licence text) | upstream project | — | |
assets/fonts/SourceSans3-Bold.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/SourceSans3-It.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/SourceSans3-Regular.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/SourceSans3-Semibold.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/SourceSerif4-Bold.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/SourceSerif4-BoldIt.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/SourceSerif4-It.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/SourceSerif4-Regular.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
assets/fonts/SourceSerif4-Semibold.ttf |
Paul D. Hunt / Frank Grießhammer, Adobe (released as open source) | https://github.com/adobe-fonts/source-sans · https://github.com/adobe-fonts/source-serif | OFL-1.1 (assets/fonts/OFL-SourceSans3.txt, OFL-SourceSerif4.txt) |
Open-source typeface (Latin UI/document font, carried over from DesignCraft) |
docs/images/review.png |
WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by ui_shot) |
MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
docs/images/references.png |
WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by ui_shot) |
MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
docs/images/hero.png |
WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by ui_shot) |
MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
docs/images/design.png |
WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by ui_shot) |
MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
docs/images/dark.png |
WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by ui_shot) |
MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
docs/images/backstage.png |
WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by ui_shot) |
MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
docs/images/layout.png |
WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by ui_shot) |
MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
docs/brand/LICENSE-brand.txt |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
docs/brand/artcraft-logo-white.png |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
docs/brand/artcraft-logo-white.svg |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
docs/brand/artcraft-logo.png |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
docs/brand/artcraft-logo.svg |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
docs/brand/artcraft-mark-black.png |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
docs/brand/artcraft-mark-black.svg |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
docs/brand/artcraft-mark.png |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
docs/brand/artcraft-mark.svg |
ArtCraft Team | craftrules assets/brand/ |
ArtCraft trademark, docs/brand/LICENSE-brand.txt |
Not open source; usable unmodified only |
| craft-fonts (optional build input, not files in this repo): BIZ UDPGothic, BIZ UDMincho, Shippori Mincho, Noto Sans CJK SC, Noto Sans Arabic | see https://github.com/storytold/craft-fonts/blob/main/ATTRIBUTION.md | embedded only when built with CRAFT_FONTS_DIR (all official releases) |
OFL-1.1 | Japanese and Chinese UI, Japanese document fallback |
crates/ui-egui/src/i18n/uk.tsv |
@dmatviichuk with Codex | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Ukrainian interface catalog; spelling checked with external VESUM and ULIF dictionaries, neither bundled |
crates/ui-egui/src/i18n/et.tsv |
@henno with Codex | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Estonian interface catalog |
crates/ui-egui/src/i18n/pl.tsv |
Konrad Witkowski with Claude (AI agent) | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Polish interface catalog; not yet reviewed by a second native speaker |
crates/ui-egui/src/i18n/pt-br.tsv |
@edurbs with ZCode | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Brazilian Portuguese interface catalog; spelling checked with the external pt_BR Hunspell dictionary, not bundled |
crates/ui-egui/src/i18n/cs.tsv |
@DanielKnourek with Antigravity for VS Code | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Czech interface catalog; review suggestions by @Losminek |
crates/ui-egui/src/i18n/de.tsv |
@arekown with Kimi | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | German interface catalog |
crates/ui-egui/src/i18n/ru.tsv |
Dmitrii Khlapov with Claude | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Russian interface catalog; reviewed by a native speaker |
crates/ui-egui/src/i18n/tr.tsv |
@PbyLoyth with Codex and Claude Code | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Turkish interface catalog |
crates/ui-egui/src/i18n/fr.tsv |
@pechnikov2026-star | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | French interface catalog |