Forum Programmation.perl Perl, les locales (gettext) et le packaging

Posté par (page perso) .
Tags : aucun
0
8
nov.
2005
Salut forum,
j'ai récemment développé un chtit programme en perl/Gtk2 que je sortirai prochainement, il sert à réduire facilement un lot d'images, si on veut les mailer par exemple (développé à l'origine pour un néophyte).

Problème n°1 : Le programme marche nickel, mais j'aimerais intégrer la gestion des langues dedans. Comme en plus j'utilise glade, je suppose qu'il faut fusionner les .po du fichier glade et du script perl. Cela dit, j'ai vu deux trois tutoriels en C, mais je sais pas quoi trop utiliser en perl (Gettext ? Locale::Maketext ?). En gros je suis un peu paumé, moi j'aimerais pouvoir lui dire de se binder sur la variable d'environnement LANG, de charger le .mo qui va bien, et d'utiliser _() ou gettext() ensuite.

Problème n°2 : sous linux, l'application s'installe assez facilement, mais je n'ai pas encore bien packagé le tout. J'ai backporté des rpms de perl-gtk2 et perl-gtk2-libglade ainsi que perl-glib depuis la fedora 5 rawhide, ce qui facilite l'opération. Mes questions : Qu'apporte la solution du Makefile.PL, que je vois régulièrement (ne serait-ce que pour les modules perl), étant donné que je ne connais pas les autotools ?
Pour windauze, je compte faire mumuse avec PAR, qui a l'air de roulaizer des ours. Cela dit, la solution marche aussi pour linux je crois, vaut-il mieux ça ?

Merci de vos réponses
  • # gettext ? poubelle !

    Posté par (page perso) . Évalué à 3.

    La maniere de faire du l10n propre sous perl :

    perldoc Locale::Maketext

    perldoc Locale::Maketext::TPJ13 ( http://perldoc.perl.org/Locale/Maketext/TPJ13.html )

    L'article du perl journal est tres clair sur pourquoi gettext pue un max :)
    • [^] # Re: gettext ? poubelle !

      Posté par (page perso) . Évalué à 1.

      Salut,
      merci de tes deux réponses.
      Concernant la traduction, la solution maketext me semble un marteau pour écraser une mouche, mon fichier po doit faire 10 lignes à tout péter. Cela dit, il est évident que cette solution est superieure techniquement. Donc je me demande si je vais pas rester avec Locale::gettext, qui est j'espère plus simple (pas besoin/possible de définir les lexicons etc.). Cela dit j'ai bien rigolé en lisant l'article, pratiquant le russe et connaissant^W^Wmassacrant leur grammaire sur-complexe.
      Pour ce qui est du packaging, tu as éclairé ma lanterne. Je vais faire mumuse avec PAR pour la version windows, j'ai lu sur des mailing lists que ça marchait avec Gtk2. Et je tire de ta réponse que mieux vaut utiliser ExtUtils::* pour faire le Makefile.
      Suivant ma charge de travail (scolaire :( ), le soft devrait sortir ce week-end (quel suspense...), dans la plus pure tradition clickodrome neuneu-proof.
      • [^] # Re: gettext ? poubelle !

        Posté par (page perso) . Évalué à 1.

        Oups, je sais pas pourquoi j'ai parlé de gettext, va pour Locale::Maketext. Par contre, ok pour du 100% perl, mais mon interface est dans un fichier glade. Je m'extrais toutes les chaînes à la mano ?
  • # ExtUtils::MakeMaker & Module::Build

    Posté par (page perso) . Évalué à 3.

    Makefile.PL n'a aucun rapport avec les autotools & co. c'est le fichier standard à utiliser avec ExtUtils::MakeMaker.

    Un autre systeme - que je n'ai jamais testé - existe Module::Build .

    L'interet de ces deux modules est de pouvoir installer, upgrader, desinstaller un paquet Perl de maniere identique dans tous les environnement.

    Pour comprendre cela, il faut imaginer perl comme une distribution "à la gentoo" avec des dependances et tout le tralala.

    http://search.cpan.org/~kwilliams/Module-Build/

    http://search.cpan.org/dist/ExtUtils-MakeMaker/

    http://www.perl.com/pub/a/2003/02/12/module1.html

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.