]> git.ipfire.org Git - thirdparty/git.git/commitdiff
l10n: fr: v2.54.0
authorJean-Noël Avila <jn.avila@free.fr>
Sat, 18 Apr 2026 04:05:05 +0000 (12:05 +0800)
committerJean-Noël Avila <jn.avila@free.fr>
Sat, 18 Apr 2026 04:23:03 +0000 (12:23 +0800)
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
po/fr.po

index 780bc7b68118ac4f87d459c5cb01f339ecbc9159..ab3827a1fefe87aa17b3f60b7d68bfb7e10fe905 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -87,8 +87,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2026-01-22 23:57+0000\n"
-"PO-Revision-Date: 2026-01-28 19:43+0100\n"
+"POT-Creation-Date: 2026-04-17 23:29+0800\n"
+"PO-Revision-Date: 2026-04-18 12:15+0800\n"
 "Last-Translator: Cédric Malard <c.malard-git@valdun.net>\n"
 "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n"
 "Language: fr\n"
@@ -98,10 +98,6 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n<=1 ?0 : 1;\n"
 "X-Generator: Poedit 3.0.1\n"
 
-#, c-format
-msgid "%s cannot be negative"
-msgstr "%s doit être non négatif"
-
 #, c-format
 msgid "Huh (%s)?"
 msgstr "Hein (%s) ?"
@@ -259,20 +255,20 @@ msgid "Bye.\n"
 msgstr "Au revoir.\n"
 
 #, c-format
-msgid "Stage mode change [y,n,q,a,d%s,?]? "
-msgstr "Indexer le changement de mode [y,n,q,a,d%s,?] ? "
+msgid "Stage mode change%s [y,n,q,a,d%s,?]? "
+msgstr "Indexer le changement de mode%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Stage deletion [y,n,q,a,d%s,?]? "
-msgstr "Indexer la suppression [y,n,q,a,d%s,?] ? "
+msgid "Stage deletion%s [y,n,q,a,d%s,?]? "
+msgstr "Indexer la suppression%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Stage addition [y,n,q,a,d%s,?]? "
-msgstr "Indexer l'ajout [y,n,q,a,d%s,?] ? "
+msgid "Stage addition%s [y,n,q,a,d%s,?]? "
+msgstr "Indexer l'ajout%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Stage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Indexer cette section [y,n,q,a,d%s,?] ? "
+msgid "Stage this hunk%s [y,n,q,a,d%s,?]? "
+msgstr "Indexer cette section%s [y,n,q,a,d%s,?] ? "
 
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
@@ -295,20 +291,20 @@ msgstr ""
 "d - ne pas indexer cette section ni les suivantes de ce fichier\n"
 
 #, c-format
-msgid "Stash mode change [y,n,q,a,d%s,?]? "
-msgstr "Remiser le changement de mode [y,n,q,a,d%s,?] ? "
+msgid "Stash mode change%s [y,n,q,a,d%s,?]? "
+msgstr "Remiser le changement de mode%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Stash deletion [y,n,q,a,d%s,?]? "
-msgstr "Remiser la suppression [y,n,q,a,d%s,?] ? "
+msgid "Stash deletion%s [y,n,q,a,d%s,?]? "
+msgstr "Remiser la suppression%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Stash addition [y,n,q,a,d%s,?]? "
-msgstr "Remiser l'ajout [y,n,q,a,d%s,?] ? "
+msgid "Stash addition%s [y,n,q,a,d%s,?]? "
+msgstr "Remiser l'ajout%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Stash this hunk [y,n,q,a,d%s,?]? "
-msgstr "Remiser cette section [y,n,q,a,d%s,?] ? "
+msgid "Stash this hunk%s [y,n,q,a,d%s,?]? "
+msgstr "Remiser cette section%s [y,n,q,a,d%s,?] ? "
 
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
@@ -331,20 +327,20 @@ msgstr ""
 "d - ne pas remiser cette section ni les suivantes de ce fichier\n"
 
 #, c-format
-msgid "Unstage mode change [y,n,q,a,d%s,?]? "
-msgstr "Désindexer le changement de mode [y,n,q,a,d%s,?] ? "
+msgid "Unstage mode change%s [y,n,q,a,d%s,?]? "
+msgstr "Désindexer le changement de mode%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Unstage deletion [y,n,q,a,d%s,?]? "
-msgstr "Désindexer la suppression [y,n,q,a,d%s,?] ? "
+msgid "Unstage deletion%s [y,n,q,a,d%s,?]? "
+msgstr "Désindexer la suppression%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Unstage addition [y,n,q,a,d%s,?]? "
-msgstr "Désindexer l'ajout [y,n,q,a,d%s,?] ? "
+msgid "Unstage addition%s [y,n,q,a,d%s,?]? "
+msgstr "Désindexer l'ajout%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Unstage this hunk [y,n,q,a,d%s,?]? "
-msgstr "Désindexer cette section [y,n,q,a,d%s,?] ? "
+msgid "Unstage this hunk%s [y,n,q,a,d%s,?]? "
+msgstr "Désindexer cette section%s [y,n,q,a,d%s,?] ? "
 
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
@@ -367,20 +363,20 @@ msgstr ""
 "d - ne pas désindexer cette section ni les suivantes de ce fichier\n"
 
 #, c-format
-msgid "Apply mode change to index [y,n,q,a,d%s,?]? "
-msgstr "Appliquer le changement de mode à l'index [y,n,q,a,d%s,?] ? "
+msgid "Apply mode change to index%s [y,n,q,a,d%s,?]? "
+msgstr "Appliquer le changement de mode à l'index%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Apply deletion to index [y,n,q,a,d%s,?]? "
-msgstr "Appliquer la suppression à l'index [y,n,q,a,d%s,?] ? "
+msgid "Apply deletion to index%s [y,n,q,a,d%s,?]? "
+msgstr "Appliquer la suppression à l'index%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Apply addition to index [y,n,q,a,d%s,?]? "
-msgstr "Appliquer l'ajout à l'index [y,n,q,a,d%s,?] ? "
+msgid "Apply addition to index%s [y,n,q,a,d%s,?]? "
+msgstr "Appliquer l'ajout à l'index%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Apply this hunk to index [y,n,q,a,d%s,?]? "
-msgstr "Appliquer cette section à l'index [y,n,q,a,d%s,?] ? "
+msgid "Apply this hunk to index%s [y,n,q,a,d%s,?]? "
+msgstr "Appliquer cette section à l'index%s [y,n,q,a,d%s,?] ? "
 
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
@@ -403,20 +399,20 @@ msgstr ""
 "d - ne pas appliquer cette section ni les suivantes de ce fichier\n"
 
 #, c-format
-msgid "Discard mode change from worktree [y,n,q,a,d%s,?]? "
-msgstr "Abandonner le changement de mode dans l'arbre [y,n,q,a,d%s,?] ? "
+msgid "Discard mode change from worktree%s [y,n,q,a,d%s,?]? "
+msgstr "Abandonner le changement de mode dans l'arbre%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Discard deletion from worktree [y,n,q,a,d%s,?]? "
-msgstr "Abandonner la suppression dans l'arbre [y,n,q,a,d%s,?] ? "
+msgid "Discard deletion from worktree%s [y,n,q,a,d%s,?]? "
+msgstr "Abandonner la suppression dans l'arbre%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Discard addition from worktree [y,n,q,a,d%s,?]? "
-msgstr "Abandonner l'ajout dans l'arbre [y,n,q,a,d%s,?] ? "
+msgid "Discard addition from worktree%s [y,n,q,a,d%s,?]? "
+msgstr "Abandonner l'ajout dans l'arbre%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr "Abandonner cette section dans l'arbre [y,n,q,a,d%s,?] ? "
+msgid "Discard this hunk from worktree%s [y,n,q,a,d%s,?]? "
+msgstr "Abandonner cette section dans l'arbre%s [y,n,q,a,d%s,?] ? "
 
 msgid ""
 "If the patch applies cleanly, the edited hunk will immediately be marked for "
@@ -439,22 +435,23 @@ msgstr ""
 "d - ne pas supprimer cette section ni les suivantes de ce fichier\n"
 
 #, c-format
-msgid "Discard mode change from index and worktree [y,n,q,a,d%s,?]? "
+msgid "Discard mode change from index and worktree%s [y,n,q,a,d%s,?]? "
 msgstr ""
-"Abandonner le changement de mode dans l'index et l'arbre [y,n,q,a,d%s,?] ? "
+"Abandonner le changement de mode dans l'index et l'arbre%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Discard deletion from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Abandonner la suppression de l'index et de l'arbre [y,n,q,a,d%s,?] ? "
+msgid "Discard deletion from index and worktree%s [y,n,q,a,d%s,?]? "
+msgstr ""
+"Abandonner la suppression de l'index et de l'arbre%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Discard addition from index and worktree [y,n,q,a,d%s,?]? "
-msgstr "Abandonner l'ajout de l'index et de l'arbre [y,n,q,a,d%s,?] ? "
+msgid "Discard addition from index and worktree%s [y,n,q,a,d%s,?]? "
+msgstr "Abandonner l'ajout de l'index et de l'arbre%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Discard this hunk from index and worktree [y,n,q,a,d%s,?]? "
+msgid "Discard this hunk from index and worktree%s [y,n,q,a,d%s,?]? "
 msgstr ""
-"Supprimer la section dans l'index et l'arbre de travail [y,n,q,a,d%s,?] ? "
+"Supprimer la section dans l'index et l'arbre de travail%s [y,n,q,a,d%s,?] ? "
 
 msgid ""
 "y - discard this hunk from index and worktree\n"
@@ -470,26 +467,26 @@ msgstr ""
 "d - ne pas éliminer cette section ni les suivantes de ce fichier\n"
 
 #, c-format
-msgid "Apply mode change to index and worktree [y,n,q,a,d%s,?]? "
+msgid "Apply mode change to index and worktree%s [y,n,q,a,d%s,?]? "
 msgstr ""
-"Appliquer le changement de mode dans l'index et l'arbre de travail "
-"[y,n,q,a,d%s,?] ? "
+"Appliquer le changement de mode dans l'index et l'arbre de travail%s [y,n,q,"
+"a,d%s,?] ? "
 
 #, c-format
-msgid "Apply deletion to index and worktree [y,n,q,a,d%s,?]? "
+msgid "Apply deletion to index and worktree%s [y,n,q,a,d%s,?]? "
 msgstr ""
-"Appliquer la suppression dans l'index et l'arbre de travail "
-"[y,n,q,a,d%s,?] ? "
+"Appliquer la suppression dans l'index et l'arbre de travail%s [y,n,q,a,"
+"d%s,?] ? "
 
 #, c-format
-msgid "Apply addition to index and worktree [y,n,q,a,d%s,?]? "
+msgid "Apply addition to index and worktree%s [y,n,q,a,d%s,?]? "
 msgstr ""
-"Appliquer l'ajout dans l'index et l'arbre de travail [y,n,q,a,d%s,?] ? "
+"Appliquer l'ajout dans l'index et l'arbre de travail%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Apply this hunk to index and worktree [y,n,q,a,d%s,?]? "
+msgid "Apply this hunk to index and worktree%s [y,n,q,a,d%s,?]? "
 msgstr ""
-"Appliquer la section à l'index et l'arbre de travail [y,n,q,a,d%s,?] ? "
+"Appliquer la section à l'index et l'arbre de travail%s [y,n,q,a,d%s,?] ? "
 
 msgid ""
 "y - apply this hunk to index and worktree\n"
@@ -505,21 +502,21 @@ msgstr ""
 "d - ne pas appliquer cette section ni les suivantes de ce fichier\n"
 
 #, c-format
-msgid "Apply mode change to worktree [y,n,q,a,d%s,?]? "
+msgid "Apply mode change to worktree%s [y,n,q,a,d%s,?]? "
 msgstr ""
-"Appliquer le changement de mode dans l'arbre de travail [y,n,q,a,d%s,?] ? "
+"Appliquer le changement de mode dans l'arbre de travail%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Apply deletion to worktree [y,n,q,a,d%s,?]? "
-msgstr "Appliquer la suppression dans l'arbre de travail [y,n,q,a,d%s,?] ? "
+msgid "Apply deletion to worktree%s [y,n,q,a,d%s,?]? "
+msgstr "Appliquer la suppression dans l'arbre de travail%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Apply addition to worktree [y,n,q,a,d%s,?]? "
-msgstr "Appliquer l'ajout dans l'arbre de travail [y,n,q,a,d%s,?] ? "
+msgid "Apply addition to worktree%s [y,n,q,a,d%s,?]? "
+msgstr "Appliquer l'ajout dans l'arbre de travail%s [y,n,q,a,d%s,?] ? "
 
 #, c-format
-msgid "Apply this hunk to worktree [y,n,q,a,d%s,?]? "
-msgstr "Appliquer la section à l'arbre de travail [y,n,q,a,d%s,?] ? "
+msgid "Apply this hunk to worktree%s [y,n,q,a,d%s,?]? "
+msgstr "Appliquer la section à l'arbre de travail%s [y,n,q,a,d%s,?] ? "
 
 msgid ""
 "y - apply this hunk to worktree\n"
@@ -534,6 +531,10 @@ msgstr ""
 "a - appliquer cette section et toutes les suivantes de ce fichier\n"
 "d - ne pas appliquer cette section ni les suivantes de ce fichier\n"
 
+#, c-format
+msgid "%s cannot be negative"
+msgstr "%s doit être non négatif"
+
 #, c-format
 msgid "could not parse hunk header '%.*s'"
 msgstr "impossible d'analyser l'entête de section '%.*s'"
@@ -630,6 +631,7 @@ msgstr "Les appliquer quand même à l'arbre de travail ? "
 msgid "Nothing was applied.\n"
 msgstr "Rien n'a été appliqué.\n"
 
+#, c-format
 msgid ""
 "j - go to the next undecided hunk, roll over at the bottom\n"
 "J - go to the next hunk, roll over at the bottom\n"
@@ -641,7 +643,10 @@ msgid ""
 "e - manually edit the current hunk\n"
 "p - print the current hunk\n"
 "P - print the current hunk using the pager\n"
+"> - go to the next file, roll over at the bottom\n"
+"< - go to the previous file, roll over at the top\n"
 "? - print help\n"
+"HUNKS SUMMARY - Hunks: %d, USE: %d, SKIP: %d\n"
 msgstr ""
 "j - aller à section non-décidée suivante et reboucler au début si en bas\n"
 "J - aller à section suivante et reboucler au début si en bas\n"
@@ -653,12 +658,30 @@ msgstr ""
 "e - éditer manuellement la section actuelle\n"
 "p - afficher la section actuelle\n"
 "P - afficher la section actuelle avec un paginateur\n"
+"> - aller au fichier prochain, reboucler au début si en bas\n"
+"< - aller au fichier précédent, reboucler à la fin si en haut\n"
 "? - afficher l'aide\n"
+"RÉSUMÉ DES SECTIONS : Sections : %d, UTILISÉES : %d, SAUTÉES : %d\n"
+
+msgid "'git apply' failed"
+msgstr "'git apply' a échoué"
+
+msgid " (was: y)"
+msgstr " (était : y)"
+
+msgid " (was: n)"
+msgstr " (était : n)"
 
 #, c-format
 msgid "Only one letter is expected, got '%s'"
 msgstr "une seule lettre est attendue, mais '%s' a été reçu"
 
+msgid "No next file"
+msgstr "Pas de fichier suivant"
+
+msgid "No previous file"
+msgstr "Pas de fichier précédent"
+
 msgid "No other hunk"
 msgstr "Aucune autre section"
 
@@ -711,15 +734,31 @@ msgstr "Désolé, impossible d'éditer cette section"
 msgid "Unknown command '%s' (use '?' for help)"
 msgstr "commande inconnue : '%s' (utilisez '?' pour de l'aide)"
 
-msgid "'git apply' failed"
-msgstr "'git apply' a échoué"
-
 msgid "No changes."
 msgstr "Aucune modification."
 
 msgid "Only binary files changed."
 msgstr "Seuls des fichiers binaires ont changé."
 
+#, c-format
+msgid "Stage mode change [y,n,q,a,d%s,?]? "
+msgstr "Indexer le changement de mode [y,n,q,a,d%s,?] ? "
+
+#, c-format
+msgid "Stage deletion [y,n,q,a,d%s,?]? "
+msgstr "Indexer la suppression [y,n,q,a,d%s,?] ? "
+
+#, c-format
+msgid "Stage addition [y,n,q,a,d%s,?]? "
+msgstr "Indexer l'ajout [y,n,q,a,d%s,?] ? "
+
+#, c-format
+msgid "Stage this hunk [y,n,q,a,d%s,?]? "
+msgstr "Indexer cette section [y,n,q,a,d%s,?] ? "
+
+msgid "Revision does not refer to a commit"
+msgstr "La révision ne pointe pas sur un commit"
+
 #, c-format
 msgid ""
 "\n"
@@ -850,8 +889,8 @@ msgstr ""
 "\n"
 "  git switch -\n"
 "\n"
-"Désactivez ce conseil en renseignant la variable de configuration "
-"advice.detachedHead à false\n"
+"Désactivez ce conseil en renseignant la variable de configuration advice."
+"detachedHead à false\n"
 "\n"
 
 #, c-format
@@ -913,14 +952,27 @@ msgid "regexec returned %d for input: %s"
 msgstr "regexec a retourné %d pour l'entrée : %s"
 
 #, c-format
-msgid "unable to find filename in patch at line %d"
-msgstr "nom de fichier de la rustine introuvable à la ligne %d"
+msgid "unable to find filename in patch at %s:%d"
+msgstr "nom de fichier introuvable dans la rustine à %s:%d"
+
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null, got %s at %s:%d"
+msgstr "git apply : mauvais git-diff - /dev/null attendu, %s trouvé à %s:%d"
 
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d"
 msgstr ""
-"git apply : mauvais format de git-diff - /dev/null attendu, %s trouvé à la "
-"ligne %d"
+"git apply : mauvais git-diff - /dev/null attendu, %s trouvé à la ligne %d"
+
+#, c-format
+msgid "git apply: bad git-diff - inconsistent new filename at %s:%d"
+msgstr ""
+"git apply : mauvais git-diff - nouveau nom de fichier incohérent à %s:%d"
+
+#, c-format
+msgid "git apply: bad git-diff - inconsistent old filename at %s:%d"
+msgstr ""
+"git apply : mauvais git-diff - ancien nom de fichier incohérent à %s:%d"
 
 #, c-format
 msgid "git apply: bad git-diff - inconsistent new filename on line %d"
@@ -934,11 +986,19 @@ msgstr ""
 "git apply : mauvais format de git-diff - ancien nom de fichier incohérent à "
 "la ligne %d"
 
+#, c-format
+msgid "git apply: bad git-diff - expected /dev/null at %s:%d"
+msgstr "git apply : mauvais git-diff - /dev/null attendu à %s:%d"
+
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr ""
 "git apply : mauvais format de git-diff - /dev/null attendu à la ligne %d"
 
+#, c-format
+msgid "invalid mode at %s:%d: %s"
+msgstr "mode invalide dans %s:%d : %s"
+
 #, c-format
 msgid "invalid mode on line %d: %s"
 msgstr "mode invalide dans la ligne %d : %s"
@@ -947,6 +1007,20 @@ msgstr "mode invalide dans la ligne %d : %s"
 msgid "inconsistent header lines %d and %d"
 msgstr "lignes d'entête inconsistantes %d et %d"
 
+#, c-format
+msgid ""
+"git diff header lacks filename information when removing %d leading pathname "
+"component at %s:%d"
+msgid_plural ""
+"git diff header lacks filename information when removing %d leading pathname "
+"components at %s:%d"
+msgstr[0] ""
+"information de nom de fichier manquante dans l'en-tête de git diff lors de "
+"la suppression de %d composant de préfixe de chemin à %s:%d"
+msgstr[1] ""
+"information de nom de fichier manquante dans l'en-tête de git diff lors de "
+"la suppression de %d composants de préfixe de chemin à %s:%d"
+
 #, c-format
 msgid ""
 "git diff header lacks filename information when removing %d leading pathname "
@@ -961,6 +1035,11 @@ msgstr[1] ""
 "information de nom de fichier manquante dans l'en-tête de git diff lors de "
 "la suppression de %d composants de préfixe de chemin (ligne %d)"
 
+#, c-format
+msgid "git diff header lacks filename information at %s:%d"
+msgstr ""
+"information de nom de fichier manquante dans l'en-tête de git diff à %s:%d"
+
 #, c-format
 msgid "git diff header lacks filename information (line %d)"
 msgstr ""
@@ -971,8 +1050,8 @@ msgid "recount: unexpected line: %.*s"
 msgstr "recomptage : ligne inattendue : %.*s"
 
 #, c-format
-msgid "patch fragment without header at line %d: %.*s"
-msgstr "fragment de rustine sans en-tête à la ligne %d : %.*s"
+msgid "patch fragment without header at %s:%d: %.*s"
+msgstr "fragment de rustine sans en-tête à %s:%d : %.*s"
 
 msgid "new file depends on old contents"
 msgstr "le nouveau fichier dépend de contenus anciens"
@@ -981,8 +1060,8 @@ msgid "deleted file still has contents"
 msgstr "le fichier supprimé a encore du contenu"
 
 #, c-format
-msgid "corrupt patch at line %d"
-msgstr "rustine corrompue à la ligne %d"
+msgid "corrupt patch at %s:%d"
+msgstr "rustine corrompue à %s:%d"
 
 #, c-format
 msgid "new file %s depends on old contents"
@@ -997,16 +1076,16 @@ msgid "** warning: file %s becomes empty but is not deleted"
 msgstr "** attention : le fichier %s devient vide mais n'est pas supprimé"
 
 #, c-format
-msgid "corrupt binary patch at line %d: %.*s"
-msgstr "rustine binaire corrompue à la ligne %d : %.*s"
+msgid "corrupt binary patch at %s:%d: %.*s"
+msgstr "rustine binaire corrompue à %s:%d : %.*s"
 
 #, c-format
-msgid "unrecognized binary patch at line %d"
-msgstr "rustine binaire non reconnue à la ligne %d"
+msgid "unrecognized binary patch at %s:%d"
+msgstr "rustine binaire non reconnue à %s:%d"
 
 #, c-format
-msgid "patch with only garbage at line %d"
-msgstr "rustine totalement incompréhensible à la ligne %d"
+msgid "patch with only garbage at %s:%d"
+msgstr "rustine totalement incompréhensible à %s:%d"
 
 #, c-format
 msgid "unable to read symlink %s"
