Skip to content
Snippets Groups Projects
Commit 1c6ee952 authored by Pavel Antonov's avatar Pavel Antonov :asterisk:
Browse files

Merge branch 'feature/PRXS-2647-ItemsLocales' into 'master'

Исправлен текст возврата ошибок при локализации

See merge request perxis/perxis-go!294
parents 8f8f8dcd ce58d1f0
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,11 @@ import ( ...@@ -11,6 +11,11 @@ import (
"git.perx.ru/perxis/perxis-go/pkg/schema/walk" "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 { type Localizer struct {
schema *schema.Schema schema *schema.Schema
localesKV map[string]*locales.Locale localesKV map[string]*locales.Locale
...@@ -132,11 +137,11 @@ func (l *Localizer) locale(localeID string) (loc *locales.Locale, err error) { ...@@ -132,11 +137,11 @@ func (l *Localizer) locale(localeID string) (loc *locales.Locale, err error) {
} }
if !l.allowDisabled && loc.Disabled { 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 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 return
...@@ -156,12 +161,12 @@ func (l *Localizer) LocaleID() string { ...@@ -156,12 +161,12 @@ func (l *Localizer) LocaleID() string {
func (l *Localizer) getTargetAndFallBackLocales() (target, fallback *locales.Locale, err error) { func (l *Localizer) getTargetAndFallBackLocales() (target, fallback *locales.Locale, err error) {
if target, err = l.locale(l.localeID); err != nil { 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(target.Fallback); err != nil {
if fallback, err = l.locale(locales.DefaultID); 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 return
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment