Langues

Langues

Le package inclut 185+ langues avec les codes ISO 639-1.

Proprietes d'une langue

Chaque langue possede les champs suivants :

ChampDescription
codeCode de langue ISO 639-1 (ex. "en")
nativeNameNom dans la langue elle-meme (ex. "English")
dialectsListe des dialectes de la langue
defaultFlagCodeCode pays pour un drapeau representatif

Chaque dialecte possede :

ChampDescription
codeCode du dialecte
nativeNameNom natif du dialecte
flagCodeCode pays pour le drapeau du dialecte

Recherche par code

GoDartTypeScript
lang, ok := intl.LanguageByCode("en")
if ok {
    fmt.Println(lang.NativeName) // English
    fmt.Println(lang.Code)       // en
}

Lister toutes les langues

GoDartTypeScript
allLanguages := intl.AllLanguages()
fmt.Println(len(allLanguages)) // 185

Dialectes

Les langues peuvent avoir des dialectes representant des variations regionales.

GoDartTypeScript
lang, ok := intl.LanguageByCode("en")
if ok {
    for _, d := range lang.Dialects {
        fmt.Printf("%s (%s)\n", d.NativeName, d.FlagCode)
    }
}

Drapeaux de langues

Les langues peuvent avoir un drapeau representatif base sur leur code de drapeau par defaut.

GoDartTypeScript
lang, ok := intl.LanguageByCode("fr")
if ok && lang.DefaultFlagCode != "" {
    flag, flagOk := intl.GetFlag(lang.DefaultFlagCode)
    if flagOk {
        fmt.Println(len(flag)) // longueur de la chaine SVG
    }
}

Codes de langues type-safe

GoDartTypeScript
code := intl.LanguageFR
lang := code.Language()
fmt.Println(lang.NativeName) // Francais