Os sistemas Unix não têm realmente uma "linguagem de sistema". O Unix é um sistema multiusuário e cada usuário é livre para escolher seu idioma preferido. O mais próximo de uma linguagem de sistema é o idioma padrão que os usuários obtêm se não configurarem sua conta. A localização dessa configuração varia de distribuição para distribuição; é captado em algum momento durante o processo de login.
Na maioria dos casos, o que é relevante não é o "idioma do sistema", mas a linguagem que o usuário deseja que o aplicativo use. As preferências de idioma são expressas por meio das configurações de localidade . A configuração que determina o idioma que os aplicativos devem usar em sua interface do usuário é LC_MESSAGES
. Há também configurações para a data, a moeda, etc. Essas configurações são transmitidas por variáveis de ambiente que geralmente são definidas quando o usuário efetua login a partir de algum arquivo dependente do sistema e do usuário.
Encontrar uma configuração de localidade é um pouco mais complicado do que ler a variável LC_MESSAGES
, já que diversas variáveis entram em ação (consulte O que devo definir minha localidade e quais são as implicações de fazê-lo? ). Há uma função de biblioteca padrão para isso. Em Python, use locale.getlocale
. Primeiro, você precisa ligar para setlocale
para ativar o reconhecimento de localidade.
import locale
locale.setlocale(locale.LC_ALL, "")
message_language = locale.getlocale(locale.LC_MESSAGES)[0]