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 Site Package ("main"), also im Verzeichnis typo3conf/main/Resources/Private/Extensions/XXX. Für die Extension XXX haben wir zum Beispiel eine Datei .../Extensions/XXX/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'][] _
  = 'EXT:main/Resources/Private/Extensions/XXX/Language/locallang.xlf';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['de'] _
  ['EXT:XXX/Resources/Private/Language/locallang.xlf'][] _
  = 'EXT:main/Resources/Private/Extensions/XXX/Language/de.locallang.xlf';

?>

Kommentare (2)

  • Guido Palacios
    am 08.04.2015
    ..feine Sache.. kannt die Option noch gar nicht! Thx for sharing!!
  • Chris
    am 03.10.2018
    Und wieder was neues gelernt, danke.

    Einen Tipp habe ich aber noch: Besser wäre es, die locallang.xlf in der eigenen Sitepackage-Extension abzulegen. In fileadmin ist sie einerseits für Redakteure zugänglich (wenn man die Rechte nicht entsprechend setzt) und vor allem wird sie indexiert und über FAL verwaltet - was nun wirklich nicht notwendig ist.
    • Anna
      am 09.10.2018
      Da hast du definitiv recht - ich habe es geändert.

Neue Antwort auf Kommentar schreiben