Documentation ¶
Overview ¶
Package i18n wraps go-i18n lib for manipulating bundles
Index ¶
- Variables
- func GetDefaultLanguage(conf configx.Values) string
- func UserLanguage(ctx context.Context, user *idm.User, conf configx.Values) string
- func UserLanguageFromContext(ctx context.Context, conf configx.Values, returnDefault bool) string
- func UserLanguagesFromRestRequest(req *restful.Request, conf configx.Values) []string
- type I18nBundle
Constants ¶
This section is empty.
Variables ¶
var ( // AvailableLanguages stores a manually maintained maps with all languages // that are currently supported by Cells front-end and can be chosen via the interface. AvailableLanguages = map[string]string{ "de": "Deutsch", "en-us": "English", "es-es": "Español", "fr": "Français", "it": "Italiano", "lv": "Latv", "pt-br": "Português do Brasil", "ru": "русский", "vi-vn": "Tiếng Việt", "zh-cn": "简体中文", } // LoadingStrings have to be hard-coded to be loaded first. When not defined, we fall back to "loading..." message (in English). LoadingStrings = map[string]string{ "ar": "نحميل...", "de": "Wird geladen...", "en-us": "Loading...", "es-en": "Cargando...", "fr": "Chargement...", "fr-ca": "Chargement...", "it": "Caricamento...", "ja": "読み込んでいます...", "ko": "로드 중 ...", "lv": "Ielādē...", "nl": "Bezig met laden...", "pt-br": "Carregando...", "pt-pt": "Carregando...", "ru": "Загружается ...", "sv-se": "Läser in...", "vi-vn": "Đang tải...", "zh-cn": "载入中...", "zh-tw": "載入中...", } // WipLanguages lists languages that are only partially translated and only exposed // in the end-user web UI when CELLS_ENABLE_WIP_LANGUAGES env variable is set to true. WipLanguages = map[string]string{ "ar": "عربى", "fr-ca": "Canadien", "ja": "日本人", "ko": "한국어", "nl": "Nederlands", "pt-pt": "Português", "sv-se": "Svenska", "zh-tw": "中國傳統的", } LanguagesLegacyNames = map[string]string{ "en": "en-us", "fr": "fr", "es": "es-es", "it": "it", "pt": "pt-pt", "pt-br": "pt-br", "de": "de", "ru": "ru", "ca": "ca", "cs": "cs", "da": "da", "et": "et", "fi": "fi", "he": "he", "hu": "hu", "ja": "ja", "ko": "ko", "nl": "nl", "nn": "nn-no", "pl": "pl", "si": "sl", "sv": "sv-se", "tr": "tr", "zh-cn": "zh-cn", "zh-tw": "zh-tw", } )
Functions ¶
func GetDefaultLanguage ¶
GetDefaultLanguage reads default language from config
func UserLanguage ¶
UserLanguage looks for the user roles and check if a language parameter is set (starting from the last). Otherwise returns the default language from config
func UserLanguageFromContext ¶
UserLanguageFromContext tries to find Claims in context and get the language for the corresponding user. If nothing is found, if returnDefault is true it returns the global default language, otherwise it returns an empty string.
func UserLanguagesFromRestRequest ¶
UserLanguagesFromRestRequest tries to find user language from various sources: X-Pydio-Language header, user language inside the system (set via roles), or Accept-Language standard header.
Types ¶
type I18nBundle ¶
func NewI18nBundle ¶
func NewI18nBundle(box statics.FS) *I18nBundle
func (*I18nBundle) GetTranslationFunc ¶
func (b *I18nBundle) GetTranslationFunc(languages ...string) i18n.TranslateFunc
GetTranslationFunc provides the correct translation func for language or the IdentityFunc if language is not supported. Languages can be a list of weighted languages as provided in the http header Accept-Language
func (*I18nBundle) LoadPackrTranslationFiles ¶
func (b *I18nBundle) LoadPackrTranslationFiles(box statics.FS)
LoadPackrTranslationFiles loads goi18n translation files from packr boxes