Me gustaría cambiar el idioma de git (a inglés) en mi instalación de Linux sin cambiar el idioma de otros programas y no pude encontrar la configuración. ¿Cómo hacerlo?
Me gustaría cambiar el idioma de git (a inglés) en mi instalación de Linux sin cambiar el idioma de otros programas y no pude encontrar la configuración. ¿Cómo hacerlo?
Respuestas:
Agregue estas líneas a su ~/.bashrc
o ~/.bash_profile
para forzar a git a mostrar todos los mensajes en inglés:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
El alias debe anularse LC_ALL
en algunos sistemas, cuando se establece la variable de entorno LC_ALL
, que tiene prioridad sobre LANG
. Consulte la Especificación UNIX - Variables de entorno para obtener más explicaciones.
# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'
En caso de que haya agregado estas líneas al ~/.bashrc
alias, se definirá cuando se inicie un nuevo shell interactivo. En caso de que lo hayas agregado al ~/.bash_profile
alias, se aplicará al iniciar sesión.
.bash.rc
lugar de .bashrc
). También debe cerrar e iniciar el shell nuevamente para .bashrc
que se ejecute. También agregué una nota sobre esto.
.bashrc
incluso con reiniciar. Los alias funcionan. Es solo que el idioma no cambia.
.bashrc
se ejecute correctamente, puede agregar una prueba como echo "This is .bashrc"
al final del archivo. También puede ejecutarlo bajo demanda sin tener que reiniciar el terminal o todo el sistema . .bashrc
. Finalmente, sugeriría intentar establecer la LC_ALL
variable de entorno en lugar de LANG
, ya que la primera tiene prioridad.
.bashrc
, de verdad. Si LC_ALL
tiene prioridad, entonces este será el problema, está configurado en mi idioma. Pero entonces no quiero cambiar la configuración general del idioma ... ¿No puedo sobrescribirlo para un programa?
$ LC_ALL="en_US" man
y luego$ man
Si solo desea tener un comando en inglés, puede escribir LC_ALL=C
antes del comando, por ejemplo:
LC_ALL=C git status
resultará en
# On branch master
nothing to commit, working directory clean
La configuración regional que se usa en C
es inglés y siempre está disponible sin instalar paquetes de idiomas adicionales
(consulte https://askubuntu.com/a/142814/34298 )
Para cambiarlo para toda la sesión de bash actual, simplemente ingrese
LANG=C
Para cambiarlo por ejemplo a alemán ingrese
LANG=de_DE.UTF-8
LC_ALL=C
sugerencia, ya que tengo algunos problemas con la configuración regional, LC_ALL="en_US"
no funcionó más recientemente.
Agregar esta línea resolvió el problema para mí:
$ more ~/.bash_profile
export LANG=en_US
Nota: desde Git 2.3.1+ (Q1 / Q2 2015), Git agregará el encabezado Accept-Language si es posible.
Ver la confirmación f18604b de Yi EungJun ( eungjun-yi
)
Añadir una
Accept-Language
cabecera que indica los idiomas preferidos del usuario definidos por$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
y$LANG
.Esto le da a los servidores de git la oportunidad de mostrar mensajes de error remotos en el idioma preferido del usuario.
Tiene una configuración regional para git gui u otras GUI ,pero no para la línea de comandos, considerando que fue una de las preguntas de GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
Por supuesto, desde 2010, como se po/README
describe:
Antes de que las cadenas se puedan traducir, primero deben marcarse para su traducción.
Git usa una interfaz de internacionalización que envuelve la
gettext
biblioteca del sistema , por lo que seinfo gettext
aplican la mayoría de los consejos en su documentación de gettext (en sistemas GNU en una terminal).
En su lugar desde git 1.7.9+ (enero de 2012):
Git utiliza
gettext
para traducir sus mensajes de interfaz más comunes al idioma del usuario si hay traducciones disponibles y la configuración regional está configurada correctamente .
Los distribuidores pueden colocar nuevosPO
archivospo/
para agregar nuevas traducciones.
Por lo tanto, si su actualización ha estropeado la traducción, verifique qué gettext
usos:
consulte, por ejemplo, " Variables de entorno local "
Una configuración regional se compone de varias categorías de configuración regional, consulte Aspectos. Cuando un programa busca valores dependientes de la configuración regional, lo hace de acuerdo con las siguientes variables de entorno, en orden de prioridad:
LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG
Las variables cuyo valor está establecido pero está vacío se ignoran en esta búsqueda.
LANG
es la variable de entorno normal para especificar una configuración regional. Como usuario, normalmente establece esta variable (a menos que el sistema ya haya establecido algunas de las otras variables, en/etc/profile
archivos de inicialización o similares).
LC_CTYPE
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
,LC_MONETARY
,LC_MESSAGES
, Y así sucesivamente, son las variables de entorno destinadas a anularLANG
y que afecta sólo a una única categoría de localización.
Por ejemplo, suponga que es un usuario sueco en España y desea que sus programas manejen números y fechas de acuerdo con las convenciones españolas, y solo los mensajes deben estar en sueco. Luego, podría crear una configuración regional llamadasv_ES
"osv_ES.UTF-8
" mediante el uso dellocaledef
programa. Pero es más sencillo y logra el mismo efecto establecer laLANG
variable enes_ES.UTF-8
y laLC_MESSAGES
variable ensv_SE.UTF-8
; estas dos configuraciones regionales ya vienen preinstaladas con el sistema operativo.
LC_ALL
es una variable de entorno que anula todos estos. Suele utilizarse en scripts que ejecutan programas particulares. Por ejemplo, configure los scripts generados por elautoconf
uso de GNULC_ALL
para asegurarse de que las pruebas de configuración no operen de manera dependiente de la configuración regional.Algunos sistemas, desafortunadamente, se instalan
LC_ALL
en/etc/profile
archivos de inicialización similares. Como usuario, por lo tanto, debe desarmar esta variable si desea establecerLANG
y, opcionalmente, algunas de las otrasLC_xxx
variables.
LANG
en la sesión bash / shell / DOS que estás usando git
(o git-gui
desde la que inicias ), solo git
(o git-gui
) usará esa configuración específica. Todos los demás programas heredarán de las variables de entorno del sistema / usuario.
GIT toma el inglés de forma predeterminada si no puede encontrar el idioma de la configuración regional.
Entonces, si desea que GIT esté en inglés, simplemente sabotee el archivo de idioma con el que se está ejecutando. En mi caso, siempre se ejecutó con alemán (es decir: de.msg ).
Si lo eliminé o lo renombré, entonces se estableció por defecto en inglés.
Aquí cambié el nombre del archivo
C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
.
/usr/local/Cellar/git/2.21.0/share/locale/
.
Como sugirió Bengt: Agregue estas líneas a su ~/.bashrc
o ~/.bash_profile
para forzar a git a mostrar todos los mensajes en inglés:
vim ~/.bashrc
- para este perfil (si es usuario ubuntu
y edita esto, será solo para este usuario); agregue estas líneas:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
#you can add also
LANG=en_GB
y después de cerrar el archivo, debe escribir en shell:
source ~/.bashrc
para recargar nuevas configuraciones o salir del terminal y conectarse de nuevo :)
LANG=en_GB
de ~/.bashrc
que hacer? ¿No define eso la variable local LANG
?
Aquí está mi solución para cambiar el idioma de git, siga responda esto y esto
1) nano ~/.bashrc
2) agregar alias git='LANG=en_GB git'
al archivo
2) guardar el archivo
4)source ~/.bashrc
Ahora tu git ya ha cambiado el idioma. Sin embargo, SI después de su terminal de reinicio y no funciona más, es necesario
4.1) nano ~/.profile
4.2) agregar source ~/.bashrc
4.3) guardar el archivo
se source ~/.bashrc
ejecutará cada vez que abra la terminal
Espero que ayude