@@ -1273,6 +1352,14 @@ msgstr "Pas de rustine valide sur l'entrée (permis avec \"--allow-empty\")"
 msgid "unable to read index file"
 msgstr "lecture du fichier d'index impossible"
 
+#, c-format
+msgid "option -p expects a non-negative integer, got '%s'"
+msgstr "l'option -p attend un entier positif ou nul, et a obtenu '%s'"
+
+#, c-format
+msgid "unable to normalize directory: '%s'"
+msgstr "impossible de normaliser le répertoire : '%s'"
+
 #, c-format
 msgid "can't open patch '%s': %s"
 msgstr "ouverture impossible de la rustine '%s' :%s"
@@ -1968,6 +2055,11 @@ msgstr "sélection interactive"
 msgid "select hunks interactively"
 msgstr "sélection interactive des sections"
 
+msgid "auto advance to the next file when selecting hunks interactively"
+msgstr ""
+"avancer automatiquement au prochain fichier lors de la sélection interactive "
+"des sections"
+
 msgid "edit current diff and apply"
 msgstr "édition du diff actuel et application"
 
@@ -2474,6 +2566,10 @@ msgstr "Nombre minimum d'objets à demander à chaque fois"
 msgid "Restrict the missing objects to the current sparse-checkout"
 msgstr "Restreindre les objets manquants à l'extraction clairsemée actuelle"
 
+#, c-format
+msgid "unrecognized argument: %s"
+msgstr "argument non reconnu : %s"
+
 msgid ""
 "git bisect start [--term-(bad|new)=<term-new> --term-(good|old)=<term-old>]\n"
 "                 [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] "
@@ -3183,11 +3279,11 @@ msgid "HEAD not found below refs/heads!"
 msgstr "HEAD non trouvée sous refs/heads !"
 
 msgid ""
-"branch with --recurse-submodules can only be used if "
-"submodule.propagateBranches is enabled"
+"branch with --recurse-submodules can only be used if submodule."
+"propagateBranches is enabled"
 msgstr ""
-"brancher avec --recurse-submodules ne peut être utilisé que si "
-"submodule.propagateBranches est activé"
+"brancher avec --recurse-submodules ne peut être utilisé que si submodule."
+"propagateBranches est activé"
 
 msgid "--recurse-submodules can only be used to create branches"
 msgstr "--recurse-submodules ne peut être utilisé que pour créer des branches"
@@ -3691,18 +3787,6 @@ msgstr "écrire le contenu dans des fichiers temporaires"
 msgid "copy out the files from named stage"
 msgstr "copier les fichiers depuis l'index nommé"
 
-msgid "git checkout [<options>] <branch>"
-msgstr "git checkout [<options>] <branche>"
-
-msgid "git checkout [<options>] [<branch>] -- <file>..."
-msgstr "git checkout [<options>] [<branche>] -- <fichier>..."
-
-msgid "git switch [<options>] [<branch>]"
-msgstr "git switch [<options>] <branche>"
-
-msgid "git restore [<options>] [--source=<branch>] <file>..."
-msgstr "git restore [<options>] [--source=<branche>] <fichier>..."
-
 #, c-format
 msgid "path '%s' does not have our version"
 msgstr "le chemin '%s' n'a pas notre version"
@@ -3894,11 +3978,12 @@ msgstr ""
 "'%s' pourrait être un fichier local ou un branche de suivi.\n"
 "Veuillez utiliser -- (et --no-guess en facultatif) pour les distinguer"
 
+#, c-format
 msgid ""
 "If you meant to check out a remote tracking branch on, e.g. 'origin',\n"
 "you can do so by fully qualifying the name with the --track option:\n"
 "\n"
-"    git checkout --track origin/<name>\n"
+"    git %s --track origin/<name>\n"
 "\n"
 "If you'd like to always have checkouts of an ambiguous <name> prefer\n"
 "one remote, e.g. the 'origin' remote, consider setting\n"
@@ -3907,11 +3992,11 @@ msgstr ""
 "Si vous souhaitiez extraire une branche de suivi distant sur 'origin',\n"
 "par exemple, qualifiez-la complètement avec l'option --track :\n"
 "\n"
-"    git checkout --track origin/<nom>\n"
+"    git %s --track origin/<nom>\n"
 "\n"
-"Si vous souhaitez privilégier un distant particulier lorsque <nom> est\n"
-"ambigu, vous pouvez positionner checkout.defaultRemote=origin dans\n"
-"votre config."
+"Si vous souhaitez privilégier un distant particulier, par ex. 'origin'\n"
+"lorsque <nom> est ambigu, vous pouvez positionner\n"
+"checkout.defaultRemote=origin dans votre config."
 
 #, c-format
 msgid "'%s' matched multiple (%d) remote tracking branches"
@@ -4058,6 +4143,18 @@ msgstr "extraire leur version pour les fichiers non fusionnés"
 msgid "do not limit pathspecs to sparse entries only"
 msgstr "ne pas limiter les spécificateurs de chemins aux seuls éléments creux"
 
+msgid "git checkout [<options>] <branch>"
+msgstr "git checkout [<options>] <branche>"
+
+msgid "git checkout [<options>] [<branch>] -- <file>..."
+msgstr "git checkout [<options>] [<branche>] -- <fichier>..."
+
+msgid "git switch [<options>] [<branch>]"
+msgstr "git switch [<options>] <branche>"
+
+msgid "git restore [<options>] [--source=<branch>] <file>..."
+msgstr "git restore [<options>] [--source=<branche>] <fichier>..."
+
 #, c-format
 msgid "options '-%c', '-%c', and '%s' cannot be used together"
 msgstr ""
@@ -5880,10 +5977,6 @@ msgstr "impossible d'analyser l'id de l'objet : %s"
 msgid "git diff-pairs -z [<diff-options>]"
 msgstr "git diff-pairs -z [<options-de-diff>]"
 
-#, c-format
-msgid "unrecognized argument: %s"
-msgstr "argument non reconnu : %s"
-
 msgid "working without -z is not supported"
 msgstr "l'invocation sans -z n'est pas supportée"
 
@@ -6103,13 +6196,6 @@ msgid "encountered signed commit %s; use --signed-commits=<mode> to handle it"
 msgstr ""
 "commit signé %s rencontré ; utilisez --signed-commits=<mode> pour le gérer"
 
-msgid ""
-"'strip-if-invalid' is not a valid mode for git fast-export with --signed-"
-"commits=<mode>"
-msgstr ""
-"'strip-if-invalid' n'est pas un mode valide pour git fast-export avec --"
-"signed-commits=<mode>"
-
 #, c-format
 msgid ""
 "omitting tag %s,\n"
@@ -6136,13 +6222,6 @@ msgid "encountered signed tag %s; use --signed-tags=<mode> to handle it"
 msgstr ""
 "étiquette signée %s rencontrée ; utilisez --signed-tags=<mode> pour la gérer"
 
-msgid ""
-"'strip-if-invalid' is not a valid mode for git fast-export with --signed-"
-"tags=<mode>"
-msgstr ""
-"'strip-if-invalid' n'est pas un mode valide pour git fast-export avec --"
-"signed-tags=<mode>"
-
 #, c-format
 msgid ""
 "tag %s tags unexported object; use --tag-of-filtered-object=<mode> to handle "
@@ -6565,6 +6644,39 @@ msgstr ""
 "suppression de la signature invalide pour le commit\n"
 "  prétendument par %s"
 
+#, c-format
+msgid ""
+"replacing invalid signature for commit '%.100s...'\n"
+"  allegedly by %s"
+msgstr ""
+"remplacement de la signature invalide pour le commit '%.100s...'\n"
+"  prétendument par %s"
+
+#, c-format
+msgid ""
+"replacing invalid signature for commit '%.*s'\n"
+"  allegedly by %s"
+msgstr ""
+"remplacement de la signature invalide pour le commit '%.*s'\n"
+"  prétendument par %s"
+
+#, c-format
+msgid ""
+"replacing invalid signature for commit\n"
+"  allegedly by %s"
+msgstr ""
+"remplacement de la signature invalide pour le commit\n"
+"  prétendument par %s"
+
+msgid "aborting due to invalid signature"
+msgstr "abandon pour cause de signature invalide"
+
+msgid "signing commits in interoperability mode is unsupported"
+msgstr "signer les commits en mode d'interopérabilité n'est pas pris en charge"
+
+msgid "failed to sign commit object"
+msgstr "échec de la signature de l'objet commit"
+
 msgid "expected committer but didn't get one"
 msgstr "validateur attendu mais aucune information fournie"
 
@@ -6578,6 +6690,9 @@ msgstr "une signature de commit ignorée"
 msgid "importing a commit signature verbatim"
 msgstr "import d'une signature de commit verbatim"
 
+msgid "failed to sign tag object"
+msgstr "échec de la signature de l'objet étiquette"
+
 #, c-format
 msgid "importing a tag signature verbatim for tag '%s'"
 msgstr "import d'une signature d'étiquette verbatim pour l'étiquette '%s'"
@@ -6590,13 +6705,6 @@ msgid "encountered signed tag; use --signed-tags=<mode> to handle it"
 msgstr ""
 "étiquette signée rencontrée ; utilisez --signed-tags=<mode> pour la gérer"
 
-msgid ""
-"'strip-if-invalid' is not a valid mode for git fast-import with --signed-"
-"tags=<mode>"
-msgstr ""
-"'strip-if-invalid' n'est pas un mode valide pour git fast-import avec --"
-"signed-tags=<mode>"
-
 #, c-format
 msgid "expected 'from' command, got '%s'"
 msgstr "Commande 'from' attendue, '%s' trouvé"
@@ -7128,8 +7236,8 @@ msgid "protocol does not support --negotiate-only, exiting"
 msgstr "Le protocole ne prend pas en charge --negotiate-only, abandon"
 
 msgid ""
-"--filter can only be used with the remote configured in "
-"extensions.partialclone"
+"--filter can only be used with the remote configured in extensions."
+"partialclone"
 msgstr ""
 "--filter ne peut être utilisé qu'avec le dépôt distant configuré dans "
 "extensions.partialclone"
@@ -8191,12 +8299,161 @@ msgstr "usage : %s%s"
 msgid "'git help config' for more information"
 msgstr "'git help config' pour plus d'information"
 
