Le dimanche 28 avril 2013 à 00:34:05 (+0200), "Gérard - g.mail" a écrit :
Le 27/04/2013 23:50, Jérôme Fenal a écrit :
Il y a même pire. Si dans le texte il y a « 100% sure », et que tu traduis par « 100% certain », il refusera catégoriquement de prendre ta traduction. Motif : le paramètre %s (% s...ure) n'est pas retrouvé dans la chaîne traduite.
J'ai ouvert le ticket suivant : https://github.com/transifex/transifex/issues/219
Il a été fermé dans la foulée comme n'étant pas un bug, mais je ne suis pas du tout convaincu. À creuser notamment sur la notation du « % » dans gettext... À doubler ou pas ?
Désolé de te confirmer qu'il n'y a pas bug. Le signe % dans Docbook (utilisé par publican pour générer les pages web) est un marqueur d'entité, tu ne peux pas l'écrire directement de manière brute. Il faut que tu l'écrives % avec l'esperluette, le code et le point virgule. Donc si tu écris, « 100 % certain », je suis sûr que cela passe comme une lettre à la poste et tu liras « 100 % certain » dans la page web.
Le standard Gettext, si mes souvenirs sont bon, échappe le « % » en le doublant. Transifex est développé au plus près du standard, et donc indique l'erreur. Gérard, tu as très certainement raison, mais l'erreur initiale vient probablement des sources. Nous ne devrions pas à modifier le codage des traductions. Après, si Docbook n'interprète pas correctement le %% pour génerer le POT (ou la traduction avec les PO), et bien peut-être que l'éditeur de la documentation devrait lui saisir « % » au lieu du signe lui-même. Il me semble que % devrait être précédé d'une espace insécable fine, et donc le « » n'est pas tout à fait juste dans l'exemple, mais c'est un autre détail.
Je parle bien sûr des traductions de Guides.
Jérôme, j'attire l'attention sur le problème de modification du codage. J'ai corrigé de nombreux code HTML dans les sites internet.. Nous utilisons Genshi, qui échape le code lui même. Donc si dans l'originale tu as « Attention: », et que tu traduis par « Attention : », le code sera échappé (& remplacé par &) et donc l'effet attendu sera incorrect.