Commit graph

17 commits

Author SHA1 Message Date
Virgil
f487e427e9 chore(i18n): align public API with AX
Some checks are pending
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
Some checks failed
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
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-02 01:41:43 +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
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
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
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
Claude
c4ef1e6205 feat: upgrade to core v0.8.0-alpha.1, replace banned stdlib imports
All checks were successful
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