+msgid "git history reword <commit> [--dry-run] [--update-refs=(branches|head)]"
+msgstr ""
+"git history reword <commit> [--dry-run] [--update-refs=(branches|head)]"
+
+msgid ""
+"git history split <commit> [--dry-run] [--update-refs=(branches|head)] [--] "
+"[<pathspec>...]"
+msgstr ""
+"git history split <commit> [--dry-run] [--update-refs=(branches|head)] [--] "
+"[<spéc-de-chemin>...]"
+
+#, c-format
+msgid ""
+"Please enter the commit message for the %s changes. Lines starting\n"
+"with '%s' will be ignored, and an empty message aborts the commit.\n"
+msgstr ""
+"Veuillez saisir le message de validation pour les modifications %s. Les "
+"lignes\n"
+"commençant par '%s' seront ignorées, et un message vide abandonne la "
+"validation.\n"
+
+#, c-format
+msgid "Aborting commit as launching the editor failed.\n"
+msgstr "Abandon de la validation dû à l'échec du lancement de l'éditeur\n"
+
+#, c-format
+msgid "unable to parse parent commit %s"
+msgstr "impossible d'analyser le commit parent %s"
+
+#, c-format
+msgid "%s expects one of 'branches' or 'head'"
+msgstr "'branches' ou 'head' attendu par %s"
+
+msgid "error preparing revisions"
+msgstr "erreur lors de la préparation des révisions"
+
+msgid "replaying merge commits is not supported yet!"
+msgstr "rejouer des commits de fusion n'est pas encore géré !"
+
+msgid "cannot look up HEAD"
+msgstr "impossible de rechercher HEAD"
+
+msgid "cannot determine descendance"
+msgstr "impossible de déterminer la descendance"
+
+msgid ""
+"rewritten commit must be an ancestor of HEAD when using --update-refs=head"
+msgstr ""
+"le commit ré-écrit doit être un ancêtre de HEAD quand --update-refs=head est "
+"utilisé"
+
+#, c-format
+msgid "failed to begin ref transaction: %s"
+msgstr "impossible de commencer la transaction de réf ; %s"
+
+#, c-format
+msgid "failed to update ref '%s': %s"
+msgstr "échec de la mise à jour de la réf '%s' : %s"
+
+#, c-format
+msgid "failed to commit ref transaction: %s"
+msgstr "impossible de valider la transaction de réf : %s"
+
+msgid "control which refs should be updated"
+msgstr "contrôler quelle réf devrait être mise à jour"
+
+msgid "perform a dry-run without updating any refs"
+msgstr "réaliser un essai à blanc sans mettre à jour les réfs"
+
+msgid "command expects a single revision"
+msgstr "une seule révision attendue par la commande"
+
+#, c-format
+msgid "commit cannot be found: %s"
+msgstr "commit non trouvé : %s"
+
+msgid "failed writing reworded commit"
+msgstr "échec de l'écriture du commit reformulé"
+
+msgid "failed replaying descendants"
+msgstr "échec du rejeu des descendants"
+
+msgid "unable to populate index with tree"
+msgstr "impossible de peupler l'index avec l'arbre"
+
+msgid "unable to acquire index lock"
+msgstr "impossible d'acquérir le verrou de l'index"
+
+msgid "failed reading temporary index"
+msgstr "impossible de lire l'index temporaire"
+
+msgid "failed split tree"
+msgstr "échec de scission de l'arbre"
+
+msgid "split commit is empty"
+msgstr "le commit scindé est vide"
+
+msgid "split commit tree matches original commit"
+msgstr "l'arbre du commit scindé correspond au commit original"
+
+msgid "failed writing first commit"
+msgstr "échec de l'écriture du premier commit"
+
+msgid "failed writing second commit"
+msgstr "échec de l'écriture du second commit"
+
+msgid "control ref update behavior"
+msgstr "contrôler le comportement de mise à jour de réf"
+
+msgid "command expects a committish"
+msgstr "la commande attend un commit-esque"
+
+msgid "cannot split up merge commit"
+msgstr "impossible de scinder un commit de fusion"
+
+msgid ""
+"git hook run [--allow-unknown-hook-name] [--ignore-missing] [--to-"
+"stdin=<path>] <hook-name> [-- <hook-args>]"
+msgstr ""
+"git hook run [--allow-unknown-hook-name] [--ignore-missing] [--to-"
+"stdin=<chemin>] <nom-de-crochet> [-- <arguments-de-crochet>]"
+
 msgid ""
-"git hook run [--ignore-missing] [--to-stdin=<path>] <hook-name> [-- <hook-"
-"args>]"
+"git hook list [--allow-unknown-hook-name] [-z] [--show-scope] <hook-name>"
 msgstr ""
-"git hook run [--ignore-missing] [--to-stdin=<chemin>] <nom-de-crochet> [-- "
-"<arguments-de-crochet>]"
+"git hook list [--allow-unknown-hook-name] [-z] [--show-scope] <nom-de-"
+"crochet>"
+
+msgid "use NUL as line terminator"
+msgstr "la ligne se termine par NUL"
+
+msgid "show the config scope that defined each hook"
+msgstr "afficher la portée de configuration qui a défini chaque crochet"
+
+msgid "allow running a hook with a non-native hook name"
+msgstr "pemettre de lancer un crochet avec un nom de crochet non natif"
+
+msgid "you must specify a hook event name to list"
+msgstr "vous devez spécifier un nom d'événement de crochet à lister"
+
+#, c-format
+msgid ""
+"unknown hook event '%s';\n"
+"use --allow-unknown-hook-name to allow non-native hook names"
+msgstr ""
+"événement de crochet inconnu '%s' ;\n"
+"utilisez --allow-unknown-hook-name pour permettre les noms de crochet non "
+"natifs"
+
+#, c-format
+msgid "no hooks found for event '%s'"
+msgstr "pas de crochet trouvé pour l'événement '%s'"
+
+msgid "hook from hookdir"
+msgstr "crochet depuis hookdir"
 
 msgid "silently ignore missing requested <hook-name>"
 msgstr "ignorer silencieusement le <nom-de-crochet> requis manquant"
@@ -8510,21 +8767,6 @@ msgstr ""
 "[(=|:)<valeur>])...]\n"
 "                       [--parse] [<fichier>...]"
 
-#, c-format
-msgid "could not stat %s"
-msgstr "stat impossible de %s"
-
-#, c-format
-msgid "file %s is not a regular file"
-msgstr "%s n'est pas un fichier régulier"
-
-#, c-format
-msgid "file %s is not writable by user"
-msgstr "le fichier %s n'est pas inscriptible par l'utilisateur"
-
-msgid "could not open temporary file"
-msgstr "impossible de créer un fichier temporaire"
-
 #, c-format
 msgid "could not read input file '%s'"
 msgstr "impossible de lire le fichier d'entrée '%s'"
@@ -8532,6 +8774,10 @@ msgstr "impossible de lire le fichier d'entrée '%s'"
 msgid "could not read from stdin"
 msgstr "impossible de lire depuis l'entrée standard"
 
+#, c-format
+msgid "could not write to temporary file '%s'"
+msgstr "impossible d'écrire le fichier temporaire '%s'"
+
 #, c-format
 msgid "could not rename temporary file to %s"
 msgstr "impossible de renommer un fichier temporaire en %s"
@@ -8557,8 +8803,8 @@ msgstr "action si les lignes terminales manquent"
 msgid "output only the trailers"
 msgstr "éliminer les lignes terminales vides"
 
-msgid "do not apply trailer.* configuration variables"
-msgstr "ne pas appliquer les variables de configuration trailer.*"
+msgid "do not apply trailer.<key-alias> configuration variables"
+msgstr "ne pas appliquer les variables de configuration trailer.<alias-de-clé>"
 
 msgid "reformat multiline trailer values as single-line values"
 msgstr ""
@@ -8580,22 +8826,23 @@ msgstr "--trailer n'a aucune signification avec --only-input"
 msgid "no input file given for in-place editing"
 msgstr "aucun fichier en entrée pour l'éditon sur place"
 
-msgid "last-modified can only operate on one tree at a time"
-msgstr "last-modified ne peut opérer que sur un arbre à la fois"
+msgid "last-modified can only operate on one commit at a time"
+msgstr "last-modified ne peut opérer que sur un commit à la fois"
+
+#, c-format
+msgid "revision argument '%s' is a %s, not a commit-ish"
+msgstr "l'argument de révision '%s' est un %s, pas un commit-esque"
 
 #, c-format
 msgid "unknown last-modified argument: %s"
 msgstr "argument de last-modified inconnu : %s"
 
-msgid "unable to setup last-modified"
-msgstr "impossible de renseigner last-modified"
-
 msgid ""
-"git last-modified [--recursive] [--show-trees] [<revision-range>] [[--] "
-"<path>...]"
+"git last-modified [--recursive] [--show-trees] [--max-depth=<depth>] [-z]\n"
+"                  [<revision-range>] [[--] <pathspec>...]"
 msgstr ""
-"git last-modified [--recursive] [--show-trees] [<plage-de-révisions>] [[--] "
-"<chemin>...]"
+"git last-modified [--recursive] [--show-trees] [--max-depth=<depth>] [-z]\n"
+"                  [<plage-de-révisions>] [[--] <spéc-de-chemin>...]"
 
 msgid "recurse into subtrees"
 msgstr "parcourir les sous-arbres"
@@ -8603,6 +8850,12 @@ msgstr "parcourir les sous-arbres"
 msgid "show tree entries when recursing into subtrees"
 msgstr "afficher les entrées lors de la récurssion dans les sous-arbres"
 
+msgid "maximum tree depth to recurse"
+msgstr "profondeur d'arbre maximum de récursion"
+
+msgid "lines are separated with NUL character"
+msgstr "les lignes sont séparées par un caractère NUL"
+
 msgid "git log [<options>] [<revision-range>] [[--] <path>...]"
 msgstr "git log [<options>] [<plage de révisions>] [[--] <chemin>...]"
 
@@ -8676,6 +8929,18 @@ msgstr "%s : couverture invalide pour le mode de description"
 msgid "format.headers without value"
 msgstr "format.headers sans valeur"
 
+#, c-format
+msgid "bad boolean config value '%s' for '%s'"
+msgstr "valeur booléenne de configuration invalide '%s' pour '%s'"
+
+#, c-format
+msgid ""
+"'%s' used to accept any value and treat that as 'true'.\n"
+"Now it only accepts boolean values, like what '%s' does.\n"
+msgstr ""
+"'%s' acceptait n'importe quelle valeur et la traitait comm 'true'.\n"
+"À présent, elle n'accepte que les valeurs booléennes, comme '%s' le fait.\n"
+
 #, c-format
 msgid "cannot open patch file %s"
 msgstr "impossible d'ouvrir le fichier correctif %s"
@@ -8696,6 +8961,10 @@ msgstr "la lettre de motivation doit être au format courriel"
 msgid "failed to create cover-letter file"
 msgstr "échec de création du fichier de lettre de motivation"
 
+#, c-format
+msgid "'%s' is not a valid format string"
+msgstr "'%s' n'est pas une chaîne de format valide"
+
 #, c-format
 msgid "insane in-reply-to: %s"
 msgstr "in-reply-to aberrant : %s"
@@ -8763,6 +9032,14 @@ msgstr "afficher les rustines sur la sortie standard"
 msgid "generate a cover letter"
 msgstr "générer une lettre de motivation"
 
+msgid "format-spec"
+msgstr "spéc-de-format"
+
+msgid "format spec used for the commit list in the cover letter"
+msgstr ""
+"le spéc de format utilisé pour la liste de commits dans la lettre de "
+"motivation"
+
 msgid "use simple number sequence for output file names"
 msgstr ""
 "utiliser une séquence simple de nombres pour les nom des fichiers de sortie"
@@ -9659,11 +9936,20 @@ msgid "allow creation of more than one tree"
 msgstr "autoriser la création de plus d'un arbre"
 
 msgid ""
-"git multi-pack-index [<options>] write [--preferred-pack=<pack>][--refs-"
-"snapshot=<path>]"
+"git multi-pack-index [<options>] write [--preferred-pack=<pack>]\n"
+"  [--[no-]bitmap] [--[no-]incremental] [--[no-]stdin-packs]\n"
+"  [--refs-snapshot=<path>]"
 msgstr ""
