Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-07-2009 15:59:33

pmuller
Nouveau membre
Lieu: Paris
Date d'inscription: 16-07-2009
Messages: 2

[Résolu][Zend_Translate][1.8.4PL1] Comment utiliser l'adapter array ?

Bonjour,

Dans les faits, ce topic concerne aussi Zend_Application, mais il n'y avait pas assez de place pour l'écrire.

C'est mon premier post, et pourtant, vous m'avez déjà bien aidé! Merci à vous (et Google..). smile

Je tente de faire marcher Zend_Translate en configurant la resource translate de Zend_Application (application.ini) :

Code:

resources.translate.adapter                 = "array"
resources.translate.data.fileExt            = ".php"
resources.translate.data.directory          = APPLICATION_PATH "/translations/"
resources.translate.options.scan            = "directory"
resources.translate.options.disableNotices  = true
resources.translate.options.logUntranslated = true

J'ai préparé deux fichiers de traduction :

Code:

$ ls -l application/translations/ 
total 16
-rw-r--r--  1 pmuller  staff  2153 Jul 16 02:47 en.php
-rw-r--r--  1 pmuller  staff  2269 Jul 16 02:47 fr.php

Chacun contient un "return array();", exemple issu de fr.php :

Code:

return array(
// Errors
    'Page not found'                    => 'La page que vous avez demandé est introuvable',
    'An error occurred'                 => 'Une erreur est survenue',
    'Application error'                 => 'Erreur interne',
// Home page
    'Read more'                         => 'Suite',
);

J'imagine que j'ai du rater quelque chose, car les traductions ne "marchent pas".
J'viens de passer de longues heures à relire du code et des docs, en vain.

Pour troubleshooter, j'ai activé le log des traductions que Zend_Translate ne trouve pas, et les logs me confirment bien que ca ne marche pas :

Code:

Untranslated message within 'fr': Page not found 
Untranslated message within 'fr': An error occurred
Untranslated message within 'fr': Help

(et c'est pareil pour 'en')

J'ai essayé de renommer fr.php en fr_FR.php et en.php en en_US.php, et ça ne marche pas mieux.
Le comportement que je souhaite obtenir, c'est que Zend_Translate map fr_* sur fr.php et en_* sur en.php.

Avec un peu de chance, ce que j'ai loupé sautera aux yeux de l'un d'entre vous.. Merci d'avance! smile

Dernière modification par pmuller (20-07-2009 10:53:00)

Hors ligne

 

#2 20-07-2009 10:51:46

pmuller
Nouveau membre
Lieu: Paris
Date d'inscription: 16-07-2009
Messages: 2

Re: [Résolu][Zend_Translate][1.8.4PL1] Comment utiliser l'adapter array ?

Le problème a été résolu (avec de l'aide, cf http://www.zfforums.com/zend-framework- … -3130.html).

Pour ceux que ça pourrait dépanner, voilà ma configuration :

Code:

resources.translate.adapter                 = "array"
resources.translate.data                    = APPLICATION_PATH "/translations"
resources.translate.options.scan            = "filename"
resources.translate.options.disableNotices  = true
resources.translate.options.logUntranslated = true

Deux modifications :
- "resources.translate.data.fileExt" et "resources.translate.data.directory" n'existent pas. Il faut juste définir le chemin vers les fichiers de traduction à l'aide de "resources.translate.data". J'ai été induit en erreur par de nombreux résultats de recherche Google qui utilisent la première syntaxe. Est-ce une syntaxe historique ?
- "resources.translate.options.scan" est passé de "directory" à "filename". Si j'ai bien compris, puisque le nom du language est visible dans le nom de mes fichiers de traduction, je dois utiliser la valeur "filename".

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