Zawsze używałem t () do tytułu i opisu hook_menus w następujący sposób:
$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',
);
Ma to dla mnie sens, aby w razie potrzeby użytkownicy mogli tłumaczyć tytuł i opis na różne języki.
Jednak ten komentarz do przeglądu modułu w DO mówi:
Nie, to źle, nie rób tego - opisy w hook_menu () nigdy nie powinny używać t ().
Jakie jest tego uzasadnienie i czy rzeczywiście jest to najlepsza praktyka?
A jeśli to prawda, to czy nie powinniśmy również używać t () dla tytułu?
Odpowiedzi:
Zobacz ciągi znaków w znanych miejscach: wbudowane menu, uprawnienia, komunikaty dziennika i dokumentacja społeczności plików .info :
Podkreśl moje.
źródło
title callback
nie jest ustawiony, ponieważ domyślnietitle callback
jestt()
funkcjat()
i nadal nie powinno się go używaćhook menu()
- wiesz, buforowanie.Jeśli widzisz dokumentację argumentów hook_menu ..
Domyślnie wywołanie zwrotne tytułu jest funkcją t. Więc zawsze jest tłumaczone ..
źródło
Ponieważ Drupal 6 nie jest już potrzebny.
Proszę przeczytać https://drupal.org/node/140311 . Cytując, że:
źródło
Nie powinieneś używać
t()
whook_menu()
implementacjach, ponieważt()
później jest automatycznie wywoływany, a to spowodowałoby podwójne tłumaczenie.źródło
title callback
w menu hook_menu, a jeśli nie jestt
, wywołanie zwrotne tytułu jest odpowiedzialne za przetłumaczenie łańcucha.Jest wyraźnie napisane na stronie dokumentacji dla hook_menu () tj
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7.x
„tytuł”: wymagane. Nieprzetłumaczony tytuł pozycji menu.
„opis”: nieprzetłumaczony opis pozycji menu.
Nie ma więc potrzeby używania funkcji t () dla obu powyższych.
źródło