i18n

package
v0.0.0-...-ba67853 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2025 License: AGPL-3.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadLocalize

func LoadLocalize(path string, localizer Localizer) (map[string]any, error)

func RegisterAfterTranslate

func RegisterAfterTranslate(fn AfterTranslate)

func RegisterBeforeTranslate

func RegisterBeforeTranslate(fn BeforeTranslate)

func RegisterLocalizer

func RegisterLocalizer(name string, v Localizer)

func RegisterTransctor

func RegisterTransctor(tt TransacteType, t Translator)

func Translate

func Translate(c *TransacteConfig) error

Types

type AfterTranslate

type AfterTranslate func(lang *Language, key, source, dest string)

type BeforeTranslate

type BeforeTranslate func(lang *Language, key, source, dest string) (skip bool)

type DeeplFreeCommonJobParams

type DeeplFreeCommonJobParams struct {
	//RegionalVariant string `json:"regionalVariant"`
	Mode        string `json:"mode"`
	BrowserType int    `json:"browserType"`
	TextType    string `json:"textType"`
}

type DeeplFreeJob

type DeeplFreeJob struct {
	Kind               string                   `json:"kind"`
	Sentences          []*DeeplFreeJobSentences `json:"sentences"`
	RawEnContextBefore []string                 `json:"raw_en_context_before"`
	RawEnContextAfter  []string                 `json:"raw_en_context_after"`
	//PreferredNumBeams  int                      `json:"preferred_num_beams"`
	Quality string `json:"quality"`
}

type DeeplFreeJobSentences

type DeeplFreeJobSentences struct {
	Text   string `json:"text"`
	Id     int    `json:"id"`
	Prefix string `json:"prefix"`
}

type DeeplFreeLang

type DeeplFreeLang struct {
	TargetLang         string                   `json:"target_lang"`
	Preference         *DeeplFreeLangPreference `json:"preference"`
	SourceLangComputed string                   `json:"source_lang_computed"`
}

type DeeplFreeLangPreference

type DeeplFreeLangPreference struct {
	Weight  map[string]any `json:"weight"`
	Default string         `json:"default"`
}

type DeeplFreeParams

type DeeplFreeParams struct {
	Jobs            []*DeeplFreeJob           `json:"jobs"`
	Lang            *DeeplFreeLang            `json:"lang"`
	Priority        int                       `json:"priority"`
	CommonJobParams *DeeplFreeCommonJobParams `json:"commonJobParams"`
}

type DeeplFreeReq

type DeeplFreeReq struct {
	Jsonrpc string           `json:"jsonrpc"`
	Method  string           `json:"method"`
	Params  *DeeplFreeParams `json:"params"`
}

type DeeplFreeResp

type DeeplFreeResp struct {
	Jsonrpc string           `json:"jsonrpc"`
	Result  *DeeplFreeResult `json:"result"`
}

type DeeplFreeResult

type DeeplFreeResult struct {
	Translations          []*DeeplFreeResultTranslations `json:"translations"`
	TargetLang            string                         `json:"target_lang"`
	SourceLang            string                         `json:"source_lang"`
	SourceLangIsConfident bool                           `json:"source_lang_is_confident"`
	DetectedLanguages     struct {
	} `json:"detectedLanguages"`
}

type DeeplFreeResultTranslations

type DeeplFreeResultTranslations struct {
	Beams   []*DeeplFreeResultTranslationsBeams `json:"beams"`
	Quality string                              `json:"quality"`
}

type DeeplFreeResultTranslationsBeams

type DeeplFreeResultTranslationsBeams struct {
	Sentences  []*DeeplFreeResultTranslationsSentences `json:"sentences"`
	NumSymbols int                                     `json:"num_symbols"`
}

type DeeplFreeResultTranslationsSentences

type DeeplFreeResultTranslationsSentences struct {
	Text string `json:"text"`
	Ids  []int  `json:"ids"`
}

type Language

type Language struct {
	Lang string
	Tag  language.Tag
}

func MustParseLanguage

func MustParseLanguage(lang string) *Language

func ParseLanguage

func ParseLanguage(lang string) (*Language, error)

func (*Language) GoString

func (l *Language) GoString() string

func (*Language) String

func (l *Language) String() string

type Localizer

type Localizer interface {
	MarshalToFile(path string, v any) (err error)
	UnmarshalFromFile(path string, v any) (err error)
}

func GetLocalizer

func GetLocalizer(name string) (Localizer, bool)

type LocalizerHandle

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

func NewLocalizerHandle

func NewLocalizerHandle(marshal func(path string, v any) (err error), unmarshal func(path string, v any) (err error)) *LocalizerHandle

func (*LocalizerHandle) MarshalToFile

func (p *LocalizerHandle) MarshalToFile(path string, v any) (err error)

func (*LocalizerHandle) UnmarshalFromFile

func (p *LocalizerHandle) UnmarshalFromFile(path string, v any) (err error)

type TranCache

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

func NewTranCache

func NewTranCache(filepath string) (*TranCache, error)

func (*TranCache) Begin

func (p *TranCache) Begin() (*TranTx, error)

func (*TranCache) Close

func (p *TranCache) Close() error

type TranTx

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

func (*TranTx) Commit

func (p *TranTx) Commit() error

func (*TranTx) NeedTran

func (p *TranTx) NeedTran(lang string, key string, value any) (bool, error)

func (*TranTx) Rollback

func (p *TranTx) Rollback() error

func (*TranTx) Update

func (p *TranTx) Update(lang string, key string, value any) error

type TransacteConfig

type TransacteConfig struct {
	SrcFile            string
	SrcLang            *Language
	Langs              []*Language
	OverwriteKeyPrefix []string
	Overwrite          bool

	AutoTran *state.CfgI18nAutoTran

	Localizer  Localizer
	Translator Translator
}

type TransacteType

type TransacteType string
const (
	TransacteTypeGoogleFree TransacteType = "google-free"
	TransacteTypeDeeplFree  TransacteType = "deepl-free"
)

type TransacterDeeplFree

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

func NewTransacterDeeplFree

func NewTransacterDeeplFree() *TransacterDeeplFree

func (*TransacterDeeplFree) Translate

func (p *TransacterDeeplFree) Translate(srcLang, dstLang language.Tag, key string) (string, error)

type TransacterGoogleFree

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

func NewTransacterGoogleFree

func NewTransacterGoogleFree() *TransacterGoogleFree

func (*TransacterGoogleFree) Translate

func (p *TransacterGoogleFree) Translate(srcLang, dstLang language.Tag, key string) (string, error)

type TranslaterHandler

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

func NewTranslaterHandler

func NewTranslaterHandler(handler func(srcLang, dstLang language.Tag, key string) (string, error)) *TranslaterHandler

func (*TranslaterHandler) Translate

func (p *TranslaterHandler) Translate(srcLang, dstLang language.Tag, key string) (string, error)

type Translator

type Translator interface {
	Translate(srcLang, dstLang language.Tag, key string) (string, error)
}

func GetTranslator

func GetTranslator(tt TransacteType) (Translator, bool)

Jump to

Keyboard shortcuts

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