Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-09-2009 13:00:09

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

[Zend_Translate][1.9] Avec php 5.3.0

Bonjour,

J'ai fait une mise à jour de php il y a quelques jours, et depuis lorsque j'utilise Zend_Translate avec les fichiers ini c'est le bazar !

avant je faisais de la façon suivante pour traduire mon texte :

Code:

echo $this->translate->_('traduire mon texte')

et dans mon fichier ini, je retrouvais :

Code:

traduire mon texte="Texte qui est traduit"

Depuis, je suis obligé de formater mon texte de la façon suivante :

Code:

echo $this->translate->_('traduire_mon_texte')

et dans mon fichier ini, je retrouvais :

Code:

traduire_mon_texte="Texte qui est traduit"

Cela viens t'il de ma mise à jour ? Ou est un autre problème ?

Merci d'avance,
Bien cordialement.

Hors ligne

 

#2 14-09-2009 00:14:19

ziededt
Nouveau membre
Date d'inscription: 07-09-2009
Messages: 3

Re: [Zend_Translate][1.9] Avec php 5.3.0

Bonjour nicko;
j'ai essayé le format CSV et sa fonctionné parfaitement :
Quelques lignes de mon index.php

Code:

<? 
..................
define("CSV_DIR","application/translation/");
$locale = new Zend_Locale(Zend_Locale::BROWSER);

$localeFr = new Zend_Locale("fr");
$localeEn = new Zend_Locale("en");
$localeIT = new Zend_Locale("it");

$translate = new Zend_Translate('csv', CSV_DIR.'translate_fr.csv',  'fr');
$translate->addTranslation(CSV_DIR.'/translate_en.csv', 'en');

$translate->addTranslation( CSV_DIR.'/translate_it.csv', 'it'); 


$translate->setLocale('fr');
Zend_Registry::set('translate', $translate);
?>

Et puis dans ton controlleur par exemple tu fais :

Code:

$translate = Zend_Registry::get('translate');
        $this->view->headerTitle_ = $translate->_("msg1") ;

fichier de lange par exemple translate_en.csv :

Code:

msg1;first english msg
msg2;msg with complicated key
clé3;third key
Ajouter un nouvel album;add new album

A toi de jouer wink

Hors ligne

 

#3 15-09-2009 08:23:36

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Zend_Translate][1.9] Avec php 5.3.0

Merci ziededt,

Mais est-ce qu'un fichier CSV est aussi performant qu'un fichier ini ?

Hors ligne

 

#4 15-09-2009 09:10:47

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Zend_Translate][1.9] Avec php 5.3.0

Je pense que les performances sont à peu près les même pour un .ini et un .csv (les 2 sont codés en natifs en PHP et les 2 formats sont super simple).

Par contre pour un fichier de traduction, le format CSV a un gros avantage. L'usage dans les traductions est d'utiliser directement la phrase dans la langue de référence comme clé pour les autres langues.

Si ta langue de référence est le français, tu écriras dans ton code

Code:

$translate->_("Enregistrer l'utilisateur");

et dans ton CSV tu auras

Code:

"Enregistrer l'utilisateur";"Save User"

C'est possible avec un CSV et pas avec un .ini (où à ma connaissance, la clé ne peut pas contenir d'apostrophe, d'espace, ou autre signe bizarre.)

Si tu veux vraiment gagner en perfs (et en temps de développement et traduction) tu peux regarder les .po et gettext.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

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