summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--po/guix/fr.po2796
1 files changed, 1617 insertions, 1179 deletions
diff --git a/po/guix/fr.po b/po/guix/fr.po
index 77d859ebfd..e682b70d3f 100644
--- a/po/guix/fr.po
+++ b/po/guix/fr.po
@@ -1,9 +1,9 @@
 # French translation of guix.
-# Copyright (C) 2013-2018 the authors of Guix (msgids)
+# Copyright (C) 2013-2020 the authors of Guix (msgids)
 # This file is distributed under the same license as the guix package.
 # Rémy Chevalier <remychevalier@laposte.net>, 2013, 2014.
 # Frédéric Marchal <fmarchal@perso.be>, 2017.
-# Julien Lepiller <julien@lepiller.eu>, 2017, 2018.
+# Julien Lepiller <julien@lepiller.eu>, 2017-2020.
 #
 # Note de Frédéric Marchal: Le nom « shepherd » est le nom d'un démon (voir
 # https://www.gnu.org/software/shepherd/). Je ne l'ai pas traduit dans les
@@ -13,13 +13,12 @@
 # mais il est traité un peu différemment : on dit « le shepherd » (« the
 # shepherd » en anglais) avec l'article.
 #
-#: guix/ui.scm:206
 msgid ""
 msgstr ""
-"Project-Id-Version: guix 1.0.1-pre1\n"
+"Project-Id-Version: guix 1.1.0-pre1\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
-"POT-Creation-Date: 2019-05-10 20:54+0200\n"
-"PO-Revision-Date: 2019-07-27 09:07+0200\n"
+"POT-Creation-Date: 2020-02-12 00:13+0100\n"
+"PO-Revision-Date: 2020-02-14 04:36+0100\n"
 "Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -28,7 +27,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 2.2.1\n"
+"X-Generator: Offlate 0.5\n"
 
 #: gnu.scm:83
 #, scheme-format
@@ -70,52 +69,47 @@ msgstr ""
 msgid "Try adding @code{(use-service-modules ~a)}."
 msgstr "Essayez d'ajouter @code{(use-service-modules ~a)}."
 
-#: gnu/packages.scm:103
+#: gnu/packages.scm:96
 #, scheme-format
 msgid "~a: patch not found"
 msgstr "~a : correctif introuvable"
 
-#: gnu/packages.scm:119
-#, scheme-format
-msgid "could not find bootstrap binary '~a' for system '~a'"
-msgstr "impossible de trouver le binaire d'initialisation « ~a » pour le système « ~a »"
-
-#: gnu/packages.scm:480 gnu/packages.scm:521
+#: gnu/packages.scm:460 gnu/packages.scm:501
 #, scheme-format
 msgid "ambiguous package specification `~a'~%"
 msgstr "spécification du paquet « ~a » ambiguë~%"
 
-#: gnu/packages.scm:481 gnu/packages.scm:522
+#: gnu/packages.scm:461 gnu/packages.scm:502
 #, scheme-format
 msgid "choosing ~a@~a from ~a~%"
 msgstr "choix de ~a@~a à l'emplacement ~a~%"
 
-#: gnu/packages.scm:486 guix/scripts/package.scm:212
+#: gnu/packages.scm:466 guix/scripts/package.scm:211
 #, scheme-format
 msgid "package '~a' has been superseded by '~a'~%"
 msgstr "le paquet « ~a » a été remplacé par « ~a »~%"
 
-#: gnu/packages.scm:493 gnu/packages.scm:510
+#: gnu/packages.scm:473 gnu/packages.scm:490
 #, scheme-format
 msgid "~A: package not found for version ~a~%"
 msgstr "~A : paquet introuvable pour la version ~a~%"
 
-#: gnu/packages.scm:494 gnu/packages.scm:511
+#: gnu/packages.scm:474 gnu/packages.scm:491
 #, scheme-format
 msgid "~A: unknown package~%"
 msgstr "~A : paquet inconnu~%"
 
-#: gnu/packages.scm:546
+#: gnu/packages.scm:530
 #, scheme-format
 msgid "package `~a' lacks output `~a'~%"
 msgstr "le paquet « ~a » requiert la sortie « ~a »~%"
 
-#: gnu/services.scm:238
+#: gnu/services.scm:242
 #, scheme-format
 msgid "~a: no value specified for service of type '~a'"
 msgstr "~a : aucune valeur spécifiée pour le service de type « ~a »"
 
-#: gnu/services.scm:336
+#: gnu/services.scm:340
 msgid ""
 "Build the operating system top-level directory, which in\n"
 "turn refers to everything the operating system needs: its kernel, initrd,\n"
@@ -126,7 +120,7 @@ msgstr ""
 "besoin : son noyau, l'image de démarrage, le profil du système, le script\n"
 "de démarrage, etc."
 
-#: gnu/services.scm:366
+#: gnu/services.scm:370
 msgid ""
 "Produce the operating system's boot script, which is spawned\n"
 "by the initrd once the root file system is mounted."
@@ -135,7 +129,17 @@ msgstr ""
 "qui est appelé par l’image de démarrage une fois que le système\n"
 "de fichiers racine est monté."
 
-#: gnu/services.scm:422
+#: gnu/services.scm:451
+msgid ""
+"Store provenance information about the system in the system\n"
+"itself: the channels used when building the system, and its configuration\n"
+"file, when available."
+msgstr ""
+"Enregistre les informations de provenance du système dans le système\n"
+"lui-même : les canaux utilisés lors de la construction d usystème et son fichier\n"
+"de configuration, s'il est disponible."
+
+#: gnu/services.scm:509
 msgid ""
 "Delete files from @file{/tmp}, @file{/var/run}, and other\n"
 "temporary locations at boot time."
@@ -143,7 +147,7 @@ msgstr ""
 "Supprime les fichiers de @file{/tmp}, @file{/var/run} et d'autres\n"
 "emplacements temporaires au démarrage."
 
-#: gnu/services.scm:476
+#: gnu/services.scm:563
 msgid ""
 "Run @dfn{activation} code at boot time and upon\n"
 "@command{guix system reconfigure} completion."
@@ -151,7 +155,7 @@ msgstr ""
 "Lance le code d’@dfn{activation} au démarrage et à la\n"
 "fin de @command{guix system reconfigure}."
 
-#: gnu/services.scm:527
+#: gnu/services.scm:614
 msgid ""
 "Add special files to the root file system---e.g.,\n"
 "@file{/usr/bin/env}."
@@ -159,11 +163,11 @@ msgstr ""
 "Ajoute des fichiers spéciaux au système de fichiers\n"
 "racine — p. ex. @file{/usr/bin/env}."
 
-#: gnu/services.scm:563
+#: gnu/services.scm:650
 msgid "Populate the @file{/etc} directory."
 msgstr "Rempli le répertoire @file{/etc}."
 
-#: gnu/services.scm:580
+#: gnu/services.scm:667
 msgid ""
 "Populate @file{/run/setuid-programs} with the specified\n"
 "executables, making them setuid-root."
@@ -171,7 +175,7 @@ msgstr ""
 "Rempli @file{/run/setuid-programs} avec les exécutables\n"
 "spécifiés, en les rendant setuid-root."
 
-#: gnu/services.scm:600
+#: gnu/services.scm:687
 msgid ""
 "This is the @dfn{system profile}, available as\n"
 "@file{/run/current-system/profile}.  It contains packages that the sysadmin\n"
@@ -181,7 +185,7 @@ msgstr ""
 "@file{/run/current-system/profile}. Il contient des paquets que l'administrateur\n"
 "système souhaite rendre disponible à tous les utilisateurs du système."
 
-#: gnu/services.scm:620
+#: gnu/services.scm:707
 msgid ""
 "Make ``firmware'' files loadable by the operating system\n"
 "kernel.  Firmware may then be uploaded to some of the machine's devices, such\n"
@@ -191,7 +195,7 @@ msgstr ""
 "Les micro-logiciels peuvent ensuite être envoyés à certains périphériques de la\n"
 "machine, comme une carte wifi."
 
-#: gnu/services.scm:651
+#: gnu/services.scm:738
 msgid ""
 "Register garbage-collector roots---i.e., store items that\n"
 "will not be reclaimed by the garbage collector."
@@ -199,37 +203,37 @@ msgstr ""
 "Enregistre des racines du ramasse-miettes — c.-à-d. des éléments du\n"
 "dépôt qui ne seront pas glanés par le ramasse-miettes."
 
-#: gnu/services.scm:676
+#: gnu/services.scm:764
 #, scheme-format
 msgid "no target of type '~a' for service '~a'"
 msgstr "pas de cible de type « ~a » pour le service « ~a »"
 
-#: gnu/services.scm:702 gnu/services.scm:805
+#: gnu/services.scm:790 gnu/services.scm:909
 #, scheme-format
 msgid "more than one target service of type '~a'"
 msgstr "plus d'un service cible de type « ~a »"
 
-#: gnu/services.scm:795
+#: gnu/services.scm:899
 #, scheme-format
 msgid "service of type '~a' not found"
 msgstr "service de type « ~a » pas trouvé"
 
-#: gnu/system.scm:335
+#: gnu/system.scm:347
 #, scheme-format
 msgid "unrecognized boot parameters at '~a'~%"
 msgstr "paramètres de démarrage non reconnus dans « ~a »~%"
 
-#: gnu/system.scm:736
+#: gnu/system.scm:772
 #, scheme-format
 msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%"
 msgstr "l'utilisation d'une chaîne pour le fichier « ~a » est obsolète. Utilisez plutôt « plain-file »~%"
 
-#: gnu/system.scm:752
+#: gnu/system.scm:788
 #, scheme-format
 msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%"
 msgstr "l'utilisation d'une valeur monadic pour « ~a » est obsolète. Utilisez plutôt « plain-file »~%"
 
-#: gnu/system.scm:897
+#: gnu/system.scm:938
 #, scheme-format
 msgid "~a: invalid locale name"
 msgstr "~a : nom d'environnement linguistique non valide"
@@ -294,49 +298,49 @@ msgstr "le groupe supplémentaire « ~a » de l'utilisateur « ~a » n'est p
 msgid "primary group '~a' of user '~a' is undeclared"
 msgstr "le groupe primaire « ~a » de l'utilisateur « ~a » n'est pas déclaré"
 
-#: guix/import/opam.scm:133
+#: guix/import/opam.scm:141
 #, scheme-format
 msgid "Package not found in opam repository: ~a~%"
 msgstr "Paquet introuvable dans le dépôt opam : ~a~%"
 
-#: guix/import/opam.scm:344
+#: guix/import/opam.scm:357
 msgid "Updater for OPAM packages"
 msgstr "Logiciel de mise à jour des paquets OPAM"
 
-#: gnu/installer.scm:191
+#: gnu/installer.scm:194
 msgid "Locale"
 msgstr "Paramètres régionaux"
 
-#: gnu/installer.scm:207 gnu/installer/newt/timezone.scm:58
+#: gnu/installer.scm:210 gnu/installer/newt/timezone.scm:58
 msgid "Timezone"
 msgstr "Fuseau horaire"
 
-#: gnu/installer.scm:223
+#: gnu/installer.scm:226
 msgid "Keyboard mapping selection"
 msgstr "Sélection de la disposition du clavier"
 
-#: gnu/installer.scm:232
-msgid "Partitioning"
-msgstr "Partitionnement"
-
-#: gnu/installer.scm:240 gnu/installer/newt/hostname.scm:26
+#: gnu/installer.scm:234 gnu/installer/newt/hostname.scm:26
 msgid "Hostname"
 msgstr "Nom d'hôte"
 
-#: gnu/installer.scm:249
+#: gnu/installer.scm:243
 msgid "Network selection"
 msgstr "Sélection du réseau"
 
-#: gnu/installer.scm:256 gnu/installer/newt/user.scm:65
-#: gnu/installer/newt/user.scm:201
+#: gnu/installer.scm:250 gnu/installer/newt/user.scm:67
+#: gnu/installer/newt/user.scm:203
 msgid "User creation"
 msgstr "Création de l'utilisateur"
 
-#: gnu/installer.scm:264
+#: gnu/installer.scm:258
 msgid "Services"
 msgstr "Services"
 
-#: gnu/installer.scm:271 gnu/installer/newt/final.scm:51
+#: gnu/installer.scm:269
+msgid "Partitioning"
+msgstr "Partitionnement"
+
+#: gnu/installer.scm:276 gnu/installer/newt/final.scm:51
 msgid "Configuration file"
 msgstr "Fichier de configuration"
 
@@ -375,15 +379,15 @@ msgstr "Connexion filaire"
 
 #: gnu/installer/newt/ethernet.scm:81 gnu/installer/newt/keymap.scm:44
 #: gnu/installer/newt/locale.scm:43 gnu/installer/newt/network.scm:63
-#: gnu/installer/newt/network.scm:84 gnu/installer/newt/page.scm:175
-#: gnu/installer/newt/page.scm:508 gnu/installer/newt/page.scm:565
-#: gnu/installer/newt/partition.scm:54 gnu/installer/newt/partition.scm:83
-#: gnu/installer/newt/partition.scm:115 gnu/installer/newt/partition.scm:126
+#: gnu/installer/newt/network.scm:84 gnu/installer/newt/page.scm:177
+#: gnu/installer/newt/page.scm:510 gnu/installer/newt/page.scm:580
+#: gnu/installer/newt/partition.scm:55 gnu/installer/newt/partition.scm:84
+#: gnu/installer/newt/partition.scm:116 gnu/installer/newt/partition.scm:127
 #: gnu/installer/newt/partition.scm:624 gnu/installer/newt/partition.scm:645
-#: gnu/installer/newt/partition.scm:685 gnu/installer/newt/partition.scm:738
-#: gnu/installer/newt/partition.scm:749 gnu/installer/newt/services.scm:85
-#: gnu/installer/newt/timezone.scm:63 gnu/installer/newt/user.scm:200
-#: gnu/installer/newt/wifi.scm:202
+#: gnu/installer/newt/partition.scm:685 gnu/installer/newt/partition.scm:736
+#: gnu/installer/newt/partition.scm:747 gnu/installer/newt/services.scm:85
+#: gnu/installer/newt/timezone.scm:63 gnu/installer/newt/user.scm:202
+#: gnu/installer/newt/wifi.scm:205
 msgid "Exit"
 msgstr "Sortir"
 
@@ -392,31 +396,31 @@ msgstr "Sortir"
 msgid "We're now ready to proceed with the installation! A system configuration file has been generated, it is displayed below.  This file will be available as '~a' on the installed system.  The new system will be created from this file once you've pressed OK.  This will take a few minutes."
 msgstr "Nous sommes maintenant prêts à commencer l'installation ! Un fichier de configuration du système a été généré, il est affiché plus bas. Ce fichier sera disponible dans « ~a » sur le système une fois installé. Le nouveau système sera créé à partir de ce fichier une fois que vous aurez appuyé sur OK. Cela prendra quelques minutes."
 
-#: gnu/installer/newt/final.scm:64
+#: gnu/installer/newt/final.scm:66
 msgid "Installation complete"
 msgstr "Installation terminée"
 
-#: gnu/installer/newt/final.scm:65 gnu/installer/newt/welcome.scm:115
+#: gnu/installer/newt/final.scm:67 gnu/installer/newt/welcome.scm:115
 msgid "Reboot"
 msgstr "Redémarrer"
 
-#: gnu/installer/newt/final.scm:66
+#: gnu/installer/newt/final.scm:68
 msgid "Congratulations!  Installation is now complete.  You may remove the device containing the installation image and press the button to reboot."
 msgstr "Félicitations ! L'installation est maintenant terminée. Vous pouvez retirer le périphérique contenant l'image d'installation et appuyer sur le bouton pour redémarrer."
 
-#: gnu/installer/newt/final.scm:75
+#: gnu/installer/newt/final.scm:77
 msgid "Installation failed"
 msgstr "Installation échouée"
 
-#: gnu/installer/newt/final.scm:76
+#: gnu/installer/newt/final.scm:78
 msgid "Restart installer"
 msgstr "Redémarrer l'installateur"
 
-#: gnu/installer/newt/final.scm:77
+#: gnu/installer/newt/final.scm:79
 msgid "Retry system install"
 msgstr "Réessayer l'installation du système"
 
-#: gnu/installer/newt/final.scm:78
+#: gnu/installer/newt/final.scm:80
 msgid "The final system installation step failed.  You can retry the last step, or restart the installer."
 msgstr "La dernière étape de l'installation du système a échouée. Vous pouvez réessayer la dernière étape ou redémarrer l'installateur."
 
@@ -442,7 +446,7 @@ msgstr "Choisissez une variante pour la disposition de votre clavier."
 
 #: gnu/installer/newt/keymap.scm:59 gnu/installer/newt/locale.scm:63
 #: gnu/installer/newt/locale.scm:78 gnu/installer/newt/locale.scm:94
-#: gnu/installer/newt/partition.scm:580 gnu/installer/newt/timezone.scm:64
+#: gnu/installer/newt/partition.scm:581 gnu/installer/newt/timezone.scm:64
 msgid "Back"
 msgstr "Retour"
 
@@ -502,12 +506,12 @@ msgstr "Annuler"
 msgid "Internet access"
 msgstr "Accès internet"
 
-#: gnu/installer/newt/network.scm:62 gnu/installer/newt/page.scm:174
+#: gnu/installer/newt/network.scm:62 gnu/installer/newt/page.scm:176
 msgid "Continue"
 msgstr "Continuer"
 
 #: gnu/installer/newt/network.scm:64
-msgid "The install process requires Internet access but no network device were found. Do you want to continue anyway?"
+msgid "The install process requires Internet access but no network devices were found. Do you want to continue anyway?"
 msgstr "Le processus d'installation a besoin d'un accès à internet mais aucun périphérique réseau n'a été trouvé. Voulez-vous tout de même continuer ?"
 
 #: gnu/installer/newt/network.scm:78
@@ -535,211 +539,215 @@ msgstr "Attente de l'accès internet…"
 msgid "The selected network does not provide access to the Internet, please try again."
 msgstr "Le réseau sélectionné ne fournit pas d'accès à internet, réessayez."
 
-#: gnu/installer/newt/network.scm:137 gnu/installer/newt/wifi.scm:106
+#: gnu/installer/newt/network.scm:137 gnu/installer/newt/wifi.scm:108
 msgid "Connection error"
 msgstr "Erreur à la connexion"
 
-#: gnu/installer/newt/page.scm:71
+#: gnu/installer/newt/page.scm:72
 #, scheme-format
 msgid "Connecting to ~a, please wait."
 msgstr "Connexion à ~a, patientez."
 
-#: gnu/installer/newt/page.scm:72
+#: gnu/installer/newt/page.scm:73
 msgid "Connection in progress"
 msgstr "Connexion en cours"
 
-#: gnu/installer/newt/page.scm:91 gnu/installer/newt/user.scm:58
-msgid "Hide"
-msgstr "Cacher"
+#: gnu/installer/newt/page.scm:92 gnu/installer/newt/user.scm:59
+msgid "Show"
+msgstr "Montrer"
 
-#: gnu/installer/newt/page.scm:97 gnu/installer/newt/page.scm:507
-#: gnu/installer/newt/page.scm:564 gnu/installer/newt/partition.scm:443
+#: gnu/installer/newt/page.scm:99 gnu/installer/newt/page.scm:509
+#: gnu/installer/newt/page.scm:579 gnu/installer/newt/partition.scm:444
 #: gnu/installer/newt/partition.scm:623 gnu/installer/newt/partition.scm:644
-#: gnu/installer/newt/partition.scm:683 gnu/installer/newt/user.scm:63
-#: gnu/installer/newt/user.scm:199
+#: gnu/installer/newt/partition.scm:683 gnu/installer/newt/user.scm:65
+#: gnu/installer/newt/user.scm:201
 msgid "OK"
 msgstr "OK"
 
-#: gnu/installer/newt/page.scm:123
+#: gnu/installer/newt/page.scm:125
 msgid "Please enter a non empty input."
 msgstr "Saisissez une valeur non vide."
 
-#: gnu/installer/newt/page.scm:124 gnu/installer/newt/user.scm:119
+#: gnu/installer/newt/page.scm:126 gnu/installer/newt/user.scm:121
 msgid "Empty input"
 msgstr "Valeur vide"
 
-#: gnu/installer/newt/partition.scm:45
+#: gnu/installer/newt/page.scm:582
+msgid "Edit"
+msgstr "Modifier"
+
+#: gnu/installer/newt/partition.scm:46
 msgid "Everything is one partition"
 msgstr "Tout sur une partition"
 
-#: gnu/installer/newt/partition.scm:46
+#: gnu/installer/newt/partition.scm:47
 msgid "Separate /home partition"
 msgstr "Partition /home séparée"
 
-#: gnu/installer/newt/partition.scm:48
+#: gnu/installer/newt/partition.scm:49
 msgid "Please select a partitioning scheme."
 msgstr "Sélectionnez un schéma de partitionnement."
 
-#: gnu/installer/newt/partition.scm:49
+#: gnu/installer/newt/partition.scm:50
 msgid "Partition scheme"
 msgstr "Schéma de partitionnement"
 
-#: gnu/installer/newt/partition.scm:61
+#: gnu/installer/newt/partition.scm:62
 msgid "We are about to format your hard disk.  All its data will be lost.  Do you wish to continue?"
 msgstr "Nous allons formater votre disque dur. Toutes les données seront perdues. Voulez-vous continuer ?"
 
-#: gnu/installer/newt/partition.scm:63
+#: gnu/installer/newt/partition.scm:64
 msgid "Format disk?"
 msgstr "Formater le disque ?"
 
-#: gnu/installer/newt/partition.scm:66
+#: gnu/installer/newt/partition.scm:67
 msgid "Partition formatting is in progress, please wait."
 msgstr "Formatage du disque en cours, patientez."
 
-#: gnu/installer/newt/partition.scm:67
+#: gnu/installer/newt/partition.scm:68
 msgid "Preparing partitions"
 msgstr "Préparation des partitions"
 
-#: gnu/installer/newt/partition.scm:78
+#: gnu/installer/newt/partition.scm:79
 msgid "Please select a disk."
 msgstr "Sélectionnez un disque."
 
-#: gnu/installer/newt/partition.scm:79
+#: gnu/installer/newt/partition.scm:80
 msgid "Disk"
 msgstr "Disque"
 
-#: gnu/installer/newt/partition.scm:91
+#: gnu/installer/newt/partition.scm:92
 msgid "Select a new partition table type. Be careful, all data on the disk will be lost."
 msgstr "Sélectionnez un nouveau type de table des partitions. Soyez prudent, toutes les données sur le disque seront perdues."
 
-#: gnu/installer/newt/partition.scm:93
+#: gnu/installer/newt/partition.scm:94
 msgid "Partition table"
 msgstr "Table des partitions"
 
-#: gnu/installer/newt/partition.scm:110
+#: gnu/installer/newt/partition.scm:111
 msgid "Please select a partition type."
 msgstr "Sélectionnez un type de partition."
 
-#: gnu/installer/newt/partition.scm:111
+#: gnu/installer/newt/partition.scm:112
 msgid "Partition type"
 msgstr "Type de partition"
 
-#: gnu/installer/newt/partition.scm:121
+#: gnu/installer/newt/partition.scm:122
 msgid "Please select the file-system type for this partition."
 msgstr "Sélectionnez le type de système de fichier pour cette partition."
 
-#: gnu/installer/newt/partition.scm:122
+#: gnu/installer/newt/partition.scm:123
 msgid "File-system type"
 msgstr "Type de système de fichier"
 
-#: gnu/installer/newt/partition.scm:135
+#: gnu/installer/newt/partition.scm:136
 msgid "Primary partitions count exceeded."
 msgstr "Nombre maximal de partitions primaires dépassé."
 
-#: gnu/installer/newt/partition.scm:136 gnu/installer/newt/partition.scm:141
-#: gnu/installer/newt/partition.scm:146
+#: gnu/installer/newt/partition.scm:137 gnu/installer/newt/partition.scm:142
+#: gnu/installer/newt/partition.scm:147
 msgid "Creation error"
 msgstr "Erreur à la création"
 
-#: gnu/installer/newt/partition.scm:140
+#: gnu/installer/newt/partition.scm:141
 msgid "Extended partition creation error."
 msgstr "Erreur à la création d'une partition étendue."
 
-#: gnu/installer/newt/partition.scm:145
+#: gnu/installer/newt/partition.scm:146
 msgid "Logical partition creation error."
 msgstr "Erreur à la création d'une partition logique."
 
-#: gnu/installer/newt/partition.scm:159
+#: gnu/installer/newt/partition.scm:160
 #, scheme-format
 msgid "Please enter the password for the encryption of partition ~a (label: ~a)."
 msgstr "Saisissez le mot de passe pour le chiffrement de la partition ~a (étiquette : ~a)."
 
-#: gnu/installer/newt/partition.scm:161 gnu/installer/newt/wifi.scm:91
+#: gnu/installer/newt/partition.scm:162 gnu/installer/newt/wifi.scm:92
 msgid "Password required"
 msgstr "Mot de passe requis"
 
-#: gnu/installer/newt/partition.scm:166
+#: gnu/installer/newt/partition.scm:167
 #, scheme-format
 msgid "Please confirm the password for the encryption of partition ~a (label: ~a)."
 msgstr "Confirmez le mot de passe pour le chiffrement de la partition ~a (étiquette : ~a)."
 
-#: gnu/installer/newt/partition.scm:168 gnu/installer/newt/user.scm:156
+#: gnu/installer/newt/partition.scm:169 gnu/installer/newt/user.scm:158
 msgid "Password confirmation required"
 msgstr "Confirmation du mot de passe requise"
 
-#: gnu/installer/newt/partition.scm:180 gnu/installer/newt/user.scm:164
+#: gnu/installer/newt/partition.scm:181 gnu/installer/newt/user.scm:166
 msgid "Password mismatch, please try again."
 msgstr "Les mots de passe sont différents, réessayez."
 
-#: gnu/installer/newt/partition.scm:181 gnu/installer/newt/user.scm:165
+#: gnu/installer/newt/partition.scm:182 gnu/installer/newt/user.scm:167
 msgid "Password error"
 msgstr "Erreur de mot de passe"
 
-#: gnu/installer/newt/partition.scm:267
+#: gnu/installer/newt/partition.scm:268
 msgid "Please enter the partition gpt name."
 msgstr "Saisissez le nom gpt de la partition."
 
-#: gnu/installer/newt/partition.scm:268
+#: gnu/installer/newt/partition.scm:269
 msgid "Partition name"
 msgstr "Nom de la partition"
 
-#: gnu/installer/newt/partition.scm:298
+#: gnu/installer/newt/partition.scm:299
 msgid "Please enter the encrypted label"
 msgstr "Saisissez l'étiquette chiffrée"
 
-#: gnu/installer/newt/partition.scm:299
+#: gnu/installer/newt/partition.scm:300
 msgid "Encryption label"
 msgstr "Étiquette de chiffrement"
 
-#: gnu/installer/newt/partition.scm:316
+#: gnu/installer/newt/partition.scm:317
 #, scheme-format
 msgid "Please enter the size of the partition. The maximum size is ~a."
 msgstr "Saisissez la taille de la partition. La taille maximale est de ~a."
 
-#: gnu/installer/newt/partition.scm:318
+#: gnu/installer/newt/partition.scm:319
 msgid "Partition size"
 msgstr "Taille de la partition"
 
-#: gnu/installer/newt/partition.scm:336
+#: gnu/installer/newt/partition.scm:337
 msgid "The percentage can not be superior to 100."
 msgstr "Le pourcentage ne peut être supérieur à 100."
 
-#: gnu/installer/newt/partition.scm:337 gnu/installer/newt/partition.scm:342
-#: gnu/installer/newt/partition.scm:347
+#: gnu/installer/newt/partition.scm:338 gnu/installer/newt/partition.scm:343
+#: gnu/installer/newt/partition.scm:348
 msgid "Size error"
 msgstr "Erreur de taille"
 
-#: gnu/installer/newt/partition.scm:341
+#: gnu/installer/newt/partition.scm:342
 msgid "The requested size is incorrectly formatted, or too large."
 msgstr "La taille demandée est mal formatée ou trop grande."
 
-#: gnu/installer/newt/partition.scm:346
+#: gnu/installer/newt/partition.scm:347
 msgid "The request size is superior to the maximum size."
 msgstr "La taille demandée est supérieure à la taille maximale."
 
-#: gnu/installer/newt/partition.scm:366
+#: gnu/installer/newt/partition.scm:367
 msgid "Please enter the desired mounting point for this partition. Leave this field empty if you don't want to set a mounting point."
 msgstr "Saisissez le point de montage souhaité pour cette partition. Laissez ce champ vide si vous ne voulez pas indiquer de point de montage."
 
-#: gnu/installer/newt/partition.scm:368
+#: gnu/installer/newt/partition.scm:369
 msgid "Mounting point"
 msgstr "Point de montage"
 
-#: gnu/installer/newt/partition.scm:432
+#: gnu/installer/newt/partition.scm:433
 #, scheme-format
 msgid "Creating ~a partition starting at ~a of ~a."
 msgstr "Création d'une partition de type ~a qui commence à ~a octets sur ~a."
 
-#: gnu/installer/newt/partition.scm:434
+#: gnu/installer/newt/partition.scm:435
 #, scheme-format
 msgid "You are currently editing partition ~a."
 msgstr "Vous modifiez actuellement la partition ~a."
 
-#: gnu/installer/newt/partition.scm:437
+#: gnu/installer/newt/partition.scm:438
 msgid "Partition creation"
 msgstr "Création de la partition"
 
-#: gnu/installer/newt/partition.scm:438
+#: gnu/installer/newt/partition.scm:439
 msgid "Partition edit"
 msgstr "Modification de la partition"
 
