Ubuntu 18.04 Server / Como alterar o idioma do sistema

Para alterar o idioma padrão do Ubuntu 18.04 Server, prepare a localidade e os pacotes de tradução, configure update-locale e entre novamente na sessão. Este guia usa o coreano, ko_KR.UTF-8, como exemplo e diferencia os valores salvos no arquivo dos que estão ativos na sessão atual.

Verificar a configuração e fazer backup

A localidade (locale) define o idioma dos programas, a codificação de caracteres, os formatos de data e números e as regras de ordenação. Este guia trata do terminal do Ubuntu 18.04 Server. Métodos de entrada e layouts de teclado do ambiente gráfico são configurações separadas.

A manutenção de segurança padrão do Ubuntu 18.04 LTS terminou em maio de 2023. Ao administrar um servidor existente, verifique também a cobertura de manutenção de segurança expandida do Ubuntu Pro ou seu plano de atualização do sistema operacional. Consulte o ciclo oficial de versões do Ubuntu para conhecer a cobertura.

Acesse uma conta com privilégios sudo e execute os comandos separadamente. locale mostra a configuração da sessão atual, locale -a lista as localidades disponíveis e o último comando mostra o arquivo de configuração padrão do sistema.

locale
locale -a
cat /etc/default/locale

Se a sessão mostrar LANG=en_US.UTF-8, a localidade padrão é o inglês dos Estados Unidos. Confira também as variáveis abaixo, pois elas podem substituir categorias específicas ou toda a configuração.

Variável Função e pontos a verificar
LANG Localidade padrão usada quando uma categoria não possui configuração própria.
LC_*, como LC_MESSAGES Configura uma categoria específica, como mensagens, datas ou números, com prioridade sobre LANG nessa categoria.
LC_ALL Substitui todas as categorias de localidade. Em geral, é apropriada para executar temporariamente um comando com uma localidade específica, em vez de definir um padrão permanente.
LANGUAGE Define a preferência das traduções de mensagens em programas que usam GNU gettext. Não altera todos os formatos de data e números; verifique-a quando o idioma das mensagens for inesperado.

O manual locale(7) do Ubuntu 18.04 explica as funções e a prioridade dessas variáveis, incluindo o uso de LANGUAGE para mensagens traduzidas. Programas sem tradução coreana podem continuar exibindo mensagens em inglês mesmo com a localidade coreana.

Faça backup do arquivo padrão antes de alterá-lo. Se o nome de backup abaixo já existir, escolha outro para não sobrescrever uma cópia anterior. Na restauração, use o nome realmente salvo.

sudo cp -a /etc/default/locale /etc/default/locale.backup

Preparar a localidade coreana e as traduções

Os dados de localidade e as mensagens traduzidas têm funções diferentes. Escrever o nome de uma localidade no arquivo não instala seus dados nem as traduções de todos os programas. Primeiro atualize a lista de pacotes e instale as ferramentas de localidade e o pacote de idioma coreano.

sudo apt-get update
sudo apt-get install locales language-pack-ko
sudo locale-gen ko_KR.UTF-8
locale -a

Avance para o próximo comando somente depois que o anterior terminar sem erros. Se a lista final incluir ko_KR.utf8, a localidade coreana UTF-8 está disponível. A lista pode usar .utf8, enquanto os exemplos de configuração usam .UTF-8. locale-gen gera os dados; selecionar o idioma padrão é uma etapa separada. Veja o manual de locale-gen do Ubuntu 18.04.

Se um pacote não for encontrado ou o download falhar, resolva primeiro os erros de apt-get update e verifique os repositórios e a conexão de rede. Forçar apenas um nome de localidade depois de uma instalação malsucedida pode gerar avisos nos comandos seguintes.

Alterar o idioma padrão do sistema

Use a configuração a seguir se quiser adotar os padrões coreanos para o idioma e também para a apresentação de datas e números.

sudo update-locale --reset LANG=ko_KR.UTF-8
cat /etc/default/locale

--reset remove de /etc/default/locale as variáveis não especificadas no comando. Isso evita que entradas antigas de LANGUAGE ou LC_* nesse arquivo substituam o padrão coreano. Se você usa intencionalmente outra região para algumas categorias, não aplique essa opção sem ajustes: preserve essas configurações e altere apenas as variáveis necessárias.

