Versión: 2.x, 3.x.
Resulta sumamente útil contar con una solución rápida, simple y eficaz para obtener el idioma y región predeterminados en un determinado sistema y en las diversas plataformas. En base al estándar RFC 1766, el módulo estándar locale
permite obtener dicha información haciendo uso de la función getdefaultlocale
.
>>> from locale import getdefaultlocale >>> >>> getdefaultlocale() ('es_AR', 'cp1252')
Retorna una tupla en la que el primer elemento corresponde al idioma y región predeterminada, respectivamente. El segundo indica la codificación de caracteres del sistema.
>>> language, encoding = getdefaultlocale() >>> language 'es_AR' >>> encoding 'cp1252'
La función determina la información obteniendo las variables del sistemas indicadas en el parámetro opcional envvars
, que por defecto incluye 'LC_ALL'
, 'LC_CTYPE'
, 'LANG'
, 'LANGUAGE'
. Si ninguna de éstas se encuentra disponible (o bien vacía), el valor de retorno es 'C'
.
En sistemas Microsoft Windows se utiliza la función de la API GetLocaleInfo
.
Aquellos que experimenten problemas o valores erróneos, consideren usar GetUserDefaultUILanguage
o GetSystemDefaultUILanguage
.
>>> from ctypes import windll >>> from locale import windows_locale >>> >>> sys_language = windows_locale[windll.kernel32.GetSystemDefaultUILanguage()] >>> user_language = windows_locale[windll.kernel32.GetUserDefaultUILanguage()] >>> sys_language 'es_ES' >>> user_language 'es_ES'
Curso online 👨💻
¡Ya lanzamos el curso oficial de Recursos Python en Udemy!
Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter
en 2024.
Consultoría 💡
Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.