Você pode verificar quais localidades são geradas e configuradas no seu sistema usando o comando locale:
- locale ... liste a configuração de localidade atual
- locale -a ... lista todos os locais gerados em seu sistema
- locale -a -v ... lista todos os locais e mostra informações adicionais úteis (como nomes de diretório que contêm os arquivos de dados de informações do local)
O último comando acima faz com que você veja que todas as localidades geradas estão localizadas /usr/lib/locale/
, você pode remover qualquer uma delas se desnecessário. Cada pacote de informações de localidade é um diretório que contém arquivos de texto e outros diretórios.
Todos os códigos de idioma que você deseja que seu sistema suporte estejam listados nos arquivos de texto em /var/lib/locales/supported.d/
. Esses arquivos têm duas colunas, tag de idioma e mapa de caracteres.
Quero que meu sistema conheça apenas inglês dos EUA, portanto, tenho apenas um arquivo, chamado en, que contém apenas uma única linha:
en_US UTF-8
Mensagens de
erro Se forem exibidas mensagens de erro ao emitir o comando locale, por exemplo:
locale: Cannot set LC_ALL to default locale: No such file or directory
verifique se o arquivo /etc/default/locale
existe e possui conteúdo adequado, como:
LANG="en_US"
LANGUAGE="en_US:en"
Livre-se dos dados de localidade desnecessários - Passo a passo
Agora sabemos todos os detalhes necessários para começar a limpar as informações de localidade do sistema:
- Edite o (s) arquivo (s) de localidade
/var/lib/locales/supported.d/
e remova todos os locais desnecessários (um local por linha)
- Crie e edite
/etc/default/locale
(veja um exemplo acima)
- Exclua todos os dados de localidade gerados:
rm -rfv /usr/lib/locale/*
- Gere novamente novos códigos de idioma:
locale-gen
Isso é tudo! Reinicie sua máquina para que suas alterações entrem em vigor. Em seguida, execute um ou mais exemplos de comando de localidade acima para garantir a si mesmo que o resultado é o esperado.
~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
~#
~# locale -a -v
locale: en_US.utf8 directory: /usr/lib/locale/en_US.utf8
-------------------------------------------------------------------------------
title | English locale for the USA
source | Free Software Foundation, Inc.
address | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
email | bug-glibc-locales@gnu.org
language | English
territory | USA
revision | 1.0
date | 2000-06-24
codeset | UTF-8
Há um pacote para Debian / Ubuntu que pode cuidar de remover locais e localidade arquivos relacionados (por exemplo, páginas de manual): localepurge
. Você pode instalar / executar o problema:
sudo apt-get install localepurge
uma vez instalado, você deve executar o seguinte:
dpkg --configure localepurge
para garantir que suas configurações de idioma estejam definidas corretamente.
para executá-lo manualmente uma vez instalado (embora você realmente não precise, pois deve executar após cada dpkg
execução automagicamente), basta:
sudo localepurge
Leia a página de manual antes de usá-la. Se você pode fazer suas coisas sem ela, provavelmente é mais seguro deixar para lá.
deste fórum
ref:
1. LocaleConf na documentação oficial
2. Página de manual do Linux
3. Local na wikipeadia
4. man localepurge