i18n

package
v0.0.0-...-495e01f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrLocaleAlreadyExist = util.SilentWrap{Message: "lang already exists", Err: util.ErrAlreadyExist}
	ErrUncertainArguments = util.SilentWrap{Message: "arguments to i18n should not contain uncertain slices", Err: util.ErrInvalidArgument}
)
View Source
var DefaultLocales = NewLocaleStore()

Functions

func Format

func Format(format string, args ...any) (msg string, err error)

Format formats provided arguments for a given translated message

func ResetDefaultLocales

func ResetDefaultLocales()

ResetDefaultLocales resets the current default locales NOTE: this is not synchronized

Types

type Locale

type Locale interface {
	// Tr translates a given key and arguments for a language
	Tr(trKey string, trArgs ...any) string
	// Has reports if a locale has a translation for a given key
	Has(trKey string) bool
}

func GetLocale

func GetLocale(lang string) (Locale, bool)

GetLocales returns the locale from the default locales

type LocaleStore

type LocaleStore interface {
	io.Closer

	// Tr translates a given key and arguments for a language
	Tr(lang, trKey string, trArgs ...any) string
	// Has reports if a locale has a translation for a given key
	Has(lang, trKey string) bool
	// SetDefaultLang sets the default language to fall back to
	SetDefaultLang(lang string)
	// ListLangNameDesc provides paired slices of language names to descriptors
	ListLangNameDesc() (names, desc []string)
	// Locale return the locale for the provided language or the default language if not found
	Locale(langName string) (Locale, bool)
	// HasLang returns whether a given language is present in the store
	HasLang(langName string) bool
	// AddLocaleByIni adds a new language to the store
	AddLocaleByIni(langName, langDesc string, source, moreSource []byte) error
}

LocaleStore provides the functions common to all locale stores

func NewLocaleStore

func NewLocaleStore() LocaleStore

NewLocaleStore creates a static locale store

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL