Primera pregunta ¿Porque?
Y la primera respuesta porque en mi caso por ejemplo tenia un código fuente y al pasarle un make (link a la wikipedia) y me daba unos errores de compilación en perfecto español (algo incompresibles), pero ahí esta el problema que por mas que buscaba a resolver el incompresible error en español pues había pocos resultados en internet.
Así que el porque es por que por unas cosas u otras hay mucha mas información en ingles de estos temas, y si tienes un mensajes de error en español y encima no encuentras una traducción exacta al ingles pues no encuentras mucho.
El tema estaba también en que no quería cambiar idioma del Linux de forma permanente (para mi usuario, o para todos), sino algo temporal y encontré la forma simple.
La solución, requisitos previos es tener los paquetes de idioma en ingles (o del idioma que buscas tener)…que normalmente se instalan a la vez que los de español. Es cambiar temporalmente la variable de idioma, tan temporalmente que solo es para el programa que vas a ejecutar. Y es usando el comando env (link a la wikipedia en ingles) que lo que hace es darte un “campo de juego” nuevo para el programa que le pases, aparte puedes cambiar las variables de entorno (que afectan a muchas cosas), bueno vamos verlo que se ve mejor:
Llamo al compilador gcc pasandole un fichero que no existe que se llamaria si existiese “notengoelfichero.c”
md@ZXspectrum:~$ gcc notengoelfichero.c
gcc: notengoelfichero.c: No existe el fichero ó directorio
gcc: no hay ficheros de entrada
md@ZXspectrum:~$
Entonces queremos los mensajes en ingles, pues lo hacemos tal que así y después lo explicamos:
md@ZXspectrum:~$ env LANG=en_uk.UTF-8 gcc notengoelfichero.c
gcc: notengoelfichero.c: No such file or directory
gcc: no input files
md@ZXspectrum:~$
Y cuando termina vuelve a estar el Linux tal cual sin tener la casa sucia y todo tirado porque el env se ha ido y se llevado el ingles y todo, dejándonos todo como siempre.
Si veis tenemos el mismo gcc notengoelfichero.c pero antes le hemos añadido el env LANG=en_uk.UTF-8, que estamos diciendo queremos un “campo de juego” y le hemos dicho que LANG que es la variable de sistema que dice el lenguaje, le hemos dicho que sea en_uk.UTF-8. Si es un palabro feo pero viene a decir “en” de english y “uk” de “unitedkindog” :P Gran Bretaña y el .UTF-8 es otro palabro feo que dice que queremos UTF-8 que es un formato de letras y poco mas te puedo contar sin liar.