@@ -796,23 +804,23 @@ msgstr "Pas de point de montage pour la racine."
 msgid "Missing mount point"
 msgstr "Point de montage absent"
 
-#: gnu/installer/newt/partition.scm:728
+#: gnu/installer/newt/partition.scm:726
 msgid "Guided - using the entire disk"
 msgstr "Guidée — utilise le disque complet"
 
-#: gnu/installer/newt/partition.scm:729
+#: gnu/installer/newt/partition.scm:727
 msgid "Guided - using the entire disk with encryption"
 msgstr "Guidée — utiliser le disque complet avec chiffrement"
 
-#: gnu/installer/newt/partition.scm:730
+#: gnu/installer/newt/partition.scm:728
 msgid "Manual"
 msgstr "Manuelle"
 
-#: gnu/installer/newt/partition.scm:732
+#: gnu/installer/newt/partition.scm:730
 msgid "Please select a partitioning method."
 msgstr "Sélectionnez une méthode de partitionnement."
 
-#: gnu/installer/newt/partition.scm:733
+#: gnu/installer/newt/partition.scm:731
 msgid "Partitioning method"
 msgstr "Méthode de partitionnement"
 
@@ -850,55 +858,57 @@ msgstr ""
 msgid "Please select a timezone."
 msgstr "Sélectionnez un fuseau horaire."
 
-#: gnu/installer/newt/user.scm:43
+#: gnu/installer/newt/user.scm:44
 msgid "Name"
 msgstr "Nom"
 
-#: gnu/installer/newt/user.scm:45
+#: gnu/installer/newt/user.scm:46
 msgid "Real name"
 msgstr "Nom réel"
 
-#: gnu/installer/newt/user.scm:47
+#: gnu/installer/newt/user.scm:48
 msgid "Home directory"
 msgstr "Répertoire personnel"
 
-#: gnu/installer/newt/user.scm:49
+#: gnu/installer/newt/user.scm:50
 msgid "Password"
 msgstr "Mot de passe"
 
-#: gnu/installer/newt/user.scm:118
+#: gnu/installer/newt/user.scm:120
 msgid "Empty inputs are not allowed."
 msgstr "Les valeurs vides ne sont pas permises."
 
-#: gnu/installer/newt/user.scm:155
+#: gnu/installer/newt/user.scm:157
 msgid "Please confirm the password."
 msgstr "Confirmez le mot de passe."
 
-#: gnu/installer/newt/user.scm:172
+#. TRANSLATORS: Leave "root" untranslated: it refers to the name of the
+#. system administrator account.
+#: gnu/installer/newt/user.scm:174
 msgid "Please choose a password for the system administrator (\"root\")."
 msgstr "Sélectionnez un mot de passe pour l'administrateur système (« root »)."
 
-#: gnu/installer/newt/user.scm:174
+#: gnu/installer/newt/user.scm:176
 msgid "System administrator password"
 msgstr "Mot de passe de l'administrateur système"
 
-#: gnu/installer/newt/user.scm:187
+#: gnu/installer/newt/user.scm:189
 msgid "Please add at least one user to system using the 'Add' button."
 msgstr "Ajoutez au moins un utilisateur au système avec le bouton « Ajouter »."
 
-#: gnu/installer/newt/user.scm:190
+#: gnu/installer/newt/user.scm:192
 msgid "Add"
 msgstr "Ajouter"
 
-#: gnu/installer/newt/user.scm:191
+#: gnu/installer/newt/user.scm:193
 msgid "Delete"
 msgstr "Supprimer"
 
-#: gnu/installer/newt/user.scm:250
+#: gnu/installer/newt/user.scm:252
 msgid "Please create at least one user."
 msgstr "Définissez au moins un utilisateur."
 
-#: gnu/installer/newt/user.scm:251
+#: gnu/installer/newt/user.scm:253
 msgid "No user"
 msgstr "Aucun utilisateur"
 
@@ -929,53 +939,53 @@ msgstr "Installation graphique avec une interface orientée terminal"
 msgid "Install using the shell based process"
 msgstr "Installation avec un processus orienté shell"
 
-#: gnu/installer/newt/wifi.scm:81
+#: gnu/installer/newt/wifi.scm:82
 msgid "Unable to find a wifi technology"
 msgstr "Impossible de trouver un périphérique wifi"
 
-#: gnu/installer/newt/wifi.scm:85
+#: gnu/installer/newt/wifi.scm:86
 msgid "Scanning wifi for available networks, please wait."
 msgstr "Scan des réseaux wifi disponible, patientez."
 
-#: gnu/installer/newt/wifi.scm:86
+#: gnu/installer/newt/wifi.scm:87
 msgid "Scan in progress"
 msgstr "Scan en cours"
 
-#: gnu/installer/newt/wifi.scm:90
+#: gnu/installer/newt/wifi.scm:91
 msgid "Please enter the wifi password."
 msgstr "Saisissez le mot de passe wifi."
 
-#: gnu/installer/newt/wifi.scm:96
+#: gnu/installer/newt/wifi.scm:98
 #, scheme-format
 msgid "The password you entered for ~a is incorrect."
 msgstr "Le mot de passe que vous avez saisi pour ~a est incorrect."
 
-#: gnu/installer/newt/wifi.scm:98
+#: gnu/installer/newt/wifi.scm:100
 msgid "Wrong password"
 msgstr "Mauvais mot de passe"
 
-#: gnu/installer/newt/wifi.scm:104
+#: gnu/installer/newt/wifi.scm:106
 #, scheme-format
 msgid "An error occurred while trying to connect to ~a, please retry."
 msgstr "Une erreur est survenue lors de la tentative de connexion à ~a, réessayez."
 
-#: gnu/installer/newt/wifi.scm:197
+#: gnu/installer/newt/wifi.scm:200
 msgid "Please select a wifi network."
 msgstr "Sélectionnez un réseau wifi."
 
-#: gnu/installer/newt/wifi.scm:203
+#: gnu/installer/newt/wifi.scm:206
 msgid "Scan"
 msgstr "Scan"
 
-#: gnu/installer/newt/wifi.scm:208
+#: gnu/installer/newt/wifi.scm:211
 msgid "No wifi detected"
 msgstr "Aucun réseau wifi détecté"
 
-#: gnu/installer/newt/wifi.scm:223
+#: gnu/installer/newt/wifi.scm:226
 msgid "Wifi"
 msgstr "Wifi"
 
-#: gnu/installer/parted.scm:428 gnu/installer/parted.scm:465
+#: gnu/installer/parted.scm:395 gnu/installer/parted.scm:432
 msgid "Free space"
 msgstr "Espace libre"
 
@@ -984,27 +994,27 @@ msgstr "Espace libre"
 msgid "Device ~a is still in use."
 msgstr "Le périphérique ~a est toujours utilisé."
 
-#: gnu/installer/services.scm:85
+#: gnu/installer/services.scm:88
 msgid "OpenSSH secure shell daemon (sshd)"
 msgstr "Démon de shell sécurisé OpenSSH (sshd)"
 
-#: gnu/installer/services.scm:89
+#: gnu/installer/services.scm:92
 msgid "Tor anonymous network router"
 msgstr "Réseau anonyme Tor"
 
-#: gnu/installer/services.scm:93
+#: gnu/installer/services.scm:96
 msgid "Mozilla NSS certificates, for HTTPS access"
 msgstr "Certificats NSS de Mozilla, pour l'accès HTTPS"
 
-#: gnu/installer/services.scm:100
+#: gnu/installer/services.scm:103
 msgid "NetworkManager network connection manager"
 msgstr "Gestionnaire de connexions réseaux NetworkManager"
 
-#: gnu/installer/services.scm:105
+#: gnu/installer/services.scm:108
 msgid "Connman network connection manager"
 msgstr "Gestionnaire de connexions réseaux Connman"
 
-#: gnu/installer/services.scm:110
+#: gnu/installer/services.scm:113
 msgid "DHCP client (dynamic IP address assignment)"
 msgstr "Client DHCP (affectation dynamique d'adresse IP)"
 
@@ -1023,16 +1033,92 @@ msgstr "Appuyez sur Entrée pour continuer.~%"
 msgid "Command failed with exit code ~a.~%"
 msgstr "La commande a échouée avec le code ~a.~%"
 
+#: gnu/machine/ssh.scm:106
+#, scheme-format
+msgid "<machine-ssh-configuration> without a 'host-key' is deprecated~%"
+msgstr "<machine-ssh-configuration> sans « host-key » est obsolète~%"
+
+#: gnu/machine/ssh.scm:169
+#, scheme-format
+msgid "device '~a' not found: ~a"
+msgstr "périphérique « ~a » non trouvé : ~a"
+
+#: gnu/machine/ssh.scm:187
+#, scheme-format
+msgid "no file system with label '~a'"
+msgstr "aucun système de fichier étiqueté « ~a »"
+
+#: gnu/machine/ssh.scm:210
+#, scheme-format
+msgid "no file system with UUID '~a'"
+msgstr "aucun système de fichier avec l'UUID « ~a »"
+
+#: gnu/machine/ssh.scm:267
+#, scheme-format
+msgid "~a missing modules ~{ ~a~}~%"
+msgstr "~a modules manquants ~{ ~a~}~%"
+
+#: gnu/machine/ssh.scm:283
+#, scheme-format
+msgid "incorrect target system ('~a' was given, while the system reports that it is '~a')~%"
+msgstr "système cible incorrect (« ~a » donné, alors que le système rapporte qu'il est un « ~a »)~%"
+
+#: gnu/machine/ssh.scm:383
+#, scheme-format
+msgid "no signing key '~a'. have you run 'guix archive --generate-key?'"
+msgstr "pas de clef de signature « ~a ». Avez--vous lancé « guix archive --generate-key » ?"
+
+#: gnu/machine/ssh.scm:434
+msgid "could not roll-back machine"
+msgstr "impossible de faire revenir la machine en arrière"
+
+#: gnu/machine/ssh.scm:466
+msgid ""
+"Provisioning for machines that are accessible over SSH\n"
+"and have a known host-name. This entails little more than maintaining an SSH\n"
+"connection to the host."
+msgstr ""
+"Provisionnement pour les machines accessibles en SSH et qui\n"
+"ont un nom d'hôte connu. Cela nécessite à peine plus que de\n"
+"maintenir une connexion SSH à l'hôte"
+
+#: gnu/machine/ssh.scm:478
+#, scheme-format
+msgid ""
+"unsupported machine configuration '~a'\n"
+"for environment of type '~a'"
+msgstr ""
+"configuration de machine « ~a » non prise en charge\n"
+"pour l'environnement de type « ~a »"
+
+#: gnu/packages/bootstrap.scm:137
+#, scheme-format
+msgid "could not find bootstrap binary '~a' for system '~a'"
+msgstr "impossible de trouver le binaire d'initialisation « ~a » pour le système « ~a »"
+
+#: gnu/packages/bootstrap.scm:436
+msgid "Raw build system with direct store access"
+msgstr "Système de construction brut avec un accès direct au dépôt"
+
+#: gnu/packages/bootstrap.scm:444
+msgid "Pre-built Guile for bootstrapping purposes."
+msgstr "Guile pré-construit pour le bootstrap."
+
+#: guix/build/utils.scm:713
+#, scheme-format
+msgid "'~a~{ ~a~}' exited with status ~a; output follows:~%~%~{  ~a~%~}"
+msgstr "« ~a~{ ~a~} » a quitté avec le statut ~a ; la sortie est la suivante :~%~%~{  ~a~%~}"
+
 #: guix/scripts.scm:61
 #, scheme-format
 msgid "invalid argument: ~a~%"
 msgstr "argument non valide : ~a~%"
 
-#: guix/scripts.scm:89 guix/scripts/download.scm:135
-#: guix/scripts/search.scm:60 guix/scripts/import/cran.scm:84
-#: guix/scripts/import/elpa.scm:85 guix/scripts/publish.scm:888
-#: guix/scripts/edit.scm:79 guix/scripts/describe.scm:205
-#: guix/scripts/processes.scm:230
+#: guix/scripts.scm:89 guix/scripts/download.scm:150
+#: guix/scripts/search.scm:69 guix/scripts/show.scm:69
+#: guix/scripts/import/cran.scm:84 guix/scripts/import/elpa.scm:84
+#: guix/scripts/publish.scm:1020 guix/scripts/edit.scm:87
+#: guix/scripts/describe.scm:258 guix/scripts/processes.scm:230
 #, scheme-format
 msgid "~A: unrecognized option~%"
 msgstr "~A : option non reconnue~%"
@@ -1094,7 +1180,12 @@ msgstr "spécification de remplacement invalide : ~s~%"
 msgid "the source of ~a is not a Git reference~%"
 msgstr "la source de ~a n'est pas une référence Git~%"
 
-#: guix/scripts/build.scm:417
+#: guix/scripts/build.scm:380
+#, scheme-format
+msgid "~a: invalid Git URL replacement specification~%"
+msgstr "~a : spécification d'URL Git de remplacement invalide~%"
+
+#: guix/scripts/build.scm:425
 msgid ""
 "\n"
 "      --with-source=SOURCE\n"
@@ -1104,7 +1195,7 @@ msgstr ""
 "      --with-source=SOURCE\n"
 "                         utiliser la SOURCE donnée pour compiler le paquet correspondant"
 
-#: guix/scripts/build.scm:420
+#: guix/scripts/build.scm:428
 msgid ""
 "\n"
 "      --with-input=PACKAGE=REPLACEMENT\n"
@@ -1114,7 +1205,7 @@ msgstr ""
 "      --with-input=PAQUET=REMPLACEMENT\n"
 "                         remplacer le paquet de dépendance PAQUET par REMPLACEMENT"
 
-#: guix/scripts/build.scm:423
+#: guix/scripts/build.scm:431
 msgid ""
 "\n"
 "      --with-graft=PACKAGE=REPLACEMENT\n"
@@ -1124,7 +1215,7 @@ msgstr ""
 "      --with-graft=PAQUET=REMPLACEMENT\n"
 "                         greffer le paquet REMPLACEMENT sur les paquets qui font référence à PAQUET"
 
-#: guix/scripts/build.scm:426
+#: guix/scripts/build.scm:434
 msgid ""
 "\n"
 "      --with-branch=PACKAGE=BRANCH\n"
@@ -1134,7 +1225,7 @@ msgstr ""
 "      --with-branch=PAQUET=BRANCHE\n"
 "                         construit le PAQUET à partir du dernier commit de la BRANCHE"
 
-#: guix/scripts/build.scm:429
+#: guix/scripts/build.scm:437
 msgid ""
 "\n"
 "      --with-commit=PACKAGE=COMMIT\n"
@@ -1144,7 +1235,7 @@ msgstr ""
 "      --with-commit=PAQUET=COMMIT\n"
 "                         construit le PAQUET à partir du COMMIT"
 
-#: guix/scripts/build.scm:432
+#: guix/scripts/build.scm:440
 msgid ""
 "\n"
 "      --with-git-url=PACKAGE=URL\n"
@@ -1154,12 +1245,14 @@ msgstr ""
 "      --with-git-url=PAQUET=URL\n"
 "                         construit le PAQUET à partir de l'URL du dépôt"
 
-#: guix/scripts/build.scm:463
+#: guix/scripts/build.scm:471
 #, scheme-format
 msgid "transformation '~a' had no effect on ~a~%"
 msgstr "la transformation « ~a » n'a pas d'effet sur ~a~%"
 
-#: guix/scripts/build.scm:481
+#: guix/scripts/build.scm:489 guix/scripts/search.scm:41
+#: guix/scripts/show.scm:41 guix/scripts/lint.scm:98 guix/scripts/edit.scm:48
+#: guix/scripts/size.scm:246 guix/scripts/graph.scm:509
 msgid ""
 "\n"
 "  -L, --load-path=DIR    prepend DIR to the package module search path"
@@ -1167,7 +1260,7 @@ msgstr ""
 "\n"
 "  -L, --load-path=REP    préfixer le chemin de recherche par REP"
 
-#: guix/scripts/build.scm:483
+#: guix/scripts/build.scm:491
 msgid ""
 "\n"
 "  -K, --keep-failed      keep build tree of failed builds"
@@ -1175,7 +1268,7 @@ msgstr ""
 "\n"
 "  -K, --keep-failed      garder l'arbre de compilation pour les compilations ayant échoué"
 
-#: guix/scripts/build.scm:485
+#: guix/scripts/build.scm:493
 msgid ""
 "\n"
 "  -k, --keep-going       keep going when some of the derivations fail"
@@ -1183,7 +1276,7 @@ msgstr ""
 "\n"
 "  -k, --keep-going       continuer si certaines dérivations échouent"
 
-#: guix/scripts/build.scm:487
+#: guix/scripts/build.scm:495
 msgid ""
 "\n"
 "  -n, --dry-run          do not build the derivations"
@@ -1191,7 +1284,7 @@ msgstr ""
 "\n"
 "  -n, --dry-run          ne pas compiler les dérivations"
 
-#: guix/scripts/build.scm:489
+#: guix/scripts/build.scm:497
 msgid ""
 "\n"
 "      --fallback         fall back to building when the substituter fails"
@@ -1199,7 +1292,7 @@ msgstr ""
 "\n"
 "      --fallback         revenir à la compilation quand le substitut échoue"
 
-#: guix/scripts/build.scm:491
+#: guix/scripts/build.scm:499
 msgid ""
 "\n"
 "      --no-substitutes   build instead of resorting to pre-built substitutes"
@@ -1207,7 +1300,7 @@ msgstr ""
 "\n"
 "      --no-substitutes   compiler plutôt que recourir à des substituts pré-compilés"
 
-#: guix/scripts/build.scm:493 guix/scripts/size.scm:233
+#: guix/scripts/build.scm:501 guix/scripts/size.scm:235
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
@@ -1217,7 +1310,7 @@ msgstr ""
 "      --substitute-urls=URLS\n"
 "                         récupérer les substituts depuis les URLS si elles sont autorisées"
 
-#: guix/scripts/build.scm:496
+#: guix/scripts/build.scm:504
 msgid ""
 "\n"
 "      --no-grafts        do not graft packages"
@@ -1225,15 +1318,15 @@ msgstr ""
 "\n"
 "      --no-grafts        ne pas greffer les paquets"
 
-#: guix/scripts/build.scm:498
+#: guix/scripts/build.scm:506
 msgid ""
 "\n"
-"      --no-build-hook    do not attempt to offload builds via the build hook"
+"      --no-offload       do not attempt to offload builds"
 msgstr ""
 "\n"
-"      --no-build-hook    ne pas essayer de décharger les compilations via le hook de compilation"
+"      --no-offload       ne pas essayer de décharger les compilations"
 
-#: guix/scripts/build.scm:500
+#: guix/scripts/build.scm:508
 msgid ""
 "\n"
 "      --max-silent-time=SECONDS\n"
@@ -1243,7 +1336,7 @@ msgstr ""
 "      --max-silent-time=N\n"
 "                         marquer la compilation comme ayant échouée après N secondes de silence"
 
-#: guix/scripts/build.scm:503
+#: guix/scripts/build.scm:511
 msgid ""
 "\n"
 "      --timeout=SECONDS  mark the build as failed after SECONDS of activity"
@@ -1251,7 +1344,7 @@ msgstr ""
 "\n"
 "      --timeout=N        marquer la compilation comme ayant échouée après N secondes d'activité"
 
-#: guix/scripts/build.scm:505
+#: guix/scripts/build.scm:513
 msgid ""
 "\n"
 "      --rounds=N         build N times in a row to detect non-determinism"
@@ -1259,7 +1352,7 @@ msgstr ""
 "\n"
 "      --rounds=N         compiler N fois de suite pour détecter les non déterminismes"
 
-#: guix/scripts/build.scm:507
+#: guix/scripts/build.scm:515
 msgid ""
 "\n"
 "  -c, --cores=N          allow the use of up to N CPU cores for the build"
@@ -1267,7 +1360,7 @@ msgstr ""
 "\n"
 "  -c, --cores=N          utiliser jusqu'à N cœurs CPU pour la compilation"
 
-#: guix/scripts/build.scm:509
+#: guix/scripts/build.scm:517
 msgid ""
 "\n"
 "  -M, --max-jobs=N       allow at most N build jobs"
@@ -1275,7 +1368,7 @@ msgstr ""
 "\n"
 "  -M, --max-jobs=N       autoriser au plus N tâches de compilation"
 
-#: guix/scripts/build.scm:511
+#: guix/scripts/build.scm:519
 msgid ""
 "\n"
 "      --debug=LEVEL      produce debugging output at LEVEL"
@@ -1283,12 +1376,21 @@ msgstr ""
 "\n"
 "      --debug=NIVEAU     produire une sortie de débogage à ce NIVEAU"
 
-#: guix/scripts/build.scm:621 guix/scripts/build.scm:628
+#: guix/scripts/build.scm:536
+msgid "'--keep-failed' ignored since you are talking to a remote daemon\n"
+msgstr "« --keep-failed » ignoré car vous parlez à un démon distant\n"
+
+#: guix/scripts/build.scm:617
+#, scheme-format
+msgid "'--no-build-hook' is deprecated; use '--no-offload' instead~%"
+msgstr "« --no-build-hook » est obsolète ; utilisez plutôt « --no-offload »~%"
+
+#: guix/scripts/build.scm:647 guix/scripts/build.scm:654
 #, scheme-format
 msgid "not a number: '~a' option argument: ~a~%"
 msgstr "pas un nombre: argument d'option « ~a » : ~a~%"
 
-#: guix/scripts/build.scm:649
+#: guix/scripts/build.scm:675
 msgid ""
 "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n"
 "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"
@@ -1296,7 +1398,7 @@ msgstr ""
 "Usage: guix build [OPTION]... PAQUET-OU-DERIVATION...\n"
 "Compiler le PAQUET-OU-DERIVATION donné et retourner leurs chemins de sortie.\n"
 
-#: guix/scripts/build.scm:651
+#: guix/scripts/build.scm:677
 msgid ""
 "\n"
 "  -e, --expression=EXPR  build the package or derivation EXPR evaluates to"
@@ -1304,7 +1406,7 @@ msgstr ""
 "\n"
 "  -e, --expression=EXPR  compiler le paquet ou la dérivation évalué par EXPR"
 
-#: guix/scripts/build.scm:653
+#: guix/scripts/build.scm:679
 msgid ""
 "\n"
 "  -f, --file=FILE        build the package or derivation that the code within\n"
@@ -1314,7 +1416,7 @@ msgstr ""
 "  -f, --file=FICHIER     compiler le paquet ou la dérivation qui est évaluée\n"
 "                         par le code dans FICHIER"
 
-#: guix/scripts/build.scm:656
+#: guix/scripts/build.scm:682
 msgid ""
 "\n"
 "  -S, --source           build the packages' source derivations"
@@ -1322,7 +1424,7 @@ msgstr ""
 "\n"
 "  -S, --source           compiler les dérivations de source du paquet"
 
-#: guix/scripts/build.scm:658
+#: guix/scripts/build.scm:684
 msgid ""
 "\n"
 "      --sources[=TYPE]   build source derivations; TYPE may optionally be one\n"
@@ -1332,8 +1434,8 @@ msgstr ""
 "      --sources[=TYPE]   compiler les dérivations sources. TYPE peut optionnellement\n"
 "                         être « package », « all » (défaut) ou « transitive »"
 
-#: guix/scripts/build.scm:661 guix/scripts/pull.scm:97
-#: guix/scripts/pack.scm:754
+#: guix/scripts/build.scm:687 guix/scripts/pull.scm:114
+#: guix/scripts/pack.scm:908
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    attempt to build for SYSTEM--e.g., \"i686-linux\""
@@ -1341,7 +1443,8 @@ msgstr ""
 "\n"
 "  -s, --system=SYSTÈME   essayer de compiler pour le SYSTÈME donné, par exemple « i686-linux »"
 
-#: guix/scripts/build.scm:663 guix/scripts/pack.scm:756
+#: guix/scripts/build.scm:689 guix/scripts/system.scm:985
+#: guix/scripts/pack.scm:910
 msgid ""
 "\n"
 "      --target=TRIPLET   cross-build for TRIPLET--e.g., \"armel-linux-gnu\""
@@ -1349,7 +1452,7 @@ msgstr ""
 "\n"
 "      --target=TRIPLET   effectuer une compilation croisée pour TRIPLET, par exemple « armel-linux-gnu »"
 
-#: guix/scripts/build.scm:665
+#: guix/scripts/build.scm:691
 msgid ""
 "\n"
 "  -d, --derivations      return the derivation paths of the given packages"
@@ -1357,7 +1460,7 @@ msgstr ""
 "\n"
 "  -d, --derivations      retourner les chemins de dérivation pour les paquets donnés"
 
-#: guix/scripts/build.scm:667
+#: guix/scripts/build.scm:693
 msgid ""
 "\n"
 "      --check            rebuild items to check for non-determinism issues"
@@ -1365,7 +1468,7 @@ msgstr ""
 "\n"
 "      --check            recompiler les éléments pour détecter des problèmes de non déterminisme"
 
-#: guix/scripts/build.scm:669
+#: guix/scripts/build.scm:695
 msgid ""
 "\n"
 "      --repair           repair the specified items"
@@ -1373,7 +1476,7 @@ msgstr ""
 "\n"
 "      --repair           réparer les éléments spécifiés"
 
-#: guix/scripts/build.scm:671
+#: guix/scripts/build.scm:697 guix/scripts/pack.scm:928
 msgid ""
 "\n"
 "  -r, --root=FILE        make FILE a symlink to the result, and register it\n"
@@ -1383,11 +1486,11 @@ msgstr ""
 "  -r, --root=FICHIER     faire de FICHIER un lien symbolique pointant sur le résultat\n"
 "                         et l'enregistrer en tant que racine du garbage collector"
 
-#: guix/scripts/build.scm:674 guix/scripts/package.scm:364
+#: guix/scripts/build.scm:700 guix/scripts/package.scm:371
 #: guix/scripts/install.scm:36 guix/scripts/remove.scm:36
-#: guix/scripts/upgrade.scm:36 guix/scripts/pull.scm:95
-#: guix/scripts/system.scm:1032 guix/scripts/copy.scm:120
-#: guix/scripts/pack.scm:771
+#: guix/scripts/upgrade.scm:36 guix/scripts/pull.scm:112
+#: guix/scripts/system.scm:987 guix/scripts/copy.scm:120
+#: guix/scripts/pack.scm:933 guix/scripts/deploy.scm:56
 msgid ""
 "\n"
 "  -v, --verbosity=LEVEL  use the given verbosity LEVEL"
@@ -1395,7 +1498,7 @@ msgstr ""
 "\n"
 "  -v, --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné"
 
-#: guix/scripts/build.scm:676
+#: guix/scripts/build.scm:702
 msgid ""
 "\n"
 "  -q, --quiet            do not show the build log"
@@ -1403,7 +1506,7 @@ msgstr ""
 "\n"
 "  -q, --quiet            ne pas montrer le journal de compilation"
 
-#: guix/scripts/build.scm:678
+#: guix/scripts/build.scm:704
 msgid ""
 "\n"
 "      --log-file         return the log file names for the given derivations"
@@ -1411,18 +1514,19 @@ msgstr ""
 "\n"
 "      --log-file         retourner les fichiers de journalisation pour les dérivations données"
 
-#: guix/scripts/build.scm:685 guix/scripts/download.scm:83
-#: guix/scripts/package.scm:382 guix/scripts/install.scm:43
+#: guix/scripts/build.scm:711 guix/scripts/download.scm:98
+#: guix/scripts/package.scm:389 guix/scripts/install.scm:43
 #: guix/scripts/remove.scm:41 guix/scripts/upgrade.scm:43
-#: guix/scripts/search.scm:34 guix/scripts/gc.scm:84 guix/scripts/hash.scm:60
-#: guix/scripts/import.scm:93 guix/scripts/import/cran.scm:47
-#: guix/scripts/pull.scm:103 guix/scripts/substitute.scm:898
-#: guix/scripts/system.scm:1035 guix/scripts/lint.scm:1180
-#: guix/scripts/publish.scm:94 guix/scripts/edit.scm:43
-#: guix/scripts/size.scm:244 guix/scripts/graph.scm:499
-#: guix/scripts/challenge.scm:241 guix/scripts/copy.scm:125
-#: guix/scripts/pack.scm:776 guix/scripts/weather.scm:270
-#: guix/scripts/describe.scm:72 guix/scripts/processes.scm:214
+#: guix/scripts/search.scm:36 guix/scripts/show.scm:36 guix/scripts/gc.scm:88
+#: guix/scripts/hash.scm:60 guix/scripts/import.scm:94
+#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:120
+#: guix/scripts/substitute.scm:862 guix/scripts/system.scm:990
+#: guix/scripts/lint.scm:101 guix/scripts/publish.scm:98
+#: guix/scripts/edit.scm:51 guix/scripts/size.scm:249
+#: guix/scripts/graph.scm:514 guix/scripts/challenge.scm:423
+#: guix/scripts/copy.scm:125 guix/scripts/pack.scm:938
+#: guix/scripts/weather.scm:273 guix/scripts/describe.scm:76
+#: guix/scripts/processes.scm:214 guix/scripts/deploy.scm:51
 #: guix/scripts/container.scm:34 guix/scripts/container/exec.scm:43
 msgid ""
 "\n"
@@ -1431,18 +1535,19 @@ msgstr ""
 "\n"
 "  -h, --help             afficher cette aide et quitter"
 
-#: guix/scripts/build.scm:687 guix/scripts/download.scm:85
-#: guix/scripts/package.scm:384 guix/scripts/install.scm:45
+#: guix/scripts/build.scm:713 guix/scripts/download.scm:100
+#: guix/scripts/package.scm:391 guix/scripts/install.scm:45
 #: guix/scripts/remove.scm:43 guix/scripts/upgrade.scm:45
