• Home
  • Nous contacter

Adfab Connect

Adfab Connect

Adfab Connect

Adfab Connect
Framework

Gestion des traductions sous Zend Framework2

Pour les besoins d’un client, nous avons du ajouter la gestion des traductions dans playground.

Besoins fonctionnels

Notre client nous a demandé de pouvoir facilement gérer les traductions de son site multi-langue. A partir d’une matrice excel, l’application devra ingérer les traductions et l’outil d’administration devra facilement les modifier.

Problématique

Comment gérer les traductions depuis Zend Framwork 2 et les rendre facilement administrables depuis un back office ?

Solutions

Nous allons utiliser  les classes de traductions natives à Zend Framework. Pour cela, nous allons configuré notre module de la manière suivante :

'translator' => array(
        'locale' => 'fr_FR',
        'translation_file_patterns' => array(
            array(
                'type'         => 'phpArray',
                'base_dir'     => __DIR__ . '/../language',
                'pattern'      => '%s.php',
                'text_domain'  => 'domain'
            ),
        ),
    ),

Cela va signifier à Zend que les fichiers de traductions se trouveront dans le dossier language.  Dans ce cas prévis, nous avons besoin de langue régionalisé, ainsi les fichiers seront du type suivant : fr_FR.php ou en_US.php. Dans le module.php de notre module, nous allons donner la langue au translator de Zend afin qu’il connaisse quel fichier il devra lire.

$translator = $serviceManager->get('translator')
$translator->setLocale('fr_FR');
$translate = $serviceManager->get('viewhelpermanager')->get('translate');
$translate->getTranslator()->setLocale('fr_FR');

En plus de cela, nous avons fait un backoffice qui permet de faire 3 choses :

  • import d’une matrice de traductions pour une langue donnée au format XLS ou CSV

L’import d’une matrice de traductions permet de mettre à jour le fichier de traduction sur le filer depuis un fichier XLS ou CSV. Le fichier doit avoir comme première colonne la clé de traduction et comme seconde colonne la valeur de la traduction.

  • export de la matrice de traductions pour une langue donnée

L’export de la matrice permet de récupérer les traductions pour une langue donnée. Cet export se fait au format XLS.

  • modification depuis le backoffice pour modifier une valeur de traduction

Dans le backoffice, nous récupérons les traductions d’une langue sélectionnée pour pouvoir éditer directement les valeurs de traductions. Lors de l’édition des traductions, nous mettons à jour le fichier de traduction de la langue concernée. traduction  Ce module a été créé dans le cadre d’ajout de composant de notre framework basé sur Zend Framework : Playground. https://github.com/gregorybesson/PlaygroundTranslate

13/08/2014 17 MIN READ BY: Thomas ROGER 0 COMMENT
SHARE
LIRE LA SUITE

Thomas ROGER

Laisser un commentaire Cancel Reply

Utiliser un repos svn privé avec bower

Magento - Étendre les filtres de recherche dans le back-office

VOUS POURRIEZ AIMER

Développement E-commerce Framework Sylius, une vraie alternative à Prestashop ou Magento ?

Framework PSR-0, 1, 2 and now ? no_more_underscores !

Framework Symfony live 2014 : Jour 2

Framework Sécurité et validation de vos formulaires Zf2

Framework L’autoloading en php

Framework CakePHP is the shit

A propos d’Adfab

Nous sommes un studio de production digitales et d’innovation digitales au service des agences et des annonceurs
Nous recherchons le scintillement dans les regards et le plaisir de réalisations sur-performantes
Nous sommes techno-agnostiques
Nous sommes Adfab

Adfab Connect
Copyright © 2015 Adfab Connect