Re: quel nom pour une locale fr_geek : la solution technique

2003-07-11 Par sujet Denis Barbier
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




Re: quel nom pour une locale fr_geek : la solution technique

2003-07-11 Par sujet Martin Quinson
On Thu, Jul 10, 2003 at 09:49:25PM +0200, Denis Barbier wrote:
> On Thu, Jul 10, 2003 at 10:27:03AM +0200, Martin Quinson wrote:
> > On Tue, Jul 08, 2003 at 09:23:03PM +0200, Denis Barbier wrote:
> > 
> > > Mais l'initiative me semble débile, il y aura des geeks pour te
> > > demander de remplacer pilote par driver, bibliothèque par librairie,
> > > navigateur par browser, etc.
> > 
> > M'enfin, ca me tue, ca. Pourquoi ca serait debile ? L'idee n'est ni de se
> > mettre en concurence des traducteurs classiques, ni d'imposer ses vues, mais
> > de faire causer jargon a sa becane ? 
> > 
> > Si y'a des gens qui le veulent et le font, pourquoi on les empecherait ?
> > Y'a bien des gens pour traduire KDE en klingon, la langue des aliens dans
> > Star Trek[1]. 
> 
> Si tu avais laissé le début du message, il aurait été difficile de me
> faire ce procès d'intention.

Sorry Denis. Disons que t'es le Nieme a tenir ce genre de propos, et j'ai
demarre. Resorry. Et j'ai fait une coupe claire dans le contexte... Ups.

> > Par contre, va falloir se mettre d'accord pour se repartir la tache, et que
> > les efforts ne se marchent pas sur les lacets. Par exemple, je trouve qu'un
> > document donne ne devrait etre traduit en [EMAIL PROTECTED] que s'il est 
> > deja
> > traduit en fr_FR, histoire d'etre sur que les non geek ne seront jamais
> > confrontes au jargon geek...
> 
> Relis le message auquel je répondais :
>   L'idée n'est évidemment pas de faire concurrence à fr_FR,
>   mais juste de la compléter là où c'est vraiment trop moche
> Donc en clair : ne pas traduire, mais remplacer certains mots par
> leurs originaux.
> C'est une des raisons pour lesquelles je trouvais que c'est débile,
> tu ne peux pas monter une équipe de gens intéressés à faire la
> chasse aux mots blacklistés, ça va vite les lasser d'envoyer des
> corrections aux upstreams dès que la version française change.
> Il faudrait déjà que ces personnes soient d'accord sur la liste
> de mots à interdire, ce qui me semble improbable.

Oui, je doute aussi de la perenite de ce projet en tant qu'equipe, mais a
mon gout, plus y'a de monde pour parler de l10n (meme pour dire du mal),
plus je pense qu'on avance vers une Debian vraiment internationale. 
Mais bon.

> Pour arriver au résultat, il est beaucoup plus simple de filtrer
> ces mots avec msgunfmt|msgfilter|msgfmt sur la machine, sans
> chercher à diffuser la version modifiée.

Ahhh. J'etais sur que tu trouverais une facon de faire ceci automatiquement
en moins de deux. msgunfmt. Je l'avais oublie...

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. 

Mais surtout, ca ecrase la locale normale. Mmm. Tant pis pour ce soir.



Bien, le probleme technique est resolu (Merci Denis, comme d'hab).

Reste a etablir la liste des mots.  Quels sont les mots moches dans une
traduction qu'on peut avoir envie de convertir ? Ca m'interresse a fond.
J'espere y trouver de l'inspiration pour ameliorer les traductions
"classiques". Elles sont pas parfaites, non plus. Je laisse
s/bibliotheques/librairies/ et autres s/encapsulateur/wrappeur/ a la
variante geek de notre langue, mais y'en a ptet des qu'on ferait bien
d'appliquer chez nous aussi... 



Par ailleurs, si on veut se faire un delire "histoire des pingouins", faut
au moins:

  s/Mandrake/Man Drake/
  s/Microsoft/E-Empire/
  s/RedHat/Redhatte/
  s/Debian/De Bean/
  s/Solaris/temple Solaris/
  s/Intel/Untel/
  s/PC/Pesset/
  s/ordinateur/châssis/i
  s/utilisateurs avances/pilotes/i
  s/experts/maitre/
  s/utilisateur/neuneu/i (c'est pas moi, c'est l'histoire des pingouins)

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"

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"


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. 

Yapluka. 

Mt, sur qui le manque de sommeil a des