Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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é
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
Pages: 1