Ich habe immer t () für den Titel und die Beschreibung von hook_menus wie folgt verwendet:
$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',
);
Dies ist für mich sinnvoll, damit Benutzer den Titel und die Beschreibung bei Bedarf in verschiedene Sprachen übersetzen können.
Dieser Kommentar zu einer Modulüberprüfung zu DO lautet jedoch:
Nein, das ist falsch, tu das nicht - Beschreibungen in hook_menu () sollten niemals t () verwenden.
Was ist der Grund dafür und ist dies tatsächlich die beste Vorgehensweise?
Auch wenn dies wahr ist, sollten wir dann nicht auch t () für den Titel verwenden?
Antworten:
Siehe Zeichenfolgen an bekannten Stellen: integrierte Menüs, Berechtigungen, Protokollnachrichten und Community-Dokumentation zu .info-Dateien :
Hervorhebung von mir.
quelle
title callback
nicht gesetzt , weil standardmäßigtitle callback
istt()
Funktiont()
und Sie sollten ihn trotzdem nicht verwendenhook menu()
- Sie wissen, Caching.Wenn Sie die Dokumentation von hook_menu- Argumenten sehen ..
Standardmäßig ist der Titelrückruf keine Funktion. Er wird also immer übersetzt.
quelle
Da wird Drupal 6 nicht mehr benötigt.
Bitte lesen Sie https://drupal.org/node/140311 . Zitiert das:
quelle
Sie sollten es nicht
t()
inhook_menu()
Implementierungen verwenden, dat()
es später automatisch aufgerufen wird und dies zu einer doppelten Übersetzung führen würde.quelle
title callback
im hook_menu ein hinzufügen und wenn dies nicht der Fallt
ist.Auf der Dokumentationsseite steht deutlich, dass hook_menu () dh
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7.x
"title": Erforderlich. Der nicht übersetzte Titel des Menüelements.
"description": Die nicht übersetzte Beschreibung des Menüpunkts.
Es ist also nicht erforderlich, die Funktion t () für beide oben zu verwenden.
quelle