diff --git a/core_service.go b/core_service.go index d86e807..ae9b5c1 100644 --- a/core_service.go +++ b/core_service.go @@ -64,7 +64,7 @@ func NewCoreService(opts ServiceOptions) func(*core.Core) (any, error) { if opts.Language != "" { if langErr := svc.SetLanguage(opts.Language); langErr != nil { - return nil, core.Wrap(langErr, "NewCoreService", core.Sprintf("i18n: invalid language %q", opts.Language)) + return nil, langErr } } diff --git a/hooks_test.go b/hooks_test.go index a4f2b65..e9114f4 100644 --- a/hooks_test.go +++ b/hooks_test.go @@ -298,6 +298,18 @@ func TestNewCoreService_LoadsRegisteredLocales(t *testing.T) { assert.Equal(t, "loaded on core bootstrap", got) } +func TestNewCoreService_InvalidLanguagePreservesSetLanguageError(t *testing.T) { + factory := NewCoreService(ServiceOptions{Language: "es"}) + + _, err := factory(nil) + require.Error(t, err) + + msg := err.Error() + assert.Contains(t, msg, "unsupported language: es") + assert.Contains(t, msg, "available:") + assert.NotContains(t, msg, "invalid language") +} + func TestInit_ReDetectsRegisteredLocales(t *testing.T) { t.Setenv("LANG", "de_DE.UTF-8")