---
title: "Breaking: #84131 - Removed classes of language extension"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:breaking-84131"
source: "Changelog/9.2/Breaking-84131-RemovedClassesOfLanguageExtension.rst"
typo3-version: "9.2"
typo3-major: 9
type: "breaking"
issue: 84131
forge: "https://forge.typo3.org/issues/84131"
tags: ["Backend", "PHP-API", "FullyScanned", "ext:lang"]
rendered: "2026-09-18T17:00:34+00:00"
---

# Breaking: #84131 - Removed classes of language extension {#breaking-84131}

See [forge#84131](https://forge.typo3.org/issues/84131)

## Description {#description}

The language pack update module - formerly known as "Admin Tools" -> "Language"
module has been moved to "Maintenance" -> "Manage language packs".

PHP classes implementing the old solution have been removed:

-   `\TYPO3\CMS\Lang\Command\LanguageUpdateCommand`
-   `\TYPO3\CMS\Lang\Controller\LanguageController`
-   `\TYPO3\CMS\Lang\Domain\Model\Extension`
-   `\TYPO3\CMS\Lang\Domain\Model\Language`
-   `\TYPO3\CMS\Lang\Domain\Repository\ExtensionRepository`
-   `\TYPO3\CMS\Lang\Domain\Repository\LanguageRepository`
-   `\TYPO3\CMS\Lang\Exception`
-   `\TYPO3\CMS\Lang\Exception\Language`
-   `\TYPO3\CMS\Lang\Exception\Ter`
-   `\TYPO3\CMS\Lang\Exception\XmlParser`
-   `\TYPO3\CMS\Lang\Service\RegistryService`
-   `\TYPO3\CMS\Lang\Service\TerService`
-   `\TYPO3\CMS\Lang\Service\TranslationService`
-   `\TYPO3\CMS\Lang\View\AbstractJsonView`
-   `\TYPO3\CMS\Lang\View\Language\ActivateLanguageJson`
-   `\TYPO3\CMS\Lang\View\Language\DeactivateLanguageJson`
-   `\TYPO3\CMS\Lang\View\Language\GetTranslationsJson`
-   `\TYPO3\CMS\Lang\View\Language\RemoveLanguageJson`
-   `\TYPO3\CMS\Lang\View\Language\UpdateLanguageJson`
-   `\TYPO3\CMS\Lang\View\Language\UpdateTranslationJson`

## Impact {#impact}

Using one of the mentioned classes will throw a fatal PHP error.

## Affected Installations {#affected-installations}

It is unlikely extensions used the mentioned classes, the extension scanner will find usages. The only well-known
usage of one of this classes is the signal/slot to override the base download url of language packs per extension
and the registration did not change and should still be done like this:

```php
/** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */
$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);

$signalSlotDispatcher->connect(
    'TYPO3\\CMS\\Lang\\Service\\TranslationService',
    'postProcessMirrorUrl',
    \Company\Extension\Slots\CustomMirror::class,
    'postProcessMirrorUrl'
);
```

## Migration {#migration}

No migration available.
