Patrice Karatchentzeff écrivait :

[...]

 > 
 > PS : seul indice : le msgfmt me sort une erreur : « attention:
 > l'en-tête n'a pas été trouvé ». Comme j'ignore de quel en-tête il
 > parle (et que j'ai rempli les champs traditionnels d'en-têtes), je ne
 > suis pas avancé :-(

Bon, hormis la probable salade d'appels introduite par gettext() avec
les processus de Tk, j'ai un problème encore plus basique :

   #!/usr/bin/perl -w
   
   use POSIX;
   use Locale::gettext;
   setlocale(LC_ALL, "");
   bindtextdomain("essai", "./");
   textdomain("essai");
   
   print gettext("bonjour le monde !"), "\n";

Ce programme fonctionne avec (et sans bien sûr ;-) ) l'i18n.

Si je suis la doc /usr/share/doc/liblocale-gettext-perl/README.gz, je
fabrique un .po sur le modèle :

   --BEGIN
   domain "essai"
   
   #: essai.pl:9
   msgid "bonjour le monde !"
   msgstr "Hello, world!"
   --END

et là :

$ msgfmt -v essai.po
/home/pk/gettext/essai.po:14: parse error
/home/pk/gettext/essai.po:20: parse error
/home/pk/gettext/essai.po: attention: l'en-tête n'a pas été trouvé
3 erreurs terminales

La ligne 14 et 20 correspondent aux BEGIN et END (j'ai zapé les
commentaires). Pas de .mo évidemment. Et rien à faire pour savoir ce
qu'est ce (censuré) d'en-tête qu'il réclame (« warning: no header
entry found » dans la langue de J'expire) !

J'ai essayé tous les bricolages : avec et sans BEGIN/END, remplacement
de -- par __, retirer domain, etc.

*Rien* ne fonctionne. La doc n'est donc pas valable. Sur le plus petit
des exemples :-(

Rapport de bogue Raphaël ?

PK

-- 
      |\      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:[EMAIL PROTECTED]
     |,4-  ) )-,_. ,\ (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'\_)       


Répondre à