Vorab ein paar Fragen zu deinem Anwendungsfall:
1) Haben die Inhaltselemente der deutschen und englischen Sprache eine Verbindung zueinander?
→ Feld l18n_parent == 0 → "Freier Modus" im Seite-Modul ODER
→ Feld l18n_parent > 0 → "Verbundener Modus" im Seite-Modul
2) Beziehst du dich mit der Aussage:
Also dachte ich mir, ich stelle beim deutschen Datensatz unter SPRACHEN auf ALLE (-1) und blende den englischen Datensatz aus.
auf das tt_content-Inhaltselement selbst oder auf die darüber referenzierten Bilder-Datensätze?
3) Falls du dich auf die Bilder-Datensätze beziehst: Wie werden diese aus dem Inhaltselement heraus referenziert.
→ Sind es IRRE-Relation oder MM-Relationen, etc? Falls es eine öffentliche Extension ist benenne diese, damit der Fall eindeutig ist.
Zum nachvollziehen habe ich eben mal mit folgender Sprachen-Konfiguration in der Site Configuration gearbeitet:
-
base: /
enabled: true
fallbackType: strict
fallbacks: ''
flag: de
hreflang: ''
languageId: 0
locale: de_DE
navigationTitle: Deutsch
title: German
websiteTitle: 'Deutsche Website'
-
base: /en/
direction: ltr
enabled: true
flag: us
hreflang: en-US
iso-639`-1`: en
languageId: 1
locale: en_US.UTF-8
navigationTitle: English
title: English
typo3Language: default
websiteTitle: 'English Website'
DB-seitig habe ich folgenden Zustand getestet:

- Es wurde also in der Standard-Sprache
0 (Deutsch) ein Bild-Contentelement mit Bildreferenz angelegt.
- Danach wurde dieses Element in die Sprache
1 (Englisch) übersetzt.
- Anschließend wurde das Element der Standard-Sprache
0 (Deutsch) auf -1 "Alle Sprachen" umgestellt.
- Unabhängig davon ob das Element der Sprache
1 (Englisch) aktiviert oder deaktiviert wurde wird beim Aufruf der englischen Sprache im Frontend das Element der Sprache -1 ausgegeben. Eine doppelte Ausgabe von "Alle Sprachen" -1 und "Englisch" 1 bzw. die Anzeige der englischen Übersetzung kann ich in diesem Zustand nicht feststellen.
Wenn man jedoch in den "Freien Modus" wechselt, also in der Englischen Übersetzung das Feld "Transl.Orig" l18n_parent auf 0 stellt, dann werden in der englischen Übersetzung - der Definition nach logischer Weise - sowohl der "Alle Sprachen" -1 Datensatz als auch der "Englisch" 1 Datensatz ausgegeben. Wenn ich in diesem Zustand den "Englisch" 1 Datensatz deaktiviere wird nurnoch der "Alle Sprachen" -1 Datensatz ausgegeben, also erwartbares Verhalten an dieser Stelle.
Wie du siehst tue ich mich aktuell schwer deinen Anwendungsfall nachzustellen. Gebe am besten noch weitere Informationen z.B. auch zur exakten verwendeten TYPO3-Version (vielleicht ist es ein alter Bug) und zu den Details der getesteten Datensätze (insbesondere mit den relevanten TCA-Konfigurationsabschnitten).
Aus der Arbeit in der TYPO3 Translation Handling Initiative kann ich generell schon mal sagen, dass -1 als Spezial-Identifikator für Sprachen künftig abgeschafft wird.
Stattdessen streben wir an, dass Inhalte, die ehemals das Verhalten aus der Sprache -1 hatten, automatisiert über alle Sprachen hinweg synchronisiert werden, also tatsächlich in jeder Sprache als dedizierte Datensätze vorliegen. Das erlaubt auch Klarheit hinsichtlich der Sortierung der Datensätze in der jeweiligen Sprache, was mit -1 Datensätzen nicht zuverlässig funktionieren kann.
Die Funktion "Sprache Alle" wird dann voraussichtlich über ein Bool-Flag im Datensatz der Standardsprache umgesetzt, jedoch nicht mehr über einen Spezialwert im Sprachen-Identifikationsfeld (i.d.R. sys_language_uid).