Idiomas

Idiomas

El paquete incluye 185+ idiomas con codigos ISO 639-1.

Propiedades de idioma

Cada idioma tiene los siguientes campos:

CampoDescripcion
codeCodigo de idioma ISO 639-1 (ej. "en")
nativeNameNombre en el propio idioma (ej. "English")
dialectsLista de dialectos del idioma
defaultFlagCodeCodigo de pais para una bandera representativa

Cada dialecto tiene:

CampoDescripcion
codeCodigo del dialecto
nativeNameNombre nativo del dialecto
flagCodeCodigo de pais para la bandera del dialecto

Busqueda por codigo

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

Listar todos los idiomas

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

Dialectos

Los idiomas pueden tener dialectos que representan variaciones regionales.

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

Banderas de idioma

Los idiomas pueden tener una bandera representativa basada en su codigo de bandera predeterminado.

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

Codigos de idioma con seguridad de tipos

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