IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

Le pluriel avec Zend_Translate Gettext et PoEdit [ZF 1.10]


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Par défaut Le pluriel avec Zend_Translate Gettext et PoEdit
    Bonjour,

    Je désire utiliser Zend_Translate avec l'adaptateur Gettext pour internationaliser une application.
    Connaissant mal Gettext et PoEdit (logiciel pour éditer les fichiers de traductions), j'ai effectué le test suivant :

    Code test.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
     
    $translate = new Zend_Translate('gettext',
    			      '/mon/chemin/source-de.mo',
    			      'de');
    $translate->addTranslation('//mon/chemin/fr-source.mo', 'fr');
     
    print $translate->_("Exemple")."\n";
    print "=======\n";
    print $translate->_("Ceci la ligne une")."\n";
    printf($translate->_("Aujourd'hui nous sommes le %1\$s") . "\n",
    		   date("d/m/Y"));
    print "\n";
    $translate->setLocale('fr');
    print $translate->_("Correction de la langue ceci est la ligne deux") . "\n";
    print $translate->plural("Il y a %1\$d article dans votre panier","Il y a %1\$d articles dans votre panier",$number) . "\n";

    Voici le fichier .po généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    msgid ""
    msgstr ""
    "Project-Id-Version: test\n"
    "Report-Msgid-Bugs-To: \n"
    "POT-Creation-Date: 2010-05-28 01:12-0000\n"
    "PO-Revision-Date: 2010-05-28 01:12-0000\n"
    "Last-Translator: Traducteur <iletaitunfois@hotmail.fr>\n"
    "Language-Team: Feng\n"
    "Language: \n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=UTF-8\n"
    "Content-Transfer-Encoding: 8bit\n"
    "X-Poedit-KeywordsList: _;gettext;gettext_noop;translate;plural\n"
    "X-Poedit-Basepath: /home/feng/projets/1ersite\n"
    "X-Poedit-Language: French\n"
    "X-Poedit-Country: FRANCE\n"
    "X-Poedit-SourceCharset: utf-8\n"
    "Plural-Forms: nplurals=2; plural=(n>1);\n"
    "X-Poedit-SearchPath-0: application\n"
     
    #: application/test.php:8
    msgid "Exemple"
    msgstr "Exemple"
     
    #: application/test.php:10
    msgid "Ceci la ligne une"
    msgstr "Ceci la ligne une"
     
    #: application/test.php:11
    #, php-format
    msgid "Aujourd'hui nous sommes le %1$s"
    msgstr "Aujourd'hui nous sommes le %1$s"
     
    #: application/test.php:15
    msgid "Correction de la langue ceci est la ligne deux"
    msgstr "Correction de la langue ceci est la ligne deux"
     
    #: application/test.php:16
    #, php-format
    msgid "Il y a %1$d article dans votre panier"
    msgstr "Il y a %1$d article dans votre panier"
    Je ne comprends pas pourquoi PoEdit ne reconnait pas mon pluriel.

    En outre, comment puis-je faire pour séparer mes fichiers de traduction ?
    Par exemple un fichier pour le menu, un autre pour le formulaire1, etc ; Côté Zend j'ai vu la doc ok, mais côté PoEdit ??

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Par défaut
    Bonjour,

    J'ai posté sur la mailling list de PoEdit et on m'a répondu, la solution était dans les "keywords" : lorsqu'un keyword est ajouté pour générer un pluriel, on doit le délcarer ainsi :

    keyword:1,2

    1 et 2 étant respectivement la forme singulière et plurielle de l'expression, dans l'ordre des paramètres de la fonction.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. traduction avec zend_translate
    Par elec1984 dans le forum Autres composants
    Réponses: 5
    Dernier message: 13/11/2009, 15h50
  2. Zend_Translate gettext, TMX
    Par fadex dans le forum Zend Framework
    Réponses: 10
    Dernier message: 20/07/2008, 13h02
  3. Problème avec des getText
    Par Albator5151 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 23/05/2006, 15h12
  4. Traduction avec gettext
    Par aA189 dans le forum Linux
    Réponses: 7
    Dernier message: 19/10/2004, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo