On Fri, Jul 11, 2003 at 02:33:12AM +0200, Martin Quinson wrote:
[...]
> Donc, le script ressemblerait a
> for n in /usr/share/locale/fr/LC_MESSAGES/* ; do
> b=`basename $n`
> msgunfmt $n | \
> msgfilter sed -e 's/c�d�rom/CD-ROM/' | \
> msgfmt -o /tmp/$b && \
> sudo mv /tmp/$b $n
> done
>
> Et pour corriger plusieurs choses d'un coup, faut utiliser l'option -f de
> msgfilter et lui donner un script sed a manger (facile).
>
> Bon, c'est perfectible. msgconv peut etre necessaire pour eviter les pbs
> d'encodage, mais je suis nul en ca, et a priori, ca devrait pas poser de
> probleme ici.
Si, comme les mots que tu passes � sed contiennent des accents,
il faut mettre
msgconv -t $encoding
entre msgunfmt et msgfilter, o� $encoding est le codage utilis� sur la
ligne de commande de sed.
[...]
> s/utilisateur/neuneu/i (c'est pas moi, c'est l'histoire des pingouins)
Et aussi
s/manchot/pingouin/
> et ainsi de suite. J'ai pas la force de relire toute l'histoire des
> pingouins ce soir, mais si quelqu'un fait une telle liste, je pense que je
> l'installerais, cette locale. Ca serait pas assez et faudrait tout reecrire,
> mais deja, ca serait terrible. Je vous conseille aussi d'essayer le script
> precedent en remplacant "sed -e 'blabla'" par "eleet" (du paquet filters).
> Ca donne par exemple:
>
> msgid "%s: option %c%s' doesn't allow an argument\n"
> msgstr "%5: l'0pt10n %c%5 n'4tt3nd p45 d'4rgum3nt\n"
^^ pas terrible
> Ou alors "upside-down":
>
> msgid "%s: option %c%s' doesn't allow an argument\n"
> msgstr "fuawn6je,p sed puaffe,u s%)% uo!fdo,7 :s%\n"
Pas top non plus.
> Soit dit au passage, faut pas priver les geeks belges et autres. [EMAIL
> PROTECTED]
> suffi, non ? C'est qu'on a coupe aux schismes nationaux jusqu'ici, alors si
> on pouvait eviter de schismer deux fois d'un coup, ca serait peut etre mieux.
En fait, il y a 2 choses distinctes : la cr�ation �ventuelle d'une � locale �,
je pense qu'elle doit alors contenir le � territory code �, et le r�pertoire
des messages. Ce dernier peut effectivement �tre sous
/usr/share/locale/[EMAIL PROTECTED]/ et non /usr/share/locale/[EMAIL PROTECTED]/
Contrairement � ce que j'avais �crit dans un message pr�c�dent, la variable
LC_MESSAGES ne semble pas prise en compte pour les programmes utilisant
gettext, il faut red�finir LANG ou LANGUAGE. La 2e solution est plus simple,
car ne n�cessite pas la cr�ation d'une locale, il faut juste mettre
les fichiers .mo sous /usr/share/locale/[EMAIL PROTECTED]/LC_MESSAGES/.
Mais je n'ai jamais compris dans le d�tail comment se fait le choix de la
langue � afficher, donc je peux me tromper.
Denis