Attention

TYPO3 v9 has reached its end-of-life September 30th, 2021 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.

You can order Extended Long Term Support (ELTS) here: TYPO3 ELTS.

Localized labels

Using XLF labels in TypoScript structures

XLIFF (XLF) files are XML files containing labels that the system can fetch in a localized version if the relevant translations are installed. It is possible to retrieve values from XLF files using TypoScript:

page.20 = TEXT
page.20.data = LLL:EXT:indexed_search/Resources/Private/Language/locallang.xlf:form.submit

This looks for the label form.submit in the file Resources/Private/Language/locallang.xlf from extension "indexed_search".

If the config.language value is set to "de" and the German translations are installed in getLabelsPath()/de/, the output should be "Suche" (instead "Search" which is what you will get if the label is retrieved for the default language).

Using XLF labels in frontend plugins

Making your code ready for internationalization is covered in Inside TYPO3 and basics about XLIFF files are found in Core APIs. Properly made plugins should use XLIFF files for every label that they used, so that they can be translated and thus generate a proper output when a specific language is requested.

For instance, if config.language = de and the German translations are installed, you will see this page for "indexed search":

Indexed search in German

Output from the indexed search plugin in German

Overriding an existing translation is possible using custom XLIFF files. This process is described in Core APIs.

It is also possible to override a label using TypoScript, but this works only for plugins based on the \TYPO3\CMS\Frontend\Plugin\AbstractPlugin class and not for those based on Extbase. See the TypoScript Reference for more information.

It is also possible to create XLIFF files for a language into which TYPO3 CMS is not translated yet. This process is also described in Core APIs.