Comportamiento extraño con traducciones y rebuild

Events happening in the community are now at Drupal community events on www.drupal.org.
blueelephpant's picture

Tengo un problema con Drupal 7, cuyo comportamiento especifico en diferentes pasos:
1- Site multiidioma con Castellano e Inglés. Me sitúo en Castellano.
2- En Configuración -> Regional e Idioma -> Traducir interfaz -> Busco el punto de submenú y edito la traducción de Add a discount -> Añadir un descuento. También modifico Import a discount -> Importar un descuento
3- Lanzo drush rr.
4- Recargo la página y veo que en Store -> Discounts están los puntos de submenú: Añadir un descuento e Importar un descuento.
5- Cambio de idioma a inglés y veo que en Store -> Discounts no están los textos: Add a discount e Import a discount (aunque si pulso en el espacio donde se supone que está el texto...sí que me navega donde tiene que navegar).
6- Estando en Inglés, vuelvo a lanzar el drush rr y entonces veo que en Store -> Discounts están los puntos de submenú: Add a discount e Import a discount.
7- Cambio de idioma a Castellano y veo que en Store -> Discounts no están los textos: Añadir un descuento e Importar un descuento (aunque si pulso en el espacio donde se supone que está el texto...sí que me navega donde tiene que navegar).
Aporte: Si no introduzco nada en la traducción, tiene el mismo comportamiento explicado anteriormente. Y sólo me pasa con esos dos puntos de submenú. El resto de la plataforma está OK.
¿Podríais indicarme qué estoy haciendo mal?

Comments

Demasiada descripción

jncruces's picture

Buenas,

Has descrito tanto que la verdad hasta me cuesta entender qué te pasa.

Primero usas "drush rr" como si fuese "drush cc all". Registry Rebuild no debería usarse más que cuando hay problemas de registro en el sistema y un limpiado de caché normal no funciona. Yo solo usaría drush rr en casos extremos y es lo que hago. Usa drush cc all para estas cosas.

Respecto a tú problema real. Creo que el problema es con lo mencionado anteriormente de drush rr.

Yo tengo dichos textos traducidos sin mayor problema.

¿Por qué limpias cache cada vez que cambias de idioma?
¿Si no limpias caché... sigue ocurriendo cambiando de idioma?

Saludos.

Gracias

blueelephpant's picture

Buenas,

Muchas gracias por tu respuesta.

Respecto a lo del drush rr, es porque no he tocado nunca Drupal y desarrolladores que sí lo habían tocado en la misma empresa, me recomendaron hacerlo sin darme más explicaciones. Mi problema es que me confié en lo que dijeron y no investigué por mi cuenta y eso es otro gran fallo de desarrollador.

He hecho lo que me has dicho y después de lanzar el drush cc all, ya no me aparecen los literales ni en castellano ni en inglés. Lo raro, es que sólo me pasa con un punto de menú, el resto funcionan correctamente.

¿Puedes imaginar por donde van los tiros?

Gracias de nuevo!

Algo tenemos diferente

jncruces's picture

La verdad es que pasa que a mi no me aparecen esas entradas de menú que mencionas.

¿Usas el módulo i18n?

https://www.drupal.org/project/i18n

La verdad sin activar dicho módulo y con el módulo l10n_update activado me ha traducido en simplytest.me dichas entradas automáticamente. Sin tener que limpiar caché ni nada.

Creo que debes tener algo mal. A ver si en código estás haciendo algún hook_menu_alter o algo parecido.

Hook_menu_alter

blueelephpant's picture

Sí que utilizo el módulo i18n pero no me deja desactivarlo para sólo tener activado el l10n_update.

Por otro lado, en mi código hay bastantes líneas de Implements hook_menu_alter.

La verdad es que no sé que está pasando ya que sólo me ocurre con dicho punto de menú (Discounts) mientras que el resto de puntos de menú, les cambio la traducción y me los coge bien.

Misterios....

No lo desinstales

jncruces's picture

No he querido decir que desactivaras i18n, sino que probé sin instalarlo.

Si tienes i18n activo y su submódulo i18n_menu activos la traducción no es sobre el texto sino sobre el elemento de menú. Vamos que creas como una instancia traducida de dicho elemento de menú. Supongo que lo tienes así.

Si miramos el código de dichos elementos de menú:

http://cgit.drupalcode.org/commerce_discount/tree/includes/commerce_disc...
(Línea 69 en adelante)

Podemos ver que han establecido esos elementos de menú a mano pasandolos por la función t():

    $items[$this->path . '/add']['title callback'] = 't';
    $items[$this->path . '/import']['title callback'] = 't';
    $items[$this->path . '/add']['title'] = 'Add discount';
    $items[$this->path . '/import']['title'] = 'Import discount';

Tan solo traduciendo los elementos desde:

/admin/config/regional/translate/translate

Debería ser suficiente. Limpias caché una vez y listo.

Acabo de encontrar que la incidencia esta reportada en el listado de incidencias del módulo:

https://www.drupal.org/project/commerce_discount/issues/2109691

¿Qué versión del módulo commerce_discount tienes?

Si tienes una versión de hace más de 3 años te recomendaría que la actualizaras o que aplicaras este parche:

https://www.drupal.org/files/issues/commerce_discount-fix_admin_menu_iss...

Para aplicar el parche lo descargas a la carpeta commerce_discount y desde dicha carpeta en línea de comandos ejecutas:

$ patch -p1 < ./commerce_discount-fix_admin_menu_issues-2109691-5.patch

Drupal works! Drupal rules!

blueelephpant's picture

Muchas gracias!!

Ha funcionado!

No he tenido que instalar ningún parche ya que la versión era bastante más reciente que 3 años. Sin embargo, la solución que me propones sobre código...ha sido correcta!

Como he toqueteado muchas cosas a la vez (en mi local) voy a dejarlo tal cual me lo descargué hace un par de días y volveré a realizar el cambio. En principio, debería funcionar correctamente así que muchísimas gracias!

Quedan unas birras a deber....

En local si, en servidor no

blueelephpant's picture

Hola,

He hecho exactamente lo mismo en el servidor y me sigue funcionando como antes y no como funciona en mi local.

He aplicado el parche que me indicas y sigue igual en servidor.

Algo me dejo, fijo....

Misterios misteriosos

blueelephpant's picture

Hola,

Ya he conseguido que en el servidor también vea los literales del punto de menú de Discounts.
El misterio que tengo ahora es que cuando estoy en Inglés, veo la traducción de Add discount e Import discount (lo veo igual que si estoy en Castellano).

¿Te ha pasado alguna vez?

Gracias!

Solucionado

blueelephpant's picture

Ya está el problema era mío.

Tenía puesto el idioma Español por defecto y por eso se liaba con las nuevas traducciones.

Arreglado y ya en el servidor...arreglado.

Muchas gracias!!!!

Alex

Spanish

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: