Ab und zu mal wieder ein paar Basics :-): In unserer Webagentur schreiben wir aktuell ein kleines Partial für die Listausgabe der TYPO3 "blog"-Extension. Hierbei möchten wir den von der blog-Extension gelieferten Link mit eigenen Texten versehen und nicht den Titel ausgeben lassen, wie standardmäßig eingestellt.
Somit möchten wir standardmäßige Ausgabe des Buttons
<button itemprop="name"><blog:link.post post="{post}" /></button>
etwas verändern. Zuerst möchten wir nur die URL zum Blogbeitrag erhalten statt des gesamten Linkcodes. Das schaffen wir mit dem Parameter "returnUri". Wir verwenden damit die Schreibweise
<blog:link.post post="{post}" returnUri="1" />
oder
<blog:link.post post="{post}" returnUri="true" />
Da wir nun nur die reine (relative) URL zurück erhalten, müssen wir nun noch den Link und den Linktext hinzufügen. Dies machen wir z.B. so
<button itemprop="name"><a href="/<blog:link.post post="{post}" returnUri="1" />"><f:translate key="LLL:fileadmin/lang/locallang.xlf:domain_model.button_title"/></a></button>
Wir setzen das blog:link-Element somit in das href-Attribut des a-Elements und schreiben unseren eigenen Text in das a-Element, damit kommen wir zu unserem eigentlichen Thema, den Übersetzungen. Nachdem wir aber hier im key bereits den Ort der Übersetzungsdateien angeben durften, müssen wir nur noch die Sourcedatei anlegen und die (in unserem Fall) deutsche Übersetzungsdatei. Legen wir also
\fileadmin\lang\locallang.xlf
an mit dem beispielsweisen Inhalt
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file source-language="en" datatype="plaintext" original="LLL:fileadmin/lang/locallang.xlf">
<header/>
<body>
<trans-unit id="domain_model.button_title" resname="domain_model.button_title">
<source>To the job advertisement</source>
</trans-unit>
</body>
</file>
</xliff>
und dann die Übersetzungsdatei
\fileadmin\lang\de.locallang.xlf
mit dem beispielsweisen Inhalt
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
<file source-language="en" target-language="de" datatype="plaintext" original="LLL:fileadmin/lang/locallang.xlf">
<header/>
<body>
<trans-unit id="domain_model.button_title" resname="domain_model.button_title">
<source>To the job advertisement</source>
<target state="translated">Zur Stellenanzeige</target>
</trans-unit>
</body>
</file>
</xliff>
Damit ist alles erledigt und die Übersetzung wir auf der Website richtig angezeigt. Gesehen in unserer Webagentur in einer TYPO3 9.5 Website.