Eu sempre usei t () para o título e descrição do hook_menus como este:
$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',
);
Isso faz sentido para mim, para que os usuários possam traduzir o título e a descrição em diferentes idiomas, se necessário.
No entanto, este comentário em uma revisão de módulo no DO diz:
Não, está errado, não faça isso - as descrições em hook_menu () nunca devem usar t ().
Qual o motivo disso e essa é realmente a melhor prática?
Além disso, se isso for verdade, não devemos usar t () também para o título?
Respostas:
Consulte Strings em locais conhecidos: menus internos, permissões, mensagens de log e documentação da comunidade de arquivos .info :
Ênfase minha.
fonte
title callback
não está definido porque, por padrãotitle callback
ét()
funçãot()
e você ainda não deve usá-lohook menu()
- você sabe, armazenando em cache.Se você vir a documentação dos argumentos hook_menu ..
Por padrão, o retorno de chamada do título é a função t. Portanto, ele é sempre traduzido.
fonte
Desde Drupal 6 não é mais necessário.
Leia https://drupal.org/node/140311 . Citando que:
fonte
Você não deve usar
t()
emhook_menu()
implementações porquet()
é automaticamente chamado mais tarde e isso causaria conversão dupla.fonte
title callback
no hook_menu, e se não estivert
, o retorno de chamada do título será responsável por converter a string.Diz claramente na página de documentação de hook_menu () ie
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7.x
"title": obrigatório. O título não traduzido do item de menu.
"description": a descrição não traduzida do item de menu.
Portanto, não é necessário usar a função t () para os dois acima.
fonte