Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-01-2013 06:09:49

Nirzol
Membre
Date d'inscription: 11-01-2013
Messages: 65

Erreurs des formulaire zend_validate.php

Bonjour
Comment faire pour que els erreurs des formulaires soient en francais svp?
Il y a bien le zend_validate.php mais je n'ai pas trouvé ou et comment l'activé ?

Dans le tuto, il activele .mo qui se trouve dans le dossier language dans le fichier module.config.php

J'ai essayé de faire pareil mais en vain

Code:

[lang=php]
    'translator' => array(
        'locale' => 'fr_FR',
        'translation_file_patterns' => array(
            array(
                    'type'     => 'phparray',
                    'base_dir' => __DIR__ . '/../language',
                    'pattern'  => '%s.php',
            ),
        ),
    ),

Comment faire svp?

Merci

Hors ligne

 

#2 24-01-2013 10:55:36

Juch
Membre
Lieu: Paris 17e
Date d'inscription: 29-04-2009
Messages: 48

Re: Erreurs des formulaire zend_validate.php

il faut que tu attaches ton translator aux validateurs de formulaire, par exemple dans ton module.php

Code:

public function onBootstrap(EventInterface $e)
    {
        // Set the translator for default validation messages
        $translator = $e->getApplication()->getServiceManager()->get('translator');
        AbstractValidator::setDefaultTranslator($translator);
    }

A ton service

Hors ligne

 

#3 25-01-2013 05:10:37

Nirzol
Membre
Date d'inscription: 11-01-2013
Messages: 65

Re: Erreurs des formulaire zend_validate.php

Oui merci c'est bien ça. Il ne faut pas oublier de copier le dossier fr  de zend dans vore dossier langage du module aussi.

Code:

[lang=php]
'translator' => array(
        'locale' => 'fr_FR',
        'translation_files' => array(
            array(
                    'type'      => 'phparray',
                    'filename'  => __DIR__ . '/../language/fr/Zend_Validate.php',
            ),
           ),
    ),

Par contre est ce possible d'avoir 2 fichiers? car la il ne prends plus en compte le fr_FR.mo .
Ou y a t'il un moyen d'activer le zend_validate et avoir son fichier fr_FR.mo ?
ou un moyen de concatener les deux fichiers?

Merci

Hors ligne

 

#4 25-01-2013 09:26:23

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Erreurs des formulaire zend_validate.php

Essaies de faire 2 array à la suite, le premier avec le type phparray et un autre avec le type gettext

Hors ligne

 

#5 25-01-2013 10:57:42

Nirzol
Membre
Date d'inscription: 11-01-2013
Messages: 65

Re: Erreurs des formulaire zend_validate.php

Oui j'ai bien essayé de faire cela, mais il prends pas en compte le php.

J'ai même tester un 'translation_files'  puis un "''translation_files_pattern' en dessous.
J'ai aussi vu sur un forum la fonction :
$translator->addTranslationFile('phpArray', __DIR__ . '/language/fr/Zend_Validate.php', 'default', 'fr_FR');

Mais toujours pareil il n'en prends qu'un en compte.

Hors ligne

 

#6 25-01-2013 14:21:33

irumi
Membre
Date d'inscription: 29-04-2011
Messages: 47

Re: Erreurs des formulaire zend_validate.php

J'ai eu le même souci, je n'ai pas réussit à charger deux types de fichier de traduction.

Je n'ai pas insisté sur les recherche car je n'utiliserait que les phparray mais ça serait intéressant de connaitre la solution.

Hors ligne

 

#7 27-01-2013 13:55:38

Juch
Membre
Lieu: Paris 17e
Date d'inscription: 29-04-2009
Messages: 48

Re: Erreurs des formulaire zend_validate.php

oui c'est normal il ne prend en compte que celui de la locale active si tu lui en passes plusieurs.
Pourquoi voudrais tu avoir plusieurs traductions simultanées ?

Hors ligne

 

#8 28-01-2013 04:12:56

Nirzol
Membre
Date d'inscription: 11-01-2013
Messages: 65

Re: Erreurs des formulaire zend_validate.php

