diff --git a/README.md b/README.md
index b03e707c..2b9d0f41 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Opensource Git GUI client.
* Supports Windows/macOS/Linux
* Opensource/Free
* Fast
-* English/简体中文/繁體中文
+* English/简体中文/繁體中文/German
* Built-in light/dark themes
* Customize theme
* Visual commit graph
diff --git a/src/App.axaml b/src/App.axaml
index 6e485f3a..f5c29959 100644
--- a/src/App.axaml
+++ b/src/App.axaml
@@ -11,6 +11,7 @@
+
diff --git a/src/Models/Locales.cs b/src/Models/Locales.cs
index cbb1e7f1..70b77bdb 100644
--- a/src/Models/Locales.cs
+++ b/src/Models/Locales.cs
@@ -11,6 +11,7 @@ namespace SourceGit.Models
new Locale("English", "en_US"),
new Locale("简体中文", "zh_CN"),
new Locale("繁體中文", "zh_TW"),
+ new Locale("Deutsch", "de_DE")
};
public Locale(string name, string key)
diff --git a/src/Resources/Locales/de_DE.axaml b/src/Resources/Locales/de_DE.axaml
new file mode 100644
index 00000000..0ea89cc1
--- /dev/null
+++ b/src/Resources/Locales/de_DE.axaml
@@ -0,0 +1,598 @@
+
+ Info
+ Über SourceGit
+ • Erstellen mit
+ © 2024 sourcegit-scm
+ • TextEditor von
+ • Monospace Schriftarten von
+ • Quelltext findenst du unter
+ Opensource & freier Git GUI Client
+ Worktree hinzufügen
+ Was auschecken:
+ Existierender Branch
+ Neuen Branch erstellen
+ Ordner:
+ Pfad für diesen Worktree. Relativer Pfad wird unterstützt.
+ Branch Name:
+ Optional. Standard ist der Zielordnername.
+ Branch verfolgen:
+ Remote Branch verfolgen
+ Patch
+ Fehler
+ Fehler werfen und anwenden des Patches verweigern
+ Alle Fehler
+ Ähnlich wie 'Fehler', zeigt aber mehr an
+ Patch Datei:
+ Wählen Sie anzuwendende .patch Datei
+ Ignoriere Leerzeichenänderungen
+ Keine Warnungen
+ Schaltet die Warnung vor überschüssigen Leerzeichen aus
+ Patch anwenden
+ Warnen
+ Gibt eine Warnung für ein paar solcher Fehler aus, aber wendet es an
+ Leerzeichen:
+ Archivieren...
+ Speichere Archiv in:
+ Wähle Archivpfad aus
+ Revision:
+ Archiv
+ SourceGit Askpass
+ UNVERÄNDERTE DATEIEN
+ KEINE UNVERÄNDERTEN DATEIEN GEFUNDEN
+ ENTFERNEN
+ BINÄRE DATEI NICHT UNTERSTÜTZT!!!
+ Blame
+ BLAME WIRD BEI DIESER DATEI NICHT UNTERSTÜTZT!!!
+ Checkout ${0}$...
+ Mit Branch vergleichen
+ Mit HEAD vergleichen
+ Mit Worktree vergleichen
+ Branch-Namen kopieren
+ Lösche ${0}$...
+ Lösche alle ausgewählten {0} Branches
+ Alle Änderungen verwerfen
+ Fast-Forward zu ${0}$
+ Git Flow - Abschließen ${0}$
+ Merge ${0}$ in ${1}$ hinein...
+ Pull ${0}$
+ Pulle ${0}$ in ${1}$ hinein...
+ Push ${0}$
+ Rebase ${0}$ auf ${1}$...
+ Benenne ${0}$ um...
+ Setze verfolgten Branch
+ Upstream Verbindung löschen
+ Branch Vergleich
+ Bytes
+ ABBRECHEN
+ ANZEIGE MODUS ÄNDERN
+ Zeige als Datei- und Ordnerliste
+ Zeige als Pfadliste
+ Zeige als Dateisystembaum
+ Checkout Branch
+ Checkout Commit
+ Warnung: Beim auschecken eines Commits wird dein HEAD detached sein
+ Commit:
+ Branch:
+ Lokale Änderungen:
+ Verwerfen
+ Nichts tun
+ Stash & wieder anwenden
+ Diesen Commit cherry-picken
+ Commit:
+ Alle Änderungen committen
+ Cherry Pick
+ Stashes löschen
+ Du versuchst alle Stashes zu löschen. Möchtest du wirklich fortfahren?
+ Remote Repository klonen
+ Extra Parameter:
+ Zusätzliche Argumente für das Klonen des Repositories. Optional.
+ Lokaler Name:
+ Repository-Name. Optional.
+ Übergeordneter Ordner:
+ Repository URL:
+ SCHLIESSEN
+ Editor
+ Diesen Commit cherry-picken
+ Checkout Commit
+ Mit HEAD vergleichen
+ Mit Worktree vergleichen
+ Info kopieren
+ SHA kopieren
+ Interactives Rebase ${0}$ bis hier
+ Rebase ${0}$ bis hier
+ Reset ${0}$ bis hier
+ Commit rückgängig machen
+ Umformulieren
+ Als Patch speichern...
+ Squash in den Parent
+ ÄNDERUNGEN
+ Änderungen durchsuchen...
+ DATEIEN
+ LFS DATEI
+ Submodule
+ INFORMATION
+ AUTOR
+ GEÄNDERT
+ COMMITTER
+ Zeigt nur die ersten 100 Änderungen. Alle Änderungen im ÄNDERUNGEN Tab.
+ NACHRICHT
+ PARENTS
+ REFS
+ SHA
+ Commit Nachricht
+ Beschreibung
+ Repository konfigurieren
+ Email Adresse
+ Email Adresse
+ HTTP Proxy
+ HTTP proxy für dieses Repository
+ Benutzername
+ Benutzername für dieses Repository
+ Kopieren
+ NACHRICHT KOPIEREN
+ Pfad kopieren
+ Dateiename kopieren
+ Branch erstellen...
+ Basiert auf:
+ Erstellten Branch auschecken
+ Lokale Änderungen:
+ Verwerfen
+ Nichts tun
+ Stash & wieder anwenden
+ Neuer Branch-Name:
+ Branch-Namen eingeben.
+ Lokalen Branch erstellen
+ Tag erstellen...
+ Neuer Tag auf:
+ Mit GPG signieren
+ Anmerkung:
+ Optional.
+ Tag-Name:
+ Empfohlenes Format: v1.0.0-alpha
+ Nach Erstellung auf alle Remotes pushen
+ Erstelle neuen Tag
+ Art:
+ Mit Anmerkung
+ Ohne Anmerkung
+ Ausschneiden
+ Branch löschen
+ Branch:
+ Du löscht gerade einen Remote-Branch!!!
+ Auch Remote-Branch ${0}$ löschen
+ Mehrere Branches löschen
+ Du versuchst mehrere Branches auf einmal zu löschen. Kontrolliere noch einmal vor dem Fortfahren!
+ Remote löschen
+ Remote:
+ Ziel:
+ Bestätige löschen von Gruppe
+ Bestätige löschen von Repository
+ Lösche Submodul
+ Submodul Pfad:
+ Tag löschen
+ Tag:
+ Von Remote Repositories löschen
+ BINÄRER VERGLEICH
+ NEU
+ ALT
+ Kopieren
+ Dateimodus geändert
+ LFS OBJEKT ÄNDERUNG
+ Nächste Änderung
+ KEINE ÄNDERUNG ODER NUR DATEI-ENDE ÄNDERUNGEN
+ Vorherige Änderung
+ Nebeneinander
+ SUBMODUL
+ NEU
+ Syntax Hervorhebung
+ Zeilenumbruch
+ Öffne in Merge Tool
+ Weniger Zeilen anzeigen
+ Mehr Zeilen anzeigen
+ WÄHLE EINE DATEI AUS UM ÄNDERUNGEN ANZUZEIGEN
+ Zeige versteckte Symbole
+ Seiten wechseln
+ Öffne in Merge Tool
+ Änderungen verwerfen
+ Alle Änderungen in der Working Copy.
+ Änderungen:
+ Insgesamt {0} Änderungen werden verworfen
+ Du kannst das nicht rückgängig machen!!!
+ Lesezeichen:
+ Neuer Name:
+ Ziel:
+ Ausgewählte Gruppe bearbeiten
+ Ausgewähltes Repository bearbeiten
+ Fast-Forward (ohne Checkout)
+ Fetch
+ Alle Remotes fetchen
+ Ohne Tags fetchen
+ Alle toten Branches entfernen
+ Remote:
+ Remote Änderungen fetchen
+ Als unverändert annehmen
+ Verwerfen...
+ Verwerfe {0} Dateien...
+ Verwerfe Änderungen in ausgewählten Zeilen
+ Öffne externes Merge Tool
+ Als Patch speichern...
+ Stagen
+ {0} Dateien stagen
+ Änderungen in ausgewählten Zeilen stagen
+ Stash...
+ {0} Dateien stashen...
+ Unstage
+ {0} Dateien nicht mehr stashen
+ Änderungen in ausgewählten Zeilen stashen
+ "Ihre" verwenden (checkout --theirs)
+ "Meine" verwenden (checkout --ours)
+ Datei Historie
+ FILTER
+ Git-Flow
+ Development Branch:
+ Feature:
+ Feature Prefix:
+ FLOW - Finish Feature
+ FLOW - Finish Hotfix
+ FLOW - Finish Release
+ Ziel:
+ Hotfix:
+ Hotfix Prefix:
+ Git-Flow initialisieren
+ Branch behalten
+ Production Branch:
+ Release:
+ Release Prefix:
+ Feature starten...
+ FLOW - Feature starten
+ Hotfix starten...
+ FLOW - Hotfix starten
+ Name eingeben
+ Release starten...
+ FLOW - Release starten
+ Versions-Tag Prefix:
+ Git LFS
+ Verfolgungsmuster hinzufügen...
+ Muster ist Dateiname
+ Eigenes Muster:
+ Verfolgungsmuster zu Git LFS hinzufügen
+ Fetch
+ LFS Objecte fetchen
+ Führt `git lfs fetch` aus um Git LFS Objekte herunterzuladen. Das aktualisiert nicht die Working Copy.
+ Installiere Git LFS Hooks
+ Sperren zeigen
+ Keine gesperrten Dateien
+ Sperre
+ LFS Sperren
+ Entsperren
+ Erzwinge entsperren
+ Prune
+ Führt `git lfs prune` aus um alte LFS Dateien von lokalem Speicher zu löschen
+ Pull
+ LFS Objekte pullen
+ Führt `git lfs pull` aus um alle Git LFS Dasteien für aktuellen Ref & Checkout herunterzuladen
+ Push
+ LFS Objekte pushen
+ Pushe große Dateien in der Warteschlange zum Git LFS Endpunkt
+ Remote:
+ Verfolge Dateien names '{0}'
+ Verfolge alle *{0} Dateien
+ Historie
+ Wechsle zwischen horizontalem und vertikalem Layout
+ Wechsle zwischen Kurven- und Konturgraphenmodus
+ AUTOR
+ GRAPH & SUBJEKT
+ SHA
+ COMMIT ZEIT
+ DURCHSUCHE SHA/SUBJEKT/AUTOR. DRÜCKE ZUM SUCHEN ENTER, ESC UM ABZUBRECHEN
+ LÖSCHEN
+ {0} COMMITS AUSGEWÄHLT
+ Tastaturkürzel Referenz
+ GLOBAL
+ Aktuelles Popup abbrechen
+ Aktuelle Seite schließen
+ Zu vorheriger Seite gehen
+ Zu nächster Seite gehen
+ Neue Seite erstellen
+ Einstellungen öffnen
+ REPOSITORY
+ Gestagte Änderungen committen
+ Gestagte Änderungen Committen und pushen
+ Dashboard Modus (Standard)
+ Erzwinge Neuladen dieses Repositorys
+ Ausgewählte Änderungen stagen/unstagen
+ Commit Suchmodus
+ Wechsle zu 'Änderungen'
+ Wechsle zu 'Historie'
+ Wechsle zu 'Stashes'
+ TEXT EDITOR
+ Suchpanel schließen
+ Suche nächste Übereinstimmung
+ Suche vorherige Übereinstimmung
+ Öffne Suchpanel
+ Stagen
+ Unstagen
+ Verwerfen
+ Initialisiere Repository
+ Pfad:
+ Ungültiges Repository erkannt. `git init` auf diesem Pfad ausführen?
+ Cherry-Pick wird durchgeführt. Drücke 'Abbrechen' um den originalen HEAD wiederherzustellen.
+ Merge request wird durchgeführt. Drücke 'Abbrechen' um den originalen HEAD wiederherzustellen.
+ Rebase wird durchgeführt. Drücke 'Abbrechen' um den originalen HEAD wiederherzustellen.
+ Revert wird durchgeführt. Drücke 'Abbrechen' um den originalen HEAD wiederherzustellen.
+ Interactiver Rebase
+ Ziel Branch:
+ Auf:
+ Hinaufschieben
+ Hinunterschieben
+ Source Git
+ FEHLER
+ INFO
+ Hauptmenü öffnen
+ Branch mergen
+ Ziel-Branch:
+ Merge Option:
+ Quell-Branch:
+ Name:
+ Git wurde NICHT konfiguriert. Gehe bitte zuerst in die [Einstellungen] und konfiguriere Git.
+ BENACHRICHTIGUNG
+ ORDNER AUSWÄHLEN
+ Öffne mit...
+ Optional.
+ Neue Seite erstellen
+ Lesezeichen
+ Tab schließen
+ Schließe andere Tabs
+ Schließe Tabs rechts davon
+ Kopiere Repository-Pfad
+ Repositories
+ Einfügen
+ Gerade eben
+ Vor {0} Minuten
+ Vor {0} Stunden
+ Gestern
+ Vor {0} Tagen
+ Letzter Monat
+ Vor {0} Monaten
+ Leztes Jahr
+ Vor {0} Jahren
+ Einstellungen
+ OBERFLÄCHE
+ Standardschriftart
+ Standard Schriftgröße
+ Monospace Schriftart
+ Design
+ Design Überbrückung
+ ALLGEMEIN
+ Avatar Server
+ Beim Starten nach Updates suchen
+ Sprache
+ Commits Historie
+ Zuletzt geöffnete Tabs beim Starten wiederherstellen
+ Betreff Hilfslinienlänge
+ Fixe Tab-Breite in Titelleiste
+ Sichtbare Vergleichskontextzeilen
+ GIT
+ Remotes automatisch fetchen
+ Auto-Fetch Interval
+ Minute(n)
+ Aktiviere Auto-CRLF
+ Standard Klon-Ordner
+ Benutzer Email
+ Globale Git Benutzer Email
+ Installationspfad
+ Shell
+ Benutzername
+ Globaler Git Benutzername
+ Git Version
+ Git (>= 2.23.0) wird von dieser App benötigt
+ GPG SIGNIERUNG
+ Commit GPG Signierung
+ Tag GPG Signierung
+ GPG Format
+ Program Installspfad
+ Gebe Installationspfad zu installiertem GPG Programm an
+ Benutzer Signierungsschlüssel
+ Benutzer GPG Signierungsschlüssel
+ DIFF/MERGE TOOL
+ Installspfad
+ Gebe Installationspfad von Diff/Merge Tool an
+ Tool
+ Remote löschen
+ Ziel:
+ Worktrees löschen
+ Worktree Informationen in `$GIT_DIR/worktrees` löschen
+ Pull
+ Branch:
+ Alle Branches fetchen
+ Ziel-Branch:
+ Lokale Änderungen:
+ Verwerfen
+ Nichts tun
+ Stashen & wieder anwenden
+ Ohne Tags fetchen
+ Remote:
+ Pull (Fetch & Merge)
+ Rebase anstatt Merge
+ Push
+ Erzwinge Push
+ Lokaler Branch:
+ Remote:
+ Änderungen zum Remote pushen
+ Remote Branch:
+ Als verfogender Branch konfigurieren
+ Alle Tags pushen
+ Tag zum Remote pushen
+ Zu allen Remotes pushen
+ Remote:
+ Tag:
+ Schließen
+ Aktuellen Branch rebasen
+ Lokale Änderungen stashen & wieder anwenden
+ Auf:
+ Rebase:
+ Aktualisieren
+ Remote hinzufügen
+ Remote bearbeiten
+ Name:
+ Remote Name
+ Repository URL:
+ Remote Git Repository URL
+ URL kopieren
+ Löschen...
+ Bearbeiten...
+ Fetch
+ Im Browser öffnen
+ Aufräumen (Prune)
+ Ziel:
+ Bestätige das entfernen des Worktrees
+ Aktiviere `--force` Option
+ Ziel:
+ Branch umbenennen
+ Neuer Name:
+ Eindeutiger Name für diesen Branch
+ Branch:
+ ABBRECHEN
+ Aufräumen (GC & Prune)
+ Führt `git gc` auf diesem Repository aus.
+ Alles löschen
+ Dieses Repository konfigureren
+ WEITER
+ Repository im Datei-Browser öffnen
+ GEFILTERT:
+ LOKALE BRANCHES
+ Zum HEAD wechseln
+ Erstelle Branch
+ Öffne in {0}
+ Öffne in externen Tools
+ Aktualisiern
+ REMOTES
+ REMOTE HINZUFÜGEN
+ AUFLÖSEN
+ Commit suchen
+ Suche über
+ Datei
+ Nachricht
+ SHA
+ Autor & Committer
+ Duche Branches & Tags
+ Statistiken
+ SUBMODULE
+ SUBMODUL HINZUFÜGEN
+ SUBMODUL AKTUALISIEREN
+ TAGS
+ NEUER TAG
+ Öffne im Terminal
+ WORKTREES
+ WORKTREE HINZUFÜGEN
+ AUFRÄUMEN (PRUNE)
+ Git Repository URL
+ Aktuellen Branch auf Revision zurücksetzen
+ Rücksetzmodus:
+ Verschiebe zu:
+ Aktueller Branch:
+ Zeige im Datei Explorer
+ Commit umkehren
+ Commit:
+ Commit Änderungen umkehren
+ Commit Nachricht umformulieren
+ Verwende 'Shift+Enter' um eine neue Zeile einzufügen. 'Enter' ist das Kürzl für den OK Button
+ Läuft. Bitte warten...
+ SPEICHERN
+ Speichern als...
+ Patch wurde erfolgreich gespeichert!
+ Suche nach Updates...
+ Neue Version ist verfügbar:
+ Suche nach Updates fehlgeschlagen!
+ Download
+ Diese Version überspringen
+ Software Update
+ Es sind momentan kein Updates verfügbar.
+ Squash HEAD In Parent
+ SSH privater Schlüssel:
+ Pfad zum privaten SSH Schlüssel
+ START
+ Stash
+ Inklusive nicht-verfolgter Dateien
+ Nachricht:
+ Optional. Name dieses Stashes
+ Lokale Änderugen stashen
+ Anwenden
+ Entfernen
+ Anwenden und entfernen
+ Stash entfernen
+ Entfernen:
+ Stashes
+ ÄNDERUNGEN
+ STASHES
+ Statistiken
+ COMMITS
+ COMMITTER
+ MONAT
+ WOCHE
+ JAHR
+ COMMITS:
+ COMMITTERS:
+ SUBMODUL
+ Submodul hinzufügen
+ Relativen Pfad kopieren
+ Untergeordnete Submodule fetchen
+ Öffne Submodul Repository
+ Relativer Pfad:
+ Relativer Ordner um dieses Submodul zu speichern.
+ Submodul löschen
+ OK
+ Tag-Namen kopieren
+ Lösche ${0}$...
+ ${0}$ pushen...
+ URL:
+ Submodule aktualisieren
+ Alle Submodule
+ Initialisiere wenn nötig
+ Rekursiv
+ Submodul:
+ Verwende `--remote` Option
+ Warnung
+ Erstelle Gruppe
+ Erstelle Untergruppe
+ Klone Repository
+ Lösche
+ DRAG & DROP VON ORDNER UNTERSTÜTZT. ANGEPASSTE GRUPPIERUNG UNTERSTÜTZT.
+ Bearbeiten
+ Öffne alle Repositories
+ Öffne Repository
+ Öffne Terminal
+ Suche Repositories...
+ Sortieren
+ Änderungen
+ Git Ignore
+ Ignoriere alle *{0} Dateien
+ Ignoriere *{0} Datein im selben Ordner
+ Ignoriere Dateien im selben Ordner
+ Ignoriere nur diese Datei
+ Amend
+ Auto-Stage
+ Weise den Befehl an automatisch Dateien zu stagen die verändert und modifiziert wurden, aber für Git unbekannte Dateien sind davon unberührt.
+ Du kannst diese Datei jetzt stagen.
+ COMMIT
+ COMMIT & PUSH
+ STRG + Enter
+ KONFLIKTE ERKANNT
+ DATEI KONFLIKTE GELÖST
+ LETZTE COMMIT NACHRICHTEN
+ NICHT-VERFOLGTE DATEIEN INKLUDIEREN
+ NACHRICHTEN HISTORIE
+ KEINE BISHERIGEN COMMIT NACHRICHTEN
+ GESTAGED
+ UNSTAGEN
+ ALLES UNSTAGEN
+ UNSTAGED
+ STAGEN
+ ALLES STAGEN
+ UNVERÄNDERTE ANZEIGEN
+ Rechtsklick auf selektierte Dateien und wähle die Konfliktlösungen aus.
+ WORKTREE
+ Path kopieren
+ Sperren
+ Entfernen
+ Entsperren
+