Re: Passage en langue anglaise
Mardi 8 août 2006, 22:33:02 CEST, Denis Barbier a écrit :
>[...]
> Si LANG=C (ou est une locale qui n'existe pas, ce qui est équivalent),
> le contenu de LANGUAGE est ignoré, les messages originaux sont écrits.
> Je ne connais pas la raison exacte, mais c'est fait exprès d'après les
> commentaires dans les sources.
C'est pour pouvoir parser la sortie d'un programme indépendamment de la
locale.
Exemples :
- 'ifconfig | grep adresse' ne fonctionne pas en anglais, donc à éviter ;
- de même, 'ifconfig | grep address' peut ne pas fonctionner : si la
locale de celui qui exécute le script est le français (même s'il s'agit
de root), c'est « adresse » qu'il faut chercher.
La solution est donc de fixer la locale dans le script/programme pour que
la sortie soit conforme à ce que l'on attend en entrée.
Et la seule « locale » qui soit sur tous les postes, c'est l'absence de
locale. Avec LANG=C, on est assuré de ne pas être perturbé par la locale.
--
Sylvain Sauvage
Reply to: