Skip to content

iris-contrib/i18n

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

i18n GoDoc build status

Package i18n is for app Internationalization and Localization.

This package is a fork of the https://github.com/Unknwon/i18n.

It's heavly used inside the https://github.com/kataras/iris/tree/master/middleware/i18n middleware.

Changes

This package provides some additional functionality compared to the original one;

PATCH by @j-lenoch at L129:

// IsExistSimilar returns true if the language, or something similar
// exists (e.g. en-US maps to en).
// it returns the found name and whether it was able to match something.
func IsExistSimilar(lang string) (string, bool) {
_, ok := locales.store[lang]
if ok {
    return lang, true
}

// remove the internationalization element from the IETF code
code := strings.Split(lang, "-")[0]

for _, lc := range locales.store {
    if strings.Contains(lc.lang, code) {
        return lc.lang, true
    }
}

return "", false
}

A full Patch by @kataras to support multi languages, look the `localeFiles` new type
and the `GetKey, Reload` and improvement of `locales.Add` and more.