Language

Contains Language resources.

See also

In the folder EXT:my_extension/Resources/Private/Languages/ language files are stored in format .xlf.

This folder contains all language labels supplied by the extension in the default language English.

If the extension should provide additional translations into custom languages, they can be stored in language files of the same name with a language prefix. The German translation of the file locallang.xlf must be stored in the same folder in a file called de.locallang.xlf, the French translation in fr.locallang.xlf. If the translations are stored in a different file name they will not be found.

Any arbitrary file name with ending .xlf can be used. The following file names are commonly used:

locallang.xlf

This file commonly contains translated labels to be used in the frontend.

In the templates of Extbase plugins all labels in the file EXT:my_extension/Configuration/Resources/Private/locallang.xlf can be accessed without using the complete path:

EXT:my_extension/Configuration/Resources/Templates/MyTemplate.html
<f:translate key="key1" extensionName="MyExtension"/>

From other template contexts the labels can be used by using the complete LLL:EXT path:

EXT:my_extension/Configuration/Resources/Templates/MyTemplate.html
<f:translate key="LLL:EXT:my_extension/Resources/Private/Language/locallang.xlf:key1" />

The documentation for the ViewHelper can be found at translate.

Language labels to be used in PHP, TypoScript etc must also be prefixed with the complete path.

locallang_db.xlf

By convention the file EXT:my_extension/Configuration/Resources/Private/locallang_db.xlf should contain all localized labels used for the TCA labels, descriptions etc.

These labels need to be always accessed by their complete path in the TCA configuration:

EXT:examples/Configuration/TCA/tx_examples_dummy.php
return [
   'ctrl' => [
       'title' => 'LLL:EXT:examples/Resources/Private/Language/locallang_db.xlf:tx_examples_dummy',
       // ...
   ],
   // ...
];