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 13/03/2011, 18h26   #1
Membre régulier
 
Inscription : juin 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 214
Points : 78
Points : 78
Par défaut Modifier les messages d'erreur standard

Slt, je voudrais modifier pour tous mes formulaires les messages d'erreur par défaut comme required par exemple. Par défaut, en anglais il met :

Et je voudrais le modifier sans avoir à le faire pour chaque champs. J'ai essayé de mettre dans BaseFormDoctrine :

Code :
sfValidatorBase::setDefaultMessage('required', 'This field is required.');
Mais ça ne marche pas. Quelqu'un aurait une idée de comment procéder ?

De plus, si j'arrive à faire ça, je voudrais avoir la liste des erreurs possibles. Je pense à "required", "invalid", "min-length", "max-length"... Y aurait-il un endroit ou ils sont tous listés ?

Merci d'avance.

Cordialement.
barbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 10h15   #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
Le plus simple est de mettre en place des fichiers de traduction (i18n) les formulaires sont conçu pour préparer tout leur message en vue d'être traduit.

Il n'y a pas (hélas) de liste global des messages d'erreurs.
__________________
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 14/03/2011, 20h03   #3
Membre régulier
 
Inscription : juin 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 214
Points : 78
Points : 78
Effectivement, en traduisant de l'anglais à l'anglais, ça change le message d'erreur Ça me parait bourrin mais si ça marche...

Merci beaucoup !
barbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 09h25   #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
Effectivement (je sais, au départ c'est une boutade, mais...) traduire de l'anglais à l'anglais peut apporter un plus. En multilingue je préfère développer les écrans en pseudo anglais qui sera traduit en anglais, américain, français, allemand,... Ceci permet de ce soustraire des difficultés de correction d'un label dans la langue de base.

Ce n'est pas une solution bourrin, c'est une très bonne solution de travail, dans ce cas, c'est probablement la meilleur.
__________________
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 16/03/2011, 08h47   #5
Membre régulier
 
Inscription : juin 2008
Messages : 214
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 214
Points : 78
Points : 78
Effectivement, ça peut être une bonne solution de voir ça comme ça. Puisque nous somme dans le sujet des fichiers de traduction. Y-a-t-il un moyen de traduire facilement ses formulaires avec les labels ?

Actuellement ce que je fais c'est un setLabel(). Puis il faut que je crées moi-même mes fichiers de langue à la main en n'oubliant aucun label sinon il ne sera pas traduit... J'ai cru voir sur de nombreuses sources que c'était la seule solution mais je la trouve vraiment pas commode sachant qu'ils ont déjà codé un système pour générer automatiquement ces fichiers à partir des sources... Y aurait-t-il quelque chose que j'aurais manqué ?

Merci d'avance.
barbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 10h28   #6
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
Non, il n'y a pas d'autre méthode.

En fait, il convient d'écrire simultanément le form et le/les fichiers de traduction.

Le système automatique de création des fichiers de traduction n'est pas vraiment parfait et demande à être systématiquement réorganisé et retouché. D'où le fait de travailler en simultané.

Par contre, pour les libellés qui ne sont pas issus d'un form, tu peux utiliser la fonction __() pour les traductions. Il faut inclure le helper i18n dans le template, le mieux étant de l'inclure au niveau du projet.
__________________
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h50.


 
 
 
 
Partenaires

Hébergement Web