Siempre he usado t () para el título y la descripción de hook_menus de esta manera:
$items['some-path'] = array(
'title' => t('My Page Title'),
'description' => t('This is a description about what my page is for'),
'page callback' => 'profile_user_page',
);
Esto tiene sentido para mí para que los usuarios puedan traducir el título y la descripción a diferentes idiomas si es necesario.
Sin embargo, este comentario en una revisión del módulo sobre DO dice:
No, eso está mal, no hagas eso: las descripciones en hook_menu () nunca deberían usar t ().
¿Cuál es el razonamiento para esto y esta es realmente la mejor práctica?
Además, si esto es cierto, ¿no deberíamos usar t () para el título también?
Respuestas:
Consulte Cadenas en lugares conocidos: menús integrados, permisos, mensajes de registro y documentación de la comunidad de archivos .info :
El énfasis es mío.
fuente
title callback
no está configurado porque por defectotitle callback
es lat()
funciónt()
y aún no debe usarlahook menu()
, ya sabes, el almacenamiento en caché.Si ve documentación de argumentos de hook_menu ...
De forma predeterminada, la devolución de llamada del título es la función t. Por lo tanto, siempre se traduce.
fuente
Dado que Drupal 6 ya no es necesario.
Lea https://drupal.org/node/140311 . Citando eso:
fuente
No debe usarlo
t()
enhook_menu()
implementaciones porquet()
se llama automáticamente más adelante y hacerlo provocaría una doble traducción.fuente
title callback
en el hook_menu, y si no es asít
, la devolución de llamada del título es responsable de traducir la cadena.Dice claramente en la página de documentación de hook_menu () es decir
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7.x
"título": obligatorio. El título no traducido del elemento del menú.
"descripción": la descripción no traducida del elemento del menú.
Por lo tanto, no es necesario utilizar la función t () para los dos anteriores.
fuente