i18n: parse sessions.csv only (#18702)

This commit is contained in:
andig 2025-02-10 14:08:29 +01:00 • committed by GitHub
parent 7aec58bc91
commit 3916496d64
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 2 deletions

2
go.mod
View file

@ -70,7 +70,7 @@ require (
github.com/mlnoga/rct v0.1.2-0.20250202175314-91abcbf32e53
github.com/muka/go-bluetooth v0.0.0-20240701044517-04c4f09c514e
github.com/mxschmitt/golang-combinations v1.2.0
github.com/nicksnyder/go-i18n/v2 v2.4.1
github.com/nicksnyder/go-i18n/v2 v2.5.1
github.com/olekukonko/tablewriter v0.0.5
github.com/philippseith/signalr v0.6.3
github.com/prometheus-community/pro-bing v0.6.0

View file

@ -32,9 +32,26 @@ func Init() error {
}
for _, d := range dir {
if _, err := Bundle.LoadMessageFileFS(assets.I18n, d.Name()); err != nil {
var data map[string]map[string]map[string]any
if _, err := toml.DecodeFS(assets.I18n, d.Name(), &data); err != nil {
return fmt.Errorf("loading locales failed: %w", err)
}
// load sessions.csv only
if sessions := data["sessions"]; sessions != nil && len(sessions["csv"]) != 0 {
b, err := toml.Marshal(map[string]any{
"sessions": map[string]any{
"csv": sessions["csv"],
},
})
if err != nil {
return fmt.Errorf("marshal session.csv failed: %w", err)
}
if _, err := Bundle.ParseMessageFileBytes(b, d.Name()); err != nil {
return fmt.Errorf("loading locales failed: %w", err)
}
}
}
Language, err = jibber_jabber.DetectLanguage()