Extensions mit locallang.xlf anpassen und lokalisieren

20. Juni 16

Für Extensions, die mittels Extbase und Fluid erstellt wurden, stehen die Marker, Label und Meldungen in der XLIFF-Datei EXT:XXX/.../locallang.xlf. Möchte man diese Texte ändern bzw. in eine andere Sprache übersetzen (lokalisieren), so geht dies auch auf folgende Weise:

Man kopiert die Datei locallang.xlf in ein eigenes Verzeichnis bzw. erstellt z.B. eine de.locallang.xlf für die deutschen Übersetzungen. Dann ändert man die Texte wie gewünscht bzw. fügt die Übersetzungen als <target> ein.

Die Anpassungen für eine Extension XXX stehen bei uns im Verzeichnis fileadmin/XXX. Für die Extension XXX haben wir zum Beispiel eine Datei fileadmin/XXX/Resources/Private/Language/de.localang.xlf mit den Übersetzungen für Deutsch:

<?xml version="1.0" encoding="UTF-8" ?>
<xliff version="1.0">
  <file source-language="en" datatype="plaintext" original="messages" date="2015-03-01" product-name="XXX" target-language="de">
    <header/>
    <body>
      <trans-unit id="city">
        <source>City</source>
        <target state="translated">Ort</target>
      </trans-unit>
      ...
    </body>
  </file>
</xliff>

Nun muss man Typo3 via "locallangXMLOverride" mitteilen, wo die angepassten bzw. übersetzten Texte zu finden sind. Das geschieht über folgende Zeilen in der /typo3conf/AdditionalConfiguration.php:

<?php

$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:XXX/Resources/Private/Language/locallang.xlf'][] = 'fileadmin/XXX/Resources/Private/Language/locallang.xlf';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['de']['EXT:XXX/Resources/Private/Language/locallang.xlf'][] = 'fileadmin/XXX/Resources/Private/Language/de.locallang.xlf';

?>