Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-07-2009 13:20:39

jp
Nouveau membre
Date d'inscription: 05-10-2007
Messages: 8

[Zend_Translate][1.8.3] Changement de comportement

Bonjour

Je développe un framework basé sur ZF et j'ai constaté un changement de comportement de la classe Zend_Tranlate en passant de la 1.7.8 à la 1.8.3 puis 1.8.4 (sans changement)

J'ai un fichier csv de langue pour le framework avec le titre et sous-titre de l'application.

fichier langue du framework - fw.csv
site.titre;framework PHP
site.soustitre,Zend Framework inside

C'est à l'application de remplacer ces libellés dans ses propres fichiers de traductions.
fichier langue de l'appli - appli.csv
site.titre;Titre de l' application
site.soustitre;Sous-titre de l' application

le code utilisé

Code:

require_once "Zend/Translate.php";
require_once "Zend/Debug.php";
$trans = new Zend_Translate('csv', 'C:\DevWeb\Neon_workspace\appdemo\languages\fw\fr.csv', 'fr');                 
$trans->addTranslation ('C:\DevWeb\Neon_workspace\appdemo\languages\appname\fr.csv', 'fr');// , array('clear'=>true)
echo $trans->translate('site.titre');
Zend_Debug::dump( $trans );

le résultat avec la 1.7.8

Titre de l' application

object(Zend_Translate)#1 (1) {
  ["_adapter:private"] => object(Zend_Translate_Adapter_Csv)#2 (4) {
    ["_automatic:private"] => bool(false)
    ["_options:protected"] => array(8) {
      ["clear"] => bool(false)
      ["scan"] => NULL
      ["locale"] => string(2) "fr"
      ["ignore"] => string(1) "."
      ["disableNotices"] => bool(false)
      ["delimiter"] => string(1) ";"
      ["length"] => int(0)
      ["enclosure"] => string(1) """
    }
    ["_translate:protected"] => array(1) {
      ["fr"] => array(2) {
        ["site.titre"] => string(23) "Titre de l' application"
        ["site.soustitre"] => string(28) "Sous-titre de l' application"
      }
    }
    ["_file"] => resource(20) of type (stream)
  }
}

le résultat avec la 1.8.4

Framework PHP

object(Zend_Translate)#1 (1) {
  ["_adapter:private"] => object(Zend_Translate_Adapter_Csv)#2 (5) {
    ["_data:private"] => array(1) {
      ["fr"] => array(2) {
        ["site.titre"] => string(23) "Titre de l' application"
        ["site.soustitre"] => string(28) "Sous-titre de l' application"
      }
    }
    ["_automatic:private"] => bool(false)
    ["_options:protected"] => array(11) {
      ["clear"] => bool(false)
      ["disableNotices"] => bool(false)
      ["ignore"] => string(1) "."
      ["locale"] => string(2) "fr"
      ["log"] => NULL
      ["logMessage"] => string(49) "Untranslated message within '%locale%': %message%"
      ["logUntranslated"] => bool(false)
      ["scan"] => NULL
      ["delimiter"] => string(1) ";"
      ["length"] => int(0)
      ["enclosure"] => string(1) """
    }
    ["_translate:protected"] => array(1) {
      ["fr"] => array(2) {
        ["site.titre"] => string(13) "Framework PHP"
        ["site.soustitre"] => string(21) "Zend Framework Inside"
      }
    }
    ["_file"] => resource(18) of type (stream)
  }
}




Le paramètre 'clear'=>true entraine l'effacement de toutes les données des fichiers de translations ajoutés antérieurement.

Quelqu'un a une idée ? Est-ce un bug une évolution ?
Et surtout comment faire ?

Dernière modification par jp (06-07-2009 10:11:09)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages