Commit graph

59 commits

Author SHA1 Message Date
Virgil
0c26ef0caa refactor(i18n): add service snapshot stringers
Some checks are pending
Test / test (push) Waiting to run
Security Scan / security (push) Successful in 21s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:30:28 +00:00
Virgil
b8c5b77d88 feat(i18n): expose handler type names in state snapshots
Some checks failed
Security Scan / security (push) Successful in 14s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:21:13 +00:00
Virgil
99412a64ea fix(i18n): make service nil-safe
All checks were successful
Security Scan / security (push) Successful in 25s
Test / test (push) Successful in 1m20s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 14:02:13 +00:00
Virgil
1fe523b921 fix(i18n): preserve exact namespace matches
Some checks failed
Security Scan / security (push) Successful in 17s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 13:53:26 +00:00
Virgil
d868f21ab2 feat(i18n): enrich service state snapshot
All checks were successful
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 2m30s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 13:06:07 +00:00
Virgil
730b6166a1 refactor(i18n): enrich service state snapshot
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 2m31s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 13:02:28 +00:00
Virgil
d8355d241f feat(i18n): add printable service state snapshot
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 12:55:39 +00:00
Virgil
cdc396269c fix(i18n): accept prefixed prompt and lang keys
All checks were successful
Security Scan / security (push) Successful in 15s
Test / test (push) Successful in 2m20s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 12:52:13 +00:00
Virgil
9d4af96d3d feat(i18n): add service state snapshot aliases
Some checks failed
Security Scan / security (push) Successful in 18s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 12:48:49 +00:00
Virgil
158f71443c test(i18n): lock in current-state copy semantics
All checks were successful
Security Scan / security (push) Successful in 14s
Test / test (push) Successful in 2m29s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 12:43:41 +00:00
Virgil
24eaadda8a feat(i18n): add current prompt alias
All checks were successful
Security Scan / security (push) Successful in 14s
Test / test (push) Successful in 2m29s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 12:31:00 +00:00
Virgil
e1f496f296 feat(i18n): add service prompt and language helpers
All checks were successful
Security Scan / security (push) Successful in 14s
Test / test (push) Successful in 2m29s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 12:27:21 +00:00
Virgil
1ae9ada1fd feat(i18n): add current text direction aliases
All checks were successful
Security Scan / security (push) Successful in 14s
Test / test (push) Successful in 2m27s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 12:10:30 +00:00
Virgil
849428ab10 feat(i18n): add plural category alias symmetry
All checks were successful
Security Scan / security (push) Successful in 14s
Test / test (push) Successful in 2m22s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 11:52:32 +00:00
Virgil
8551af74be feat(i18n): add current language alias
All checks were successful
Security Scan / security (push) Successful in 22s
Test / test (push) Successful in 2m27s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 11:48:29 +00:00
Virgil
e9f06342a7 feat(i18n): add rtl aliases and definite article template func
All checks were successful
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
7f09ee550f feat(i18n): add current RTL and handler aliases
Some checks are pending
Test / test (push) Waiting to run
Security Scan / security (push) Successful in 19s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 11:26:14 +00:00
Virgil
9617878f5a feat(i18n): add service current-state aliases
Some checks failed
Security Scan / security (push) Waiting to run
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:51:20 +00:00
Virgil
02339893ee feat(i18n): add handler chain replacement helpers
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 09:40:20 +00:00
Virgil
58924e1710 feat(i18n): add initial language constructor option
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 09:36:34 +00:00
Virgil
3927860245 feat(i18n): add service constructor aliases
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 09:16:06 +00:00
Virgil
8a23f26a47 fix(i18n): merge duplicate loader languages
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:36:33 +00:00
Virgil
98a0748143 fix(i18n): improve unsupported language errors
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:16:00 +00:00
Virgil
f2d2f2e5fd fix(i18n): fail empty loader registrations
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:03:56 +00:00
Virgil
487d897450 refactor(i18n): sort available language output
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:46:10 +00:00
Virgil
f091340da3 fix(service): copy handler slices in options
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 07:10:49 +00:00
Virgil
d95218917e fix(i18n): guard against nil loaders 2026-04-02 07:07:42 +00:00
Virgil
6810b352c5 fix(service): apply default location to contextual lookups
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:49:28 +00:00
Virgil
c4b91d6585 fix(i18n): normalise loader language tags
Some checks failed
Security Scan / security (push) Successful in 15s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:31:35 +00:00
Virgil
956e90aa45 fix(i18n): canonicalise fallback language tags
Some checks failed
Security Scan / security (push) Successful in 20s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:22:07 +00:00
Virgil
7e0f6cb13a fix(i18n): normalise fallback language tags
All checks were successful
Security Scan / security (push) Successful in 23s
Test / test (push) Successful in 2m14s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:17:36 +00:00
Virgil
3c32b7a7ef fix(i18n): release raw missing-key lock
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 06:13:20 +00:00
Virgil
3f6c06add5 fix(i18n): release service lock before handler callbacks
Some checks are pending
Test / test (push) Waiting to run
Security Scan / security (push) Successful in 13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:10:14 +00:00
Virgil
885933626d fix(i18n): register runtime messages as languages
Some checks failed
Security Scan / security (push) Successful in 14s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:06:45 +00:00
Virgil
c60a5e0474 fix(i18n): flag missing translations in Translate
Some checks are pending
Test / test (push) Waiting to run
Security Scan / security (push) Successful in 13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 05:40:52 +00:00
Virgil
bae8b1b788 fix(i18n): fall back to base fallback language tags
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 2m1s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 05:31:48 +00:00
Virgil
4d672f8fb6 fix(i18n): base fallback for common keys
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 2m6s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:52:39 +00:00
Virgil
7e931ed08f feat(i18n): implement core translator contract
All checks were successful
Security Scan / security (push) Successful in 13s
Test / test (push) Successful in 2m5s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:49:33 +00:00
Virgil
d5060197f5 feat(i18n): add base language message fallback
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 04:41:24 +00:00
Virgil
a2e7f01cbb feat(i18n): expose fallback language accessors
Some checks failed
Security Scan / security (push) Successful in 9s
Test / test (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:20:04 +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
e62aac03cf feat(i18n): support nested map extras
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 03:07:51 +00:00
Virgil
3cc9d50764 feat(i18n): support map context extras
All checks were successful
Security Scan / security (push) Successful in 12s
Test / test (push) Successful in 1m40s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:25:45 +00:00
Virgil
2957268629 Apply default location to map translations
Some checks failed
Security Scan / security (push) Successful in 11s
Test / test (push) Has been cancelled
2026-04-02 02:09:50 +00:00
Virgil
521471e5ec feat(service): support extra context lookup variants
All checks were successful
Security Scan / security (push) Successful in 10s
Test / test (push) Successful in 1m40s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:02:46 +00:00
Virgil
b2f7157cb9 fix(loader): preserve partial verb forms
All checks were successful
Security Scan / security (push) Successful in 11s
Test / test (push) Successful in 1m37s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 01:58:06 +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
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
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
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