mw-i18n: github.com/gobuffalo/mw-i18n Index | Files

package i18n

import "github.com/gobuffalo/mw-i18n"

Index

Package Files

i18n.go

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.

See https://github.com/nicksnyder/go-i18n

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").

Package i18n imports 10 packages (graph) and is imported by 10 packages. Updated 2019-02-28. Refresh now. Tools for package owners.