repositorio - git push example
¿Cómo se puede cambiar el idioma de la interfaz de línea de comando de Git? (4)
Me gustaría cambiar el idioma de git (en inglés) en mi instalación de Linux y no pude encontrar la configuración. ¿Cómo hacerlo?
GIT se establece de forma predeterminada en inglés si no puede encontrar el idioma de configuración regional.
Entonces, si quieres que GIT esté en inglés, sabotea el archivo de idioma con el que se está ejecutando. En mi caso, siempre funcionaba con alemán (es decir, de.msg ).
Si lo eliminé o lo renombré, entonces de manera predeterminada en inglés.
Aquí renombré el archivo
Nota: desde Git 2.3.1+ (Q1 / Q2 2015), Git agregará el encabezado Aceptar idioma si es posible.
Ver commit f18604b por Yi EungJun ( npcode
)
Agregue un encabezado
Accept-Language
que indique 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 configuración regional para git gui u otras GUI , pero no para la línea de comando, considerando que fue una de las preguntas de GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
Por supuesto, desde 2010, como po/README
describe:
Antes de traducir las cadenas, primero deben marcarse para la traducción.
Git usa una interfaz de internacionalización que envuelve la biblioteca
gettext
del sistema , por lo que la mayoría de los consejos en su documentación de gettext (eninfo gettext
sistemas GNUinfo gettext
en un terminal) se aplica.
En su lugar desde git 1.7.9+ (enero de 2012):
Git usa
gettext
para traducir sus mensajes de interfaz más comunes al idioma del usuario si las traducciones están disponibles y la configuración regional está configurada adecuadamente .
Los distribuidores pueden colocar nuevos archivosPO
enpo/
para agregar nuevas traducciones.
Entonces, si su actualización ha estropeado la traducción, verifique qué usa gettext
:
Ver, por ejemplo, " Variables del entorno local "
Una configuración regional se compone de varias categorías locales, vea 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 configura esta variable (a menos que algunas de las otras variables ya las haya configurado el sistema, en/etc/profile
o archivos de inicialización 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 afectar solo a una categoría de configuración regional única.
Por ejemplo, supongamos 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 denominada ''sv_ES
'' o ''sv_ES.UTF-8
'' mediante el uso del programalocaledef
. Pero es más simple, y logra el mismo efecto, establecer la variableLANG
aes_ES.UTF-8
y la variablesv_SE.UTF-8
asv_SE.UTF-8
; estos dos locales ya vienen preinstalados con el sistema operativo.
LC_ALL
es una variable de entorno que anula todos estos. Normalmente se usa en scripts que ejecutan programas particulares. Por ejemplo, configure scripts generados porautoconf
GNU, useLC_ALL
para asegurarse de que las pruebas de configuración no operen en formas dependientes de la configuración regional.Desafortunadamente, algunos sistemas configuran
LC_ALL
en/etc/profile
o en archivos de inicialización similares. Como usuario, por lo tanto, debe desarmar esta variable si desea configurarLANG
y opcionalmente algunas de las otras variablesLC_xxx
.
Si solo quieres tener un comando en inglés, puedes 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 utilizada en C
es inglés y siempre está disponible sin instalar paquetes de idioma adicionales
(ver https://askubuntu.com/a/142814/34298 )
Para cambiarlo por toda la sesión de bash actual simplemente ingrese
LANG=C
Para cambiarlo, por ejemplo, a alemán enter
LANG=de_DE.UTF-8
Agregue estas líneas a su ~/.bashrc
o ~/.bash_profile
para forzar que git muestre 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 sobrescribir LC_ALL
en algunos sistemas, cuando se establece la variable de entorno LC_ALL
, que tiene prioridad sobre LANG
. Consulte la Especificación de UNIX - Variables de entorno para obtener una explicación más detallada.
# Set Git language to English
#alias git=''LC_ALL=en_US git''
alias git=''LC_ALL=en_GB git''
En caso de que agregue estas líneas a ~/.bashrc
el alias se definirá cuando comience un nuevo caparazón interactivo. En caso de que lo hayas agregado a ~/.bash_profile
el alias se aplicará al iniciar sesión.