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

Plugins PHP Discussion :

Traduction de termes Routing


Sujet :

Plugins PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 75
    Par défaut Traduction de termes Routing
    bonjour,
    je cherche une solution ou un plugin adapté à SF 1.4 et Doctrine pour traduire des termes depuis le fichier routing.

    Il s'agit là de termes fixes non liés à la base de données.
    Ces termes pourraient être présent dans les fichiers i18n messages.xml

    Voici quelques exemples :

    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
     
    ###### Actualités ######
    actualites:
      url:   /:sf_culture/actualites
      class: sfDoctrineRoute
      options:  { model: actualites, type: object }
      param: { module: actualites, action: index }
      requirements:
        sf_culture: (?:fr|en)
     
    ###### Partenaire ######
    partenaires:
      url:   /:sf_culture/partenaires
      class: sfDoctrineRoute
      options:  { model: partenaires, type: object }
      param: { module: partenaires, action: index }
      requirements:
        sf_culture: (?:fr|en)
    #affichage du panier
    show_panier:
      url:   /:sf_culture/mon-compte/mon-panier
      class: sfDoctrineRoute
      options:  { model: selections, type: object }
      param: { module: selections, action: showpanier }
      requirements:
        sf_culture: (?:fr|en)
    # affichage de historique telechargement
    show_historique:
      url:   /:sf_culture/mon-compte/mon-historique
      class: sfDoctrineRoute
      options:  { model: selections, type: object }
      param: { module: selections, action: showhistorique }
      requirements:
        sf_culture: (?:fr|en)
    ###### Fin Selection ######

  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
    Il n'y a pas, à ma connaissance d'outil permettant de traduire les routes.

    On doit pouvoir bricoler en déclarant toutes les routes dans tous les langages, le retour sera simple. Par contre, générer l'url dans la bonne langue va nécessiter d'envoyer, dans le nom du lien, la langue. Pas nécessairement simple.

  3. #3
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Par défaut
    Très bonne question, c'est vrai que ça serait une fonction très intéressante.

  4. #4
    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
    A noter que symfony est très configurable. Que le fichier routing.yml ne fait que créer une collection d'objets dérivé de sfRoute. Qu'il est possible de spécifier pour une route la class à utiliser. Qu'il est possible de créer la classe que l'on désire.

    Il est donc envisageable de créer une class sfRouteI18n qui embarque une notion de traduction et qui serait capable de traduire. En théorie du moins. Ce qui me laisse septique ici est non pas la création de l'url, mais le "matching" au retour.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 75
    Par défaut
    Je viens de mettre en place ceci suite à la lecture d'un document Page 12 :

    [ame="http://www.slideshare.net/th0masr/internationalization-with-the-symfony-framework"]Internationalization with the symfony framework@@AMEPARAM@@ssplayer2.swf?doc=presentation-100217064049-phpapp01&stripped_title=internationalization-with-the-symfony-framework@@AMEPARAM@@presentation-100217064049-phpapp01@@AMEPARAM@@internationalization-with-the-symfony-framework[/ame]

    J’ai ajouté la class suivante dans sfPatternRouting.class.php

    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
    class swCulturePatternRouting extends sfPatternRouting
    {
    	public function generate($name,$params = array(), $absolute=false)
    	{	
    		$culture= $this->getDefaultParameter('sf_culture');
    		$culture_route_name = $name.'_'.$culture;
     
    		if(array_key_exists($culture_route_name, $this->routes))
    		{
    			$name=$culture_route_name;
    		}
     
    		return parent::generate ($name,$params,$absolute);
    	}	
     }
    J'ai modifié ma route actualites et ajouter actualites_fr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    actualites_fr:
      url:   /:sf_culture/actualites
      class: sfDoctrineRoute
      options:  { model: actualites, type: object }
      param: { module: actualites, action: index, sf_culture: fr }
     
    actualites:
      url:   /:sf_culture/news
      class: sfDoctrineRoute
      options:  { model: actualites, type: object }
      param: { module: actualites, action: index, sf_culture: en }
    Je suis en version Française sur mon application et l’url affichée est la version anglaise.

    /frontend_dev.php/en/news
    Je ne sais pas s'il faut changer l’appel de la route, je ne pense pas car sinon le code n'aurait pas d'intérêt ?

    <?php echo url_for('@actualites'); ?>

  6. #6
    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
    Il y a des mélanges...
    Il me semble qu'il manque des trucs dans ce que tu donnes en exemple, notamment comment renseigner sfRoute qu'il doit utiliser le patterne modifié et pas celui d'origine ?

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

Discussions similaires

  1. Traduction du terme Widget
    Par kalyparker dans le forum Contribuez
    Réponses: 7
    Dernier message: 11/07/2007, 18h55
  2. Traduction des termes de programmation
    Par ciol2.6.12 dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 20/01/2007, 11h19
  3. Réponses: 3
    Dernier message: 17/01/2007, 13h11
  4. traduction du terme "managed"
    Par sarasvati dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 14/05/2003, 23h01

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