Eu gostaria de alterar o idioma do git (para inglês) na minha instalação do Linux sem alterar o idioma de outros programas e não consegui encontrar as configurações. Como fazer isso?
Eu gostaria de alterar o idioma do git (para inglês) na minha instalação do Linux sem alterar o idioma de outros programas e não consegui encontrar as configurações. Como fazer isso?
Respostas:
Adicione estas linhas ao seu ~/.bashrc
ou ~/.bash_profile
para forçar o git a exibir todas as mensagens em inglês:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
O alias precisa ser substituído LC_ALL
em alguns sistemas, quando a variável de ambiente LC_ALL
é definida, que tem precedência sobre LANG
. Consulte a Especificação do UNIX - Variáveis de ambiente para obter mais explicações.
# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'
Caso você tenha adicionado essas linhas ao ~/.bashrc
alias, elas serão definidas quando um novo shell interativo for iniciado. Caso você tenha adicionado ao ~/.bash_profile
alias, será aplicado ao fazer o login.
.bash.rc
vez de .bashrc
). Você também deve fechar e iniciar o shell novamente para .bashrc
que seja executado. Eu adicionei uma nota sobre isso também.
.bashrc
mesmo reiniciando. Os apelidos funcionam. É que a linguagem não muda.
.bashrc
é executado com sucesso, você pode adicionar um teste como echo "This is .bashrc"
no final do arquivo. Você também pode fazer com que seja executado sob demanda, sem ter que reiniciar o terminal ou todo o sistema por . .bashrc
. Finalmente, eu sugeriria tentar definir a LC_ALL
variável de ambiente em vez de LANG
, uma vez que a primeira tem precedência.
.bashrc
, sério. Se LC_ALL
tiver precedência, então este será o problema, está definido para o meu idioma. Mas não quero alterar a configuração geral do idioma ... Não posso sobrescrever para um programa?
$ LC_ALL="en_US" man
e$ man
Se você quiser apenas um comando em inglês, pode simplesmente escrever LC_ALL=C
antes do comando, por exemplo:
LC_ALL=C git status
vai resultar em
# On branch master
nothing to commit, working directory clean
O local usado C
é o inglês e está sempre disponível sem a instalação de pacotes de idiomas adicionais
(consulte https://askubuntu.com/a/142814/34298 )
Para alterá-lo para toda a sessão bash atual, basta inserir
LANG=C
Para alterá-lo, por exemplo para alemão, insira
LANG=de_DE.UTF-8
LC_ALL=C
sugestão, como estou com alguns problemas com o locale, LC_ALL="en_US"
não funcionou mais recentemente.
Adicionar esta linha resolveu o problema para mim:
$ more ~/.bash_profile
export LANG=en_US
Observação: desde Git 2.3.1+ (Q1 / Q2 2015), o Git adicionará o cabeçalho Accept-Language, se possível.
Veja o commit f18604b de Yi EungJun ( eungjun-yi
)
Adicionar um
Accept-Language
cabeçalho que indica idiomas preferenciais do utilizador definida por$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
e$LANG
.Isso dá aos servidores git a chance de exibir mensagens de erro remotas no idioma preferido do usuário.
Você tem localidade para git gui ou outras GUIs ,mas não para a linha de comando, considerando que era uma das questões do GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
Claro, desde 2010, conforme po/README
descreve:
Antes que as strings possam ser traduzidas, elas primeiro devem ser marcadas para tradução.
Git usa uma interface de internacionalização que envolve a
gettext
biblioteca do sistema , então a maioria dos conselhos em sua documentação gettext (em sistemas GNUinfo gettext
em um terminal) se aplica.
Em vigor desde git 1.7.9+ (janeiro de 2012):
O Git usa
gettext
para traduzir suas mensagens de interface mais comuns para o idioma do usuário se as traduções estiverem disponíveis e a localidade for definida de forma apropriada .
Os distribuidores podem inserir novosPO
arquivospo/
para adicionar novas traduções.
Portanto, se sua atualização atrapalhou a tradução, verifique o que gettext
usa:
Veja, por exemplo, " Variáveis de ambiente locais "
Uma localidade é composta de várias categorias de localidade, consulte Aspectos. Quando um programa procura valores dependentes de localidade, ele faz isso de acordo com as seguintes variáveis de ambiente, em ordem de prioridade:
LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG
Variáveis cujo valor está definido, mas está vazio, são ignoradas nesta pesquisa.
LANG
é a variável de ambiente normal para especificar uma localidade. Como um usuário, você normalmente define esta variável (a menos que algumas das outras variáveis já tenham sido definidas pelo sistema, em/etc/profile
ou em arquivos de inicialização semelhantes).
LC_CTYPE
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
,LC_MONETARY
,LC_MESSAGES
, E assim por diante, são as variáveis de ambiente destinadas a substituirLANG
e afetando apenas uma única categoria localidade.
Por exemplo, suponha que você seja um usuário sueco na Espanha e deseja que seus programas lidem com números e datas de acordo com as convenções espanholas, e apenas as mensagens devem estar em sueco. Então você pode criar um local chamado 'sv_ES
' ou 'sv_ES.UTF-8
' usando olocaledef
programa. Mas é mais simples, e consegue o mesmo efeito, definir aLANG
variável comoes_ES.UTF-8
e aLC_MESSAGES
variável comosv_SE.UTF-8
; esses dois locais já vêm pré-instalados com o sistema operacional.
LC_ALL
é uma variável de ambiente que substitui tudo isso. Normalmente é usado em scripts que executam programas específicos. Por exemplo, configure scripts gerados pelo GNUautoconf
useLC_ALL
para certificar-se de que os testes de configuração não operem de maneiras dependentes de localidade.Alguns sistemas, infelizmente, são configurados
LC_ALL
em/etc/profile
ou em arquivos de inicialização semelhantes. Como usuário, você deve, portanto, remover essa variável se quiser definirLANG
e, opcionalmente, algumas das outrasLC_xxx
variáveis.
LANG
na sessão bash / shell / DOS que você está usando git
(ou iniciando git-gui
), apenas git
(ou git-gui
) estará usando essa configuração específica. Todos os outros programas herdarão das variáveis de ambiente do sistema / usuário.
O padrão do GIT é o inglês se não encontrar o idioma local.
Portanto, se você quiser que o GIT esteja em inglês, sabote o arquivo de idioma com o qual ele está sendo executado. No meu caso estava sempre rodando em alemão (ie: de.msg ).
Se eu excluí-lo ou renomeá-lo, o padrão é o inglês.
Aqui eu renomei o arquivo
C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
.
/usr/local/Cellar/git/2.21.0/share/locale/
.
Como Bengt sugeriu: Adicione estas linhas ao seu ~/.bashrc
ou ~/.bash_profile
para forçar o git a exibir todas as mensagens em inglês:
vim ~/.bashrc
- para este perfil (se você for um usuário ubuntu
e editar isso, será apenas para este usuário); adicione estas linhas:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
#you can add also
LANG=en_GB
e depois de fechar o arquivo, você precisa escrever no shell:
source ~/.bashrc
para recarregar novas configurações ou sair do terminal e conectar novamente :)
LANG=en_GB
no ~/.bashrc
suposto fazer? Isso não apenas define a variável local LANG
?
Aqui está minha solução para alterar a linguagem git, depois responda isso e esta
1) nano ~/.bashrc
2) adicionar alias git='LANG=en_GB git'
ao arquivo
2) salvar o arquivo
4)source ~/.bashrc
Agora seu git já mudou o idioma. No entanto, SE após reiniciar o terminal e ele não funcionar mais, você precisa
4.1) nano ~/.profile
4.2) adicionarsource ~/.bashrc
4.3) salvar o arquivo
vai fazer source ~/.bashrc
funcionar sempre que você abrir o terminal
Espero que ajude