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

usage de gettext (etait: Recherche volontaires ...)



On Mon, Feb 26, 2001 at 03:39:36PM +0100, Charles Goyard wrote:
> Martin Quinson a écrit :
> > On Mon, Feb 26, 2001 at 03:13:57PM +0100, Charles Goyard wrote:
> > > De plus, traduire un document révèle souvent des problèmes au niveau
> > > du design (c'est le cas avec les en-têtes de section dans dselect, qui
> > > donnent une phrase correcte en anglais mais n'importe quoi en
> > > français).
> > 
> > Non, ca, c'est ma faute. J'ai fait le con, gettext permet de modifier
> > l'ordre des ajouts dans un formatage C:
> > "This is a %s %s" + "blue" "car" pour faire "This is a blue car".
> > Si on traduit par
> > "C'est une %s %s" + "bleue" "voiture", ca chie, ca fait "C'est une bleue
> > voiture"
> > Mais si on traduit par
> > "C'est une %2$s %1$s" + "bleue" "voiture", ca donne bien "C'est une voiture
> > bleue".
> > 
> > C'est corrigé depuis au moins un mois, mais comme je suis jamais à une
> > connerie pret, j'ai modifié la version du CVS, et pas dans la branche qui
> > est publiée en ce moment (la 1.8.x). J'ai modifié la branche qui deviendra
> > la 1.9.x J'en ai parlé avec Wichert, il m'a dit qu'il ne pense pas sortir
> > une autre 1.8.x (donc pas la peine que je corrige cette branche aussi), et
> > que la 1.9.0 devrait sortir d'ici un mois.
> > 
> > Bref, pas un probleme de design, mais un probleme de traduction...
> 
> Pas d'accord, il est clairement dit, par exemple, dans les "coding
> standards" GNU, qu'il faut éviter au possible de considérer que toutes
> les langues fonctionnent pareil, et un exemple donné est le cas du
> pluriel, quand tu fais quelque chose comme :
> 
> "il a %i jambe%c.", nb, nb>1?"s":""
> 
> il faut écrire ceci comme ça :
> 
> si(nb < 1) {
> 	"il a %i jambes", nb;
> }
> sinon {
> 	"il a %i jambe", nb;
> }
> 
> Ceci est plus long, ça fait moins "t'as vu comment je m'y connais et
> comment je gère le pluriel en moins de 10 caractères ?", mais
> nettement plus portable pour les langues qui n'utilisent pas les mêmes
> structures de phrases et d'accord que les occidentaux.

C'est une fausse bonne idée. Ca va marcher pour un peu plus de langues, mais
c'est pas encore Ca. Quid du dual en arabe (dans cette langue, il y a un
singulier et un pluriel, mais aussi un dual, pour quand il y a deux objets) ?
Et encore pire, en polonais, si j'en crois la doc de gettext, il faudrait
une chaine differente pour chacun des cas 1,2,3,4,5,6,7...50 plus 100. Je
suis plus certains, mais c'est un truc comme ca.

Conclusion malheureuse : on a aucune solution de gèrer le pluriel dans
toutes les langues...

> Je persiste à dire que l'affichage des en-têtes de dselect, même si le
> problème a été corrigé, est une erreur de design.

Certes, un autre design m'aurait évité de me faire avoir comme un enfant.

Bye, Mt.



Reply to: