mrlang

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2024 License: Apache-2.0 Imports: 9 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseAcceptLanguage

func ParseAcceptLanguage(s string) []string

ParseAcceptLanguage - извлечение данных о языках. Sample Accept-Language: ru;q=0.9, fr-CH, fr;q=0.8, en;q=0.7, *;q=0.5

func WithContext added in v0.7.1

func WithContext(ctx context.Context, locale *Locale) context.Context

WithContext - возвращает указанный контекст с обогащённый объектом Locale.

Types

type Dictionary added in v0.6.0

type Dictionary struct {
	// contains filtered or unexported fields
}

Dictionary - справочник объектов указанного типа на конкретном языке.

func (*Dictionary) ItemByID added in v0.6.0

func (d *Dictionary) ItemByID(id int) DictionaryItemAttrs

ItemByID - возвращает объект с его атрибутами по ID.

func (*Dictionary) ItemByKey added in v0.6.0

func (d *Dictionary) ItemByKey(key string) DictionaryItemAttrs

ItemByKey - возвращает объект с его атрибутами по ключу (строковому ID).

func (*Dictionary) RegisteredItems added in v0.6.0

func (d *Dictionary) RegisteredItems() []string

RegisteredItems - возвращает список ключей зарегистрированных объектов.

type DictionaryItemAttrs added in v0.6.0

type DictionaryItemAttrs map[string]string

DictionaryItemAttrs - список имён атрибутов и их значений.

func (DictionaryItemAttrs) Attr added in v0.6.0

func (a DictionaryItemAttrs) Attr(name, defaultText string) string

Attr - возвращает значение атрибута по его имени или defaultText если имя не найдено.

func (DictionaryItemAttrs) RegisteredAttrs added in v0.6.0

func (a DictionaryItemAttrs) RegisteredAttrs() []string

RegisteredAttrs - возвращает список имён зарегистрированных атрибутов объекта.

type DictionaryMap added in v0.6.0

type DictionaryMap map[string]DictionaryItemAttrs

DictionaryMap - атрибуты объекта на конкретном языке. dictionary-name -> [id -> [attr1 -> text1, attr2 -> text2, ...], ...]

type Locale

type Locale struct {
	// contains filtered or unexported fields
}

Locale - список сообщений и пользовательских ошибок на конкретном языке.

func Ctx added in v0.7.1

func Ctx(ctx context.Context) *Locale

Ctx - возвращает объект Locale из указанного контекста.

func (*Locale) HasErrorCode added in v0.7.1

func (l *Locale) HasErrorCode(code string) bool

HasErrorCode - проверяется зарегистрирован указанный код ошибки в общем справочнике.

func (*Locale) LangCode

func (l *Locale) LangCode() string

LangCode - возвращает код языка.

func (*Locale) LangID added in v0.6.0

func (l *Locale) LangID() uint16

LangID - возвращает ID языка.

func (*Locale) TranslateError

func (l *Locale) TranslateError(code, defaultMessage string, args ...mrmsg.NamedArg) mrmsg.ErrorMessage

TranslateError - возвращает сообщение об ошибке по указанному коду на текущем языке, если код не найден, то возвращает сообщение по умолчанию.

func (*Locale) TranslateMessage

func (l *Locale) TranslateMessage(code, defaultMessage string, args ...mrmsg.NamedArg) string

TranslateMessage - возвращает сообщение по указанному коду на текущем языке, если код не найден, то возвращает сообщение по умолчанию.

func (*Locale) WithContext added in v0.7.1

func (l *Locale) WithContext(ctx context.Context) context.Context

WithContext - возвращает контекст с вложенным в него объектом Locale.

type MultiLangDictionary added in v0.6.0

type MultiLangDictionary struct {
	// contains filtered or unexported fields
}

MultiLangDictionary - мультиязычный справочник объектов одного типа.

func (*MultiLangDictionary) ByLangCode added in v0.6.0

func (d *MultiLangDictionary) ByLangCode(code string) (*Dictionary, error)

ByLangCode - возвращает справочник на указанном языке (code) или ошибку если язык не был найден.

func (*MultiLangDictionary) ByLangID added in v0.6.0

func (d *MultiLangDictionary) ByLangID(id uint16) (*Dictionary, error)

ByLangID - возвращает справочник на указанном языке (ID) или ошибку если язык не был найден.

func (*MultiLangDictionary) Name added in v0.6.0

func (d *MultiLangDictionary) Name() string

Name - название справочника.

func (*MultiLangDictionary) RegisteredLangs added in v0.6.0

func (d *MultiLangDictionary) RegisteredLangs() []string

RegisteredLangs - возвращает список ключей зарегистрированных языков справочника.

type Translator

type Translator struct {
	// contains filtered or unexported fields
}

Translator - загружает и транслирует сообщения, ошибки, справочники объектов на различные языки.

func NewTranslator

func NewTranslator(opts TranslatorOptions) (*Translator, error)

NewTranslator - создаётся объект Translator.

func (*Translator) DefaultLocale added in v0.3.0

func (t *Translator) DefaultLocale() *Locale

DefaultLocale - возвращает языковой объект по умолчанию.

func (*Translator) Dictionary added in v0.6.0

func (t *Translator) Dictionary(name string) (*MultiLangDictionary, error)

Dictionary - возвращает мультиязычный справочник по его имени.

func (*Translator) FindFirstLocale added in v0.1.1

func (t *Translator) FindFirstLocale(langs ...string) *Locale

FindFirstLocale - возвращает первый языковой объект по указанным языковым кодам. Если ни один языковой код не зарегистрирован, то возвращает языковой объект по умолчанию.

func (*Translator) LocaleByCode added in v0.6.0

func (t *Translator) LocaleByCode(lang string) (*Locale, error)

LocaleByCode - возвращает языковой объект по его коду.

func (*Translator) LocaleByID added in v0.6.0

func (t *Translator) LocaleByID(langID uint16) (*Locale, error)

LocaleByID - возвращает языковой объект по его ID.

func (*Translator) RegisteredDictionaries added in v0.6.0

func (t *Translator) RegisteredDictionaries() []string

RegisteredDictionaries - возвращает список имён зарегистрированных мультиязычных справочников.

func (*Translator) RegisteredLocales

func (t *Translator) RegisteredLocales() []string

RegisteredLocales - возвращает список кодов зарегистрированных языков.

type TranslatorOptions

type TranslatorOptions struct {
	DirPath           string
	LangCodes         []string
	DefaultLang       string // optional
	DictionaryDirPath string
	Dictionaries      []string // optional
}

TranslatorOptions - опции для создания Translator.

Jump to

Keyboard shortcuts

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