Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-11-2012 21:20:51

anthebest
Nouveau membre
Date d'inscription: 14-06-2012
Messages: 7

[Resolu]Zend 2 et les traductions

Bonjour à tous.

Je ne comprend pas trop comment fonctionnent les traductions sous zend.
J'ai lu l'article suivant: http://framework.zend.com/manual/2.0/en … ating.html

J'ai donc vu comment en ajouter avec des filtres ...

mais moi ceux que je voudrai est dans un premier temps définir la locale, soit dans l'url soit en session, j'ai trouvé:

        $translator = new Translator();
        $translator->setLocale('fr');

mais j'ai toujours mes phrases en anglais.

Apres c'est bien beau de pouvoir en ajouter mais je n'ai pas trouvé comment les lister, les supprimer et les éditer

Merci smile

Dernière modification par anthebest (11-11-2012 00:27:33)

Hors ligne

 

#2 08-11-2012 10:55:15

anthebest
Nouveau membre
Date d'inscription: 14-06-2012
Messages: 7

Re: [Resolu]Zend 2 et les traductions

Pas beaucoup de réponse,

si vous pensez que ma question manque de recherche pourriez vous me passer un tuto car je n'en trouve pas pour zend2

Hors ligne

 

#3 08-11-2012 11:31:20

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: [Resolu]Zend 2 et les traductions

Et ça http://framework.zend.com/manual/2.0/en … tions.html ?

J'ai jamais utilisé les traductions, désolé. Mais de mémoire c'est pas très compliqué smile.

Hors ligne

 

#4 08-11-2012 12:08:32

anthebest
Nouveau membre
Date d'inscription: 14-06-2012
Messages: 7

Re: [Resolu]Zend 2 et les traductions

Merci, mais j'avais déjà lu big_smile

je ne l'ai pas indique mais pour la modification ,suppression j'ai trouvé

je cherche juste à savoir comment changer la locale car c'est bien beau un site multilingue mais si on ne peut pas choisir la langue c'est bof smile

Hors ligne

 

#5 08-11-2012 14:53:31

Fredy
Nouveau membre
Date d'inscription: 01-10-2012
Messages: 5

Re: [Resolu]Zend 2 et les traductions

Tu le défini dans le module config sur la clef : "translator".

Par ex :

Code:

    'translator' => array(
        'locale' => 'fr_FR',
        'translation_file_patterns' => array(
            array(
                'type'     => 'gettext',
                'base_dir' => __DIR__ . '/../language',
                'pattern'  => '%s.mo',
            ),
        ),
    ),

Edit : ensuite tu change par l'intermédiaire de l'instance de Zend\I18n\Translator\Translator la méthode "setLocale" (valeur récupéré dans les préférence de l'utilisateur par ex).

Dernière modification par Fredy (08-11-2012 14:59:05)

Hors ligne

 

#6 09-11-2012 09:30:52

anthebest
Nouveau membre
Date d'inscription: 14-06-2012
Messages: 7

Re: [Resolu]Zend 2 et les traductions

Merci, quand je change la locale dans le module config ça fonctionne, en revanche si je le fais dans mon controller

Code:

<?php
namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\I18n\Translator\Translator;

class IndexController extends AbstractActionController {

    public function indexAction() {
        $translator = new Translator();
        $translator->setLocale('fr_FR');
        return new ViewModel();
    }

}

la locale reste à en_US

Edit:

Code:

<?php
namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\I18n\Translator\Translator;

class IndexController extends AbstractActionController {

    public function indexAction() {
        $translator = new Translator();
        $translator->setLocale('fr_FR');

        return new ViewModel(array('locale' => $translator->getLocale()));
    }

}

ça retourne bien fr_FR mais les traductions ne changent pas.

Dernière modification par anthebest (09-11-2012 09:59:58)

Hors ligne

 

#7 09-11-2012 14:41:36

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: [Resolu]Zend 2 et les traductions

En fait, les composants utilisant la traduction implémentent l'interface TranslatorAwareInterface. En interne, un initializer est ajouté et dès qu'une classe implémente cette interface est trouvée, ZF 2 va tenter de récupérer l'élément "translator" du service manager.

Or, là, tu créés un nouvel objet Translator. La solution, c'est de récupérer le translator existant du service manager, et de changer la locale. Ainsi, dans ton contrôleur :

Code:

$translator = $this->getServiceLocator()->get('translator');
$translator->setLocale('fr_FR');

De ce fait, le reste du framework utilisera le même translator que celui que tu viens de modifier.

Hors ligne

 

#8 11-11-2012 00:27:14

anthebest
Nouveau membre
Date d'inscription: 14-06-2012
Messages: 7

Re: [Resolu]Zend 2 et les traductions

ça marche super

merci à tous pour l'aide

smile

Hors ligne

 

#9 12-11-2012 13:50:50

J0r
Membre
Date d'inscription: 27-04-2012
Messages: 57

Re: [Resolu]Zend 2 et les traductions

bakura a écrit:

En fait, les composants utilisant la traduction implémentent l'interface TranslatorAwareInterface. En interne, un initializer est ajouté et dès qu'une classe implémente cette interface est trouvée, ZF 2 va tenter de récupérer l'élément "translator" du service manager.

Il existe par défaut un élément "translator" du service manager, il n'est pas nécessaire de l'initialiser dans le module.php ?

Hors ligne

 

#10 12-11-2012 18:02:22

jfvole
Membre
Date d'inscription: 20-11-2010
Messages: 69

Re: [Resolu]Zend 2 et les traductions

Bonjour,

Si il y a par défaut un élément translator. Quel en sont les paramètres par défaut? Configuration du répertoire etc...

Est ce que cela résout le problème de la traduction des messages d'erreur des forms?

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