-"git multi-pack-index [<options>] write [--preferred-pack=<paquet>][--refs-"
-"snapshot=<chemin>]"
+"git multi-pack-index [<options>] write [--preferred-pack=<paquet>]\n"
+"  [--[no-]bitmap] [--[no-]incremental] [--[no-]stdin-packs]\n"
+"  [--refs-snapshot=<chemin>]"
+
+msgid ""
+"git multi-pack-index [<options>] compact [--[no-]incremental]\n"
+"  [--[no-]bitmap] <from> <to>"
+msgstr ""
+"git multi-pack-index [<options>] compact [--[no-]incremental]\n"
+"  [--[no-]bitmap] <depuis> <vers>"
 
 msgid "git multi-pack-index [<options>] verify"
 msgstr "git multi-pack-index [<options>] verify"
@@ -9700,6 +9986,17 @@ msgstr "écrire l'index multi-paquet ne contenant que les index fournis"
 msgid "refs snapshot for selecting bitmap commits"
 msgstr "instantané des réfs pour sélectionner les commits de bitmap"
 
+#, c-format
+msgid "could not find MIDX: %s"
+msgstr "impossible de trouver le MIDX : %s"
+
+msgid "MIDX compaction endpoints must be unique"
+msgstr "les points de terminaison de compaction de MIDX doivent être uniques"
+
+#, c-format
+msgid "MIDX %s must be an ancestor of %s"
+msgstr "le MIDX %s doit être l'ancêtre de %s"
+
 msgid ""
 "during repack, collect pack-files of smaller size into a batch that is "
 "larger than this size"
@@ -10323,16 +10620,16 @@ msgstr ""
 msgid "could not get type of object %s in pack %s"
 msgstr "impossible d'obtenir le type de l'objet %s dans le paquet %s"
 
+#, c-format
+msgid "could not find pack '%s'"
+msgstr "impossible de trouver le paquet '%s'"
+
 #, c-format
 msgid "packfile %s is a promisor but --exclude-promisor-objects was given"
 msgstr ""
 "le fichier paquet %s est un prometteur mais --exclude-promisor-objects a été "
 "spécifé"
 
-#, c-format
-msgid "could not find pack '%s'"
-msgstr "impossible de trouver le paquet '%s'"
-
 #, c-format
 msgid "packfile %s cannot be accessed"
 msgstr "le fichier paquet %s ne peut être accédé"
@@ -10362,9 +10659,6 @@ msgstr ""
 "ID d'objet attendu, reçu des données illisibles :\n"
 "%s"
 
-msgid "could not load cruft pack .mtimes"
-msgstr "impossible de charger le paquet déchet des mtimes"
-
 msgid "cannot open pack index"
 msgstr "impossible d'ouvrir l'index de paquet"
 
@@ -10917,8 +11211,8 @@ msgstr ""
 msgid ""
 "You didn't specify any refspecs to push, and push.default is \"nothing\"."
 msgstr ""
-"Vous n'avez pas spécifié de spécifications de référence à pousser, et "
-"push.default est \"nothing\"."
+"Vous n'avez pas spécifié de spécifications de référence à pousser, et push."
+"default est \"nothing\"."
 
 #, c-format
 msgid ""
@@ -12659,87 +12953,57 @@ msgstr "--convert-graft-file ne supporte aucun argument"
 msgid "only one pattern can be given with -l"
 msgstr "-l n'accepte qu'un motifs"
 
-#, c-format
-msgid "'%s' is not a valid commit-ish for %s"
-msgstr "'%s' n'est pas un commit-esque valide pour l'option %s"
-
-msgid "need some commits to replay"
-msgstr "commits requis pour pouvoir rejouer"
-
-msgid "all positive revisions given must be references"
-msgstr "toutes les révisions positives fournies doivent être des références"
-
-msgid "argument to --advance must be a reference"
-msgstr "l'argument de --advance doit être une référence"
-
-msgid ""
-"cannot advance target with multiple sources because ordering would be ill-"
-"defined"
-msgstr ""
-"impossible d'avancer la cible avec des sources multiples parce l'ordre ne "
-"serait pas total"
-
 #, c-format
 msgid "invalid %s value: '%s'"
 msgstr "valeur invalide de %s : '%s'"
 
 msgid ""
-"(EXPERIMENTAL!) git replay ([--contained] --onto <newbase> | --advance "
-"<branch>) [--ref-action[=<mode>]] <revision-range>"
+"(EXPERIMENTAL!) git replay ([--contained] --onto=<newbase> | --"
+"advance=<branch> | --revert=<branch>)\n"
+"[--ref=<ref>] [--ref-action=<mode>] <revision-range>"
 msgstr ""
-"(EXPERIMENTAL!) git replay ([--contained] --onto <nouvelle-base> | --advance "
-"<branche>) [--ref-action[=<mode>]] <plage-de-révision>"
-
-msgid "make replay advance given branch"
-msgstr "faire rejouer en avançant la branche indiquée"
-
-msgid "replay onto given commit"
-msgstr "rejouer par-dessus le commit indiqué"
+"(EXPERIMENTAL!) git replay ([--contained] --onto=<nouvelle-base> | --"
+"advance=<branche> | --revert=<branche>)\n"
+"[--ref=<réf>] [--ref-action=<mode>] <plage-de-révision>"
 
 msgid "update all branches that point at commits in <revision-range>"
 msgstr ""
 "mettre à jour les branches qui pointent sur les commits dans <plage-de-"
 "révisions>"
 
-msgid "control ref update behavior (update|print)"
-msgstr "contrôler le comportement de mise à jour de ref (update|print)"
-
-msgid "option --onto or --advance is mandatory"
-msgstr "une option --onto ou --advance est obligatoire"
-
-#, c-format
-msgid ""
-"some rev walking options will be overridden as '%s' bit in 'struct rev_info' "
-"will be forced"
-msgstr ""
-"certaines options de parcours de révs seront surchargées car le bit '%s' "
-"dans 'struct rev_info' sera forcé"
+msgid "replay onto given commit"
+msgstr "rejouer par-dessus le commit indiqué"
 
-#, c-format
-msgid "failed to begin ref transaction: %s"
-msgstr "impossible de commencer la transaction de réf ; %s"
+msgid "make replay advance given branch"
+msgstr "faire rejouer en avançant la branche indiquée"
 
-msgid "error preparing revisions"
-msgstr "erreur lors de la préparation des révisions"
+msgid "revert commits onto given branch"
+msgstr "inverser les commits sur la branche fournie"
 
-msgid "replaying down from root commit is not supported yet!"
-msgstr "rejouer depuis le commit racine n'est pas encore géré !"
+msgid "reference to update with result"
+msgstr "la référence à mettre à jour avec le résultat"
 
-msgid "replaying merge commits is not supported yet!"
-msgstr "rejouer des commits de fusion n'est pas encore géré !"
+msgid "control ref update behavior (update|print)"
+msgstr "contrôler le comportement de mise à jour de ref (update|print)"
 
-#, c-format
-msgid "failed to update ref '%s': %s"
-msgstr "échec de la mise à jour de la réf '%s' : %s"
+msgid "exactly one of --onto, --advance, or --revert is required"
+msgstr "un seul des paramètres --onto, --advance ou --revert  est requis"
 
 #, c-format
-msgid "failed to commit ref transaction: %s"
-msgstr "impossible de valider la transaction de réf : %s"
+msgid ""
+"some rev walking options will be overridden as '%s' bit in 'struct rev_info' "
+"will be forced"
+msgstr ""
+"certaines options de parcours de révs seront surchargées car le bit '%s' "
+"dans 'struct rev_info' sera forcé"
 
 #, c-format
 msgid "key '%s' not found"
 msgstr "clé '%s' non trouvée"
 
+msgid "--keys can only be used with --format=lines or --format=nul"
+msgstr "--keys ne peut être utilisé qu'avec --format=lines ou --format=nul"
+
 #, c-format
 msgid "invalid format '%s'"
 msgstr "format invalide '%s'"
@@ -12753,6 +13017,12 @@ msgstr "synonymes de --format=nul"
 msgid "print all keys/values"
 msgstr "afficher toutes les clés/valeurs"
 
+msgid "show keys"
+msgstr "afficher les clé"
+
+msgid "--keys cannot be used with a <key> or --all"
+msgstr "--keys ne peut être utilisé ni avec une <clé> ou ni avec --all"
+
 msgid "unsupported output format"
 msgstr "format de sortie non géré"
 
@@ -12795,6 +13065,18 @@ msgstr "taille décompressée"
 msgid "Disk size"
 msgstr "Taille sur disque"
 
+msgid "Largest objects"
+msgstr "Objets les plus gros"
+
+msgid "Maximum size"
+msgstr "Taille maximale"
+
+msgid "Maximum parents"
+msgstr "Nombre maximum de parents"
+
+msgid "Maximum entries"
+msgstr "Nombre maximum d'entrées"
+
 msgid "Repository structure"
 msgstr "Structure de dépôt"
 
@@ -13379,6 +13661,44 @@ msgstr "algorithme d'empreinte"
 msgid "Unknown hash algorithm"
 msgstr "Algorithme d'empreinte inconnu"
 
+msgid "assuming SHA-1; use --object-format to override"
+msgstr "SHA-1 supposé ; utilisez --object-format pour surcharger"
+
+msgid "unable to read header"
+msgstr "impossible d'analyser l'entête"
+
+msgid "unknown index version"
+msgstr "version d'index inconnue"
+
+msgid "unable to read index"
+msgstr "lecture d'index impossible"
+
+msgid "corrupt index file"
+msgstr "fichier d'index corrompu"
+
+#, c-format
+msgid "unable to read entry %u/%u"
+msgstr "impossible de lire l'entrée %u/%u"
+
+#, c-format
+msgid "unable to read sha1 %u/%u"
+msgstr "impossible de lire le sha1 %u/%u"
+
+#, c-format
+msgid "unable to read crc %u/%u"
+msgstr "impossible de lire le crc %u/%u"
+
+#, c-format
+msgid "unable to read 32b offset %u/%u"
+msgstr "impossible de lire le décalage 32b %u/%u"
+
+msgid "inconsistent 64b offset index"
+msgstr "index de décalage 64b incohérent"
+
+#, c-format
+msgid "unable to read 64b offset %u"
+msgstr "impossible de lire le décalage 64b %u"
+
 msgid ""
 "git show-ref [--head] [-d | --dereference]\n"
 "             [-s | --hash[=<n>]] [--abbrev[=<n>]] [--branches] [--tags]\n"
@@ -13642,19 +13962,19 @@ msgid "git stash store [(-m | --message) <message>] [-q | --quiet] <commit>"
 msgstr "git stash store [(-m | --message) <message>] [-q | --quiet] <remise>"
 
 msgid ""
