Versions in this module Expand all Collapse all v0 v0.2.0 Oct 23, 2026 Changes in this version + const MaxLocaleLen + const MaxLocales + var ErrInvalid = errors.New("translatable: invalid input") type Fallback + func (f *Fallback) LocaleFrom(ctx context.Context) (language.Tag, bool) + type FallbackConfig struct + AnyAvailable bool + Chains map[string][]string + Defaults []language.Tag + LocaleFrom func(ctx context.Context) (language.Tag, bool) + SkipParents bool v0.1.0 Oct 23, 2026 Changes in this version + const CodeRequired + const CodeTooLong + var ErrDuplicateLocale = errors.New("translatable: duplicate locale") + var ErrInvalidLocale = errors.New("translatable: invalid locale") + var ErrValidation = errors.New("translatable: validation failed") + func Key(tag language.Tag) string + func LocaleFrom(ctx context.Context) (language.Tag, bool) + func ParseLocale(s string) (language.Tag, error) + func WithLocale(ctx context.Context, tag language.Tag) context.Context + type Fallback struct + func MustFallback(opts FallbackOptions) *Fallback + func NewFallback(opts FallbackOptions) (*Fallback, error) + func (f *Fallback) AnyAvailable() bool + func (f *Fallback) Chain(want language.Tag) []language.Tag + func (f *Fallback) ChainKeys(want language.Tag) []string + func (f *Fallback) Defaults() []language.Tag + type FallbackOptions struct + AnyAvailable bool + Chains map[string][]string + Defaults []language.Tag + SkipParents bool + type FieldError struct + Code string + Field string + Locale language.Tag + Max int + func (e *FieldError) Error() string + func (e *FieldError) Path() string + func (e *FieldError) Unwrap() error + type FieldErrors []*FieldError + func (es FieldErrors) Error() string + func (es FieldErrors) Unwrap() []error + type Rules struct + MaxLength int + Required []language.Tag + func (r Rules) Validate(field string, t Text) error + type Text struct + func MustText(values map[string]string) Text + func NewText(values map[string]string) (Text, error) + func (t *Text) Delete(tag language.Tag) + func (t *Text) Scan(src any) error + func (t *Text) Set(tag language.Tag, value string) error + func (t *Text) UnmarshalJSON(data []byte) error + func (t Text) Clone() Text + func (t Text) Get(tag language.Tag) (string, bool) + func (t Text) Has(tag language.Tag) bool + func (t Text) IsEmpty() bool + func (t Text) Len() int + func (t Text) Locales() []language.Tag + func (t Text) Map() map[string]string + func (t Text) MarshalJSON() ([]byte, error) + func (t Text) Resolve(want language.Tag, f *Fallback) (string, language.Tag, bool) + func (t Text) ResolveContext(ctx context.Context, f *Fallback) (string, language.Tag, bool) + func (t Text) Value() (driver.Value, error)