Virgil
cc66b3d049
fix(i18n): add explicit article token aliases
...
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 07:24:40 +00:00
Virgil
31d9672a46
fix(i18n): normalise failed action verbs
...
Security Scan / security (push) Successful in 20s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:05:55 +00:00
Virgil
e9f06342a7
feat(i18n): add rtl aliases and definite article template func
...
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 2m23s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 11:37:33 +00:00
Virgil
045a732191
feat(i18n): add short numeric template aliases
...
Security Scan / security (push) Successful in 16s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:58:26 +00:00
Virgil
097c964a3b
feat(i18n): add direct template numeric aliases
...
Test / test (push) Waiting to run
Security Scan / security (push) Successful in 22s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:54:37 +00:00
Virgil
38d2142c67
feat(i18n): add explicit template phrase aliases
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:33:56 +00:00
Virgil
04692a185c
fix(grammar): handle hard-c endings in regular conjugation
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 09:30:20 +00:00
Virgil
cdb06e2eab
fix(i18n): trim padded composition inputs
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:31:47 +00:00
Virgil
92b2f2ce94
feat(i18n): localize failure prefix
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:23:19 +00:00
Virgil
d2017eb6e3
fix(i18n): honour word map in action failures
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:23:49 +00:00
Virgil
78637dc14f
fix(i18n): escape quoted strings
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:44:58 +00:00
Virgil
5449026041
Fix unicode capitalization in plural forms
Security Scan / security (push) Successful in 15s
Test / test (push) Successful in 1m58s
2026-04-02 05:10:36 +00:00
Virgil
c7e5ee8512
feat(i18n): add template alias for numeric shorthand
...
Security Scan / security (push) Successful in 14s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 05:07:09 +00:00
Virgil
1c9cf442b6
feat(i18n): add base language grammar fallback
...
Test / test (push) Waiting to run
Security Scan / security (push) Successful in 12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:37:45 +00:00
Virgil
faaa03bac4
fix(grammar): handle aspirated h elision
...
Security Scan / security (push) Successful in 12s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:29:56 +00:00
Virgil
40e00d13f1
feat(grammar): add lower and upper helpers
...
Security Scan / security (push) Successful in 13s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:14:26 +00:00
Virgil
38bda00c92
fix(i18n): add helper fallback semantics
...
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m32s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:40:37 +00:00
Virgil
e8353f68f1
feat(i18n): add definite article composition
...
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 1m24s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:13:10 +00:00
Virgil
3d03213587
fix(i18n): infer French plural articles
...
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m23s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:07:10 +00:00
Virgil
5511aba529
fix(i18n): preserve dotted filenames in title casing
...
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m22s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:46:01 +00:00
Virgil
9a2abd98fd
feat(i18n): expose prompt and lang template helpers
...
Security Scan / security (push) Successful in 10s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:42:46 +00:00
Virgil
e6c1b1f384
feat(grammar): expose relative time helpers in templates
...
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 1m9s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:21:27 +00:00
Virgil
3eb508de82
fix(grammar): select article from rendered word
...
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:15:41 +00:00
Virgil
a35c406024
feat(grammar): preserve word map entries in article phrases
...
Security Scan / security (push) Successful in 11s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:12:33 +00:00
Virgil
bf47180828
feat(grammar): preserve exact word forms
...
Security Scan / security (push) Successful in 19s
Test / test (push) Successful in 1m13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:34:36 +00:00
Virgil
742def991d
feat(i18n): support French plural articles
...
Test / test (push) Waiting to run
Security Scan / security (push) Successful in 10s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:26:14 +00:00
Virgil
2c7175b892
feat(i18n): generalise French elision contractions
...
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m8s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:20:07 +00:00
Virgil
81e99c67ea
feat(i18n): honour locale singular noun forms
...
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m4s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 09:07:55 +00:00
Virgil
02d9811918
feat(i18n): handle acronym articles
...
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 56s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 07:36:34 +00:00
Virgil
c83329b90a
fix(grammar): handle elided French article phrases
...
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 55s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 06:51:45 +00:00
Virgil
5a95df9947
feat(i18n): expose composite helpers in templates
...
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 53s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 06:30:36 +00:00
Virgil
eb45f9bfb1
feat(i18n): add article phrase template helper
...
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m0s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 06:22:17 +00:00
Virgil
00b512063a
feat(i18n): localise article selection
...
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 59s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 06:07:52 +00:00
Snider
24e60104d1
feat: add grammar table spec and French locale
...
Document full JSON schema for gram.* keys in docs/grammar-table-spec.md.
Add French grammar tables (50 verbs, 24 gendered nouns, signals).
Extend loader to parse article by_gender map. Completes Phase 3.
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:57:22 +00:00
Snider
65cf099517
feat: extend irregular verb coverage and add benchmarks
...
Add 44 irregular verbs (compound, simple, CVC doubling overrides) and
15 benchmark functions across forward composition and reversal engine.
Completes Phase 1 hardening tasks.
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:41:29 +00:00
Snider
f0c4bebfb3
feat(grammar): add dual-class verb/noun entries and contractions
...
Add test, check, file as verbs and run, build as nouns so the
tokeniser can detect them in both grammatical roles. Add 15
contractions to verb_auxiliary signal list for dev text support.
Update reversal tests to use noun-only words (branch) in test
phrases to avoid dual-class ambiguity until disambiguation (Task 5).
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:00:42 +00:00
Snider
05d0483fd7
fix(grammar): review fixes for SignalData loading
...
Normalise signal words to lowercase on load (defensive against
mixed-case entries in locale JSON). Strengthen test assertions
with expected counts and spot-checks. Clarify Priors field comment.
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:54:59 +00:00
Snider
cb7404456f
feat(grammar): add SignalData for disambiguation signals
...
Load noun_determiner, verb_auxiliary, and verb_infinitive word lists
from gram.signal in locale JSON. Reserve Priors field for future
corpus-derived per-word disambiguation priors.
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:50:45 +00:00
Claude
e8a87b0f50
feat: grammar-aware i18n module extracted from core
...
Standalone grammar-aware translation engine with:
- 3-tier verb/noun fallback (JSON locale → irregular maps → regular rules)
- 6 built-in i18n.* namespace handlers (label, progress, count, done, fail, numeric)
- Nested en.json with gram/prompt/time/lang sections (no flat command keys)
- CLDR plural rules for 10 languages
- Subject fluent API, number/time formatting, RTL detection
- 55 tests passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 19:51:27 +00:00