Supongamos que tenemos el siguiente código en Python:
#!/usr/bin/env python # -*- coding: utf-8 -*- import locale locale.setlocale(locale.LC_TIME, 'es_DO.UTF-8')
La última línea nos sirve para cambiar las locales en GNU/Linux. De manera que no sólo nos cambie el idioma sino que también nos cambia el formato de fechas y otros cosas relacionadas que varía por idioma y región.
El caso es que si no tenemos instalado esa locale que le pasamos al método setlocale, que en nuestro caso es es_DO.UTF-8, entonces nos lanzará un error parecido al siguiente:
Traceback (most recent call last): File "script.py", line 6, in <module> locale.setlocale(locale.LC_TIME, LOCALE) File "/usr/lib/python2.7/locale.py", line 579, in setlocale return _setlocale(category, locale) locale.Error: unsupported locale setting
En Ubuntu podemos resolver esto de la siguiente manera. Primero verificamos que el locale no existe en nuestro sistema corriendo el siguiente comando en un terminal:
locale -a
En mi caso esto retornó lo siguiente:
C C.UTF-8 POSIX
Realmente no tenemos ese locale instalado. Entonces procemos a instalarlo de la siguiente manera, en una terminal:
sudo locale-gen es_DO.UTF-8
Claro, es_DO.UTF-8
debe ser sustituido por el locale que se quiera instalar. Una vez instalado esto ya podemos
ejecutar nuestro script sin ningún problema.