O arquivo deve conter a entrada a seguir. Comentários gerados automaticamente também podem estar presentes.

LANG=ko_KR.UTF-8

update-locale verifica os valores e altera o arquivo padrão, mas não muda as variáveis de ambiente de um shell já em execução. O manual de update-locale do Ubuntu 18.04 explica esse comportamento e a opção --reset.

Entrar novamente e verificar o resultado

Se estiver conectado por SSH, desconecte e abra uma nova sessão. Normalmente não é preciso reiniciar o servidor, mas sessões e programas já abertos podem manter o ambiente anterior. Reconectar ao tmux ou screen não comprova que um novo ambiente de login foi carregado. Para serviços do sistema, confira também suas próprias configurações de ambiente.

Execute os comandos a seguir na nova sessão.

locale
locale charmap

A configuração básica estará aplicada se aparecer LANG=ko_KR.UTF-8, se as categorias sem substituição usarem a localidade coreana e se a codificação for UTF-8. Um valor vazio como LC_ALL= não é erro: significa que não há substituição global. Use o manual do comando locale para interpretar o ambiente real.

Compare a apresentação da mesma data em duas localidades. Os exemplos definem a localidade apenas durante cada comando, sem modificar o arquivo padrão.

LC_ALL=C date -d '2026-01-02' '+%A %B'
LC_ALL=ko_KR.UTF-8 date -d '2026-01-02' '+%A %B'

O primeiro comando deve mostrar os nomes em inglês, Friday January; o segundo, os nomes do dia da semana e do mês da localidade coreana instalada. O idioma da data e o fuso horário são configurações diferentes. Se o horário em si estiver incorreto, consulte como configurar o fuso horário no Ubuntu 18.04 Server.

O que verificar se a configuração não for aplicada

  • Avisos de localidade: verifique se locale -a lista a localidade configurada. Caso contrário, revise a instalação dos pacotes e a geração dos dados. Adicionar um nome ao arquivo não cria os dados ausentes.
  • O arquivo indica coreano, mas a sessão usa outro idioma: examine LC_ALL, as variáveis LC_* e LANGUAGE com locale. Procure também definições em ~/.profile, ~/.bashrc e /etc/environment. Altere somente o necessário e entre novamente.
  • O idioma muda apenas por SSH: as opções SendEnv do cliente e AcceptEnv do servidor podem transmitir LANG e LC_*. Compare a localidade do cliente com as localidades geradas no servidor. Consulte a configuração do cliente OpenSSH e a configuração do servidor OpenSSH. Não altere indiscriminadamente o acesso remoto nem reinicie o SSH apenas para corrigir uma diferença de idioma.
  • Apenas algumas mensagens continuam em inglês: verifique se o programa oferece tradução coreana e confira LANGUAGE. Uma mensagem em inglês não significa que toda a configuração de localidade falhou.
  • O coreano aparece como quadrados ou caracteres ilegíveis: confira a codificação UTF-8 do terminal SSH e o suporte da fonte ao coreano. Alterar a localidade do servidor não instala fontes nem um método de entrada coreano no cliente.

Restaurar a configuração original ou mudar para inglês

Para voltar ao estado original, restaure o backup criado antes da alteração e entre novamente. Isso também recupera as configurações regionais específicas presentes no backup.

sudo cp -a /etc/default/locale.backup /etc/default/locale
cat /etc/default/locale

Para escolher o inglês dos Estados Unidos em UTF-8 como novo padrão, em vez de restaurar o estado anterior, gere essa localidade e atualize a configuração. Os comandos abaixo também redefinem as entradas individuais do arquivo padrão; examine antes as exceções que precisar manter.

sudo locale-gen en_US.UTF-8
sudo update-locale --reset LANG=en_US.UTF-8

Após entrar novamente, confira com locale e locale charmap. Se um valor diferente continuar aparecendo apenas por SSH, verifique as variáveis do usuário e as opções de envio de ambiente do SSH, em vez de sobrescrever o arquivo repetidamente com o backup.