-#: guix/scripts/search.scm:36 guix/scripts/gc.scm:86 guix/scripts/hash.scm:62
-#: guix/scripts/import.scm:95 guix/scripts/import/cran.scm:51
-#: guix/scripts/pull.scm:105 guix/scripts/substitute.scm:900
-#: guix/scripts/system.scm:1037 guix/scripts/lint.scm:1184
-#: guix/scripts/publish.scm:96 guix/scripts/edit.scm:45
-#: guix/scripts/size.scm:246 guix/scripts/graph.scm:501
-#: guix/scripts/challenge.scm:243 guix/scripts/copy.scm:127
-#: guix/scripts/pack.scm:778 guix/scripts/weather.scm:272
-#: guix/scripts/describe.scm:74 guix/scripts/processes.scm:216
+#: guix/scripts/search.scm:38 guix/scripts/show.scm:38 guix/scripts/gc.scm:90
+#: guix/scripts/hash.scm:62 guix/scripts/import.scm:96
+#: guix/scripts/import/cran.scm:51 guix/scripts/pull.scm:122
+#: guix/scripts/substitute.scm:864 guix/scripts/system.scm:992
+#: guix/scripts/lint.scm:105 guix/scripts/publish.scm:100
+#: guix/scripts/edit.scm:53 guix/scripts/size.scm:251
+#: guix/scripts/graph.scm:516 guix/scripts/challenge.scm:425
+#: guix/scripts/copy.scm:127 guix/scripts/pack.scm:940
+#: guix/scripts/weather.scm:275 guix/scripts/describe.scm:78
+#: guix/scripts/processes.scm:216 guix/scripts/deploy.scm:53
 #: guix/scripts/container.scm:36 guix/scripts/container/exec.scm:45
 msgid ""
 "\n"
@@ -1451,7 +1556,7 @@ msgstr ""
 "\n"
 "  -V, --version          afficher les informations sur la version et quitter"
 
-#: guix/scripts/build.scm:714
+#: guix/scripts/build.scm:740
 #, scheme-format
 msgid ""
 "invalid argument: '~a' option argument: ~a, ~\n"
@@ -1460,27 +1565,370 @@ msgstr ""
 "argument invalide: argument en option « ~a » : ~a, ~\n"
 "doit être « package », « all » ou « transitive »~%"
 
-#: guix/scripts/build.scm:772
+#: guix/scripts/build.scm:798
 #, scheme-format
 msgid "~s: not something we can build~%"
 msgstr "~s : pas quelque chose qu'on sait compiler~%"
 
-#: guix/scripts/build.scm:837
+#: guix/scripts/build.scm:875
 #, scheme-format
-msgid "~a: warning: package '~a' has no source~%"
-msgstr "~a : attention : le paquet « ~a » n'a pas de source~%"
+msgid "package '~a' has no source~%"
+msgstr "le paquet « ~a » n'a pas de source~%"
 
-#: guix/scripts/build.scm:885
+#: guix/scripts/build.scm:921
 #, scheme-format
 msgid "no build log for '~a'~%"
 msgstr "aucun journal de compilation pour « ~a »~%"
 
-#: guix/discovery.scm:92
+#: guix/discovery.scm:96
 #, scheme-format
 msgid "cannot access `~a': ~a~%"
 msgstr "impossible d'accéder à « ~a » : ~a~%"
 
-#: guix/scripts/download.scm:69
+#: guix/lint.scm:177
+msgid "description should not be empty"
+msgstr "la description ne devrait pas être vide"
+
+#: guix/lint.scm:188
+msgid "Texinfo markup in description is invalid"
+msgstr "Des balises Texinfo dans la description sont invalides"
+
+#: guix/lint.scm:198
+#, scheme-format
+msgid ""
+"description should not contain ~\n"
+"trademark sign '~a' at ~d"
+msgstr ""
+"la description ne devrait pas contenir ~\n"
+"le signe de marque déposée « ~a » à ~d"
+
+#. TRANSLATORS: '@code' is Texinfo markup and must be kept
+#. as is.
+#: guix/lint.scm:211
+msgid "use @code or similar ornament instead of quotes"
+msgstr "utiliser @code ou une décoration similaire au lieu des guillemets"
+
+#: guix/lint.scm:223
+msgid "description should start with an upper-case letter or digit"
+msgstr "la description devrait commencer par une majuscule ou un chiffre"
+
+#: guix/lint.scm:241
+#, scheme-format
+msgid ""
+"sentences in description should be followed ~\n"
+"by two spaces; possible infraction~p at ~{~a~^, ~}"
+msgstr ""
+"les phrases dans la description devraient être suivies ~\n"
+"par deux espaces. Infraction probable~p à ~{~a~^, ~}"
+
+#: guix/lint.scm:262
+#, scheme-format
+msgid "invalid description: ~s"
+msgstr "description invalide : ~s"
+
+#: guix/lint.scm:329
+#, scheme-format
+msgid "'~a' should probably be a native input"
+msgstr "« ~a » devrait sans doute être une entrée native"
+
+#: guix/lint.scm:344
+#, scheme-format
+msgid "'~a' should probably not be an input at all"
+msgstr "« ~a » ne devrait probablement pas être une entrée du tout"
+
+#: guix/lint.scm:365
+msgid "no period allowed at the end of the synopsis"
+msgstr "un point n'est pas autorisé à la fin du synopsis"
+
+#: guix/lint.scm:379
+msgid "no article allowed at the beginning of the synopsis"
+msgstr "les articles ne sont pas permis au début du synopsis"
+
+#: guix/lint.scm:388
+msgid "synopsis should be less than 80 characters long"
+msgstr "le synopsis devrait être plus court que 80 caractères"
+
+#: guix/lint.scm:397
+msgid "synopsis should start with an upper-case letter or digit"
+msgstr "le synopsis devrait commencer par une majuscule ou un chiffre"
+
+#: guix/lint.scm:405
+msgid "synopsis should not start with the package name"
+msgstr "le synopsis ne devrait pas commencer par un nom de paquet"
+
+#: guix/lint.scm:419
+msgid "Texinfo markup in synopsis is invalid"
+msgstr "La balise Texinfo dans le synopsis est invalide"
+
+#: guix/lint.scm:434
+msgid "synopsis should not be empty"
+msgstr "le synopsis ne devrait pas être vide"
+
+#: guix/lint.scm:444
+#, scheme-format
+msgid "invalid synopsis: ~s"
+msgstr "synopsis non valide : ~s"
+
+#: guix/lint.scm:562
+#, scheme-format
+msgid "URI ~a returned suspiciously small file (~a bytes)"
+msgstr "L'URI ~a a renvoyé un fichier étrangement petit (~a octets)"
+
+#: guix/lint.scm:571
+#, scheme-format
+msgid "permanent redirect from ~a to ~a"
+msgstr "redirection permanente de ~a vers ~a"
+
+#: guix/lint.scm:577
+#, scheme-format
+msgid "invalid permanent redirect from ~a"
+msgstr "redirection permanente invalide : ~a"
+
+#: guix/lint.scm:583 guix/lint.scm:593
+#, scheme-format
+msgid "URI ~a not reachable: ~a (~s)"
+msgstr "L'URI ~a n'a pu être atteinte : ~a (~s)"
+
+#: guix/lint.scm:599
+#, scheme-format
+msgid "URI ~a domain not found: ~a"
+msgstr "Le domaine de l'URI ~a n'a pas été trouvé : ~a"
+
+#: guix/lint.scm:605
+#, scheme-format
+msgid "URI ~a unreachable: ~a"
+msgstr "L'URI ~a n'a pu être atteinte : ~a"
+
+#: guix/lint.scm:613
+#, scheme-format
+msgid "TLS certificate error: ~a"
+msgstr "Erreur de certificat TLS : ~a"
+
+#: guix/lint.scm:640
+msgid "invalid value for home page"
+msgstr "valeur invalide pour la page d'accueil"
+
+#: guix/lint.scm:645
+#, scheme-format
+msgid "invalid home page URL: ~s"
+msgstr "URL de la page d'accueil invalide : ~s"
+
+#: guix/lint.scm:678
+msgid "file names of patches should start with the package name"
+msgstr "les noms de fichiers des correctifs devraient commencer par le nom du paquet"
+
+#: guix/lint.scm:694
+#, scheme-format
+msgid "~a: file name is too long"
+msgstr "~a : le nom de fichier est trop long"
+
+#: guix/lint.scm:736
+#, scheme-format
+msgid "proposed synopsis: ~s~%"
+msgstr "synopsis proposé : ~s~%"
+
+#: guix/lint.scm:750
+#, scheme-format
+msgid "proposed description:~%     \"~a\"~%"
+msgstr "description proposée :~%     « ~a »~%"
+
+#: guix/lint.scm:797
+msgid "all the source URIs are unreachable:"
+msgstr "toutes les URI sources sont inatteignables :"
+
+#: guix/lint.scm:821
+msgid "the source file name should contain the package name"
+msgstr "le nom du fichier source devrait contenir le nom du paquet"
+
+#: guix/lint.scm:833
+msgid "the source URI should not be an autogenerated tarball"
+msgstr "l'URI de la source ne devrait pas être une archive auto-générée"
+
+#: guix/lint.scm:857
+#, scheme-format
+msgid "URL should be 'mirror://~a/~a'"
+msgstr "L'URL devrait être « mirror://~a/~a »"
+
+#: guix/lint.scm:902
+#, scheme-format
+msgid "URL should be '~a'"
+msgstr "L'URL devrait être « ~a »"
+
+#: guix/lint.scm:924 guix/lint.scm:935
+#, scheme-format
+msgid "failed to create ~a derivation: ~a"
+msgstr "échec à la création de la dérivation pour ~a : ~a"
+
+#: guix/lint.scm:929 guix/lint.scm:952
+#, scheme-format
+msgid "failed to create ~a derivation: ~s"
+msgstr "échec à la création de la dérivation pour ~a : ~s"
+
+#: guix/lint.scm:966
+msgid "invalid license field"
+msgstr "champ de licence invalide"
+
+#: guix/lint.scm:973
+#, scheme-format
+msgid "~a: HTTP GET error for ~a: ~a (~s)~%"
+msgstr "~a : erreur HTTP GET pour ~a : ~a (~s)~%"
+
+#: guix/lint.scm:983
+#, scheme-format
+msgid "~a: host lookup failure: ~a~%"
+msgstr "~a : erreur lors de la consultation du nom d'hôte : ~a~%"
+
+#: guix/lint.scm:988
+#, scheme-format
+msgid "~a: TLS certificate error: ~a"
+msgstr "~a : erreur de certificat TLS : ~a"
+
+#: guix/lint.scm:999 guix/ui.scm:792
+#, scheme-format
+msgid "~a: ~a~%"
+msgstr "~a: ~a~%"
+
+#: guix/lint.scm:1013
+msgid "while retrieving CVE vulnerabilities"
+msgstr "pendant la récupération des vulnérabilités CVE"
+
+#: guix/lint.scm:1056
+#, scheme-format
+msgid "probably vulnerable to ~a"
+msgstr "probablement vulnérable à ~a"
+
+#: guix/lint.scm:1063
+#, scheme-format
+msgid "while retrieving upstream info for '~a'"
+msgstr "pendant la récupération des informations en amont de « ~a »"
+
+#: guix/lint.scm:1072
+#, scheme-format
+msgid "can be upgraded to ~a"
+msgstr "peut être mis à jour vers ~a"
+
+#: guix/lint.scm:1090
+msgid "Software Heritage rate limit reached; try again later"
+msgstr "Limite de requêtes à Software Heritage atteinte ; essayez plus tard"
+
+#: guix/lint.scm:1094
+#, scheme-format
+msgid "'~a' returned ~a"
+msgstr "  « ~a » a renvoyé ~a"
+
+#. TRANSLATORS: "Software Heritage" is a proper noun
+#. that must remain untranslated.  See
+#. <https://www.softwareheritage.org>.
+#: guix/lint.scm:1133
+msgid "scheduled Software Heritage archival"
+msgstr "archivage dans Software Heritage programmé"
+
+#: guix/lint.scm:1139
+msgid "archival rate limit exceeded; try again later"
+msgstr "limite du nombre d'archivage atteinte ; essayez plus tard"
+
+#: guix/lint.scm:1151
+msgid "source not archived on Software Heritage"
+msgstr "la source n'est pas archivée dans Software Heritage"
+
+#: guix/lint.scm:1164
+msgid "while connecting to Software Heritage"
+msgstr "lors de la connexion à Software Heritage"
+
+#: guix/lint.scm:1179
+#, scheme-format
+msgid "tabulation on line ~a, column ~a"
+msgstr "tabulation à la ligne ~a, colonne ~a"
+
+#: guix/lint.scm:1191
+#, scheme-format
+msgid "trailing white space on line ~a"
+msgstr "espace à la fin de la ligne ~a"
+
+#: guix/lint.scm:1205
+#, scheme-format
+msgid "line ~a is way too long (~a characters)"
+msgstr "la ligne ~a est beaucoup trop longue (~a caractères)"
+
+#: guix/lint.scm:1219
+msgid "parentheses feel lonely, move to the previous or next line"
+msgstr "des parenthèses se sentent seules. À déplacer à la ligne suivante ou précédente"
+
+#: guix/lint.scm:1300
+msgid "Validate package descriptions"
+msgstr "Valider des descriptions de paquets"
+
+#: guix/lint.scm:1304
+msgid "Identify inputs that should be native inputs"
+msgstr "Identifier les entrées qui devraient être natives"
+
+#: guix/lint.scm:1308
+msgid "Identify inputs that shouldn't be inputs at all"
+msgstr "Identifier les entrées qui ne devraient pas être des entrées du tout"
+
+#. TRANSLATORS: <license> is the name of a data type and must not be
+#. translated.
+#: guix/lint.scm:1314
+msgid "Make sure the 'license' field is a <license> or a list thereof"
+msgstr "S'assurer que le champ « licence » est une <licence> ou une telle liste"
+
+#: guix/lint.scm:1319
+msgid "Suggest 'mirror://' URLs"
+msgstr "Suggérer des URL « mirror:// »"
+
+#: guix/lint.scm:1323
+msgid "Validate file names of sources"
+msgstr "Valider les noms des fichiers des sources"
+
+#: guix/lint.scm:1327
+msgid "Check for autogenerated tarballs"
+msgstr "Vérifier les archives auto-générées"
+
+#: guix/lint.scm:1331
+msgid "Report failure to compile a package to a derivation"
+msgstr "Signaler l'échec de la compilation d'un paquet d'une dérivation"
+
+#: guix/lint.scm:1335
+msgid "Validate file names and availability of patches"
+msgstr "Valider les noms de fichiers et la disponibilité de correctifs"
+
+#: guix/lint.scm:1339
+msgid "Look for formatting issues in the source"
+msgstr "Rechercher des problèmes de format dans la source"
+
+#: guix/lint.scm:1346
+msgid "Validate package synopses"
+msgstr "Valider les synopsis des paquets"
+
+#: guix/lint.scm:1350
+msgid "Validate synopsis & description of GNU packages"
+msgstr "Valider le synopsis et la description de paquets GNU"
+
+#: guix/lint.scm:1354
+msgid "Validate home-page URLs"
+msgstr "Valider les URL des pages d'accueil"
+
+#: guix/lint.scm:1358
+msgid "Validate source URLs"
+msgstr "Valider les URL sources"
+
+#: guix/lint.scm:1362
+msgid "Suggest GitHub URLs"
+msgstr "Suggérer des URL GitHub"
+
+#: guix/lint.scm:1366
+msgid "Check the Common Vulnerabilities and Exposures (CVE) database"
+msgstr "Vérifier la base de données des vulnérabilités et failles connues (CVE)"
+
+#: guix/lint.scm:1371
+msgid "Check the package for new upstream releases"
+msgstr "Vérifier s'il y a une nouvelle version en amont pour le paquet"
+
+#: guix/lint.scm:1375
+msgid "Ensure source code archival on Software Heritage"
+msgstr "S'assurer que le code source est archivé dans Software Heritage"
+
+#: guix/scripts/download.scm:84
 msgid ""
 "Usage: guix download [OPTION] URL\n"
 "Download the file at URL to the store or to the given file, and print its\n"
@@ -1497,7 +1945,7 @@ msgstr ""
 "Formats pris en charge : « nix-base32 » (par défaut), « base32 », et « base16 »\n"
 "(« hex » et « hexadecimal » peuvent aussi être utilisés).\n"
 
-#: guix/scripts/download.scm:75 guix/scripts/hash.scm:55
+#: guix/scripts/download.scm:90 guix/scripts/hash.scm:55
 msgid ""
 "\n"
 "  -f, --format=FMT       write the hash in the given format"
@@ -1505,7 +1953,7 @@ msgstr ""
 "\n"
 "  -f, --format=FORMAT    écrire l'empreinte dans le FORMAT donné"
 
-#: guix/scripts/download.scm:77
+#: guix/scripts/download.scm:92
 msgid ""
 "\n"
 "      --no-check-certificate\n"
@@ -1515,7 +1963,7 @@ msgstr ""
 "      --no-check-certificate\n"
 "                         ne pas valider les certificats des serveurs HTTPS "
 
-#: guix/scripts/download.scm:80
+#: guix/scripts/download.scm:95
 msgid ""
 "\n"
 "  -o, --output=FILE      download to FILE"
@@ -1523,48 +1971,42 @@ msgstr ""
 "\n"
 "  -o, --output=FICHIER   télécharge dans le FICHIER"
 
-#: guix/scripts/download.scm:103 guix/scripts/hash.scm:83
+#: guix/scripts/download.scm:118 guix/scripts/hash.scm:83
 #, scheme-format
 msgid "unsupported hash format: ~a~%"
 msgstr "format d'empreinte non pris en charge : ~a~%"
 
-#: guix/scripts/download.scm:138 guix/scripts/package.scm:900
-#: guix/scripts/upgrade.scm:79 guix/scripts/publish.scm:890
+#: guix/scripts/download.scm:153 guix/scripts/package.scm:936
+#: guix/scripts/upgrade.scm:79 guix/scripts/publish.scm:1022
 #, scheme-format
 msgid "~A: extraneous argument~%"
 msgstr "~A : argument superflu~%"
 
-#: guix/scripts/download.scm:146
+#: guix/scripts/download.scm:161
 #, scheme-format
 msgid "no download URI was specified~%"
 msgstr "aucune URI de téléchargement spécifiée~%"
 
-#: guix/scripts/download.scm:151
+#: guix/scripts/download.scm:166
 #, scheme-format
 msgid "~a: failed to parse URI~%"
 msgstr "~a : impossible d'évaluer l'URI~%"
 
-#: guix/scripts/download.scm:161
+#: guix/scripts/download.scm:176
 #, scheme-format
 msgid "~a: download failed~%"
 msgstr "~a : le téléchargement a échoué~%"
 
-#: guix/scripts/package.scm:115
+#: guix/scripts/package.scm:120
 #, scheme-format
 msgid "not removing generation ~a, which is current~%"
 msgstr "la génération ~a n'est pas supprimée car elle est actuelle~%"
 
-#: guix/scripts/package.scm:122
+#: guix/scripts/package.scm:127
 #, scheme-format
 msgid "no matching generation~%"
 msgstr "aucune génération correspondante~%"
 
-#: guix/scripts/package.scm:125 guix/scripts/package.scm:697
-#: guix/scripts/system.scm:626
-#, scheme-format
-msgid "invalid syntax: ~a~%"
-msgstr "syntaxe non valide : ~a~%"
-
 #: guix/scripts/package.scm:154
 #, scheme-format
 msgid "nothing to be done~%"
@@ -1574,28 +2016,46 @@ msgstr "aucune action à faire~%"
 #, scheme-format
 msgid "~a package in profile~%"
 msgid_plural "~a packages in profile~%"
-msgstr[0] "~a paquet dans le profile~%"
-msgstr[1] "~a paquets dans le profile~%"
+msgstr[0] "~a paquet dans le profil~%"
+msgstr[1] "~a paquets dans le profil~%"
 
-#: guix/scripts/package.scm:255
+#: guix/scripts/package.scm:254
 #, scheme-format
 msgid "package '~a' no longer exists~%"
 msgstr "le paquet « ~a » n'existe plus~%"
 
-#: guix/scripts/package.scm:301
+#: guix/scripts/package.scm:298
 #, scheme-format
-msgid "The following environment variable definitions may be needed:~%"
-msgstr "Il pourrait être nécessaire de définir les variables d'environnement suivantes :~%"
+msgid ""
+"Consider setting the necessary environment\n"
+"variables by running:\n"
+"\n"
+"@example\n"
+"GUIX_PROFILE=\"~a\"\n"
+". \"$GUIX_PROFILE/etc/profile\"\n"
+"@end example\n"
+"\n"
+"Alternately, see @command{guix package --search-paths -p ~s}."
+msgstr ""
+"Pensez à paramétrer les variables d'environnement nécessaires\n"
+"en lançant :\n"
+"\n"
+"@example\n"
+"GUIX_PROFILE=\"~a\"\n"
+". \"$GUIX_PROFILE/etc/profile\"\n"
+"@end example\n"
+"\n"
+"Autrement, regardez @command{guix package --search-paths -p ~s}."
 
-#: guix/scripts/package.scm:321
+#: guix/scripts/package.scm:326
 msgid ""
 "Usage: guix package [OPTION]...\n"
 "Install, remove, or upgrade packages in a single transaction.\n"
 msgstr ""
-"Usage : guix package [OPTION]...\n"
+"Utilisation : guix package [OPTION]...\n"
 "Installer, supprimer ou mettre à jour les paquets en une seule transaction.\n"
 
-#: guix/scripts/package.scm:323
+#: guix/scripts/package.scm:328
 msgid ""
 "\n"
 "  -i, --install PACKAGE ...\n"
@@ -1605,7 +2065,7 @@ msgstr ""
 "  -i, --install=PAQUET ...\n"
 "                         installer les PAQUETs"
 
-#: guix/scripts/package.scm:326
+#: guix/scripts/package.scm:331
 msgid ""
 "\n"
 "  -e, --install-from-expression=EXP\n"
@@ -1615,7 +2075,7 @@ msgstr ""
 "  -e, --install-from-expression=EXP\n"
 "                         installer le paquet évalué par EXP"
 
-#: guix/scripts/package.scm:329
+#: guix/scripts/package.scm:334
 msgid ""
 "\n"
 "  -f, --install-from-file=FILE\n"
@@ -1627,7 +2087,7 @@ msgstr ""
 "                         installer le paquet évalué par le code dans\n"
 "                         FICHIER"
 
-#: guix/scripts/package.scm:333
+#: guix/scripts/package.scm:338
 msgid ""
 "\n"
 "  -r, --remove PACKAGE ...\n"
@@ -1637,7 +2097,7 @@ msgstr ""
 "  -r, --remove=PAQUET ...\n"
 "                         supprimer les PAQUETs"
 
-#: guix/scripts/package.scm:336
+#: guix/scripts/package.scm:341
 msgid ""
 "\n"
 "  -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP"
@@ -1645,7 +2105,7 @@ msgstr ""
 "\n"
 "  -u, --upgrade[=REGEXP] mettre à jour tous les paquets installés correspondant à REGEXP"
 
-#: guix/scripts/package.scm:338
+#: guix/scripts/package.scm:343
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create a new profile generation with the manifest\n"
@@ -1655,7 +2115,7 @@ msgstr ""
 "  -m, --manifest=FICHIER créer une nouvelle génération de profil avec le\n"
 "                         manifeste dans FICHIER"
 
-#: guix/scripts/package.scm:341
+#: guix/scripts/package.scm:346
 msgid ""
 "\n"
 "      --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP"
@@ -1663,7 +2123,7 @@ msgstr ""
 "\n"
 "      --do-not-upgrade[=REGEXP] ne pas mettre à jour les paquets correspondant à REGEXP"
 
-#: guix/scripts/package.scm:343
+#: guix/scripts/package.scm:348 guix/scripts/pull.scm:102
 msgid ""
 "\n"
 "      --roll-back        roll back to the previous generation"
@@ -1671,7 +2131,7 @@ msgstr ""
 "\n"
 "      --roll-back        revenir à la génération antérieure"
 
-#: guix/scripts/package.scm:345
+#: guix/scripts/package.scm:350
 msgid ""
 "\n"
 "      --search-paths[=KIND]\n"
@@ -1681,7 +2141,7 @@ msgstr ""
 "      --search-paths=[GENRE]\n"
 "                         afficher les définitions de variables d'environnement requises"
 
-#: guix/scripts/package.scm:348 guix/scripts/pull.scm:90
+#: guix/scripts/package.scm:353 guix/scripts/pull.scm:99
 msgid ""
 "\n"
 "  -l, --list-generations[=PATTERN]\n"
@@ -1691,7 +2151,7 @@ msgstr ""
 "  -l, --list-generations[=MOTIF]\n"
 "                         lister les générations correspondant à MOTIF"
 
-#: guix/scripts/package.scm:351
+#: guix/scripts/package.scm:356 guix/scripts/pull.scm:104
 msgid ""
 "\n"
 "  -d, --delete-generations[=PATTERN]\n"
@@ -1701,7 +2161,7 @@ msgstr ""
 "  -d, --delete-generations[=MOTIF]\n"
 "                         supprimer les générations correspondant à MOTIF"
 
-#: guix/scripts/package.scm:354
+#: guix/scripts/package.scm:359 guix/scripts/pull.scm:107
 msgid ""
 "\n"
 "  -S, --switch-generation=PATTERN\n"
@@ -1711,7 +2171,7 @@ msgstr ""
 "  -S, --switch-generation=MOTIF\n"
 "                         basculer vers une génération correspondant à MOTIF"
 
-#: guix/scripts/package.scm:357 guix/scripts/install.scm:33
+#: guix/scripts/package.scm:362 guix/scripts/install.scm:33
 #: guix/scripts/remove.scm:33 guix/scripts/upgrade.scm:34
 msgid ""
 "\n"
@@ -1720,7 +2180,15 @@ msgstr ""
 "\n"
 "  -p, --profile=PROFIL   utiliser PROFIL au lieu du profil par défaut de l'utilisateur"
 
-#: guix/scripts/package.scm:360
+#: guix/scripts/package.scm:364
+msgid ""
+"\n"
+"      --list-profiles    list the user's profiles"
+msgstr ""
+"\n"
+"      --list-profiles    lister les profils de l'utilisateur"
+
+#: guix/scripts/package.scm:367
 msgid ""
 "\n"
 "      --allow-collisions do not treat collisions in the profile as an error"
@@ -1728,7 +2196,7 @@ msgstr ""
 "\n"
 "      --allow-collisions ne pas traiter les collisions dans le profil comme une erreur"
 
-#: guix/scripts/package.scm:362
+#: guix/scripts/package.scm:369
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the profile"
@@ -1736,7 +2204,7 @@ msgstr ""
 "\n"
 "      --bootstrap        utiliser le programme d'amorçage Guile pour compiler le profil"
 
-#: guix/scripts/package.scm:367
+#: guix/scripts/package.scm:374
 msgid ""
 "\n"
 "  -s, --search=REGEXP    search in synopsis and description using REGEXP"
@@ -1744,7 +2212,7 @@ msgstr ""
 "\n"
 "  -s, --search=REGEXP    chercher dans le synopsis et la description en utilisant REGEXP"
 
-#: guix/scripts/package.scm:369
+#: guix/scripts/package.scm:376
 msgid ""
 "\n"
 "  -I, --list-installed[=REGEXP]\n"
@@ -1754,7 +2222,7 @@ msgstr ""
 "  -I, --list-installed[=REGEXP]\n"
 "                         lister les paquets installés correspondant à REGEXP"
 
-#: guix/scripts/package.scm:372
+#: guix/scripts/package.scm:379
 msgid ""
 "\n"
 "  -A, --list-available[=REGEXP]\n"
@@ -1764,7 +2232,7 @@ msgstr ""
 "  -A, --list-available[=REGEXP]\n"
 "                         lister les paquets disponibles correspondant à REGEXP"
 
-#: guix/scripts/package.scm:375
+#: guix/scripts/package.scm:382
 msgid ""
 "\n"
 "      --show=PACKAGE     show details about PACKAGE"
@@ -1772,41 +2240,36 @@ msgstr ""
 "\n"
 "      --show=PAQUET      montrer des détails du PAQUET"
 
-#: guix/scripts/package.scm:427
+#: guix/scripts/package.scm:434
 #, scheme-format
 msgid "upgrade regexp '~a' looks like a command-line option~%"
 msgstr "l'expression régulière « ~a » ressemble à une option de la ligne de commande~%"
 
-#: guix/scripts/package.scm:430
+#: guix/scripts/package.scm:437
 #, scheme-format
 msgid "is this intended?~%"
 msgstr "est-ce intentionnel ?~%"
 
-#: guix/scripts/package.scm:475
+#: guix/scripts/package.scm:487
 #, scheme-format
 msgid "~a: unsupported kind of search path~%"
 msgstr "~a : type de chemin de recherche non pris en charge~%"
 
-#: guix/scripts/package.scm:771
+#: guix/scripts/package.scm:620
+#, scheme-format
+msgid "cannot install non-package object: ~s~%"
+msgstr "impossible d'installer un objet qui n'est pas un paquet : ~s~%"
+
+#: guix/scripts/package.scm:792
 #, scheme-format
 msgid "~a~@[@~a~]: package not found~%"
 msgstr "~a~@[@~a~] : paquet introuvable~%"
 
-#: guix/scripts/package.scm:805
+#: guix/scripts/package.scm:826 guix/scripts/pull.scm:693
 #, scheme-format
 msgid "cannot switch to generation '~a'~%"
 msgstr "impossible de passer à la génération « ~a »~%"
 
-#: guix/scripts/package.scm:822
-#, scheme-format
-msgid "would install new manifest from '~a' with ~d entries~%"
-msgstr "installerait le nouveau manifeste depuis « ~a » avec ~d entrées~%"
-
-#: guix/scripts/package.scm:824
-#, scheme-format
-msgid "installing new manifest from '~a' with ~d entries~%"
-msgstr "installation du nouveau manifeste depuis « ~a » avec ~d entrées~%"
-
 #: guix/scripts/install.scm:30
 msgid ""
 "Usage: guix install [OPTION] PACKAGES...\n"
@@ -1837,7 +2300,7 @@ msgstr ""
 "Mettre à jour les paquets qui correspondent à REGEXP.\n"
 "C'est un alias pour la commande « guix package -u ».\n"
 
-#: guix/scripts/search.scm:29
+#: guix/scripts/search.scm:31
 msgid ""
 "Usage: guix search [OPTION] REGEXPS...\n"
 "Search for packages matching REGEXPS."
@@ -1845,7 +2308,7 @@ msgstr ""
 "Utilisation : guix search [OPTION] REGEXPS…\n"
 "Rechercher les paquets qui correspondent à REGEXPS."
 
-#: guix/scripts/search.scm:31
+#: guix/scripts/search.scm:33
 msgid ""
 "\n"
 "This is an alias for 'guix package -s'.\n"
@@ -1853,20 +2316,41 @@ msgstr ""
 "\n"
 "C'est un alias pour la commande « guix package -s ».\n"
 
-#: guix/scripts/search.scm:65
+#: guix/scripts/search.scm:74
 #, scheme-format
 msgid "missing arguments: no regular expressions to search for~%"
 msgstr "arguments manquants : par d'expression régulière à rechercher~%"
 
-#: guix/scripts/gc.scm:45
+#: guix/scripts/show.scm:31
+msgid ""
+"Usage: guix show [OPTION] PACKAGE...\n"
+"Show details about PACKAGE."
+msgstr ""
+"Utilisation : guix show [OPTION] PAQUET...\n"
+"Montre les détails du PAQUET."
+
+#: guix/scripts/show.scm:33
+msgid ""
+"\n"
+"This is an alias for 'guix package --show='.\n"
+msgstr ""
+"\n"
+"C'est un alias pour la commande « guix package --show= ».\n"
+
+#: guix/scripts/show.scm:74
+#, scheme-format
+msgid "missing arguments: no package to show~%"
+msgstr "arguments manquants : par de paquet à montrer~%"
+
+#: guix/scripts/gc.scm:47
 msgid ""
 "Usage: guix gc [OPTION]... PATHS...\n"
 "Invoke the garbage collector.\n"
 msgstr ""
-"Usage : guix gc [OPTION]... CHEMINS...\n"
+"Utilisation : guix gc [OPTION]... CHEMINS...\n"
 "Appeler le ramasse-miettes (GC).\n"
 
-#: guix/scripts/gc.scm:47
+#: guix/scripts/gc.scm:49
 msgid ""
 "\n"
 "  -C, --collect-garbage[=MIN]\n"
@@ -1876,7 +2360,7 @@ msgstr ""
 "  -C, --collect-garbage[=MIN]\n"
 "                         collecter au moins MIN octets dans le ramasse-miettes"
 
-#: guix/scripts/gc.scm:50
+#: guix/scripts/gc.scm:52
 msgid ""
 "\n"
 "  -F, --free-space=FREE  attempt to reach FREE available space in the store"
@@ -1884,7 +2368,7 @@ msgstr ""
 "\n"
 "  -F, --free-space=LIBRE essayer d'atteindre LIBRE espace dans le dépôt"
 
-#: guix/scripts/gc.scm:52
+#: guix/scripts/gc.scm:54
 msgid ""
 "\n"
 "  -d, --delete-generations[=PATTERN]\n"
@@ -1894,7 +2378,7 @@ msgstr ""
 "  -d, --delete-generations[=MOTIF]\n"
 "                         supprimer les générations correspondant à MOTIF"
 
-#: guix/scripts/gc.scm:55
+#: guix/scripts/gc.scm:57
 msgid ""
 "\n"
 "  -D, --delete           attempt to delete PATHS"
@@ -1902,7 +2386,7 @@ msgstr ""
 "\n"
 "  -D, --delete           essayer de supprimer les CHEMINS"
 
-#: guix/scripts/gc.scm:57
+#: guix/scripts/gc.scm:59
 msgid ""
 "\n"
 "      --list-roots       list the user's garbage collector roots"
@@ -1910,7 +2394,15 @@ msgstr ""
 "\n"
 "      --list-roots       lister les racine du ramasse-miettes pour l'utilisateur"
 
-#: guix/scripts/gc.scm:59
+#: guix/scripts/gc.scm:61
+msgid ""
+"\n"
+"      --list-busy        list store items used by running processes"
+msgstr ""
+"\n"
+"      --list-busy        lister les éléments du dépôt utilisés par des processus lancés"
+
+#: guix/scripts/gc.scm:63
 msgid ""
 "\n"
 "      --optimize         optimize the store by deduplicating identical files"
@@ -1918,7 +2410,7 @@ msgstr ""
 "\n"
 "      --optimize         optimise le dépôt en supprimant les doublons des fichiers identiques"
 
-#: guix/scripts/gc.scm:61
+#: guix/scripts/gc.scm:65
 msgid ""
 "\n"
 "      --list-dead        list dead paths"
@@ -1926,7 +2418,7 @@ msgstr ""
 "\n"
 "      --list-dead        lister les chemins non valides"
 
-#: guix/scripts/gc.scm:63
+#: guix/scripts/gc.scm:67
 msgid ""
 "\n"
 "      --list-live        list live paths"
@@ -1934,7 +2426,7 @@ msgstr ""
 "\n"
 "      --list-live        lister les chemins valides"
 
-#: guix/scripts/gc.scm:66
+#: guix/scripts/gc.scm:70
 msgid ""
 "\n"
 "      --references       list the references of PATHS"
@@ -1942,7 +2434,7 @@ msgstr ""
 "\n"
 "      --references       lister les références de CHEMINS"
 
-#: guix/scripts/gc.scm:68
+#: guix/scripts/gc.scm:72
 msgid ""
 "\n"
 "  -R, --requisites       list the requisites of PATHS"
@@ -1950,7 +2442,7 @@ msgstr ""
 "\n"
 "  -R, --requisites       lister les prérequis de CHEMINS"
 
-#: guix/scripts/gc.scm:70
+#: guix/scripts/gc.scm:74
 msgid ""
 "\n"
 "      --referrers        list the referrers of PATHS"
@@ -1958,7 +2450,7 @@ msgstr ""
 "\n"
 "      --referrers        lister les référents de CHEMINS"
 
-#: guix/scripts/gc.scm:72
+#: guix/scripts/gc.scm:76
 msgid ""
 "\n"
 "      --derivers         list the derivers of PATHS"
@@ -1966,7 +2458,7 @@ msgstr ""
 "\n"
 "      --derivers        lister les dérivations menant à CHEMINS"
 
-#: guix/scripts/gc.scm:75
+#: guix/scripts/gc.scm:79
 msgid ""
 "\n"
 "      --verify[=OPTS]    verify the integrity of the store; OPTS is a\n"
@@ -1978,7 +2470,7 @@ msgstr ""
 "                         combinaison de « repair » et « contents » séparés\n"
 "                         par une virgule"
 
-#: guix/scripts/gc.scm:79
+#: guix/scripts/gc.scm:83
 msgid ""
 "\n"
 "      --list-failures    list cached build failures"
@@ -1986,7 +2478,7 @@ msgstr ""
 "\n"
 "      --list-failures    lister les échecs de compilation en cache"
 
-#: guix/scripts/gc.scm:81
+#: guix/scripts/gc.scm:85
 msgid ""
 "\n"
 "      --clear-failures   remove PATHS from the set of cached failures"
@@ -1994,40 +2486,40 @@ msgstr ""
 "\n"
 "      --clear-failures   supprimer CHEMINS de l'ensemble des échecs en cache"
 
-#: guix/scripts/gc.scm:95
+#: guix/scripts/gc.scm:99
 #, scheme-format
 msgid "~a: invalid '--verify' option~%"
 msgstr "~a : option « --verify » invalide~%"
 
-#: guix/scripts/gc.scm:135
+#: guix/scripts/gc.scm:142
 #, scheme-format
 msgid "invalid amount of storage: ~a~%"
 msgstr "quantité de stockage non valide : ~a~%"
 
-#: guix/scripts/gc.scm:149
+#: guix/scripts/gc.scm:156
 #, scheme-format
 msgid "'-d' as an alias for '--delete' is deprecated; use '-D'~%"
 msgstr "l'utilisation de « -d » pour « --delete » est obsolète. Utilisez plutôt « -D »~%"
 
-#: guix/scripts/gc.scm:156
+#: guix/scripts/gc.scm:163
 #, scheme-format
 msgid "~s does not denote a duration~%"
 msgstr "« ~s » ne correspond pas à une durée~%"
 
-#: guix/scripts/gc.scm:239
+#: guix/scripts/gc.scm:249
 msgid "already ~h MiBs available on ~a, nothing to do~%"
 msgstr "déjà ~h Mo disponibles sur ~a, rien à faire~%"
 
-#: guix/scripts/gc.scm:242
+#: guix/scripts/gc.scm:252
 msgid "freeing ~h MiBs~%"
 msgstr "libération de ~h Mo~%"
 
-#: guix/scripts/gc.scm:275
+#: guix/scripts/gc.scm:291
 #, scheme-format
 msgid "extraneous arguments: ~{~a ~}~%"
 msgstr "arguments superflus : ~{~a ~}~%"
 
-#: guix/scripts/gc.scm:299 guix/scripts/gc.scm:302
+#: guix/scripts/gc.scm:315 guix/scripts/gc.scm:318
 msgid "freed ~h MiBs~%"
 msgstr "~h Mo libérés~%"
 
@@ -2039,7 +2531,7 @@ msgid ""
 "Supported formats: 'nix-base32' (default), 'base32', and 'base16' ('hex'\n"
 "and 'hexadecimal' can be used as well).\n"
 msgstr ""
-"Usage : guix hash [OPTION] FICHIER\n"
+"Utilisation : guix hash [OPTION] FICHIER\n"
 "Retourner l'empreinte cryptographique du FICHIER.\n"
 "\n"
 "Formats pris en charge : « nix-base32 » (par défaut), « base32 », et « base16 » (« hex »\n"
@@ -2061,43 +2553,42 @@ msgstr ""
 "\n"
 "  -r, --recursive        calculer l'empreinte de FICHIER de manière récursive"
 
-#: guix/scripts/hash.scm:151 guix/ui.scm:445 guix/ui.scm:452 guix/ui.scm:477
-#: guix/ui.scm:787 guix/ui.scm:809 guix/ui.scm:815 guix/ui.scm:821
-#: guix/ui.scm:874
+#: guix/scripts/hash.scm:151 guix/ui.scm:389 guix/ui.scm:414 guix/ui.scm:741
+#: guix/ui.scm:763 guix/ui.scm:769 guix/ui.scm:786 guix/ui.scm:839
 #, scheme-format
 msgid "~a~%"
 msgstr "~a~%"
 
-#: guix/scripts/hash.scm:154 guix/scripts/system.scm:1213
-#: guix/scripts/system.scm:1223 guix/scripts/system.scm:1230
-#: guix/scripts/system.scm:1237
+#: guix/scripts/hash.scm:154 guix/scripts/system.scm:1204
+#: guix/scripts/system.scm:1220 guix/scripts/system.scm:1227
+#: guix/scripts/system.scm:1233
 #, scheme-format
 msgid "wrong number of arguments~%"
 msgstr "nombre d'arguments incorrect~%"
 
-#: guix/scripts/import.scm:87
+#: guix/scripts/import.scm:88
 msgid ""
 "Usage: guix import IMPORTER ARGS ...\n"
 "Run IMPORTER with ARGS.\n"
 msgstr ""
-"Usage : guix import IMPORTATEUR ARGS...\n"
+"Utilisation : guix import IMPORTATEUR ARGS...\n"
 "Lancer IMPORTATEUR avec ARGS.\n"
 
-#: guix/scripts/import.scm:90
+#: guix/scripts/import.scm:91
 msgid "IMPORTER must be one of the importers listed below:\n"
 msgstr "IMPORTATEUR doit être un des importateurs listés ci-dessous:\n"
 
-#: guix/scripts/import.scm:104
+#: guix/scripts/import.scm:105
 #, scheme-format
 msgid "guix import: missing importer name~%"
 msgstr "guix import: nom d'importateur absent~%"
 
-#: guix/scripts/import.scm:124
+#: guix/scripts/import.scm:126
 #, scheme-format
 msgid "'~a' import failed~%"
 msgstr "l'importateur « ~a » a échoué~%"
 
-#: guix/scripts/import.scm:125
+#: guix/scripts/import.scm:127
 #, scheme-format
 msgid "~a: invalid importer~%"
 msgstr "~a : importateur non valide~%"
@@ -2107,7 +2598,7 @@ msgid ""
 "Usage: guix import cran PACKAGE-NAME\n"
 "Import and convert the CRAN package for PACKAGE-NAME.\n"
 msgstr ""
-"Usage : guix import cran NOM-DU-PAQUET\n"
+"Utilisation : guix import cran NOM-DU-PAQUET\n"
 "Importer et convertir le paquet CAN pour NOM-DU-PAQUET.\n"
 
 #: guix/scripts/import/cran.scm:45
@@ -2126,30 +2617,30 @@ msgstr ""
 "\n"
 "  -r, --recursive        importer les paquets de manière récursive"
 
-#: guix/scripts/import/cran.scm:112
+#: guix/scripts/import/cran.scm:106
 #, scheme-format
 msgid "failed to download description for package '~a'~%"
 msgstr "échec lors du téléchargement de la description du paquet « ~a »~%"
 
-#: guix/scripts/import/cran.scm:116 guix/scripts/import/elpa.scm:113
+#: guix/scripts/import/cran.scm:110 guix/scripts/import/elpa.scm:110
 #, scheme-format
 msgid "too few arguments~%"
 msgstr "trop peu d'arguments~%"
 
-#: guix/scripts/import/cran.scm:118 guix/scripts/import/elpa.scm:115
+#: guix/scripts/import/cran.scm:112 guix/scripts/import/elpa.scm:112
 #, scheme-format
 msgid "too many arguments~%"
 msgstr "trop d'arguments~%"
 
-#: guix/scripts/import/elpa.scm:44
+#: guix/scripts/import/elpa.scm:43
 msgid ""
 "Usage: guix import elpa PACKAGE-NAME\n"
 "Import the latest package named PACKAGE-NAME from an ELPA repository.\n"
 msgstr ""
-"Usage : guix import elpa NOM-DU-PAQUET\n"
+"Utilisation : guix import elpa NOM-DU-PAQUET\n"
 "Importer le dernier paquet nommé NOM-DU-PAQUET d'un dépôt ELPA.\n"
 
-#: guix/scripts/import/elpa.scm:46
+#: guix/scripts/import/elpa.scm:45
 msgid ""
 "\n"
 "  -a, --archive=ARCHIVE          specify the archive repository"
@@ -2157,7 +2648,7 @@ msgstr ""
 "\n"
 "  -a, --archive=ARCHIVE          spécifier le dépôt de l'archive"
 
-#: guix/scripts/import/elpa.scm:48
+#: guix/scripts/import/elpa.scm:47
 msgid ""
 "\n"
 "  -h, --help                     display this help and exit"
@@ -2165,7 +2656,7 @@ msgstr ""
 "\n"
 "  -h, --help                     afficher cette aide et quitter"
 
-#: guix/scripts/import/elpa.scm:50
+#: guix/scripts/import/elpa.scm:49
 msgid ""
 "\n"
 "  -r, --recursive                generate package expressions for all Emacs packages that are not yet in Guix"
@@ -2173,7 +2664,7 @@ msgstr ""
 "\n"
 "  -r, --recursive                générer des expressions de paquets pour tous les paquets Emacs qui ne sont pas encore dans Guix"
 
-#: guix/scripts/import/elpa.scm:52
+#: guix/scripts/import/elpa.scm:51
 msgid ""
 "\n"
 "  -V, --version                  display version information and exit"
@@ -2181,28 +2672,20 @@ msgstr ""
 "\n"
 "  -V, --version                  afficher les informations sur la version et quitter"
 
-#: guix/scripts/import/elpa.scm:110
+#: guix/scripts/import/elpa.scm:107
 #, scheme-format
 msgid "failed to download package '~a'~%"
 msgstr "échec lors du téléchargement du paquet « ~a »~%"
 
-#: guix/scripts/pull.scm:76
+#: guix/scripts/pull.scm:87
 msgid ""
 "Usage: guix pull [OPTION]...\n"
 "Download and deploy the latest version of Guix.\n"
 msgstr ""
-"Usage : guix pull [OPTION]...\n"
+"Utilisation : guix pull [OPTION]...\n"
 "Télécharger et déployer la dernière version de Guix.\n"
 
-#: guix/scripts/pull.scm:78
-msgid ""
-"\n"
-"      --verbose          produce verbose output"
-msgstr ""
-"\n"
-"      --verbose          produire une sortie verbeuse"
-
-#: guix/scripts/pull.scm:80
+#: guix/scripts/pull.scm:89
 msgid ""
 "\n"
 "  -C, --channels=FILE    deploy the channels defined in FILE"
@@ -2210,7 +2693,7 @@ msgstr ""
 "\n"
 "  -C, --channels=FICHIER déploie les canaux définis dans FICHIER"
 
-#: guix/scripts/pull.scm:82
+#: guix/scripts/pull.scm:91
 msgid ""
 "\n"
 "      --url=URL          download from the Git repository at URL"
@@ -2218,7 +2701,7 @@ msgstr ""
 "\n"
 "      --url=URL          télécharger le dépôt Git depuis URL"
 
-#: guix/scripts/pull.scm:84
+#: guix/scripts/pull.scm:93
 msgid ""
 "\n"
 "      --commit=COMMIT    download the specified COMMIT"
@@ -2226,7 +2709,7 @@ msgstr ""
 "\n"
 "      --commit=COMMIT    télécharger le COMMIT indiqué"
 
-#: guix/scripts/pull.scm:86
+#: guix/scripts/pull.scm:95
 msgid ""
 "\n"
 "      --branch=BRANCH    download the tip of the specified BRANCH"
@@ -2234,7 +2717,7 @@ msgstr ""
 "\n"
 "      --branch=BRANCHE   télécharger le bout de la BRANCHE indiquée"
 
-#: guix/scripts/pull.scm:88
+#: guix/scripts/pull.scm:97
 msgid ""
 "\n"
 "  -N, --news             display news compared to the previous generation"
@@ -2242,7 +2725,7 @@ msgstr ""
 "\n"
 "  -N, --news             affiche les nouveautés par rapport à la génération précédente"
 
-#: guix/scripts/pull.scm:93
+#: guix/scripts/pull.scm:110
 #, scheme-format
 msgid ""
 "\n"
@@ -2251,7 +2734,7 @@ msgstr ""
 "\n"
 "  -p, --profile=PROFIL   utiliser PROFIL au lieu de ~/.config/guix/current"
 
-#: guix/scripts/pull.scm:99
+#: guix/scripts/pull.scm:116
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the new Guix"
@@ -2259,11 +2742,47 @@ msgstr ""
 "\n"
 "      --bootstrap        utiliser le programme d'amorçage Guile pour compiler le nouveau Guix"
 
-#: guix/scripts/pull.scm:196
+#: guix/scripts/pull.scm:217
 msgid "New in this revision:\n"
 msgstr "Nouveautés de cette révision :\n"
 
-#: guix/scripts/pull.scm:225
+#. TRANSLATORS: This describes a "channel"; the first placeholder is
+#. the channel name (e.g., "guix") and the second placeholder is its
+#. URL.
+#: guix/scripts/pull.scm:226
+#, scheme-format
+msgid "    ~a at ~a~%"
+msgstr "    ~a à l'adresse ~a~%"
+
+#: guix/scripts/pull.scm:264
+#, scheme-format
+msgid "    commit ~a~%"
+msgstr "    commit ~a~%"
+
+#: guix/scripts/pull.scm:301
+#, scheme-format
+msgid "News for channel '~a'~%"
+msgstr "Nouveauté du canal « ~a »~%"
+
+#: guix/scripts/pull.scm:327
+#, scheme-format
+msgid "  ~a new channel:~%"
+msgid_plural "  ~a new channels:~%"
+msgstr[0] "  ~a nouveau canal :~%"
+msgstr[1] "  ~a nouveaux canaux :~%"
+
+#: guix/scripts/pull.scm:337
+#, scheme-format
+msgid "  ~a channel removed:~%"
+msgid_plural "  ~a channels removed:~%"
+msgstr[0] "  ~a canal supprimé:~%"
+msgstr[1] "  ~a canaux supprimés:~%"
+
+#: guix/scripts/pull.scm:416
+msgid "Run @command{guix pull --news} to read all the news."
+msgstr "Lancez @command{guix pull --news} pour lire les nouveautés."
+
+#: guix/scripts/pull.scm:424
 #, scheme-format
 msgid ""
 "After setting @code{PATH}, run\n"
@@ -2272,67 +2791,44 @@ msgstr ""
 "Après avoir paramétré @code{PATH}, lancez\n"
 "@command{hash guix} pour vous assurez que votre shell se réfère à @file{~a}."
 
-#: guix/scripts/pull.scm:250
+#: guix/scripts/pull.scm:449
 #, scheme-format
 msgid "Git error ~a~%"
 msgstr "Erreur Git : ~a~%"
 
-#: guix/scripts/pull.scm:252 guix/git.scm:306
+#: guix/scripts/pull.scm:451 guix/git.scm:364
 #, scheme-format
 msgid "Git error: ~a~%"
 msgstr "Erreur Git : ~a~%"
 
-#: guix/scripts/pull.scm:277
+#: guix/scripts/pull.scm:476
 #, scheme-format
 msgid "Migrating profile generations to '~a'...~%"
 msgstr "Migration des générations du profil vers « ~a »...~%"
 
-#: guix/scripts/pull.scm:312
+#: guix/scripts/pull.scm:518
 #, scheme-format
 msgid "while creating symlink '~a': ~a~%"
 msgstr "pendant la création du lien symbolique « ~a » : ~a ~%"
 
-#: guix/scripts/pull.scm:334
-#, scheme-format
-msgid "    repository URL: ~a~%"
-msgstr "    URL du dépôt : ~a~%"
-
-#: guix/scripts/pull.scm:336
-#, scheme-format
-msgid "    branch: ~a~%"
-msgstr "    branche: ~a~%"
-
-#: guix/scripts/pull.scm:337
-#, scheme-format
-msgid "    commit: ~a~%"
-msgstr "    commit : ~a~%"
-
-#: guix/scripts/pull.scm:439
+#: guix/scripts/pull.scm:620
 msgid "  ~h new package: ~a~%"
 msgid_plural "  ~h new packages: ~a~%"
 msgstr[0] "  ~h nouveau paquet : ~a~%"
 msgstr[1] "  ~h nouveaux paquets : ~a~%"
 
-#: guix/scripts/pull.scm:447
+#: guix/scripts/pull.scm:628
 msgid "  ~h package upgraded: ~a~%"
 msgid_plural "  ~h packages upgraded: ~a~%"
 msgstr[0] "  ~h paquet mis à jour : ~a~%"
 msgstr[1] "  ~h paquets mis à jour : ~a~%"
 
-#: guix/scripts/pull.scm:456
-msgid ""
-"Run @command{guix pull --news} to view the complete\n"
-"list of package changes."
-msgstr ""
-"Lancez @command{guix pull --news} pour voir la liste complète\n"
-"des paquets modifiés."
-
-#: guix/scripts/pull.scm:520
+#: guix/scripts/pull.scm:717
 #, scheme-format
 msgid "'~a' did not return a list of channels~%"
 msgstr "« ~a » n'a pas renvoyé une liste de canaux~%"
 
-#: guix/scripts/pull.scm:534
+#: guix/scripts/pull.scm:733
 #, scheme-format
 msgid ""
 "The 'GUIX_PULL_URL' environment variable is deprecated.\n"
@@ -2341,127 +2837,102 @@ msgstr ""
 "La variable d'environnement « GUIX_PULL_URL » est obsolète.\n"
 "Utilisez « ~/.config/guix/channels.scm » à la place."
 
-#: guix/scripts/pull.scm:583
+#: guix/scripts/pull.scm:782
 #, scheme-format
 msgid "Building from this channel:~%"
 msgid_plural "Building from these channels:~%"
 msgstr[0] "Construction depuis ce canal :~%"
 msgstr[1] "Construction depuis ces canaux :~%"
 
-#: guix/scripts/substitute.scm:126
+#: guix/scripts/substitute.scm:124
 #, scheme-format
 msgid "authentication and authorization of substitutes disabled!~%"
 msgstr "authentification et autorisation des substituts désactivées !~%"
 
-#: guix/scripts/substitute.scm:201
+#: guix/scripts/substitute.scm:210
 #, scheme-format
 msgid "download from '~a' failed: ~a, ~s~%"
 msgstr "le téléchargement depuis « ~a » a échoué : ~a, ~s~%"
 
-#: guix/scripts/substitute.scm:214
+#: guix/scripts/substitute.scm:223
 #, scheme-format
 msgid "while fetching ~a: server is somewhat slow~%"
 msgstr "pendant la récupération de ~a : le serveur est plutôt lent~%"
 
-#: guix/scripts/substitute.scm:216
+#: guix/scripts/substitute.scm:225
 #, scheme-format
 msgid "try `--no-substitutes' if the problem persists~%"
 msgstr "essayez l'option « --no-substitutes » si le problème persiste~%"
 
-#: guix/scripts/substitute.scm:226
+#: guix/scripts/substitute.scm:235
 #, scheme-format
 msgid "unsupported substitute URI scheme: ~a~%"
 msgstr "schéma de substitution d'URI non pris en charge : ~a~%"
 
-#: guix/scripts/substitute.scm:261
-#, scheme-format
-msgid "while fetching '~a': ~a (~s)~%"
-msgstr "pendant la récupération de « ~a » : ~a (~s)~%"
-
-#: guix/scripts/substitute.scm:266
-#, scheme-format
-msgid "ignoring substitute server at '~s'~%"
-msgstr "ignore le serveur de substitution à « ~s »~%"
-
-#: guix/scripts/substitute.scm:316
+#: guix/scripts/substitute.scm:274
 #, scheme-format
 msgid "signature version must be a number: ~s~%"
 msgstr "la version de la signature doit être un nombre: ~s~%"
 
-#: guix/scripts/substitute.scm:320
+#: guix/scripts/substitute.scm:278
 #, scheme-format
 msgid "unsupported signature version: ~a~%"
 msgstr "version de signature non prise en charge : ~a~%"
 
-#: guix/scripts/substitute.scm:328
+#: guix/scripts/substitute.scm:286
 #, scheme-format
 msgid "signature is not a valid s-expression: ~s~%"
 msgstr "la signature n'est pas une s-expression valide : ~s~%"
 
-#: guix/scripts/substitute.scm:332
+#: guix/scripts/substitute.scm:290
 #, scheme-format
 msgid "invalid format of the signature field: ~a~%"
 msgstr "format invalide du champ de signature : ~a~%"
 
-#: guix/scripts/substitute.scm:367
+#: guix/scripts/substitute.scm:418
 #, scheme-format
-msgid "invalid signature for '~a'~%"
-msgstr "signature non valide pour « ~a »~%"
-
-#: guix/scripts/substitute.scm:369
-#, scheme-format
-msgid "hash mismatch for '~a'~%"
-msgstr "l'empreinte ne correspond pas pour « ~a »~%"
-
-#: guix/scripts/substitute.scm:371
-#, scheme-format
-msgid "'~a' is signed with an unauthorized key~%"
-msgstr "« ~a » est signé avec une clé non autorisée~%"
+msgid "'~a' does not name a store item~%"
+msgstr "« ~a » ne nomme pas un élément du stockage~%"
 
-#: guix/scripts/substitute.scm:373
+#: guix/scripts/substitute.scm:603
 #, scheme-format
-msgid "signature on '~a' is corrupt~%"
-msgstr "la signature de « ~a » est corrompue~%"
+msgid "~a: host not found: ~a~%"
+msgstr "~a : hôte non trouvé : ~a~%"
 
-#: guix/scripts/substitute.scm:467
+#: guix/scripts/substitute.scm:609
 #, scheme-format
-msgid "'~a' does not name a store item~%"
-msgstr "« ~a » ne nomme pas un élément du stockage~%"
+msgid "~a: connection failed: ~a~%"
+msgstr "~a : la connexion à échouée : ~a~%"
 
-#: guix/scripts/substitute.scm:629
+#: guix/scripts/substitute.scm:625
 #, scheme-format
 msgid "updating substitutes from '~a'... ~5,1f%"
 msgstr "mise à jour des substituts depuis « ~a »... ~5,1f %"
 
-#: guix/scripts/substitute.scm:693
+#: guix/scripts/substitute.scm:696
 #, scheme-format
 msgid "~s: unsupported server URI scheme~%"
 msgstr "~s : schéma d'URI du serveur non pris en charge~%"
 
-#: guix/scripts/substitute.scm:703
-#, scheme-format
-msgid "'~a' uses different store '~a'; ignoring it~%"
-msgstr "« ~a » utilise un stockage « ~a » différent. Il est ignoré~%"
-
-#: guix/scripts/substitute.scm:872
+#: guix/scripts/substitute.scm:836
 #, scheme-format
 msgid "host name lookup error: ~a~%"
 msgstr "erreur lors de la consultation du nom d'hôte : ~a~%"
 
-#: guix/scripts/substitute.scm:877
+#: guix/scripts/substitute.scm:841
 #, scheme-format
 msgid "TLS error in procedure '~a': ~a~%"
 msgstr "Erreur TLS dans la procédure « ~a » : ~a~%"
 
-#: guix/scripts/substitute.scm:888
+#: guix/scripts/substitute.scm:852
 msgid ""
 "Usage: guix substitute [OPTION]...\n"
 "Internal tool to substitute a pre-built binary to a local build.\n"
 msgstr ""
-"Usage : guix substitute [OPTION]...\n"
+"Utilisation : guix substitute [OPTION]...\n"
 "Outil interne pour substituer un binaire pré-compilé à une compilation locale.\n"
 
-#: guix/scripts/substitute.scm:890
+#: guix/scripts/substitute.scm:854
 msgid ""
 "\n"
 "      --query            report on the availability of substitutes for the\n"
@@ -2472,7 +2943,7 @@ msgstr ""
 "                         noms de fichiers de dépôt passés sur l'entrée\n"
 "                         standard"
 
-#: guix/scripts/substitute.scm:893
+#: guix/scripts/substitute.scm:857
 msgid ""
 "\n"
 "      --substitute STORE-FILE DESTINATION\n"
@@ -2484,26 +2955,26 @@ msgstr ""
 "                         télécharger FICHIER-DÉPÔT et l'enregistrer comme un Nar\n"
 "                         dans le fichier DESTINATION"
 
-#: guix/scripts/substitute.scm:958
+#: guix/scripts/substitute.scm:978
 #, scheme-format
 msgid "no valid substitute for '~a'~%"
 msgstr "pas de substitut valide pour « ~a »~%"
 
-#: guix/scripts/substitute.scm:966
+#: guix/scripts/substitute.scm:988
 #, scheme-format
 msgid "Downloading ~a...~%"
 msgstr "Téléchargement de « ~a »...~%"
 
-#: guix/scripts/substitute.scm:1028
+#: guix/scripts/substitute.scm:1048
 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n"
 msgstr "L'ACL pour l'import d'archives ne semble pas initialisée ; les substituts pourraient être indisponibles\n"
 
-#: guix/scripts/substitute.scm:1082
+#: guix/scripts/substitute.scm:1102
 #, scheme-format
 msgid "~a: invalid URI~%"
 msgstr "~a : URI invalide~%"
 
-#: guix/scripts/substitute.scm:1153
+#: guix/scripts/substitute.scm:1173
 #, scheme-format
 msgid "~a: unrecognized options~%"
 msgstr "~a : options non reconnues~%"
@@ -2534,7 +3005,7 @@ msgid ""
 "Sign or verify the signature on the given file.  This tool is meant to\n"
 "be used internally by 'guix-daemon'.\n"
 msgstr ""
-"Usage : guix authenticate OPTION...\n"
+"Utilisation : guix authenticate OPTION...\n"
 "Signer ou vérifier la signature du fichier donné. Cet outil est destiné\n"
 "à être utilisé en interne par « guix-daemon ».\n"
 
@@ -2542,120 +3013,112 @@ msgstr ""
 msgid "wrong arguments"
 msgstr "mauvais arguments"
 
-#: guix/scripts/system.scm:150
+#: guix/scripts/system.scm:154
 #, scheme-format
 msgid "failed to register '~a' under '~a'~%"
 msgstr "impossible d'enregistrer « ~a » sous « ~a »~%"
 
-#: guix/scripts/system.scm:165
+#: guix/scripts/system.scm:169
 #, scheme-format
 msgid "copying to '~a'..."
 msgstr "copie vers « ~a »..."
 
-#: guix/scripts/system.scm:206
-#, scheme-format
-msgid "failed to install bootloader ~a~%"
-msgstr "impossible d'installer le chargeur de démarrage : ~a~%"
-
-#: guix/scripts/system.scm:226
+#: guix/scripts/system.scm:196
 #, scheme-format
 msgid "initializing the current root file system~%"
 msgstr "initialisation du système de fichier racine courant~%"
 
-#: guix/scripts/system.scm:240
+#: guix/scripts/system.scm:210
 #, scheme-format
 msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%"
 msgstr "n'est pas exécuté en tant que « root » donc le propriétaire de « ~a » pourrait être incorrect !~%"
 
-#: guix/scripts/system.scm:292
+#: guix/scripts/system.scm:240 guix/scripts/system.scm:757
+#: guix/scripts/system.scm:862
+#, scheme-format
+msgid "bootloader successfully installed on '~a'~%"
+msgstr "chargeur d'amorçage correctement installé sur « ~a »~%"
+
+#: guix/scripts/system.scm:263
 #, scheme-format
 msgid "while talking to shepherd: ~a~%"
 msgstr "en parlant au shepherd : ~a~%"
 
-#: guix/scripts/system.scm:299
+#: guix/scripts/system.scm:270
 #, scheme-format
 msgid "service '~a' could not be found~%"
 msgstr "service: « ~a » introuvable~%"
 
-#: guix/scripts/system.scm:302
+#: guix/scripts/system.scm:273
 #, scheme-format
 msgid "service '~a' does not have an action '~a'~%"
 msgstr "le service « ~a » n'a pas d'action « ~a »~%"
 
-#: guix/scripts/system.scm:306
+#: guix/scripts/system.scm:277
 #, scheme-format
 msgid "exception caught while executing '~a' on service '~a':~%"
 msgstr "exception interceptée pendant l'exécution de « ~a » sur le service « ~a »:~%"
 
-#: guix/scripts/system.scm:314
+#: guix/scripts/system.scm:285
 #, scheme-format
 msgid "something went wrong: ~s~%"
 msgstr "quelque chose s'est mal passé : ~s~%"
 
-#: guix/scripts/system.scm:317
+#: guix/scripts/system.scm:288
 #, scheme-format
 msgid "shepherd error~%"
 msgstr "erreur du shepherd~%"
 
-#: guix/scripts/system.scm:334
+#: guix/scripts/system.scm:305
 #, scheme-format
 msgid "failed to obtain list of shepherd services~%"
 msgstr "erreur en essayant d'obtenir la liste des services du shepherd~%"
 
-#: guix/scripts/system.scm:354
-#, scheme-format
-msgid "unloading service '~a'...~%"
-msgstr "déchargement du service « ~a »...~%"
-
-#: guix/scripts/system.scm:363
-#, scheme-format
-msgid "loading new services:~{ ~a~}...~%"
-msgstr "chargement des nouveaux services :~{ ~a~}...~%"
-
 #: guix/scripts/system.scm:368
-msgid ""
-"To complete the upgrade, run 'herd restart SERVICE' to stop,\n"
-"upgrade, and restart each service that was not automatically restarted.\n"
-msgstr ""
-"Pour compléter la mise à jour, lancez « herd restart SERVICE » pour arrêter,\n"
-"mettre à jour et redémarrer tous les services qui n'ont pas été redémarrés\n"
-"automatiquement.\n"
-
-#: guix/scripts/system.scm:395
-#, scheme-format
-msgid "activating system...~%"
-msgstr "activation du système...~%"
-
-#: guix/scripts/system.scm:473
 #, scheme-format
 msgid "cannot switch to system generation '~a'~%"
 msgstr "impossible de passer à la génération « ~a » du système~%"
 
-#: guix/scripts/system.scm:546
+#: guix/scripts/system.scm:438
 msgid "the DAG of services"
 msgstr "le graphe orienté acyclique (DAG) des services"
 
-#: guix/scripts/system.scm:559
+#: guix/scripts/system.scm:451
 msgid "the dependency graph of shepherd services"
 msgstr "le graphique des dépendances des services du shepherd"
 
-#: guix/scripts/system.scm:583
+#: guix/scripts/system.scm:477
+#, scheme-format
+msgid "      repository URL: ~a~%"
+msgstr "      URL du dépôt : ~a~%"
+
+#: guix/scripts/system.scm:479
+#, scheme-format
+msgid "      branch: ~a~%"
+msgstr "      branche : ~a~%"
+
+#: guix/scripts/system.scm:480
+#, scheme-format
+msgid "      commit: ~a~%"
+msgstr "      commit : ~a~%"
+
+#: guix/scripts/system.scm:502
 #, scheme-format
 msgid "  file name: ~a~%"
 msgstr "  nom de fichier: ~a~%"
 
-#: guix/scripts/system.scm:584
+#: guix/scripts/system.scm:503
 #, scheme-format
 msgid "  canonical file name: ~a~%"
 msgstr "  nom de fichier canonique : ~a~%"
 
 #. TRANSLATORS: Please preserve the two-space indentation.
-#: guix/scripts/system.scm:586
+#: guix/scripts/system.scm:505
 #, scheme-format
 msgid "  label: ~a~%"
 msgstr "  étiquette : ~a~%"
 
-#: guix/scripts/system.scm:587
+#: guix/scripts/system.scm:506
 #, scheme-format
 msgid "  bootloader: ~a~%"
 msgstr "  chargeur de démarrage : ~a~%"
@@ -2668,22 +3131,34 @@ msgstr "  chargeur de démarrage : ~a~%"
 #. root device: label: "my-root"
 #. or just:
 #. root device: /dev/sda3
-#: guix/scripts/system.scm:597
+#: guix/scripts/system.scm:516
 #, scheme-format
 msgid "  root device: ~[UUID: ~a~;label: ~s~;~a~]~%"
 msgstr "  périphérique racine : ~[UUID : ~a~;étiquette : ~s~;~a~]~%"
 
-#: guix/scripts/system.scm:608
+#: guix/scripts/system.scm:527
 #, scheme-format
 msgid "  kernel: ~a~%"
 msgstr "  noyau : ~a~%"
 
-#: guix/scripts/system.scm:679
+#. TRANSLATORS: Here "channel" is the same terminology as used in
+#. "guix describe" and "guix pull --channels".
+#: guix/scripts/system.scm:537
+#, scheme-format
+msgid "  channels:~%"
+msgstr "  canaux :~%"
+
+#: guix/scripts/system.scm:540
+#, scheme-format
+msgid "  configuration file: ~a~%"
+msgstr "  fichier de configuration : ~a~%"
+
+#: guix/scripts/system.scm:612
 #, scheme-format
 msgid "~a: error: device '~a' not found: ~a~%"
 msgstr "~a : erreur : périphérique « ~a » non trouvé : ~a~%"
 
-#: guix/scripts/system.scm:683
+#: guix/scripts/system.scm:616
 #, scheme-format
 msgid ""
 "If '~a' is a file system\n"
@@ -2692,111 +3167,120 @@ msgstr ""
 "Si « ~a » est une étiquette de système de fichiers, écrivez\n"
 "@code{(file-system-label ~s)} dans votre champ @code{device}."
 
-#: guix/scripts/system.scm:691
+#: guix/scripts/system.scm:624
 #, scheme-format
 msgid "~a: error: file system with label '~a' not found~%"
 msgstr "~a : erreur : le système de fichier étiqueté « ~a » est introuvable~%"
 
-#: guix/scripts/system.scm:696
+#: guix/scripts/system.scm:629
 #, scheme-format
 msgid "~a: error: file system with UUID '~a' not found~%"
 msgstr "~a : erreur : le système de fichier avec l'UUID « ~a » est introuvable~%"
 
-#: guix/scripts/system.scm:797
+#: guix/scripts/system.scm:734
 #, scheme-format
 msgid "~a not found: 'guix pull' was never run~%"
 msgstr "~a pas trouvé : « guix pull » n'a jamais été exécuté~%"
 
-#: guix/scripts/system.scm:798
+#: guix/scripts/system.scm:735
 #, scheme-format
 msgid "Consider running 'guix pull' before 'reconfigure'.~%"
 msgstr "Envisagez d'exécuter « guix pull » avant « reconfigure ».~%"
 
-#: guix/scripts/system.scm:799
+#: guix/scripts/system.scm:736
 #, scheme-format
 msgid "Failing to do that may downgrade your system!~%"
 msgstr "Si vous ne le faites pas, votre système pourrait être amené à une version inférieure !~%"
 
-#: guix/scripts/system.scm:920
+#: guix/scripts/system.scm:855
+#, scheme-format
+msgid "activating system...~%"
+msgstr "activation du système...~%"
+
+#: guix/scripts/system.scm:868
 #, scheme-format
 msgid "initializing operating system under '~a'...~%"
 msgstr "initialisation du système d'exploitation sous « ~a »...~%"
 
-#: guix/scripts/system.scm:965
+#: guix/scripts/system.scm:912
 msgid ""
 "Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n"
 "Build the operating system declared in FILE according to ACTION.\n"
 "Some ACTIONS support additional ARGS.\n"
 msgstr ""
-"Usage : guix system [OPTION ...] ACTION [ARG ...] [FICHIER]\n"
+"Utilisation : guix system [OPTION ...] ACTION [ARG ...] [FICHIER]\n"
 "Compiler le système d'exploitation déclaré dans FICHER en suivant ACTION.\n"
 "Certaines ACTIONS prennent en charge des ARGUMENTS supplémentaires.\n"
 
-#: guix/scripts/system.scm:969 guix/scripts/container.scm:29
+#: guix/scripts/system.scm:916 guix/scripts/container.scm:29
 msgid "The valid values for ACTION are:\n"
 msgstr "Les valeurs possibles pour ACTION sont :\n"
 
-#: guix/scripts/system.scm:971
+#: guix/scripts/system.scm:918
 msgid "   search           search for existing service types\n"
 msgstr "   search           chercher des types de services existants\n"
 
-#: guix/scripts/system.scm:973
+#: guix/scripts/system.scm:920
 msgid "   reconfigure      switch to a new operating system configuration\n"
 msgstr "   reconfigure      basculer vers une nouvelle configuration du système d'exploitation\n"
 
-#: guix/scripts/system.scm:975
+#: guix/scripts/system.scm:922
 msgid "   roll-back        switch to the previous operating system configuration\n"
 msgstr "   roll-back        basculer vers la configuration du système d'exploitation précédente\n"
 
-#: guix/scripts/system.scm:977
+#: guix/scripts/system.scm:924
+msgid "   describe         describe the current system\n"
+msgstr "   describe         décrit le système actuel\n"
+
+#: guix/scripts/system.scm:926
 msgid "   list-generations list the system generations\n"
 msgstr "   list-generations lister les générations du système\n"
 
-#: guix/scripts/system.scm:979
+#: guix/scripts/system.scm:928
 msgid "   switch-generation switch to an existing operating system configuration\n"
 msgstr "   switch-generation basculer vers une configuration du système d'exploitation existante\n"
 
-#: guix/scripts/system.scm:981
+#: guix/scripts/system.scm:930
 msgid "   delete-generations delete old system generations\n"
 msgstr "   delete-generations supprimer les anciennes générations du système\n"
 
-#: guix/scripts/system.scm:983
+#: guix/scripts/system.scm:932
 msgid "   build            build the operating system without installing anything\n"
 msgstr "   build            compiler le système d'exploitation sans rien installer\n"
 
-#: guix/scripts/system.scm:985
+#: guix/scripts/system.scm:934
 msgid "   container        build a container that shares the host's store\n"
 msgstr "   container        compiler un conteneur qui partage le dépôt de l'hôte\n"
 
-#: guix/scripts/system.scm:987
+#: guix/scripts/system.scm:936
 msgid "   vm               build a virtual machine image that shares the host's store\n"
 msgstr "   vm               compiler une machine virtuelle partageant le dépôt de l'hôte\n"
 
-#: guix/scripts/system.scm:989
+#: guix/scripts/system.scm:938
 msgid "   vm-image         build a freestanding virtual machine image\n"
 msgstr "   vm-image         compiler une image autonome de machine virtuelle\n"
 
-#: guix/scripts/system.scm:991
+#: guix/scripts/system.scm:940
 msgid "   disk-image       build a disk image, suitable for a USB stick\n"
 msgstr "   disk-image       compiler une image disque adaptée pour une clé USB\n"
 
-#: guix/scripts/system.scm:993
+#: guix/scripts/system.scm:942
 msgid "   docker-image     build a Docker image\n"
 msgstr "   docker-image     compiler une image Docker\n"
 
-#: guix/scripts/system.scm:995
+#: guix/scripts/system.scm:944
 msgid "   init             initialize a root file system to run GNU\n"
 msgstr "   init             initialiser un système de fichier racine pour lancer GNU.\n"
 
-#: guix/scripts/system.scm:997
+#: guix/scripts/system.scm:946
 msgid "   extension-graph  emit the service extension graph in Dot format\n"
 msgstr "   extension-graph  produire le graphique des extensions de service au format Dot\n"
 
-#: guix/scripts/system.scm:999
+#: guix/scripts/system.scm:948
 msgid "   shepherd-graph   emit the graph of shepherd services in Dot format\n"
 msgstr "   shepherd-graph   produire le graphique des services du shepherd au format Dot\n"
 
-#: guix/scripts/system.scm:1003
+#: guix/scripts/system.scm:952
 msgid ""
 "\n"
 "  -d, --derivation       return the derivation of the given system"
@@ -2804,7 +3288,7 @@ msgstr ""
 "\n"
 "  -d, --derivation       retourner les dérivations pour le système donné"
 
-#: guix/scripts/system.scm:1005
+#: guix/scripts/system.scm:954
 msgid ""
 "\n"
 "  -e, --expression=EXPR  consider the operating-system EXPR evaluates to\n"
@@ -2814,7 +3298,7 @@ msgstr ""
 "  -e, --expression=EXPR  considère le paquet évalué par EXPR\n"
 "                         au lieu de lire FICHIER, lorsque c'est possible"
 
-#: guix/scripts/system.scm:1008
+#: guix/scripts/system.scm:957
 msgid ""
 "\n"
 "      --on-error=STRATEGY\n"
@@ -2826,7 +3310,7 @@ msgstr ""
 "                         appliquer la STRATÉGIE (nothing-special, backtrace ou debug)\n"
 "                         quand une erreur survient en lisant le FICHIER"
 
-#: guix/scripts/system.scm:1012
+#: guix/scripts/system.scm:961
 msgid ""
 "\n"
 "      --file-system-type=TYPE\n"
@@ -2838,7 +3322,7 @@ msgstr ""
 "                         avec « disk-image », produit un système de fichiers racine de TYPE\n"
 "                         (parmis « ext4» et « iso9660 »)"
 
-#: guix/scripts/system.scm:1016
+#: guix/scripts/system.scm:965
 msgid ""
 "\n"
 "      --image-size=SIZE  for 'vm-image', produce an image of SIZE"
@@ -2847,7 +3331,7 @@ msgstr ""
 "      --image-size=TAILLE\n"
 "                         pour « vm-image », produire une image de TAILLE"
 
-#: guix/scripts/system.scm:1018
+#: guix/scripts/system.scm:967
 msgid ""
 "\n"
 "      --no-bootloader    for 'init', do not install a bootloader"
@@ -2855,7 +3339,15 @@ msgstr ""
 "\n"
 "      --no-bootloader    pour « init », ne pas installer un chargeur de démarrage"
 
-#: guix/scripts/system.scm:1020
+#: guix/scripts/system.scm:969 guix/scripts/pack.scm:921
+msgid ""
+"\n"
+"      --save-provenance  save provenance information"
+msgstr ""
+"\n"
+"      --save-provenance  sauvegarder les informations de provenance"
+
+#: guix/scripts/system.scm:971
 msgid ""
 "\n"
 "      --share=SPEC       for 'vm', share host file system according to SPEC"
@@ -2864,7 +3356,24 @@ msgstr ""
 "      --share=SPEC       pour « vm », partager le système de fichiers hôte selon\n"
 "                         SPEC"
 
-#: guix/scripts/system.scm:1022
+#: guix/scripts/system.scm:973
+msgid ""
+"\n"
+"      --expose=SPEC      for 'vm', expose host file system according to SPEC"
+msgstr ""
+"\n"
+"      --expose=SPEC      pour « vm », exposer le système de fichiers hôte selon\n"
+"                         SPEC"
+
+#: guix/scripts/system.scm:975
+msgid ""
+"\n"
+"  -N, --network          for 'container', allow containers to access the network"
+msgstr ""
+"\n"
+"  -N, --network          pour « container », permet l'accès au réseau des conteneurs"
+
+#: guix/scripts/system.scm:977
 msgid ""
 "\n"
 "  -r, --root=FILE        for 'vm', 'vm-image', 'disk-image', 'container',\n"
@@ -2877,16 +3386,7 @@ msgstr ""
 "                         sur le résultat et l'enregistrer en tant que racine du\n"
 "                         ramasse-miettes"
 
-#: guix/scripts/system.scm:1026
-msgid ""
-"\n"
-"      --expose=SPEC      for 'vm', expose host file system according to SPEC"
-msgstr ""
-"\n"
-"      --expose=SPEC      pour « vm », exposer le système de fichiers hôte selon\n"
-"                         SPEC"
-
-#: guix/scripts/system.scm:1028
+#: guix/scripts/system.scm:981
 msgid ""
 "\n"
 "      --full-boot        for 'vm', make a full boot sequence"
@@ -2894,7 +3394,7 @@ msgstr ""
 "\n"
 "      --full-boot        pour « vm », accomplir une séquence complète de démarrage"
 
-#: guix/scripts/system.scm:1030
+#: guix/scripts/system.scm:983
 msgid ""
 "\n"
 "      --skip-checks      skip file system and initrd module safety checks"
@@ -2903,363 +3403,71 @@ msgstr ""
 "      --skip-checks      ignorer les tests de sécurité des systèmes de fichiers et\n"
 "                         des modules de l'initrd"
 
-#: guix/scripts/system.scm:1140
+#: guix/scripts/system.scm:1100
+#, scheme-format
+msgid "'~a' does not return an operating system~%"
+msgstr "« ~a » ne renvoie pas un système d'exploitation~%"
+
+#: guix/scripts/system.scm:1123
 #, scheme-format
 msgid "both file and expression cannot be specified~%"
 msgstr "on ne peut pas spécifier à la fois un fichier et une expression~%"
 
-#: guix/scripts/system.scm:1147
+#: guix/scripts/system.scm:1130
 #, scheme-format
 msgid "no configuration specified~%"
 msgstr "aucune configuration spécifiée~%"
 
-#: guix/scripts/system.scm:1257
+#: guix/scripts/system.scm:1209
+#, scheme-format
+msgid "no system generation, nothing to describe~%"
+msgstr "pas de génération du système, il n'y a rien à décrire~%"
+
+#: guix/scripts/system.scm:1253
 #, scheme-format
 msgid "~a: unknown action~%"
 msgstr "~a : action inconnue~%"
 
-#: guix/scripts/system.scm:1273
+#: guix/scripts/system.scm:1269
 #, scheme-format
 msgid "wrong number of arguments for action '~a'~%"
 msgstr "nombre d'arguments incorrect pour l'action « ~a »~%"
 
-#: guix/scripts/system.scm:1278
+#: guix/scripts/system.scm:1274
 #, scheme-format
 msgid "guix system: missing command name~%"
 msgstr "guix system : nom de commande manquant~%"
 
-#: guix/scripts/system.scm:1280
+#: guix/scripts/system.scm:1276
 #, scheme-format
 msgid "Try 'guix system --help' for more information.~%"
 msgstr "Essayez « guix system --help » pour plus d'informations.~%"
 
-#: guix/scripts/system/search.scm:88 guix/ui.scm:1332 guix/ui.scm:1346
+#: guix/scripts/system/search.scm:92 guix/ui.scm:1332 guix/ui.scm:1350
 msgid "unknown"
 msgstr "inconnu"
 
-#: guix/scripts/lint.scm:144
-#, scheme-format
-msgid "Available checkers:~%"
-msgstr "Vérificateurs disponibles :~%"
-
-#: guix/scripts/lint.scm:168
-msgid "description should not be empty"
-msgstr "la description ne devrait pas être vide"
-
-#: guix/scripts/lint.scm:178
-msgid "Texinfo markup in description is invalid"
-msgstr "Des balises Texinfo dans la description sont invalides"
-
-#: guix/scripts/lint.scm:188
-#, scheme-format
-msgid ""
-"description should not contain ~\n"
-"trademark sign '~a' at ~d"
-msgstr ""
-"la description ne devrait pas contenir ~\n"
-"le signe de marque déposée « ~a » à ~d"
-
-#. TRANSLATORS: '@code' is Texinfo markup and must be kept
-#. as is.
-#: guix/scripts/lint.scm:201
-msgid "use @code or similar ornament instead of quotes"
-msgstr "utiliser @code ou une décoration similaire au lieu des guillemets"
-
-#: guix/scripts/lint.scm:208
-msgid "description should start with an upper-case letter or digit"
-msgstr "la description devrait commencer par une majuscule ou un chiffre"
-
-#: guix/scripts/lint.scm:224
-#, scheme-format
-msgid ""
-"sentences in description should be followed ~\n"
-"by two spaces; possible infraction~p at ~{~a~^, ~}"
-msgstr ""
-"les phrases dans la description devraient être suivies ~\n"
-"par deux espaces. Infraction probable~p à ~{~a~^, ~}"
-
-#: guix/scripts/lint.scm:242
-#, scheme-format
-msgid "invalid description: ~s"
-msgstr "description invalide : ~s"
-
-#: guix/scripts/lint.scm:287
-#, scheme-format
-msgid "'~a' should probably be a native input"
-msgstr "« ~a » devrait sans doute être une entrée native"
-
-#: guix/scripts/lint.scm:303
-#, scheme-format
-msgid "'~a' should probably not be an input at all"
-msgstr "« ~a » ne devrait probablement pas être une entrée du tout"
-
-#: guix/scripts/lint.scm:320
-msgid "synopsis should not be empty"
-msgstr "le synopsis ne devrait pas être vide"
-
-#: guix/scripts/lint.scm:328
-msgid "no period allowed at the end of the synopsis"
-msgstr "un point n'est pas autorisé à la fin du synopsis"
-
-#: guix/scripts/lint.scm:340
-msgid "no article allowed at the beginning of the synopsis"
-msgstr "les articles ne sont pas permis au début du synopsis"
-
-#: guix/scripts/lint.scm:347
-msgid "synopsis should be less than 80 characters long"
-msgstr "le synopsis devrait être plus court que 80 caractères"
-
-#: guix/scripts/lint.scm:353
-msgid "synopsis should start with an upper-case letter or digit"
-msgstr "le synopsis devrait commencer par une majuscule ou un chiffre"
-
-#: guix/scripts/lint.scm:360
-msgid "synopsis should not start with the package name"
-msgstr "le synopsis ne devrait pas commencer par un nom de paquet"
-
-#: guix/scripts/lint.scm:370
-msgid "Texinfo markup in synopsis is invalid"
-msgstr "La balise Texinfo dans le synopsis est invalide"
-
-#: guix/scripts/lint.scm:389
-#, scheme-format
-msgid "invalid synopsis: ~s"
-msgstr "synopsis non valide : ~s"
-
-#: guix/scripts/lint.scm:508
-#, scheme-format
-msgid "URI ~a returned suspiciously small file (~a bytes)"
-msgstr "L'URI ~a a renvoyé un fichier étrangement petit (~a octets)"
-
-#: guix/scripts/lint.scm:518
-#, scheme-format
-msgid "permanent redirect from ~a to ~a"
-msgstr "redirection permanente de ~a vers ~a"
-
-#: guix/scripts/lint.scm:525
-#, scheme-format
-msgid "invalid permanent redirect from ~a"
-msgstr "redirection permanente invalide : ~a"
-
-#: guix/scripts/lint.scm:532 guix/scripts/lint.scm:544
-#, scheme-format
-msgid "URI ~a not reachable: ~a (~s)"
-msgstr "L'URI ~a n'a pu être atteinte : ~a (~s)"
-
-#: guix/scripts/lint.scm:551
-#, scheme-format
-msgid "URI ~a domain not found: ~a"
-msgstr "Le domaine de l'URI ~a n'a pas été trouvé : ~a"
-
-#: guix/scripts/lint.scm:559
-#, scheme-format
-msgid "URI ~a unreachable: ~a"
-msgstr "L'URI ~a n'a pu être atteinte : ~a"
-
-#: guix/scripts/lint.scm:568
-#, scheme-format
-msgid "TLS certificate error: ~a"
-msgstr "Erreur de certificat TLS : ~a"
-
-#: guix/scripts/lint.scm:589
-msgid "invalid value for home page"
-msgstr "valeur invalide pour la page d'accueil"
-
-#: guix/scripts/lint.scm:592
-#, scheme-format
-msgid "invalid home page URL: ~s"
-msgstr "URL de la page d'accueil invalide : ~s"
-
-#: guix/scripts/lint.scm:619
-msgid "file names of patches should start with the package name"
-msgstr "les noms de fichiers des correctifs devraient commencer par le nom du paquet"
-
-#: guix/scripts/lint.scm:635
-#, scheme-format
-msgid "~a: file name is too long"
-msgstr "~a : le nom de fichier est trop long"
-
-#: guix/scripts/lint.scm:676
-#, scheme-format
-msgid "~a: ~a: proposed synopsis: ~s~%"
-msgstr "~a : ~a : synopsis proposé : ~s~%"
-
-#: guix/scripts/lint.scm:689
-#, scheme-format
-msgid "~a: ~a: proposed description:~%     \"~a\"~%"
-msgstr "~a : ~a : description proposée :~%     « ~a »~%"
-
-#: guix/scripts/lint.scm:731
-msgid "all the source URIs are unreachable:"
-msgstr "toutes les URI sources sont inatteignables :"
-
-#: guix/scripts/lint.scm:753
-msgid "the source file name should contain the package name"
-msgstr "le nom du fichier source devrait contenir le nom du paquet"
-
-#: guix/scripts/lint.scm:765
-msgid "the source URI should not be an autogenerated tarball"
-msgstr "l'URI de la source ne devrait pas être une archive auto-générée"
-
-#: guix/scripts/lint.scm:786
-#, scheme-format
-msgid "URL should be 'mirror://~a/~a'"
-msgstr "L'URL devrait être « mirror://~a/~a »"
-
-#: guix/scripts/lint.scm:829
-#, scheme-format
-msgid "URL should be '~a'"
-msgstr "L'URL devrait être « ~a »"
-
-#: guix/scripts/lint.scm:840 guix/scripts/lint.scm:845
-#, scheme-format
-msgid "failed to create ~a derivation: ~a"
-msgstr "échec à la création de la dérivation pour ~a : ~a"
-
-#: guix/scripts/lint.scm:862
-#, scheme-format
-msgid "failed to create ~a derivation: ~s"
-msgstr "échec à la création de la dérivation pour ~a : ~s"
-
-#: guix/scripts/lint.scm:874
-msgid "invalid license field"
-msgstr "champ de licence invalide"
-
-#: guix/scripts/lint.scm:881
-#, scheme-format
-msgid "~a: HTTP GET error for ~a: ~a (~s)~%"
-msgstr "~a : erreur HTTP GET pour ~a : ~a (~s)~%"
-
-#: guix/scripts/lint.scm:891
-#, scheme-format
-msgid "~a: host lookup failure: ~a~%"
-msgstr "~a : erreur lors de la consultation du nom d'hôte : ~a~%"
-
-#: guix/scripts/lint.scm:896
-#, scheme-format
-msgid "~a: TLS certificate error: ~a"
-msgstr "~a : erreur de certificat TLS : ~a"
-
-#: guix/scripts/lint.scm:911
-msgid "while retrieving CVE vulnerabilities"
-msgstr "pendant la récupération des vulnérabilités CVE"
-
-#: guix/scripts/lint.scm:948
-#, scheme-format
-msgid "probably vulnerable to ~a"
-msgstr "probablement vulnérable à ~a"
-
-#: guix/scripts/lint.scm:955
-#, scheme-format
-msgid "while retrieving upstream info for '~a'"
-msgstr "pendant la récupération des informations en amont de « ~a »"
-
-#: guix/scripts/lint.scm:963
-#, scheme-format
-msgid "can be upgraded to ~a"
-msgstr "peut être mis à jour vers ~a"
-
-#: guix/scripts/lint.scm:978
-#, scheme-format
-msgid "tabulation on line ~a, column ~a"
-msgstr "tabulation à la ligne ~a, colonne ~a"
-
-#: guix/scripts/lint.scm:987
+#: guix/scripts/lint.scm:51
 #, scheme-format
-msgid "trailing white space on line ~a"
-msgstr "espace à la fin de la ligne ~a"
-
-#: guix/scripts/lint.scm:997
-#, scheme-format
-msgid "line ~a is way too long (~a characters)"
-msgstr "la ligne ~a est beaucoup trop longue (~a caractères)"
+msgid "~a@~a: ~a~%"
+msgstr "~a@~a : ~a~%"
 
-#: guix/scripts/lint.scm:1008
+#: guix/scripts/lint.scm:74
 #, scheme-format
-msgid "line ~a: parentheses feel lonely, move to the previous or next line"
-msgstr "ligne ~a : des parenthèses se sentent seules. À déplacer à la ligne suivante ou précédente"
-
-#: guix/scripts/lint.scm:1078
-msgid "Validate package descriptions"
-msgstr "Valider des descriptions de paquets"
-
-#: guix/scripts/lint.scm:1082
-msgid "Validate synopsis & description of GNU packages"
-msgstr "Valider le synopsis et la description de paquets GNU"
-
-#: guix/scripts/lint.scm:1086
-msgid "Identify inputs that should be native inputs"
-msgstr "Identifier les entrées qui devraient être natives"
-
-#: guix/scripts/lint.scm:1090
-msgid "Identify inputs that shouldn't be inputs at all"
-msgstr "Identifier les entrées qui ne devraient pas être des entrées du tout"
-
-#: guix/scripts/lint.scm:1094
-msgid "Validate file names and availability of patches"
-msgstr "Valider les noms de fichiers et la disponibilité de correctifs"
-
-#: guix/scripts/lint.scm:1098
-msgid "Validate home-page URLs"
-msgstr "Valider les URL des pages d'accueil"
-
-#. TRANSLATORS: <license> is the name of a data type and must not be
-#. translated.
-#: guix/scripts/lint.scm:1104
-msgid "Make sure the 'license' field is a <license> or a list thereof"
-msgstr "S'assurer que le champ « licence » est une <licence> ou une telle liste"
-
-#: guix/scripts/lint.scm:1109
-msgid "Validate source URLs"
-msgstr "Valider les URL sources"
-
-#: guix/scripts/lint.scm:1113
-msgid "Suggest 'mirror://' URLs"
-msgstr "Suggérer des URL « mirror:// »"
-
-#: guix/scripts/lint.scm:1117
-msgid "Suggest GitHub URLs"
-msgstr "Suggérer des URL GitHub"
-
-#: guix/scripts/lint.scm:1121
-msgid "Validate file names of sources"
-msgstr "Valider les noms des fichiers des sources"
-
-#: guix/scripts/lint.scm:1125
-msgid "Check for autogenerated tarballs"
-msgstr "Vérifier les archives auto-générées"
-
-#: guix/scripts/lint.scm:1129
-msgid "Report failure to compile a package to a derivation"
-msgstr "Signaler l'échec de la compilation d'un paquet d'une dérivation"
-
-#: guix/scripts/lint.scm:1133
-msgid "Validate package synopses"
-msgstr "Valider les synopsis des paquets"
-
-#: guix/scripts/lint.scm:1137
-msgid "Check the Common Vulnerabilities and Exposures (CVE) database"
-msgstr "Vérifier la base de données des vulnérabilités et failles connues (CVE)"
-
-#: guix/scripts/lint.scm:1142
-msgid "Check the package for new upstream releases"
-msgstr "Vérifier s'il y a une nouvelle version en amont pour le paquet"
-
-#: guix/scripts/lint.scm:1146
-msgid "Look for formatting issues in the source"
-msgstr "Rechercher des problèmes de format dans la source"
+msgid "Available checkers:~%"
+msgstr "Vérificateurs disponibles :~%"
 
-#: guix/scripts/lint.scm:1174
+#: guix/scripts/lint.scm:92
 msgid ""
 "Usage: guix lint [OPTION]... [PACKAGE]...\n"
 "Run a set of checkers on the specified package; if none is specified,\n"
 "run the checkers on all packages.\n"
 msgstr ""
-"Usage : guix lint [OPTION]... [PAQUET]...\n"
+"Utilisation : guix lint [OPTION]... [PAQUET]...\n"
 "Lancer un ensemble de vérificateurs sur le paquet spécifié ; si aucun n'est spécifié,\n"
 "lancer les vérificateurs sur tous les paquets.\n"
 
-#: guix/scripts/lint.scm:1177
+#: guix/scripts/lint.scm:95
 msgid ""
 "\n"
 "  -c, --checkers=CHECKER1,CHECKER2...\n"
@@ -3269,7 +3477,7 @@ msgstr ""
 "  -c, --checkers=CHECKER1,CHECKER2...\n"
 "                         lancer uniquement les vérificateurs spécifiés"
 
-#: guix/scripts/lint.scm:1182
+#: guix/scripts/lint.scm:103
 msgid ""
 "\n"
 "  -l, --list-checkers    display the list of available lint checkers"
@@ -3277,21 +3485,21 @@ msgstr ""
 "\n"
 "  -l, --list-checkers    afficher la liste des vérificateurs disponibles"
 
-#: guix/scripts/lint.scm:1202
+#: guix/scripts/lint.scm:122
 #, scheme-format
 msgid "~a: invalid checker~%"
 msgstr "~a : vérificateur non valide~%"
 
-#: guix/scripts/publish.scm:68
+#: guix/scripts/publish.scm:72
 #, scheme-format
 msgid ""
 "Usage: guix publish [OPTION]...\n"
 "Publish ~a over HTTP.\n"
 msgstr ""
-"Usage : guix publish [OPTION]...\n"
+"Utilisation : guix publish [OPTION]...\n"
 "Diffuser ~a via HTTP.\n"
 
-#: guix/scripts/publish.scm:70
+#: guix/scripts/publish.scm:74
 msgid ""
 "\n"
 "  -p, --port=PORT        listen on PORT"
@@ -3299,7 +3507,7 @@ msgstr ""
 "\n"
 "  -p, --port=PORT        écouter sur le PORT"
 
-#: guix/scripts/publish.scm:72
+#: guix/scripts/publish.scm:76
 msgid ""
 "\n"
 "      --listen=HOST      listen on the network interface for HOST"
@@ -3307,7 +3515,7 @@ msgstr ""
 "\n"
 "      --listen=HÔTE      écouter sur l'interface réseau HÔTE"
 
-#: guix/scripts/publish.scm:74
+#: guix/scripts/publish.scm:78
 msgid ""
 "\n"
 "  -u, --user=USER        change privileges to USER as soon as possible"
@@ -3317,17 +3525,17 @@ msgstr ""
 "                         changer les privilèges de UTILISATEUR aussi vite\n"
 "                         que possible"
 
-#: guix/scripts/publish.scm:76
+#: guix/scripts/publish.scm:80
 msgid ""
 "\n"
-"  -C, --compression[=LEVEL]\n"
-"                         compress archives at LEVEL"
+"  -C, --compression[=METHOD:LEVEL]\n"
+"                         compress archives with METHOD at LEVEL"
 msgstr ""
 "\n"
-"  -C, --compression[=NIVEAU]\n"
-"                         compresser les archives au NIVEAU"
+"  -C, --compression[=MÉTHODE:NIVEAU]\n"
+"                         compresser les archives avec MÉTHODE au NIVEAU"
 
-#: guix/scripts/publish.scm:79
+#: guix/scripts/publish.scm:83
 msgid ""
 "\n"
 "  -c, --cache=DIRECTORY  cache published items to DIRECTORY"
@@ -3335,7 +3543,7 @@ msgstr ""
 "\n"
 "  -c, --cache=RÉPERTOIRE mettre les éléments publiés en cache dans le RÉPERTOIRE"
 
-#: guix/scripts/publish.scm:81
+#: guix/scripts/publish.scm:85
 msgid ""
 "\n"
 "      --workers=N        use N workers to bake items"
@@ -3343,7 +3551,7 @@ msgstr ""
 "\n"
 "      --workers=N        utiliser N travailleurs pour préparer les éléments"
 
-#: guix/scripts/publish.scm:83
+#: guix/scripts/publish.scm:87
 msgid ""
 "\n"
 "      --ttl=TTL          announce narinfos can be cached for TTL seconds"
@@ -3352,7 +3560,7 @@ msgstr ""
 "      --ttl=TTL          les annonces narinfos peuvent être mises en cache\n"
 "                         pendant TTL secondes"
 
-#: guix/scripts/publish.scm:85
+#: guix/scripts/publish.scm:89
 msgid ""
 "\n"
 "      --nar-path=PATH    use PATH as the prefix for nar URLs"
@@ -3360,7 +3568,7 @@ msgstr ""
 "\n"
 "      --nar-path=CHEMIN  utiliser le CHEMIN comme préfixe pour les URL nar"
 
-#: guix/scripts/publish.scm:87
+#: guix/scripts/publish.scm:91
 msgid ""
 "\n"
 "      --public-key=FILE  use FILE as the public key for signatures"
@@ -3369,7 +3577,7 @@ msgstr ""
 "      --public-key=FICHIER\n"
 "                         utiliser le FICHIER comme clé publique pour les signatures"
 
-#: guix/scripts/publish.scm:89
+#: guix/scripts/publish.scm:93
 msgid ""
 "\n"
 "      --private-key=FILE use FILE as the private key for signatures"
@@ -3378,7 +3586,7 @@ msgstr ""
 "      --private-key=FICHIER\n"
 "                         utiliser le FICHIER comme clé privée pour les signatures"
 
-#: guix/scripts/publish.scm:91
+#: guix/scripts/publish.scm:95
 msgid ""
 "\n"
 "  -r, --repl[=PORT]      spawn REPL server on PORT"
@@ -3386,77 +3594,82 @@ msgstr ""
 "\n"
 "  -r, --repl[=PORT]      créer le serveur REPL sur le PORT"
 
-#: guix/scripts/publish.scm:107
+#: guix/scripts/publish.scm:111
 #, scheme-format
 msgid "lookup of host '~a' failed: ~a~%"
 msgstr "la recherche de l'hôte « ~a » a échoué : ~a~%"
 
-#: guix/scripts/publish.scm:152
+#: guix/scripts/publish.scm:159
 #, scheme-format
 msgid "lookup of host '~a' returned nothing"
 msgstr "la recherche de l'hôte « ~a » n'a rien retourné"
 
-#: guix/scripts/publish.scm:165
+#: guix/scripts/publish.scm:182
 #, scheme-format
-msgid "zlib support is missing; compression disabled~%"
-msgstr "la prise en charge de zlib est absente. La compression est désactivée~%"
+msgid "~a: unsupported compression type~%"
+msgstr "~a : type de compression non pris en charge~%"
 
-#: guix/scripts/publish.scm:179
+#: guix/scripts/publish.scm:196
 #, scheme-format
 msgid "~a: invalid duration~%"
 msgstr "~a : durée non valide~%"
 
-#: guix/scripts/publish.scm:876
+#: guix/scripts/publish.scm:1008
 #, scheme-format
 msgid "user '~a' not found: ~a~%"
 msgstr "utilisateur « ~a » non trouvé : ~a~%"
 
-#: guix/scripts/publish.scm:917
+#: guix/scripts/publish.scm:1059
 #, scheme-format
 msgid "server running as root; consider using the '--user' option!~%"
 msgstr "le serveur tourne en tant que root. Envisagez d'utiliser l'option « --user » !~%"
 
-#: guix/scripts/publish.scm:922
+#: guix/scripts/publish.scm:1064
 #, scheme-format
 msgid "publishing ~a on ~a, port ~d~%"
 msgstr "diffusion de ~a sur ~a, port ~d~%"
 
-#: guix/scripts/edit.scm:40
+#: guix/scripts/publish.scm:1070
+#, scheme-format
+msgid "using '~a' compression method, level ~a~%"
+msgstr "utilisation de la méthode de compression « ~a », au niveau ~a~%"
+
+#: guix/scripts/edit.scm:45
 msgid ""
 "Usage: guix edit PACKAGE...\n"
 "Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n"
 msgstr ""
-"Usage : guix edit PAQUET...\n"
+"Utilisation : guix edit PAQUET...\n"
 "Démarrer $VISUAL ou $EDITOR pour éditer la définition de PAQUET...\n"
 
-#: guix/scripts/edit.scm:61
+#: guix/scripts/edit.scm:69
 #, scheme-format
 msgid "file '~a' not found in search path ~s~%"
 msgstr "fichier « ~a » pas trouvé dans le chemin de recherche ~s~%"
 
-#: guix/scripts/edit.scm:96
+#: guix/scripts/edit.scm:104
 #, scheme-format
 msgid "failed to launch '~a': ~a~%"
 msgstr "impossible de démarrer « ~a » : ~a~%"
 
-#: guix/scripts/size.scm:69
+#: guix/scripts/size.scm:71
 #, scheme-format
 msgid "no available substitute information for '~a'~%"
 msgstr "pas d'information de substitution disponible pour « ~a »~%"
 
-#: guix/scripts/size.scm:91
+#: guix/scripts/size.scm:93
 msgid "store item"
 msgstr "élément stockage"
 
-#: guix/scripts/size.scm:91
+#: guix/scripts/size.scm:93
 msgid "total"
 msgstr "total"
 
-#: guix/scripts/size.scm:91
+#: guix/scripts/size.scm:93
 msgid "self"
 msgstr "lui-même"
 
-#: guix/scripts/size.scm:99
+#: guix/scripts/size.scm:101
 #, scheme-format
 msgid "total: ~,1f MiB~%"
 msgstr "total : ~,1f MiB~%"
@@ -3464,19 +3677,19 @@ msgstr "total : ~,1f MiB~%"
 #. TRANSLATORS: This is the title of a graph, meaning that the graph
 #. represents a profile of the store (the "store" being the place where
 #. packages are stored.)
-#: guix/scripts/size.scm:222
+#: guix/scripts/size.scm:224
 msgid "store profile"
 msgstr "profil du dépôt"
 
-#: guix/scripts/size.scm:231
+#: guix/scripts/size.scm:233
 msgid ""
 "Usage: guix size [OPTION]... PACKAGE\n"
 "Report the size of PACKAGE and its dependencies.\n"
 msgstr ""
-"Usage : guix size [OPTION]... PAQUET\n"
+"Utilisation : guix size [OPTION]... PAQUET\n"
 "Rapporter la taille du PAQUET et de ses dépendances.\n"
 
-#: guix/scripts/size.scm:236
+#: guix/scripts/size.scm:238
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider packages for SYSTEM--e.g., \"i686-linux\""
@@ -3485,7 +3698,7 @@ msgstr ""
 "  -s, --system=SYSTÈME   prend en compte les paquets pour le SYSTÈME, par exemple « i686-linux »"
 
 #. TRANSLATORS: "closure" and "self" must not be translated.
-#: guix/scripts/size.scm:239
+#: guix/scripts/size.scm:241
 msgid ""
 "\n"
 "      --sort=KEY         sort according to KEY--\"closure\" or \"self\""
@@ -3493,7 +3706,7 @@ msgstr ""
 "\n"
 "      --sort=CLEF        tri en fonction de la CLEF : « closure » ou « self »"
 
-#: guix/scripts/size.scm:241
+#: guix/scripts/size.scm:243
 msgid ""
 "\n"
 "  -m, --map-file=FILE    write to FILE a graphical map of disk usage"
@@ -3501,102 +3714,102 @@ msgstr ""
 "\n"
 "  -m, --map-file=FICHIER écrit dans le FICHIER une carte graphique de l'utilisation du disque"
 
-#: guix/scripts/size.scm:272
+#: guix/scripts/size.scm:277
 #, scheme-format
 msgid "~a: invalid sorting key~%"
 msgstr "~a : clef de tri invalide~%"
 
-#: guix/scripts/size.scm:307
+#: guix/scripts/size.scm:315
 msgid "missing store item argument\n"
 msgstr "argument d'élément de stockage manquant\n"
 
-#: guix/scripts/graph.scm:88
+#: guix/scripts/graph.scm:94
 #, scheme-format
 msgid "~a: invalid argument (package name expected)"
 msgstr "~a : argument invalide (nom de paquet attendu)"
 
-#: guix/scripts/graph.scm:99
+#: guix/scripts/graph.scm:105
 msgid "the DAG of packages, excluding implicit inputs"
 msgstr "le DAG des paquets en excluant les entrées implicites"
 
-#: guix/scripts/graph.scm:135
+#: guix/scripts/graph.scm:141
 msgid "the reverse DAG of packages"
 msgstr "le graphe orienté acyclique (DAG) inversé des paquets"
 
-#: guix/scripts/graph.scm:185
+#: guix/scripts/graph.scm:191
 msgid "the DAG of packages, including implicit inputs"
 msgstr "le DAG des paquets en incluant les entrées implicites"
 
-#: guix/scripts/graph.scm:195
+#: guix/scripts/graph.scm:201
 msgid "the DAG of packages and origins, including implicit inputs"
 msgstr "le DAG des paquets et origines en incluant les entrées implicites"
 
-#: guix/scripts/graph.scm:225
+#: guix/scripts/graph.scm:231
 msgid "same as 'bag', but without the bootstrap nodes"
 msgstr "comme « bag » mais sans les nœuds d'amorçage"
 
-#: guix/scripts/graph.scm:242
+#: guix/scripts/graph.scm:248
 msgid "the reverse DAG of packages, including implicit inputs"
 msgstr "le DAG inversé des paquets en incluant les entrées implicites"
 
-#: guix/scripts/graph.scm:282
+#: guix/scripts/graph.scm:287
 msgid "the DAG of derivations"
 msgstr "le DAG des dérivations"
 
-#: guix/scripts/graph.scm:294
+#: guix/scripts/graph.scm:299
 msgid "unsupported argument for derivation graph"
 msgstr "argument non pris en charge pour le graphe de dérivation"
 
-#: guix/scripts/graph.scm:320
+#: guix/scripts/graph.scm:325
 msgid "unsupported argument for this type of graph"
 msgstr "argument non pris en charge pour ce type de graphe"
 
-#: guix/scripts/graph.scm:333
+#: guix/scripts/graph.scm:338
 #, scheme-format
 msgid "references for '~a' are not known~%"
 msgstr "les références pour « ~a » sont inconnues~%"
 
-#: guix/scripts/graph.scm:340
+#: guix/scripts/graph.scm:345
 msgid "the DAG of run-time dependencies (store references)"
 msgstr "le DAG des dépendances à l'exécution (stockage des références)"
 
-#: guix/scripts/graph.scm:356
+#: guix/scripts/graph.scm:361
 msgid "the DAG of referrers in the store"
 msgstr "le graphe orienté acyclique (DAG) des référents dans le stockage"
 
-#: guix/scripts/graph.scm:386
+#: guix/scripts/graph.scm:391
 msgid "the graph of package modules"
 msgstr "le graphe des modules de paquets"
 
-#: guix/scripts/graph.scm:415
+#: guix/scripts/graph.scm:420
 #, scheme-format
 msgid "~a: unknown node type~%"
 msgstr "~a : type de nœud inconnu~%"
 
-#: guix/scripts/graph.scm:422
+#: guix/scripts/graph.scm:427
 #, scheme-format
 msgid "~a: unknown backend~%"
 msgstr "~a : moteur de graphe inconnu~%"
 
-#: guix/scripts/graph.scm:426
+#: guix/scripts/graph.scm:431
 msgid "The available node types are:\n"
 msgstr "Les types de nœuds disponibles sont :\n"
 
-#: guix/scripts/graph.scm:436
+#: guix/scripts/graph.scm:441
 msgid "The available backend types are:\n"
 msgstr "Les types de moteurs de graphes disponibles sont :\n"
 
 #. TRANSLATORS: Here 'dot' is the name of a program; it must not be
 #. translated.
-#: guix/scripts/graph.scm:484
+#: guix/scripts/graph.scm:494
 msgid ""
 "Usage: guix graph PACKAGE...\n"
 "Emit a representation of the dependency graph of PACKAGE...\n"
 msgstr ""
-"Usage : guix graph PAQUET...\n"
+"Utilisation : guix graph PAQUET...\n"
 "Produit une représentation du graphe des dépendances de PAQUET...\n"
 
-#: guix/scripts/graph.scm:486
+#: guix/scripts/graph.scm:496
 msgid ""
 "\n"
 "  -b, --backend=TYPE     produce a graph with the given backend TYPE"
@@ -3604,7 +3817,7 @@ msgstr ""
 "\n"
 "  -b, --backend=TYPE     produire un graphe avec le TYPE de moteur donné"
 
-#: guix/scripts/graph.scm:488
+#: guix/scripts/graph.scm:498
 msgid ""
 "\n"
 "      --list-backends    list the available graph backends"
@@ -3612,7 +3825,7 @@ msgstr ""
 "\n"
 "      --list-backends    lister les types de moteurs de graphes disponibles"
 
-#: guix/scripts/graph.scm:490
+#: guix/scripts/graph.scm:500
 msgid ""
 "\n"
 "  -t, --type=TYPE        represent nodes of the given TYPE"
@@ -3620,7 +3833,7 @@ msgstr ""
 "\n"
 "  -t, --type=TYPE        représenter les nœuds du TYPE donné"
 
-#: guix/scripts/graph.scm:492
+#: guix/scripts/graph.scm:502
 msgid ""
 "\n"
 "      --list-types       list the available graph types"
@@ -3628,7 +3841,7 @@ msgstr ""
 "\n"
 "      --list-types       lister les types de graphes disponibles"
 
-#: guix/scripts/graph.scm:494 guix/scripts/pack.scm:752
+#: guix/scripts/graph.scm:504 guix/scripts/pack.scm:906
 msgid ""
 "\n"
 "  -e, --expression=EXPR  consider the package EXPR evaluates to"
@@ -3636,7 +3849,7 @@ msgstr ""
 "\n"
 "  -e, --expression=EXPR  considère le paquet évalué par EXPR"
 
-#: guix/scripts/graph.scm:496
+#: guix/scripts/graph.scm:506
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider the graph for SYSTEM--e.g., \"i686-linux\""
@@ -3644,66 +3857,73 @@ msgstr ""
 "\n"
 "  -s, --system=SYSTÈME   considérer le graphe pour le SYSTÈME, par exemple « i686-linux »"
 
-#: guix/scripts/challenge.scm:191
+#: guix/scripts/challenge.scm:301
+#, scheme-format
+msgid "  differing file:~%"
+msgid_plural "  differing files:~%"
+msgstr[0] "  fichier différent :~%"
+msgstr[1] "  fichiers différents :~%"
+
+#: guix/scripts/challenge.scm:370
 #, scheme-format
 msgid "  local hash: ~a~%"
 msgstr "  empreinte locale : ~a~%"
 
-#: guix/scripts/challenge.scm:192
+#: guix/scripts/challenge.scm:371
 #, scheme-format
 msgid "  no local build for '~a'~%"
 msgstr "  aucune compilation locale pour « ~a »~%"
 
-#: guix/scripts/challenge.scm:194
+#: guix/scripts/challenge.scm:373
 #, scheme-format
 msgid "  ~50a: ~a~%"
 msgstr "  ~50a : ~a~%"
 
-#: guix/scripts/challenge.scm:202
+#: guix/scripts/challenge.scm:381
 #, scheme-format
 msgid "~a contents differ:~%"
 msgstr "le contenu de ~a diffère :~%"
 
-#: guix/scripts/challenge.scm:205
+#: guix/scripts/challenge.scm:385
 #, scheme-format
 msgid "could not challenge '~a': no local build~%"
 msgstr "impossible de mettre « ~a » au défi : aucune construction locale~%"
 
-#: guix/scripts/challenge.scm:207
+#: guix/scripts/challenge.scm:387
 #, scheme-format
 msgid "could not challenge '~a': no substitutes~%"
 msgstr "impossible de mettre « ~a » au défi : aucune substitution~%"
 
-#: guix/scripts/challenge.scm:210
+#: guix/scripts/challenge.scm:390
 #, scheme-format
 msgid "~a contents match:~%"
 msgstr "le contenu de ~a correspond:~%"
 
-#: guix/scripts/challenge.scm:219
+#: guix/scripts/challenge.scm:399
 msgid "~h store items were analyzed:~%"
 msgstr "~h éléments du dépôt ont été analysés :~%"
 
-#: guix/scripts/challenge.scm:220
+#: guix/scripts/challenge.scm:400
 msgid "  - ~h (~,1f%) were identical~%"
 msgstr "  - ~h (~,1f %) étaient identiques~%"
 
-#: guix/scripts/challenge.scm:222
+#: guix/scripts/challenge.scm:402
 msgid "  - ~h (~,1f%) differed~%"
 msgstr "  - ~h (~,1f %) étaient différents~%"
 
-#: guix/scripts/challenge.scm:224
+#: guix/scripts/challenge.scm:404
 msgid "  - ~h (~,1f%) were inconclusive~%"
 msgstr "  - ~h (~,1f %) étaient impossibles à évaluer~%"
 
-#: guix/scripts/challenge.scm:233
+#: guix/scripts/challenge.scm:413
 msgid ""
 "Usage: guix challenge [PACKAGE...]\n"
 "Challenge the substitutes for PACKAGE... provided by one or more servers.\n"
 msgstr ""
-"Usage : guix challenge [PAQUET...]\n"
+"Utilisation : guix challenge [PAQUET...]\n"
 "Contrôle les substituts du PAQUET... fourni par un ou plusieurs serveurs.\n"
 
-#: guix/scripts/challenge.scm:235
+#: guix/scripts/challenge.scm:415
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
@@ -3713,7 +3933,7 @@ msgstr ""
 "      --substitute-urls=URLS\n"
 "                         comparer les résultats de compilation avec ceux aux URLS"
 
-#: guix/scripts/challenge.scm:238
+#: guix/scripts/challenge.scm:418
 msgid ""
 "\n"
 "      -v, --verbose      show details about successful comparisons"
@@ -3721,6 +3941,19 @@ msgstr ""
 "\n"
 "      -v, --verbose      montrer les détails des comparaisons réussies"
 
+#: guix/scripts/challenge.scm:420
+msgid ""
+"\n"
+"          --diff=MODE    show differences according to MODE"
+msgstr ""
+"\n"
+"          --diff=MODE    montre les différences suivant MODE"
+
+#: guix/scripts/challenge.scm:449
+#, scheme-format
+msgid "~a: unknown diff mode~%"
+msgstr "~a : mode de différence inconnu~%"
+
 #: guix/scripts/copy.scm:60
 #, scheme-format
 msgid "~a: invalid TCP port number~%"
@@ -3760,12 +3993,17 @@ msgstr ""
 msgid "use '--to' or '--from'~%"
 msgstr "utilisez « --to » ou « --from »~%"
 
-#: guix/scripts/pack.scm:95
+#: guix/scripts/pack.scm:98
 #, scheme-format
 msgid "~a: compressor not found~%"
 msgstr "~a : compresseur introuvable~%"
 
-#: guix/scripts/pack.scm:513
+#: guix/scripts/pack.scm:283
+#, scheme-format
+msgid "entry point not supported in the '~a' format~%"
+msgstr "point d'entré non pris en charge dans le format « ~a »~%"
+
+#: guix/scripts/pack.scm:644
 #, scheme-format
 msgid ""
 "cross-compilation not implemented here;\n"
