Idiomas
Idiomas
El paquete incluye 185+ idiomas con codigos ISO 639-1.
Propiedades de idioma
Cada idioma tiene los siguientes campos:
| Campo | Descripcion |
|---|---|
code | Codigo de idioma ISO 639-1 (ej. "en") |
nativeName | Nombre en el propio idioma (ej. "English") |
dialects | Lista de dialectos del idioma |
defaultFlagCode | Codigo de pais para una bandera representativa |
Cada dialecto tiene:
| Campo | Descripcion |
|---|---|
code | Codigo del dialecto |
nativeName | Nombre nativo del dialecto |
flagCode | Codigo de pais para la bandera del dialecto |
Busqueda por codigo
lang, ok := intl.LanguageByCode("en")
if ok {
fmt.Println(lang.NativeName) // English
fmt.Println(lang.Code) // en
}Listar todos los idiomas
allLanguages := intl.AllLanguages()
fmt.Println(len(allLanguages)) // 185Dialectos
Los idiomas pueden tener dialectos que representan variaciones regionales.
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.
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
code := intl.LanguageFR
lang := code.Language()
fmt.Println(lang.NativeName) // Francais