IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Internialisation et module language [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Par défaut Internialisation et module language
    Bonjour,

    Je suis actuellement en stage et je développe depuis 1 mois un site sous symfony. Mon site devra prend en compte le multilangue, et donc j'ai suivi le tuto de jobeet pour la création du module langue (et le changement manuel de langue).

    J'ai donc un module language avec dans le dossier actions :

    - actions.class.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public function executeIndex(sfWebRequest $request)
    {
      	$form = new sfFormLanguage(
      	  $this->getUser(),
      	  array('languages' => array('en', 'fr'))
      	  );
     
      	  $form->process($request);
    }
    - components.class.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public function executeLanguage(sfWebRequest $request)
    {
    		$this->form = new sfFormLanguage(
    		  $this->getUser(),
    		  array('languages' => array('en', 'fr'))
    		  );
    }
    dans le dossier templates :

    - _language.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form action="<?php echo url_for('@change_language') ?>">
      <?php echo $form ?><input type="submit" value="ok" />
    </form>
    et mon routing :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    # You can find more information about this file on the symfony website:
    # http://www.symfony-project.org/reference/1_4/en/10-Routing
     
    # default rules
    homepage:
      url:   /
      param: { module: login, action: index }
     
    # generic rules
    # please, remove them by adding more specific rules
    default_index:
      url:   /:sf_culture/:module
      param: { action: index }
     
    default:
      url:   /:sf_culture/:module/:action/
     
    localized_homepage:
      url: /:sf_culture/:module/
      param: { module: login, action: index }
      requirements:
        sf_culture: (?:fr|en)
     
    change_language:
      url:   /language/
      param: { module: language, action: index }
     
    equipement:
      url:   /:sf_culture/equipement/
      param: { module: equipement, action: index }
      requirements:
        sf_culture: (?:fr|en)
     
    organisme:
      url:   /:sf_culture/organisme/
      param: { module: organisme, action: index }
      requirements:
        sf_culture: (?:fr|en)
    Tous marche sans soucis, je n'ai pas de message d'erreur, et le changement de langue se fait bien. Mon seul soucis, c'est qu'il retourne sur la page d'accueil au changement de langue, ce qui est logique au vu du code, mais je ne vois pas trop comment faire pour le qu'il retourne sur la page précédente. Je parle quand je change la langue via la liste déroulante des langues qui est sur toute les pages.

    Avez vous une idée de la marche à suivre ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    L'idée est en général de retrouver la valeur de la précédente url dans l'objet sfRequest qui est donnée en argument de l'action.

    Sauf qu'ici, il n'aura pas la bonne langue. Il faudra donc modifier l'url récupérée pour changer la langue dans la nouvelle. Avec le risque que tous les modules ne disposent pas d'une langue adaptée...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/05/2015, 17h35
  2. module PDL :perl data language
    Par issoram dans le forum Modules
    Réponses: 1
    Dernier message: 04/06/2014, 17h02
  3. PerlDoc sur une fonction d'un module
    Par lesouriciergris dans le forum Modules
    Réponses: 2
    Dernier message: 13/03/2003, 20h50
  4. [Appli][Autre language]dll-contenant form
    Par flash dans le forum Langage
    Réponses: 6
    Dernier message: 20/09/2002, 14h18
  5. je veux apprendre la programmation quel language choisir??
    Par existance dans le forum Débuter
    Réponses: 26
    Dernier message: 06/08/2002, 05h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo