Commit graph

161 commits

Author SHA1 Message Date
eb7eea2159 Merge pull request '[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find ONE feature...' (#66) from agent/read---spec-code-core-go-i18n-rfc-md-ful into dev
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
2026-04-02 00:40:50 +00:00
Virgil
38bda00c92 fix(i18n): add helper fallback semantics
All checks were successful
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
22d4295cd8 feat(reversal): recognise French elided partitive articles
Some checks failed
Security Scan / security (push) Successful in 12s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:36:56 +00:00
Virgil
8fec2bc49f fix(i18n): make default handlers idempotent
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m30s
Avoid duplicating the built-in handler chain when WithDefaultHandlers is applied to a service that already has the defaults.

\nCo-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:32:16 +00:00
Virgil
be1cf9bba8 fix(i18n): preserve structured missing-key args
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m31s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:28:29 +00:00
Virgil
a1a7b2d6fe fix(i18n): preserve phrase display in counts
All checks were successful
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 1m36s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:23:51 +00:00
Virgil
43c8a872ca feat(reversal): recognise French partitive articles
Some checks failed
Security Scan / security (push) Successful in 12s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:20:10 +00:00
Virgil
ed3094a7a7 fix(i18n): report missing-key call sites
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m27s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:16:53 +00:00
Virgil
e8353f68f1 feat(i18n): add definite article composition
All checks were successful
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
eb006ab546 feat(validate): expand french article prompt
Some checks are pending
Test / test (push) Waiting to run
Security Scan / security (push) Successful in 11s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:09:59 +00:00
Virgil
3d03213587 fix(i18n): infer French plural articles
All checks were successful
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
eba973c28e feat(i18n): add service location context
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m30s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 00:03:23 +00:00
Virgil
9502bef6da feat(i18n): add current debug getter
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m23s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:59:26 +00:00
Virgil
7e827ab3ce feat(i18n): expose current formality getter
All checks were successful
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m17s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:56:57 +00:00
Virgil
6bf02fd0bd feat(i18n): add location to translation context
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m23s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:53:16 +00:00
Virgil
2f0f4c3f75 fix(i18n): preserve exact word displays in counts
All checks were successful
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m26s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:49:34 +00:00
Virgil
5511aba529 fix(i18n): preserve dotted filenames in title casing
All checks were successful
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
Some checks failed
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
0178ded8fa fix(service): make Raw use direct lookup only
All checks were successful
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m21s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:38:35 +00:00
Virgil
524e7eac8b feat(validate): localise article validation prompts
All checks were successful
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 1m23s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:34:03 +00:00
Virgil
d90dd083f2 fix(grammar): honour word display forms in count handler
All checks were successful
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m21s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:30:11 +00:00
Virgil
08149135c7 feat(reversal): recognise French contracted articles
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:26:58 +00:00
Virgil
d0e1312abf feat(language): add Welsh plural rules
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Successful in 1m7s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:24:12 +00:00
Virgil
e6c1b1f384 feat(grammar): expose relative time helpers in templates
All checks were successful
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
2c2ab77009 feat(i18n): resolve subject location variants
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 1m16s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:19:10 +00:00
Virgil
3eb508de82 fix(grammar): select article from rendered word
All checks were successful
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
Some checks failed
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
460d9e8dd6 fix(reversal): include contraction auxiliaries in fallback signals
All checks were successful
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m8s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:08:59 +00:00
Virgil
277445cc5d fix(service): re-detect registered locales after init
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m17s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:06:02 +00:00
Virgil
91a1b2ece2 feat(i18n): localise French relative time
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 1m16s
Add month and year forms to the French relative-time table and cover them with a regression test.\n\nCo-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 23:01:10 +00:00
Virgil
5b32ed3e33 feat(time): add month and year relative formatting
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:57:55 +00:00
Virgil
891953d445 feat(time): accept month and year ago units
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 1m12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:55:49 +00:00
Virgil
691663bca4 feat(i18n): accept plural ago units
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:45:32 +00:00
Virgil
bc0ec5129b feat(i18n): add lang shorthand
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 1m7s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:42:36 +00:00
Virgil
97cffe8dbd feat(i18n): add prompt shorthand
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m11s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:38:31 +00:00
Virgil
bf47180828 feat(grammar): preserve exact word forms
All checks were successful
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
945070c0da feat(i18n): respect subject counts in plural resolution
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:30:32 +00:00
Virgil
742def991d feat(i18n): support French plural articles
Some checks are pending
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
793f5f902c feat(i18n): localise count handler output
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 1m7s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 22:23:25 +00:00
Virgil
2c7175b892 feat(i18n): generalise French elision contractions
All checks were successful
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
e71280189b feat(reversal): support french typographic elision
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m0s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 09:41:58 +00:00
Virgil
18cc20ff7b feat(i18n): add seconds granularity to TimeAgo
All checks were successful
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m4s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 09:28:23 +00:00
Virgil
81e99c67ea feat(i18n): honour locale singular noun forms
All checks were successful
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
514bc6bd83 feat(i18n): allow grammar funcs in message templates
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m0s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 08:54:27 +00:00
Virgil
71e0049622 feat(i18n): render context extras in templates
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m1s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 08:47:09 +00:00
Virgil
87557b66e4 feat(i18n): load registered locales during init
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m2s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 08:17:37 +00:00
Virgil
02d9811918 feat(i18n): handle acronym articles
All checks were successful
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
c0ebc16d97 feat(i18n): load corpus priors for disambiguation
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 58s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 07:24:57 +00:00
Virgil
efbea846b6 feat(i18n): respect verb base overrides
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 55s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 07:13:52 +00:00
Virgil
caec3ad026 feat(i18n): allow bulk handler registration
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 49s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 07:07:14 +00:00