Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour
Je suis chargé de référencement dans une web agency et je dois optimiser un site réalisé (pas par ma boite) en Zend. Le soucis, c'est que personne autour de moi ne connaît ce framework. Je tâtonne donc dans du code inconnu réalisé par un outil que je découvre.
Pour modifier les titres du site, j'ai trouvé, à priori, le fichier qu'il faut travailler : IndexController.php.
Seulement voilà, le site propose une traduction anglaise avec Zend_Translate et si je modifie le texte, la notion TR:: apparaît en début de titre.
Aucune modification de fichiers dans le répertoire translate ne me permet de retirer ce TR::
Je ne sais plus quoi faire pour résoudre mon problème. Si une âme charitable voulait bien me guider vers une solution, ce serait fort aimable.
Je remercie d'avance les courageux qui auront pris le temps d'essayer de comprendre mon message.
Stéphane.
Hors ligne
N'ayant pas une partie du code devant les yeux, il nous ai difficile de te répondre.
L'idéal serait de demandé au créateur d'expliquer comment modifier les ressources linguistiques, d'autant plus que les infos dans les métas ne sont pas forcement gérer à ce niveau là.
Quel état le code d'origine, et quel est le code que tu as maintenant.
Hors ligne
Sur le IndexController.php, j'ai un code qui ressemble à ceci :
function indexAction()
{
// -------------------------------------------------------------------------------------------------------------------------------------------------
// page HTML : définir le titre
// -------------------------------------------------------------------------------------------------------------------------------------------------
$this->view->varTitleH1 = $this->varTranslate->_("TR::Accueil");
//~ $this->view->varBrowserTitle = $this->varComplementTitreNavigateur;
$this->view->varBrowserTitle = $this->varComplementTitreNavigateurTmp . $this->varTranslate->_("TR::Bienvenue chez ") . "Acteam Industries";
Ce qui fait apparaître le titre : Bienvenue chez Acteam Industries.
Mais si je change le contenu du varTranslate, par exemple par ("TR::Maintenance industrielle"), je me retrouve avec ce titre : TR::Maintenance industrielle Acteam Industries.
C'est ce que je veux mais je ne comprend pas pourquoi le TR:: apparaît ?
J'imagine que c'est dû à Zend_Translate.
J'ai donc été voir dans le répertoire translate et j'ai trouvé plusieurs fichiers semblant faire le lien entre les versions langues.
Mais même quand je les modifie pour coller à ce que je lui donne dans le IndexController, le TR:: apparaît toujours.
Je me trompe peut-être de fichier à modifier (en.mo, en.po, en.po.html ?)
En fait, quand on passe en version anglaise sur le site, le titre devient Welcome toActeam Industries.
Quand j'interviens sur les fichiers langues pour ajouter un espace, cela ne semble pas pris en compte. Je dis donc que je ne dois pas travailler sur les bons fichiers mais je ne vois pas où chercher ailleurs.
Hors ligne
Renseigne toi sur gettext, il doit exister des logiciels permettant de les modifier, du type poedit de mémoire. Je ne pense pas que tu puisse modifier le fichier directement à la mano.
la chaine 'TR::Bienvenue chez' est la chaine de reference, le TR:: doit surement venir de la nomenclature de l'entreprise éditrice.
Je ne connais pas plus Gettext donc je ne peux pas t'aider plus, j'espere que tu trouveras les informations adequate
Hors ligne
Stef47 a écrit:
$this->varTranslate->_("TR::Bienvenue chez ")
Traduction de cette commande :
Va chercher dans le fichier de traduction appelé plus haut l'équivalent de "TR::Bienvenue chez ", si tu ne trouves rien alors tu affiche "TR::Bienvenue chez ".
L'intérêt de ceci, c'est que lorsque la traduction n'est pas complète, la chaîne d'origine s'écrit quand même, le problème là, c'est qu'il y a TR:: devant donc pas très discret mais bon.
Le fait que tu remplaces "TR:Bienvenue chez " par "TR::Maintenance industrielle" dans ton indexAction est une excellente chose, mais il faut également que cette entrée existe dans tes fichiers de langues, sinon il écrit la chaîne en question.
Visiblement avec les .mo, tu es en gettext donc pour modifier tes fichiers de langues, il te faut une application gettext.
Voici une info pour gettext : http://framework.zend.com/manual/fr/zen … ce.gettext
Petite intro très light a Zend_Translate qui t'expliquera mieux que moi ce que je t'ai dis au-dessus :
http://framework.zend.com/manual/fr/zen … troduction
Geoffrey
Hors ligne
Je vais essayer avec PoEdit alors. Merci de ton aide.
Dans le pire des cas, je contacterais le développeur pour mieux comprendre son code.
Hors ligne
J'allais oublier de venir vous dire que ça fonctionne. Merci pour votre aide.
Hors ligne