Python erro ao ler locales pt-BR

oraculum

Tagged: ,

linguas-rbs

Se estiver usando um ubuntu em inglês ou qualquer outro idioma e tentar fazer o uso do setlocale para mudar as configurações do django para o português ou qualquer outro idioma você pode se deparar com uma mensagem de erro semelhante a essa:

>>> import locale
>>> from locale import setlocale, LC_ALL
>>> locale.setlocale(locale.LC_ALL, 'ar')
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python2.7/locale.py", line 531, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

para resolver o problema você deve:

#pegar o locale que deseja instalar para isso veja no arquivo que se encontra em:
/usr/share/i18n/SUPPORTED ou pelo terminal fazer:

sudo cat /usr/share/i18n/SUPPORTED | grep pt_BR
# o resultado será:
pt_BR.UTF-8 UTF-8
pt_BR ISO-8859-1

Adicionar a configuração desejada no suporte locales:
caminho do arquivo: /var/lib/locales/supported.d/local

sudo echo "pt_BR.UTF-8 UTF-8" >>  /var/lib/locales/supported.d/local

depois é só reconfigurar o locales

sudo dpkg-reconfigure locales
Share Button

7 Comments

  1. Guilherme

    Valeu pela dica. Resolveu meu problema.

    Reply

  2. Renato

    Obrigado!

    Reply

  3. Johnnie

    Permisão negada ao tentar inserir o seguinte comando>> sudo echo “pt_BR.UTF-8 UTF-8″ >> /var/lib/locales/supported.d/local preciso de ajudas des do dia em que eu instalei o ubunto, estou tento o mesmo problema ao instalar o java, e para eu conseguir instalar a placa de video preciso configurar o idioma.

    Reply

  4. Johnnie

    comando que eu digitei:

    ******@ubuntu:~$ sudo echo “pt_BR.UTF-8 UTF-8″ >> /var/lib/locales/supported.d/local
    bash: /var/lib/locales/supported.d/local: Permissão negada

    ******@ubuntu:~$ /var/lib/locales/supported.d/local
    bash: /var/lib/locales/supported.d/local: Permissão negad

    Reply

  5. Lucas

    Não deu certo em minha máquina, o problema persiste mesmo depois de excutar os comandos corretamente:

    “sudo dpkg-reconfigure locales”

    retornou a seguinte mensagem:

    Generating locales…
    pt_BR.UTF-8… up-to-date
    Generation complete.

    Usando:
    Ubuntu 13.04 / Ptyhon 2.7.4 / Django 1.4.5

    Reply

    • Lucas

      @Lucas,

      Eu fiz besteira aqui, em vez de:

      locale.setlocale(locale.LC_ALL, ‘pt_BR.UTF-8′)

      coloquei:

      locale.setlocale(locale.LC_ALL, ‘pt_BR’)

      Obrigado!

      Reply

Leave a Reply