Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

Twig: String/Label nur anzeigen, wenn es eine Übersetzung gibt, anstelle des Keys des Labels

#Tutorials#Twig

Auf einer Seite bei der ich Twig als Template-Engine in Verbindung mit dem Übersetzungsfilter ( | trans) benutze, hatte ich das Problem, dass Twig den Key als Label ausgibt, wenn er das Label nicht in den Übersetzungen findet.

Hier ein Beispiel, was ich meine:

{# Set the translation key #}
{% set translationKey = "category." ~ key %}

<p>{{ translationKey | trans }}</p>
{#
Hier kann nun beispielsweise category.einkey herauskommen, wenn in der language-Datei kein Label gefunden wurde.
#}

Die Lösung

is recht einfach. Man kann vor der Ausgabe einfach schauen, ob Twig aus der Language-Datei dasgleiche zurückgibt, was man reinschickt. Ist dem nicht so, also wurde ein Label gefunden, dann gib das Label aus.

Hier der Code dazu: 

{# Set the translation key #}
{% set translationKey = "category." ~ key %}

{% if (translationKey | trans) != translationKey %}
   <p>{{ translationKey | trans }}</p>
{% endif %}

Kommentare

  • Jens K.
    Hey André, danke für den Denkanstoß. Ich hatte mich schon gefragt, wie man dieses Verhalten irgendwie abschalten kann.
    Antworten

Hinterlasse einen Kommentar

Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.