Ok merci.
Ce n'est pas vraiment le fait d'avoir plusieurs fichiers de traductions. C'est plus dans le cas d'avoir son fichier .mo normal et de pouvoir activer les traductions déjà faite dans zend_validate.php pour les formulaires

Peut être y a t'il un autre moyen d'activer ce fichier ?
Ou de concaténer ce fichier .php et le .mo?

Hors ligne

 

#9 01-09-2014 18:24:35

jean
Membre
Date d'inscription: 25-08-2008
Messages: 107

Re: Erreurs des formulaire zend_validate.php

Bonsoir à tous,

La structure modulaire de ZF2 est très intéressante, mais comment faire pour indiquer au translator où sont situés les différents fichiers de traduction ? Dans mon cas, je suis en langue unique, 100% français.

Dans l'exemple ci-dessous, la configuration est correcte (et fonctionne) pour le Zend Skeleton et le module ZFC User, par contre, elle ne fonctionne pas pour les messages de zend_validate (du module ZFCUSER).

Je vois deux possibilités :
1) ZFCUSER ne traduit pas les messages issus de zend_validate
2) j'ai une erreur dans mon fichier de config, notamment le chemin vers les fichier zend_validate.php

Une idée ?

Code:

    'translator' => array(
         'locale' => 'fr_FR',
        'translation_file_patterns' => array(
            array( // Translation for ZendForm (Zend Validate)
                'type'     => 'phpArray',
                'base_dir' => './vendor/zendframework/zendframework/resources/languages',
                'pattern'  => '%/Zend_Validate.php',
            ),
            array( //translation for Zend Skeleton 
                'type'     => 'gettext',
                'base_dir' => __DIR__ . '/../language',
                'pattern'  => '%s.mo',
            ),
            array( // translation for ZFCUSER module
                'type'     => 'gettext',
                'base_dir' => './vendor/zf-commons/zfc-user/src/ZfcUser/language',
                'pattern'  => '%s.mo',
            ),
        ),
    ),

Merci par avance,

Jean

Dernière modification par jean (02-09-2014 16:54:04)

Hors ligne

 

#10 04-09-2014 08:49:09

jean
Membre
Date d'inscription: 25-08-2008
Messages: 107

Re: Erreurs des formulaire zend_validate.php

OK, résolu.

Comme je n'ai pas réussi à faire la configuration des différents fichiers de langue (Skzleton, ZfcUser, Zend_Validate...) dans un fichier de configuration "array", j'ai tout mis dans le fichier module.php du module Application.

Pour information, depuis ZF2 2.2, la configuration du translator a évolué par rapport aux précédents billets de ce post.

Code:

<?php
/**
/module/Application/module.php
 */

namespace Application;

use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
// translator
use Zend\I18n\Translator\Translator;
use Zend\Validator\AbstractValidator;

class Module
{
    public function onBootstrap(MvcEvent $e)
    {
        $eventManager        = $e->getApplication()->getEventManager();
        $moduleRouteListener = new ModuleRouteListener();
        $moduleRouteListener->attach($eventManager);
        
        // Adding translators 
        $translator = $e->getApplication()->getServiceManager()->get('translator');
        
        // Zend_Validate translator
        $translator->addTranslationFile(
                'phpArray',
                'vendor/zendframework/zendframework/resources/languages/fr/Zend_Validate.php',
                'default',
                'fr_FR'
                );
        // Zend_Captcha translator
          $translator->addTranslationFile(
                'phpArray',
                'vendor/zendframework/zendframework/resources/languages/fr/Zend_Captcha.php',
                'default',
                'fr_FR'
                );
       
        // SkeletonApplication translator        
        $translator->addTranslationFile(
                'gettext',
                'module/Application/language/fr_FR.mo',
                'default',
                'fr_FR'
                );
        // ZfcUser translator         
        $translator->addTranslationFile(
                'gettext',
                'vendor/zf-commons/zfc-user/src/ZfcUser/language/fr_FR.mo',
                'default',
                'fr_FR'
                );        

        \Zend\Validator\AbstractValidator::setDefaultTranslator(new \Zend\Mvc\I18n\Translator($translator));
              
    }

    public function getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
    }

    public function getAutoloaderConfig()
    {
        return array(
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ),
            ),
        );
    }
}

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