@@ -3774,11 +4012,11 @@ msgstr ""
 "la compilation croisée n'est pas implémentée ici ;\n"
 "envoyez un courriel à « ~a »~%"
 
-#: guix/scripts/pack.scm:644
+#: guix/scripts/pack.scm:787
 msgid "The supported formats for 'guix pack' are:"
 msgstr "Les formats pris en charge par « guix pack » sont :"
 
-#: guix/scripts/pack.scm:646
+#: guix/scripts/pack.scm:789
 msgid ""
 "\n"
 "  tarball       Self-contained tarball, ready to run on another machine"
@@ -3786,7 +4024,7 @@ msgstr ""
 "\n"
 "  tarball       Archive auto-contenue, prête à être lancée sur d'autres machines"
 
-#: guix/scripts/pack.scm:648
+#: guix/scripts/pack.scm:791
 msgid ""
 "\n"
 "  squashfs      Squashfs image suitable for Singularity"
@@ -3794,7 +4032,7 @@ msgstr ""
 "\n"
 "  squashfs      Image Squashfs compatible avec Singularity"
 
-#: guix/scripts/pack.scm:650
+#: guix/scripts/pack.scm:793
 msgid ""
 "\n"
 "  docker        Tarball ready for 'docker load'"
@@ -3802,17 +4040,17 @@ msgstr ""
 "\n"
 "  docker        Archive prête à être utilisée avec « docker load »"
 
-#: guix/scripts/pack.scm:712
+#: guix/scripts/pack.scm:862
 #, scheme-format
 msgid "~a: invalid symlink specification~%"
 msgstr "~a : spécification de lien symbolique invalide~%"
 
-#: guix/scripts/pack.scm:726
+#: guix/scripts/pack.scm:876
 #, scheme-format
 msgid "~a: unsupported profile name~%"
 msgstr "~a : nom de profil non pris en charge~%"
 
-#: guix/scripts/pack.scm:740
+#: guix/scripts/pack.scm:894
 msgid ""
 "Usage: guix pack [OPTION]... PACKAGE...\n"
 "Create a bundle of PACKAGE.\n"
@@ -3820,7 +4058,7 @@ msgstr ""
 "Utilisation : guix pack [OPTION]... PAQUET...\n"
 "Créer un lot applicatif de PAQUET.\n"
 
-#: guix/scripts/pack.scm:746
+#: guix/scripts/pack.scm:900
 msgid ""
 "\n"
 "  -f, --format=FORMAT    build a pack in the given FORMAT"
@@ -3828,7 +4066,7 @@ msgstr ""
 "\n"
 "  -f, --format=FORMAT    créer un lot applicatif dans le FORMAT donné"
 
-#: guix/scripts/pack.scm:748
+#: guix/scripts/pack.scm:902
 msgid ""
 "\n"
 "      --list-formats     list the formats available"
@@ -3836,7 +4074,7 @@ msgstr ""
 "\n"
 "      --list-formats     lister les formats disponibles"
 
-#: guix/scripts/pack.scm:750
+#: guix/scripts/pack.scm:904
 msgid ""
 "\n"
 "  -R, --relocatable      produce relocatable executables"
@@ -3844,7 +4082,7 @@ msgstr ""
 "\n"
 "  -R, --relocatable      produire des exécutables repositionnables"
 
-#: guix/scripts/pack.scm:758
+#: guix/scripts/pack.scm:912
 msgid ""
 "\n"
 "  -C, --compression=TOOL compress using TOOL--e.g., \"lzip\""
@@ -3853,7 +4091,7 @@ msgstr ""
 "  -C, --compression=OUTIL\n"
 "                         compresser en utilisant l'OUTIL, par ex, « lzip »"
 
-#: guix/scripts/pack.scm:760
+#: guix/scripts/pack.scm:914
 msgid ""
 "\n"
 "  -S, --symlink=SPEC     create symlinks to the profile according to SPEC"
@@ -3861,7 +4099,7 @@ msgstr ""
 "\n"
 "  -S, --symlink=SPEC     créer des liens symboliques vers le profil selon la SPEC"
 
-#: guix/scripts/pack.scm:762
+#: guix/scripts/pack.scm:916
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create a pack with the manifest from FILE"
@@ -3869,15 +4107,17 @@ msgstr ""
 "\n"
 "  -m, --manifest=FICHIER créer un lot avec le manifeste dans FICHIER"
 
-#: guix/scripts/pack.scm:764
+#: guix/scripts/pack.scm:918
 msgid ""
 "\n"
-"      --save-provenance  save provenance information"
+"      --entry-point=PROGRAM\n"
+"                         use PROGRAM as the entry point of the pack"
 msgstr ""
 "\n"
-"      --save-provenance  sauvegarder les informations de provenance"
+"      --entry-point=PROGRAM\n"
+"                         utiliser PROGRAM comme point d'entré du lot applicatif"
 
-#: guix/scripts/pack.scm:766
+#: guix/scripts/pack.scm:923
 msgid ""
 "\n"
 "      --localstatedir    include /var/guix in the resulting pack"
@@ -3885,7 +4125,7 @@ msgstr ""
 "\n"
 "      --localstatedir    inclure /var/guix dans le lot résultant"
 
-#: guix/scripts/pack.scm:768
+#: guix/scripts/pack.scm:925
 msgid ""
 "\n"
 "      --profile-name=NAME\n"
@@ -3894,7 +4134,15 @@ msgstr ""
 "\n"
 "      --profile-name=NOM rempli /var/guix/profiles/.../NOM"
 
-#: guix/scripts/pack.scm:773
+#: guix/scripts/pack.scm:931
+msgid ""
+"\n"
+"  -d, --derivation       return the derivation of the pack"
+msgstr ""
+"\n"
+"  -d, --derivation       renvoyer la dérivation du lot applicatif"
+
+#: guix/scripts/pack.scm:935
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap binaries to build the pack"
@@ -3902,21 +4150,35 @@ msgstr ""
 "\n"
 "      --bootstrap        utiliser les programmes d'amorçage pour compiler le lot"
 
-#: guix/scripts/pack.scm:818
+#: guix/scripts/pack.scm:986
 #, scheme-format
 msgid "could not determine provenance of package ~a~%"
 msgstr "impossible de déterminer la provenance du paquet ~a~%"
 
-#: guix/scripts/pack.scm:827
+#: guix/scripts/pack.scm:995
 #, scheme-format
 msgid "both a manifest and a package list were given~%"
 msgstr "vous avez donné à la fois un manifeste et une liste de paquets~%"
 
-#: guix/scripts/pack.scm:882
+#: guix/scripts/pack.scm:1049
 #, scheme-format
 msgid "~a: unknown pack format~%"
 msgstr "~a : format de lot inconnu~%"
 
+#: guix/scripts/pack.scm:1059
+#, scheme-format
+msgid "no packages specified; building an empty pack~%"
+msgstr "aucun paquet spécifié, construction d'un lot vide~%"
+
+#: guix/scripts/pack.scm:1063
+#, scheme-format
+msgid "Singularity requires you to provide a shell~%"
+msgstr "Singularity a besoin que vous fournissiez un shell~%"
+
+#: guix/scripts/pack.scm:1064
+msgid "Add @code{bash} or @code{bash-minimal} to your package list."
+msgstr "Ajoutez @code{bash} ou @code{bash-minimal} à la liste des paquets."
+
 #: guix/scripts/weather.scm:80
 msgid "computing ~h package derivations for ~a...~%"
 msgstr "calcul de ~h dérivations de paquets pour ~a…~%"
@@ -3925,81 +4187,81 @@ msgstr "calcul de ~h dérivations de paquets pour ~a…~%"
 msgid "looking for ~h store items on ~a...~%"
 msgstr "recherche de ~h éléments du dépôt sur ~a...~%"
 
-#: guix/scripts/weather.scm:181
+#: guix/scripts/weather.scm:184
 msgid "  ~2,1f% substitutes available (~h out of ~h)~%"
 msgstr "  ~2,1f % des substituts sont disponibles (~h sur ~h)~%"
 
-#: guix/scripts/weather.scm:187
+#: guix/scripts/weather.scm:190
 #, scheme-format
 msgid "  unknown substitute sizes~%"
 msgstr "  taille des substituts inconnue~%"
 
-#: guix/scripts/weather.scm:190
+#: guix/scripts/weather.scm:193
 msgid "  ~,1h MiB of nars (compressed)~%"
 msgstr "  ~,1h Mo de fichiers nar (compressés)~%"
 
-#: guix/scripts/weather.scm:191
+#: guix/scripts/weather.scm:194
 msgid "  at least ~,1h MiB of nars (compressed)~%"
 msgstr "  au moins ~,1h Mo de fichiers nar (compressés)~%"
 
-#: guix/scripts/weather.scm:193
+#: guix/scripts/weather.scm:196
 msgid "  ~,1h MiB on disk (uncompressed)~%"
 msgstr "  ~,1h Mo sur le disque (décompressé)~%"
 
-#: guix/scripts/weather.scm:195
+#: guix/scripts/weather.scm:198
 msgid "  ~,3h seconds per request (~,1h seconds in total)~%"
 msgstr "  ~,3h secondes par requête (~,1h secondesen tout)~%"
 
-#: guix/scripts/weather.scm:197
+#: guix/scripts/weather.scm:200
 msgid "  ~,1h requests per second~%"
 msgstr "  ~,1h requêtes par seconde~%"
 
-#: guix/scripts/weather.scm:203
+#: guix/scripts/weather.scm:206
 #, scheme-format
 msgid "  (continuous integration information unavailable)~%"
 msgstr "  (informations sur l’intégration continue indisponibles)~%"
 
-#: guix/scripts/weather.scm:206
+#: guix/scripts/weather.scm:209
 #, scheme-format
 msgid "  '~a' returned ~a (~s)~%"
 msgstr "  « ~a » a renvoyé ~a (~s)~%"
 
-#: guix/scripts/weather.scm:223
+#: guix/scripts/weather.scm:226
 msgid "  ~,1f% (~h out of ~h) of the missing items are queued~%"
 msgstr "  ~,1f % (~h sur ~h) des éléments manquants sont dans la queue~%"
 
-#: guix/scripts/weather.scm:229
+#: guix/scripts/weather.scm:232
 msgid "  at least ~h queued builds~%"
 msgstr "  au moins ~h constructions dans la queue~%"
 
-#: guix/scripts/weather.scm:230
+#: guix/scripts/weather.scm:233
 msgid "  ~h queued builds~%"
 msgstr "  ~h constructions dans la queue~%"
 
-#: guix/scripts/weather.scm:233
+#: guix/scripts/weather.scm:236
 #, scheme-format
 msgid "      ~a: ~a (~0,1f%)~%"
 msgstr "      ~a : ~a (~0,1f %)~%"
 
-#: guix/scripts/weather.scm:239
+#: guix/scripts/weather.scm:242
 #, scheme-format
 msgid "  build rate: ~1,2f builds per hour~%"
 msgstr "  vitesse de construction : ~1,2f constructions par l'heure~%"
 
-#: guix/scripts/weather.scm:243
+#: guix/scripts/weather.scm:246
 #, scheme-format
 msgid "      ~a: ~,2f builds per hour~%"
 msgstr "      ~a: ~,2f constructions par heure~%"
 
-#: guix/scripts/weather.scm:255
+#: guix/scripts/weather.scm:258
 msgid ""
-"Usage: guix weather [OPTIONS]\n"
+"Usage: guix weather [OPTIONS] [PACKAGES ...]\n"
 "Report the availability of substitutes.\n"
 msgstr ""
-"Usage : guix weather [OPTIONS]\n"
+"Utilisation : guix weather [OPTIONS] [PAQUETS ...]\n"
 "Rapporte la disponibilité des substituts.\n"
 
-#: guix/scripts/weather.scm:257
+#: guix/scripts/weather.scm:260
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
@@ -4009,7 +4271,7 @@ msgstr ""
 "      --substitute-urls=URLS\n"
 "                         vérifie la disponibilité des substituts aux URLS"
 
-#: guix/scripts/weather.scm:260
+#: guix/scripts/weather.scm:263
 msgid ""
 "\n"
 "  -m, --manifest=MANIFEST\n"
@@ -4019,7 +4281,7 @@ msgstr ""
 "  -m, --manifest=MANIFESTE\n"
 "                         recherche les substituts des paquets du MANIFESTE"
 
-#: guix/scripts/weather.scm:263
+#: guix/scripts/weather.scm:266
 msgid ""
 "\n"
 "  -c, --coverage[=COUNT]\n"
@@ -4031,7 +4293,7 @@ msgstr ""
 "                         affiche la couverture des substituts pour les paquets qui ont au\n"
 "                         moins COMPTE paquets qui en dépendent"
 
-#: guix/scripts/weather.scm:267
+#: guix/scripts/weather.scm:270
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider substitutes for SYSTEM--e.g., \"i686-linux\""
@@ -4039,31 +4301,31 @@ msgstr ""
 "\n"
 "  -s, --system=SYSTÈME   prend en compte les substituts pour le SYSTÈME, par exemple « i686-linux »"
 
-#: guix/scripts/weather.scm:291
+#: guix/scripts/weather.scm:294
 #, scheme-format
 msgid "~a: invalid URL~%"
 msgstr "~a : URL invalide~%"
 
-#: guix/scripts/weather.scm:420
+#: guix/scripts/weather.scm:423
 #, scheme-format
 msgid "The following ~a package is missing from '~a' for '~a':~%"
 msgid_plural "The following ~a packages are missing from '~a' for '~a':~%"
 msgstr[0] "Le (~a) paquet suivant n'est pas sur « ~a » pour « ~a » :~%"
 msgstr[1] "Les ~a paquets suivants ne sont pas sur « ~a » pour « ~a » :~%"
 
-#: guix/scripts/weather.scm:426
+#: guix/scripts/weather.scm:429
 #, scheme-format
 msgid "~a package is missing from '~a' for '~a':~%"
 msgid_plural "~a packages are missing from '~a' for '~a', among which:~%"
 msgstr[0] "~a paquet n'est pas sur « ~a » pour « ~a » :~%"
 msgstr[1] "~a paquets ne sont pas sur « ~a » pour « ~a », parmi lesquels :~%"
 
-#: guix/scripts/describe.scm:46
+#: guix/scripts/describe.scm:50
 #, scheme-format
 msgid "~a: unsupported output format~%"
 msgstr "~a : format de sortie non pris en charge~%"
 
-#: guix/scripts/describe.scm:65
+#: guix/scripts/describe.scm:69
 msgid ""
 "Usage: guix describe [OPTION]...\n"
 "Display information about the channels currently in use.\n"
@@ -4071,7 +4333,7 @@ msgstr ""
 "Utilisation : guix describe [OPTION]...\n"
 "Affiche des informations sur les canaux actuellement utilisés.\n"
 
-#: guix/scripts/describe.scm:67
+#: guix/scripts/describe.scm:71
 msgid ""
 "\n"
 "  -f, --format=FORMAT    display information in the given FORMAT"
@@ -4079,7 +4341,7 @@ msgstr ""
 "\n"
 "  -f, --format=FORMAT    montrer les informations dans le FORMAT donné"
 
-#: guix/scripts/describe.scm:69
+#: guix/scripts/describe.scm:73
 msgid ""
 "\n"
 "  -p, --profile=PROFILE  display information about PROFILE"
@@ -4087,22 +4349,22 @@ msgstr ""
 "\n"
 "  -p, --profile=PROFIL   afficher les informations sur le PROFIL"
 
-#: guix/scripts/describe.scm:88
+#: guix/scripts/describe.scm:92
 #, scheme-format
 msgid "~%;; warning: GUIX_PACKAGE_PATH=\"~a\"~%"
 msgstr "~%;; attention : GUIX_PACKAGE_PATH=\"~a\"~%"
 
-#: guix/scripts/describe.scm:91
+#: guix/scripts/describe.scm:95
 #, scheme-format
 msgid "'GUIX_PACKAGE_PATH' is set but it is not captured~%"
 msgstr "« GUIX_PACKAGE_PATH » est renseigné mais n'est pas utilisé~%"
 
-#: guix/scripts/describe.scm:118
+#: guix/scripts/describe.scm:122
 #, scheme-format
 msgid "failed to determine origin~%"
 msgstr "échec à la détection de l'origine~%"
 
-#: guix/scripts/describe.scm:119
+#: guix/scripts/describe.scm:123
 #, scheme-format
 msgid ""
 "Perhaps this\n"
@@ -4113,26 +4375,41 @@ msgstr ""
 "@command{guix} n'a pas été obtenue avec @command{guix pull} ? Son numéro de version\n"
 "est ~a.~%"
 
-#: guix/scripts/describe.scm:129
+#: guix/scripts/describe.scm:133
 #, scheme-format
 msgid "Git checkout:~%"
 msgstr "Dépôt git :~%"
 
-#: guix/scripts/describe.scm:130
+#: guix/scripts/describe.scm:134
 #, scheme-format
 msgid "  repository: ~a~%"
 msgstr "  URL du dépôt : ~a~%"
 
-#: guix/scripts/describe.scm:131
+#: guix/scripts/describe.scm:135
 #, scheme-format
 msgid "  branch: ~a~%"
 msgstr "  branche: ~a~%"
 
-#: guix/scripts/describe.scm:132
+#: guix/scripts/describe.scm:136
 #, scheme-format
 msgid "  commit: ~a~%"
 msgstr "  commit : ~a~%"
 
+#: guix/scripts/describe.scm:198
+#, scheme-format
+msgid "    repository URL: ~a~%"
+msgstr "    URL du dépôt : ~a~%"
+
+#: guix/scripts/describe.scm:200
+#, scheme-format
+msgid "    branch: ~a~%"
+msgstr "    branche: ~a~%"
+
+#: guix/scripts/describe.scm:201
+#, scheme-format
+msgid "    commit: ~a~%"
+msgstr "    commit : ~a~%"
+
 #: guix/scripts/processes.scm:211
 msgid ""
 "Usage: guix processes\n"
@@ -4141,23 +4418,42 @@ msgstr ""
 "Utilisation : guix processes\n"
 "Liste les sessions Guix actuelles et leurs processus."
 
-#: guix/gnu-maintenance.scm:660
+#: guix/scripts/deploy.scm:47
+msgid ""
+"Usage: guix deploy [OPTION] FILE...\n"
+"Perform the deployment specified by FILE.\n"
+msgstr ""
+"Utilisation: guix debloy [OPTION] FICHIER...\n"
+"Effectue le déploiement spécifié par FICHIER.\n"
+
+#: guix/scripts/deploy.scm:112
+#, scheme-format
+msgid "deploying to ~a...~%"
+msgstr "déploiement vers ~a...~%"
+
+#: guix/scripts/deploy.scm:116
+#, scheme-format
+msgid "failed to deploy ~a: ~a~%"
+msgstr "impossible de déployer ~a : ~a~%"
+
+#: guix/scripts/deploy.scm:121
+#, scheme-format
+msgid "rolling back ~a...~%"
+msgstr "Retour en arrière de ~a...~%"
+
+#: guix/gnu-maintenance.scm:647
 msgid "Updater for GNU packages"
 msgstr "Logiciel de mise à jour des paquets GNU"
 
-#: guix/gnu-maintenance.scm:669
+#: guix/gnu-maintenance.scm:656
 msgid "Updater for GNU packages only available via FTP"
 msgstr "Logiciel de mise à jour des paquets GNU disponibles uniquement par FTP"
 
-#: guix/gnu-maintenance.scm:678
-msgid "Updater for KDE packages"
-msgstr "Logiciel de mise à jour des paquets KDE"
-
-#: guix/gnu-maintenance.scm:685
+#: guix/gnu-maintenance.scm:665
 msgid "Updater for X.org packages"
 msgstr "Logiciel de mise à jour des paquets X.org"
 
-#: guix/gnu-maintenance.scm:692
+#: guix/gnu-maintenance.scm:672
 msgid "Updater for packages hosted on kernel.org"
 msgstr "Logiciel de mise à jour des paquets hébergés sur kernel.org"
 
@@ -4166,7 +4462,7 @@ msgid ""
 "Usage: guix container ACTION ARGS...\n"
 "Build and manipulate Linux containers.\n"
 msgstr ""
-"Usage : guix container ACTION ARGS...\n"
+"Utilisation : guix container ACTION ARGS...\n"
 "Compile et manipule des containers Linux.\n"
 
 #: guix/scripts/container.scm:31
@@ -4186,9 +4482,9 @@ msgstr "guix container : action invalide~%"
 #: guix/scripts/container/exec.scm:40
 msgid ""
 "Usage: guix container exec PID COMMAND [ARGS...]\n"
-"Execute COMMMAND within the container process PID.\n"
+"Execute COMMAND within the container process PID.\n"
 msgstr ""
-"Usage : guix container exec PID COMMANDE [ARGS...]\n"
+"Utilisation : guix container exec PID COMMANDE [ARGS...]\n"
 "Exécuter la COMMANDE dans le container du processus PID.\n"
 
 #: guix/scripts/container/exec.scm:69
@@ -4216,89 +4512,109 @@ msgstr "aucun processus ~d~%"
 msgid "exec failed with status ~d~%"
 msgstr "exec a échoué avec le statut ~d~%"
 
-#: guix/upstream.scm:327
+#: guix/upstream.scm:328
 #, scheme-format
-msgid "signature verification failed for `~a'~%"
-msgstr "la vérification de la signature a échoué pour « ~a »~%"
+msgid "signature verification failed for '~a' (key: ~a)~%"
+msgstr "la vérification de la signature a échoué pour « ~a » (clef : ~a)~%"
 
-#: guix/upstream.scm:329
+#: guix/upstream.scm:332
 #, scheme-format
-msgid "(could be because the public key is not in your keyring)~%"
-msgstr "(il est possible que la clé publique ne soit pas dans dans votre trousseau)~%"
+msgid "missing public key ~a for '~a'~%"
+msgstr "impossible de trouver la clé publique ~a correspondant à « ~a »~%"
 
-#: guix/upstream.scm:397
+#: guix/upstream.scm:408
 #, scheme-format
 msgid "cannot download for this method: ~s"
 msgstr "impossible de télécharger pour cette méthode : ~s"
 
-#: guix/upstream.scm:460
+#: guix/upstream.scm:471
 #, scheme-format
 msgid "~a: could not locate source file"
 msgstr "~a : le fichier source est introuvable"
 
-#: guix/upstream.scm:465
+#: guix/upstream.scm:476
 #, scheme-format
 msgid "~a: ~a: no `version' field in source; skipping~%"
 msgstr "~a : ~a : aucun champ « version » dans la source ; ignoré~%"
 
-#. TRANSLATORS: The goal is to emit "warning:" followed by a short phrase;
-#. "~a" is a placeholder for that phrase.
-#: guix/ui.scm:205
-msgid "warning: "
-msgstr "avertissement : "
-
-#: guix/ui.scm:207
-msgid "error: "
-msgstr "erreur : "
-
-#: guix/ui.scm:254
+#: guix/ui.scm:154
 #, scheme-format
 msgid "error: ~a: unbound variable"
 msgstr "erreur : ~a : variable non liée"
 
-#: guix/ui.scm:350
+#: guix/ui.scm:254
 msgid "entering debugger; type ',bt' for a backtrace\n"
 msgstr "entrée dans le débogueur; tapez « ,bt » pour la trace d'exécution\n"
 
-#: guix/ui.scm:405
+#: guix/ui.scm:311
 msgid "hint: "
 msgstr "conseil : "
 
-#: guix/ui.scm:422
+#: guix/ui.scm:328
 msgid "Did you forget a @code{use-modules} form?"
 msgstr "Auriez-vous oublié un @code{use-modules} ?"
 
-#: guix/ui.scm:424
+#: guix/ui.scm:330
 #, scheme-format
 msgid "Did you forget @code{(use-modules ~a)}?"
 msgstr "Auriez-vous oublié @code{(use-modules ~a)} ?"
 
-#: guix/ui.scm:433 guix/ui.scm:474 guix/ui.scm:480
+#: guix/ui.scm:340
+#, scheme-format
+msgid ""
+"File @file{~a} should probably start with:\n"
+"\n"
+"@example\n"
+"(define-module ~a)\n"
+"@end example"
+msgstr ""
+"Le fichier @file{~a} devrait probablement commencer par :\n"
+"\n"
+"@example\n"
+"(define-module ~a)\n"
+"@end example"
+
+#: guix/ui.scm:354
+#, scheme-format
+msgid "module name ~a does not match file name '~a'~%"
+msgstr "le nom de module « ~a » ne correspond pas au nom du fichier « ~a »~%"
+
+#: guix/ui.scm:358
+#, scheme-format
+msgid "~a: file is empty~%"
+msgstr "~a : le fichier est vide~%"
+
+#: guix/ui.scm:369 guix/ui.scm:411 guix/ui.scm:419
 #, scheme-format
 msgid "failed to load '~a': ~a~%"
 msgstr "impossible de charger « ~a » : ~a~%"
 
-#: guix/ui.scm:440
+#: guix/ui.scm:376
 #, scheme-format
 msgid "~amissing closing parenthesis~%"
 msgstr "~a parenthèses fermantes manquantes~%"
 
-#: guix/ui.scm:454 guix/ui.scm:877
+#: guix/ui.scm:381
+#, scheme-format
+msgid "~s: ~a~%"
+msgstr "~s : ~a~%"
+
+#: guix/ui.scm:391 guix/ui.scm:842
 #, scheme-format
 msgid "exception thrown: ~s~%"
 msgstr "exception générée : ~s~%"
 
-#: guix/ui.scm:458 guix/ui.scm:486
+#: guix/ui.scm:395 guix/ui.scm:425
 #, scheme-format
 msgid "failed to load '~a':~%"
 msgstr "échec lors du chargement de « ~a » :~%"
 
-#: guix/ui.scm:483
+#: guix/ui.scm:422
 #, scheme-format
 msgid "failed to load '~a': exception thrown: ~s~%"
 msgstr "échec lors du chargement de « ~a » : exception générée : ~s~%"
 
-#: guix/ui.scm:516
+#: guix/ui.scm:470
 msgid ""
 "Consider installing the @code{glibc-utf8-locales} or\n"
 "@code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these\n"
@@ -4325,15 +4641,15 @@ msgstr ""
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
-#: guix/ui.scm:554
+#: guix/ui.scm:508
 msgid "(C)"
 msgstr "©"
 
-#: guix/ui.scm:555
+#: guix/ui.scm:509
 msgid "the Guix authors\n"
 msgstr "les auteurs de Guix\n"
 
-#: guix/ui.scm:556
+#: guix/ui.scm:510
 msgid ""
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
 "This is free software: you are free to change and redistribute it.\n"
@@ -4347,7 +4663,7 @@ msgstr ""
 #. package.  Please add another line saying "Report translation bugs to
 #. ...\n" with the address for translation bugs (typically your translation
 #. team's web or email address).
-#: guix/ui.scm:568
+#: guix/ui.scm:522
 #, scheme-format
 msgid ""
 "\n"
@@ -4357,7 +4673,7 @@ msgstr ""
 "Signalez toute anomalie à : ~a.\n"
 "Signalez toute erreur de traduction à : traduc@traduc.org."
 
-#: guix/ui.scm:570
+#: guix/ui.scm:524
 #, scheme-format
 msgid ""
 "\n"
@@ -4366,7 +4682,7 @@ msgstr ""
 "\n"
 "~a page d'accueil : <~a>"
 
-#: guix/ui.scm:572
+#: guix/ui.scm:526
 msgid ""
 "\n"
 "General help using GNU software: <http://www.gnu.org/gethelp/>"
@@ -4374,27 +4690,27 @@ msgstr ""
 "\n"
 "Aide générale sur l'utilisation des logiciels GNU : <http://www.gnu.org/gethelp/>"
 
-#: guix/ui.scm:627
+#: guix/ui.scm:581
 #, scheme-format
 msgid "'~a' is not a valid regular expression: ~a~%"
 msgstr "« ~a » n'est pas une expression rationnelle valide : ~a~%"
 
-#: guix/ui.scm:633
+#: guix/ui.scm:587
 #, scheme-format
 msgid "~a: invalid number~%"
 msgstr "~a : nombre non valide~%"
 
-#: guix/ui.scm:650
+#: guix/ui.scm:604
 #, scheme-format
 msgid "invalid number: ~a~%"
 msgstr "nombre non valide : ~a~%"
 
-#: guix/ui.scm:673
+#: guix/ui.scm:627
 #, scheme-format
 msgid "unknown unit: ~a~%"
 msgstr "unité inconnue : ~a~%"
 
-#: guix/ui.scm:688
+#: guix/ui.scm:642
 #, scheme-format
 msgid ""
 "You cannot have two different versions\n"
@@ -4403,7 +4719,7 @@ msgstr ""
 "Vous ne pouvez pas avoir deux versions ou variantes\n"
 "différentes de @code{~a} dans le même profil."
 
-#: guix/ui.scm:691
+#: guix/ui.scm:645
 #, scheme-format
 msgid ""
 "Try upgrading both @code{~a} and @code{~a},\n"
@@ -4412,116 +4728,111 @@ msgstr ""
 "Essayez de mettre à jour à la fois @code{~a} et @code{~a},\n"
 "ou supprimez-en un du profil."
 
-#: guix/ui.scm:710
+#: guix/ui.scm:664
 #, scheme-format
 msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%"
 msgstr "~a :~a :~a : le paquet « ~a » a une entrée non valide : ~s~%"
 
-#: guix/ui.scm:717
+#: guix/ui.scm:671
 #, scheme-format
 msgid "~a: ~a: build system `~a' does not support cross builds~%"
 msgstr "~a : ~a : le système de construction « ~a » ne prend pas en charge la compilation croisée~%"
 
