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¶
Registration of the event:
EXT:my_extension/Configuration/Services.yaml¶
services:
# Place here the default dependency injection configuration
MyVendor\MyExtension\Install\EventListener\MyEventListener:
tags:
- name: event.listener
identifier: 'my-extension/modify-language-packs'
Read how to configure dependency injection in extensions.
An implementation of the event listener:
EXT:my_extension/Classes/Install/EventListener/MyEventListener.php¶
<?php
declare(strict_types=1);
namespace MyVendor\MyExtension\Install\EventListener;
use TYPO3\CMS\Install\Service\Event\ModifyLanguagePacksEvent;
final 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');
}
}
API¶
- class TYPO3\CMS\Install\Service\Event\ModifyLanguagePacksEvent¶
Event to modify the language pack array
- getExtensions()¶
- Return type
array
- removeExtension(string $extension)¶
- Parameters
$extension (
string
) -- the extension
- removeIsoFromExtension(string $iso, string $extension)¶
- Parameters
$iso (
string
) -- the iso$extension (
string
) -- the extension