Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Locale ¶
type Locale int16
const ( LocaleNone Locale = iota LocaleSQ // Albanian LocaleAR // Arabic LocaleAZ // Azerbaijani LocaleBS // Bosnian LocaleBG // Bulgarian LocaleZH // Chinese LocaleHR // Croatian LocaleCS // Czech LocaleDA // Danish LocaleNL // Dutch LocaleEN // English LocaleET // Estonian LocaleFI // Finnish LocaleFR // French LocaleKA // Georgian LocaleDE // German LocaleEL // Greek LocaleHE // Hebrew LocaleHU // Hungarian LocaleID // Indonesian LocaleJA // Japanese LocaleKK // Kazakh LocaleKO // Korean LocaleLV // Latvian LocaleLT // Lithuanian LocaleMK // Macedonian LocaleNO // Norwegian LocalePL // Polish LocalePT // Portuguese LocaleRO // Romanian LocaleRU // Russian LocaleSR // Serbian LocaleSK // Slovak LocaleSL // Slovenian LocaleES // Spanish LocaleSV // Swedish LocaleTH // Thai LocaleTR // Turkish LocaleUK // Ukrainian LocaleVI // Vietnamese LocaleIT // Italian )
func ParseLocale ¶
ParseLocale returns a Locale enum from a language code (ISO-639-1). Returns (LocaleNone, false) for unknown codes.
func ParseLocaleList ¶
ParseLocaleList converts "en,ru,uk" into []Locale.
type TranslatableEntity ¶
type TranslatableEntity interface {
TranslationEntityID() int
}
type TranslateField ¶
func (TranslateField) Get ¶
func (tf TranslateField) Get(locale Locale) string
func (TranslateField) IsEmpty ¶
func (tf TranslateField) IsEmpty() bool
type Translation ¶
type TranslationRepository ¶
type TranslationRepository interface {
GetTranslations(
ctx context.Context,
locales []Locale,
entity string,
entityIDs []int,
) ([]Translation, error)
MassCreate(
ctx context.Context,
translations []Translation,
) error
MassDelete(
ctx context.Context,
Entity string,
EntityIDs []int,
Fields []string,
Locales []Locale,
) error
MassCreateOrUpdate(
ctx context.Context,
translations []Translation,
) error
}
func NewTranslationRepository ¶
func NewTranslationRepository(db *sqlx.DB) TranslationRepository
type Translator ¶
type Translator[T TranslatableEntity] interface { LoadTranslations(ctx context.Context, locales []Locale, entities []T) ([]T, error) SaveTranslations(ctx context.Context, entities []T) error DeleteTranslations( ctx context.Context, Entity string, EntityIDs []int, Fields []string, Locales []Locale, ) error SupportedLocales() []Locale }
func NewTranslator ¶
func NewTranslator[T TranslatableEntity]( locales []Locale, translationRepository TranslationRepository, ) Translator[T]
Click to show internal directories.
Click to hide internal directories.