-#: guix/ui.scm:723
+#: guix/ui.scm:677
 #, scheme-format
 msgid "~s: invalid G-expression input~%"
 msgstr "~s : entrée G-expression invalide~%"
 
-#: guix/ui.scm:726
+#: guix/ui.scm:680
 #, scheme-format
 msgid "profile '~a' does not exist~%"
-msgstr "le profile « ~a » n'existe pas~%"
+msgstr "le profil « ~a » n'existe pas~%"
 
-#: guix/ui.scm:729
+#: guix/ui.scm:683
 #, scheme-format
 msgid "generation ~a of profile '~a' does not exist~%"
-msgstr "la génération ~a du profile « ~a » n'existe pas~%"
+msgstr "la génération ~a du profil « ~a » n'existe pas~%"
 
-#: guix/ui.scm:734
+#: guix/ui.scm:688
 #, scheme-format
 msgid "package '~a~@[@~a~]~@[:~a~]' not found in profile~%"
 msgstr "le paquet « ~a~@[@~a~]~@[:~a~] » n'a pas été trouvé dans le profil~%"
 
-#: guix/ui.scm:746
+#: guix/ui.scm:700
 #, scheme-format
 msgid "   ... propagated from ~a@~a~%"
 msgstr "   ... propagé depuis ~a@~a~%"
 
-#: guix/ui.scm:756
+#: guix/ui.scm:710
 #, scheme-format
 msgid "profile contains conflicting entries for ~a~a~%"
 msgstr "le profil contient des entrées en conflit pour ~a~a~%"
 
-#: guix/ui.scm:759
+#: guix/ui.scm:713
 #, scheme-format
 msgid "  first entry: ~a@~a~a ~a~%"
 msgstr "  première entrée : ~a@~a~a ~a~%"
 
-#: guix/ui.scm:765
+#: guix/ui.scm:719
 #, scheme-format
 msgid "  second entry: ~a@~a~a ~a~%"
 msgstr "  deuxième entrée : ~a@~a~a ~a~%"
 
-#: guix/ui.scm:777
+#: guix/ui.scm:731
 #, scheme-format
 msgid "corrupt input while restoring '~a' from ~s~%"
 msgstr "entrée corrompue en restaurant « ~a » depuis ~s~%"
 
-#: guix/ui.scm:779
+#: guix/ui.scm:733
 #, scheme-format
 msgid "corrupt input while restoring archive from ~s~%"
 msgstr "entrée corrompue en restaurant l'archive depuis ~s~%"
 
-#: guix/ui.scm:782
+#: guix/ui.scm:736
 #, scheme-format
 msgid "failed to connect to `~a': ~a~%"
 msgstr "impossible de se connecter à « ~a » : ~a~%"
 
-#: guix/ui.scm:790
+#: guix/ui.scm:744
 #, scheme-format
 msgid "reference to invalid output '~a' of derivation '~a'~%"
 msgstr "référence à la sortie invalide « ~a » de la dérivation « ~a »~%"
 
-#: guix/ui.scm:794
+#: guix/ui.scm:748
 #, scheme-format
 msgid "file '~a' could not be found in these directories:~{ ~a~}~%"
 msgstr "le fichier « ~a » n'a pas été trouvé dans ces répertoires :~{ ~a~}~%"
 
-#: guix/ui.scm:799
+#: guix/ui.scm:753
 #, scheme-format
 msgid "program exited~@[ with non-zero exit status ~a~]~@[ terminated by signal ~a~]~@[ stopped by signal ~a~]: ~s~%"
 msgstr "le programme a quitté~@[ avec un statut non nul ~a~]~@[ terminé par le signal ~a~]~@[ arrêté par le signal ~a~] : ~s~%"
 
 #: guix/ui.scm:827
 #, scheme-format
-msgid "~a: ~a~%"
-msgstr "~a: ~a~%"
-
-#: guix/ui.scm:862
-#, scheme-format
 msgid "failed to read expression ~s: ~s~%"
 msgstr "impossible de lire l'expression ~s : ~s~%"
 
-#: guix/ui.scm:868
+#: guix/ui.scm:833
 #, scheme-format
 msgid "failed to evaluate expression '~a':~%"
 msgstr "impossible d'évaluer l'expression « ~a » :~%"
 
-#: guix/ui.scm:871
+#: guix/ui.scm:836
 #, scheme-format
 msgid "syntax error: ~a~%"
 msgstr "erreur de syntaxe : ~a~%"
 
-#: guix/ui.scm:889
+#: guix/ui.scm:854
 #, scheme-format
 msgid "expression ~s does not evaluate to a package~%"
 msgstr "l'expression ~s ne correspond à aucun paquet~%"
 
-#: guix/ui.scm:909
+#: guix/ui.scm:881
 msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%"
 msgstr "au moins ~,1h Mo sont nécessaires mais seulement ~,1h Mo sont disponibles dans ~a~%"
 
-#: guix/ui.scm:1011
+#: guix/ui.scm:977
 #, scheme-format
 msgid "~:[The following derivation would be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations would be built:~%~{   ~a~%~}~;~]"
@@ -4530,32 +4841,32 @@ msgstr[1] "~:[Les dérivations suivantes seraient compilées :~%~{   ~a~%~}~;~]"
 
 #. TRANSLATORS: "MB" is for "megabyte"; it should be
 #. translated to the corresponding abbreviation.
-#: guix/ui.scm:1019
+#: guix/ui.scm:985
 msgid "~:[~,1h MB would be downloaded:~%~{   ~a~%~}~;~]"
 msgstr "~:[~,1h Mo seraient téléchargés :~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:1024
+#: guix/ui.scm:991
 #, scheme-format
 msgid "~:[The following file would be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files would be downloaded:~%~{   ~a~%~}~;~]"
 msgstr[0] "~:[Le fichier suivant serait téléchargé :~%~{   ~a~%~}~;~]"
 msgstr[1] "~:[Les fichiers suivants seraient téléchargés :~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:1030
+#: guix/ui.scm:998
 #, scheme-format
 msgid "~:[The following graft would be made:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following grafts would be made:~%~{   ~a~%~}~;~]"
 msgstr[0] "~:[La greffe suivante serait effectuée :~%~{   ~a~%~}~;~]"
 msgstr[1] "~:[Les greffes suivantes seraient effectuées :~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:1035
+#: guix/ui.scm:1003
 #, scheme-format
 msgid "~:[The following profile hook would be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following profile hooks would be built:~%~{   ~a~%~}~;~]"
 msgstr[0] "~:[Le crochet suivante serait compilé :~%~{   ~a~%~}~;~]"
 msgstr[1] "~:[Les crochets suivants seraient compilés :~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:1041
+#: guix/ui.scm:1009
 #, scheme-format
 msgid "~:[The following derivation will be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations will be built:~%~{   ~a~%~}~;~]"
@@ -4564,92 +4875,98 @@ msgstr[1] "~:[Les dérivations suivantes seront compilées :~%~{   ~a~%~}~;~]"
 
 #. TRANSLATORS: "MB" is for "megabyte"; it should be
 #. translated to the corresponding abbreviation.
-#: guix/ui.scm:1049
+#: guix/ui.scm:1017
 msgid "~:[~,1h MB will be downloaded:~%~{   ~a~%~}~;~]"
 msgstr "~:[~,1h Mo seront téléchargés :~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:1054
+#: guix/ui.scm:1023
 #, scheme-format
 msgid "~:[The following file will be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files will be downloaded:~%~{   ~a~%~}~;~]"
 msgstr[0] "~:[Le fichier suivant sera téléchargé :~%~{   ~a~%~}~;~]"
 msgstr[1] "~:[Les fichiers suivants seront téléchargés :~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:1060
+#: guix/ui.scm:1030
 #, scheme-format
 msgid "~:[The following graft will be made:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following grafts will be made:~%~{   ~a~%~}~;~]"
 msgstr[0] "~:[La greffe suivante sera effectuée :~%~{   ~a~%~}~;~]"
 msgstr[1] "~:[Les greffes suivantes seront effectuées :~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:1065
+#: guix/ui.scm:1035
 #, scheme-format
 msgid "~:[The following profile hook will be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following profile hooks will be built:~%~{   ~a~%~}~;~]"
 msgstr[0] "~:[Le crochet suivant sera compilée :~%~{   ~a~%~}~;~]"
 msgstr[1] "~:[Les crochets suivants seront compilés :~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:1124
+#: guix/ui.scm:1094
 #, scheme-format
 msgid "The following package would be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be removed:~%~{~a~%~}~%"
 msgstr[0] "Le paquet suivant serait supprimé :~%~{~a~%~}~%"
 msgstr[1] "Les paquets suivants seraient supprimés :~%~{~a~%~}~%"
 
-#: guix/ui.scm:1129
+#: guix/ui.scm:1099
 #, scheme-format
 msgid "The following package will be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be removed:~%~{~a~%~}~%"
 msgstr[0] "Le paquet suivant sera supprimé :~%~{~a~%~}~%"
 msgstr[1] "Les paquets suivants seront supprimés :~%~{~a~%~}~%"
 
-#: guix/ui.scm:1142
+#: guix/ui.scm:1112
 #, scheme-format
 msgid "The following package would be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%"
 msgstr[0] "Le paquet suivant serait mis à une version inférieure :~%~{~a~%~}~%"
 msgstr[1] "Les paquets suivants seraient mis à des versions inférieures :~%~{~a~%~}~%"
 
-#: guix/ui.scm:1147
+#: guix/ui.scm:1117
 #, scheme-format
 msgid "The following package will be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%"
 msgstr[0] "Le paquet suivant sera mis à une version inférieure :~%~{~a~%~}~%"
 msgstr[1] "Les paquets suivants seront mis à des versions inférieures :~%~{~a~%~}~%"
 
-#: guix/ui.scm:1160
+#: guix/ui.scm:1130
 #, scheme-format
 msgid "The following package would be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%"
 msgstr[0] "Le paquet suivant serait mis à jour :~%~{~a~%~}~%"
 msgstr[1] "Les paquets suivants seraient mis à jour :~%~{~a~%~}~%"
 
-#: guix/ui.scm:1165
+#: guix/ui.scm:1135
 #, scheme-format
 msgid "The following package will be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%"
 msgstr[0] "Le paquet suivant sera mis à jour :~%~{~a~%~}~%"
 msgstr[1] "Les paquets suivants seront mis à jour :~%~{~a~%~}~%"
 
-#: guix/ui.scm:1176
+#: guix/ui.scm:1146
 #, scheme-format
 msgid "The following package would be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be installed:~%~{~a~%~}~%"
 msgstr[0] "Le paquet suivant serait installé :~%~{~a~%~}~%"
 msgstr[1] "Les paquets suivants seraient installés :~%~{~a~%~}~%"
 
-#: guix/ui.scm:1181
+#: guix/ui.scm:1151
 #, scheme-format
 msgid "The following package will be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be installed:~%~{~a~%~}~%"
 msgstr[0] "Le paquet suivant sera installé :~%~{~a~%~}~%"
 msgstr[1] "Les paquets suivants seront installés :~%~{~a~%~}~%"
 
-#: guix/ui.scm:1198 guix/deprecation.scm:46
-msgid "<unknown location>"
-msgstr "<emplacement inconnu>"
+#: guix/ui.scm:1480
+#, scheme-format
+msgid "Run @code{~a ... | less} to view all the results."
+msgstr "Lancez @code{~a ... | less} pour voir tous les résultats"
+
+#: guix/ui.scm:1630
+#, scheme-format
+msgid "invalid syntax: ~a~%"
+msgstr "syntaxe non valide : ~a~%"
 
-#: guix/ui.scm:1580
+#: guix/ui.scm:1640
 #, scheme-format
 msgid "Generation ~a\t~a"
 msgstr "Génération ~a\t~a"
@@ -4659,7 +4976,7 @@ msgstr "Génération ~a\t~a"
 #. usual way of presenting dates in your locale.
 #. See https://www.gnu.org/software/guile/manual/html_node/SRFI_002d19-Date-to-string.html
 #. for details.
-#: guix/ui.scm:1589
+#: guix/ui.scm:1650
 #, scheme-format
 msgid "~b ~d ~Y ~T"
 msgstr "~d ~b ~Y ~T"
@@ -4667,49 +4984,59 @@ msgstr "~d ~b ~Y ~T"
 #. TRANSLATORS: The word "current" here is an adjective for
 #. "Generation", as in "current generation".  Use the appropriate
 #. gender where applicable.
-#: guix/ui.scm:1595
+#: guix/ui.scm:1656
 #, scheme-format
 msgid "~a\t(current)~%"
 msgstr "~a\t(actuelle)~%"
 
-#: guix/ui.scm:1638
+#: guix/ui.scm:1690
+#, scheme-format
+msgid "cannot lock profile ~a: ~a~%"
+msgstr "impossible de verrouiller le profil ~a : ~a~%"
+
+#: guix/ui.scm:1692
+#, scheme-format
+msgid "profile ~a is locked by another process~%"
+msgstr "le profil ~a est verrouillé par un autre processus~%"
+
+#: guix/ui.scm:1719
 #, scheme-format
 msgid "switched from generation ~a to ~a~%"
 msgstr "passé de la génération ~a à ~a~%"
 
-#: guix/ui.scm:1654
+#: guix/ui.scm:1735
 #, scheme-format
 msgid "deleting ~a~%"
 msgstr "suppression de ~a~%"
 
-#: guix/ui.scm:1685
+#: guix/ui.scm:1766
 #, scheme-format
 msgid "Try `guix --help' for more information.~%"
 msgstr "Essayez « guix --help » pour plus d'informations.~%"
 
-#: guix/ui.scm:1713
+#: guix/ui.scm:1794
 msgid ""
 "Usage: guix COMMAND ARGS...\n"
 "Run COMMAND with ARGS.\n"
 msgstr ""
-"Usage : guix COMMANDE ARGS...\n"
+"Utilisation : guix COMMANDE ARGS...\n"
 "Lance la COMMANDE avec les arguments ARGS.\n"
 
-#: guix/ui.scm:1716
+#: guix/ui.scm:1797
 msgid "COMMAND must be one of the sub-commands listed below:\n"
 msgstr "COMMANDE doit être une des sous-commandes listées ci-dessous :\n"
 
-#: guix/ui.scm:1736
+#: guix/ui.scm:1813
 #, scheme-format
 msgid "guix: ~a: command not found~%"
 msgstr "guix : ~a : commande introuvable~%"
 
-#: guix/ui.scm:1766
+#: guix/ui.scm:1843
 #, scheme-format
 msgid "guix: missing command name~%"
 msgstr "guix : nom de commande manquant~%"
 
-#: guix/ui.scm:1774
+#: guix/ui.scm:1851
 #, scheme-format
 msgid "guix: unrecognized option '~a'~%"
 msgstr "guix : option « ~a » non reconnue ~%"
@@ -4855,129 +5182,165 @@ msgstr ""
 msgid "offloading build of ~a to '~a'"
 msgstr "déchargement de la construction de ~a sur « ~a »"
 
-#: guix/http-client.scm:117
+#: guix/http-client.scm:120
 #, scheme-format
 msgid "following redirection to `~a'...~%"
 msgstr "redirection vers « ~a »...~%"
 
-#: guix/http-client.scm:129
+#: guix/http-client.scm:132
 #, scheme-format
 msgid "~a: HTTP download failed: ~a (~s)"
 msgstr "~a : le téléchargement HTTP a échoué : ~a (~s)"
 
-#: guix/nar.scm:157
+#: guix/nar.scm:147
 msgid "signature is not a valid s-expression"
 msgstr "la signature n'est pas une s-expression valide"
 
-#: guix/nar.scm:166
+#: guix/nar.scm:156
 msgid "invalid signature"
 msgstr "signature non valide"
 
-#: guix/nar.scm:170
+#: guix/nar.scm:160
 msgid "invalid hash"
 msgstr "empreinte non valide"
 
-#: guix/nar.scm:178
+#: guix/nar.scm:168
 msgid "unauthorized public key"
 msgstr "clé publique non autorisée"
 
-#: guix/nar.scm:183
+#: guix/nar.scm:173
 msgid "corrupt signature data"
 msgstr "signature corrompue"
 
-#: guix/nar.scm:203
+#: guix/nar.scm:193
 msgid "corrupt file set archive"
 msgstr "ensemble de fichiers corrompu dans l'archive"
 
-#: guix/nar.scm:213
+#: guix/nar.scm:203
 #, scheme-format
 msgid "importing file or directory '~a'...~%"
 msgstr "import du fichier ou répertoire « ~a »...~%"
 
-#: guix/nar.scm:224
+#: guix/nar.scm:214
 #, scheme-format
 msgid "found valid signature for '~a'~%"
 msgstr "signature valide trouvée pour « ~a »~%"
 
-#: guix/nar.scm:231
+#: guix/nar.scm:221
 msgid "imported file lacks a signature"
 msgstr "les fichiers importés requièrent une signature"
 
-#: guix/nar.scm:270
+#: guix/nar.scm:260
 msgid "invalid inter-file archive mark"
 msgstr "marque d'archive inter-fichier non valide"
 
-#: guix/channels.scm:177
+#: guix/channels.scm:168
+msgid "unsupported '.guix-channel' version"
+msgstr "version de « .guix-channel » non prise en charge"
+
+#: guix/channels.scm:174
+msgid "invalid '.guix-channel' file"
+msgstr "fichier « .guix-channel » invalide"
+
+#: guix/channels.scm:224
 #, scheme-format
 msgid "Updating channel '~a' from Git repository at '~a'...~%"
 msgstr "Mise à jour du canal « ~a » depuis le dépôt Git « ~a »...~%"
 
-#: guix/channels.scm:366
+#: guix/channels.scm:460
 msgid "'guix' channel is lacking"
 msgstr "le canal « guix » est absent"
 
-#: guix/profiles.scm:511
+#: guix/channels.scm:462
+msgid ""
+"Make sure your list of channels\n"
+"contains one channel named @code{guix} providing the core of Guix."
+msgstr ""
+"Assurez-vous que votre liste de canaux contient un canal\n"
+"nommé @code{guix} qui fourrnit le cœur de la distribution de\n"
+"Guix."
+
+#: guix/channels.scm:664
+msgid "invalid channel news entry"
+msgstr "entrée de nouvelle d'un canal invalide"
+
+#: guix/channels.scm:682
+msgid "syntactically invalid channel news file"
+msgstr "fichier de nouvelles d'un canal syntactiquement invalide"
+
+#: guix/channels.scm:685
+msgid "invalid channel news file"
+msgstr "fichier de nouvelles d'un canal invalide"
+
+#: guix/profiles.scm:515
 msgid "unsupported manifest format"
 msgstr "format de manifeste non pris en charge"
 
-#: guix/profiles.scm:1748
+#: guix/profiles.scm:1767
 #, scheme-format
 msgid "while creating directory `~a': ~a"
 msgstr "pendant la création du répertoire « ~a » : ~a"
 
-#: guix/profiles.scm:1753
+#: guix/profiles.scm:1772
 #, scheme-format
 msgid "Please create the @file{~a} directory, with you as the owner."
 msgstr "Veuillez créer le répertoire @file{~a} dont vous êtes le propriétaire."
 
-#: guix/profiles.scm:1762
+#: guix/profiles.scm:1781
 #, scheme-format
 msgid "directory `~a' is not owned by you"
 msgstr "vous ne possédez pas le répertoire « ~a »"
 
-#: guix/profiles.scm:1766
+#: guix/profiles.scm:1785
 #, scheme-format
 msgid "Please change the owner of @file{~a} to user ~s."
 msgstr "Veuillez définir le propriétaire de @file{~a} comme étant ~s."
 
-#: guix/git.scm:159
+#: guix/git.scm:170
 msgid "long Git object ID is required"
 msgstr "l'ID long de l'objet Git est requis"
 
-#: guix/git.scm:192
+#: guix/git.scm:229
 #, scheme-format
 msgid "updating submodule '~a'...~%"
 msgstr "mise à jour du sous-module « ~a »…~%"
 
-#: guix/git.scm:205
+#: guix/git.scm:242
 #, scheme-format
 msgid "Support for submodules is missing; please upgrade Guile-Git.~%"
 msgstr "La prise en charge des sous-modules est absente ; mettez Guile-Git à jour.~%"
 
-#: guix/git.scm:344
+#: guix/git.scm:441
 #, scheme-format
 msgid "cannot fetch commit ~a from ~a: ~a"
 msgstr "impossible de récupérer le commit ~a depuis ~a : ~a"
 
-#: guix/git.scm:347
+#: guix/git.scm:444
 #, scheme-format
 msgid "cannot fetch branch '~a' from ~a: ~a"
 msgstr "impossible de récupérer la branche « ~a » depuis ~a : ~a"
 
-#: guix/git.scm:350
+#: guix/git.scm:447
 #, scheme-format
 msgid "Git failure while fetching ~a: ~a"
 msgstr "Échec de Git pendant la récupération de ~a : ~a"
 
-#: guix/deprecation.scm:51
+#: guix/deprecation.scm:37
 #, scheme-format
-msgid "~a: warning: '~a' is deprecated~@[, use '~a' instead~]~%"
-msgstr "~a : attention : « ~a » est obsolète~@[, utilisez « ~a » à la place~]~%"
+msgid "'~a' is deprecated, use '~a' instead~%"
+msgstr "« ~a » est obsolète, utilisez plutôt « ~a »~%"
 
-#: gnu/build/bootloader.scm:91
+#: guix/deprecation.scm:39
 #, scheme-format
-msgid "'~a~{ ~a~}' exited with status ~a; output follows:~%~%~{  ~a~%~}"
-msgstr "« ~a~{ ~a~} » a quitté avec le statut ~a ; la sortie est la suivante :~%~%~{  ~a~%~}"
+msgid "'~a' is deprecated~%"
+msgstr "« ~a » est obsolète~%"
+
+#. TRANSLATORS: 'derivation' must not be translated; it refers to the
+#. 'derivation' procedure.
+#: guix/derivations.scm:743
+#, scheme-format
+msgid "in '~a': deprecated 'derivation' calling convention used~%"
+msgstr "dans « ~a » : convention d'appel à « derivation » obsolète~%"
 
 #: nix/nix-daemon/guix-daemon.cc:66
 msgid "guix-daemon -- perform derivation builds and store accesses"
@@ -5051,58 +5414,136 @@ msgstr "URLS"
 msgid "use URLS as the default list of substitute providers"
 msgstr "utilise URLS comme liste par défaut de fournisseurs de substituts"
 
-#: nix/nix-daemon/guix-daemon.cc:117
-msgid "do not use the 'build hook'"
-msgstr "n'utilise pas le « build hook »"
+#: nix/nix-daemon/guix-daemon.cc:117 nix/nix-daemon/guix-daemon.cc:120
+msgid "do not attempt to offload builds"
+msgstr "n'essaye pas de décharger les constructions"
 
-#: nix/nix-daemon/guix-daemon.cc:119
+#: nix/nix-daemon/guix-daemon.cc:122
 msgid "cache build failures"
 msgstr "garde les fonctionnalités de compilation en cache"
 
-#: nix/nix-daemon/guix-daemon.cc:121
+#: nix/nix-daemon/guix-daemon.cc:124
 msgid "build each derivation N times in a row"
 msgstr "compile chaque dérivation N fois de suite"
 
-#: nix/nix-daemon/guix-daemon.cc:123
+#: nix/nix-daemon/guix-daemon.cc:126
 msgid "do not keep build logs"
 msgstr "ne conserve pas les journaux de compilation"
 
-#: nix/nix-daemon/guix-daemon.cc:126
+#: nix/nix-daemon/guix-daemon.cc:129
 msgid "disable compression of the build logs"
 msgstr "désactive la compression des journaux de compilation"
 
-#: nix/nix-daemon/guix-daemon.cc:128
+#: nix/nix-daemon/guix-daemon.cc:131
 msgid "use the specified compression type for build logs"
 msgstr "utilise le type de compression spécifié pour les journaux de compilation"
 
-#: nix/nix-daemon/guix-daemon.cc:133
+#: nix/nix-daemon/guix-daemon.cc:136
 msgid "disable automatic file \"deduplication\" in the store"
 msgstr "désactive la « déduplication » automatique des fichiers dans le stockage"
 
-#: nix/nix-daemon/guix-daemon.cc:143
+#: nix/nix-daemon/guix-daemon.cc:146
 msgid "impersonate Linux 2.6"
 msgstr "se faire passer pour Linux 2.6"
 
-#: nix/nix-daemon/guix-daemon.cc:147
+#: nix/nix-daemon/guix-daemon.cc:150
 msgid "tell whether the GC must keep outputs of live derivations"
 msgstr "indique si le GC doit garder les sorties des dérivations en temps réel"
 
-#: nix/nix-daemon/guix-daemon.cc:150
+#: nix/nix-daemon/guix-daemon.cc:153
 msgid "tell whether the GC must keep derivations corresponding to live outputs"
 msgstr "indique si le GC doit garder les dérivations correspondant aux sorties en temps réel"
 
-#: nix/nix-daemon/guix-daemon.cc:153
+#: nix/nix-daemon/guix-daemon.cc:156
 msgid "SOCKET"
 msgstr "SOCKET"
 
-#: nix/nix-daemon/guix-daemon.cc:154
+#: nix/nix-daemon/guix-daemon.cc:157
 msgid "listen for connections on SOCKET"
 msgstr "écoute sur SOCKET pour des connexions"
 
-#: nix/nix-daemon/guix-daemon.cc:156
+#: nix/nix-daemon/guix-daemon.cc:159
 msgid "produce debugging output"
 msgstr "produit une sortie de déboguage"
 
+#~ msgid "Hide"
+#~ msgstr "Cacher"
+
+#~ msgid "The following environment variable definitions may be needed:~%"
+#~ msgstr "Il pourrait être nécessaire de définir les variables d'environnement suivantes :~%"
+
+#~ msgid "would install new manifest from '~a' with ~d entries~%"
+#~ msgstr "installerait le nouveau manifeste depuis « ~a » avec ~d entrées~%"
+
+#~ msgid "installing new manifest from '~a' with ~d entries~%"
+#~ msgstr "installation du nouveau manifeste depuis « ~a » avec ~d entrées~%"
+
+#~ msgid ""
+#~ "\n"
+#~ "      --verbose          produce verbose output"
+#~ msgstr ""
+#~ "\n"
+#~ "      --verbose          produire une sortie verbeuse"
+
+#~ msgid "while fetching '~a': ~a (~s)~%"
+#~ msgstr "pendant la récupération de « ~a » : ~a (~s)~%"
+
+#~ msgid "ignoring substitute server at '~s'~%"
+#~ msgstr "ignore le serveur de substitution à « ~s »~%"
+
+#~ msgid "invalid signature for '~a'~%"
+#~ msgstr "signature non valide pour « ~a »~%"
+
+#~ msgid "hash mismatch for '~a'~%"
+#~ msgstr "l'empreinte ne correspond pas pour « ~a »~%"
+
+#~ msgid "'~a' is signed with an unauthorized key~%"
+#~ msgstr "« ~a » est signé avec une clé non autorisée~%"
+
+#~ msgid "signature on '~a' is corrupt~%"
+#~ msgstr "la signature de « ~a » est corrompue~%"
+
+#~ msgid "'~a' uses different store '~a'; ignoring it~%"
+#~ msgstr "« ~a » utilise un stockage « ~a » différent. Il est ignoré~%"
+
+#~ msgid "failed to install bootloader ~a~%"
+#~ msgstr "impossible d'installer le chargeur de démarrage : ~a~%"
+
+#~ msgid "unloading service '~a'...~%"
+#~ msgstr "déchargement du service « ~a »...~%"
+
+#~ msgid "loading new services:~{ ~a~}...~%"
+#~ msgstr "chargement des nouveaux services :~{ ~a~}...~%"
+
+#~ msgid ""
+#~ "To complete the upgrade, run 'herd restart SERVICE' to stop,\n"
+#~ "upgrade, and restart each service that was not automatically restarted.\n"
+#~ msgstr ""
+#~ "Pour compléter la mise à jour, lancez « herd restart SERVICE » pour arrêter,\n"
+#~ "mettre à jour et redémarrer tous les services qui n'ont pas été redémarrés\n"
+#~ "automatiquement.\n"
+
+#~ msgid "zlib support is missing; compression disabled~%"
+#~ msgstr "la prise en charge de zlib est absente. La compression est désactivée~%"
+
+#~ msgid "Updater for KDE packages"
+#~ msgstr "Logiciel de mise à jour des paquets KDE"
+
+#~ msgid "(could be because the public key is not in your keyring)~%"
+#~ msgstr "(il est possible que la clé publique ne soit pas dans dans votre trousseau)~%"
+
+#~ msgid "warning: "
+#~ msgstr "avertissement : "
+
+#~ msgid "error: "
+#~ msgstr "erreur : "
+
+#~ msgid "<unknown location>"
+#~ msgstr "<emplacement inconnu>"
+
+#~ msgid "do not use the 'build hook'"
+#~ msgstr "n'utilise pas le « build hook »"
+
 #~ msgid "'--url', '--commit', and '--branch' are not applicable~%"
 #~ msgstr "'--url', '--commit' et '--branch' ne sont pas utilisables~%"
 
@@ -5159,9 +5600,6 @@ msgstr "produit une sortie de déboguage"
 #~ msgid "Guix already up to date\n"
 #~ msgstr "Guix est déjà à jour\n"
 
-#~ msgid "updated ~a successfully deployed under `~a'~%"
-#~ msgstr "~a a été mis à jour et déployé avec succès sous « ~a »~%"
-
 #~ msgid "failed to update Guix, check the build log~%"
 #~ msgstr "échec de la mise à jour de Guix ; consultez le journal de compilation~%"