Cómo traducir mensajes de error en 1.2?

27 views
Skip to first unread message

Sergio Flores

unread,
Apr 17, 2009, 4:25:22 PM4/17/09
to symfo...@googlegroups.com
Hola colegas!

No sé como configurar los validadores de forms para tener los mensajes
de error en español. Actualmente me aparecen en inglés, y tengo el
default_culture: es.

Muchas gracias y hasta luego!

Reynier Perez Mira

unread,
Apr 17, 2009, 4:37:04 PM4/17/09
to symfo...@googlegroups.com
> No sé como configurar los validadores de forms para tener los mensajes
> de error en español. Actualmente me aparecen en inglés, y tengo el
> default_culture: es.

Prueba lo siguiente:

1) Crear el fichero /app/i18n/messages.es_ES.xml (app se refiere al nombre de tú aplicación)
2) Definir la traducción para todos los mensajes en inglés
3) Definir la configuración en el fichero /app/config/settings.yml:
all:
i18n: on
default_culture: es_ES

4) Limpiar la caché de Symfony (symfony cc)

Y listo las cosas deben salirte en español

Un saludo
Ing. Reynier Pérez Mira
Dirección Técnica IP

Pablo Garaizar Sagarminaga

unread,
Apr 17, 2009, 4:49:49 PM4/17/09
to symfo...@googlegroups.com
Hola,

On Fri, 17 Apr 2009 16:37:04 -0400
"Reynier Perez Mira" <rpe...@uci.cu> wrote:

> 1) Crear el fichero /app/i18n/messages.es_ES.xml (app se refiere al
> nombre de tú aplicación)
> 2) Definir la traducción para todos los mensajes en inglés
> 3) Definir la configuración en el fichero /app/config/settings.yml:
> all:
> i18n: on
> default_culture: es_ES
> 4) Limpiar la caché de Symfony (symfony cc)
> Y listo las cosas deben salirte en español

¿No faltaría también indicar qué mensajes deben ser traducidos (con __
("mensaje"); )? ¿O todos los mensajes de los formularios provocan una
llamada al método mágico para i18n?

--
Pablo Garaizar Sagarminaga
ONTE (Oficina de Nuevas Tecnologías y Educación)
Universidad de Deusto
Avda. de las Universidades 24
48007 Bilbao - Spain

Phone: +34-94-4139000 Ext 2980
Fax: +34-94-4139101
Web: http://onte.eside.deusto.es

Sergio Flores

unread,
Apr 17, 2009, 4:54:22 PM4/17/09
to symfo...@googlegroups.com
Otra cosita.

Cómo sé todos los posibles mensajes de errores que pueden producir los
validadores? Debo ir probando uno por uno (o viendo su código) para
irlos descubriendo?

Saludos!

El día 17 de abril de 2009 17:49, Pablo Garaizar Sagarminaga
<gara...@eside.deusto.es> escribió:

Reynier Perez Mira

unread,
Apr 17, 2009, 5:04:59 PM4/17/09
to symfo...@googlegroups.com
> ¿No faltaría también indicar qué mensajes deben ser traducidos (con __
> ("mensaje"); )? ¿O todos los mensajes de los formularios provocan una
> llamada al método mágico para i18n?

Ahora soy yo quien pregunta ¿mensajes de error de validación de que cosa? ¿algún plugin específico? ¿algo programado por ti? Si es un plugin deberías fijarte en la posible compatibilidad del mismo con I18N y luego con la tarea symfony i18n:extract extraer (valga la redundancia) todos esos mensajes que hacen uso de __('mensaje_a_traducir'). Luego de eso sería realizar la traducción del mismo en el fichero generado. Por otra parte si es cosa tuya, o sea lo programas tú, entonces deberías definir bien tú lo que se traduce y lo que no.

Sebastian M

unread,
Apr 17, 2009, 5:07:42 PM4/17/09
to symfony-es
Para que sea un poco mas controlado, nosotros simpre le colocamos el
mensaje de error que queremos que salga, asi en diccionario de
traduccion tenemos los que son.

Por ejemplo este cuando se valida que un campo tenga un tamano minimo:

$this->validatorSchema['respuestasecreta'] = new sfValidatorString
(array('min_length' => 1), array(
'min_length' => 'El texto "%value%" es muy corto. Debe ser mínimo
de %min_length% caracteres.'
));

Esto: "El texto "%value%" es muy corto. Debe ser mínimo de %min_length
% caracteres" lo pones en el archivo de idioma

Saludos,
Sebas M
www.inqbo.net

On 17 abr, 15:54, Sergio Flores <ser...@gmail.com> wrote:
> Otra cosita.
>
> Cómo sé todos los posibles mensajes de errores que pueden producir los
> validadores? Debo ir probando uno por uno (o viendo su código) para
> irlos descubriendo?
>
> Saludos!
>
> El día 17 de abril de 2009 17:49, Pablo Garaizar Sagarminaga
> <garai...@eside.deusto.es> escribió:

Roiman Ramos

unread,
Apr 20, 2009, 11:58:36 AM4/20/09
to symfony-es
bueno... si lo que quieres en modificar el texto "Required." (por
ejemplo), que aparece en los formularios al ser creados con CRUD
(validaciones que se desprenden de lo definido en BD) debes modificar /
usr/share/php/symfony/validator/sfValidatorBase.class.php

en ese archivo vas a encontrar el Required y el Invalid ...
es una manera, debe haber mejores practicas.. pero si es lo q buscas
ahi esta...

PePe_el_Romano

unread,
Apr 21, 2009, 10:59:01 PM4/21/09
to symfony-es
Puedes too especificarle el mensaje a mostrar y este caso se lo
muestras en el idioma que deses.
mira este validador:

$this->setValidators(array(
'user' => new sfValidatorString(array('min_length' => 4,
'max_length' => 25), array(
'required' => 'Campo obligarorio.',
'min_length' => '%min_length% caracteres minimo',
'max_length' => '%max_length% caracteres como m&aacute;ximo',
)),

Espero te sirva, Salu2
Reply all
Reply to author
Forward
0 new messages