---
title: "Important: Each partnership renders once per language"
manual: "Academic Partners"
version: "main"
permalink: "https://docs.typo3.org/permalink/fgtclb/academic-partners:important-ace-430-academic-partners@main"
source: "Changelog/2.4/Important-PartnershipsRenderOncePerLanguage.rst"
rendered: "2026-10-26T19:20:19+00:00"
---

# Important: Each partnership renders once per language {#important-ace-430-academic-partners}

## Description {#description}

The partnerships of a page render each partnership once in every language,
on TYPO3 v12 and v13 alike: in the partnerships list, in the partnerships
teaser and in the `partnerships` the page data processor hands to the
template of a partner page. A partnership renders as its translation where it
has one, and as its default language record where it has none. A partnership
that exists in one language only renders in that language, and one for all
languages renders in every language.

Before, a translation attached to the default language partner page rendered
next to its default record, in the default language and in the translated
one. Localizing a partner role created such translations up to version 2.3,
and localizing a partnership on its own in the **List** module still
does. They render once now, as the partnership in their language.

A partnership that renders as its translation names its role in that
language, where the role is translated. An untranslated partnership names its
role, and its partner, the way the default language does.

The partnerships list and teaser group the partnerships by role. A page with
translated and untranslated partnerships of one role lost some of them in a
translated language, because the template compared two different role
objects. The templates now compare the uid of the role, and the role heading
is named in the visitor's language when one partnership of the group carries
the translated role. A site package that overrides
`Partner/PartnershipsList.html` or `Partner/PartnershipsTeaser.html`
changes the same condition:

```html
<f:if condition="{partnership.role.uid} == {role.uid}">
```

A frontend preview that shows hidden records keeps showing hidden
partnerships.

## Impact {#impact}

Nothing has to be cleaned up. The translations attached to the default
language partner page stay in the database and stop rendering twice. This
query lists them, the copies a role localization created and the partnerships
localized on their own in the **List** module alike, so each can be
judged and deleted where it is a copy:

```sql
SELECT partnership.uid, partnership.l10n_parent, partnership.sys_language_uid
FROM tx_academicpartners_domain_model_partnership AS partnership
JOIN pages AS page ON page.uid = partnership.page
WHERE partnership.deleted = 0 AND partnership.t3ver_wsid = 0
    AND partnership.l10n_parent > 0 AND page.sys_language_uid = 0;
```

[Important: Translated partnerships keep their role](https://docs.typo3.org/permalink/fgtclb/academic-partners:important-translated-partnerships-keep-their-role@main) explains how the
copies came about and how to repair the role of the translations.

A partnership can name its role in the default language although it renders
as its translation. Once the data mapper of TYPO3 v12 and v13 has loaded the
default language role for an untranslated partnership, it hands that role to
every following partnership of the page with the same role.

## Affected Installations {#affected-installations}

Installations with translated partnerships, and site packages that override
the templates of the partnerships list or teaser.
