mw-i18n: Index | Files | Directories

package i18n

import ""


Package Files


func CookieLanguageExtractor Uses

func CookieLanguageExtractor(o LanguageExtractorOptions, c buffalo.Context) []string

CookieLanguageExtractor is a LanguageExtractor implementation, using a cookie.

func HeaderLanguageExtractor Uses

func HeaderLanguageExtractor(o LanguageExtractorOptions, c buffalo.Context) []string

HeaderLanguageExtractor is a LanguageExtractor implementation, using a HTTP Accept-Language header.

func SessionLanguageExtractor Uses

func SessionLanguageExtractor(o LanguageExtractorOptions, c buffalo.Context) []string

SessionLanguageExtractor is a LanguageExtractor implementation, using a session.

func URLPrefixLanguageExtractor Uses

func URLPrefixLanguageExtractor(o LanguageExtractorOptions, c buffalo.Context) []string

URLPrefixLanguageExtractor is a LanguageExtractor implementation, using a prefix in the URL.

type LanguageExtractor Uses

type LanguageExtractor func(LanguageExtractorOptions, buffalo.Context) []string

LanguageExtractor can be implemented for custom finding of search languages. This can be useful if you want to load a user's language from something like a database. See Middleware() for more information on how the default implementation searches for languages.

type LanguageExtractorOptions Uses

type LanguageExtractorOptions map[string]interface{}

LanguageExtractorOptions is a map of options for a LanguageExtractor.

type Translator Uses

type Translator struct {
    // Box - where are the files?
    Box packd.Box
    // DefaultLanguage - default is passed as a parameter on New.
    DefaultLanguage string
    // HelperName - name of the view helper. default is "t"
    HelperName string
    // LanguageExtractors - a sorted list of user language extractors.
    LanguageExtractors []LanguageExtractor
    // LanguageExtractorOptions - a map with options to give to LanguageExtractors.
    LanguageExtractorOptions LanguageExtractorOptions

Translator for handling all your i18n needs.

func New Uses

func New(box packd.Box, language string) (*Translator, error)

New Translator. Requires a packr.Box that points to the location of the translation files, as well as a default language. This will also call t.Load() and load the translations from disk.

func (*Translator) AddTranslation Uses

func (t *Translator) AddTranslation(lang *language.Language, translations ...translation.Translation)

AddTranslation directly, without using a file. This is useful if you wish to load translations from a database, instead of disk.

func (*Translator) AvailableLanguages Uses

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

AvailableLanguages gets the list of languages provided by the app.

func (*Translator) Load Uses

func (t *Translator) Load() error

Load translations from the t.Box.

func (*Translator) Middleware Uses

func (t *Translator) Middleware() buffalo.MiddlewareFunc

Middleware for loading the translations for the language(s) selected. By default languages are loaded in the following order:

Cookie - "lang" Session - "lang" Header - "Accept-Language" Default - "en-US"

These values can be changed on the Translator itself. In development model the translation files will be reloaded on each request.

func (*Translator) Refresh Uses

func (t *Translator) Refresh(c buffalo.Context, newLang string)

Refresh updates the context, reloading translation functions. It can be used after language change, to be able to use translation functions in the new language (for a flash message, for instance).

func (*Translator) Translate Uses

func (t *Translator) Translate(c buffalo.Context, translationID string, args ...interface{}) string

Translate returns the translation of the string identified by translationID.


If there is no translation for translationID, then the translationID itself is returned. This makes it easy to identify missing translations in your app.

If translationID is a non-plural form, then the first variadic argument may be a map[string]interface{} or struct that contains template data.

If translationID is a plural form, the function accepts two parameter signatures 1. T(count int, data struct{}) The first variadic argument must be an integer type (int, int8, int16, int32, int64) or a float formatted as a string (e.g. "123.45"). The second variadic argument may be a map[string]interface{} or struct{} that contains template data. 2. T(data struct{}) data must be a struct{} or map[string]interface{} that contains a Count field and the template data, Count field must be an integer type (int, int8, int16, int32, int64) or a float formatted as a string (e.g. "123.45").

func (*Translator) TranslateWithLang Uses

func (t *Translator) TranslateWithLang(lang, translationID string, args ...interface{}) (string, error)

TranslateWithLang returns the translation of the string identified by translationID, for the given language. See Translate for further details.


internal/go-i18n/goi18nThe goi18n command formats and merges translation files.
internal/go-i18n/i18nPackage i18n supports string translations with variable substitution and CLDR pluralization.
internal/go-i18n/i18n/bundlePackage bundle manages translations for multiple languages.
internal/go-i18n/i18n/languagePackage language defines languages that implement CLDR pluralization.
internal/go-i18n/i18n/translationPackage translation defines the interface for a translation.

Package i18n imports 9 packages (graph) and is imported by 18 packages. Updated 2020-04-27. Refresh now. Tools for package owners.