storytold/craft-i18n
65.5
Adequate · 7 November 2026
2.2k
lines of production code
Rust
with Python
1
measurement over time
What this system is
Behavioural changes
1 commit (0 fixes) modifying crates/craft-i18n-tests/examples
A change to existing behaviour in crates/craft-i18n-tests/examples — 1 commit, 1 file: “CP3: Moby en-us.dic loses the typos teh, abd, nad, ur, u, r (one-off strip\_typos tool, ATTRIBUTION row, test)”.
crates/craft-i18n-tests/examples · medium confidence · unverified
1 commit (0 fixes) modifying locales/dv
A change to existing behaviour in locales/dv — 1 commit, 2 files: “pdfcraft\#3495: Dhivehi rows from @Jadheedh”.
locales/dv · medium confidence · unverified
1 commit (0 fixes) modifying locales/gl
A change to existing behaviour in locales/gl — 1 commit, 2 files: “gl: add shared catalog and Craft Launcher in Galician”.
locales/gl · medium confidence · unverified
10 commits (4 fixes) modifying tools
A change to existing behaviour in tools — 10 commits (4 fixs), 6 files: “Fix Windows UTF-8 handling in catalog tool tests”; “feat(tools): rekey.py moves translations to an app's corrected English”; “feat(tools): new\_locale.py starter and an "Add a language" guide”; and 7 more.
tools · medium confidence · unverified
11 commits (0 fixes) modifying locales/sk
A change to existing behaviour in locales/sk — 11 commits, 1 file: “wordcraft: the Normal template's strings in 29 locales (wordcraft\#4237)”; “WordCraft: label for review.language.preferred in 35 locales”; “sk: sort WordCraft catalog by sync key”; and 8 more (refs \#4033).
locales/sk · medium confidence · unverified
14 commits (3 fixes) modifying crates/craft-i18n-tests/src
A change to existing behaviour in crates/craft-i18n-tests/src — 14 commits (3 fixs), 6 files: “Checker: take plural form counts from the runtime crate”; “feat: locale name and plural form checks”; “CP3.1–CP3.3: Language pack manifest, checks and release workflow”; and 11 more.
crates/craft-i18n-tests/src · medium confidence · unverified
152 commits (12 fixes) modifying (repo-wide)
A change to existing behaviour in (repo-wide) — 152 commits (12 fixs), 10 files: “de: WordCraft terms left open after \#88”; “ATTRIBUTION: credit @eliets2 for pdfcraft\#162's rows in 21 locales”; “pdfcraft\#3495: Dhivehi rows from @Jadheedh”; and 147 more (refs \#88, \#497, \#109, \#4033, \#496, …).
(repo-wide) · low confidence · unverified
17 commits (1 fix) modifying locales/et, locales/hr, locales/sr
A change to existing behaviour in locales/et, locales/hr, locales/sr — 17 commits (1 fix), 6 files: “feat(locales): WordCraft rows merged since the cutover sync (wordcraft@67a0e72)”; “wordcraft: the Normal template's strings in 29 locales (wordcraft\#4237)”; “WordCraft: label for review.language.preferred in 35 locales”; and 14 more.
locales/et, locales/hr, locales/sr · medium confidence · unverified
18 commits (1 fix) modifying locales/da
A change to existing behaviour in locales/da — 18 commits (1 fix), 4 files: “feat(locales): WordCraft rows merged since the cutover sync (wordcraft@67a0e72)”; “wordcraft: the Normal template's strings in 29 locales (wordcraft\#4237)”; “WordCraft: label for review.language.preferred in 35 locales”; and 15 more.
locales/da · medium confidence · unverified
19 commits (0 fixes) modifying locales/bs
A change to existing behaviour in locales/bs — 19 commits, 8 files: “WordCraft: label for review.language.preferred in 35 locales”; “bs: VectorCraft catalog; credit every Bosnian catalog”; “bs: review follow-ups (spreadsheet, Greek script, pan, angle brackets)”; and 16 more.
locales/bs · medium confidence · unverified
19 commits (2 fixes) modifying language-data
A change to existing behaviour in language-data — 19 commits (2 fixs), 101 files: “CP7: re-pin craft-proof at craft-libs b8efc5ad (\#497 head); hide mn (suggestions take 200-580 ms over 12,066 affix rules); 75 published, 2 hidden”; “docs: SCOWL review fixes (CP2.1, \#109)”; “CP7: unhide da, de, de-at, de-ch, eo, et, fa, hr, hu, mn, nb, nl, nn, sv, sv-fi; fix de/et/nb/nn check words; 76 published, 1 hidden”; and 16 more (refs \#497, \#109, \#116).
language-data · medium confidence · unverified
2 commits (0 fixes) modifying crates/craft-i18n, locales/en
A change to existing behaviour in crates/craft-i18n, locales/en — 2 commits, 2 files: “feat!: TSV tree checker; drop Fluent and the unusable library crate”; “chore: initial craft-i18n tree: scaffold, glossary, ADRs, roadmap”.
crates/craft-i18n, locales/en · medium confidence · unverified
2 commits (0 fixes) modifying locales/ta
A change to existing behaviour in locales/ta — 2 commits, 2 files: “pdfcraft\#5735: Tamil rows from @newsbaba24x7”; “PdfCraft: menu paths in translations use \> (→ in ja and zh), not ▸, which the UI fonts lack; tr Translating… keeps the ellipsis”.
locales/ta · medium confidence · unverified
20 commits (2 fixes) modifying locales/nl
A change to existing behaviour in locales/nl — 20 commits (2 fixs), 5 files: “feat(locales): WordCraft rows merged since the cutover sync (wordcraft@67a0e72)”; “wordcraft: the Normal template's strings in 29 locales (wordcraft\#4237)”; “WordCraft: label for review.language.preferred in 35 locales”; and 17 more.
locales/nl · medium confidence · unverified
24 commits (0 fixes) modifying locales/ka
A change to existing behaviour in locales/ka — 24 commits, 8 files: “ka/photocraft: Georgian for the remaining rows craft-i18n keys”; “wordcraft: the Normal template's strings in 29 locales (wordcraft\#4237)”; “WordCraft: label for review.language.preferred in 35 locales”; and 21 more.
locales/ka · medium confidence · unverified
27 commits (2 fixes) modifying locales/sv
A change to existing behaviour in locales/sv — 27 commits (2 fixs), 5 files: “feat(locales): WordCraft rows merged since the cutover sync (wordcraft@67a0e72)”; “wordcraft: the Normal template's strings in 29 locales (wordcraft\#4237)”; “WordCraft: label for review.language.preferred in 35 locales”; and 24 more.
locales/sv · medium confidence · unverified
3 commits (0 fixes) modifying locales
A change to existing behaviour in locales — 3 commits, 37 files: “fr/pdfcraft: translate nine rows left in English, align terms, restore Sources column”; “wordcraft: watermark dialog strings (storytold/wordcraft\#5735)”; “fr/cadcraft: apply review wording (coudée, contours, ligne de repère); correct row count to 292”. Also in this area: 7 commits (1 fix) modifying locales.
(repo-wide) · medium confidence · unverified
4 commits (0 fixes) modifying locales/lv
A change to existing behaviour in locales/lv — 4 commits, 4 files: “lv: add Latvian catalogs”; “lv: translate WordCraft”; “lv: leave WordCraft and GridCraft for later”; and 1 more.
locales/lv · medium confidence · unverified
Test coverage
12 commits adding/updating tests in crates/craft-i18n-tests/tests
Test coverage in crates/craft-i18n-tests/tests — 12 commits (1 fix), 4 files: “Checker: take plural form counts from the runtime crate”; “CP3.1–CP3.3: Language pack manifest, checks and release workflow”; “feat!: TSV tree checker; drop Fluent and the unusable library crate”; and 9 more.
crates/craft-i18n-tests/tests · high confidence · unverified
Dependencies
21 commits updating dependencies (4 manifests)
A dependency / build maintenance change in (dependencies) — 21 commits (4 fixs), 4 files: “CP7: craft-proof dev-dependency at storytold/craft-libs f452305a (\#497, flag-based compounding)”; “CP7: re-pin craft-proof at craft-libs b8efc5ad (\#497 head); hide mn (suggestions take 200-580 ms over 12,066 affix rules); 75 published, 2 hidden”; “CP7: re-pin craft-proof at craft-libs 9b6ef119 (\#497 head, CP7.8)”; and 18 more (refs \#497, \#496, \#485, \#483, \#495).
(dependencies) · medium confidence · unverified
Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 65.
Lenses
- Code Health 99
- Architecture 96
- Maturity 74
- Readiness 54
- Security 68
Changes since last survey
- 300 commits — 297 feature/other, 3 fixes
By area
- locales/ar — 178 commits
- (repo) — 42 commits
- (root) — 27 commits
- locales/de — 6 commits
- locales/ca — 5 commits
- locales/ko — 5 commits
- locales/tr — 5 commits
- locales/ka — 4 commits
- locales/pt-br — 4 commits
- locales/bg — 3 commits
- locales/he — 3 commits
- locales/fi — 2 commits
- locales/fr — 2 commits
- locales/hi — 2 commits
- locales/lv — 2 commits
- locales/bs — 1 commit
- locales/ckb — 1 commit
- locales/cs — 1 commit
- locales/da — 1 commit
- locales/es — 1 commit
Notable commits
- fix: Fix Windows UTF-8 handling in catalog tool tests
- fix: Merge pull request #126 from tareq-halaby/fix/tools-utf8-windows
- fix: Merge pull request #147 from storytold/fix/pdfcraft-menu-arrows
- change: ATTRIBUTION: credit @eliets2 for pdfcraft#162's rows in 21 locales
- change: ATTRIBUTION: credits for rows moved from open PdfCraft PRs
- change: ATTRIBUTION: record @salehnemari-max's native-speaker review of the seven Arabic rows
- change: ATTRIBUTION: restore the fr Sources column to what main has
- change: ATTRIBUTION: restore the fr Sources column to what main has
- change: ATTRIBUTION: restore the fr Sources column to what main has
- change: CADCraft: sync catalogs from cadcraft@c4d9e6a (el, hu, tr, vi new)
- change: Merge main into feat/unit-rows (ATTRIBUTION: keep both new sections)
- change: Merge origin/main into sync/pdfcraft-open-prs
- change: Merge pull request #127 from tlomts-dev/ar-wordcraft-missing-rows-2
- change: Merge pull request #132 from jayzed80/fr/wordcraft-missing-rows
- change: Merge pull request #135 from storytold/feat/unit-rows
- change: Merge pull request #137 from storytold/sync/pdfcraft-1142-bn-ur
- change: Merge pull request #138 from storytold/sync/pdfcraft-5735-ta
- change: Merge pull request #139 from storytold/sync/pdfcraft-3495-dv
- change: Merge pull request #141 from storytold/sync/pdfcraft-open-prs
- change: Merge pull request #142 from storytold/sync/pdfcraft-162
- …and 280 more
Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
storytold/craft-i18n was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 7 November 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 7d5030f59fc34697af0ffef5afb17cc4afe044c0 — the exact code this score is about.
- Scored under rubric-2026.11.2 — the same rubric and the same method as every other entry in this index.
- Measured by Canine Code Analyzer (cca.canine.dev) using cca measure-2026.11.3+preprod-5f8314471808.