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>
This commit is contained in:
Jakub Zych
2026-09-18 13:51:15 +02:00
parent f824e55c81
commit 6d8786a2af
7 changed files with 500 additions and 11 deletions

4
go.mod
View File

@@ -1,7 +1,6 @@
module git.golem15.com/golem15/summercms
go 1.27.0
toolchain go1.27.0
require (
github.com/fsnotify/fsnotify v1.10.1
@@ -14,10 +13,12 @@ require (
github.com/knadh/koanf/providers/env/v2 v2.0.1
github.com/knadh/koanf/providers/file v1.2.1
github.com/knadh/koanf/v2 v2.3.6
github.com/nicksnyder/go-i18n/v2 v2.6.1
github.com/spf13/cobra v1.10.2
github.com/testcontainers/testcontainers-go v0.44.0
github.com/testcontainers/testcontainers-go/modules/postgres v0.44.0
golang.org/x/term v0.46.0
golang.org/x/text v0.40.0
gorm.io/driver/postgres v1.6.3
gorm.io/gorm v1.31.2
)
@@ -86,6 +87,5 @@ require (
golang.org/x/crypto v0.54.0 // indirect
golang.org/x/sync v0.22.0 // indirect
golang.org/x/sys v0.48.0 // indirect
golang.org/x/text v0.40.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)