Virgil
f487e427e9
chore(i18n): align public API with AX
...
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 07:35:27 +00:00
Virgil
a14fb38579
refactor(i18n): use count helper for singular fallback
...
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 2m18s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 11:21:03 +00:00
Virgil
63f7e3e6cc
fix(i18n): guard numeric handler fallthrough
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 09:12:37 +00:00
Virgil
c0dafc927d
fix(i18n): preserve fallback translations in empty handlers
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 09:03:26 +00:00
Virgil
a3167d4cc9
fix(i18n): avoid mutating handler slices
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:42:26 +00:00
Virgil
440f96fc16
refactor(i18n): align core primitives with ax conventions
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:37:58 +00:00
Virgil
79f23264ef
fix(i18n): ignore nil handlers
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:33:52 +00:00
Virgil
c21afd4263
fix(service): accept string maps in translation lookups
...
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 1m59s
Support map[string]string inputs for translation-context fields, extra lookup suffixes, and missing-key payloads, plus matching handler coverage.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:49:25 +00:00
Virgil
6758585c36
feat(i18n): accept structured handler args
...
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m45s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:58:46 +00:00
Virgil
01bb75947c
feat(handler): pluralise locale noun phrases
...
Security Scan / security (push) Successful in 13s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:22:10 +00:00
Virgil
3b2f6ec2ec
feat(i18n): accept subjects in namespace handlers
...
Security Scan / security (push) Successful in 11s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 01:41:43 +00:00
Virgil
a1a7b2d6fe
fix(i18n): preserve phrase display in counts
...
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
2f0f4c3f75
fix(i18n): preserve exact word displays in counts
...
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
d90dd083f2
fix(grammar): honour word display forms in count handler
...
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
793f5f902c
feat(i18n): localise count handler output
...
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
Claude
c4ef1e6205
feat: upgrade to core v0.8.0-alpha.1, replace banned stdlib imports
...
Security Scan / security (push) Successful in 8s
Test / test (push) Successful in 49s
Replace fmt, errors, strings, encoding/json with Core primitives
across 20 files. Keep strings.Fields/CutPrefix. No translation
files modified.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 05:35:51 +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