Commit Graph

6 Commits

Author SHA1 Message Date
Jakub Zych
da8828ef38 feat(09-03): localize form schemas and resolve dropdown options
- Cached schemas stay source-key IR and each response carries its own meta.locale
- YAML option maps keep declaration order and scalar type; method options call DropdownOptions and fail boot without a provider
2026-09-24 18:21:59 +02:00
Jakub Zych
31634f706f feat(07-07): localize lagoon validation with Laravel-shaped Polish messages
Replay of the user-api corpus needs lagoon::validate.* catalogs and
underscore-to-space attribute names so Go 422 bodies match Winter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 23:56:58 +02:00
Jakub Zych
918e941e69 test(04-04): close translation lookup and catalog boundary coverage
- Cover nested groups, malformed paths, invalid pipes, and compass locale
- Name plugin, file, and key on activation catalog failures
- Prove hello activation reads the translator through towel.WithLocale

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:10:29 +02:00
Jakub Zych
8a4e0ef79b feat(04-02): apply locale fallback and missing-key logging
- Resolve pl-PL then parent then app.fallback_locale then the raw key
- Read towel.Locale from request context and default app.locale/fallback to en
- Log each missing key once outside production and never log parameters

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:52:42 +02:00
Jakub Zych
6d8786a2af feat(04-02): select CLDR and Laravel plural forms with PHP parameters
- Use go-i18n only to pick a category label, then substitute :name/:Name/:NAME
- Treat YAML maps as plurals when all keys are locale CLDR categories
- Parse pipe strings with {n} and [a,b]/[a,*] conditions at catalog load

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:51:15 +02:00
Jakub Zych
f824e55c81 feat(04-02): load namespaced translations from embedded plugins
- Walk HasLang FS for lang/<locale>/<group>.yaml and flatten nested keys
- Publish one phrasebook.Translator before Boot with en/en defaults
- Hello plugin resolves en/pl vendor.plugin::group.key after Activate

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:47:45 +02:00