Deprecation: #107436 - Localization Parsers

See forge#107436

Description

Due to the migration to Symfony Translation components (see Feature: #107436 - Symfony Translation Component Integration), the following localization parser classes have been deprecated:

  • \TYPO3\CMS\Core\Localization\Parser\AbstractXmlParser
  • \TYPO3\CMS\Core\Localization\Parser\LocalizationParserInterface
  • \TYPO3\CMS\Core\Localization\Parser\XliffParser

The global configuration option $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['parser'] has been removed and replaced with $GLOBALS['TYPO3_CONF_VARS']['LANG']['loader'] .

Impact

Using any of the mentioned parser classes will raise a deprecation level log entry and will stop working in TYPO3 v15.0. The extension scanner will report usages as strong match.

Affected installations

Instances using the deprecated localization parser classes directly or configuring custom parsers via the removed global configuration option.

Migration

Replace usage of the deprecated parser classes with Symfony Translation loaders. Use the new \TYPO3\CMS\Core\Localization\Loader\XliffLoader class for XLIFF file processing.

The Symfony Translator and its loaders are now responsible for file parsing and should be used instead of the deprecated TYPO3 parsers.

For custom localization needs, implement Symfony Translation loader interfaces instead of the deprecated TYPO3 parser interfaces.

Configuration changes:

// Before
$GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['parser']['xlf'] = \TYPO3\CMS\Core\Localization\Parser\XliffParser::class;

// After
$GLOBALS['TYPO3_CONF_VARS']['LANG']['loader']['xlf'] = \TYPO3\CMS\Core\Localization\Loader\XliffLoader::class;
Copied!

Please note: This functionality only affects internal handling of translation files ("locallang" files). The public API of the localization system remains unchanged.