Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
pffff, vendredi 13 : je m'y perds ! Là j'avoue que mon cerveau tourne en boucle. Pouvez-vous me dire comment utiliser les fonctions $this->translate() ???? Il faut définir ou les variables à traduires ?
Merci d'avance
Hors ligne
Bonjour white,
voici un bout de script que j'utilise pour créer un selectBox avec différents pays où les noms sont traduits.
// Traduction des champs pour les pays $options_separator = array('separator' => '|'); // ne marche pas en natif avec ; $translate = new Zend_Translate('csv', 'application/locale/fr/pays.csv', 'fr', $options_separator); $translate->setLocale('fr'); $arryAll = $this->tPays->getAllRow(); $arryPays = array(); foreach($arryAll as $data) { $arryPays[$data['pays_iso_number']] = $translate->_($data['pays_nom'], "fr"); } ksort ($arryPays); $this->view->optPays = $arryPays;
Comme tu peux le voir, je m'étais mis une note pour le 'point virgule'. Quand j'ai essayé d'utiliser le point virgule comme séparateur dans le fichier csv, ça ne fonctionnait pas, alors j'ai utiliser le 'pipe'.
a++
Hors ligne
Merci pour ton exemple, il va me servir très rapidement. J'ai des p'tites questions : tu dois avoir un fichier csv par langue ? Ou tu peux définir toutes les traductions dans le même fichier ?
Dans cette ligne :
$translate->_($data['pays_nom'], "fr");
A quoi correspond le underscore ->_ ? Tu peux m'expliquer cette ligne ? Je ne suis pas sûr de comprendre le "fr" car quand tu définis $translate, tu as initialisé à "fr" ?
Merci, ça me donne une piste.
Hors ligne
Je ne maîtrise pas complètement le "bestio" mais je procède de la façon suivante :
- un fichier par langue
- dans mon dossier application j'ai un dossier locale (pour les langues) où j'ai les dossiers des langues par exemple l'arbo ressemble à :
app/ locale/ fr/ pays.csv autresfichiersdelangue.csv ... eng/ pays.csv ... de/
Ensuite le 'fr' correspond à la langue actuelle. Par contre, $translate->setLocale('fr'); c'est sûrement redondant autant que le 'fr' dans
$arryPays[$data['pays_iso_number']] = $translate->_($data['pays_nom'], "fr");
Hors ligne
Pages: 1