Documentation
¶
Index ¶
- Variables
- func GenerateLanguageHeaderTemplatesFromJSON(jsonPath, goPath string) error
- func WritePOFile(path, language string) error
- func WritePOTFile(path string) error
- type Localizer
- type TranslationFileHeader
- type Translator
- func (t *Translator) AddDetails(loc Localizer, key, value string) error
- func (t *Translator) AddLanguage(lang string) error
- func (t *Translator) CheckMissingTranslations() error
- func (t *Translator) Ctl(loc Localizer, ctx, key string, args ...any) string
- func (t *Translator) Ctn(loc Localizer, ctx, singular, plural string, n int) string
- func (t *Translator) Details(loc Localizer) map[string][]string
- func (t *Translator) EnsureLanguage(lang string) error
- func (t *Translator) FuncMap() template.FuncMap
- func (t *Translator) NewLanguage(loc Localizer, headers ...map[string]string) error
- func (t *Translator) PotFile() string
- func (t *Translator) PrefixSeparator() string
- func (t *Translator) ScanFiles(root string) error
- func (t *Translator) SetCTL(loc Localizer, key, ctx, value string) error
- func (t *Translator) SetCTN(loc Localizer, key, plural, ctx string, n int, value string) error
- func (t *Translator) SetDetails(loc Localizer, key, value string) error
- func (t *Translator) SetLanguage(lang string) error
- func (t *Translator) SetPotFile(potFile string)
- func (t *Translator) SetPrefixSeparator(prefix string)
- func (t *Translator) SetRefs(loc Localizer, key string, refs []string) error
- func (t *Translator) SetTL(loc Localizer, key string, value string) error
- func (t *Translator) SetTLN(loc Localizer, key, plural string, n int, value string) error
- func (t *Translator) SetTemplateDir(templateDir string)
- func (t *Translator) SetTranslationsDir(translationsDir string)
- func (t *Translator) TemplateDir() string
- func (t *Translator) Tl(loc Localizer, key string, args ...any) string
- func (t *Translator) Tn(loc Localizer, singular, plural string, n int) string
- func (t *Translator) TranslationsDir() string
- func (t *Translator) Write(loc Localizer) error
Constants ¶
This section is empty.
Variables ¶
var ( ErrorLanguageNotFound = fmt.Errorf("language not found") ErrorLanguageAlreadyExists = fmt.Errorf("language already exists") )
var ( TemplateExtension = ".gohtml" DefaultPotFile = "translations.pot" DefaultPoExtension = ".po" DefaultNoTranslationTL = "*%s*" DefaultNoTranslationTN = "*%s/%s*" DefaultNoTranslationCTL = "*%s/%s*" DefaultNoTranslationCTN = "*%s/%s/%s*" DefaultSeparator = "__." )
var LanguageHeaderTemplates = map[string]TranslationFileHeader{}/* 216 elements not displayed */
Functions ¶
func GenerateLanguageHeaderTemplatesFromJSON ¶ added in v1.2.0
GenerateLanguageHeaderTemplatesFromJSON parses a plurals.json file and generates Go code for LanguageHeaderTemplates
func WritePOFile ¶ added in v1.2.0
WritePOFile creates a PO file for a language with the default header if it does not exist
func WritePOTFile ¶ added in v1.2.0
WritePOTFile creates a POT file with the default header if it does not exist
Types ¶
type Localizer ¶
type Localizer interface {
// GetLocale returns the locale of the localizer, ie. "en_US"
GetLocale() string
}
Localizer interface contains the methods that are needed for the translator
type TranslationFileHeader ¶ added in v1.2.0
type TranslationFileHeader struct {
ProjectID string
ReportMsgidBugsTo string
POTCreationDate string
PORevisionDate string
LastTranslator string
LanguageTeam string
Language string
MIMEVersion string
ContentType string
ContentTransferEncoding string
PluralForms string
}
func DefaultHeader ¶ added in v1.2.0
func DefaultHeader(language string) TranslationFileHeader
DefaultHeader returns a default header for a given language
func GetHeaderForLanguage ¶ added in v1.2.0
func GetHeaderForLanguage(language string) TranslationFileHeader
GetHeaderForLanguage returns a header template for a given language, falling back to DefaultHeader
func (TranslationFileHeader) HeaderString ¶ added in v1.2.0
func (h TranslationFileHeader) HeaderString() string
HeaderString returns the formatted header for a PO/POT file
type Translator ¶
type Translator struct {
// contains filtered or unexported fields
}
func NewTranslator ¶
func NewTranslator(translationsDir, templateDir string) *Translator
func (*Translator) AddDetails ¶
func (t *Translator) AddDetails(loc Localizer, key, value string) error
func (*Translator) AddLanguage ¶
func (t *Translator) AddLanguage(lang string) error
AddLanguage adds a new language to the translator by loading its .po file. Deprecated: use SetLanguage instead
func (*Translator) CheckMissingTranslations ¶
func (t *Translator) CheckMissingTranslations() error
CheckMissingTranslations scans template files for missing translations and logs them.
func (*Translator) Ctl ¶
func (t *Translator) Ctl(loc Localizer, ctx, key string, args ...any) string
Ctl method for handling string translation with context
func (*Translator) Ctn ¶
func (t *Translator) Ctn(loc Localizer, ctx, singular, plural string, n int) string
Ctn method for handling plurals with context
func (*Translator) Details ¶
func (t *Translator) Details(loc Localizer) map[string][]string
Details return the header of the language file
func (*Translator) EnsureLanguage ¶ added in v1.2.0
func (t *Translator) EnsureLanguage(lang string) error
func (*Translator) FuncMap ¶
func (t *Translator) FuncMap() template.FuncMap
func (*Translator) NewLanguage ¶
func (t *Translator) NewLanguage(loc Localizer, headers ...map[string]string) error
func (*Translator) PotFile ¶
func (t *Translator) PotFile() string
func (*Translator) PrefixSeparator ¶
func (t *Translator) PrefixSeparator() string
func (*Translator) ScanFiles ¶
func (t *Translator) ScanFiles(root string) error
func (*Translator) SetCTL ¶
func (t *Translator) SetCTL(loc Localizer, key, ctx, value string) error
func (*Translator) SetDetails ¶
func (t *Translator) SetDetails(loc Localizer, key, value string) error
func (*Translator) SetLanguage ¶ added in v1.2.0
func (t *Translator) SetLanguage(lang string) error
SetLanguage adds a new language to the translator by loading its .po file.
func (*Translator) SetPotFile ¶
func (t *Translator) SetPotFile(potFile string)
func (*Translator) SetPrefixSeparator ¶
func (t *Translator) SetPrefixSeparator(prefix string)
func (*Translator) SetRefs ¶
func (t *Translator) SetRefs(loc Localizer, key string, refs []string) error
func (*Translator) SetTL ¶
func (t *Translator) SetTL(loc Localizer, key string, value string) error
func (*Translator) SetTemplateDir ¶
func (t *Translator) SetTemplateDir(templateDir string)
func (*Translator) SetTranslationsDir ¶
func (t *Translator) SetTranslationsDir(translationsDir string)
func (*Translator) TemplateDir ¶
func (t *Translator) TemplateDir() string
func (*Translator) Tl ¶
func (t *Translator) Tl(loc Localizer, key string, args ...any) string
Tl translates a string based on the given language tag and key.
func (*Translator) Tn ¶
func (t *Translator) Tn(loc Localizer, singular, plural string, n int) string
Tn method for handling plurals
func (*Translator) TranslationsDir ¶
func (t *Translator) TranslationsDir() string
func (*Translator) Write ¶
func (t *Translator) Write(loc Localizer) error