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-Languageque indique los idiomas preferidos del usuario definidos por$LANGUAGE,$LC_ALL,$LC_MESSAGESy$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
gettextdel sistema , por lo que la mayoría de los consejos en su documentación de gettext (eninfo gettextsistemas GNUinfo gettexten un terminal) se aplica.
En su lugar desde git 1.7.9+ (enero de 2012):
Git usa
gettextpara 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 archivosPOenpo/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.
LANGes 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/profileo 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 anularLANGy 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 variableLANGaes_ES.UTF-8y la variablesv_SE.UTF-8asv_SE.UTF-8; estos dos locales ya vienen preinstalados con el sistema operativo.
LC_ALLes una variable de entorno que anula todos estos. Normalmente se usa en scripts que ejecutan programas particulares. Por ejemplo, configure scripts generados porautoconfGNU, useLC_ALLpara asegurarse de que las pruebas de configuración no operen en formas dependientes de la configuración regional.Desafortunadamente, algunos sistemas configuran
LC_ALLen/etc/profileo en archivos de inicialización similares. Como usuario, por lo tanto, debe desarmar esta variable si desea configurarLANGy 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.