Skip to content

Commit bf6842b

Browse files
authored
Merge pull request #88 from javaevolved/copilot/translate-to-german
Add German (de) translation
2 parents 32604bb + 750759d commit bf6842b

File tree

114 files changed

+2127
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+2127
-0
lines changed

html-generators/locales.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# format: locale=Display name (first entry is the default/primary locale)
22
en=English
3+
de=Deutsch
34
es=Español
45
pt-BR=Português (Brasil)
56
ja=日本語
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: "Collectors.teeing()"
2+
oldApproach: Zwei Durchläufe
3+
modernApproach: "teeing()"
4+
summary: Zwei Aggregationen in einem einzigen Stream-Durchlauf berechnen.
5+
explanation: "Collectors.teeing() sendet jedes Element an zwei nachgelagerte Collectors\
6+
\ und fasst die Ergebnisse zusammen. Dadurch wird vermieden, die Daten zweimal\
7+
\ zu durchlaufen oder einen veränderbaren Akkumulator zu verwenden."
8+
whyModernWins:
9+
- icon: ""
10+
title: Einzelner Durchlauf
11+
desc: Den Stream einmal statt zweimal verarbeiten.
12+
- icon: "🧩"
13+
title: Kombinierbar
14+
desc: Zwei beliebige Collectors mit einer Zusammenführungsfunktion verbinden.
15+
- icon: "🔒"
16+
title: Unveränderliches Ergebnis
17+
desc: Direkt in einen Record oder Value-Object zusammenführen.
18+
support:
19+
description: Weitgehend verfügbar seit JDK 12 (März 2019)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: Kollektionen unveränderlich kopieren
2+
oldApproach: Manuelle Kopie + Wrapper
3+
modernApproach: "List.copyOf()"
4+
summary: Eine unveränderliche Kopie einer beliebigen Kollektion mit einem einzigen Aufruf erstellen.
5+
explanation: "List.copyOf(), Set.copyOf() und Map.copyOf() erstellen unveränderliche\
6+
\ Momentaufnahmen bestehender Kollektionen. Wenn die Quelle bereits eine unveränderliche\
7+
\ Kollektion ist, wird keine Kopie erstellt."
8+
whyModernWins:
9+
- icon: ""
10+
title: Intelligente Kopie
11+
desc: Die Kopie wird übersprungen, wenn die Quelle bereits unveränderlich ist.
12+
- icon: "📏"
13+
title: Ein einziger Aufruf
14+
desc: Kein manuelles ArrayList-Erstellen und Verpacken.
15+
- icon: "🛡️"
16+
title: Defensive Kopie
17+
desc: Änderungen am Original wirken sich nicht auf die Kopie aus.
18+
support:
19+
description: Weitgehend verfügbar seit JDK 10 (März 2018)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: Unveränderliche Listen erstellen
2+
oldApproach: Ausführliches Verpacken
3+
modernApproach: "List.of()"
4+
summary: Unveränderliche Listen in einem einzigen, sauberen Ausdruck erstellen.
5+
explanation: "List.of() erstellt eine wirklich unveränderliche Liste — kein Verpacken,\
6+
\ keine defensive Kopie. Sie ist null-feindlich (lehnt null-Elemente ab) und strukturell\
7+
\ unveränderlich. Die alte Methode erforderte drei verschachtelte Aufrufe."
8+
whyModernWins:
9+
- icon: "📏"
10+
title: Ein einziger Aufruf
11+
desc: Drei verschachtelte Aufrufe durch eine einzige Factory-Methode ersetzen.
12+
- icon: "🔒"
13+
title: Wirklich unveränderlich
14+
desc: Kein bloßer Wrapper — die Liste selbst ist unveränderlich.
15+
- icon: "🛡️"
16+
title: Null-sicher
17+
desc: Lehnt null-Elemente bei der Erstellung ab und schlägt sofort fehl.
18+
support:
19+
description: Weitgehend verfügbar seit JDK 9 (Sept. 2017)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
title: Unveränderliche Maps erstellen
2+
oldApproach: Map-Builder-Muster
3+
modernApproach: "Map.of()"
4+
summary: Unveränderliche Maps inline ohne Builder erstellen.
5+
explanation: "Map.of() akzeptiert Schlüssel-Wert-Paare inline und gibt eine unveränderliche\
6+
\ Map zurück. Für mehr als 10 Einträge Map.ofEntries() mit Map.entry()-Paaren verwenden."
7+
whyModernWins:
8+
- icon: "📏"
9+
title: Inline-Erstellung
10+
desc: Kein temporäres veränderliches Map erforderlich.
11+
- icon: "🔒"
12+
title: Unveränderliches Ergebnis
13+
desc: Die Map kann nach der Erstellung nicht mehr geändert werden.
14+
- icon: "🚫"
15+
title: Keine null-Schlüssel/-Werte
16+
desc: Null-Einträge werden sofort abgelehnt.
17+
support:
18+
description: Weitgehend verfügbar seit JDK 9 (Sept. 2017)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
title: Unveränderliche Sets erstellen
2+
oldApproach: Ausführliches Verpacken
3+
modernApproach: "Set.of()"
4+
summary: Unveränderliche Sets mit einem einzigen Factory-Aufruf erstellen.
5+
explanation: "Set.of() erstellt ein wirklich unveränderliches Set, das null-Elemente\
6+
\ und Duplikate bei der Erstellung ablehnt. Kein Verpacken von veränderbaren Sets mehr."
7+
whyModernWins:
8+
- icon: "📏"
9+
title: Prägnant
10+
desc: Eine Zeile statt drei verschachtelter Aufrufe.
11+
- icon: "🚫"
12+
title: Erkennt Duplikate
13+
desc: Wirft eine Ausnahme, wenn versehentlich doppelte Elemente übergeben werden.
14+
- icon: "🔒"
15+
title: Unveränderlich
16+
desc: Kein Hinzufügen oder Entfernen nach der Erstellung möglich.
17+
support:
18+
description: Weitgehend verfügbar seit JDK 9 (Sept. 2017)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: "Map.entry()-Factory"
2+
oldApproach: SimpleEntry
3+
modernApproach: "Map.entry()"
4+
summary: Map-Einträge mit einer sauberen Factory-Methode erstellen.
5+
explanation: "Map.entry() ersetzt den ausführlichen AbstractMap.SimpleEntry-Konstruktor.\
6+
\ Es gibt einen unveränderlichen Eintrag zurück, der ideal für Map.ofEntries()\
7+
\ und Stream-Operationen ist."
8+
whyModernWins:
9+
- icon: "📏"
10+
title: Prägnant
11+
desc: Eine Zeile statt drei mit klarerer Absicht.
12+
- icon: "🔒"
13+
title: Unveränderlich
14+
desc: Der zurückgegebene Eintrag kann nicht geändert werden.
15+
- icon: "🧩"
16+
title: Kombinierbar
17+
desc: "Funktioniert perfekt mit Map.ofEntries() für große Maps."
18+
support:
19+
description: Weitgehend verfügbar seit JDK 9 (Sept. 2017)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
title: Umgekehrte Listen-Iteration
2+
oldApproach: Manueller ListIterator
3+
modernApproach: "reversed()"
4+
summary: Mit einer sauberen for-each-Schleife in umgekehrter Reihenfolge über eine Liste iterieren.
5+
explanation: "Die Methode reversed() von SequencedCollection gibt eine in umgekehrter\
6+
\ Reihenfolge angeordnete Ansicht der Liste zurück. Diese Ansicht wird durch die\
7+
\ ursprüngliche Liste gesichert, sodass kein Kopieren stattfindet. Die erweiterte\
8+
\ for-Schleife macht die umgekehrte Iteration genauso lesbar wie die Vorwärts-Iteration."
9+
whyModernWins:
10+
- icon: "📖"
11+
title: Natürliche Syntax
12+
desc: Erweiterte for-Schleife statt des ausführlichen ListIterators.
13+
- icon: ""
14+
title: Kein Kopieren
15+
desc: "reversed() gibt eine Ansicht zurück — kein Performance-Overhead."
16+
- icon: "🧩"
17+
title: Konsistente API
18+
desc: "Funktioniert einheitlich auf List, Deque und SortedSet."
19+
support:
20+
description: Weitgehend verfügbar seit JDK 21 LTS (Sept. 2023)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: Sequenzierte Kollektionen
2+
oldApproach: Index-Arithmetik
3+
modernApproach: getFirst/getLast
4+
summary: "Auf das erste/letzte Element zugreifen und umgekehrte Ansichten mit sauberen API-Methoden erhalten."
5+
explanation: "SequencedCollection fügt getFirst(), getLast(), reversed(), addFirst()\
6+
\ und addLast() zu List, Deque, SortedSet und LinkedHashSet hinzu. Keine size-1-Arithmetik\
7+
\ oder manuelle umgekehrte Iteration mehr."
8+
whyModernWins:
9+
- icon: "📖"
10+
title: Selbstdokumentierend
11+
desc: "getLast() ist klarer als get(size()-1)."
12+
- icon: "🔄"
13+
title: Umgekehrte Ansicht
14+
desc: "reversed() gibt eine Ansicht zurück — kein Kopieren erforderlich."
15+
- icon: "🧩"
16+
title: Einheitliche API
17+
desc: "Funktioniert gleich auf List, Deque und SortedSet."
18+
support:
19+
description: Weitgehend verfügbar seit JDK 21 LTS (Sept. 2023)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: Typisiertes Stream-toArray
2+
oldApproach: Manuelle Array-Kopie
3+
modernApproach: "toArray(generator)"
4+
summary: Streams mit einer Methodenreferenz in typisierte Arrays umwandeln.
5+
explanation: "Die Methode toArray(IntFunction) erstellt ein korrekt typisiertes Array\
6+
\ aus einem Stream. Der Generator (String[]::new) teilt dem Stream mit, welchen\
7+
\ Array-Typ er erstellen soll."
8+
whyModernWins:
9+
- icon: "🎯"
10+
title: Typsicher
11+
desc: "Kein Object[]-Cast — der Array-Typ ist korrekt."
12+
- icon: "🔗"
13+
title: Verkettbar
14+
desc: Funktioniert am Ende jeder Stream-Pipeline.
15+
- icon: "📏"
16+
title: Prägnant
17+
desc: Ein einziger Ausdruck ersetzt die manuelle Schleife.
18+
support:
19+
description: Weitgehend verfügbar seit JDK 8 (März 2014)

0 commit comments

Comments
 (0)