ModifyLanguagePacksEvent

New in version 12.2

The PSR-14 event \TYPO3\CMS\Install\Service\Event\ModifyLanguagePacksEvent allows to ignore extensions or individual language packs for extensions when downloading language packs.

The options of the language:update command can be used to further restrict the download (ignore additional extensions or download only certain languages), but not to ignore decisions made by the event.

Example

EXT:my_extension/Classes/Install/EventListener/MyEventListener.php
<?php

declare(strict_types=1);

namespace MyVendor\MyExtension\Install\EventListener;

use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\Install\Service\Event\ModifyLanguagePacksEvent;

#[AsEventListener(
    identifier: 'my-extension/modify-language-packs',
)]
final readonly class MyEventListener
{
    public function __invoke(ModifyLanguagePacksEvent $event): void
    {
        $extensions = $event->getExtensions();
        foreach ($extensions as $key => $extension) {
            // Do not download language packs from Core extensions
            if ($extension['type'] === 'typo3-cms-framework') {
                $event->removeExtension($key);
            }
        }

        // Remove German language pack from EXT:styleguide
        $event->removeIsoFromExtension('de', 'styleguide');
    }
}
Copied!

New in version 13.0

API

class ModifyLanguagePacksEvent
Fully qualified name
\TYPO3\CMS\Install\Service\Event\ModifyLanguagePacksEvent

Event to modify the language pack array

getExtensions ( )
Returns
array
removeExtension ( string $extension)
param $extension

the extension

removeIsoFromExtension ( string $iso, string $extension)
param $iso

the iso

param $extension

the extension