-"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"git stash [push] [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
 "| --quiet]\n"
 "          [-u | --include-untracked] [-a | --all] [(-m | --message) "
 "<message>]\n"
 "          [--pathspec-from-file=<file> [--pathspec-file-nul]]\n"
-"          [--] [<pathspec>...]]"
+"          [--] [<pathspec>...]"
 msgstr ""
-"git stash [push [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
+"git stash [push] [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q "
 "| --quiet]\n"
 "          [-u | --include-untracked] [-a | --all] [(-m | --message) "
 "<message>]\n"
 "          [--pathspec-from-file=<fichier> [--pathspec-file-nul]]\n"
-"          [--] [<spécificateur-de-chemin>...]]"
+"          [--] [<spécificateur-de-chemin>...]"
 
 msgid ""
 "git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | "
@@ -13922,6 +14242,9 @@ msgstr ""
 msgid "could not get a repository handle for submodule '%s'"
 msgstr "impossible de trouver une poignée de dépôt pour le sous-module '%s'"
 
+msgid "git submodule--helper get-default-remote <path>"
+msgstr "git submodule--helper get-default-remote <chemin>"
+
 #, c-format
 msgid "No url found for submodule path '%s' in .gitmodules"
 msgstr "URL non trouvée pour le chemin de sous-module '%s' dans .gitmodules"
@@ -13958,6 +14281,16 @@ msgstr "parcourir récursivement les sous-modules"
 msgid "git submodule foreach [--quiet] [--recursive] [--] <command>"
 msgstr "git submodule foreach [--quiet] [--recursive] [--] <commande>"
 
+#, c-format
+msgid ""
+"failed to set a valid default config for 'submodule.%s.gitdir'. Please "
+"ensure it is set, for example by running something like: 'git config "
+"submodule.%s.gitdir .git/modules/%s'"
+msgstr ""
+"échec de réglage d'une valeur par défaut valide pour 'submodule.%s.gitdir'. "
+"Veuillez vous assurer qu'elle est réglée en lançant par exemple quelque "
+"chose comme : 'git config submodule.%s.gitdir .git/modules/%s'"
+
 #, c-format
 msgid "Failed to register url for submodule path '%s'"
 msgstr "Échec d'enregistrement de l'URL pour le chemin de sous-module '%s'"
@@ -14050,6 +14383,27 @@ msgstr "git submodule summary [<options>] [<commit>] [--] [<chemin>]"
 msgid "could not fetch a revision for HEAD"
 msgstr "impossible de récupérer une révision pour HEAD"
 
+msgid "git submodule--helper gitdir <name>"
+msgstr "git submodule--helper gitdir <nom>"
+
+msgid ""
+"could not set core.repositoryformatversion to 1.\n"
+"Please set it for migration to work, for example:\n"
+"git config core.repositoryformatversion 1"
+msgstr ""
+"impossible de régler core.repositoryformatversion à 1.\n"
+"Veuillez le faire pour que la migration réussisse, par exemple :\n"
+"git config core.repositoryformatversion 1"
+
+msgid ""
+"could not enable submodulePathConfig extension. It is required\n"
+"for migration to work. Please enable it in the root repo:\n"
+"git config extensions.submodulePathConfig true"
+msgstr ""
+"impossible d'activer l'extension submodulePathConfig. Elle est nécessaire\n"
+"pour que la migration réussisse. Veuillez l'activer dans le dépôt racine :\n"
+"git config extensions.submodulePathConfig true"
+
 #, c-format
 msgid "Synchronizing submodule url for '%s'\n"
 msgstr "Synchronisation de l'URL sous-module pour '%s'\n"
@@ -14146,11 +14500,6 @@ msgstr ""
 msgid "Value '%s' for submodule.alternateLocation is not recognized"
 msgstr "La valeur '%s' pour submodule.alternateLocation n'est pas reconnue"
 
-#, c-format
-msgid "refusing to create/use '%s' in another submodule's git dir"
-msgstr ""
-"refus de créer/utiliser '%s' dans un répertoire git d'un autre sous-module"
-
 #, c-format
 msgid "directory not empty: '%s'"
 msgstr "le répertoire n'est pas vide : '%s'"
@@ -14159,6 +14508,14 @@ msgstr "le répertoire n'est pas vide : '%s'"
 msgid "clone of '%s' into submodule path '%s' failed"
 msgstr "le clonage de '%s' dans le chemin de sous-module '%s' a échoué"
 
+#, c-format
+msgid ""
+"refusing to create/use '%s' in another submodule's git dir. Enabling "
+"extensions.submodulePathConfig should fix this."
+msgstr ""
+"refus de créer/utiliser '%s' dans un répertoire git d'un autre sous-module. "
+"Activer extensions.submodulePathConfig devrait résoudre cela."
+
 #, c-format
 msgid "could not get submodule directory for '%s'"
 msgstr "impossible de créer le répertoire de sous-module pour '%s'"
@@ -15074,8 +15431,8 @@ msgstr "Suppression de %s/%s : %s"
 msgid "report pruned working trees"
 msgstr "afficher les arbres de travail élagués"
 
-msgid "expire working trees older than <time>"
-msgstr "faire expirer les arbres de travail plus vieux que <temps>"
+msgid "prune missing working trees older than <time>"
+msgstr "élaguer les arbres de travail plus vieux que <temps>"
 
 #, c-format
 msgid "'%s' already exists"
@@ -15146,15 +15503,8 @@ msgstr "Préparation de l'arbre de travail (extraction de '%s')"
 msgid "Preparing worktree (detached HEAD %s)"
 msgstr "Préparation de l'arbre de travail (HEAD détachée %s)"
 
-#, c-format
-msgid ""
-"HEAD points to an invalid (or orphaned) reference.\n"
-"HEAD path: '%s'\n"
-"HEAD contents: '%s'"
-msgstr ""
-"HEAD pointe sur une référence invalide (ou orpheline).\n"
-"chemin de HEAD '%s'\n"
-"contenu de HEAD : '%s'"
+msgid "HEAD points to an invalid (or orphaned) reference.\n"
+msgstr "HEAD pointe sur une référence invalide (ou orpheline).\n"
 
 msgid ""
 "No local or remote refs exist despite at least one remote\n"
@@ -15216,9 +15566,10 @@ msgstr ""
 msgid "show extended annotations and reasons, if available"
 msgstr "afficher les annotations étendues et les raisons, si disponible"
 
-msgid "add 'prunable' annotation to worktrees older than <time>"
+msgid "add 'prunable' annotation to missing worktrees older than <time>"
 msgstr ""
-"ajouter l'annotation 'prunable' aux arbres de travail plus vieux que <temps>"
+"ajouter l'annotation 'prunable' aux arbres de travail manquants plus vieux "
+"que <temps>"
 
 msgid "terminate records with a NUL character"
 msgstr "terminer les enregistrements par un caractère NUL"
@@ -15723,6 +16074,9 @@ msgstr ""
 msgid "Display help information about Git"
 msgstr "Afficher l'information d'aide à propos de Git"
 
+msgid "EXPERIMENTAL: Rewrite history"
+msgstr "EXPERIMENTAL : Réécrit l'historique"
+
 msgid "Run git hooks"
 msgstr "Lance les crochets git"
 
@@ -15833,8 +16187,8 @@ msgstr "Trouver les fichiers pack redondants"
 msgid "Pack heads and tags for efficient repository access"
 msgstr "Empaqueter les têtes et les étiquettes pour un accès efficace au dépôt"
 
-msgid "Compute unique ID for a patch"
-msgstr "Calculer l'ID unique d'une rustine"
+msgid "Compute unique IDs for patches"
+msgstr "Calculer des IDs uniques pour les rustines"
 
 msgid "Prune all unreachable objects from the object database"
 msgstr "Élaguer les objets inatteignables depuis la base de données des objets"
@@ -16335,11 +16689,11 @@ msgstr ""
 
 #, c-format
 msgid ""
-"attempting to write a commit-graph, but 'commitGraph.changedPathsVersion' "
-"(%d) is not supported"
+"attempting to write a commit-graph, but 'commitGraph."
+"changedPathsVersion' (%d) is not supported"
 msgstr ""
-"essai d'écriture de graphe de commits, mais "
-"'commitGraph.changedPathsVersion' (%d) n'est pas pris en charge"
+"essai d'écriture de graphe de commits, mais 'commitGraph."
+"changedPathsVersion' (%d) n'est pas pris en charge"
 
 msgid "too many commits to write graph"
 msgstr "trop de commits pour écrire un graphe"
@@ -16416,6 +16770,10 @@ msgstr "Verification des commits dans le graphe de commits"
 msgid "could not parse commit %s"
 msgstr "impossible d'analyser le commit %s"
 
+#, c-format
+msgid "object %s is a %s, not a %s"
+msgstr "l'objet %s est de type %s, pas de type %s"
+
 #, c-format
 msgid "%s %s is not a commit!"
 msgstr "%s %s n'est pas un commit !"
@@ -16827,10 +17185,6 @@ msgid "bad numeric config value '%s' for '%s' in %s: %s"
 msgstr ""
 "valeur numérique de configuration incorrecte '%s' pour '%s' dans %s : %s"
 
-#, c-format
-msgid "bad boolean config value '%s' for '%s'"
-msgstr "valeur booléenne de configuration invalide '%s' pour '%s'"
-
 #, c-format
 msgid "failed to expand user dir in: '%s'"
 msgstr "impossible d'étendre le répertoire utilisateur dans : '%s'"
@@ -17525,6 +17879,9 @@ msgstr "classe de modification inconnue '%c' dans --diff-filter=%s"
 msgid "unknown value after ws-error-highlight=%.*s"
 msgstr "valeur inconnue après ws-error-highlight=%.*s"
 
+msgid "--find-object requires a git repository"
+msgstr "--find-object requiert un dépôt git"
+
 #, c-format
 msgid "unable to resolve '%s'"
 msgstr "impossible de résoudre '%s'"
@@ -17924,9 +18281,6 @@ msgstr "sélectionner les fichiers par types de diff"
 msgid "<depth>"
 msgstr "<profondeur>"
 
-msgid "maximum tree depth to recurse"
-msgstr "profondeur d'arbre maximum de récursion"
-
 msgid "<file>"
 msgstr "<fichier>"
 
@@ -18279,6 +18633,10 @@ msgstr "erreur lors du traitement des références voulues : %d"
 msgid "git fetch-pack: expected response end packet"
 msgstr "git fetch-pack : paquet de fin de réponse attendu"
 
+#, c-format
+msgid "couldn't resolve 'auto' filter '%s': %s"
+msgstr "impossible de résoudre le filtre 'auto' '%s' : %s"
+
 msgid "no matching remote head"
 msgstr "pas de HEAD distante correspondante"
 
@@ -18697,8 +19055,20 @@ msgid ""
 "You can disable this warning with `git config set advice.ignoredHook false`."
 msgstr ""
 "Le crochet '%s' a été ignoré parce qu'il n'est pas marqué comme exécutable.\n"
-"Vous pouvez désactiver cet avertissement avec `git config set "
-"advice.ignoredHook false`."
+"Vous pouvez désactiver cet avertissement avec `git config set advice."
+"ignoredHook false`."
+
+#, c-format
+msgid "disabled hook '%s' has no command configured"
+msgstr "le crochet désactivé '%s' n'a pas de commande configurée"
+
+#, c-format
+msgid ""
+"'hook.%s.command' must be configured or 'hook.%s.event' must be removed; "
+"aborting."
+msgstr ""
+"'hook.%s.command' doit être configuré ou 'hook.%s.event' doit être "
+"supprimé ; abandon."
 
 msgid "not a git repository"
 msgstr "pas un dépôt git"
@@ -18752,6 +19122,25 @@ msgstr ""
 "      demandé : %s\n"
 "  redirection : %s"
 
+#, c-format
+msgid ""
+"response requested a delay greater than http.maxRetryTime (%ld > %ld seconds)"
+msgstr ""
+"La réponse à demandé un délai plus grand que http.maxRetryTime (%ld > %ld "
+"secondes)"
+
+#, c-format
+msgid ""
+"configured http.retryAfter exceeds http.maxRetryTime (%ld > %ld seconds)"
+msgstr ""
+"la configuration http.retryAfter est plus grande que http.maxRetryTime (%ld "
+"> %ld secondes)"
+
+#, c-format
+msgid "rate limited, waiting %ld seconds before retry"
+msgstr ""
+"limitation du débit, en attente pendant %ld secondes avant de réessayer"
+
 #, c-format
 msgid ""
 "number too large to represent as curl_off_t on this platform: %<PRIuMAX>"
@@ -18836,6 +19225,9 @@ msgstr ""
 "régler le dossier cible avec 'git config imap.folder <dossier>'\"\n"
 "(par ex., 'git config imap.folder Drafts')"
 
+msgid "'auto' filter not supported by this command"
+msgstr "filtre 'auto' non pris en charge par cette commande"
+
 msgid "expected 'tree:<depth>'"
 msgstr "attendu : 'tree:<profondeur>'"
 
@@ -18855,12 +19247,18 @@ msgid "must escape char in sub-filter-spec: '%c'"
 msgstr ""
 "le caractère doit être échappé dans le spécificateur de sous-filtre : '%c'"
 
+msgid "an 'auto' filter cannot be combined"
+msgstr "un filtre 'auto' ne peut pas être combiné"
+
 msgid "expected something after combine:"
 msgstr "quelque chose attendu après combine :"
 
 msgid "multiple filter-specs cannot be combined"
 msgstr "impossible de combiner des spécificateurs multiples de filtre"
 
+msgid "an 'auto' filter is incompatible with any other filter"
+msgstr "un filtre 'auto'  est incompatible avec d'autres filtres"
+
 msgid "unable to upgrade repository format to support partial clone"
 msgstr ""
 "impossible de mettre à jour le format de dépôt pour supporter les clones "
@@ -18894,23 +19292,45 @@ msgstr ""
 msgid "unable to load root tree for commit %s"
 msgstr "impossible de charger l'arbre racine pour le commit %s"
 
+#, c-format
+msgid "could not write lock pid file '%s'"
+msgstr "impossible d'écrire le fichier de verrou pid'%s'"
+
+#, c-format
+msgid "malformed lock pid file '%s'"
+msgstr "fichier de verrou pid malformé '%s'"
+
 #, c-format
 msgid ""
-"Unable to create '%s.lock': %s.\n"
+"Unable to create '%s': %s.\n"
 "\n"
-"Another git process seems to be running in this repository, e.g.\n"
-"an editor opened by 'git commit'. Please make sure all processes\n"
-"are terminated then try again. If it still fails, a git process\n"
-"may have crashed in this repository earlier:\n"
-"remove the file manually to continue."
 msgstr ""
-"Impossible de créer '%s.lock' : %s.\n"
+"Impossible de créer '%s' : %s.\n"
 "\n"
-"Il semble qu'un autre processus git est déjà lancé dans ce dépôt,\n"
-"par exemple un éditeur ouvert par 'git commit'. Veuillez vous assurer\n"
-"que tous les processus sont terminés et réessayez. Si l'échec persiste,\n"
-"un processus git peut avoir planté :\n"
-"supprimez le fichier manuellement pour poursuivre."
+
+#, c-format
+msgid ""
+"Lock may be held by process %<PRIuMAX>; if no git process is running, the "
+"lock file may be stale (PIDs can be reused)"
+msgstr ""
+"Le verrou peut être tenu par le processus %<PRIuMAX> ; si aucun processus "
+"git n'est en cours, le fichier de verrou peut être obsolète (les PIDs "
+"peuvent être réutilisés)"
+
+#, c-format
+msgid ""
+"Lock was held by process %<PRIuMAX>, which is no longer running; the lock "
+"file appears to be stale"
+msgstr ""
+"Le verrou était tenu par le processus %<PRIuMAX> qui n'est plus en cours, le "
+"fichier de verrou semble obsolète"
+
+msgid ""
+"Another git process seems to be running in this repository, or the lock file "
+"may be stale"
+msgstr ""
+"Un autre processus git semble en cours dans ce dépôt, ou le fichier verrou "
+"est obsolète"
 
 #, c-format
 msgid "Unable to create '%s.lock': %s"
@@ -19224,8 +19644,15 @@ msgstr "impossible d'analyser la ligne : %s"
 msgid "malformed line: %s"
 msgstr "ligne malformée : %s"
 
-msgid "could not load pack"
-msgstr "impossible de charger le paquet"
+#, c-format
+msgid "could not load pack %d"
+msgstr "impossible de charger le paquet %d"
+
+msgid "too many packs, unable to compact"
+msgstr "trop de paquets, impossible de compacter"
+
+msgid "could not determine preferred pack"
+msgstr "impossible de déterminer le paquet préféré"
 
 #, c-format
 msgid "unable to link '%s' to '%s'"
@@ -19235,6 +19662,13 @@ msgstr "impossible de lier '%s' à '%s'"
 msgid "failed to clear multi-pack-index at %s"
 msgstr "échec du nettoyage de l'index de multi-paquet à %s"
 
+#, c-format
+msgid "unknown MIDX version: %d"
+msgstr "version de MIDX inconnue : %d"
+
+msgid "cannot perform MIDX compaction with v1 format"
+msgstr "impossible de compacter les MIDX en format v1"
+
 msgid "ignoring existing multi-pack-index; checksum mismatch"
 msgstr ""
 "index multi-paquet existant ignoré ; non-concordance de la somme de contrôle"
@@ -19831,10 +20265,6 @@ msgstr "nom d'objet invalide : '%.*s'."
 msgid "invalid object type \"%s\""
 msgstr "type d'objet invalide \"%s\""
 
-#, c-format
-msgid "object %s is a %s, not a %s"
-msgstr "l'objet %s est de type %s, pas de type %s"
-
 #, c-format
 msgid "object %s has unknown type id %d"
 msgstr "l'objet %s a un id de type inconnu %d"
@@ -19843,6 +20273,10 @@ msgstr "l'objet %s a un id de type inconnu %d"
 msgid "unable to parse object: %s"
 msgstr "impossible d'analyser l'objet : %s"
 
+#, c-format
+msgid "unable to open object stream for %s"
+msgstr "impossible d'ouvrir l'objet flux pour %s"
+
 #, c-format
 msgid "hash mismatch %s"
 msgstr "incohérence d'empreinte %s"
@@ -19860,15 +20294,6 @@ msgstr "impossible de normaliser le chemin d'objet alternatif : %s"
 msgid "%s: ignoring alternate object stores, nesting too deep"
 msgstr "%s : magasins d'objets alternatifs ignorés, récursion trop profonde"
 
-msgid "unable to fdopen alternates lockfile"
-msgstr "impossible d'ouvrir (fdopen) le fichier verrou des alternatives"
-
-msgid "unable to read alternates file"
-msgstr "lecture du fichier d'alternatives impossible"
-
-msgid "unable to move new alternates file into place"
-msgstr "impossible de déplacer le nouveau fichier d'alternative"
-
 #, c-format
 msgid "path '%s' does not exist"
 msgstr "le chemin '%s' n'existe pas"
@@ -19915,6 +20340,15 @@ msgstr "correspondance manquante entre %s et %s"
 msgid "%s is not a valid '%s' object"
 msgstr "%s n'est pas un objet '%s' valide"
 
+msgid "unable to fdopen alternates lockfile"
+msgstr "impossible d'ouvrir (fdopen) le fichier verrou des alternatives"
+
+msgid "unable to read alternates file"
+msgstr "lecture du fichier d'alternatives impossible"
+
+msgid "unable to move new alternates file into place"
+msgstr "impossible de déplacer le nouveau fichier d'alternative"
+
 #, c-format
 msgid "duplicate entry when writing bitmap index: %s"
 msgstr "entrée dupliquée dans l'index en bitmap : '%s'"
@@ -20129,9 +20563,6 @@ msgid "multi-pack-index reverse-index chunk is the wrong size"
 msgstr ""
 "le tronçon d'index inversé de l'index multi-paquet n'a pas la bonne taille"
 
-msgid "could not determine preferred pack"
-msgstr "impossible de déterminer le paquet préféré"
-
 msgid "cannot both write and verify reverse index"
 msgstr "impossible de lire et vérifier à la fois l'index inverse"
 
@@ -20154,6 +20585,10 @@ msgstr "offset avant la fin du fichier paquet (.idx cassé ?)"
 msgid "packfile %s cannot be mapped%s"
 msgstr "le fichier paquet %s ne peut être mmap%s"
 
+#, c-format
+msgid "could not load .mtimes for cruft pack '%s'"
+msgstr "impossible de charger .mtimes pour le paquet déchet '%s'"
+
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
 msgstr "offset avant le début de l'index de paquet pour %s (index corrompu ?)"
@@ -20509,6 +20944,10 @@ msgstr "impossible de créer le lstat en fil : %s"
 msgid "unable to parse --pretty format"
 msgstr "impossible d'analyser le format --pretty"
 
+#, c-format
+msgid "%s is not supported by this command"
+msgstr "%s n'est pas pris en charge par cette commande"
+
 msgid "lazy fetching disabled; some objects may not be available"
 msgstr ""
 "récupération paresseuse désactivée ; certains objets pourraient ne pas être "
@@ -20555,6 +20994,22 @@ msgstr "élément invalide '%s' pour l'info de distant"
 msgid "server advertised a promisor remote without a name or URL: %s"
 msgstr "les serveur a annoncé un distant prometteur sans nom ou URL : %s"
 
+#, c-format
+msgid ""
+"Storing new %s from server for remote '%s'.\n"
+"    '%s' -> '%s'\n"
+msgstr ""
+"Stockage d'un nouveau %s depuis le server pour le distant '%s'.\n"
+"    '%s' -> '%s'\n"
+
+#, c-format
+msgid "invalid filter '%s' for remote '%s' will not be stored: %s"
+msgstr "le filtre invalide '%s' pour le distant '%s' ne sera pas stocké : %s"
+
+#, c-format
+msgid "invalid token '%s' for remote '%s' will not be stored"
+msgstr "le jeton invalide '%s' pour le distant '%s' ne sera pas stocké"
+
 #, c-format
 msgid "unknown '%s' value for '%s' config option"
 msgstr "valeur inconnue '%s' pour l'option de config '%s'"
@@ -20563,6 +21018,10 @@ msgstr "valeur inconnue '%s' pour l'option de config '%s'"
 msgid "accepted promisor remote '%s' not found"
 msgstr "distant accpté de prometteur '%s' non trouvé"
 
+#, c-format
+msgid "promisor remote '%s' advertised invalid filter '%s': %s"
+msgstr "le prometteur distant '%s' a annoncé un filtre invalide '%s' : %s"
+
 msgid "object-info: expected flush after arguments"
 msgstr "object-info : vidage attendu après les arguments"
 
@@ -20821,6 +21280,14 @@ msgstr "impossible de régler les bits de droit de '%s'"
 msgid "%s: cannot drop to stage #0"
 msgstr "%s : impossible de revenir à l'étape 0"
 
+#, c-format
+msgid ""
+"Skipping submodule due to ignore=all: %s\n"
+"Use --force if you really want to add the submodule."
+msgstr ""
+"sous-module ignoré par ignore=all: %s\n"
+"Utilisez --force si vous souhaitez vraiment ajouter le sous-module."
+
 #, c-format
 msgid "unexpected diff status %c"
 msgstr "état de diff inattendu %c"
@@ -21200,6 +21667,12 @@ msgstr "'%s' n'est pas un journal de références"
 msgid "no reflog for '%s'"
 msgstr "pas de journal de références pour '%s'"
 
+#, c-format
+msgid "in '%s' phase, update aborted by the reference-transaction hook"
+msgstr ""
+"dans la phase '%s', la mise à jour a été abandonnée par le crochet reference-"
+"transaction"
+
 msgid "Checking references consistency"
 msgstr "Vérification de la cohérence des références"
 
@@ -21309,9 +21782,6 @@ msgstr "mises à jour multiples pour la réf '%s' non permises"
 msgid "ref updates forbidden inside quarantine environment"
 msgstr "mises à jour des références interdites en environnement de quarantaine"
 
-msgid "ref updates aborted by hook"
-msgstr "mises à jour des références annulées par le crochet"
-
 #, c-format
 msgid "'%s' exists; cannot create '%s'"
 msgstr "'%s' existe ; impossible de créer '%s'"
@@ -21516,6 +21986,14 @@ msgid "unable to access '%s' with http.pinnedPubkey configuration: %s"
 msgstr ""
 "impossible d'accéder à '%s' avec la configuration http.pinnedPubkey : %s"
 
+#, c-format
+msgid "rate limited by '%s', please try again in %ld seconds"
+msgstr "débit limité par '%s', veuillez essayer dans %ld secondes"
+
+#, c-format
+msgid "rate limited by '%s', please try again later"
+msgstr "débit limité par '%s', veuillez essayer plus tard"
+
 #, c-format
 msgid "unable to access '%s': %s"
 msgstr "impossible d'accéder à '%s' : %s"
@@ -21532,8 +22010,8 @@ msgstr "le serveur distant a envoyé un paquet de fin de réponse inattendu"
 
 msgid "unable to rewind rpc post data - try increasing http.postBuffer"
 msgstr ""
-"impossible de rembobiner le données post rpc - essayer d'augmenter "
-"http.postBuffer"
+"impossible de rembobiner le données post rpc - essayer d'augmenter http."
+"postBuffer"
 
 #, c-format
 msgid "remote-curl: bad line length character: %.4s"
@@ -21805,11 +22283,12 @@ msgid "* Ignoring funny ref '%s' locally"
 msgstr "* Référence bizarre '%s' ignorée localement"
 
 #, c-format
-msgid "Your branch is based on '%s', but the upstream is gone.\n"
-msgstr "Votre branche est basée sur '%s', mais la branche amont a disparu.\n"
-
-msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
-msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
+msgid ""
+"ignoring value '%s' for status.compareBranches, only @{upstream} and @{push} "
+"are supported"
+msgstr ""
+"valeur '%s' ignorée par status.compareBranches, seuls @{upstream} et @{push} "
+"sont pris en charge"
 
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
@@ -21865,6 +22344,13 @@ msgid ""
 msgstr ""
 "  (utilisez \"git pull\" pour intégrer la branche distante avec la vôtre)\n"
 
+#, c-format
+msgid "Your branch is based on '%s', but the upstream is gone.\n"
+msgstr "Votre branche est basée sur '%s', mais la branche amont a disparu.\n"
+
+msgid "  (use \"git branch --unset-upstream\" to fixup)\n"
+msgstr "  (utilisez \"git branch --unset-upstream\" pour corriger)\n"
+
 #, c-format
 msgid "cannot parse expected object name '%s'"
 msgstr "impossible d'analyser le nom attendu d'objet '%s'"
@@ -21949,6 +22435,39 @@ msgstr "référence de remplacement dupliquée : %s"
 msgid "replace depth too high for object %s"
 msgstr "profondeur de remplacement trop grande pour l'objet %s"
 
+#, c-format
+msgid "'%s' is not a valid commit-ish for %s"
+msgstr "'%s' n'est pas un commit-esque valide pour l'option %s"
+
+#, c-format
+msgid "argument to %s must be a reference"
+msgstr "l'argument de %s doit être une référence"
+
+#, c-format
+msgid ""
+"'%s' cannot be used with multiple revision ranges because the ordering would "
+"be ill-defined"
+msgstr ""
+"'%s' ne peut pas être utilisé avec des plages de révisions multiples parce "
+"que l'ordre ne serait pas total"
+
+msgid "need some commits to replay"
+msgstr "commits requis pour pouvoir rejouer"
+
+msgid "all positive revisions given must be references"
+msgstr "toutes les révisions positives fournies doivent être des références"
+
+msgid "'--ref' cannot be used with multiple revision ranges"
+msgstr "--ref ne peut pas être utilisé avec des plages de révisions multiples"
+
+#, c-format
+msgid "'%s' is not a valid refname"
+msgstr "'%s' n'est pas un nom valide de référence"
+
+msgid "compatibility hash algorithm support requires Rust"
+msgstr ""
+"la prise en charge de la compatibilité d'algorithme d'empreinte requiert Rust"
+
 msgid "corrupt MERGE_RR"
 msgstr "MERGE_RR corrompu"
 
@@ -22686,10 +23205,6 @@ msgstr "git %s : échec du rafraîchissement de l'index"
 msgid "'%s' is not a valid label"
 msgstr "'%s' n'est pas un label valide"
 
-#, c-format
-msgid "'%s' is not a valid refname"
-msgstr "'%s' n'est pas un nom valide de référence"
-
 #, c-format
 msgid "update-ref requires a fully qualified refname e.g. refs/heads/%s"
 msgstr ""
@@ -22781,6 +23296,15 @@ msgstr "impossible de picorer pendant l'annulation d'un commit."
 msgid "cannot revert during a cherry-pick."
 msgstr "impossible d'annuler un commit pendant un picorage."
 
+msgid "trailers file contains empty line"
+msgstr "le fichier de lignes terminales contient une ligne vide"
+
+msgid "trailers file is empty"
+msgstr "le fichier de lignes terminales est vide"
+
+msgid "cannot read trailers files"
+msgstr "impossible de lire le fichier de lignes terminales"
+
 msgid "unusable squash-onto"
 msgstr "\"écrase-sur\" inutilisable"
 
@@ -23272,6 +23796,14 @@ msgstr ""
 "\n"
 "\tgit config --global --add safe.directory %s"
 
+#, c-format
+msgid "error reading '%s'"
+msgstr "erreur à la lecture de '%s'"
+
+#, c-format
+msgid "not a regular file: '%s'"
+msgstr "%s n'est pas un fichier normal"
+
 msgid "Unable to read current working directory"
 msgstr "Impossible d'accéder au répertoire de travail courant"
 
@@ -23297,6 +23829,10 @@ msgstr ""
 msgid "cannot use bare repository '%s' (safe.bareRepository is '%s')"
 msgstr "impossible d'utiliser le dépôt nu '%s' (safe.bareRepository vaut '%s')"
 
+#, c-format
+msgid "unknown ref storage format: '%s'"
+msgstr "Format de stockage de réf inconnu : '%s'"
+
 #, c-format
 msgid ""
 "problem with core.sharedRepository filemode value (0%.3o).\n"
@@ -23642,10 +24178,6 @@ msgstr ""
 msgid "could not lookup name for submodule '%s'"
 msgstr "impossible de trouve le nom pour le sous-module '%s'"
 
-#, c-format
-msgid "refusing to move '%s' into an existing git dir"
-msgstr "refus de déplacer '%s' dans une répertoire git existant"
-
 #, c-format
 msgid ""
 "Migrating git directory of '%s%s' from\n"
@@ -23663,6 +24195,30 @@ msgstr "impossible de démarrer ls-files dans .."
 msgid "ls-tree returned unexpected return code %d"
 msgstr "ls-tree a renvoyé un code de retour inattendu %d"
 
+#, c-format
+msgid ""
+"the 'submodule.%s.gitdir' config does not exist for module '%s'. Please "
+"ensure it is set, for example by running something like: 'git config "
+"submodule.%s.gitdir .git/modules/%s'. For details see the extensions."
+"submodulePathConfig documentation."
+msgstr ""
+"la config 'submodule.%s.gitdir' n'existe par pour le module '%s'. Veuillez "
+"vérifier qu'elle est réglée, en lançant par exemple quelque chose comme : "
+"'git config submodule.%s.gitdir .git/modules/%s'. Pour plus de détails, "
+"reportez-vous à la documentation d'extensions.submodulePathConfig."
+
+msgid ""
+"enabling extensions.submodulePathConfig might fix the following error, if "
+"it's not already enabled."
+msgstr ""
+"activer extensions.submodulePathConfig devrait régler l'erreur suivante, si "
+"elle n'est pas déjà activée."
+
+#, c-format
+msgid "refusing to create/use '%s' in another submodule's  git dir."
+msgstr ""
+"refus de créer/utiliser '%s' dans un répertoire git d'un autre sous-module"
+
 #, c-format
 msgid "failed to lstat '%s'"
 msgstr "échec du lstat de '%s'"
@@ -23716,6 +24272,10 @@ msgstr "le commit %s n'est pas marqué joignable"
 msgid "too many commits marked reachable"
 msgstr "trop de commits marqués joignables"
 
+#, c-format
+msgid "could not find MIDX with checksum %s"
+msgstr "impossible de trouver le MIDX avec l'empreinte '%s'"
+
 msgid "could not determine MIDX preferred pack"
 msgstr "impossible de déterminer le paquet préféré de MIDX"
 
@@ -23812,6 +24372,28 @@ msgstr "valeur inconnue '%s' pour la clé '%s'"
 msgid "empty trailer token in trailer '%.*s'"
 msgstr "symbole vide dans la ligne de fin '%.*s'"
 
+msgid "empty --trailer argument"
+msgstr "argument --trailer vide"
+
+#, c-format
+msgid "invalid trailer '%s': missing key before separator"
+msgstr "ligne terminale '%s' invalide : clé manquante avec le séparateur"
+
+#, c-format
+msgid "could not stat %s"
+msgstr "stat impossible de %s"
+
+#, c-format
+msgid "file %s is not a regular file"
+msgstr "%s n'est pas un fichier régulier"
+
+#, c-format
+msgid "file %s is not writable by user"
+msgstr "le fichier %s n'est pas inscriptible par l'utilisateur"
+
+msgid "could not write to temporary file"
+msgstr "impossible d'écrire dans un fichier temporaire"
+
 msgid "full write to remote helper failed"
 msgstr "échec de l'écriture totale sur l'assistant distant"
 
@@ -25185,8 +25767,14 @@ msgstr ""
 "Les fichiers suivants sont 8bit mais ne déclarent pas de champs Content-"
 "Transfer-Encoding.\n"
 
-msgid "Which 8bit encoding should I declare [UTF-8]? "
-msgstr "Quel encodage 8bit doit être déclaré [UTF8] ? "
+msgid "Declare which 8bit encoding to use [default: UTF-8]? "
+msgstr "Déclarer l'encodage 8bit à utilisé [par défaut : UTF8] ?"
+
+#, perl-format
+msgid "'%s' does not appear to be a valid charset name. Use it anyway [y/N]? "
+msgstr ""
+"'%s' ne semble être un jeu de caractères valide. L'utiliser quand même [y/"
+"N] ?"
 
 #, perl-format
 msgid ""
@@ -25226,6 +25814,10 @@ msgstr "Que faire de cette adresse ? ([q]uitter|[d]élaisser|[e]diter): "
 msgid "CA path \"%s\" does not exist"
 msgstr "Le chemin vers la CA \"%s\" n'existe pas"
 
+#, perl-format
+msgid "Only client key \"%s\" specified"
+msgstr "Seule la clé client \"%s\" a été spécifiée"
+
 msgid ""
 "    The Cc list above has been expanded by additional\n"
 "    addresses found in the patch commit message. By default\n"