El módulo locale permite al software en Python elegir diversas
conversiones y convenciones de presentación adaptadas a las caraterísticas
de un país o lengua. Sin embargo, el módulo tenía cuidado de no cambiar
la regionalización de números porque hay varias funciones de la implementación
de Python que exigen que la regionalización permanezca con un valor de
'C'
. A menudo ocurría esto porque el código utilizaba la función
atof() de la biblioteca de C.
Al no establecer el valor de la regionalización para los números, se causaban problemas a las extensiones que utilizaban bibliotecas de C de terceros, sin embargo, porque ellas utilizaban el valor regionalizado correcto. El ejemplo más llamativo era GTK+, cuyos controles de la interfaz de usuario no presentaban los números en la regionalización activa.
La solución descrita en la PEP es añadir tres nuevas funciones al API de Python que realizan conversiones ASCII, independientes de la regionalización:
el código de estas funciones se tomó de la biblioteca GLib (http://developer.gnome.org/arch/gtk/glib.html), cuyos desarrolladores dieron una nueva licencia y donaron amablemente las funciones relevantes a la Python Software Foundation. El módulo locale puede cambiar la regionalización de los números, permitiendo que las extensiones como GTK+ produzcan resultados correctos.
See Also:
Consultar en Acerca de este documento... información para sugerir cambios.