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

Zend Framework PHP Discussion :

Utilisation de l'internationalisation


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Par défaut Utilisation de l'internationalisation
    Bonjour,

    je voudrais que mon application soit multilingue, donc j'ai essayé d'utiliser la classe Zend_Translate a cet effet, et ceci en utilisant les fichiers TMX,

    le fichier est détecté par l'application, mais il n'effectue pas les translations de langues,

    voici mon fichier TMX :
    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
    <?xml version="1.0" encoding='ISO-8859-1' ?>
    <!DOCTYPE tmx SYSTEM "tmx14.dtd">
    <tmx version="1.4">
     <header creationtoolversion="1.0.0" datatype="winres" segtype="sentence" adminlang="fr-ch" srclang="fr-ch" o-tmf="abc" creationtool="XYZTool" ></header>
     <body>
      <tu tuid='1'>
       <tuv xml:lang="fr"><seg>Les types de monuments</seg></tuv>
       <tuv xml:lang="en"><seg>Types of monuments</seg></tuv>
      </tu>
      <tu tuid='2'>
       <tuv xml:lang="fr"><seg>Ajouter un nouveau type de monuments</seg></tuv>
       <tuv xml:lang="en"><seg>Add a new type of monuments</seg></tuv>
      </tu>
      <tu tuid='3'>
       <tuv xml:lang="fr"><seg>Intitulé</seg></tuv>
       <tuv xml:lang="en"><seg>Title</seg></tuv>
      </tu>
     </body>
    </tmx>
    dans une action j'essaye d'appliquer la translation, mais malheureusement ça passe pas

    voici mon code :
    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
    function indexAction()
    {
    	$this->view->title = "Les types de monuments";
    	$tm = new TypeMonument();
    	$this->view->tm = $tm->fetchAll();
    	$translate = new Zend_Translate('tmx','C:\wamp\www\morogoo\languages\languages.tmx','fr');
    	$actual = $translate->getLocale();
    	echo $actual."<br />";
    	echo $translate->_("Title", "fr")."<br />";
    	if ($translate->isAvailable("fr"))
    		echo "Francais";
    	else
    		echo "pas francais";
     
    }
    et voilà ce qu'il m'affiche :
    fr
    Title
    Francais


    je ne sais pas d'où vient le problème

    Merci d'avance
    Bien cordialement

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Je ne connais pas TMX, mais ne faudrait-il pas que le tui corresponde à l'élément cherché ?

    Donc au lieu de 3, mettre Title ?

  3. #3
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Par défaut
    Pour afficher le bon titre titre il faudrait que tu fasse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $translate = new Zend_Translate('tmx','C:\wamp\www\morogoo\languages\languages.tmx','fr');
    $this->view->title = $translate->_("3");
    Maintenant je te conseille de renommer tes variables de traduction, parce qu'avec des numéros c'est pas assez parlant.

    Tu peux très bien avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <tu tuid='Title'>
       <tuv xml:lang="fr"><seg>Intitulé</seg></tuv>
       <tuv xml:lang="en"><seg>Title</seg></tuv>
    </tu>
    et ainsi appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $translate = new Zend_Translate('tmx','C:\wamp\www\morogoo\languages\languages.tmx','fr');
    $this->view->title = $translate->_("Title");

Discussions similaires

  1. [internationalisation] utilisation native2ascii
    Par xiaopp dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 21/04/2007, 01h15
  2. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  3. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  4. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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