Drupal »
En la última web que he preparado me ha surgido un “problemita” con el tema de las traducciones en el apartado de las reservas, al principio habia generado un nodo distinto para cada idioma y todo funcionaba correctamente, pero luego me he dado cuenta que cuando quieran añadir algun campo nuevo poner la web en más idiomas me iba a tocar cambiarlos en todos uno por uno.
Como “uno” es un flojo, decidi crear un solo nodo (webform) y traducir los textos, hasta ahí sin problema, el problema ha ocurrido cuando he intentado traducir las opciones de un campo. El campo “room type” tiene dos opciones, double room y single room… pero no he encontrado ninguna forma que me funcionara para traducirlo
Así que he echado mano del hook “form_alter” y GENIAL, es posible que se pueda hacer de otra forma… pero no la he encontrado, os pongo como lo he hecho por si os sirve
function formularios_form_alter(&$form, $form_state, $form_id) {
//print_r($form); # para saber cual es el formulario
$formulario='webform_client_form_ID'; # el formulario que quiero cambiar
if ($form_id==$formulario){
$form['submitted']['room_type']['#options'] = array(
'double' => t('Double room'),
'single' => t('Single room')
);
}
}
Asi de simple, luego solo tengo que cambiar para cada idioma las cadenas dentro de t() y listo opciones cambiadas para idioma.
Me ha ayudado bastante este post
3 Comentarios Tags: Drupal, i18n, modulos, programacion
El contenido este blog está bajo licencia Creative Commons (Reconocimiento - Compartir igual) - desarrollo javiermaties.com
Abril 13, 2009 en 7:31 pm
[...] Traducción de opciones en un CCK o Webform, en Si Puedo. [...]
Abril 14, 2009 en 4:53 pm
Sencillo y genial, me parece una gran solución
Oskar
Abril 17, 2009 en 3:54 pm
Hay días que me das miedo Javier….