{displayPath}

{scopeLabel}
{#if !restoreCommit}{/if}
{#if restoreCommit}

{t("Grün: aus der alten Version übernehmen. Rot: aus der aktuellen Datei entfernen. Für einen Zeilenaustausch beide Zeilen auswählen. Die Auswahl wird nicht gestagt.", "Green: take from the old version. Red: remove from the current file. Select both lines to replace a line. Changes remain unstaged.")}

{/if}
{#if isLoading}
{t("Änderungen werden geladen …", "Loading changes …")}
{:else if error}
{error}
{:else if !patch.trim()}
{t("Keine Änderungen für diese Datei vorhanden.", "No changes available for this file.")}
{:else if parsed.binary || parsed.hunks.length === 0}
{t("Diese Änderung lässt sich nicht in Textzeilen aufteilen.", "This change cannot be split into text lines.")}
{:else}
{t("Geänderte Zeilen auswählen", "Select changed lines")}{t("Shift-Klick für einen Bereich", "Shift-click to select a range")}
+{addedCount}−{deletedCount}{parsed.hunks.length} {t(parsed.hunks.length === 1 ? "Abschnitt" : "Abschnitte", parsed.hunks.length === 1 ? "hunk" : "hunks")}
{#each parsed.hunks as hunk, index (hunk.id)}
{t("Abschnitt", "Hunk")} {index + 1}{hunk.header}
{#if restoreCommit}{:else} {/if}
{#each hunk.lines as line (line.id)}
{#if line.kind === "add" || line.kind === "delete"} {:else}{/if} {line.oldLine ?? ""}{line.newLine ?? ""}{linePrefix(line)}{lineBody(line)}
{/each}
{/each}
{#each parsed.hunks as hunk, index (hunk.id)}{/each}
{/if}
{#if hasTextPatch}
0}>{selectedCount} {t(selectedCount === 1 ? "Zeile ausgewählt" : "Zeilen ausgewählt", selectedCount === 1 ? "line selected" : "lines selected")}
{#if restoreCommit}{:else}{/if}
{/if}