Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2010, 19h19   #1
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
Par défaut gestion i18N chaotique /:sf_culture = fr_FR pas fr

dans mon module frontend j'ai tenté de suivre le training de jobeet pour gérer deux langues dans mon site.

malheureusement, je me retrouve avec une URL du type fr_FR alors qu'il attend fr.
Je voie pas du tout ou j'ai pu lui forcer ça.
J'ai du modifier des fichiers symfony pour compenser son impossibilité a gérer des enregistrements multilingues mais je voie pas le rapport la
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 13h51   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Il y a un conflit connu (et hélas non résolu) dans la définition des langues entre symfony et doctrine. Symfony gère la culture (langue + culture) sous la forme de xx_YY alors que doctrine ne gère que la langue.

Le problème étant qu'il (doctrine) utilise le code culture de symfony pour trouver la langue, sans le nettoyer de la culture.

D'où, dans plusieurs tutoriel, notamment Jobeet, une simplification qui consiste à utiliser dans culture uniquement la langue, ce qui, le plus souvent, marche.

Mais parfois génère des conflits comme le tiens. Je n'ai pas de bonne solution, tous dépend de ce que tu souhaites gérer pour ton application.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2011, 19h22   #3
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 769
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 769
Points : 788
Points : 788
Parfois, oui, mais pourquoi ?

je suis tombé aujourd'hui exactement sur le même problème dans le tuto jobeet. Ce qui est curieux, c'est que le comportement dépend de l'environnement. Le test qui echoue est dans apiActionsTest :
Code :
1
2
3
4
5
$browser->info('3 - The web service supports the JSON format')->
        get('/api/sensio_labs/jobs.json')->
        with('request')->isFormat('json')->
        with('response')->matches('/"category"\: "Programmation"/')->
[...]
Si j'appelle cette url en prod ou en dev :
http://127.0.0.1:8080/frontend_dev.p...labs/jobs.json
j'obtiens par exemple pour la premier job :
Citation:
{
"url": "http://127.0.0.1:8080/frontend_dev.php/fr/job/company-124/paris-france/28/web-developer",
"category": "Programmation",
...
Pour ce même test, la tâche test:functional frontend apiActions tombe en erreur car elle ne trouve pas la catégorie 'Programmation'. La sortie json qu'elle reçoit est :
Citation:
{
"url": "http://127.0.0.1:8080/frontend_dev.php/fr_FR/job/company-124/paris-france/28/web-developer",
"category": null,
...
Pourquoi cela fonctionne t'il dans tous les environnements sauf test ?
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 14h02   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
A priori je dirais que l'environnement de test n'est pas le même que celui par défaut.

Vérifie la structure de la base (peut probable) et les données chargées (plus probable) et enfin s'il y a des paramètres dédiés à test dans les fichier yml.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 17h28   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
c'est pas la culture mais la région
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 09h31   #6
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
bon je suis de nouveau reparti de zéro et le bug n'apparait plus.

Pas très fiable tout ça. J'ai vraiment besoin de gérer le multilingue et j'ai comme qui dirait l'impression que symfony ne sait pas le gérer aussi bien qu'il le dit

je met a résolu tout en espérant que la mise en prod ne me réserve pas des surprises désagréables
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h51.


 
 
 
 
Partenaires

Hébergement Web