From ce58d1f0d7987ee6798fe2850ba7d27a95d70152 Mon Sep 17 00:00:00 2001 From: Alena Petraki <a.petraki@perx.ru> Date: Mon, 22 Jul 2024 14:55:03 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=20=D0=B2=D0=BE?= =?UTF-8?q?=D0=B7=D0=B2=D1=80=D0=B0=D1=82=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BE=D0=BA=20=D0=BF=D1=80=D0=B8=20=D0=BB=D0=BE=D0=BA=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/schema/localizer/localizer.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkg/schema/localizer/localizer.go b/pkg/schema/localizer/localizer.go index 86e43ed4..4cc99d60 100644 --- a/pkg/schema/localizer/localizer.go +++ b/pkg/schema/localizer/localizer.go @@ -11,6 +11,11 @@ import ( "git.perx.ru/perxis/perxis-go/pkg/schema/walk" ) +var ( + ErrLocaleDisabled = errors.New("cannot translate to disabled locale") + ErrLocaleNoPublish = errors.New("cannot translate to locale with disabled publication") +) + type Localizer struct { schema *schema.Schema localesKV map[string]*locales.Locale @@ -132,11 +137,11 @@ func (l *Localizer) locale(localeID string) (loc *locales.Locale, err error) { } if !l.allowDisabled && loc.Disabled { - return nil, errors.New("locale is disabled") + return nil, ErrLocaleDisabled } if !l.allowNoPublished && localeID == l.localeID && loc.NoPublish { // can use non-publishing locale for fallback - return nil, errors.New("localizer not configured for non-publishing locales") + return nil, ErrLocaleNoPublish } return @@ -156,12 +161,12 @@ func (l *Localizer) LocaleID() string { func (l *Localizer) getTargetAndFallBackLocales() (target, fallback *locales.Locale, err error) { if target, err = l.locale(l.localeID); err != nil { - return nil, nil, errors.Wrap(err, "target locale not found or disabled") + return nil, nil, err } if fallback, err = l.locale(target.Fallback); err != nil { if fallback, err = l.locale(locales.DefaultID); err != nil { - return nil, nil, errors.Wrap(err, "fallback locale not found or disabled") + return nil, nil, errors.Wrap(err, "get default locale") } } return -- GitLab