Documentation
¶
Overview ¶
Package i18n provides internationalization support for the application.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // English is a locale for English. English = Locale{ // contains filtered or unexported fields } // Japanese is a locale for Japanese. Japanese = Locale{ // contains filtered or unexported fields } // Default is the default locale. Default = English )
Functions ¶
This section is empty.
Types ¶
type Locale ¶
type Locale struct {
// contains filtered or unexported fields
}
Locale is a locale for a language.
type Message ¶
type Message struct {
// ID uniquely identifies the message.
ID string
// Hash uniquely identifies the content of the message
// that this message was translated from.
Hash string
// Description describes the message to give additional
// context to translators that may be relevant for translation.
Description string
// LeftDelim is the left Go template delimiter.
LeftDelim string
// RightDelim is the right Go template delimiter.
RightDelim string
// Zero is the content of the message for the CLDR plural form "zero".
Zero string
// One is the content of the message for the CLDR plural form "one".
One string
// Two is the content of the message for the CLDR plural form "two".
Two string
// Few is the content of the message for the CLDR plural form "few".
Few string
// Many is the content of the message for the CLDR plural form "many".
Many string
// Other is the content of the message for the CLDR plural form "other".
Other string
}
Message is a string that can be localized.
type Options ¶
type Options struct {
// TemplateData is the data passed when executing the message's template.
// If TemplateData is nil and PluralCount is not nil, then the message template
// will be executed with data that contains the plural count.
TemplateData any
// PluralCount determines which plural form of the message is used.
PluralCount any
// DefaultMessage is used if the message is not found in any message files.
DefaultMessage *Message
}
Options is used to configure a translation.
type Translation ¶
type Translation interface {
Translate(id string) string
TranslateWithOpts(id string, opts Options) string
TranslateWithLocale(locale Locale, id string) string
TranslateWithLocaleAndOpts(locale Locale, id string, opts Options) string
}
Translation is an interface for translating messages.
type Translator ¶
type Translator struct {
// contains filtered or unexported fields
}
Translator is a translation service.
func NewTranslator ¶
func NewTranslator() (*Translator, error)
NewTranslator creates a new Translator.
func (*Translator) Translate ¶
func (t *Translator) Translate(id string) string
Translate translates a message with the given ID.
func (*Translator) TranslateWithLocale ¶
func (t *Translator) TranslateWithLocale(locale Locale, id string) string
TranslateWithLocale translates a message with the given ID to the given locale.
func (*Translator) TranslateWithLocaleAndOpts ¶
func (t *Translator) TranslateWithLocaleAndOpts(locale Locale, id string, opts Options) string
TranslateWithLocaleAndOpts translates a message with the given ID to the given locale.
func (*Translator) TranslateWithOpts ¶
func (t *Translator) TranslateWithOpts(id string, opts Options) string
TranslateWithOpts translates a message with the given ID.
Click to show internal directories.
Click to hide internal directories.