---
title: "Feature: Frontend profile edits synchronize translations"
manual: "Academic Profiles Edit"
version: "main"
source: "Changelog/3.0/Feature-FrontendEditsSynchronizeTranslations.rst"
rendered: "2026-09-30T20:17:10+00:00"
---

# Feature: Frontend profile edits synchronize translations {#feature-1788197189}

## Description {#description}

The frontend editing flow of `EXT:academic_persons_edit` dispatches
`\FGTCLB\AcademicPersons\Event\AfterProfileUpdateEvent` again. The
dispatch had been lost in the 2.x profile editing restructuring: since then the
event fired only when a profile was auto-created on frontend user login, so a
profile edited through the frontend plugins was never synchronised into its
translations, and the profile slug was not regenerated either.

These actions dispatch the event once after the change is persisted: the
generic field update of the profile form, the `skip_sync` toggle, the profile
image upload — which is also a replacement — the removal of the profile image,
and the create, update, delete and sort actions of a document section and of
the contacts of a contract. The event always carries the persisted default
language profile; child records resolve their owning profile through the
contract, and an edit of a profile fetched as translation overlay does not
dispatch (synchronisation runs from the default language record only). A
removal that found no image to remove changed nothing and announces nothing.

## Impact {#impact}

With `profile.allowedLanguages` configured, a frontend edit keeps the
translated profile records in sync again: missing translations are created and
existing ones updated through the record synchronisation of
`EXT:academic_persons`, which routes every write through the TYPO3
`DataHandler`. The profile slug is regenerated on every frontend edit as
well, since the slug listener reacts to the same event.

Installations that left `profile.allowedLanguages` empty only regain the slug
regeneration — the synchronisation itself stays a no-op for them.

## Affected Installations {#affected-installations}

Every installation using the frontend editing plugins of
`EXT:academic_persons_edit`. Profile auto-creation dispatched the event before
and still does. Backend saves announce themselves since a later 3.0 change, see
[Important: Translations follow backend saves and imports](Important-TranslationsFollowBackendSaves.html#important-translations-follow-backend-saves): a project DataHandler hook
that dispatches the event as well announces every backend save a second time
and has to be removed.
