diff --git a/src/App.axaml b/src/App.axaml
index 1f3a66e0..1831f59c 100644
--- a/src/App.axaml
+++ b/src/App.axaml
@@ -13,6 +13,7 @@
+
diff --git a/src/Models/Locales.cs b/src/Models/Locales.cs
index b660c294..51121b5f 100644
--- a/src/Models/Locales.cs
+++ b/src/Models/Locales.cs
@@ -10,6 +10,7 @@ namespace SourceGit.Models
public static readonly List Supported = new List() {
new Locale("English", "en_US"),
new Locale("Deutsch", "de_DE"),
+ new Locale("Français", "fr_FR"),
new Locale("Português (Brasil)", "pt_BR"),
new Locale("简体中文", "zh_CN"),
new Locale("繁體中文", "zh_TW"),
diff --git a/src/Resources/Locales/fr_FR.axaml b/src/Resources/Locales/fr_FR.axaml
new file mode 100644
index 00000000..1b2550ac
--- /dev/null
+++ b/src/Resources/Locales/fr_FR.axaml
@@ -0,0 +1,619 @@
+
+ A propos
+ A propos de SourceGit
+ • Compilé avec
+ © 2024 sourcegit-scm
+ • TextEditor de
+ • La police Monospace vient de
+ • Le code source est disponible sur
+ Client Git gratuit et open source
+ Ajouter un Worktree
+ What to Checkout:
+ Branche existante
+ Créer une nouvelle branche
+ Location:
+ Chemin vers ce worktree. Relatif supporté.
+ Nom de branche:
+ Optionnel. Par défaut le nom du dossier de destination.
+ Track Branch:
+ Tracking remote branch
+ Patch
+ Erreur
+ Soulever les erreurs et refuser d'appliquer le patch
+ Toutes erreurs
+ Similaire à 'error', mais plus détaillé
+ Fichier de patch :
+ Selectionner le fichier .patch à appliquer
+ Ignorer les espaces blancs
+ Pas d'avertissement
+ Désactive l'avertissement des espaces blancs terminaux
+ Appliquer le patch
+ Warn
+ Affiche les avertissements Outputs warnings for a few such errors, mais applique
+ Espace blanc:
+ Archive...
+ Sauvegarder l'archive vers :
+ Selectionner le chemin de l'archive
+ Révision:
+ Archive
+ SourceGit Askpass
+ FICHIERS PRÉSUMÉS INCHANGÉS
+ PAS DE FICHIERS PRÉSUMÉS INCHANGÉS
+ REMOVE
+ FICHIER BINAIRE NON SUPPORTÉ !!!
+ Blame
+ BLAME SUR CE FICHIER NON SUPPORTÉ !!!
+ Checkout ${0}$...
+ Comparer avec la branche
+ Comparer avec HEAD
+ Comparer avec le Worktree
+ Copier le nom de la branche
+ Supprimer ${0}$...
+ Supprimer {0} branches sélectionnées
+ Rejeter tous les changements
+ Fast-Forward to ${0}$
+ Git Flow - Finir ${0}$
+ Merger ${0}$ dans ${1}$...
+ Pull ${0}$
+ Pull ${0}$ dans ${1}$...
+ Push ${0}$
+ Rebase ${0}$ sur ${1}$...
+ Renommer ${0}$...
+ Définir la branche de suivi
+ Unset Upstream
+ Comparer les branches
+ Octets
+ ANNULER
+ Reset vers cette révision
+ Reset vers la révision parente
+ CHANGER LE MODE D'AFFICHAGE
+ Afficher comme liste de dossiers/fichiers
+ Afficher comme liste de chemins
+ Afficher comme arborescence
+ Checkout Branch
+ Checkout Commit
+ Avertissement: un checkout vers un commit aboutiera vers un HEAD détaché
+ Commit :
+ Branche :
+ Changement locaux:
+ Rejeter
+ Ne rien faire
+ Stash et Réappliquer
+ Cherry-Pick ce commit
+ Commit :
+ Commit tous les changements
+ Cherry Pick
+ Vider les Stashes
+ Voulez-vous vider tous les stashes. Êtes-vous sûr de vouloir continuer ?
+ Cloner le dépôt distant
+ Paramètres supplémentaires :
+ Arguments additionnels au clônage. Optionnel.
+ Nom local :
+ Nom de dépôt. Optionnel.
+ Dossier parent :
+ URL du dépôt:
+ FERMER
+ Editeur
+ Cherry-Pick ce commit
+ Checkout ce commit
+ Comparer avec HEAD
+ Comparer avec le Worktree
+ Copier les infos
+ Copier le SHA
+ Rebase interactif de ${0}$ ici
+ Rebase ${0}$ ici
+ Reset ${0}$ ici
+ Annuler le commit
+ Reformuler
+ Sauver en tant que patch...
+ Squash dans le parent
+ CHANGEMENTS
+ Chercher des changements...
+ FICHIERS
+ Fichiers LFS
+ Sous-module
+ INFORMATION
+ AUTEUR
+ CHANGÉ
+ COMMITTER
+ Afficher seulement les 100 premiers changements. Voir tous les changements dans l'onglet CHANGEMENTS.
+ MESSAGE
+ PARENTS
+ REFS
+ SHA
+ Enter le sujet du commit
+ Description
+ Repository Configurer
+ MODÈLE DE COMMIT
+ Nom de modèle:
+ Contenu de modèle:
+ Addresse e-mail
+ Addresse e-mail
+ GIT
+ ISSUE TRACKER
+ Add Sample Github Rule
+ Add Sample Jira Rule
+ Nouvelle règle
+ Issue Regex Expression:
+ nom de règle :
+ URL résultant:
+ Please use $1, $2 to access regex groups values.
+ HTTP Proxy
+ HTTP proxy used by this repository
+ Nom d'utilisateur
+ Nom d'utilisateur pour ce dépôt
+ Copier
+ COPIER LE MESSAGE
+ Copier le chemin
+ Copier le nom de fichier
+ Créer une branche...
+ Basé sur :
+ Check out the created branch
+ Changements locaux :
+ Rejeter
+ Ne rien faire
+ Stash & Réappliquer
+ Nouveau non de branche:
+ Enter le nom de branche.
+ Créer une branche locale
+ Créer un tag...
+ Nouveau tag à :
+ Signature GPG
+ Message de tag :
+ Optionnel.
+ Nom de tag :
+ Format Recommendé : v1.0.0-alpha
+ Push vers tous les arpès création
+ Créer un nouveau tag
+ Kind:
+ annoté
+ lightweight
+ Maintenir Ctrl pour commencer directement
+ Couper
+ Supprimer la branche
+ Branche :
+ Vous êtes sur le point de supprimer une branche distante !!!
+ Supprimer également la branche distante ${0}$
+ Supprimer plusieurs branches
+ Vous essayez de supprimer plusieurs branche à la fois. Assurez-vous de revérifier avant de procéder !
+ Supprimer Remote
+ Remote :
+ Cible :
+ Confirmer la suppression du groupe
+ Confirmer la suppression du dépôt
+ Supprimer le Sous-module
+ Chemin du sous-module :
+ Supprimer le tag
+ Tag:
+ Delete from remote repositories
+ DIFF BINAIRE
+ NOUVEAU
+ ANCIEN
+ Copier
+ Mode de fichier changé
+ LFS OBJECT CHANGE
+ Différence suivante
+ PAS DE CHANGEMENT OU SEULEMENT EN FIN DE LIGNE
+ Différence précédente
+ Diff côte-à-côte
+ SOUS-MODULE
+ NOUVEAU
+ Syntax Highlighting
+ Retour à la ligne
+ Ouvrir dans l'outil de merge
+ Réduit le nombre de ligne visibles
+ Augmente le nombre de ligne visibles
+ SELECTIONNER UN FICHIER POUR VOIR LES CHANGEMENTS
+ Afficher les caractères invisibles
+ Permuter
+ Ouvrir dans l'outil de merge
+ Rejeter les changements
+ Tous les changements dans la copie de travail.
+ Changements :
+ {0} changements seront rejetés
+ Vous ne pouvez pas annuler cette action !!!
+ Bookmark:
+ Nouveau nom:
+ Cible :
+ Éditer le groupe sélectionné
+ Éditer le dépôt sélectionné
+ Fast-Forward (sans checkout)
+ Fetch
+ Fetch toutes les branches distantes
+ Fetch sans les tags
+ Purger les branches distantes mortes
+ Remote :
+ Fetch des changements distants
+ Présumer inchangé
+ Rejeter...
+ Rejeter {0} fichiers...
+ Rejeter les changements dans les lignes sélectionnées
+ Ouvrir l'outil de merge externe
+ Savegarder le patch sous...
+ Stage
+ Stage {0} files
+ Stage Changes in Selected Line(s)
+ Stash...
+ Stash {0} fichiers...
+ Unstage
+ Unstage {0} files
+ Unstage Changes in Selected Line(s)
+ Use Theirs (checkout --theirs)
+ Use Mine (checkout --ours)
+ File History
+ FILTER
+ Git-Flow
+ Development Branch:
+ Feature:
+ Feature Prefix:
+ FLOW - Finish Feature
+ FLOW - Finish Hotfix
+ FLOW - Finish Release
+ Target:
+ Hotfix:
+ Hotfix Prefix:
+ Initialize Git-Flow
+ Keep branch
+ Production Branch:
+ Release:
+ Release Prefix:
+ Start Feature...
+ FLOW - Start Feature
+ Start Hotfix...
+ FLOW - Start Hotfix
+ Enter name
+ Start Release...
+ FLOW - Start Release
+ Version Tag Prefix:
+ Git LFS
+ Add Track Pattern...
+ Pattern is file name
+ Custom Pattern:
+ Add Track Pattern to Git LFS
+ Fetch
+ Fetch LFS Objects
+ Run `git lfs fetch` to download Git LFS objects. This does not update the working copy.
+ Install Git LFS hooks
+ Show Locks
+ No Locked Files
+ Lock
+ LFS Locks
+ Unlock
+ Force Unlock
+ Prune
+ Run `git lfs prune` to delete old LFS files from local storage
+ Pull
+ Pull LFS Objects
+ Run `git lfs pull` to download all Git LFS files for current ref & checkout
+ Push
+ Push LFS Objects
+ Push queued large files to the Git LFS endpoint
+ Remote:
+ Track files named '{0}'
+ Track all *{0} files
+ Histories
+ Switch Horizontal/Vertical Layout
+ Switch Curve/Polyline Graph Mode
+ AUTHOR
+ GRAPH & SUBJECT
+ SHA
+ COMMIT TIME
+ SEARCH SHA/SUBJECT/AUTHOR. PRESS ENTER TO SEARCH, ESC TO QUIT
+ CLEAR
+ SELECTED {0} COMMITS
+ Keyboard Shortcuts Reference
+ GLOBAL
+ Cancel current popup
+ Close current page
+ Go to previous page
+ Go to next page
+ Create new page
+ Open preference dialog
+ REPOSITORY
+ Commit staged changes
+ Commit and push staged changes
+ Dashboard mode (Default)
+ Force to reload this repository
+ Stage/Unstage selected changes
+ Commit search mode
+ Switch to 'Changes'
+ Switch to 'Histories'
+ Switch to 'Stashes'
+ TEXT EDITOR
+ Close search panel
+ Find next match
+ Find previous match
+ Open search panel
+ Stage
+ Unstage
+ Discard
+ Initialize Repository
+ Path:
+ Invalid repository detected. Run `git init` under this path?
+ Cherry-Pick in progress. Press 'Abort' to restore original HEAD.
+ Merge request in progress. Press 'Abort' to restore original HEAD.
+ Rebase in progress. Press 'Abort' to restore original HEAD.
+ Revert in progress. Press 'Abort' to restore original HEAD.
+ Interactive Rebase
+ Target Branch:
+ On:
+ Move Up
+ Move Down
+ Source Git
+ ERROR
+ NOTICE
+ Open Main Menu
+ Merge Branch
+ Into:
+ Merge Option:
+ Source Branch:
+ Name:
+ Git has NOT been configured. Please to go [Preference] and configure it first.
+ NOTICE
+ Open App Data Dir
+ SELECT FOLDER
+ Open With...
+ Optional.
+ Create New Page
+ Bookmark
+ Close Tab
+ Close Other Tabs
+ Close Tabs to the Right
+ Copy Repository Path
+ Dépôts
+ Paste
+ A l'instant
+ il y a {0} minutes
+ il y a {0} heures
+ Hier
+ il y a {0} jours
+ Le mois dernier
+ il y a {0} mois
+ L'an dernier
+ il y a {0} ans
+ Préférence
+ APPARENCE
+ Police par défaut
+ Taille de police par défaut
+ Monospace Font
+ N'uilisez que des polices monospace pour l'éditeur de texte
+ Thème
+ Theme Overrides
+ Utiliser des onglets de taille fixe dans la barre de titre
+ Utiliser un cadre de fenêtre natif
+ GÉNÉRAL
+ Vérifier les mises-à-jour au démarrage
+ Language
+ History Commits
+ Restaurer les onglets au démarrage
+ Subject Guide Length
+ Visible Diff Context Lines
+ GIT
+ Fetch remotes automatically
+ Auto Fetch Interval
+ Minute(s)
+ Enable Auto CRLF
+ Default Clone Dir
+ User Email
+ Global git user email
+ Install Path
+ Shell
+ User Name
+ Global git user name
+ Git version
+ Git (>= 2.23.0) is required by this app
+ GPG SIGNING
+ Commit GPG signing
+ Tag GPG signing
+ GPG Format
+ Program Install Path
+ Input path for installed gpg program
+ User Signing Key
+ User's gpg signing key
+ DIFF/MERGE TOOL
+ Install Path
+ Input path for diff/merge tool
+ Tool
+ Prune Remote
+ Target:
+ Prune Worktrees
+ Prune worktree information in `$GIT_DIR/worktrees`
+ Pull
+ Branch:
+ Fetch all branches
+ Into:
+ Local Changes:
+ Discard
+ Do Nothing
+ Stash & Reapply
+ Fetch without tags
+ Remote:
+ Pull (Fetch & Merge)
+ Use rebase instead of merge
+ Push
+ Make sure submodules have been pushed
+ Force push
+ Local Branch:
+ Remote:
+ Push Changes To Remote
+ Remote Branch:
+ Set as tracking branch
+ Push all tags
+ Push Tag To Remote
+ Push to all remotes
+ Remote:
+ Tag:
+ Quit
+ Rebase Current Branch
+ Stash & reapply local changes
+ On:
+ Rebase:
+ Refresh
+ Add Remote
+ Edit Remote
+ Name:
+ Remote name
+ Repository URL:
+ Remote git repository URL
+ Copy URL
+ Delete...
+ Edit...
+ Fetch
+ Open In Browser
+ Prune
+ Target:
+ Confirm to Remove Worktree
+ Enable `--force` Option
+ Target:
+ Rename Branch
+ New Name:
+ Unique name for this branch
+ Branch:
+ ABORT
+ Cleanup(GC & Prune)
+ Run `git gc` command for this repository.
+ Clear all
+ Configure this repository
+ CONTINUE
+ Open In File Browser
+ FILTERED BY:
+ LOCAL BRANCHES
+ Navigate To HEAD
+ Enable '--first-parent' Option
+ Create Branch
+ Open In {0}
+ Open In External Tools
+ Refresh
+ REMOTES
+ ADD REMOTE
+ RESOLVE
+ Search Commit
+ Search By
+ File
+ Message
+ SHA
+ Author & Committer
+ Search Branches & Tags
+ Show Tags as Tree
+ Statistics
+ SUBMODULES
+ ADD SUBMODULE
+ UPDATE SUBMODULE
+ TAGS
+ NEW TAG
+ Open In Terminal
+ WORKTREES
+ ADD WORKTREE
+ PRUNE
+ Git Repository URL
+ Reset Current Branch To Revision
+ Reset Mode:
+ Move To:
+ Current Branch:
+ Reveal in File Explorer
+ Revert Commit
+ Commit:
+ Commit revert changes
+ Reword Commit Message
+ Use 'Shift+Enter' to input a new line. 'Enter' is the hotkey of OK button
+ Running. Please wait...
+ SAVE
+ Save As...
+ Patch has been saved successfully!
+ Check for Updates...
+ New version of this software is available:
+ Check for updates failed!
+ Download
+ Skip This Version
+ Software Update
+ There are currently no updates available.
+ Squash HEAD Into Parent
+ SSH Private Key:
+ Private SSH key store path
+ START
+ Stash
+ Include untracked files
+ Message:
+ Optional. Name of this stash
+ Stash Local Changes
+ Apply
+ Drop
+ Pop
+ Drop Stash
+ Drop:
+ Stashes
+ CHANGES
+ STASHES
+ Statistics
+ COMMITS
+ COMMITTER
+ MONTH
+ WEEK
+ YEAR
+ COMMITS:
+ COMMITTERS:
+ SUBMODULES
+ Add Submodule
+ Copy Relative Path
+ Fetch nested submodules
+ Open Submodule Repository
+ Relative Path:
+ Relative folder to store this module.
+ Delete Submodule
+ OK
+ Copy Tag Name
+ Delete ${0}$...
+ Push ${0}$...
+ URL:
+ Update Submodules
+ All submodules
+ Initialize as needed
+ Recursively
+ Submodule:
+ Use --remote option
+ Warning
+ Welcome Page
+ Create Group
+ Create Sub-Group
+ Clone Repository
+ Delete
+ DRAG & DROP FOLDER SUPPORTED. CUSTOM GROUPING SUPPORTED.
+ Edit
+ Open All Repositories
+ Open Repository
+ Open Terminal
+ Search Repositories...
+ Sort
+ Changes
+ Git Ignore
+ Ignore all *{0} files
+ Ignore *{0} files in the same folder
+ Ignore files in the same folder
+ Ignore this file only
+ Amend
+ Auto-Stage
+ You can stage this file now.
+ COMMIT
+ COMMIT & PUSH
+ Template/Histories
+ CTRL + Enter
+ CONFLICTS DETECTED
+ FILE CONFLICTS ARE RESOLVED
+ INCLUDE UNTRACKED FILES
+ NO RECENT INPUT MESSAGES
+ NO COMMIT TEMPLATES
+ STAGED
+ UNSTAGE
+ UNSTAGE ALL
+ UNSTAGED
+ STAGE
+ STAGE ALL
+ VIEW ASSUME UNCHANGED
+ Template: ${0}$
+ Right-click the selected file(s), and make your choice to resolve conflicts.
+ WORKTREE
+ Copy Path
+ Lock
+ Remove
+ Unlock
+