Skip to content
Snippets Groups Projects
Commit bcd946b4 authored by Danis Kirasirov's avatar Danis Kirasirov
Browse files

wip

parent 72b9c0a4
No related branches found
No related tags found
No related merge requests found
......@@ -194,27 +194,27 @@ func (i *Item) ToMap() map[string]interface{} {
}
// SetData устанавливает перевод в нужное поле записи
func (i *Item) SetData(dt map[string]interface{}, localeID string) {
if localeID == "" || localeID == locales.DefaultID {
func (i *Item) SetData(dt map[string]interface{}, locale *locales.Locale) {
if locale == nil || locale.IsDefault() {
i.Data = dt
return
}
if i.Translations == nil {
i.Translations = map[string]map[string]interface{}{localeID: dt}
if !data.Contains(localeID, i.TranslationsIDs) {
i.TranslationsIDs = append(i.TranslationsIDs, localeID)
i.Translations = map[string]map[string]interface{}{locale.ID: dt}
if !data.Contains(locale.ID, i.TranslationsIDs) {
i.TranslationsIDs = append(i.TranslationsIDs, locale.ID)
}
}
return
}
// GetData возвращает полные локализованные данные записи
func (i *Item) GetData(localeID string) map[string]interface{} {
if localeID == "" || localeID == locales.DefaultID {
func (i *Item) GetData(locale *locales.Locale) map[string]interface{} {
if locale == nil || locale.IsDefault() {
return i.Data
}
if i.Translations != nil {
return i.Translations[localeID]
return i.Translations[locale.ID]
}
return nil
}
......
......@@ -8,7 +8,7 @@ import (
)
const (
DefaultID = "default" // Deprecated // идентификатор локали по умолчанию
DefaultID = "default" // Алиас идентификатора локали по умолчанию
DefaultDirection = "ltr" // DefaultDirection направление письма по умолчанию
)
......
......@@ -50,6 +50,11 @@ func NewLocalizer(cfg Config) *Localizer {
for _, l := range cfg.Locales {
loc.localesKV[l.ID] = l
// Для дефолтной локали добавляется алиас DefaultID
if l.IsDefault() && l.ID != locales.DefaultID {
loc.localesKV[locales.DefaultID] = l
}
}
return loc
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment