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

Re: Francais



JEAN CHARLES BAGNERIS a écrit :
> > Certain d'entre vous ont peut etre deja fait l'experience suivante.
> > Moi c'a ma beaucoup plus et j'aimerai le faire partager a ceux qui
> > n'ont pas eu l'idée. 
> 
> D'abord merci, ça fait trois jours que je bidouille avec les locales pour
> arriver à ce résultat... et justement avec Mutt ! (Désolé de ce post
> d'ailleurs : il vient d'Outlook, je suis au bureau)
> 
> A l'évidence, tous ces programmes partagent qqchose genre ncurses (librairie
> liée à l'environnement en mode terminal).
> Je ne sais pas quoi exactement, c'est peut-être marqué dans le French-HowTo,
> sinon, moi aussi, j'aimerai bien qu'un pro nous fasse un petit résumé...

Ces programmes partagent gettext, qui est une bibliothèques de fonctions
permettant de créer des logiciels multilingues très facilement.
typiquement, on met dans un programme:
printf("%s", gettext("hello"));

puis dans un fichier catalogue séparé la traduction (un fichier par langue
et par programme), genre:
dans /usr/share/locale/fr/mutt.mo :
"hello" -> "salut"
(la syntaxe est fausse mais c'est l'idée)

Ensuite, en fonction de la langue que l'on déclare, tous les programmes qui
utilisent gettext savent aller chercher les traductions des messages. C'est
un mécanisme très puissant et pratique: un seul programme pour toutes les
langues, et (presque) n'importe qui peut faire les traductions.

Voir le répertoire "/usr/share/locale/".

Bon, j'ai un peu simplifié mais l'idée est là. Pour + d'infos: info gettext
(il faut avoir installé le paquet gettext).


-- 
Charles 
perl -e 'printf("Are you suggesting %s migrate?\n",($a=shift)?$a:
open(D,"/usr/share/dict/american-english")?substr($l[rand(@l=grep
(/s$/,<D>))],0,-1):"coconuts")'



Reply to: