[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Passage en langue anglaise



On Tue, Aug 08, 2006 at 11:09:52PM +0200, Sylvain Sauvage wrote:
> 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.

Effectivement, cette explication est très logique, mais il faut utiliser
LC_ALL=C qui a une priorité supérieure à LANG ;)
Merci.

Denis



Reply to: