export LC_ALL=C
é suficiente. Toda saída de comando subseqüente será em inglês.
Mais informações: O que faz "LC_ALL = C"?
Se você quiser reverter para o idioma nativo, desmarque a variável LC_ALL
:
unset LC_ALL
Como posso mudar o idioma de saída do comando do meu idioma nativo para o inglês, para que eu possa postar minha pergunta Ask Ubuntu com a saída de comando em inglês (mensagens de erro)?
export LC_ALL=C
é suficiente. Toda saída de comando subseqüente será em inglês.
Mais informações: O que faz "LC_ALL = C"?
Se você quiser reverter para o idioma nativo, desmarque a variável LC_ALL
:
unset LC_ALL
Aqui está minha função bash para alternar entre as localidades DE e EN.
Você pode estender esse código com seus idiomas preferidos.
Para usá-lo, coloque-o em ~/.bashrc
(ou ~/.bash_profile
) -
Chame com _configure_locale EN
para mudar para o inglês.
function _configure_locale() { # [profile]
local profile=${1:-EN}
case ${profile} in
DE|DE_DE|de_DE)
LC_ALL="de_DE.UTF-8"
LANG="de_DE.UTF-8"
LANGUAGE="de_DE:de:en_US:en"
;;
EN|EN_US|en|en_US)
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
;;
*)
echo "ALERT" "${FUNCNAME}: unknown profile '${profile}'"
;;
esac
LC_PAPER="de_DE.UTF-8"; # independent from locale
LESSCHARSET="utf-8"; # independent from locale
MM_CHARSET="utf-8" # independent from locale
echo "locale settings" "${LANG}";
export LC_ALL LANG LANGUAGE LC_PAPER LESSCHARSET MM_CHARSET
}
Em geral, sugiro alterar todas as 3 variáveis de ambiente LC_ALL
, LANG
, LANGUAGE
para evitar mau comportamento de alguns programas.
Estender o código para sua linguagem nativa é bem simples. Você pode encontrar os valores necessários chamando o seguinte comando
env |egrep -e 'LC_ALL|LANG'
Abra um terminal Ctrl + Alt + T e digite:
LANG=en_US.UTF-8 bash
ou :
LC_ALL=C bash
Agora, a saída do terminal está no idioma inglês. Você pode verificar com locale
.
É possível fazer um comando para fazer isso com um permanente alias
. Abra o arquivo .bashrc
com seu editor preferido e coloque o seguinte código lá:
alias basheng='LANG=en_US.UTF-8 bash'
ou :
alias basheng='LC_ALL=C bash'
Reinicie o shell Bash. Agora você tem o comando basheng
. Digite-o no Bash para obter um shell Bash em inglês. Para deixar o tipo de shell em inglês, exit
.
Fonte:
Isso é configurado através das configurações locale , que podem ser definidas através da variável de ambiente. Existem quatro camadas de variáveis; o primeiro que é definido tem precedência:
LANGUAGE
- não use raramente é útil e pode causar erros. Infelizmente, algumas versões do Ubuntu o definem, então talvez seja necessário desativá-lo. LC_ALL
- substitui as configurações específicas da categoria, destinadas principalmente a serem usadas por programas que desejam executar na localidade padrão. Não deveria ser usado como configurações globais. LC_
: LC_CTYPE
, LC_MESSAGES
, LC_TIME
,…. LANG
- define o código do idioma padrão para todas as categorias, destinado a ser usado em configurações globais do usuário. A localidade "simples", com todas as mensagens não traduzidas, a hora padrão e formatos numéricos, ASCII como o conjunto de caracteres, etc. é chamada C
. Esta localidade está presente em todos os sistemas.
Assim, para executar um programa com mensagens em inglês, execute
unset LANGUAGE; LC_MESSAGES=C myprogram --option
ou
unset LANGUAGE
export LC_MESSAGES=C
myprogram --option
myotherprogram
Para executar um programa com toda a localização desativada, execute
env -u LANGUAGE LC_ALL=C myprogram --option
mas cuidado que isto muda a codificação de caracteres para ASCII (portanto, não há Unicode, latin-1, etc.).
Veja Para onde devo definir minha localidade e quais são as implicações de fazê-lo? para obter uma visão geral mais detalhada das localidades.
A maneira mais fácil é abrir o terminal pressionando Alt + F2 e executando este comando:
env LANGUAGE=en gnome-terminal
no seu ~/.bashrc
unset LC_ALL
export LC_MESSAGES=C
então
source ~/.bashrc
Verifique isso
$ locale
LANG=pl_PL.utf8
LANGUAGE=
LC_CTYPE="pl_PL.utf8"
LC_NUMERIC="pl_PL.utf8"
LC_TIME="pl_PL.utf8"
LC_COLLATE="pl_PL.utf8"
LC_MONETARY="pl_PL.utf8"
LC_MESSAGES=C
LC_PAPER="pl_PL.utf8"
LC_NAME="pl_PL.utf8"
LC_ADDRESS="pl_PL.utf8"
LC_TELEPHONE="pl_PL.utf8"
LC_MEASUREMENT="pl_PL.utf8"
LC_IDENTIFICATION="pl_PL.utf8"
LC_ALL=
Por que não foi definido primeiro?
LC_ALL Substitui configurações LC_ * individuais: se LC_ALL estiver definido, nenhum dos o abaixo tem algum efeito.
Feito.