diff --git a/SOURCES/0006-Add-default-colors-to-documentation.patch b/SOURCES/0006-Add-default-colors-to-documentation.patch
new file mode 100644
index 0000000..aa773c2
--- /dev/null
+++ b/SOURCES/0006-Add-default-colors-to-documentation.patch
@@ -0,0 +1,200 @@
+From 6766d3af1993d48f5548746e68268e674e52bd1d Mon Sep 17 00:00:00 2001
+From: Gary Leydon <gary.leydon@yale.edu>
+Date: Fri, 21 May 2021 14:13:59 -0400
+Subject: [PATCH 1/3] add default colors to documentation
+
+---
+ doc/conf_ref.rst | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/doc/conf_ref.rst b/doc/conf_ref.rst
+index ec5bac2ab..fcaa0319f 100644
+--- a/doc/conf_ref.rst
++++ b/doc/conf_ref.rst
+@@ -498,72 +498,72 @@ configuration file by your distribution to override the DNF defaults.
+     :ref:`color <color-label>`
+ 
+     Color of available packages that are older than installed packages.
+-    The option is used during list operations.
++    The option is used during list operations. Default is dim,cyan.
+ 
+ ``color_list_available_install``
+     :ref:`color <color-label>`
+ 
+     Color of packages that are available for installation and none of their versions in installed.
+-    The option is used during list operations.
++    The option is used during list operations. Default is normal.
+ 
+ ``color_list_available_reinstall``
+     :ref:`color <color-label>`
+ 
+-    Color of available packages that are identical to installed versions and are available for reinstalls.
++    Color of available packages that are identical to installed versions and are available for reinstalls. Default is bold,underline,green.
+     The option is used during list operations.
+ 
+ ``color_list_available_upgrade``
+     :ref:`color <color-label>`
+ 
+-    Color of available packages that are newer than installed packages.
++    Color of available packages that are newer than installed packages. Default is bold,blue.
+     The option is used during list operations.
+ 
+ ``color_list_installed_extra``
+     :ref:`color <color-label>`
+ 
+     Color of installed packages that do not have any version among available packages.
+-    The option is used during list operations.
++    The option is used during list operations. Default is bold,red.
+ 
+ ``color_list_installed_newer``
+     :ref:`color <color-label>`
+ 
+     Color of installed packages that are newer than any version among available packages.
+-    The option is used during list operations.
++    The option is used during list operations. Default is bold,yellow.
+ 
+ ``color_list_installed_older``
+     :ref:`color <color-label>`
+ 
+     Color of installed packages that are older than any version among available packages.
+-    The option is used during list operations.
++    The option is used during list operations. Default is bold.
+ 
+ ``color_list_installed_reinstall``
+     :ref:`color <color-label>`
+ 
+     Color of installed packages that are among available packages and can be reinstalled.
+-    The option is used during list operations.
++    The option is used during list operations. Default is normal.
+ 
+ ``color_search_match``
+     :ref:`color <color-label>`
+ 
+-    Color of patterns matched in search output.
++    Color of patterns matched in search output. Default is bold.
+ 
+ ``color_update_installed``
+     :ref:`color <color-label>`
+ 
+-    Color of removed packages.
++    Color of removed packages. Default is normal.
+     This option is used during displaying transactions.
+ 
+ ``color_update_local``
+     :ref:`color <color-label>`
+ 
+     Color of local packages that are installed from the @commandline repository.
+-    This option is used during displaying transactions.
++    This option is used during displaying transactions. Default is bold.
+ 
+ ``color_update_remote``
+     :ref:`color <color-label>`
+ 
+     Color of packages that are installed/upgraded/downgraded from remote repositories.
+-    This option is used during displaying transactions.
++    This option is used during displaying transactions. Default is normal.
+ 
+ 
+ ==============
+-- 
+2.31.1
+
+
+From 276e3b1d19bfad2a72f75ecbcce478e4f1e575db Mon Sep 17 00:00:00 2001
+From: Gary Leydon <gary.leydon@yale.edu>
+Date: Fri, 21 May 2021 14:16:21 -0400
+Subject: [PATCH 2/3] add author
+
+---
+ AUTHORS | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/AUTHORS b/AUTHORS
+index 1981dc4e7..f8c9eb832 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -95,3 +95,4 @@ DNF CONTRIBUTORS
+     Vladan Kudlac <vladankudlac@gmail.com>
+     Will Woods <wwoods@redhat.com>
+     Furkan Karcıoğlu <krc440002@gmail.com>
++    Gary Leydon <gary.leydon@yale.edu>
+-- 
+2.31.1
+
+
+From 5cfe87de2ecd645c2aa8b210bd98171e8dd72fe5 Mon Sep 17 00:00:00 2001
+From: Gary Leydon <gary.leydon@yale.edu>
+Date: Thu, 27 May 2021 11:52:42 -0400
+Subject: [PATCH 3/3] update colors according to
+ libdnf/libdnf/conf/ConfigMain.cpp
+
+---
+ doc/conf_ref.rst | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/doc/conf_ref.rst b/doc/conf_ref.rst
+index fcaa0319f..016bd00c2 100644
+--- a/doc/conf_ref.rst
++++ b/doc/conf_ref.rst
+@@ -498,13 +498,13 @@ configuration file by your distribution to override the DNF defaults.
+     :ref:`color <color-label>`
+ 
+     Color of available packages that are older than installed packages.
+-    The option is used during list operations. Default is dim,cyan.
++    The option is used during list operations. Default is magenta.
+ 
+ ``color_list_available_install``
+     :ref:`color <color-label>`
+ 
+     Color of packages that are available for installation and none of their versions in installed.
+-    The option is used during list operations. Default is normal.
++    The option is used during list operations. Default is bold,cyan.
+ 
+ ``color_list_available_reinstall``
+     :ref:`color <color-label>`
+@@ -534,36 +534,36 @@ configuration file by your distribution to override the DNF defaults.
+     :ref:`color <color-label>`
+ 
+     Color of installed packages that are older than any version among available packages.
+-    The option is used during list operations. Default is bold.
++    The option is used during list operations. Default is yellow.
+ 
+ ``color_list_installed_reinstall``
+     :ref:`color <color-label>`
+ 
+     Color of installed packages that are among available packages and can be reinstalled.
+-    The option is used during list operations. Default is normal.
++    The option is used during list operations. Default is cyan.
+ 
+ ``color_search_match``
+     :ref:`color <color-label>`
+ 
+-    Color of patterns matched in search output. Default is bold.
++    Color of patterns matched in search output. Default is bold,magenta.
+ 
+ ``color_update_installed``
+     :ref:`color <color-label>`
+ 
+-    Color of removed packages. Default is normal.
++    Color of removed packages. Default is red. 
+     This option is used during displaying transactions.
+ 
+ ``color_update_local``
+     :ref:`color <color-label>`
+ 
+     Color of local packages that are installed from the @commandline repository.
+-    This option is used during displaying transactions. Default is bold.
++    This option is used during displaying transactions. Default is green.
+ 
+ ``color_update_remote``
+     :ref:`color <color-label>`
+ 
+     Color of packages that are installed/upgraded/downgraded from remote repositories.
+-    This option is used during displaying transactions. Default is normal.
++    This option is used during displaying transactions. Default is bold,green.
+ 
+ 
+ ==============
+-- 
+2.31.1
+
diff --git a/SOURCES/0006-Update-translations.patch b/SOURCES/0006-Update-translations.patch
deleted file mode 100644
index 2295616..0000000
--- a/SOURCES/0006-Update-translations.patch
+++ /dev/null
@@ -1,13620 +0,0 @@
-From 9895b138f231c380a90ebace39dc3a9c44e00d46 Mon Sep 17 00:00:00 2001
-From: Marek Blaha <mblaha@redhat.com>
-Date: Mon, 13 Sep 2021 09:45:20 +0200
-Subject: [PATCH] Update translations
-
----
- po/fr.po    | 1283 +++++++++++++++++--------------
- po/ja.po    | 1345 ++++++++++++++++++---------------
- po/ko.po    | 2101 +++++++++++++++++++++++++++------------------------
- po/zh_CN.po | 1311 +++++++++++++++++---------------
- 4 files changed, 3225 insertions(+), 2815 deletions(-)
-
-diff --git a/po/fr.po b/po/fr.po
-index 4e883335..44843ed7 100644
---- a/po/fr.po
-+++ b/po/fr.po
-@@ -15,23 +15,25 @@
- # José Fournier <jaaf64@zoraldia.com>, 2017. #zanata
- # Jérôme Fenal <jfenal@gmail.com>, 2017. #zanata
- # Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2018. #zanata, 2020.
--# Ludek Janda <ljanda@redhat.com>, 2018. #zanata
-+# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
- # Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata, 2020.
--# Julien Humbert <julroy67@gmail.com>, 2020.
-+# Julien Humbert <julroy67@gmail.com>, 2020, 2021.
-+# Sundeep Anand <suanand@redhat.com>, 2021.
-+# Guillaume Jacob <abun.lp@gmail.com>, 2021.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2020-10-05 09:18-0400\n"
--"PO-Revision-Date: 2020-09-12 11:29+0000\n"
--"Last-Translator: Julien Humbert <julroy67@gmail.com>\n"
--"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/dnf-master/fr/>\n"
-+"POT-Creation-Date: 2021-08-11 16:00+0200\n"
-+"PO-Revision-Date: 2021-09-06 17:24+0000\n"
-+"Last-Translator: Sundeep Anand <suanand@redhat.com>\n"
-+"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/dnf-rhel-8/fr/>\n"
- "Language: fr\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=n > 1;\n"
--"X-Generator: Weblate 4.2.2\n"
-+"X-Generator: Weblate 4.8\n"
- 
- #: dnf/automatic/emitter.py:32
- #, python-format
-@@ -78,7 +80,7 @@ msgstr "Échec de l’envoi d’un courriel par « %s » : %s"
- msgid "Failed to execute command '%s': returned %d"
- msgstr "Échec dans l’exécution de la commande « %s » : code retour %d"
- 
--#: dnf/automatic/main.py:164 dnf/conf/config.py:151
-+#: dnf/automatic/main.py:164
- #, python-format
- msgid "Unknown configuration value: %s=%s in %s; %s"
- msgstr "Valeur de configuration inconnue : %s=%s dans %s ; %s"
-@@ -88,22 +90,23 @@ msgstr "Valeur de configuration inconnue : %s=%s dans %s ; %s"
- msgid "Unknown configuration option: %s = %s in %s"
- msgstr "Option de configuration inconnue : %s=%s dans %s"
- 
--#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
-+#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
- msgid "GPG check FAILED"
- msgstr "La vérification GPG a ÉCHOUÉ"
- 
- #: dnf/automatic/main.py:274
- msgid "Waiting for internet connection..."
--msgstr "En attente d'une connexion Internet…"
-+msgstr "En attente d'une connexion Internet..."
- 
- #: dnf/automatic/main.py:304
- msgid "Started dnf-automatic."
- msgstr "dnf-automatic démarré."
- 
- #: dnf/automatic/main.py:308
--#, python-format
--msgid "Sleep for %s seconds"
--msgstr "Mise en sommeil pendant %s secondes"
-+msgid "Sleep for {} second"
-+msgid_plural "Sleep for {} seconds"
-+msgstr[0] "Mise en sommeil pendant {} seconde"
-+msgstr[1] "Mise en sommeil pendant {} secondes"
- 
- #: dnf/automatic/main.py:315
- msgid "System is off-line."
-@@ -115,84 +118,84 @@ msgstr "Le système est hors-ligne."
- msgid "Error: %s"
- msgstr "Erreur : %s"
- 
--#: dnf/base.py:146
-+#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
- msgid "loading repo '{}' failure: {}"
- msgstr "Erreur lors du chargement du dépôt « {} » : {}"
- 
--#: dnf/base.py:148
-+#: dnf/base.py:150
- msgid "Loading repository '{}' has failed"
- msgstr "Échec du chargement du dépôt « {} »"
- 
--#: dnf/base.py:320
-+#: dnf/base.py:327
- msgid "Metadata timer caching disabled when running on metered connection."
- msgstr ""
- "Mise en cache temporisée des métadonnées désactivée lors du fonctionnement "
- "sur connexion limitée."
- 
--#: dnf/base.py:325
-+#: dnf/base.py:332
- msgid "Metadata timer caching disabled when running on a battery."
- msgstr ""
- "Mise en cache temporisée des métadonnées désactivée lors du fonctionnement "
- "sur batterie."
- 
--#: dnf/base.py:330
-+#: dnf/base.py:337
- msgid "Metadata timer caching disabled."
- msgstr "Mise en cache temporisée des métadonnées désactivée."
- 
--#: dnf/base.py:335
-+#: dnf/base.py:342
- msgid "Metadata cache refreshed recently."
- msgstr "Cache des métadonnées mis à jour récemment."
- 
--#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
-+#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
- msgid "There are no enabled repositories in \"{}\"."
- msgstr "Il n’y a pas de dépôts activés dans « {} »."
- 
--#: dnf/base.py:348
-+#: dnf/base.py:355
- #, python-format
- msgid "%s: will never be expired and will not be refreshed."
- msgstr "%s : n’expirera jamais et ne sera pas réinitialisé."
- 
--#: dnf/base.py:350
-+#: dnf/base.py:357
- #, python-format
- msgid "%s: has expired and will be refreshed."
- msgstr "%s : a expiré et sera réinitialisé."
- 
- #. expires within the checking period:
--#: dnf/base.py:354
-+#: dnf/base.py:361
- #, python-format
- msgid "%s: metadata will expire after %d seconds and will be refreshed now"
- msgstr ""
- "%s : métadonnées expireront après %d secondes et seront réinitialisées "
- "maintenant"
- 
--#: dnf/base.py:358
-+#: dnf/base.py:365
- #, python-format
- msgid "%s: will expire after %d seconds."
- msgstr "%s : expireront après %d secondes."
- 
- #. performs the md sync
--#: dnf/base.py:364
-+#: dnf/base.py:371
- msgid "Metadata cache created."
- msgstr "Cache des métadonnées créé."
- 
--#: dnf/base.py:397
-+#: dnf/base.py:404 dnf/base.py:471
- #, python-format
- msgid "%s: using metadata from %s."
- msgstr "%s : utilisation des métadonnées depuis le %s."
- 
--#: dnf/base.py:409
-+#: dnf/base.py:416 dnf/base.py:484
- #, python-format
- msgid "Ignoring repositories: %s"
- msgstr "Dépôts ignorés : %s"
- 
--#: dnf/base.py:412
-+#: dnf/base.py:419
- #, python-format
- msgid "Last metadata expiration check: %s ago on %s."
- msgstr ""
- "Dernière vérification de l’expiration des métadonnées effectuée il y a %s le"
- " %s."
- 
--#: dnf/base.py:443
-+#: dnf/base.py:512
- msgid ""
- "The downloaded packages were saved in cache until the next successful "
- "transaction."
-@@ -200,59 +203,59 @@ msgstr ""
- "Les paquets téléchargés ont été mis en cache jusqu’à la prochaine "
- "transaction réussie."
- 
--#: dnf/base.py:445
-+#: dnf/base.py:514
- #, python-format
- msgid "You can remove cached packages by executing '%s'."
- msgstr "Vous pouvez supprimer les paquets en cache en exécutant « %s »."
- 
--#: dnf/base.py:535
-+#: dnf/base.py:606
- #, python-format
- msgid "Invalid tsflag in config file: %s"
- msgstr "tsflag invalide dans le fichier de configuration : %s"
- 
--#: dnf/base.py:591
-+#: dnf/base.py:662
- #, python-format
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr "Échec d’ajout du fichier de groupes pour le dépôt : %s - %s"
- 
--#: dnf/base.py:823
-+#: dnf/base.py:904
- msgid "Running transaction check"
- msgstr "Test de la transaction"
- 
--#: dnf/base.py:831
-+#: dnf/base.py:912
- msgid "Error: transaction check vs depsolve:"
- msgstr ""
- "Erreur : vérification de transaction contre résolution des dépendances :"
- 
--#: dnf/base.py:837
-+#: dnf/base.py:918
- msgid "Transaction check succeeded."
- msgstr "La vérification de la transaction a réussi."
- 
--#: dnf/base.py:840
-+#: dnf/base.py:921
- msgid "Running transaction test"
- msgstr "Lancement de la transaction de test"
- 
--#: dnf/base.py:850 dnf/base.py:992
-+#: dnf/base.py:931 dnf/base.py:1082
- msgid "RPM: {}"
- msgstr "RPM : {}"
- 
--#: dnf/base.py:851
-+#: dnf/base.py:932
- msgid "Transaction test error:"
- msgstr "Erreur de la transaction de test :"
- 
--#: dnf/base.py:862
-+#: dnf/base.py:943
- msgid "Transaction test succeeded."
- msgstr "Transaction de test réussie."
- 
--#: dnf/base.py:883
-+#: dnf/base.py:964
- msgid "Running transaction"
- msgstr "Exécution de la transaction"
- 
--#: dnf/base.py:911
-+#: dnf/base.py:1001
- msgid "Disk Requirements:"
- msgstr "Besoins en espace disque :"
- 
--#: dnf/base.py:914
-+#: dnf/base.py:1004
- #, python-brace-format
- msgid "At least {0}MB more space needed on the {1} filesystem."
- msgid_plural "At least {0}MB more space needed on the {1} filesystem."
-@@ -263,151 +266,151 @@ msgstr[1] ""
- "Au moins {0} Mio supplémentaires sont nécessaires sur le système de fichiers"
- " {1}."
- 
--#: dnf/base.py:921
-+#: dnf/base.py:1011
- msgid "Error Summary"
- msgstr "Résumé des erreurs"
- 
--#: dnf/base.py:947
-+#: dnf/base.py:1037
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDB modifié en dehors de {prog}."
- 
--#: dnf/base.py:993 dnf/base.py:1001
-+#: dnf/base.py:1083 dnf/base.py:1091
- msgid "Could not run transaction."
- msgstr "Impossible d’exécuter la transaction."
- 
--#: dnf/base.py:996
-+#: dnf/base.py:1086
- msgid "Transaction couldn't start:"
- msgstr "La transaction n’a pas pu démarrer :"
- 
--#: dnf/base.py:1010
-+#: dnf/base.py:1100
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr "Échec de la suppression du fichier de transaction %s"
- 
--#: dnf/base.py:1092
-+#: dnf/base.py:1182
- msgid "Some packages were not downloaded. Retrying."
- msgstr "Certains paquets n’ont pas été téléchargés. Nouvel essai."
- 
--#: dnf/base.py:1122
-+#: dnf/base.py:1212
- #, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
- msgstr ""
- "Les Delta RPM ont réduit la taille des mises à jour de %.1f Mio à %.1f Mio "
- "(%d.1%% économisés)"
- 
--#: dnf/base.py:1125
-+#: dnf/base.py:1215
- #, python-format
- msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
- msgstr ""
--"L’échec des Delta RPMs ont fait augmenter les %.1f MO de mises à jour de "
--"%.1f MB (%d.1%% gaspillés)"
-+"Les Delta RPMs en échec ont fait augmenter la taille des mises à jour de "
-+"%.1f Mio à %.1f Mio (%d.1%% gaspillés)"
- 
--#: dnf/base.py:1167
-+#: dnf/base.py:1257
- msgid "Cannot add local packages, because transaction job already exists"
- msgstr ""
- "Impossible d’ajouter des paquets locaux, car un travail de transaction "
- "existe déjà"
- 
--#: dnf/base.py:1181
-+#: dnf/base.py:1271
- msgid "Could not open: {}"
- msgstr "Impossible d’ouvrir : {}"
- 
--#: dnf/base.py:1219
-+#: dnf/base.py:1309
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr "La clé publique pour %s n’est pas installée"
- 
--#: dnf/base.py:1223
-+#: dnf/base.py:1313
- #, python-format
- msgid "Problem opening package %s"
- msgstr "Problème à l’ouverture du paquet %s"
- 
--#: dnf/base.py:1231
-+#: dnf/base.py:1321
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr "La clé publique pour %s n’est pas de confiance"
- 
--#: dnf/base.py:1235
-+#: dnf/base.py:1325
- #, python-format
- msgid "Package %s is not signed"
- msgstr "Le paquet %s n’est pas signé"
- 
--#: dnf/base.py:1265
-+#: dnf/base.py:1355
- #, python-format
- msgid "Cannot remove %s"
- msgstr "Impossible de supprimer %s"
- 
--#: dnf/base.py:1269
-+#: dnf/base.py:1359
- #, python-format
- msgid "%s removed"
- msgstr "%s supprimé"
- 
--#: dnf/base.py:1549
-+#: dnf/base.py:1639
- msgid "No match for group package \"{}\""
- msgstr "Aucune correspondance pour le paquet du groupe « {} »"
- 
--#: dnf/base.py:1635
-+#: dnf/base.py:1725
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr "Ajout de paquets en provenance du groupe « %s » : %s"
- 
--#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
--#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
--#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
-+#: dnf/base.py:1748 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
-+#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
- #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
- msgid "Nothing to do."
- msgstr "Rien à faire."
- 
--#: dnf/base.py:1676
-+#: dnf/base.py:1766
- msgid "No groups marked for removal."
- msgstr "Aucun groupe marqué pour suppression."
- 
--#: dnf/base.py:1710
-+#: dnf/base.py:1800
- msgid "No group marked for upgrade."
- msgstr "Aucun groupe marqué pour mise à jour."
- 
--#: dnf/base.py:1925
-+#: dnf/base.py:2014
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
- msgstr "Le paquet %s n’est pas installé, impossible de le rétrograder."
- 
--#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
--#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
--#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
--#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
--#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
-+#: dnf/base.py:2016 dnf/base.py:2035 dnf/base.py:2048 dnf/base.py:2075
-+#: dnf/base.py:2128 dnf/base.py:2136 dnf/base.py:2270 dnf/cli/cli.py:417
-+#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
-+#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
-+#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
- #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
--#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
-+#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
- #, python-format
- msgid "No match for argument: %s"
- msgstr "Aucune correspondance pour l’argument : %s"
- 
--#: dnf/base.py:1934
-+#: dnf/base.py:2023
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
- msgstr ""
- "Le paquet %s est déjà installé dans une version inférieure, impossible de le"
- " rétrograder."
- 
--#: dnf/base.py:1957
-+#: dnf/base.py:2046
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
- msgstr "Le paquet %s n’est pas installé, impossible de le réinstaller."
- 
--#: dnf/base.py:1972
-+#: dnf/base.py:2061
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
- msgstr ""
- "Le fichier %s est un paquet source et ne peut pas être mis à jour, ignoré."
- 
--#: dnf/base.py:1978
-+#: dnf/base.py:2072
- #, python-format
- msgid "Package %s not installed, cannot update it."
- msgstr "Le paquet %s n’est pas installé, impossible de le mettre à jour."
- 
--#: dnf/base.py:1987
-+#: dnf/base.py:2082
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
-@@ -415,127 +418,113 @@ msgstr ""
- "La même une ou version supérieure de %s est déjà installée, mise à jour "
- "impossible."
- 
--#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2125 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
- msgstr "Le paquet %s est disponible mais n’est pas installé."
- 
--#: dnf/base.py:2032
-+#: dnf/base.py:2131
- #, python-format
- msgid "Package %s available, but installed for different architecture."
- msgstr ""
- "Le paquet %s est disponible mais est installé pour une autre architecture."
- 
--#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
-+#: dnf/base.py:2156
- #, python-format
- msgid "No package %s installed."
- msgstr "Aucun paquet %s installé."
- 
--#: dnf/base.py:2075 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2174 dnf/cli/commands/install.py:136
- #: dnf/cli/commands/remove.py:133
- #, python-format
- msgid "Not a valid form: %s"
- msgstr "Format invalide : %s"
- 
--#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
--#: dnf/cli/commands/remove.py:163
-+#: dnf/base.py:2189 dnf/cli/commands/__init__.py:676
-+#: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
- msgstr "Aucun paquet marqué pour suppression."
- 
--#: dnf/base.py:2179 dnf/cli/cli.py:422
-+#: dnf/base.py:2277 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
- msgstr "Les paquets pour le paramètre %s sont disponibles mais pas installés."
- 
--#: dnf/base.py:2184
-+#: dnf/base.py:2282
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
- msgstr ""
- "La version la plus ancienne du paquet %s est déjà installée, impossible de "
- "le rétrograder."
- 
--#: dnf/base.py:2242
--msgid "Action not handled: {}"
--msgstr "Action non gérée : {}"
--
--#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
--#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
--#, python-format
--msgid "No package %s available."
--msgstr "Aucun paquet %s n’est disponible."
--
--#: dnf/base.py:2269
--msgid "no package matched"
--msgstr "aucun paquet correspondant"
--
--#: dnf/base.py:2290
-+#: dnf/base.py:2382
- msgid "No security updates needed, but {} update available"
- msgstr ""
- "Aucune mise à jour de sécurité n’est nécessaire, mais la mise à jour {} est "
- "disponible"
- 
--#: dnf/base.py:2292
-+#: dnf/base.py:2384
- msgid "No security updates needed, but {} updates available"
- msgstr ""
- "Aucune mise à jour de sécurité n’est nécessaire, mais les mises à jour {} "
- "sont disponibles"
- 
--#: dnf/base.py:2296
-+#: dnf/base.py:2388
- msgid "No security updates needed for \"{}\", but {} update available"
- msgstr ""
- "Aucune mise à jour de sécurité n’est nécessaire pour « {} », mais la mise à "
- "jour {} est disponible"
- 
--#: dnf/base.py:2298
-+#: dnf/base.py:2390
- msgid "No security updates needed for \"{}\", but {} updates available"
- msgstr ""
- "Aucune mise à jour de sécurité n’est nécessaire pour « {} », mais les mises "
- "à jour {} sont disponibles"
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2319
-+#: dnf/base.py:2411
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
- msgstr ""
- "Impossible de récupérer une clé pour un paquet en ligne de commande : %s"
- 
--#: dnf/base.py:2327
-+#: dnf/base.py:2419
- #, python-format
- msgid ". Failing package is: %s"
- msgstr ". Le paquet en erreur est : %s"
- 
--#: dnf/base.py:2328
-+#: dnf/base.py:2420
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "Les clés GPG sont configurées comme : %s"
- 
--#: dnf/base.py:2340
-+#: dnf/base.py:2432
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr "La clé GPG %s (0x%s) est déjà installée"
- 
--#: dnf/base.py:2373
-+#: dnf/base.py:2468
- msgid "The key has been approved."
- msgstr "La clef a été approuvée."
- 
--#: dnf/base.py:2376
-+#: dnf/base.py:2471
- msgid "The key has been rejected."
- msgstr "La clef a été rejetée."
- 
--#: dnf/base.py:2409
-+#: dnf/base.py:2504
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "L’import de la clé a échoué (code %d)"
- 
--#: dnf/base.py:2411
-+#: dnf/base.py:2506
- msgid "Key imported successfully"
- msgstr "La clé a bien été importée"
- 
--#: dnf/base.py:2415
-+#: dnf/base.py:2510
- msgid "Didn't install any keys"
- msgstr "Toutes les clés n’ont pas été installées"
- 
--#: dnf/base.py:2418
-+#: dnf/base.py:2513
- #, python-format
- msgid ""
- "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
-@@ -544,28 +533,28 @@ msgstr ""
- "Les clés GPG listées pour le dépôt « %s » sont déjà installées mais sont incorrectes pour ce paquet.\n"
- "Vérifiez que les URL des clés pour ce dépôt soient correctes."
- 
--#: dnf/base.py:2429
-+#: dnf/base.py:2524
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr ""
- "L’import de la ou des clés n’a pas résolu le problème, clés incorrectes ?"
- 
--#: dnf/base.py:2482
-+#: dnf/base.py:2577
- msgid "  * Maybe you meant: {}"
- msgstr "  * Peut-être vouliez-vous dire : {}"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2609
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
- msgstr "Le paquet \"{}\" du dépôt local \"{}\" a une somme de contrôle incorrecte"
- 
--#: dnf/base.py:2517
-+#: dnf/base.py:2612
- msgid "Some packages from local repository have incorrect checksum"
- msgstr "Certains paquets du dépôt local ont une somme de contrôle incorrecte"
- 
--#: dnf/base.py:2520
-+#: dnf/base.py:2615
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
- msgstr "Le paquet \"{}\" du dépôt \"{}\" a une somme de contrôle incorrecte"
- 
--#: dnf/base.py:2523
-+#: dnf/base.py:2618
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
-@@ -573,29 +562,29 @@ msgstr ""
- "Certains paquets ont un cache invalide, mais ne peuvent pas être téléchargés"
- " à cause de l’option « --cacheonly »"
- 
--#: dnf/base.py:2541 dnf/base.py:2561
-+#: dnf/base.py:2636 dnf/base.py:2656
- msgid "No match for argument"
- msgstr "Aucune correspondance pour le paramètre"
- 
--#: dnf/base.py:2549 dnf/base.py:2569
-+#: dnf/base.py:2644 dnf/base.py:2664
- msgid "All matches were filtered out by exclude filtering for argument"
- msgstr ""
- "Toutes les correspondances ont été filtrées en excluant le filtrage pour "
- "l’argument"
- 
--#: dnf/base.py:2551
-+#: dnf/base.py:2646
- msgid "All matches were filtered out by modular filtering for argument"
- msgstr ""
- "Toutes les correspondances ont été filtrées par filtrage modulaire pour les "
- "arguments"
- 
--#: dnf/base.py:2567
-+#: dnf/base.py:2662
- msgid "All matches were installed from a different repository for argument"
- msgstr ""
- "Toutes les correspondances ont été installées à partir d’un dépôt différent "
- "pour le paramètre"
- 
--#: dnf/base.py:2583
-+#: dnf/base.py:2709
- #, python-format
- msgid "Package %s is already installed."
- msgstr "Le paquet %s est déjà installé."
-@@ -616,8 +605,8 @@ msgstr "La lecture du fichier « %s » a échoué : %s"
- msgid "Cannot read file \"%s\": %s"
- msgstr "Impossible de lire le fichier « %s » : %s"
- 
--#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
--#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
-+#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
-+#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
- #, python-format
- msgid "Config error: %s"
- msgstr "Erreur de configuration : %s"
-@@ -650,21 +639,21 @@ msgstr ""
- "Le résulta de l’opération sera le basculement du flux« {1} » du module « {0}"
- " » vers le flux« {2} »"
- 
--#: dnf/cli/cli.py:172
-+#: dnf/cli/cli.py:173
- #, python-brace-format
- msgid ""
--"It is not possible to switch enabled streams of a module.\n"
--"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
-+"It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.\n"
-+"It is recommended to rather remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
- msgstr ""
--"Il n’est pas possible de basculer les flux actifs d’un module.\n"
--"Il et recommandé de retirer tout contenu installé par le module, et de réinitialiser le mode en utilisant la commande « {prog} module reset <nom_du_module> ». Après la réinitialisation, vous pouvez installer les autres flux."
-+"Il n’est pas possible de basculer les flux actifs d’un module sauf si cela est explicitement activé par l’option de configuration module_stream_switch.\n"
-+"Il est plutôt recommandé de retirer tout contenu installé par le module, et de réinitialiser le mode en utilisant la commande « {prog} module reset <nom_du_module> ». Après la réinitialisation, vous pouvez installer les autres flux."
- 
--#: dnf/cli/cli.py:210
-+#: dnf/cli/cli.py:212
- #, python-brace-format
- msgid "{prog} will only download packages for the transaction."
- msgstr "{prog} ne téléchargera que les paquets pour la transaction."
- 
--#: dnf/cli/cli.py:213
-+#: dnf/cli/cli.py:215
- #, python-brace-format
- msgid ""
- "{prog} will only download packages, install gpg keys, and check the "
-@@ -673,23 +662,23 @@ msgstr ""
- "{prog} ne téléchargera que les paquets, installera les clefs GPG et "
- "vérifiera la transaction."
- 
--#: dnf/cli/cli.py:217
-+#: dnf/cli/cli.py:219
- msgid "Operation aborted."
- msgstr "Opération avortée."
- 
--#: dnf/cli/cli.py:224
-+#: dnf/cli/cli.py:226
- msgid "Downloading Packages:"
- msgstr "Téléchargement des paquets :"
- 
--#: dnf/cli/cli.py:230
-+#: dnf/cli/cli.py:232
- msgid "Error downloading packages:"
- msgstr "Erreur de téléchargement des paquets :"
- 
--#: dnf/cli/cli.py:258
-+#: dnf/cli/cli.py:264
- msgid "Transaction failed"
- msgstr "La transaction a échoué"
- 
--#: dnf/cli/cli.py:281
-+#: dnf/cli/cli.py:287
- msgid ""
- "Refusing to automatically import keys when running unattended.\n"
- "Use \"-y\" to override."
-@@ -697,91 +686,70 @@ msgstr ""
- "Refus de l’importation automatique des clés lors d’une exécution sans surveillance.\n"
- "Utilisez l’option « -y » pour passer outre."
- 
--#: dnf/cli/cli.py:331
-+#: dnf/cli/cli.py:337
- msgid "Changelogs for {}"
- msgstr "Changements pour {}"
- 
--#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
-+#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
- msgid "Obsoleting Packages"
- msgstr "Passage de paquets en obsolètes"
- 
--#: dnf/cli/cli.py:393
-+#: dnf/cli/cli.py:399
- msgid "No packages marked for distribution synchronization."
- msgstr "Aucun paquet marqué pour la synchronisation de la distribution."
- 
--#: dnf/cli/cli.py:428
-+#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
-+#, python-format
-+msgid "No package %s available."
-+msgstr "Aucun paquet %s n’est disponible."
-+
-+#: dnf/cli/cli.py:434
- msgid "No packages marked for downgrade."
- msgstr "Aucun paquet n’a été marqué pour passer à une version antérieure."
- 
--#: dnf/cli/cli.py:479
-+#: dnf/cli/cli.py:485
- msgid "Installed Packages"
- msgstr "Paquets installés"
- 
--#: dnf/cli/cli.py:487
-+#: dnf/cli/cli.py:493
- msgid "Available Packages"
- msgstr "Paquets disponibles"
- 
--#: dnf/cli/cli.py:491
-+#: dnf/cli/cli.py:497
- msgid "Autoremove Packages"
- msgstr "Supprime des paquets automatiquement"
- 
--#: dnf/cli/cli.py:493
-+#: dnf/cli/cli.py:499
- msgid "Extra Packages"
- msgstr "Paquets supplémentaires"
- 
--#: dnf/cli/cli.py:497
-+#: dnf/cli/cli.py:503
- msgid "Available Upgrades"
- msgstr "Mises à jour disponibles"
- 
--#: dnf/cli/cli.py:513
-+#: dnf/cli/cli.py:519
- msgid "Recently Added Packages"
- msgstr "Paquets récemment ajoutés"
- 
--#: dnf/cli/cli.py:518
-+#: dnf/cli/cli.py:523
- msgid "No matching Packages to list"
- msgstr "Aucun paquet correspondant à lister"
- 
--#: dnf/cli/cli.py:599
-+#: dnf/cli/cli.py:604
- msgid "No Matches found"
- msgstr "Aucune correspondance trouvée"
- 
--#: dnf/cli/cli.py:609
--msgid "No transaction ID given"
--msgstr "Aucun identifiant de transaction n’a été fourni"
--
--#: dnf/cli/cli.py:614
--msgid "Not found given transaction ID"
--msgstr "L’identifiant de transaction fourni est introuvable"
--
--#: dnf/cli/cli.py:623
--msgid "Found more than one transaction ID!"
--msgstr "Plus d’un identifiant de transaction ont été trouvés !"
--
--#: dnf/cli/cli.py:640
--#, python-format
--msgid "Transaction history is incomplete, before %u."
--msgstr "L’historique des transactions est incomplet, avant %u."
--
--#: dnf/cli/cli.py:642
--#, python-format
--msgid "Transaction history is incomplete, after %u."
--msgstr "L’historique des transactions est incomplet, après %u."
--
--#: dnf/cli/cli.py:689
--msgid "Undoing transaction {}, from {}"
--msgstr "Révocation de lla transaction {}, de {}"
--
--#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
-+#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
- #, python-format
- msgid "Unknown repo: '%s'"
- msgstr "Dépôt inconnu : « %s »"
- 
--#: dnf/cli/cli.py:783
-+#: dnf/cli/cli.py:685
- #, python-format
- msgid "No repository match: %s"
- msgstr "Aucun dépôt ne correspond à %s"
- 
--#: dnf/cli/cli.py:817
-+#: dnf/cli/cli.py:719
- msgid ""
- "This command has to be run with superuser privileges (under the root user on"
- " most systems)."
-@@ -789,12 +757,12 @@ msgstr ""
- "Cette commande doit être exécutée avec les privilèges super-utilisateur "
- "(sous l’utilisateur root sur la plupart des systèmes)."
- 
--#: dnf/cli/cli.py:847
-+#: dnf/cli/cli.py:749
- #, python-format
- msgid "No such command: %s. Please use %s --help"
- msgstr "Aucune commande telle que : %s. Veuillez utiliser %s --help"
- 
--#: dnf/cli/cli.py:850
-+#: dnf/cli/cli.py:752
- #, python-format, python-brace-format
- msgid ""
- "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
-@@ -803,7 +771,7 @@ msgstr ""
- "Cela est peut-être une commande d’un module supplémentaire de {PROG}, "
- "essayez : « {prog} install 'dnf-command(%s)' »"
- 
--#: dnf/cli/cli.py:854
-+#: dnf/cli/cli.py:756
- #, python-brace-format
- msgid ""
- "It could be a {prog} plugin command, but loading of plugins is currently "
-@@ -812,7 +780,7 @@ msgstr ""
- "Cela est peut-être une commande d’un module supplémentaire de {prog}, mais "
- "le chargement de modules supplémentaires est actuellement désactivé."
- 
--#: dnf/cli/cli.py:912
-+#: dnf/cli/cli.py:814
- msgid ""
- "--destdir or --downloaddir must be used with --downloadonly or download or "
- "system-upgrade command."
-@@ -820,7 +788,7 @@ msgstr ""
- "--destdir ou --downloaddir doit être utilisé avec la commande --downloadonly"
- " ou download ou system-upgrade command."
- 
--#: dnf/cli/cli.py:918
-+#: dnf/cli/cli.py:820
- msgid ""
- "--enable, --set-enabled and --disable, --set-disabled must be used with "
- "config-manager command."
-@@ -828,7 +796,7 @@ msgstr ""
- "--enable, --set-enabled et --disable, --set-disabled doit être utilisé avec "
- "la commande config-manager."
- 
--#: dnf/cli/cli.py:1000
-+#: dnf/cli/cli.py:902
- msgid ""
- "Warning: Enforcing GPG signature check globally as per active RPM security "
- "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
-@@ -837,11 +805,11 @@ msgstr ""
- "politique de sécurité RPM active (voir « gpgcheck » dans dnf.conf(5) pour "
- "savoir comment interpréter ce message)"
- 
--#: dnf/cli/cli.py:1020
-+#: dnf/cli/cli.py:922
- msgid "Config file \"{}\" does not exist"
- msgstr "Le fichier de configuration \"{}\" n’existe pas"
- 
--#: dnf/cli/cli.py:1040
-+#: dnf/cli/cli.py:942
- msgid ""
- "Unable to detect release version (use '--releasever' to specify release "
- "version)"
-@@ -849,28 +817,28 @@ msgstr ""
- "Impossible de détecter le numéro de version (utilisez « --releasever » pour "
- "spécifier une version)"
- 
--#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
-+#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
- msgid "argument {}: not allowed with argument {}"
- msgstr "paramètre {} : non autorisé avec le paramètre {}"
- 
--#: dnf/cli/cli.py:1134
-+#: dnf/cli/cli.py:1023
- #, python-format
- msgid "Command \"%s\" already defined"
- msgstr "Commande « %s » déjà définie"
- 
--#: dnf/cli/cli.py:1154
-+#: dnf/cli/cli.py:1043
- msgid "Excludes in dnf.conf: "
- msgstr "Exclut dans dnf.conf : "
- 
--#: dnf/cli/cli.py:1157
-+#: dnf/cli/cli.py:1046
- msgid "Includes in dnf.conf: "
- msgstr "Inclut dans dnf.conf : "
- 
--#: dnf/cli/cli.py:1160
-+#: dnf/cli/cli.py:1049
- msgid "Excludes in repo "
- msgstr "Exclut dans dépôt "
- 
--#: dnf/cli/cli.py:1163
-+#: dnf/cli/cli.py:1052
- msgid "Includes in repo "
- msgstr "Inclut dans dépôt "
- 
-@@ -924,38 +892,38 @@ msgstr "Problème avec le dépôt : %s"
- msgid "display details about a package or group of packages"
- msgstr "affiche les détails d’un paquet ou d’un groupe de paquets"
- 
--#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
-+#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
- msgid "show all packages (default)"
- msgstr "affiche tous les paquets (par défaut)"
- 
--#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
--#: dnf/cli/commands/module.py:351
-+#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
-+#: dnf/cli/commands/module.py:376
- msgid "show only available packages"
- msgstr "affiche uniquement les paquets disponibles"
- 
--#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
-+#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
- msgid "show only installed packages"
- msgstr "affiche uniquement les paquets installés"
- 
--#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
-+#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
- msgid "show only extras packages"
- msgstr "affiche uniquement les paquets supplémentaires"
- 
- #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
--#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
-+#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
- msgid "show only upgrades packages"
- msgstr "affiche uniquement les paquets à mettre à jour"
- 
--#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
-+#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
- msgid "show only autoremove packages"
- msgstr "affiche uniquement les paquets à suppression automatique"
- 
--#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
-+#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
- msgid "show only recently changed packages"
- msgstr "affiche uniquement les paquet modifiés récemment"
- 
- #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
--#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
-+#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
- #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
- #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
- msgid "PACKAGE"
-@@ -993,70 +961,70 @@ msgstr "recherche les mises à jour de paquets disponibles"
- msgid "show changelogs before update"
- msgstr "affiche les changelogs avant la mise à jour"
- 
--#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
--#: dnf/cli/commands/__init__.py:470
-+#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
-+#: dnf/cli/commands/__init__.py:465
- msgid "No package available."
- msgstr "Pas de paquet disponible."
- 
--#: dnf/cli/commands/__init__.py:376
-+#: dnf/cli/commands/__init__.py:371
- msgid "No packages marked for install."
- msgstr "Aucun paquet marqué en vue d’être installé."
- 
--#: dnf/cli/commands/__init__.py:412
-+#: dnf/cli/commands/__init__.py:407
- msgid "No package installed."
- msgstr "Pas de paquet installé."
- 
--#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
-+#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
- #: dnf/cli/commands/reinstall.py:91
- #, python-format
- msgid " (from %s)"
- msgstr " (depuis %s)"
- 
--#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
-+#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
- #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
- #, python-format
- msgid "Installed package %s%s not available."
- msgstr "Le paquet installé %s%s est indisponible."
- 
--#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
--#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
-+#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
-+#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
- msgid "No package installed from the repository."
- msgstr "Aucun paquet installé depuis le dépôt."
- 
--#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
-+#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
- msgid "No packages marked for reinstall."
- msgstr "Aucun paquet marqué pour réinstallation."
- 
--#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
-+#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
- msgid "No packages marked for upgrade."
- msgstr "Aucun paquet marqué pour mise à jour."
- 
--#: dnf/cli/commands/__init__.py:726
-+#: dnf/cli/commands/__init__.py:721
- msgid "run commands on top of all packages in given repository"
- msgstr "exécute des commandes pour chaque paquet d’un dépôt donné"
- 
--#: dnf/cli/commands/__init__.py:765
-+#: dnf/cli/commands/__init__.py:760
- msgid "REPOID"
- msgstr "REPOID"
- 
--#: dnf/cli/commands/__init__.py:765
-+#: dnf/cli/commands/__init__.py:760
- msgid "Repository ID"
- msgstr "ID du dépôt"
- 
--#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
-+#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
- #: dnf/cli/commands/updateinfo.py:108
- msgid "Package specification"
- msgstr "Caractéristiques de paquet"
- 
--#: dnf/cli/commands/__init__.py:801
-+#: dnf/cli/commands/__init__.py:796
- msgid "display a helpful usage message"
- msgstr "affiche un message d’aide à l’utilisation"
- 
--#: dnf/cli/commands/__init__.py:805
-+#: dnf/cli/commands/__init__.py:800
- msgid "COMMAND"
- msgstr "COMMANDE"
- 
--#: dnf/cli/commands/__init__.py:806
-+#: dnf/cli/commands/__init__.py:801
- #, python-brace-format
- msgid "{prog} command to get help for"
- msgstr "{prog} commande pour obtenir de l’aide"
-@@ -1231,9 +1199,12 @@ msgstr ""
- "En attente de la fin d’exécution du processus ayant l’identifiant (pid) %d."
- 
- #: dnf/cli/commands/deplist.py:32
--msgid "List package's dependencies and what packages provide them"
-+msgid ""
-+"[deprecated, use repoquery --deplist] List package's dependencies and what "
-+"packages provide them"
- msgstr ""
--"Liste les dépendances du paquet et indique quels paquets les fournissent"
-+"[obsolète, utilsez repoquery --deplist] Liste les dépendances du paquet et "
-+"indique quels paquets les fournissent"
- 
- #: dnf/cli/commands/distrosync.py:32
- msgid "synchronize installed packages to the latest available versions"
-@@ -1260,78 +1231,78 @@ msgstr "affiche ou utilise les informations des groupes"
- msgid "No group data available for configured repositories."
- msgstr "Aucune donnée sur les groupes disponibles pour les dépôts configurés."
- 
--#: dnf/cli/commands/group.py:129
-+#: dnf/cli/commands/group.py:126
- #, python-format
- msgid "Warning: Group %s does not exist."
- msgstr "Attention : le groupe %s n’existe pas."
- 
--#: dnf/cli/commands/group.py:170
-+#: dnf/cli/commands/group.py:167
- msgid "Warning: No groups match:"
- msgstr "Attention : aucun groupe ne correspond à :"
- 
--#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
--#: dnf/cli/output.py:1226
-+#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
-+#: dnf/cli/output.py:1139
- msgid "<name-unset>"
- msgstr "<name-unset>"
- 
--#: dnf/cli/commands/group.py:199
-+#: dnf/cli/commands/group.py:196
- msgid "Available Environment Groups:"
- msgstr "Groupes d’environnements disponibles :"
- 
--#: dnf/cli/commands/group.py:201
-+#: dnf/cli/commands/group.py:198
- msgid "Installed Environment Groups:"
- msgstr "Groupes d’environnements installés :"
- 
--#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
-+#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
- msgid "Installed Groups:"
- msgstr "Groupes installés :"
- 
--#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
-+#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
- msgid "Installed Language Groups:"
- msgstr "Groupes de langues installés :"
- 
--#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
-+#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
- msgid "Available Groups:"
- msgstr "Groupes disponibles :"
- 
--#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
-+#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
- msgid "Available Language Groups:"
- msgstr "Groupes de langues disponibles :"
- 
--#: dnf/cli/commands/group.py:322
-+#: dnf/cli/commands/group.py:319
- msgid "include optional packages from group"
- msgstr "inclure les paquets optionnels du groupe"
- 
--#: dnf/cli/commands/group.py:325
-+#: dnf/cli/commands/group.py:322
- msgid "show also hidden groups"
- msgstr "affiche également les groupes cachés"
- 
--#: dnf/cli/commands/group.py:327
-+#: dnf/cli/commands/group.py:324
- msgid "show only installed groups"
- msgstr "affiche seulement les groupes installés"
- 
--#: dnf/cli/commands/group.py:329
-+#: dnf/cli/commands/group.py:326
- msgid "show only available groups"
- msgstr "affiche uniquement les groupes disponibles"
- 
--#: dnf/cli/commands/group.py:331
-+#: dnf/cli/commands/group.py:328
- msgid "show also ID of groups"
- msgstr "affiche également les ID des groupes"
- 
--#: dnf/cli/commands/group.py:333
-+#: dnf/cli/commands/group.py:330
- msgid "available subcommands: {} (default), {}"
- msgstr "sous-commandes disponibles : {} (par défaut), {}"
- 
--#: dnf/cli/commands/group.py:337
-+#: dnf/cli/commands/group.py:334
- msgid "argument for group subcommand"
- msgstr "paramètre pour la sous-commande group"
- 
--#: dnf/cli/commands/group.py:346
-+#: dnf/cli/commands/group.py:343
- #, python-format
- msgid "Invalid groups sub-command, use: %s."
- msgstr "Sous-commande de groupes invalide, utilisez : %s."
- 
--#: dnf/cli/commands/group.py:403
-+#: dnf/cli/commands/group.py:398
- msgid "Unable to find a mandatory group package."
- msgstr "Impossible de trouver un paquet obligatoire du groupe."
- 
-@@ -1385,16 +1356,16 @@ msgstr "Pas de transaction ou de nom de fichier fourni."
- msgid "More than one argument given as transaction file name."
- msgstr "Plus d’un argument donné comme nom de fichier de transaction."
- 
--#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
-+#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
- msgid "No transaction ID or package name given."
- msgstr "Pas d’identifiant de transaction ou de nom de paquet fourni."
- 
--#: dnf/cli/commands/history.py:138
-+#: dnf/cli/commands/history.py:142
- #, python-format
- msgid "You don't have access to the history DB: %s"
- msgstr "Vous n’avez pas accès à la base de données de l’historique : %s"
- 
--#: dnf/cli/commands/history.py:147
-+#: dnf/cli/commands/history.py:151
- #, python-format
- msgid ""
- "Cannot undo transaction %s, doing so would result in an inconsistent package"
-@@ -1403,7 +1374,7 @@ msgstr ""
- "Impossible de défaire la transaction %s ; cela aboutirait à une base de "
- "données des paquets incohérente."
- 
--#: dnf/cli/commands/history.py:152
-+#: dnf/cli/commands/history.py:156
- #, python-format
- msgid ""
- "Cannot rollback transaction %s, doing so would result in an inconsistent "
-@@ -1412,7 +1383,34 @@ msgstr ""
- "Impossible de défaire la transaction %s ; cela aboutirait à une base de "
- "données des paquets incohérente."
- 
--#: dnf/cli/commands/history.py:222
-+#: dnf/cli/commands/history.py:175
-+msgid "No transaction ID given"
-+msgstr "Aucun identifiant de transaction n’a été fourni"
-+
-+#: dnf/cli/commands/history.py:179
-+#, python-brace-format
-+msgid "Transaction ID \"{0}\" not found."
-+msgstr "ID de transaction « {0} » non trouvé."
-+
-+#: dnf/cli/commands/history.py:185
-+msgid "Found more than one transaction ID!"
-+msgstr "Plus d’un identifiant de transaction ont été trouvés !"
-+
-+#: dnf/cli/commands/history.py:203
-+#, python-format
-+msgid "Transaction history is incomplete, before %u."
-+msgstr "L’historique des transactions est incomplet, avant %u."
-+
-+#: dnf/cli/commands/history.py:205
-+#, python-format
-+msgid "Transaction history is incomplete, after %u."
-+msgstr "L’historique des transactions est incomplet, après %u."
-+
-+#: dnf/cli/commands/history.py:256
-+msgid "No packages to list"
-+msgstr "Aucun paquet à lister"
-+
-+#: dnf/cli/commands/history.py:279
- msgid ""
- "Invalid transaction ID range definition '{}'.\n"
- "Use '<transaction-id>..<transaction-id>'."
-@@ -1420,7 +1418,7 @@ msgstr ""
- "La définition de la plage d’identifiants de transaction est invalide « {} ».\n"
- "Utilisez « <transaction-id>..<transaction-id> »."
- 
--#: dnf/cli/commands/history.py:226
-+#: dnf/cli/commands/history.py:283
- msgid ""
- "Can't convert '{}' to transaction ID.\n"
- "Use '<number>', 'last', 'last-<number>'."
-@@ -1428,36 +1426,30 @@ msgstr ""
- "Impossible de convertir « {} » à ID transaction.\n"
- "Utiliser « <number>», « last », « last-<number> »."
- 
--#: dnf/cli/commands/history.py:255
-+#: dnf/cli/commands/history.py:312
- msgid "No transaction which manipulates package '{}' was found."
- msgstr "Aucune transaction manipulant le paquet « {} » n’a été trouvée."
- 
--#: dnf/cli/commands/history.py:305
--#, python-brace-format
--msgid "Transaction ID \"{id}\" not found."
--msgstr "ID de Transaction « {id} » non trouvé."
--
--#: dnf/cli/commands/history.py:313
-+#: dnf/cli/commands/history.py:357
- msgid "{} exists, overwrite?"
- msgstr "{} existe, l’écraser ?"
- 
--#: dnf/cli/commands/history.py:316
-+#: dnf/cli/commands/history.py:360
- msgid "Not overwriting {}, exiting."
- msgstr "{} non écrasé, sortie."
- 
--#: dnf/cli/commands/history.py:323
-+#: dnf/cli/commands/history.py:367
- msgid "Transaction saved to {}."
- msgstr "Transaction enregistrée vers {}."
- 
--#: dnf/cli/commands/history.py:326
-+#: dnf/cli/commands/history.py:370
- msgid "Error storing transaction: {}"
- msgstr "Erreur lors du stockage de la transaction : {}"
- 
--#: dnf/cli/commands/history.py:350
--msgid ""
--"Warning, the following problems occurred while replaying the transaction:"
-+#: dnf/cli/commands/history.py:386
-+msgid "Warning, the following problems occurred while running a transaction:"
- msgstr ""
--"Attention, les problèmes suivants sont survenus lors de la relecture de la "
-+"Attention, les problèmes suivants sont survenus lors de l'exécution d’une "
- "transaction :"
- 
- #: dnf/cli/commands/install.py:47
-@@ -1477,7 +1469,7 @@ msgstr "Impossible de trouver une correspondance"
- msgid "Not a valid rpm file path: %s"
- msgstr "Chemin du fichier RPM invalide : %s"
- 
--#: dnf/cli/commands/install.py:167
-+#: dnf/cli/commands/install.py:166
- #, python-brace-format
- msgid "There are following alternatives for \"{0}\": {1}"
- msgstr "Il existe les alternatives suivantes pour \"{0}\" : {1}"
-@@ -1522,7 +1514,7 @@ msgid "%s marked as group installed."
- msgstr "%s marqué comme étant installé par un groupe."
- 
- #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
--#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
-+#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
- msgid "Error:"
- msgstr "Erreur :"
- 
-@@ -1531,7 +1523,7 @@ msgstr "Erreur :"
- msgid "Package %s is not installed."
- msgstr "Le paquet %s n’est pas installé."
- 
--#: dnf/cli/commands/module.py:51
-+#: dnf/cli/commands/module.py:54
- msgid ""
- "Only module name, stream, architecture or profile is used. Ignoring unneeded"
- " information in argument: '{}'"
-@@ -1539,83 +1531,87 @@ msgstr ""
- "Seul le nom, le flux, l’architecture ou le profil du module est utilisé. Les"
- " paramètres inutiles ont été ignorés dans le paramètre : « {} »"
- 
--#: dnf/cli/commands/module.py:77
-+#: dnf/cli/commands/module.py:80
- msgid "list all module streams, profiles and states"
- msgstr "dresser la liste de tous les flux, profils et états des modules"
- 
--#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
-+#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
- msgid "No matching Modules to list"
- msgstr "Aucun module correspondant à lister"
- 
--#: dnf/cli/commands/module.py:111
-+#: dnf/cli/commands/module.py:114
- msgid "print detailed information about a module"
- msgstr "afficher les informations détaillées à propos d’un module"
- 
--#: dnf/cli/commands/module.py:133
-+#: dnf/cli/commands/module.py:136
- msgid "enable a module stream"
- msgstr "activer un flux de modules"
- 
--#: dnf/cli/commands/module.py:157
-+#: dnf/cli/commands/module.py:160
- msgid "disable a module with all its streams"
- msgstr "désactiver un module avec tous ses flux"
- 
--#: dnf/cli/commands/module.py:181
-+#: dnf/cli/commands/module.py:184
- msgid "reset a module"
- msgstr "réinitialiser un module"
- 
--#: dnf/cli/commands/module.py:202
-+#: dnf/cli/commands/module.py:205
- msgid "install a module profile including its packages"
- msgstr "installer un profil de module, y compris ses paquets"
- 
--#: dnf/cli/commands/module.py:223
-+#: dnf/cli/commands/module.py:226
- msgid "update packages associated with an active stream"
- msgstr "mettre à jour les paquets associés à un flux actif"
- 
--#: dnf/cli/commands/module.py:240
-+#: dnf/cli/commands/module.py:243
- msgid "remove installed module profiles and their packages"
- msgstr "supprimer les profils de modules installés et leurs paquets"
- 
--#: dnf/cli/commands/module.py:264
-+#: dnf/cli/commands/module.py:267
- msgid "Package {} belongs to multiple modules, skipping"
- msgstr "Le paquet {} appartient à de multiples modules, ignorer"
- 
--#: dnf/cli/commands/module.py:277
-+#: dnf/cli/commands/module.py:280
-+msgid "switch a module to a stream and distrosync rpm packages"
-+msgstr "passer un module à un flux et à des paquets de rpm de distrosync"
-+
-+#: dnf/cli/commands/module.py:302
- msgid "list modular packages"
- msgstr "dresser une liste des paquets modulaires"
- 
--#: dnf/cli/commands/module.py:292
-+#: dnf/cli/commands/module.py:317
- msgid "list packages belonging to a module"
- msgstr "dresser une liste des paquets appartenant à un module"
- 
--#: dnf/cli/commands/module.py:327
-+#: dnf/cli/commands/module.py:352
- msgid "Interact with Modules."
- msgstr "Interagit avec les modules."
- 
--#: dnf/cli/commands/module.py:340
-+#: dnf/cli/commands/module.py:365
- msgid "show only enabled modules"
- msgstr "n’affiche que les modules activés"
- 
--#: dnf/cli/commands/module.py:343
-+#: dnf/cli/commands/module.py:368
- msgid "show only disabled modules"
- msgstr "n’affiche que les modules désactivés"
- 
--#: dnf/cli/commands/module.py:346
-+#: dnf/cli/commands/module.py:371
- msgid "show only installed modules or packages"
- msgstr "affiche uniquement les paquets ou modules installés"
- 
--#: dnf/cli/commands/module.py:349
-+#: dnf/cli/commands/module.py:374
- msgid "show profile content"
- msgstr "affiche le contenu du profil"
- 
--#: dnf/cli/commands/module.py:354
-+#: dnf/cli/commands/module.py:379
- msgid "remove all modular packages"
- msgstr "Supprimer les paquets modulaires"
- 
--#: dnf/cli/commands/module.py:364
-+#: dnf/cli/commands/module.py:389
- msgid "Module specification"
- msgstr "Caractéristique de module"
- 
--#: dnf/cli/commands/module.py:386
-+#: dnf/cli/commands/module.py:411
- msgid "{} {} {}: too few arguments"
- msgstr "{} {} {} : trop peu de paramètres"
- 
-@@ -2133,22 +2129,22 @@ msgstr "MOTCLEF"
- msgid "Keyword to search for"
- msgstr "Mot-clef à chercher"
- 
--#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
-+#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
- msgctxt "long"
- msgid "Name"
- msgstr "Nom"
- 
--#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
-+#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
- msgctxt "long"
- msgid "Summary"
- msgstr "Résumé"
- 
--#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
-+#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
- msgctxt "long"
- msgid "Description"
- msgstr "Description"
- 
--#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
-+#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
- msgid "URL"
- msgstr "URL"
- 
-@@ -2291,16 +2287,16 @@ msgstr ""
- "run                      résoud et exécute l’ensemble de transactions\n"
- "exit (ou quit)           quitte l’interpréteur de commandes"
- 
--#: dnf/cli/commands/shell.py:259
-+#: dnf/cli/commands/shell.py:262
- #, python-format
- msgid "Error: Cannot open %s for reading"
- msgstr "Erreur : %s n’a pu être ouvert pour lecture"
- 
--#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
-+#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
- msgid "Complete!"
- msgstr "Terminé !"
- 
--#: dnf/cli/commands/shell.py:291
-+#: dnf/cli/commands/shell.py:294
- msgid "Leaving Shell"
- msgstr "Abandon de l’interpréteur de commandes"
- 
-@@ -2497,8 +2493,8 @@ msgstr "Criticité"
- msgid "Files"
- msgstr "Fichiers"
- 
--#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
--#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
-+#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
-+#: dnf/cli/output.py:1656 dnf/util.py:617
- msgid "Installed"
- msgstr "Installé"
- 
-@@ -2862,13 +2858,13 @@ msgstr "Impossible d’encoder l’argument « %s » : %s"
- #. Translators: This is abbreviated 'Name'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:505
-+#: dnf/cli/output.py:459
- msgctxt "short"
- msgid "Name"
- msgstr "Nom"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:511
-+#: dnf/cli/output.py:465
- msgid "Epoch"
- msgstr "Époque"
- 
-@@ -2876,38 +2872,38 @@ msgstr "Époque"
- #. use the full (unabbreviated) term 'Version' if you think that
- #. the translation to your language is not too long and will
- #. always fit to limited space.
--#: dnf/cli/output.py:512 dnf/cli/output.py:1335
-+#: dnf/cli/output.py:466 dnf/cli/output.py:1248
- msgctxt "short"
- msgid "Version"
- msgstr "Version"
- 
- #. Translators: This is the full (unabbreviated) term 'Version'.
--#: dnf/cli/output.py:513 dnf/cli/output.py:1337
-+#: dnf/cli/output.py:467 dnf/cli/output.py:1250
- msgctxt "long"
- msgid "Version"
- msgstr "Version"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:516
-+#: dnf/cli/output.py:470
- msgid "Release"
- msgstr "Publication"
- 
- #. Translators: This is abbreviated 'Architecture', used when
- #. we have not enough space to display the full word.
--#: dnf/cli/output.py:517 dnf/cli/output.py:1326
-+#: dnf/cli/output.py:471 dnf/cli/output.py:1239
- msgctxt "short"
- msgid "Arch"
- msgstr "Architecture"
- 
- #. Translators: This is the full word 'Architecture', used when
- #. we have enough space.
--#: dnf/cli/output.py:518 dnf/cli/output.py:1329
-+#: dnf/cli/output.py:472 dnf/cli/output.py:1242
- msgctxt "long"
- msgid "Architecture"
- msgstr "Architecture"
- 
- #. Translators: This is the full (unabbreviated) term 'Size'.
--#: dnf/cli/output.py:520 dnf/cli/output.py:1352
-+#: dnf/cli/output.py:474 dnf/cli/output.py:1265
- msgctxt "long"
- msgid "Size"
- msgstr "Taille"
-@@ -2916,32 +2912,32 @@ msgstr "Taille"
- #. not be longer than 5 characters. If the term 'Size' in your
- #. language is not longer than 5 characters then you can use it
- #. unabbreviated.
--#: dnf/cli/output.py:520 dnf/cli/output.py:1350
-+#: dnf/cli/output.py:474 dnf/cli/output.py:1263
- msgctxt "short"
- msgid "Size"
- msgstr "Taille"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:524
-+#: dnf/cli/output.py:478
- msgid "Source"
- msgstr "Source"
- 
- #. Translators: This is abbreviated 'Repository', used when
- #. we have not enough space to display the full word.
--#: dnf/cli/output.py:525 dnf/cli/output.py:1341
-+#: dnf/cli/output.py:479 dnf/cli/output.py:1254
- msgctxt "short"
- msgid "Repo"
- msgstr "Dépôt"
- 
- #. Translators: This is the full word 'Repository', used when
- #. we have enough space.
--#: dnf/cli/output.py:526 dnf/cli/output.py:1344
-+#: dnf/cli/output.py:480 dnf/cli/output.py:1257
- msgctxt "long"
- msgid "Repository"
- msgstr "Dépôt"
- 
- #. Translators: This message should be no longer than 12 chars.
--#: dnf/cli/output.py:533
-+#: dnf/cli/output.py:487
- msgid "From repo"
- msgstr "Depuis le dépôt"
- 
-@@ -2949,316 +2945,312 @@ msgstr "Depuis le dépôt"
- #. print(_("Committer   : %s") % ucd(pkg.committer))
- #. print(_("Committime  : %s") % time.ctime(pkg.committime))
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:539
-+#: dnf/cli/output.py:493
- msgid "Packager"
- msgstr "Empaqueteur"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:541
-+#: dnf/cli/output.py:495
- msgid "Buildtime"
- msgstr "Date de compilation"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:545
-+#: dnf/cli/output.py:499
- msgid "Install time"
- msgstr "Date d’installation"
- 
- #. Translators: This message should be no longer than 12 chars.
--#: dnf/cli/output.py:554
-+#: dnf/cli/output.py:508
- msgid "Installed by"
- msgstr "Installé par"
- 
- #. Translators: This is abbreviated 'Summary'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:558
-+#: dnf/cli/output.py:512
- msgctxt "short"
- msgid "Summary"
- msgstr "Résumé"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:564
-+#: dnf/cli/output.py:518
- msgid "License"
- msgstr "Licence"
- 
- #. Translators: This is abbreviated 'Description'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:568
-+#: dnf/cli/output.py:522
- msgctxt "short"
- msgid "Description"
- msgstr "Description"
- 
--#: dnf/cli/output.py:695
--msgid "No packages to list"
--msgstr "Aucun paquet à lister"
--
--#: dnf/cli/output.py:706
-+#: dnf/cli/output.py:650
- msgid "y"
- msgstr "o"
- 
--#: dnf/cli/output.py:706
-+#: dnf/cli/output.py:650
- msgid "yes"
- msgstr "oui"
- 
--#: dnf/cli/output.py:707
-+#: dnf/cli/output.py:651
- msgid "n"
- msgstr "n"
- 
--#: dnf/cli/output.py:707
-+#: dnf/cli/output.py:651
- msgid "no"
- msgstr "non"
- 
--#: dnf/cli/output.py:711
-+#: dnf/cli/output.py:655
- msgid "Is this ok [y/N]: "
- msgstr "Voulez-vous continuer ? [o/N] : "
- 
--#: dnf/cli/output.py:715
-+#: dnf/cli/output.py:659
- msgid "Is this ok [Y/n]: "
- msgstr "Voulez-vous continuer ? [O/n] : "
- 
--#: dnf/cli/output.py:795
-+#: dnf/cli/output.py:739
- #, python-format
- msgid "Group: %s"
- msgstr "Groupe : %s"
- 
--#: dnf/cli/output.py:799
-+#: dnf/cli/output.py:743
- #, python-format
- msgid " Group-Id: %s"
- msgstr " Identifiant du groupe : %s"
- 
--#: dnf/cli/output.py:801 dnf/cli/output.py:840
-+#: dnf/cli/output.py:745 dnf/cli/output.py:784
- #, python-format
- msgid " Description: %s"
- msgstr " Description : %s"
- 
--#: dnf/cli/output.py:803
-+#: dnf/cli/output.py:747
- #, python-format
- msgid " Language: %s"
- msgstr " Langue : %s"
- 
--#: dnf/cli/output.py:806
-+#: dnf/cli/output.py:750
- msgid " Mandatory Packages:"
- msgstr " Paquets obligatoires :"
- 
--#: dnf/cli/output.py:807
-+#: dnf/cli/output.py:751
- msgid " Default Packages:"
- msgstr " Paquets par défaut :"
- 
--#: dnf/cli/output.py:808
-+#: dnf/cli/output.py:752
- msgid " Optional Packages:"
- msgstr " Paquets optionnels :"
- 
--#: dnf/cli/output.py:809
-+#: dnf/cli/output.py:753
- msgid " Conditional Packages:"
- msgstr " Paquets conditionnels :"
- 
--#: dnf/cli/output.py:834
-+#: dnf/cli/output.py:778
- #, python-format
- msgid "Environment Group: %s"
- msgstr "Groupe d’environnement : %s"
- 
--#: dnf/cli/output.py:837
-+#: dnf/cli/output.py:781
- #, python-format
- msgid " Environment-Id: %s"
- msgstr " Identifiant d’environnement : %s"
- 
--#: dnf/cli/output.py:843
-+#: dnf/cli/output.py:787
- msgid " Mandatory Groups:"
- msgstr " Groupes obligatoires :"
- 
--#: dnf/cli/output.py:844
-+#: dnf/cli/output.py:788
- msgid " Optional Groups:"
- msgstr " Groupes optionnels :"
- 
--#: dnf/cli/output.py:865
-+#: dnf/cli/output.py:809
- msgid "Matched from:"
- msgstr "Correspondances trouvées dans  :"
- 
--#: dnf/cli/output.py:879
-+#: dnf/cli/output.py:823
- #, python-format
- msgid "Filename    : %s"
- msgstr "Nom de fichier : %s"
- 
--#: dnf/cli/output.py:904
-+#: dnf/cli/output.py:848
- #, python-format
- msgid "Repo        : %s"
- msgstr "Dépôt               : %s"
- 
--#: dnf/cli/output.py:913
-+#: dnf/cli/output.py:857
- msgid "Description : "
- msgstr "Description  : "
- 
--#: dnf/cli/output.py:917
-+#: dnf/cli/output.py:861
- #, python-format
- msgid "URL         : %s"
- msgstr "URL                 : %s"
- 
--#: dnf/cli/output.py:921
-+#: dnf/cli/output.py:865
- #, python-format
- msgid "License     : %s"
- msgstr "Licence        : %s"
- 
--#: dnf/cli/output.py:927
-+#: dnf/cli/output.py:871
- #, python-format
- msgid "Provide    : %s"
- msgstr "Provide    : %s"
- 
--#: dnf/cli/output.py:947
-+#: dnf/cli/output.py:891
- #, python-format
- msgid "Other       : %s"
- msgstr "Autre  : %s"
- 
--#: dnf/cli/output.py:996
-+#: dnf/cli/output.py:940
- msgid "There was an error calculating total download size"
- msgstr ""
- "Une erreur est survenue pendant le calcul de la taille totale des "
- "téléchargements"
- 
--#: dnf/cli/output.py:1002
-+#: dnf/cli/output.py:946
- #, python-format
- msgid "Total size: %s"
- msgstr "Taille totale  : %s"
- 
--#: dnf/cli/output.py:1005
-+#: dnf/cli/output.py:949
- #, python-format
- msgid "Total download size: %s"
- msgstr "Taille totale des téléchargements : %s"
- 
--#: dnf/cli/output.py:1008
-+#: dnf/cli/output.py:952
- #, python-format
- msgid "Installed size: %s"
- msgstr "Taille des paquets installés : %s"
- 
--#: dnf/cli/output.py:1026
-+#: dnf/cli/output.py:970
- msgid "There was an error calculating installed size"
- msgstr ""
- "Une erreur est survenue pendant le calcul de la taille des paquets "
- "installées"
- 
--#: dnf/cli/output.py:1030
-+#: dnf/cli/output.py:974
- #, python-format
- msgid "Freed space: %s"
- msgstr "Espace libéré : %s"
- 
--#: dnf/cli/output.py:1039
-+#: dnf/cli/output.py:983
- msgid "Marking packages as installed by the group:"
- msgstr "Marquage des paquets installés par le groupe :"
- 
--#: dnf/cli/output.py:1046
-+#: dnf/cli/output.py:990
- msgid "Marking packages as removed by the group:"
- msgstr "Marquage des paquets supprimés par le groupe :"
- 
--#: dnf/cli/output.py:1056
-+#: dnf/cli/output.py:1000
- msgid "Group"
- msgstr "Groupe"
- 
--#: dnf/cli/output.py:1056
-+#: dnf/cli/output.py:1000
- msgid "Packages"
- msgstr "Paquets"
- 
--#: dnf/cli/output.py:1133
-+#: dnf/cli/output.py:1046
- msgid "Installing group/module packages"
- msgstr "Installation des paquets du groupe/module"
- 
--#: dnf/cli/output.py:1134
-+#: dnf/cli/output.py:1047
- msgid "Installing group packages"
- msgstr "Installation du groupe de paquets"
- 
- #. TRANSLATORS: This is for a list of packages to be installed.
--#: dnf/cli/output.py:1138
-+#: dnf/cli/output.py:1051
- msgctxt "summary"
- msgid "Installing"
- msgstr "Installation"
- 
- #. TRANSLATORS: This is for a list of packages to be upgraded.
--#: dnf/cli/output.py:1140
-+#: dnf/cli/output.py:1053
- msgctxt "summary"
- msgid "Upgrading"
- msgstr "Mise à jour"
- 
- #. TRANSLATORS: This is for a list of packages to be reinstalled.
--#: dnf/cli/output.py:1142
-+#: dnf/cli/output.py:1055
- msgctxt "summary"
- msgid "Reinstalling"
- msgstr "Réinstallation"
- 
--#: dnf/cli/output.py:1144
-+#: dnf/cli/output.py:1057
- msgid "Installing dependencies"
- msgstr "Installation des dépendances"
- 
--#: dnf/cli/output.py:1145
-+#: dnf/cli/output.py:1058
- msgid "Installing weak dependencies"
- msgstr "Installation des dépendances faibles"
- 
- #. TRANSLATORS: This is for a list of packages to be removed.
--#: dnf/cli/output.py:1147
-+#: dnf/cli/output.py:1060
- msgid "Removing"
- msgstr "Suppression"
- 
--#: dnf/cli/output.py:1148
-+#: dnf/cli/output.py:1061
- msgid "Removing dependent packages"
- msgstr "Supprimer des paquets dépendants"
- 
--#: dnf/cli/output.py:1149
-+#: dnf/cli/output.py:1062
- msgid "Removing unused dependencies"
- msgstr "Suppression des dépendances inutilisées"
- 
- #. TRANSLATORS: This is for a list of packages to be downgraded.
--#: dnf/cli/output.py:1151
-+#: dnf/cli/output.py:1064
- msgctxt "summary"
- msgid "Downgrading"
- msgstr "Rétrogradation"
- 
--#: dnf/cli/output.py:1176
-+#: dnf/cli/output.py:1089
- msgid "Installing module profiles"
- msgstr "Installation des profils de module"
- 
--#: dnf/cli/output.py:1185
-+#: dnf/cli/output.py:1098
- msgid "Disabling module profiles"
- msgstr "Désactivation des profils de module"
- 
--#: dnf/cli/output.py:1194
-+#: dnf/cli/output.py:1107
- msgid "Enabling module streams"
- msgstr "Activation des flux de modules"
- 
--#: dnf/cli/output.py:1202
-+#: dnf/cli/output.py:1115
- msgid "Switching module streams"
- msgstr "Basculement des flux de modules"
- 
--#: dnf/cli/output.py:1210
-+#: dnf/cli/output.py:1123
- msgid "Disabling modules"
- msgstr "Désactivation des modules"
- 
--#: dnf/cli/output.py:1218
-+#: dnf/cli/output.py:1131
- msgid "Resetting modules"
- msgstr "Réinitialisation des modules"
- 
--#: dnf/cli/output.py:1230
-+#: dnf/cli/output.py:1143
- msgid "Installing Environment Groups"
- msgstr "Installation des groupes d’environnement"
- 
--#: dnf/cli/output.py:1237
-+#: dnf/cli/output.py:1150
- msgid "Upgrading Environment Groups"
- msgstr "Mise à niveau des groupes d’environnement"
- 
--#: dnf/cli/output.py:1244
-+#: dnf/cli/output.py:1157
- msgid "Removing Environment Groups"
- msgstr "Suppression des groupes d’environnement"
- 
--#: dnf/cli/output.py:1251
-+#: dnf/cli/output.py:1164
- msgid "Installing Groups"
- msgstr "Installation des groupes"
- 
--#: dnf/cli/output.py:1258
-+#: dnf/cli/output.py:1171
- msgid "Upgrading Groups"
- msgstr "Mise à niveau des groupes"
- 
--#: dnf/cli/output.py:1265
-+#: dnf/cli/output.py:1178
- msgid "Removing Groups"
- msgstr "Suppression des groupes"
- 
--#: dnf/cli/output.py:1281
-+#: dnf/cli/output.py:1194
- #, python-format
- msgid ""
- "Skipping packages with conflicts:\n"
-@@ -3267,12 +3259,12 @@ msgstr ""
- "Ignorer les paquets en conflit :\n"
- "(ajouter « %s » à la ligne de commande pour forcer leur mise à niveau)"
- 
--#: dnf/cli/output.py:1291
-+#: dnf/cli/output.py:1204
- #, python-format
- msgid "Skipping packages with broken dependencies%s"
- msgstr "Ignorer les paquets ayant des dépendances cassées %s"
- 
--#: dnf/cli/output.py:1295
-+#: dnf/cli/output.py:1208
- msgid " or part of a group"
- msgstr " ou qui fait parti d’un groupe"
- 
-@@ -3280,22 +3272,22 @@ msgstr " ou qui fait parti d’un groupe"
- #. use the full (unabbreviated) term 'Package' if you think that
- #. the translation to your language is not too long and will
- #. always fit to limited space.
--#: dnf/cli/output.py:1320
-+#: dnf/cli/output.py:1233
- msgctxt "short"
- msgid "Package"
- msgstr "Paquet"
- 
- #. Translators: This is the full (unabbreviated) term 'Package'.
--#: dnf/cli/output.py:1322
-+#: dnf/cli/output.py:1235
- msgctxt "long"
- msgid "Package"
- msgstr "Paquet"
- 
--#: dnf/cli/output.py:1371
-+#: dnf/cli/output.py:1284
- msgid "replacing"
- msgstr "remplacement"
- 
--#: dnf/cli/output.py:1378
-+#: dnf/cli/output.py:1291
- #, python-format
- msgid ""
- "\n"
-@@ -3307,289 +3299,273 @@ msgstr ""
- "%s\n"
- 
- #. TODO: remove
--#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
-+#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
- msgid "Install"
- msgstr "Installer"
- 
--#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
-+#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
- msgid "Upgrade"
- msgstr "Mettre à niveau"
- 
--#: dnf/cli/output.py:1388
-+#: dnf/cli/output.py:1301
- msgid "Remove"
- msgstr "Supprimer"
- 
--#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
-+#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
- msgid "Downgrade"
- msgstr "Retrograder"
- 
--#: dnf/cli/output.py:1391
-+#: dnf/cli/output.py:1304
- msgid "Skip"
- msgstr "Ignorer"
- 
--#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
-+#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
- msgid "Package"
- msgid_plural "Packages"
- msgstr[0] "Paquet"
- msgstr[1] "Paquets"
- 
--#: dnf/cli/output.py:1418
-+#: dnf/cli/output.py:1331
- msgid "Dependent package"
- msgid_plural "Dependent packages"
- msgstr[0] "Paquet dépendant"
- msgstr[1] "Paquets dépendants"
- 
--#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
--msgid "Upgraded"
--msgstr "Mis à niveau"
--
--#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
--msgid "Downgraded"
--msgstr "Rétrogradé"
--
--#: dnf/cli/output.py:1503
--msgid "Reinstalled"
--msgstr "Réinstallé"
--
--#: dnf/cli/output.py:1504
--msgid "Skipped"
--msgstr "Ignoré"
--
--#: dnf/cli/output.py:1505
--msgid "Removed"
--msgstr "Supprimé"
--
--#: dnf/cli/output.py:1508
--msgid "Failed"
--msgstr "Échec"
--
--#: dnf/cli/output.py:1559
-+#: dnf/cli/output.py:1439
- msgid "Total"
- msgstr "Total"
- 
--#: dnf/cli/output.py:1587
-+#: dnf/cli/output.py:1467
- msgid "<unset>"
- msgstr "<unset>"
- 
--#: dnf/cli/output.py:1588
-+#: dnf/cli/output.py:1468
- msgid "System"
- msgstr "Système"
- 
--#: dnf/cli/output.py:1638
-+#: dnf/cli/output.py:1518
- msgid "Command line"
- msgstr "Ligne de commande"
- 
- #. TRANSLATORS: user names who executed transaction in history command output
--#: dnf/cli/output.py:1649
-+#: dnf/cli/output.py:1531
- msgid "User name"
- msgstr "Nom d’utilisateur"
- 
--#: dnf/cli/output.py:1651
-+#: dnf/cli/output.py:1533
- msgid "ID"
- msgstr "ID"
- 
--#: dnf/cli/output.py:1653
-+#: dnf/cli/output.py:1535
- msgid "Date and time"
- msgstr "Date et heure"
- 
--#: dnf/cli/output.py:1654
-+#: dnf/cli/output.py:1536
- msgid "Action(s)"
- msgstr "Action(s)"
- 
--#: dnf/cli/output.py:1655
-+#: dnf/cli/output.py:1537
- msgid "Altered"
- msgstr "Modifié"
- 
--#: dnf/cli/output.py:1698
-+#: dnf/cli/output.py:1580
- msgid "No transactions"
- msgstr "Pas de transaction"
- 
--#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
-+#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
- msgid "Failed history info"
- msgstr "Infos sur l’historique des échecs"
- 
--#: dnf/cli/output.py:1714
-+#: dnf/cli/output.py:1596
- msgid "No transaction ID, or package, given"
- msgstr "Pas de paquet ou d’identifiant de transaction fourni"
- 
--#: dnf/cli/output.py:1772
-+#: dnf/cli/output.py:1654
- msgid "Erased"
- msgstr "Effacé"
- 
--#: dnf/cli/output.py:1774
-+#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
-+msgid "Downgraded"
-+msgstr "Rétrogradé"
-+
-+#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
-+msgid "Upgraded"
-+msgstr "Mis à niveau"
-+
-+#: dnf/cli/output.py:1656
- msgid "Not installed"
- msgstr "Non installé"
- 
--#: dnf/cli/output.py:1775
-+#: dnf/cli/output.py:1657
- msgid "Newer"
- msgstr "Plus récent"
- 
--#: dnf/cli/output.py:1775
-+#: dnf/cli/output.py:1657
- msgid "Older"
- msgstr "Plus ancien"
- 
--#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
-+#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
- msgid "Transaction ID :"
- msgstr "Identifiant de transaction :"
- 
--#: dnf/cli/output.py:1828
-+#: dnf/cli/output.py:1710
- msgid "Begin time     :"
- msgstr "Temps de début    :"
- 
--#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
-+#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
- msgid "Begin rpmdb    :"
- msgstr "Début de RPMDB    :"
- 
--#: dnf/cli/output.py:1839
-+#: dnf/cli/output.py:1721
- #, python-format
- msgid "(%u seconds)"
- msgstr "(%u secondes)"
- 
--#: dnf/cli/output.py:1841
-+#: dnf/cli/output.py:1723
- #, python-format
- msgid "(%u minutes)"
- msgstr "(%u minutes)"
- 
--#: dnf/cli/output.py:1843
-+#: dnf/cli/output.py:1725
- #, python-format
- msgid "(%u hours)"
- msgstr "(%u heures)"
- 
--#: dnf/cli/output.py:1845
-+#: dnf/cli/output.py:1727
- #, python-format
- msgid "(%u days)"
- msgstr "(%u jours)"
- 
--#: dnf/cli/output.py:1846
-+#: dnf/cli/output.py:1728
- msgid "End time       :"
- msgstr "Temps de fin :"
- 
--#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
-+#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
- msgid "End rpmdb      :"
- msgstr "Fin de RPMDB :"
- 
--#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
-+#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
- msgid "User           :"
- msgstr "Utilisateur  :"
- 
--#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
-+#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
- msgid "Aborted"
- msgstr "Avorté"
- 
--#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
--#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
-+#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
-+#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
- msgid "Return-Code    :"
- msgstr "Code de retour  :"
- 
--#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
-+#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
- msgid "Success"
- msgstr "Réussi"
- 
--#: dnf/cli/output.py:1869
-+#: dnf/cli/output.py:1751
- msgid "Failures:"
- msgstr "Échecs :"
- 
--#: dnf/cli/output.py:1873
-+#: dnf/cli/output.py:1755
- msgid "Failure:"
- msgstr "Échec :"
- 
--#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
-+#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
- msgid "Releasever     :"
- msgstr "Releasever     :"
- 
--#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
-+#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
- msgid "Command Line   :"
- msgstr "Ligne de commande :"
- 
--#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
-+#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
- msgid "Comment        :"
- msgstr "Commentaire :"
- 
--#: dnf/cli/output.py:1903
-+#: dnf/cli/output.py:1785
- msgid "Transaction performed with:"
- msgstr "Transaction effectuée avec :"
- 
--#: dnf/cli/output.py:1912
-+#: dnf/cli/output.py:1794
- msgid "Packages Altered:"
- msgstr "Paquets modifiés :"
- 
--#: dnf/cli/output.py:1918
-+#: dnf/cli/output.py:1800
- msgid "Scriptlet output:"
- msgstr "Sortie du mini script :"
- 
--#: dnf/cli/output.py:1925
-+#: dnf/cli/output.py:1807
- msgid "Errors:"
- msgstr "Erreurs :"
- 
--#: dnf/cli/output.py:1934
-+#: dnf/cli/output.py:1816
- msgid "Dep-Install"
- msgstr "Installation des dépendances"
- 
--#: dnf/cli/output.py:1935
-+#: dnf/cli/output.py:1817
- msgid "Obsoleted"
- msgstr "Rendu obsolète"
- 
--#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
-+#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
- msgid "Obsoleting"
- msgstr "Rend obsolète"
- 
--#: dnf/cli/output.py:1937
-+#: dnf/cli/output.py:1819
- msgid "Erase"
- msgstr "Effacement"
- 
--#: dnf/cli/output.py:1938
-+#: dnf/cli/output.py:1820
- msgid "Reinstall"
- msgstr "Réinstallation"
- 
--#: dnf/cli/output.py:2016
-+#: dnf/cli/output.py:1894
- #, python-format
- msgid "---> Package %s.%s %s will be installed"
- msgstr "---> Le paquet %s.%s %s sera installé"
- 
--#: dnf/cli/output.py:2018
-+#: dnf/cli/output.py:1896
- #, python-format
- msgid "---> Package %s.%s %s will be an upgrade"
- msgstr "---> Le paquet %s.%s %s sera une mise à jour"
- 
--#: dnf/cli/output.py:2020
-+#: dnf/cli/output.py:1898
- #, python-format
- msgid "---> Package %s.%s %s will be erased"
- msgstr "---> Le paquet %s.%s %s sera supprimé"
- 
--#: dnf/cli/output.py:2022
-+#: dnf/cli/output.py:1900
- #, python-format
- msgid "---> Package %s.%s %s will be reinstalled"
- msgstr "---> Le paquet %s.%s %s sera réinstallé"
- 
--#: dnf/cli/output.py:2024
-+#: dnf/cli/output.py:1902
- #, python-format
- msgid "---> Package %s.%s %s will be a downgrade"
- msgstr "---> Le paquet %s.%s %s sera une rétrogradation"
- 
--#: dnf/cli/output.py:2026
-+#: dnf/cli/output.py:1904
- #, python-format
- msgid "---> Package %s.%s %s will be obsoleting"
- msgstr "---> Le paquet %s.%s %s sera rendu obsolète"
- 
--#: dnf/cli/output.py:2028
-+#: dnf/cli/output.py:1906
- #, python-format
- msgid "---> Package %s.%s %s will be upgraded"
- msgstr "---> Le paquet %s.%s %s sera mis à jour"
- 
--#: dnf/cli/output.py:2030
-+#: dnf/cli/output.py:1908
- #, python-format
- msgid "---> Package %s.%s %s will be obsoleted"
- msgstr "---> Le paquet %s.%s %s sera rendu obsolète"
- 
--#: dnf/cli/output.py:2039
-+#: dnf/cli/output.py:1917
- msgid "--> Starting dependency resolution"
- msgstr "--> Début de la résolution des dépendances"
- 
--#: dnf/cli/output.py:2044
-+#: dnf/cli/output.py:1921
- msgid "--> Finished dependency resolution"
- msgstr "--> Résolution des dépendances terminée"
- 
--#: dnf/cli/output.py:2058 dnf/crypto.py:132
-+#: dnf/cli/output.py:1935 dnf/crypto.py:132
- #, python-format
- msgid ""
- "Importing GPG key 0x%s:\n"
-@@ -3677,7 +3653,7 @@ msgstr "Module ou Groupe « %s » n’existe pas."
- msgid "Environment id '%s' does not exist."
- msgstr "L’id d’environnement « %s » n’existe pas."
- 
--#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
-+#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
- #, python-format
- msgid "Environment id '%s' is not installed."
- msgstr "L’id d’environnement « %s » n’est pas installé."
-@@ -3702,6 +3678,11 @@ msgstr "L’id de groupe « %s » n’existe pas."
- msgid "Error parsing '%s': %s"
- msgstr "Erreur lors l’analyse de « %s » : %s"
- 
-+#: dnf/conf/config.py:151
-+#, python-format
-+msgid "Invalid configuration value: %s=%s in %s; %s"
-+msgstr "Valeur de configuration non valide : %s=%s dans %s ; %s"
-+
- #: dnf/conf/config.py:226
- msgid "Could not set cachedir: {}"
- msgstr "N’a pas pu définir cachedir : {}"
-@@ -3745,39 +3726,39 @@ msgstr ""
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "Le dépôt « %s » n’avait pas d’attr. %s avant setopt"
- 
--#: dnf/conf/read.py:51
-+#: dnf/conf/read.py:60
- #, python-format
- msgid "Warning: failed loading '%s', skipping."
- msgstr "Attention : lecture de « %s » erronée ; ignorer."
- 
--#: dnf/conf/read.py:63
-+#: dnf/conf/read.py:72
- msgid "Bad id for repo: {} ({}), byte = {} {}"
- msgstr "Id erroné pour le dépôt : {} ({}), byte = {} {}"
- 
--#: dnf/conf/read.py:67
-+#: dnf/conf/read.py:76
- msgid "Bad id for repo: {}, byte = {} {}"
- msgstr "Id erroné pour le dépôt : {}, byte = {} {}"
- 
--#: dnf/conf/read.py:75
-+#: dnf/conf/read.py:84
- msgid "Repository '{}' ({}): Error parsing config: {}"
- msgstr "Dépôt « {} » ({}) : erreur lors de l’analyse de la configuration : {}"
- 
--#: dnf/conf/read.py:78
-+#: dnf/conf/read.py:87
- msgid "Repository '{}': Error parsing config: {}"
- msgstr "Dépôt « {} » : erreur lors de l’analyse de la configuration : {}"
- 
--#: dnf/conf/read.py:84
-+#: dnf/conf/read.py:93
- msgid "Repository '{}' ({}) is missing name in configuration, using id."
- msgstr ""
- "Il manque le nom du dépôt « {} » ({}) dans la configuration, utilisation de "
- "l’id."
- 
--#: dnf/conf/read.py:87
-+#: dnf/conf/read.py:96
- msgid "Repository '{}' is missing name in configuration, using id."
- msgstr ""
- "Il manque le nom du dépôt « {} » dans la configuration, utilisation de l’id."
- 
--#: dnf/conf/read.py:104
-+#: dnf/conf/read.py:113
- msgid "Parsing file \"{}\" failed: {}"
- msgstr "La lecture du fichier « {} » a échoué : {}"
- 
-@@ -3791,7 +3772,20 @@ msgstr "dépôt %s : 0x%s déjà importé"
- msgid "repo %s: imported key 0x%s."
- msgstr "dépôt %s : clé importée 0x%s."
- 
--#: dnf/db/group.py:293
-+#: dnf/crypto.py:145
-+msgid "Verified using DNS record with DNSSEC signature."
-+msgstr "Vérifié en utilisant un enregistrement DNS avec une signature DNSSEC."
-+
-+#: dnf/crypto.py:147
-+msgid "NOT verified using DNS record."
-+msgstr "NON vérifié avec un enregistrement DNS."
-+
-+#: dnf/crypto.py:184
-+#, python-format
-+msgid "retrieving repo key for %s unencrypted from %s"
-+msgstr "récupération de la clé de dépôt pour %s déchiffrée à partir de %s"
-+
-+#: dnf/db/group.py:301
- msgid ""
- "No available modular metadata for modular package '{}', it cannot be "
- "installed on the system"
-@@ -3799,21 +3793,21 @@ msgstr ""
- "Aucune métadonnée de module disponible pour le paquet modulaire « {} », ne "
- "peut pas être installé dans le système"
- 
--#: dnf/db/group.py:343
-+#: dnf/db/group.py:351
- msgid "No available modular metadata for modular package"
- msgstr "Aucune métadonnée de module disponible pour le paquet modulaire"
- 
--#: dnf/db/group.py:377
-+#: dnf/db/group.py:385
- #, python-format
- msgid "Will not install a source rpm package (%s)."
- msgstr "Un paquet source rpm ne sera pas installé (%s)."
- 
- #: dnf/dnssec.py:168
- msgid ""
--"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
-+"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
- msgstr ""
--"L’option de configuration « gpgkey_dns_verification » nécessite libunbound "
--"({})"
-+"L’option de configuration « gpgkey_dns_verification » nécessite "
-+"python3-unbound({})"
- 
- #: dnf/dnssec.py:239
- msgid "DNSSEC extension: Key for user "
-@@ -3878,7 +3872,7 @@ msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "Problème de dépendance modulaire avec les valeurs par défaut :"
- msgstr[1] "Problèmes de dépendance modulaire avec les valeurs par défaut :"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:686
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:854
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "Problème de dépendance modulaire :"
-@@ -3915,7 +3909,47 @@ msgstr "Modules activés : {}."
- msgid "No profile specified for '{}', please specify profile."
- msgstr "Aucun profil spécifié pour « {} », veuillez spécifier un profil."
- 
--#: dnf/module/module_base.py:33
-+#: dnf/module/exceptions.py:27
-+msgid "No such module: {}"
-+msgstr "Aucun module de ce type : {}"
-+
-+#: dnf/module/exceptions.py:33
-+msgid "No such stream: {}"
-+msgstr "Aucun flux de ce type : {}"
-+
-+#: dnf/module/exceptions.py:39
-+msgid "No enabled stream for module: {}"
-+msgstr "Aucun flux activé pour le module : {}"
-+
-+#: dnf/module/exceptions.py:46
-+msgid "Cannot enable more streams from module '{}' at the same time"
-+msgstr "Ne peut pas activer plus de flux du module « {} » en même temps"
-+
-+#: dnf/module/exceptions.py:52
-+msgid "Different stream enabled for module: {}"
-+msgstr "Différent flux activé pour le module : {}"
-+
-+#: dnf/module/exceptions.py:58
-+msgid "No such profile: {}"
-+msgstr "Aucun profil de ce type : {}"
-+
-+#: dnf/module/exceptions.py:64
-+msgid "Specified profile not installed for {}"
-+msgstr "Le profil spécifié n'est pas installé pour {}"
-+
-+#: dnf/module/exceptions.py:70
-+msgid "No stream specified for '{}', please specify stream"
-+msgstr "Aucun flux spécifié pour « {} », veuillez spécifier un flux"
-+
-+#: dnf/module/exceptions.py:82
-+msgid "No such profile: {}. No profiles available"
-+msgstr "Aucun dépôt de ce type : {}. Aucun profile n’est disponible"
-+
-+#: dnf/module/exceptions.py:88
-+msgid "No profile to remove for '{}'"
-+msgstr "Aucun profil à retirer pour « {} »"
-+
-+#: dnf/module/module_base.py:35
- msgid ""
- "\n"
- "\n"
-@@ -3925,7 +3959,7 @@ msgstr ""
- "\n"
- "Aide : [d]éfaut, [e]activé, [x]désactivé, [i]nstallé"
- 
--#: dnf/module/module_base.py:34
-+#: dnf/module/module_base.py:36
- msgid ""
- "\n"
- "\n"
-@@ -3935,82 +3969,105 @@ msgstr ""
- "\n"
- "Aide : [d]éfaut, [e]activé, [x]désactivé, [i]nstallé, [a]ctivé"
- 
--#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
--#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
-+#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
- msgid "Ignoring unnecessary profile: '{}/{}'"
- msgstr "Profil inutile ignoré : {}/{}"
- 
--#: dnf/module/module_base.py:84
-+#: dnf/module/module_base.py:86
- #, python-brace-format
- msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
- msgstr ""
--"Toutes les correspondance pour le paramètre « {0} » dans le mode module « "
-+"Toutes les correspondances pour le paramètre « {0} » dans le mode module « "
- "{1}:{2} » ne sont pas actives"
- 
--#: dnf/module/module_base.py:92
-+#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
- #, python-brace-format
- msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
- msgstr ""
- "L’installation du module « {0} » à partir du dépôt Fail-Safe {1} n’est pas "
- "permise"
- 
--#: dnf/module/module_base.py:102
-+#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
- msgid ""
- "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
- msgstr ""
- "Impossible de faire correspondre le profil pour l’argument {}. Profils "
- "disponibles pour « {}:{} » : {}"
- 
--#: dnf/module/module_base.py:106
-+#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
- msgid "Unable to match profile for argument {}"
- msgstr "Impossible de faire correspondre le profil pour l’argument {}"
- 
--#: dnf/module/module_base.py:118
-+#: dnf/module/module_base.py:120
- msgid "No default profiles for module {}:{}. Available profiles: {}"
- msgstr ""
- "Aucun profil par défaut pour le module {}:{}. Profils disponibles : {}"
- 
--#: dnf/module/module_base.py:122
-+#: dnf/module/module_base.py:124
- msgid "No profiles for module {}:{}"
- msgstr "Aucun profil pour le module {} : {}"
- 
--#: dnf/module/module_base.py:129
-+#: dnf/module/module_base.py:131
- msgid "Default profile {} not available in module {}:{}"
- msgstr "Le profil par défaut {} n’est pas disponible dans le module {} : {}"
- 
--#: dnf/module/module_base.py:142
-+#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
- msgid "Installing module from Fail-Safe repository is not allowed"
- msgstr ""
- "L’installation du module à partir du dépôt Fail-Safe n’est pas permise"
- 
--#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
--#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
--#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
--#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
-+#: dnf/module/module_base.py:196
-+#, python-brace-format
-+msgid "No active matches for argument '{0}' in module '{1}:{2}'"
-+msgstr ""
-+"Aucune correspondance active pour le paramètre « {0} » dans le module « "
-+"{1}:{2} »"
-+
-+#: dnf/module/module_base.py:228
-+#, python-brace-format
-+msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
-+msgstr ""
-+"Le profil installé « {0} » n’est pas disponible dans le module « {1} » flux "
-+"« {2} »"
-+
-+#: dnf/module/module_base.py:267
-+msgid "No packages available to distrosync for package name '{}'"
-+msgstr "Aucun paquet distrosync disponible pour le nom de paquet « {} »"
-+
-+#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
-+#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
-+#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
-+#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
- msgid "Unable to resolve argument {}"
- msgstr "Impossible de résoudre le paramètre {}"
- 
--#: dnf/module/module_base.py:160
--msgid "No match for package {}"
--msgstr "Aucune correspondance pour le paquet {}"
--
--#: dnf/module/module_base.py:204
-+#: dnf/module/module_base.py:321
- #, python-brace-format
- msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
- msgstr ""
- "La mise à niveau du module « {0} » à partir du dépôt Fail-Safe {1} n’est pas"
- " permise"
- 
--#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
-+#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
- msgid "Unable to match profile in argument {}"
- msgstr "Impossible de faire correspondre le profil dans l’argument {}"
- 
--#: dnf/module/module_base.py:231
-+#: dnf/module/module_base.py:348
- msgid "Upgrading module from Fail-Safe repository is not allowed"
- msgstr ""
- "La mise à niveau du module à partir du dépôt Fail-Safe n’est pas permise"
- 
--#: dnf/module/module_base.py:367
-+#: dnf/module/module_base.py:422
-+#, python-brace-format
-+msgid ""
-+"Argument '{argument}' matches {stream_count} streams ('{streams}') of module"
-+" '{module}', but none of the streams are enabled or default"
-+msgstr ""
-+"L'argument « {argument} » correspond à {stream_count} flux (« {streams} ») "
-+"du module « {module} », mais aucun des flux n'est activé ou par défaut"
-+
-+#: dnf/module/module_base.py:509
- msgid ""
- "Only module name is required. Ignoring unneeded information in argument: "
- "'{}'"
-@@ -4018,10 +4075,9 @@ msgstr ""
- "Seul le nom du module est nécessaire. Les paramètres inutiles ont été "
- "ignorés : « {} »"
- 
--#: dnf/package.py:298
--#, python-format
--msgid "%s: %s check failed: %s vs %s"
--msgstr "%s : %s vérification a échoué : %s vs %s"
-+#: dnf/module/module_base.py:841
-+msgid "No match for package {}"
-+msgstr "Aucune correspondance pour le paquet {}"
- 
- #. empty file is invalid json format
- #: dnf/persistor.py:54
-@@ -4032,12 +4088,12 @@ msgstr "%s est un fichier vide"
- #: dnf/persistor.py:91
- #, python-format
- msgid "Failed to load expired repos cache: %s"
--msgstr ""
-+msgstr "Échec du chargement du cache des dépôts expirés : %s"
- 
- #: dnf/persistor.py:99
- #, python-format
- msgid "Failed to store expired repos cache: %s"
--msgstr ""
-+msgstr "Échec du stockage du cache des dépôts expirés : %s"
- 
- #: dnf/persistor.py:106
- msgid "Failed storing last makecache time."
-@@ -4057,17 +4113,17 @@ msgstr "La lecture du fichier a échoué : %s"
- msgid "Loaded plugins: %s"
- msgstr "Plugins chargés : %s"
- 
--#: dnf/plugin.py:199
-+#: dnf/plugin.py:211
- #, python-format
- msgid "Failed loading plugin \"%s\": %s"
- msgstr "Échec lors du chargement du module « %s » : %s"
- 
--#: dnf/plugin.py:231
-+#: dnf/plugin.py:243
- msgid "No matches found for the following enable plugin patterns: {}"
- msgstr ""
- "Aucun élément correspondant aux modèles de plugin d’activation suivants : {}"
- 
--#: dnf/plugin.py:235
-+#: dnf/plugin.py:247
- msgid "No matches found for the following disable plugin patterns: {}"
- msgstr ""
- "Aucun élément correspondant aux modèles de plugin de désactivation suivants "
-@@ -4098,10 +4154,32 @@ msgstr "activation du dépôt %s"
- msgid "Added %s repo from %s"
- msgstr "Ajout du dépôt %s depuis le %s"
- 
-+#: dnf/rpm/miscutils.py:35
-+#, python-brace-format
-+msgid ""
-+"Using rpmkeys executable from {path} to verify signature for package: "
-+"{package}."
-+msgstr ""
-+"Utilisation de l'exécutable rpmkeys de {path} pour vérifier la signature du "
-+"package : {package}."
-+
-+#: dnf/rpm/miscutils.py:39
-+msgid "Cannot find rpmkeys executable to verify signatures."
-+msgstr ""
-+"Impossible de trouver l’exécutable rpmkeys pour vérifier les signatures."
-+
- #: dnf/rpm/transaction.py:119
- msgid "Errors occurred during test transaction."
- msgstr "Des erreurs sont survenues lors de la transaction de test."
- 
-+#: dnf/sack.py:47
-+msgid ""
-+"allow_vendor_change is disabled. This option is currently not supported for "
-+"downgrade and distro-sync commands"
-+msgstr ""
-+"allow_vendor_change est désactivé. Cette option n’est actuellement pas prise"
-+" en charge pour les commandes downgrade et distro-sync"
-+
- #. TRANSLATORS: This is for a single package currently being downgraded.
- #: dnf/transaction.py:80
- msgctxt "currently"
-@@ -4148,27 +4226,31 @@ msgstr "Exécution du scriptlet"
- msgid "Preparing"
- msgstr "Préparation"
- 
--#: dnf/transaction_sr.py:60
-+#: dnf/transaction_sr.py:66
- #, python-brace-format
--msgid "Errors in \"{filename}\":"
--msgstr "Erreurs dans « {filename} » :"
-+msgid ""
-+"The following problems occurred while replaying the transaction from file "
-+"\"{filename}\":"
-+msgstr ""
-+"Les problèmes suivants sont survenus lors de la relecture de la transaction "
-+"à partir du fichier « {filename} » :"
- 
--#: dnf/transaction_sr.py:70
--#, python-brace-format
--msgid "Error in \"{filename}\": {error}"
--msgstr "Erreur dans « {filename} » : {error}"
-+#: dnf/transaction_sr.py:68
-+msgid "The following problems occurred while running a transaction:"
-+msgstr ""
-+"Les problèmes suivants sont survenus lors de l'exécution d'une transaction :"
- 
--#: dnf/transaction_sr.py:87
-+#: dnf/transaction_sr.py:89
- #, python-brace-format
- msgid "Invalid major version \"{major}\", number expected."
- msgstr "Version majeur invalide « {major} », numéro attendu."
- 
--#: dnf/transaction_sr.py:95
-+#: dnf/transaction_sr.py:97
- #, python-brace-format
- msgid "Invalid minor version \"{minor}\", number expected."
- msgstr "Version mineure invalide « {minor} », numéro attendu."
- 
--#: dnf/transaction_sr.py:101
-+#: dnf/transaction_sr.py:103
- #, python-brace-format
- msgid ""
- "Incompatible major version \"{major}\", supported major version is "
-@@ -4177,137 +4259,192 @@ msgstr ""
- "Version majeure incompatible « {major} », la version majeure prise en charge"
- " est « {major_supp} »."
- 
--#: dnf/transaction_sr.py:244
-+#: dnf/transaction_sr.py:224
-+msgid ""
-+"Conflicting TransactionReplay arguments have been specified: filename, data"
-+msgstr ""
-+"Des arguments contradictoires de TransactionReplay ont été spécifiés : nom "
-+"de fichier, données"
-+
-+#: dnf/transaction_sr.py:265
- #, python-brace-format
- msgid "Unexpected type of \"{id}\", {exp} expected."
- msgstr "Type de « {id} » inattendu, {exp} attendu."
- 
--#: dnf/transaction_sr.py:250
-+#: dnf/transaction_sr.py:271
- #, python-brace-format
- msgid "Missing key \"{key}\"."
- msgstr "Clé « {key} » manquante."
- 
--#: dnf/transaction_sr.py:263
-+#: dnf/transaction_sr.py:285
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an rpm."
- msgstr "Clé objet « {key} » manquante dans un rpm."
- 
--#: dnf/transaction_sr.py:267
-+#: dnf/transaction_sr.py:289
- #, python-brace-format
- msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
- msgstr ""
-+"Valeur inattendue pour le paquet de raison « {reason} » pour le rpm nevra "
-+"« {nevra} »."
- 
--#: dnf/transaction_sr.py:275
-+#: dnf/transaction_sr.py:297
- #, python-brace-format
- msgid "Cannot parse NEVRA for package \"{nevra}\"."
--msgstr ""
-+msgstr "Impossible d’analyser NEVRA pour le paquet « {nevra} »."
- 
--#: dnf/transaction_sr.py:286
-+#: dnf/transaction_sr.py:321
- #, python-brace-format
- msgid "Cannot find rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "Impossible de trouver le rpm nevra « {nevra} »."
- 
--#: dnf/transaction_sr.py:301
--#, fuzzy, python-brace-format
--#| msgid "Package %s is already installed."
-+#: dnf/transaction_sr.py:336
-+#, python-brace-format
- msgid "Package \"{na}\" is already installed for action \"{action}\"."
--msgstr "Le paquet %s est déjà installé."
-+msgstr "Le paquet « {na} » est déjà installé pour l’action « {action} »."
- 
--#: dnf/transaction_sr.py:311
-+#: dnf/transaction_sr.py:345
- #, python-brace-format
- msgid ""
- "Package nevra \"{nevra}\" not available in repositories for action "
- "\"{action}\"."
- msgstr ""
-+"Le paquet nevra « {nevra} » n’est pas disponible dans les dépôts pour "
-+"l’action « {action} »."
- 
--#: dnf/transaction_sr.py:322
-+#: dnf/transaction_sr.py:356
- #, python-brace-format
- msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
- msgstr ""
-+"Le paquet nevra « {nevra} » n’est pas installé pour l’action « {action} »."
- 
--#: dnf/transaction_sr.py:336
-+#: dnf/transaction_sr.py:370
- #, python-brace-format
- msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
- msgstr ""
-+"Valeur inattendue pour l’action de paquet « {action} » pour le rpm nevra "
-+"« {nevra} »."
- 
--#: dnf/transaction_sr.py:343
--#, fuzzy, python-format
--#| msgid "Module or Group '%s' is not available."
-+#: dnf/transaction_sr.py:377
-+#, python-format
- msgid "Group id '%s' is not available."
--msgstr "Module ou Groupe « %s » non disponible."
-+msgstr "ID de groupe « %s » non disponible."
- 
--#: dnf/transaction_sr.py:364
-+#: dnf/transaction_sr.py:398
- #, python-brace-format
- msgid "Missing object key \"{key}\" in groups.packages."
--msgstr ""
-+msgstr "Clé d’objet « {key} » manquante dans groups.packages."
- 
--#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
--#, fuzzy, python-format
--#| msgid "Module or Group '%s' is not installed."
-+#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
-+#, python-format
- msgid "Group id '%s' is not installed."
--msgstr "Module ou Groupe « %s » non installé."
-+msgstr "ID de groupe « %s » non installé."
- 
--#: dnf/transaction_sr.py:398
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not available."
-+#: dnf/transaction_sr.py:432
-+#, python-format
- msgid "Environment id '%s' is not available."
--msgstr "L’environnement « %s » n’est pas disponible."
-+msgstr "ID d’environnement « %s » non disponible."
- 
--#: dnf/transaction_sr.py:422
-+#: dnf/transaction_sr.py:456
- #, python-brace-format
- msgid ""
- "Invalid value \"{group_type}\" of environments.groups.group_type, only "
- "\"mandatory\" or \"optional\" is supported."
- msgstr ""
-+"Valeur invalide « {group_type} » pour environments.groups.group_type, seuls "
-+"« mandatory » ou « optional » sont pris en charge."
- 
--#: dnf/transaction_sr.py:430
-+#: dnf/transaction_sr.py:464
- #, python-brace-format
- msgid "Missing object key \"{key}\" in environments.groups."
--msgstr ""
-+msgstr "Clé d’objet « {key} » manquante dans environments.groups."
- 
--#: dnf/transaction_sr.py:508
-+#: dnf/transaction_sr.py:542
- #, python-brace-format
- msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
- msgstr ""
-+"Valeur inattendue pour l’action de groupe « {action} » pour le groupe "
-+"« {group} »."
- 
--#: dnf/transaction_sr.py:513
-+#: dnf/transaction_sr.py:547
- #, python-brace-format
- msgid "Missing object key \"{key}\" in a group."
--msgstr ""
-+msgstr "Clé d’objet « {key} » manquante dans un groupe."
- 
--#: dnf/transaction_sr.py:537
-+#: dnf/transaction_sr.py:571
- #, python-brace-format
- msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
- msgstr ""
-+"Valeur inattendue pour l’action d’environnement « {action} » pour "
-+"l’environnement « {env} »."
- 
--#: dnf/transaction_sr.py:542
-+#: dnf/transaction_sr.py:576
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an environment."
--msgstr ""
-+msgstr "Clé d’objet « {key} » manquante dans un environnement."
- 
--#: dnf/transaction_sr.py:581
-+#: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
- "Package nevra \"{nevra}\", which is not present in the transaction file, was"
- " pulled into the transaction."
- msgstr ""
-+"Le paquet nevra « {nevra} », qui n’est pas présent dans le fichier de "
-+"transaction, a été retiré de la transaction."
- 
--#: dnf/util.py:391 dnf/util.py:393
-+#: dnf/util.py:419 dnf/util.py:421
- msgid "Problem"
- msgstr "Problème"
- 
--#: dnf/util.py:444
-+#: dnf/util.py:472
- msgid "TransactionItem not found for key: {}"
- msgstr "TransactionItem n’a pas été trouvé pour la clef : {}"
- 
--#: dnf/util.py:454
-+#: dnf/util.py:482
- msgid "TransactionSWDBItem not found for key: {}"
- msgstr "TransactionSWDBItem n’a pas été trouvé pour la clef : {}"
- 
--#: dnf/util.py:457
-+#: dnf/util.py:485
- msgid "Errors occurred during transaction."
- msgstr "Des erreurs sont survenues lors de la transaction."
- 
-+#: dnf/util.py:621
-+msgid "Reinstalled"
-+msgstr "Réinstallé"
-+
-+#: dnf/util.py:622
-+msgid "Skipped"
-+msgstr "Ignoré"
-+
-+#: dnf/util.py:623
-+msgid "Removed"
-+msgstr "Supprimé"
-+
-+#: dnf/util.py:626
-+msgid "Failed"
-+msgstr "Échec"
-+
-+#~ msgid "%s: %s check failed: %s vs %s"
-+#~ msgstr "%s : %s vérification a échoué : %s vs %s"
-+
-+#~ msgid "Action not handled: {}"
-+#~ msgstr "Action non gérée : {}"
-+
-+#~ msgid "no package matched"
-+#~ msgstr "aucun paquet correspondant"
-+
-+#~ msgid "Not found given transaction ID"
-+#~ msgstr "L’identifiant de transaction fourni est introuvable"
-+
-+#~ msgid "Undoing transaction {}, from {}"
-+#~ msgstr "Révocation de lla transaction {}, de {}"
-+
-+#~ msgid "Errors in \"{filename}\":"
-+#~ msgstr "Erreurs dans « {filename} » :"
-+
-+#~ msgid "Error in \"{filename}\": {error}"
-+#~ msgstr "Erreur dans « {filename} » : {error}"
-+
- #~ msgid "format for displaying found packages"
- #~ msgstr "format d’affichage des paquets trouvés"
- 
-diff --git a/po/ja.po b/po/ja.po
-index 6435271c..887cd57c 100644
---- a/po/ja.po
-+++ b/po/ja.po
-@@ -14,7 +14,7 @@
- # Hajime Taira <htaira@fedoraproject.org>, 2017. #zanata
- # Ooyama Yosiyuki <qqke6wd9k@apricot.ocn.ne.jp>, 2017. #zanata
- # Casey Jones <nahareport@live.com>, 2018. #zanata
--# Ludek Janda <ljanda@redhat.com>, 2018. #zanata
-+# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
- # Noriko Mizumoto <noriko.mizumoto@gmail.com>, 2018. #zanata
- # Ooyama Yosiyuki <qqke6wd9k@apricot.ocn.ne.jp>, 2018. #zanata
- # Hajime Taira <htaira@fedoraproject.org>, 2019. #zanata
-@@ -22,20 +22,21 @@
- # Julien Humbert <julroy67@gmail.com>, 2020.
- # Casey Jones <nahareport@yahoo.com>, 2020.
- # Hajime Taira <htaira@pantora.net>, 2020.
-+# Sundeep Anand <suanand@redhat.com>, 2021.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2020-10-05 09:18-0400\n"
--"PO-Revision-Date: 2020-07-27 05:29+0000\n"
--"Last-Translator: Hajime Taira <htaira@pantora.net>\n"
--"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/dnf-master/ja/>\n"
-+"POT-Creation-Date: 2021-08-11 16:00+0200\n"
-+"PO-Revision-Date: 2021-09-06 17:24+0000\n"
-+"Last-Translator: Sundeep Anand <suanand@redhat.com>\n"
-+"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/dnf-rhel-8/ja/>\n"
- "Language: ja\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=1; plural=0;\n"
--"X-Generator: Weblate 4.1.1\n"
-+"X-Generator: Weblate 4.8\n"
- 
- #: dnf/automatic/emitter.py:32
- #, python-format
-@@ -45,7 +46,7 @@ msgstr "'%s' に以下の更新が適用されました:"
- #: dnf/automatic/emitter.py:33
- #, python-format
- msgid "Updates completed at %s"
--msgstr "'%s' に更新が適用されました。"
-+msgstr "'%s' に更新が適用されました"
- 
- #: dnf/automatic/emitter.py:34
- #, python-format
-@@ -82,7 +83,7 @@ msgstr "'%s' を使用した電子メールの送信に失敗しました: %s"
- msgid "Failed to execute command '%s': returned %d"
- msgstr "コマンド '%s' の実行に失敗しました: %d を返しました"
- 
--#: dnf/automatic/main.py:164 dnf/conf/config.py:151
-+#: dnf/automatic/main.py:164
- #, python-format
- msgid "Unknown configuration value: %s=%s in %s; %s"
- msgstr "不明な設定値: %s=%s in %s; %s"
-@@ -92,7 +93,7 @@ msgstr "不明な設定値: %s=%s in %s; %s"
- msgid "Unknown configuration option: %s = %s in %s"
- msgstr "不明な設定オプション: %s = %s in %s"
- 
--#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
-+#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
- msgid "GPG check FAILED"
- msgstr "GPG の確認に失敗しました"
- 
-@@ -105,9 +106,9 @@ msgid "Started dnf-automatic."
- msgstr "dnf-automatic を開始しました。"
- 
- #: dnf/automatic/main.py:308
--#, python-format
--msgid "Sleep for %s seconds"
--msgstr "%s 秒スリープします"
-+msgid "Sleep for {} second"
-+msgid_plural "Sleep for {} seconds"
-+msgstr[0] "{} 秒スリープします"
- 
- #: dnf/automatic/main.py:315
- msgid "System is off-line."
-@@ -119,388 +120,374 @@ msgstr "システムはオフラインです。"
- msgid "Error: %s"
- msgstr "エラー: %s"
- 
--#: dnf/base.py:146
-+#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
- msgid "loading repo '{}' failure: {}"
- msgstr "repo '{}' のロードに失敗しました: {}"
- 
--#: dnf/base.py:148
-+#: dnf/base.py:150
- msgid "Loading repository '{}' has failed"
- msgstr "repository '{}' のロードに失敗しました"
- 
--#: dnf/base.py:320
-+#: dnf/base.py:327
- msgid "Metadata timer caching disabled when running on metered connection."
- msgstr "metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。"
- 
--#: dnf/base.py:325
-+#: dnf/base.py:332
- msgid "Metadata timer caching disabled when running on a battery."
- msgstr "バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。"
- 
--#: dnf/base.py:330
-+#: dnf/base.py:337
- msgid "Metadata timer caching disabled."
- msgstr "メタデータタイマーキャッシュは無効化されました。"
- 
--#: dnf/base.py:335
-+#: dnf/base.py:342
- msgid "Metadata cache refreshed recently."
- msgstr "メタデータキャッシュは最近、リフレッシュされました。"
- 
--#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
-+#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
- msgid "There are no enabled repositories in \"{}\"."
- msgstr "\"{}\" には有効化されたリポジトリーがありません。"
- 
--#: dnf/base.py:348
-+#: dnf/base.py:355
- #, python-format
- msgid "%s: will never be expired and will not be refreshed."
- msgstr "%s: は期限切れになることはなく、リフレッシュされることもありません。"
- 
--#: dnf/base.py:350
-+#: dnf/base.py:357
- #, python-format
- msgid "%s: has expired and will be refreshed."
- msgstr "%s: は期限切れとなったのでリフレッシュされます。"
- 
- #. expires within the checking period:
--#: dnf/base.py:354
-+#: dnf/base.py:361
- #, python-format
- msgid "%s: metadata will expire after %d seconds and will be refreshed now"
- msgstr "%s: メタデータは %d 秒後に期限切れとなり、すぐにリフレッシュされます"
- 
--#: dnf/base.py:358
-+#: dnf/base.py:365
- #, python-format
- msgid "%s: will expire after %d seconds."
- msgstr "%s: は %d 秒後に期限切れとなります。"
- 
- #. performs the md sync
--#: dnf/base.py:364
-+#: dnf/base.py:371
- msgid "Metadata cache created."
- msgstr "メタデータキャッシュを作成しました。"
- 
--#: dnf/base.py:397
-+#: dnf/base.py:404 dnf/base.py:471
- #, python-format
- msgid "%s: using metadata from %s."
--msgstr "%s: は %s から取得したメタデータを使用中"
-+msgstr "%s: は %s から取得したメタデータを使用中。"
- 
--#: dnf/base.py:409
-+#: dnf/base.py:416 dnf/base.py:484
- #, python-format
- msgid "Ignoring repositories: %s"
- msgstr "リポジトリーを無視します: %s"
- 
--#: dnf/base.py:412
-+#: dnf/base.py:419
- #, python-format
- msgid "Last metadata expiration check: %s ago on %s."
- msgstr "メタデータの期限切れの最終確認: %s 時間前の %s に実施しました。"
- 
--#: dnf/base.py:443
-+#: dnf/base.py:512
- msgid ""
- "The downloaded packages were saved in cache until the next successful "
- "transaction."
- msgstr "ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。"
- 
--#: dnf/base.py:445
-+#: dnf/base.py:514
- #, python-format
- msgid "You can remove cached packages by executing '%s'."
- msgstr "'%s' を実行することでキャッシュパッケージを削除できます。"
- 
--#: dnf/base.py:535
-+#: dnf/base.py:606
- #, python-format
- msgid "Invalid tsflag in config file: %s"
- msgstr "設定ファイルの tsflag が無効です: %s"
- 
--#: dnf/base.py:591
-+#: dnf/base.py:662
- #, python-format
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr "リポジトリーのグループファイルを追加できませんでした: %s - %s"
- 
--#: dnf/base.py:823
-+#: dnf/base.py:904
- msgid "Running transaction check"
- msgstr "トランザクションの確認を実行中"
- 
--#: dnf/base.py:831
-+#: dnf/base.py:912
- msgid "Error: transaction check vs depsolve:"
- msgstr "エラー: トランザクションの確認 vs depsolve:"
- 
--#: dnf/base.py:837
-+#: dnf/base.py:918
- msgid "Transaction check succeeded."
- msgstr "トランザクションの確認に成功しました。"
- 
--#: dnf/base.py:840
-+#: dnf/base.py:921
- msgid "Running transaction test"
- msgstr "トランザクションのテストを実行中"
- 
--#: dnf/base.py:850 dnf/base.py:992
-+#: dnf/base.py:931 dnf/base.py:1082
- msgid "RPM: {}"
- msgstr "RPM: {}"
- 
--#: dnf/base.py:851
-+#: dnf/base.py:932
- msgid "Transaction test error:"
- msgstr "トランザクションテストエラー:"
- 
--#: dnf/base.py:862
-+#: dnf/base.py:943
- msgid "Transaction test succeeded."
- msgstr "トランザクションのテストに成功しました。"
- 
--#: dnf/base.py:883
-+#: dnf/base.py:964
- msgid "Running transaction"
- msgstr "トランザクションを実行中"
- 
--#: dnf/base.py:911
-+#: dnf/base.py:1001
- msgid "Disk Requirements:"
--msgstr "ディスク要件"
-+msgstr "ディスク要件:"
- 
--#: dnf/base.py:914
-+#: dnf/base.py:1004
- #, python-brace-format
- msgid "At least {0}MB more space needed on the {1} filesystem."
- msgid_plural "At least {0}MB more space needed on the {1} filesystem."
- msgstr[0] "{1} ファイルシステムに最低 {0}MB の追加スペースが必要です。"
- 
--#: dnf/base.py:921
-+#: dnf/base.py:1011
- msgid "Error Summary"
- msgstr "エラーの概要"
- 
--#: dnf/base.py:947
-+#: dnf/base.py:1037
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDBは {prog} のサポート外に変更されました。"
- 
--#: dnf/base.py:993 dnf/base.py:1001
-+#: dnf/base.py:1083 dnf/base.py:1091
- msgid "Could not run transaction."
- msgstr "トランザクションを実行できませんでした。"
- 
--#: dnf/base.py:996
-+#: dnf/base.py:1086
- msgid "Transaction couldn't start:"
- msgstr "トランザクションを開始できませんでした:"
- 
--#: dnf/base.py:1010
-+#: dnf/base.py:1100
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr "トランザクションファイル %s の削除に失敗しました"
- 
--#: dnf/base.py:1092
-+#: dnf/base.py:1182
- msgid "Some packages were not downloaded. Retrying."
- msgstr "一部のパッケージはダウンロードされませんでした。再試行中です。"
- 
--#: dnf/base.py:1122
-+#: dnf/base.py:1212
- #, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
- msgstr "Delta RPM により %.1f MB の更新を %.1f MB に削減できました。(%d.1%% がキャッシュされていました)"
- 
--#: dnf/base.py:1125
-+#: dnf/base.py:1215
- #, python-format
- msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
- msgstr "非効率な Delta RPM により %.1f MB の更新が増加し、%.1f MB となりました。(%d.1%% が無駄になりました)"
- 
--#: dnf/base.py:1167
-+#: dnf/base.py:1257
- msgid "Cannot add local packages, because transaction job already exists"
- msgstr "ローカルパッケージを追加できません、トランザクションジョブがすでに存在するためです"
- 
--#: dnf/base.py:1181
-+#: dnf/base.py:1271
- msgid "Could not open: {}"
- msgstr "開くことができませんでした: {}"
- 
--#: dnf/base.py:1219
-+#: dnf/base.py:1309
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr "%s の公開鍵がインストールされていません"
- 
--#: dnf/base.py:1223
-+#: dnf/base.py:1313
- #, python-format
- msgid "Problem opening package %s"
- msgstr "パッケージ %s を開くことができません"
- 
--#: dnf/base.py:1231
-+#: dnf/base.py:1321
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr "%s の公開鍵は信頼されていません"
- 
--#: dnf/base.py:1235
-+#: dnf/base.py:1325
- #, python-format
- msgid "Package %s is not signed"
- msgstr "パッケージ %s は署名されていません"
- 
--#: dnf/base.py:1265
-+#: dnf/base.py:1355
- #, python-format
- msgid "Cannot remove %s"
- msgstr "%s を削除できません"
- 
--#: dnf/base.py:1269
-+#: dnf/base.py:1359
- #, python-format
- msgid "%s removed"
- msgstr "%s を削除しました"
- 
--#: dnf/base.py:1549
-+#: dnf/base.py:1639
- msgid "No match for group package \"{}\""
--msgstr "グループパッケージ  \"{}\" に一致するものはありません"
-+msgstr "グループパッケージ \"{}\" に一致するものはありません"
- 
--#: dnf/base.py:1635
-+#: dnf/base.py:1725
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr "グループ '%s' からのパッケージを追加します: %s"
- 
--#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
--#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
--#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
-+#: dnf/base.py:1748 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
-+#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
- #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
- msgid "Nothing to do."
- msgstr "行うべきことはありません。"
- 
--#: dnf/base.py:1676
-+#: dnf/base.py:1766
- msgid "No groups marked for removal."
- msgstr "削除対象のパッケージはありません。"
- 
--#: dnf/base.py:1710
-+#: dnf/base.py:1800
- msgid "No group marked for upgrade."
- msgstr "アップグレード対象のグループはありません。"
- 
--#: dnf/base.py:1925
-+#: dnf/base.py:2014
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
- msgstr "パッケージ %s はインストールされていないので、ダウングレードできません。"
- 
--#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
--#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
--#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
--#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
--#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
-+#: dnf/base.py:2016 dnf/base.py:2035 dnf/base.py:2048 dnf/base.py:2075
-+#: dnf/base.py:2128 dnf/base.py:2136 dnf/base.py:2270 dnf/cli/cli.py:417
-+#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
-+#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
-+#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
- #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
--#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
-+#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
- #, python-format
- msgid "No match for argument: %s"
- msgstr "一致した引数がありません: %s"
- 
--#: dnf/base.py:1934
-+#: dnf/base.py:2023
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
- msgstr "下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。"
- 
--#: dnf/base.py:1957
-+#: dnf/base.py:2046
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
- msgstr "パッケージ %s はインストールされていないのでの、再インストールできません。"
- 
--#: dnf/base.py:1972
-+#: dnf/base.py:2061
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
- msgstr "ファイル %s はソースパッケージで更新できません。無視します。"
- 
--#: dnf/base.py:1978
-+#: dnf/base.py:2072
- #, python-format
- msgid "Package %s not installed, cannot update it."
- msgstr "パッケージ %s はインストールされていないので、更新できません。"
- 
--#: dnf/base.py:1987
-+#: dnf/base.py:2082
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
- msgstr "同じまたはさらに新しいバージョンの %s が既にインストールされています、アップデートできません。"
- 
--#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2125 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
- msgstr "パッケージ %s は利用可能ですが、インストールされていません。"
- 
--#: dnf/base.py:2032
-+#: dnf/base.py:2131
- #, python-format
- msgid "Package %s available, but installed for different architecture."
- msgstr "パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされています。"
- 
--#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
-+#: dnf/base.py:2156
- #, python-format
- msgid "No package %s installed."
- msgstr "パッケージ %s はインストールされていません。"
- 
--#: dnf/base.py:2075 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2174 dnf/cli/commands/install.py:136
- #: dnf/cli/commands/remove.py:133
- #, python-format
- msgid "Not a valid form: %s"
- msgstr "有効な形式ではありません: %s"
- 
--#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
--#: dnf/cli/commands/remove.py:163
-+#: dnf/base.py:2189 dnf/cli/commands/__init__.py:676
-+#: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
- msgstr "削除対象のパッケージはありません。"
- 
--#: dnf/base.py:2179 dnf/cli/cli.py:422
-+#: dnf/base.py:2277 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
--msgstr "引数  %s のパッケージは利用可能ですが、インストールされていません。"
-+msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。"
- 
--#: dnf/base.py:2184
-+#: dnf/base.py:2282
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
- msgstr "最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。"
- 
--#: dnf/base.py:2242
--msgid "Action not handled: {}"
--msgstr "動作は対処されていません: {}"
--
--#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
--#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
--#, python-format
--msgid "No package %s available."
--msgstr "利用可能なパッケージ %s がありません。"
--
--#: dnf/base.py:2269
--msgid "no package matched"
--msgstr "一致したパッケージはありません。"
--
--#: dnf/base.py:2290
-+#: dnf/base.py:2382
- msgid "No security updates needed, but {} update available"
- msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です"
- 
--#: dnf/base.py:2292
-+#: dnf/base.py:2384
- msgid "No security updates needed, but {} updates available"
- msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です"
- 
--#: dnf/base.py:2296
-+#: dnf/base.py:2388
- msgid "No security updates needed for \"{}\", but {} update available"
- msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です"
- 
--#: dnf/base.py:2298
-+#: dnf/base.py:2390
- msgid "No security updates needed for \"{}\", but {} updates available"
- msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です"
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2319
-+#: dnf/base.py:2411
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
--msgstr ""
-+msgstr "コマンドラインパッケージのキーを取得できません: %s"
- 
--#: dnf/base.py:2327
-+#: dnf/base.py:2419
- #, python-format
- msgid ". Failing package is: %s"
- msgstr ". 失敗したパッケージは: %s"
- 
--#: dnf/base.py:2328
-+#: dnf/base.py:2420
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "GPG 鍵が設定されています: %s"
- 
--#: dnf/base.py:2340
-+#: dnf/base.py:2432
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr "%s (0x%s) の GPG 鍵はインストール済みです"
- 
--#: dnf/base.py:2373
-+#: dnf/base.py:2468
- msgid "The key has been approved."
- msgstr "鍵が承認されました。"
- 
--#: dnf/base.py:2376
-+#: dnf/base.py:2471
- msgid "The key has been rejected."
- msgstr "鍵が拒否されました。"
- 
--#: dnf/base.py:2409
-+#: dnf/base.py:2504
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "鍵のインポートに失敗しました (コード: %d)"
- 
--#: dnf/base.py:2411
-+#: dnf/base.py:2506
- msgid "Key imported successfully"
- msgstr "鍵のインポートに成功しました"
- 
--#: dnf/base.py:2415
-+#: dnf/base.py:2510
- msgid "Didn't install any keys"
- msgstr "鍵を 1 つもインストールしませんでした"
- 
--#: dnf/base.py:2418
-+#: dnf/base.py:2513
- #, python-format
- msgid ""
- "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
-@@ -509,49 +496,49 @@ msgstr ""
- "\"%s\" リポジトリーに一覧表示されている GPG 鍵はインストール済みですが、このパッケージには適切ではありません。\n"
- "正しい鍵 URL がこのリポジトリー用に設定されているか確認してください。"
- 
--#: dnf/base.py:2429
-+#: dnf/base.py:2524
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr "鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?"
- 
--#: dnf/base.py:2482
-+#: dnf/base.py:2577
- msgid "  * Maybe you meant: {}"
- msgstr "  * おそらく: {}"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2609
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
- msgstr "ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
- 
--#: dnf/base.py:2517
-+#: dnf/base.py:2612
- msgid "Some packages from local repository have incorrect checksum"
- msgstr "ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません"
- 
--#: dnf/base.py:2520
-+#: dnf/base.py:2615
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
- msgstr "リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
- 
--#: dnf/base.py:2523
-+#: dnf/base.py:2618
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
- msgstr "いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプションによりダウンロードできません"
- 
--#: dnf/base.py:2541 dnf/base.py:2561
-+#: dnf/base.py:2636 dnf/base.py:2656
- msgid "No match for argument"
- msgstr "一致した引数がありません"
- 
--#: dnf/base.py:2549 dnf/base.py:2569
-+#: dnf/base.py:2644 dnf/base.py:2664
- msgid "All matches were filtered out by exclude filtering for argument"
--msgstr "すべての検索結果は引数の除外フィルタリングに一致しません(filter out)"
-+msgstr "すべての検索結果は引数の除外フィルタリングに一致しません (filter out)"
- 
--#: dnf/base.py:2551
-+#: dnf/base.py:2646
- msgid "All matches were filtered out by modular filtering for argument"
--msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません(filter out)"
-+msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません (filter out)"
- 
--#: dnf/base.py:2567
-+#: dnf/base.py:2662
- msgid "All matches were installed from a different repository for argument"
- msgstr "すべての検索結果は引数に対し異なるレポジトリからインストールされたものです"
- 
--#: dnf/base.py:2583
-+#: dnf/base.py:2709
- #, python-format
- msgid "Package %s is already installed."
- msgstr "パッケージ %s は既にインストールされています。"
-@@ -571,8 +558,8 @@ msgstr "ファイル \"%s\" の解析に失敗しました: %s"
- msgid "Cannot read file \"%s\": %s"
- msgstr "ファイル \"%s\" を読み込めません: %s"
- 
--#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
--#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
-+#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
-+#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
- #, python-format
- msgid "Config error: %s"
- msgstr "設定エラー: %s"
-@@ -603,44 +590,44 @@ msgid ""
- "stream '{2}'"
- msgstr "オペレーションは、モジュール '{0}' ストリーム '{1}' を ストリーム '{2}' へと切り替える結果となります"
- 
--#: dnf/cli/cli.py:172
-+#: dnf/cli/cli.py:173
- #, python-brace-format
- msgid ""
--"It is not possible to switch enabled streams of a module.\n"
--"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
-+"It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.\n"
-+"It is recommended to rather remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
- msgstr ""
--"モジュールの有効なストリームを切り替えることはできません。\n"
--"モジュールからインストールされた全てのコンテンツを削除し、 '{prog} module reset <module_name>' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。"
-+"設定オプション module_stream_switch から明示的に有効化されていない限り、モジュールの有効なストリームを切り替えることはできません。\n"
-+"モジュールからインストールされた全てのコンテンツを削除し、'{prog} module reset <module_name>' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。"
- 
--#: dnf/cli/cli.py:210
-+#: dnf/cli/cli.py:212
- #, python-brace-format
- msgid "{prog} will only download packages for the transaction."
- msgstr "{prog} はトランザクションでパッケージのダウンロードのみ行います。"
- 
--#: dnf/cli/cli.py:213
-+#: dnf/cli/cli.py:215
- #, python-brace-format
- msgid ""
- "{prog} will only download packages, install gpg keys, and check the "
- "transaction."
- msgstr "{prog} はパッケージのダウンロード、gpgキーのインストール、トランザクションのチェックのみ行います。"
- 
--#: dnf/cli/cli.py:217
-+#: dnf/cli/cli.py:219
- msgid "Operation aborted."
- msgstr "操作が中断されました。"
- 
--#: dnf/cli/cli.py:224
-+#: dnf/cli/cli.py:226
- msgid "Downloading Packages:"
- msgstr "パッケージのダウンロード:"
- 
--#: dnf/cli/cli.py:230
-+#: dnf/cli/cli.py:232
- msgid "Error downloading packages:"
- msgstr "パッケージのダウンロード中にエラーが発生しました:"
- 
--#: dnf/cli/cli.py:258
-+#: dnf/cli/cli.py:264
- msgid "Transaction failed"
- msgstr "トランザクションが失敗しました"
- 
--#: dnf/cli/cli.py:281
-+#: dnf/cli/cli.py:287
- msgid ""
- "Refusing to automatically import keys when running unattended.\n"
- "Use \"-y\" to override."
-@@ -648,116 +635,95 @@ msgstr ""
- "無人での実行中に鍵の自動インポートを拒否します。\n"
- "オーバーライドするには \"-y\" を使用してください。"
- 
--#: dnf/cli/cli.py:331
-+#: dnf/cli/cli.py:337
- msgid "Changelogs for {}"
- msgstr "{} の Changelogs"
- 
--#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
-+#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
- msgid "Obsoleting Packages"
- msgstr "パッケージの廃止"
- 
--#: dnf/cli/cli.py:393
-+#: dnf/cli/cli.py:399
- msgid "No packages marked for distribution synchronization."
--msgstr "ディストリビューション同期対象のパッケージがありません"
-+msgstr "ディストリビューション同期対象のパッケージがありません。"
-+
-+#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
-+#, python-format
-+msgid "No package %s available."
-+msgstr "利用可能なパッケージ %s はありません。"
- 
--#: dnf/cli/cli.py:428
-+#: dnf/cli/cli.py:434
- msgid "No packages marked for downgrade."
- msgstr "ダウングレード対象のパッケージはありません。"
- 
--#: dnf/cli/cli.py:479
-+#: dnf/cli/cli.py:485
- msgid "Installed Packages"
- msgstr "インストール済みパッケージ"
- 
--#: dnf/cli/cli.py:487
-+#: dnf/cli/cli.py:493
- msgid "Available Packages"
- msgstr "利用可能なパッケージ"
- 
--#: dnf/cli/cli.py:491
-+#: dnf/cli/cli.py:497
- msgid "Autoremove Packages"
- msgstr "パッケージを自動削除します"
- 
--#: dnf/cli/cli.py:493
-+#: dnf/cli/cli.py:499
- msgid "Extra Packages"
- msgstr "エクストラパッケージ"
- 
--#: dnf/cli/cli.py:497
-+#: dnf/cli/cli.py:503
- msgid "Available Upgrades"
- msgstr "利用可能なアップグレード"
- 
--#: dnf/cli/cli.py:513
-+#: dnf/cli/cli.py:519
- msgid "Recently Added Packages"
- msgstr "最近追加したパッケージ"
- 
--#: dnf/cli/cli.py:518
-+#: dnf/cli/cli.py:523
- msgid "No matching Packages to list"
- msgstr "表示するための一致したパッケージはありません"
- 
--#: dnf/cli/cli.py:599
-+#: dnf/cli/cli.py:604
- msgid "No Matches found"
- msgstr "一致したものは見つかりませんでした"
- 
--#: dnf/cli/cli.py:609
--msgid "No transaction ID given"
--msgstr "トランザクション ID は指定されていません"
--
--#: dnf/cli/cli.py:614
--msgid "Not found given transaction ID"
--msgstr "指定されたトランザクション ID は見つかりません"
--
--#: dnf/cli/cli.py:623
--msgid "Found more than one transaction ID!"
--msgstr "1 つ以上のトランザクション ID が見つかりました!"
--
--#: dnf/cli/cli.py:640
--#, python-format
--msgid "Transaction history is incomplete, before %u."
--msgstr "%u の前のトランザクション履歴が不完全です。"
--
--#: dnf/cli/cli.py:642
--#, python-format
--msgid "Transaction history is incomplete, after %u."
--msgstr "%u の後のトランザクション履歴が不完全です。"
--
--#: dnf/cli/cli.py:689
--msgid "Undoing transaction {}, from {}"
--msgstr "トランザクション {} を {} から取り消しています"
--
--#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
-+#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
- #, python-format
- msgid "Unknown repo: '%s'"
- msgstr "不明な repo : '%s'"
- 
--#: dnf/cli/cli.py:783
-+#: dnf/cli/cli.py:685
- #, python-format
- msgid "No repository match: %s"
- msgstr "一致するリポジトリーがありません: %s"
- 
--#: dnf/cli/cli.py:817
-+#: dnf/cli/cli.py:719
- msgid ""
- "This command has to be run with superuser privileges (under the root user on"
- " most systems)."
- msgstr "このコマンドはスーパーユーザー特権(大概のシステムではrootユーザー)で実行しなければいけません。"
- 
--#: dnf/cli/cli.py:847
-+#: dnf/cli/cli.py:749
- #, python-format
- msgid "No such command: %s. Please use %s --help"
--msgstr "そのようなコマンドはありません: %s. %s --help を使用してください。"
-+msgstr "そのようなコマンドはありません: %s. %s --help を使用してください"
- 
--#: dnf/cli/cli.py:850
-+#: dnf/cli/cli.py:752
- #, python-format, python-brace-format
- msgid ""
- "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
- "command(%s)'\""
- msgstr "{PROG} プラグインコマンドを実行できません、試してください: \"{prog} install 'dnf-command(%s)'\""
- 
--#: dnf/cli/cli.py:854
-+#: dnf/cli/cli.py:756
- #, python-brace-format
- msgid ""
- "It could be a {prog} plugin command, but loading of plugins is currently "
- "disabled."
- msgstr "{prog} プラグインコマンドを実行できません、プラグインのロードが現在無効になっているようです。"
- 
--#: dnf/cli/cli.py:912
-+#: dnf/cli/cli.py:814
- msgid ""
- "--destdir or --downloaddir must be used with --downloadonly or download or "
- "system-upgrade command."
-@@ -765,7 +731,7 @@ msgstr ""
- "--destdir または --downloaddir は、--downloadonly、download あるいは system-upgrade "
- "コマンドと共に使用する必要があります。"
- 
--#: dnf/cli/cli.py:918
-+#: dnf/cli/cli.py:820
- msgid ""
- "--enable, --set-enabled and --disable, --set-disabled must be used with "
- "config-manager command."
-@@ -773,7 +739,7 @@ msgstr ""
- "--enable と --set-enabled および --disable と --set-disabled は、config-manager "
- "コマンドと共に使用しなければなりません。"
- 
--#: dnf/cli/cli.py:1000
-+#: dnf/cli/cli.py:902
- msgid ""
- "Warning: Enforcing GPG signature check globally as per active RPM security "
- "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
-@@ -781,38 +747,38 @@ msgstr ""
- "警告: アクティブな RPM セキュリティーポリシーにより、GPG 署名の確認をグローバルに強制します "
- "(このメッセージをスケルチするには、dnf.conf(5) の 'gpgcheck' を参照してください)"
- 
--#: dnf/cli/cli.py:1020
-+#: dnf/cli/cli.py:922
- msgid "Config file \"{}\" does not exist"
- msgstr "設定ファイル \"{}\" は存在しません"
- 
--#: dnf/cli/cli.py:1040
-+#: dnf/cli/cli.py:942
- msgid ""
- "Unable to detect release version (use '--releasever' to specify release "
- "version)"
- msgstr "リリースバージョンを検出できません (リリースバージョンを指定するには '--releasever' を使用してください)"
- 
--#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
-+#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
- msgid "argument {}: not allowed with argument {}"
- msgstr "引数 {}: 引数 {} と許可されていません"
- 
--#: dnf/cli/cli.py:1134
-+#: dnf/cli/cli.py:1023
- #, python-format
- msgid "Command \"%s\" already defined"
- msgstr "コマンド \"%s\" はすでに定義済みです"
- 
--#: dnf/cli/cli.py:1154
-+#: dnf/cli/cli.py:1043
- msgid "Excludes in dnf.conf: "
- msgstr "dnf.conf で除外します: "
- 
--#: dnf/cli/cli.py:1157
-+#: dnf/cli/cli.py:1046
- msgid "Includes in dnf.conf: "
- msgstr "dnf.conf で含めます: "
- 
--#: dnf/cli/cli.py:1160
-+#: dnf/cli/cli.py:1049
- msgid "Excludes in repo "
- msgstr "repo で除外します "
- 
--#: dnf/cli/cli.py:1163
-+#: dnf/cli/cli.py:1052
- msgid "Includes in repo "
- msgstr "repo に含めます "
- 
-@@ -864,38 +830,38 @@ msgstr "問題のリポジトリ: %s"
- msgid "display details about a package or group of packages"
- msgstr "パッケージもしくはパッケージのグループについての詳細を表示します"
- 
--#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
-+#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
- msgid "show all packages (default)"
- msgstr "すべてのパッケージを表示します (デフォルト)"
- 
--#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
--#: dnf/cli/commands/module.py:351
-+#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
-+#: dnf/cli/commands/module.py:376
- msgid "show only available packages"
- msgstr "利用可能なパッケージのみを表示します"
- 
--#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
-+#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
- msgid "show only installed packages"
- msgstr "インストール済みのパッケージのみを表示します"
- 
--#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
-+#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
- msgid "show only extras packages"
- msgstr "エクストラパッケージのみを表示します"
- 
- #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
--#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
-+#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
- msgid "show only upgrades packages"
- msgstr "アップグレードパッケージのみを表示します"
- 
--#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
-+#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
- msgid "show only autoremove packages"
- msgstr "自動削除パッケージのみを表示します"
- 
--#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
-+#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
- msgid "show only recently changed packages"
- msgstr "最近変更されたパッケージのみを表示します"
- 
- #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
--#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
-+#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
- #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
- #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
- msgid "PACKAGE"
-@@ -933,70 +899,70 @@ msgstr "利用可能なパッケージのアップグレードを確認します
- msgid "show changelogs before update"
- msgstr "更新前に changelogs を表示します"
- 
--#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
--#: dnf/cli/commands/__init__.py:470
-+#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
-+#: dnf/cli/commands/__init__.py:465
- msgid "No package available."
- msgstr "利用可能なパッケージがありません。"
- 
--#: dnf/cli/commands/__init__.py:376
-+#: dnf/cli/commands/__init__.py:371
- msgid "No packages marked for install."
- msgstr "インストール対象のパッケージはありません。"
- 
--#: dnf/cli/commands/__init__.py:412
-+#: dnf/cli/commands/__init__.py:407
- msgid "No package installed."
- msgstr "インストールされたパッケージはありません。"
- 
--#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
-+#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
- #: dnf/cli/commands/reinstall.py:91
- #, python-format
- msgid " (from %s)"
- msgstr " (%s から)"
- 
--#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
-+#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
- #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
- #, python-format
- msgid "Installed package %s%s not available."
- msgstr "インストール済みパッケージ %s%s は利用できません。"
- 
--#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
--#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
-+#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
-+#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
- msgid "No package installed from the repository."
- msgstr "リポジトリーからインストールされたパッケージはありません。"
- 
--#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
-+#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
- msgid "No packages marked for reinstall."
- msgstr "再インストール対象のパッケージはありません。"
- 
--#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
-+#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
- msgid "No packages marked for upgrade."
- msgstr "アップグレード対象のパッケージがありません。"
- 
--#: dnf/cli/commands/__init__.py:726
-+#: dnf/cli/commands/__init__.py:721
- msgid "run commands on top of all packages in given repository"
- msgstr "特定のリポジトリーのすべてのパッケージに対して、コマンドを実行します"
- 
--#: dnf/cli/commands/__init__.py:765
-+#: dnf/cli/commands/__init__.py:760
- msgid "REPOID"
- msgstr "REPOID"
- 
--#: dnf/cli/commands/__init__.py:765
-+#: dnf/cli/commands/__init__.py:760
- msgid "Repository ID"
- msgstr "リポジトリーID"
- 
--#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
-+#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
- #: dnf/cli/commands/updateinfo.py:108
- msgid "Package specification"
- msgstr "パッケージspec"
- 
--#: dnf/cli/commands/__init__.py:801
-+#: dnf/cli/commands/__init__.py:796
- msgid "display a helpful usage message"
- msgstr "有用な使用方法のメッセージを表示します"
- 
--#: dnf/cli/commands/__init__.py:805
-+#: dnf/cli/commands/__init__.py:800
- msgid "COMMAND"
- msgstr "コマンド"
- 
--#: dnf/cli/commands/__init__.py:806
-+#: dnf/cli/commands/__init__.py:801
- #, python-brace-format
- msgid "{prog} command to get help for"
- msgstr "{prog} コマンドでヘルプ表示"
-@@ -1167,8 +1133,10 @@ msgid "Waiting for process with pid %d to finish."
- msgstr "pid %d のプロセスが終了するのを待ちます。"
- 
- #: dnf/cli/commands/deplist.py:32
--msgid "List package's dependencies and what packages provide them"
--msgstr "パッケージの依存関係とこれを提供するパッケージがどれかを一覧表示します"
-+msgid ""
-+"[deprecated, use repoquery --deplist] List package's dependencies and what "
-+"packages provide them"
-+msgstr "[非推奨、epoquery --deplist を使用] パッケージの依存関係とこれを提供するパッケージがどれかを一覧表示します"
- 
- #: dnf/cli/commands/distrosync.py:32
- msgid "synchronize installed packages to the latest available versions"
-@@ -1194,78 +1162,78 @@ msgstr "グループ情報を表示または使用します"
- msgid "No group data available for configured repositories."
- msgstr "設定されたリポジトリーが利用可能なグループデータはありません。"
- 
--#: dnf/cli/commands/group.py:129
-+#: dnf/cli/commands/group.py:126
- #, python-format
- msgid "Warning: Group %s does not exist."
- msgstr "警告: グループ %s は存在しません。"
- 
--#: dnf/cli/commands/group.py:170
-+#: dnf/cli/commands/group.py:167
- msgid "Warning: No groups match:"
- msgstr "警告: 一致するグループはありません:"
- 
--#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
--#: dnf/cli/output.py:1226
-+#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
-+#: dnf/cli/output.py:1139
- msgid "<name-unset>"
- msgstr "<name-unset>"
- 
--#: dnf/cli/commands/group.py:199
-+#: dnf/cli/commands/group.py:196
- msgid "Available Environment Groups:"
- msgstr "利用可能な環境グループ:"
- 
--#: dnf/cli/commands/group.py:201
-+#: dnf/cli/commands/group.py:198
- msgid "Installed Environment Groups:"
- msgstr "インストール済みの環境グループ:"
- 
--#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
-+#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
- msgid "Installed Groups:"
- msgstr "インストール済みのグループ:"
- 
--#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
-+#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
- msgid "Installed Language Groups:"
- msgstr "インストール済みの言語グループ:"
- 
--#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
-+#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
- msgid "Available Groups:"
- msgstr "利用可能なグループ:"
- 
--#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
-+#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
- msgid "Available Language Groups:"
- msgstr "利用可能な言語グループ:"
- 
--#: dnf/cli/commands/group.py:322
-+#: dnf/cli/commands/group.py:319
- msgid "include optional packages from group"
- msgstr "グループのオプションパッケージを含めます"
- 
--#: dnf/cli/commands/group.py:325
-+#: dnf/cli/commands/group.py:322
- msgid "show also hidden groups"
- msgstr "非表示のグループも表示します"
- 
--#: dnf/cli/commands/group.py:327
-+#: dnf/cli/commands/group.py:324
- msgid "show only installed groups"
- msgstr "インストール済みのグループのみを表示します"
- 
--#: dnf/cli/commands/group.py:329
-+#: dnf/cli/commands/group.py:326
- msgid "show only available groups"
- msgstr "利用可能なグループのみを表示します"
- 
--#: dnf/cli/commands/group.py:331
-+#: dnf/cli/commands/group.py:328
- msgid "show also ID of groups"
- msgstr "グループIDも表示"
- 
--#: dnf/cli/commands/group.py:333
-+#: dnf/cli/commands/group.py:330
- msgid "available subcommands: {} (default), {}"
- msgstr "利用可能なサブコマンド: {} (default), {}"
- 
--#: dnf/cli/commands/group.py:337
-+#: dnf/cli/commands/group.py:334
- msgid "argument for group subcommand"
- msgstr "グループサブコマンドの引数"
- 
--#: dnf/cli/commands/group.py:346
-+#: dnf/cli/commands/group.py:343
- #, python-format
- msgid "Invalid groups sub-command, use: %s."
--msgstr "groups のサブコマンドが無効です: %s. を使用します"
-+msgstr "groups のサブコマンドが無効です: %s を使用します。"
- 
--#: dnf/cli/commands/group.py:403
-+#: dnf/cli/commands/group.py:398
- msgid "Unable to find a mandatory group package."
- msgstr "必須のグループパッケージを見つけることができません。"
- 
-@@ -1275,25 +1243,25 @@ msgstr "トランザクション履歴を表示、または使用します"
- 
- #: dnf/cli/commands/history.py:66
- msgid "For the store command, file path to store the transaction to"
--msgstr ""
-+msgstr "store コマンドの場合は、トランザクションを保存するファイルパス"
- 
- #: dnf/cli/commands/history.py:68
- msgid ""
- "For the replay command, don't check for installed packages matching those in"
- " transaction"
--msgstr ""
-+msgstr "replay コマンドの場合は、トランザクション内のパッケージに一致するインストール済みパッケージを確認しない"
- 
- #: dnf/cli/commands/history.py:71
- msgid ""
- "For the replay command, don't check for extra packages pulled into the "
- "transaction"
--msgstr ""
-+msgstr "replay コマンドの場合は、トランザクションにプルされた追加パッケージを確認しない"
- 
- #: dnf/cli/commands/history.py:74
- msgid ""
- "For the replay command, skip packages that are not available or have missing"
- " dependencies"
--msgstr ""
-+msgstr "replay コマンドの場合は、利用できないパッケージや、依存関係が不足しているパッケージをスキップ"
- 
- #: dnf/cli/commands/history.py:94
- msgid ""
-@@ -1304,41 +1272,64 @@ msgstr ""
- "'{}' は 1 つのトランザクション ID またはパッケージ名が必要です。"
- 
- #: dnf/cli/commands/history.py:101
--#, fuzzy
--#| msgid "No transaction ID or package name given."
- msgid "No transaction file name given."
--msgstr "トランザクション ID、またはパッケージ名が指定されていません。"
-+msgstr "トランザクションファイル名が指定されていません。"
- 
- #: dnf/cli/commands/history.py:103
--#, fuzzy
--#| msgid "Failed to remove transaction file %s"
- msgid "More than one argument given as transaction file name."
--msgstr "トランザクションファイル %s の削除に失敗しました"
-+msgstr "トランザクションファイル名として指定された複数の引数。"
- 
--#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
-+#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
- msgid "No transaction ID or package name given."
- msgstr "トランザクション ID、またはパッケージ名が指定されていません。"
- 
--#: dnf/cli/commands/history.py:138
-+#: dnf/cli/commands/history.py:142
- #, python-format
- msgid "You don't have access to the history DB: %s"
- msgstr "履歴 DB にアクセスできません: %s"
- 
--#: dnf/cli/commands/history.py:147
-+#: dnf/cli/commands/history.py:151
- #, python-format
- msgid ""
- "Cannot undo transaction %s, doing so would result in an inconsistent package"
- " database."
- msgstr "トランザクション %s を取り消すことはできません。取り消すことで、パッケージデータベースに矛盾が生じます。"
- 
--#: dnf/cli/commands/history.py:152
-+#: dnf/cli/commands/history.py:156
- #, python-format
- msgid ""
- "Cannot rollback transaction %s, doing so would result in an inconsistent "
- "package database."
- msgstr "トランザクション %s をロールバックすることはできません。ロールバックすることで、パッケージデータベースに矛盾が生じます。"
- 
--#: dnf/cli/commands/history.py:222
-+#: dnf/cli/commands/history.py:175
-+msgid "No transaction ID given"
-+msgstr "トランザクション ID は指定されていません"
-+
-+#: dnf/cli/commands/history.py:179
-+#, python-brace-format
-+msgid "Transaction ID \"{0}\" not found."
-+msgstr "トランザクション ID \"{0}\" が見つかりません。"
-+
-+#: dnf/cli/commands/history.py:185
-+msgid "Found more than one transaction ID!"
-+msgstr "1 つ以上のトランザクション ID が見つかりました!"
-+
-+#: dnf/cli/commands/history.py:203
-+#, python-format
-+msgid "Transaction history is incomplete, before %u."
-+msgstr "%u の前のトランザクション履歴が不完全です。"
-+
-+#: dnf/cli/commands/history.py:205
-+#, python-format
-+msgid "Transaction history is incomplete, after %u."
-+msgstr "%u の後のトランザクション履歴が不完全です。"
-+
-+#: dnf/cli/commands/history.py:256
-+msgid "No packages to list"
-+msgstr "一覧表示するパッケージはありません"
-+
-+#: dnf/cli/commands/history.py:279
- msgid ""
- "Invalid transaction ID range definition '{}'.\n"
- "Use '<transaction-id>..<transaction-id>'."
-@@ -1346,7 +1337,7 @@ msgstr ""
- "無効なトランザクション ID の範囲の定義 '{}'。\n"
- "'<transaction-id>..<transaction-id>' を使用してください。"
- 
--#: dnf/cli/commands/history.py:226
-+#: dnf/cli/commands/history.py:283
- msgid ""
- "Can't convert '{}' to transaction ID.\n"
- "Use '<number>', 'last', 'last-<number>'."
-@@ -1354,40 +1345,29 @@ msgstr ""
- "'{}' をトランザクション IDに変換できません。\n"
- "'<number>', 'last', 'last-<number>' を使用してください。"
- 
--#: dnf/cli/commands/history.py:255
-+#: dnf/cli/commands/history.py:312
- msgid "No transaction which manipulates package '{}' was found."
- msgstr "パッケージ '{}' を操作するトランザクションが見つかりません。"
- 
--#: dnf/cli/commands/history.py:305
--#, fuzzy, python-brace-format
--#| msgid "TransactionItem not found for key: {}"
--msgid "Transaction ID \"{id}\" not found."
--msgstr "TransactionItemが見つかりません鍵: {}"
--
--#: dnf/cli/commands/history.py:313
-+#: dnf/cli/commands/history.py:357
- msgid "{} exists, overwrite?"
--msgstr ""
-+msgstr "{} は存在します。上書きしますか?"
- 
--#: dnf/cli/commands/history.py:316
-+#: dnf/cli/commands/history.py:360
- msgid "Not overwriting {}, exiting."
--msgstr ""
-+msgstr "{} は存在するため上書きしません。"
- 
--#: dnf/cli/commands/history.py:323
--#, fuzzy
--#| msgid "Transaction failed"
-+#: dnf/cli/commands/history.py:367
- msgid "Transaction saved to {}."
--msgstr "トランザクションが失敗しました"
-+msgstr "{} に保存されているトランザクション。"
- 
--#: dnf/cli/commands/history.py:326
--#, fuzzy
--#| msgid "Errors occurred during transaction."
-+#: dnf/cli/commands/history.py:370
- msgid "Error storing transaction: {}"
--msgstr "トランザクション中にエラーが発生しました。"
-+msgstr "トランザクションの保存エラー: {}"
- 
--#: dnf/cli/commands/history.py:350
--msgid ""
--"Warning, the following problems occurred while replaying the transaction:"
--msgstr ""
-+#: dnf/cli/commands/history.py:386
-+msgid "Warning, the following problems occurred while running a transaction:"
-+msgstr "警告: トランザクションの実行中に以下の問題が発生しました:"
- 
- #: dnf/cli/commands/install.py:47
- msgid "install a package or packages on your system"
-@@ -1406,7 +1386,7 @@ msgstr "一致するものが見つかりません"
- msgid "Not a valid rpm file path: %s"
- msgstr "有効な rpm ファイルパスではありません: %s"
- 
--#: dnf/cli/commands/install.py:167
-+#: dnf/cli/commands/install.py:166
- #, python-brace-format
- msgid "There are following alternatives for \"{0}\": {1}"
- msgstr "\"{0}\"には次の選択肢があります: {1}"
-@@ -1449,7 +1429,7 @@ msgid "%s marked as group installed."
- msgstr "グループインストールには %s のマークがついています。"
- 
- #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
--#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
-+#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
- msgid "Error:"
- msgstr "エラー:"
- 
-@@ -1458,89 +1438,93 @@ msgstr "エラー:"
- msgid "Package %s is not installed."
- msgstr "パッケージ %s はインストールされていません。"
- 
--#: dnf/cli/commands/module.py:51
-+#: dnf/cli/commands/module.py:54
- msgid ""
- "Only module name, stream, architecture or profile is used. Ignoring unneeded"
- " information in argument: '{}'"
- msgstr "モジュール名、ストリーム、アーキテクチャーまたはプロファイルのみが使用されています。引数: '{}' の不要な情報は無視します"
- 
--#: dnf/cli/commands/module.py:77
-+#: dnf/cli/commands/module.py:80
- msgid "list all module streams, profiles and states"
- msgstr "全てのモジュールストリーム、プロファイル、状態をリスト"
- 
--#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
-+#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
- msgid "No matching Modules to list"
- msgstr "表示する一致モジュールはありません"
- 
--#: dnf/cli/commands/module.py:111
-+#: dnf/cli/commands/module.py:114
- msgid "print detailed information about a module"
- msgstr "モジュールに関する詳細情報を表示"
- 
--#: dnf/cli/commands/module.py:133
-+#: dnf/cli/commands/module.py:136
- msgid "enable a module stream"
- msgstr "モジュールストリームを有効化"
- 
--#: dnf/cli/commands/module.py:157
-+#: dnf/cli/commands/module.py:160
- msgid "disable a module with all its streams"
- msgstr "すべてのストリームのモジュールを無効化"
- 
--#: dnf/cli/commands/module.py:181
-+#: dnf/cli/commands/module.py:184
- msgid "reset a module"
- msgstr "モジュールのリセット"
- 
--#: dnf/cli/commands/module.py:202
-+#: dnf/cli/commands/module.py:205
- msgid "install a module profile including its packages"
- msgstr "パッケージを含むモジュールプロファイルのインストール"
- 
--#: dnf/cli/commands/module.py:223
-+#: dnf/cli/commands/module.py:226
- msgid "update packages associated with an active stream"
- msgstr "アクティブストリームに紐づいたパッケージをアップデート"
- 
--#: dnf/cli/commands/module.py:240
-+#: dnf/cli/commands/module.py:243
- msgid "remove installed module profiles and their packages"
- msgstr "インストールされたモジュールプロファイルとそのパッケージを削除"
- 
--#: dnf/cli/commands/module.py:264
-+#: dnf/cli/commands/module.py:267
- msgid "Package {} belongs to multiple modules, skipping"
- msgstr "パッケージ {} は複数のモジュールに属しています、スキップします"
- 
--#: dnf/cli/commands/module.py:277
-+#: dnf/cli/commands/module.py:280
-+msgid "switch a module to a stream and distrosync rpm packages"
-+msgstr "モジュールをストリームに切り替え、rpm パッケージを distrosync します"
-+
-+#: dnf/cli/commands/module.py:302
- msgid "list modular packages"
- msgstr "モジュラーパッケージをリスト"
- 
--#: dnf/cli/commands/module.py:292
-+#: dnf/cli/commands/module.py:317
- msgid "list packages belonging to a module"
- msgstr "モジュールに属するパッケージをリスト"
- 
--#: dnf/cli/commands/module.py:327
-+#: dnf/cli/commands/module.py:352
- msgid "Interact with Modules."
- msgstr "モジュールと対話します。"
- 
--#: dnf/cli/commands/module.py:340
-+#: dnf/cli/commands/module.py:365
- msgid "show only enabled modules"
- msgstr "有効なモジュールのみを表示します"
- 
--#: dnf/cli/commands/module.py:343
-+#: dnf/cli/commands/module.py:368
- msgid "show only disabled modules"
- msgstr "無効なモジュールのみを表示します"
- 
--#: dnf/cli/commands/module.py:346
-+#: dnf/cli/commands/module.py:371
- msgid "show only installed modules or packages"
- msgstr "インストールされたモジュールまたはパッケージのみ表示"
- 
--#: dnf/cli/commands/module.py:349
-+#: dnf/cli/commands/module.py:374
- msgid "show profile content"
- msgstr "プロファイルコンテンツを表示します"
- 
--#: dnf/cli/commands/module.py:354
-+#: dnf/cli/commands/module.py:379
- msgid "remove all modular packages"
- msgstr "すべてのモジュラーパッケージを削除"
- 
--#: dnf/cli/commands/module.py:364
-+#: dnf/cli/commands/module.py:389
- msgid "Module specification"
- msgstr "モジュールspec"
- 
--#: dnf/cli/commands/module.py:386
-+#: dnf/cli/commands/module.py:411
- msgid "{} {} {}: too few arguments"
- msgstr "{} {} {}: 引数が足りません"
- 
-@@ -1843,6 +1827,8 @@ msgid ""
- "display format for listing packages: \"%%{name} %%{version} ...\", use "
- "--querytags to view full tag list"
- msgstr ""
-+"パッケージを一覧表示するための形式の表示: \"%%{name} %%{version} ...\"。--querytags "
-+"を指定して完全なタグリストを表示"
- 
- #: dnf/cli/commands/repoquery.py:198
- msgid "show available tags to use with --queryformat"
-@@ -1853,7 +1839,7 @@ msgid ""
- "use name-epoch:version-release.architecture format for displaying found "
- "packages (default)"
- msgstr ""
--"見つかったパッケージを表示するには  name-epoch:version-release.architecture 形式を使用します (デフォルト)"
-+"見つかったパッケージを表示するには name-epoch:version-release.architecture 形式を使用します (デフォルト)"
- 
- #: dnf/cli/commands/repoquery.py:205
- msgid ""
-@@ -1977,7 +1963,7 @@ msgid ""
- msgstr ""
- "オプションの '--resolve' は、'--conflicts'、'--depends'、'--enhances'、'--provides'、'--"
- "recommends'、'--requires'、'--requires-pre'、'--suggests' または '--supplements' "
--"オプションのいずれか 1 つと使用する必要があります。"
-+"オプションのいずれか 1 つと使用する必要があります"
- 
- #: dnf/cli/commands/repoquery.py:305
- msgid ""
-@@ -1986,7 +1972,7 @@ msgid ""
- "--resolve'"
- msgstr ""
- "オプションの '--recursive' は、'--whatrequires <REQ>' (オプションでは '--exactdeps' ではなく、'"
--"--alldeps' と共に使用) または '--requires <REQ> --resolve' と共に使用する必要があります。"
-+"--alldeps' と共に使用) または '--requires <REQ> --resolve' と共に使用する必要があります"
- 
- #: dnf/cli/commands/repoquery.py:312
- msgid "argument {} requires --whatrequires or --whatdepends option"
-@@ -2027,22 +2013,22 @@ msgstr "KEYWORD"
- msgid "Keyword to search for"
- msgstr "検索のキーワード"
- 
--#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
-+#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
- msgctxt "long"
- msgid "Name"
- msgstr "名前"
- 
--#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
-+#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
- msgctxt "long"
- msgid "Summary"
- msgstr "概要"
- 
--#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
-+#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
- msgctxt "long"
- msgid "Description"
- msgstr "説明"
- 
--#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
-+#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
- msgid "URL"
- msgstr "URL"
- 
-@@ -2185,16 +2171,16 @@ msgstr ""
- "実行                      トランザクションセットの解決および実行\n"
- "終了 (または 中止)           シェルの終了"
- 
--#: dnf/cli/commands/shell.py:259
-+#: dnf/cli/commands/shell.py:262
- #, python-format
- msgid "Error: Cannot open %s for reading"
- msgstr "エラー: 読み込み用に %s を開くことができません"
- 
--#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
-+#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
- msgid "Complete!"
- msgstr "完了しました!"
- 
--#: dnf/cli/commands/shell.py:291
-+#: dnf/cli/commands/shell.py:294
- msgid "Leaving Shell"
- msgstr "シェルを終了します"
- 
-@@ -2385,8 +2371,8 @@ msgstr "重大度"
- msgid "Files"
- msgstr "ファイル"
- 
--#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
--#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
-+#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
-+#: dnf/cli/output.py:1656 dnf/util.py:617
- msgid "Installed"
- msgstr "インストール済み"
- 
-@@ -2699,7 +2685,7 @@ msgstr "主要コマンドの一覧:"
- 
- #: dnf/cli/option_parser.py:376
- msgid "List of Plugin Commands:"
--msgstr "プラグインコマンドの一覧"
-+msgstr "プラグインコマンドの一覧:"
- 
- #: dnf/cli/option_parser.py:413
- #, python-format
-@@ -2709,13 +2695,13 @@ msgstr "引数をエンコードできません '%s': %s"
- #. Translators: This is abbreviated 'Name'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:505
-+#: dnf/cli/output.py:459
- msgctxt "short"
- msgid "Name"
- msgstr "名前"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:511
-+#: dnf/cli/output.py:465
- msgid "Epoch"
- msgstr "エポック"
- 
-@@ -2723,38 +2709,38 @@ msgstr "エポック"
- #. use the full (unabbreviated) term 'Version' if you think that
- #. the translation to your language is not too long and will
- #. always fit to limited space.
--#: dnf/cli/output.py:512 dnf/cli/output.py:1335
-+#: dnf/cli/output.py:466 dnf/cli/output.py:1248
- msgctxt "short"
- msgid "Version"
- msgstr "バージョン"
- 
- #. Translators: This is the full (unabbreviated) term 'Version'.
--#: dnf/cli/output.py:513 dnf/cli/output.py:1337
-+#: dnf/cli/output.py:467 dnf/cli/output.py:1250
- msgctxt "long"
- msgid "Version"
- msgstr "バージョン"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:516
-+#: dnf/cli/output.py:470
- msgid "Release"
- msgstr "リリース"
- 
- #. Translators: This is abbreviated 'Architecture', used when
- #. we have not enough space to display the full word.
--#: dnf/cli/output.py:517 dnf/cli/output.py:1326
-+#: dnf/cli/output.py:471 dnf/cli/output.py:1239
- msgctxt "short"
- msgid "Arch"
- msgstr "Arch"
- 
- #. Translators: This is the full word 'Architecture', used when
- #. we have enough space.
--#: dnf/cli/output.py:518 dnf/cli/output.py:1329
-+#: dnf/cli/output.py:472 dnf/cli/output.py:1242
- msgctxt "long"
- msgid "Architecture"
- msgstr "アーキテクチャー"
- 
- #. Translators: This is the full (unabbreviated) term 'Size'.
--#: dnf/cli/output.py:520 dnf/cli/output.py:1352
-+#: dnf/cli/output.py:474 dnf/cli/output.py:1265
- msgctxt "long"
- msgid "Size"
- msgstr "サイズ"
-@@ -2763,32 +2749,32 @@ msgstr "サイズ"
- #. not be longer than 5 characters. If the term 'Size' in your
- #. language is not longer than 5 characters then you can use it
- #. unabbreviated.
--#: dnf/cli/output.py:520 dnf/cli/output.py:1350
-+#: dnf/cli/output.py:474 dnf/cli/output.py:1263
- msgctxt "short"
- msgid "Size"
- msgstr "サイズ"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:524
-+#: dnf/cli/output.py:478
- msgid "Source"
- msgstr "ソース"
- 
- #. Translators: This is abbreviated 'Repository', used when
- #. we have not enough space to display the full word.
--#: dnf/cli/output.py:525 dnf/cli/output.py:1341
-+#: dnf/cli/output.py:479 dnf/cli/output.py:1254
- msgctxt "short"
- msgid "Repo"
- msgstr "Repo"
- 
- #. Translators: This is the full word 'Repository', used when
- #. we have enough space.
--#: dnf/cli/output.py:526 dnf/cli/output.py:1344
-+#: dnf/cli/output.py:480 dnf/cli/output.py:1257
- msgctxt "long"
- msgid "Repository"
- msgstr "リポジトリー"
- 
- #. Translators: This message should be no longer than 12 chars.
--#: dnf/cli/output.py:533
-+#: dnf/cli/output.py:487
- msgid "From repo"
- msgstr "repo から"
- 
-@@ -2796,312 +2782,308 @@ msgstr "repo から"
- #. print(_("Committer   : %s") % ucd(pkg.committer))
- #. print(_("Committime  : %s") % time.ctime(pkg.committime))
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:539
-+#: dnf/cli/output.py:493
- msgid "Packager"
- msgstr "パッケージャー"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:541
-+#: dnf/cli/output.py:495
- msgid "Buildtime"
- msgstr "ビルド時間"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:545
-+#: dnf/cli/output.py:499
- msgid "Install time"
- msgstr "インストール時間"
- 
- #. Translators: This message should be no longer than 12 chars.
--#: dnf/cli/output.py:554
-+#: dnf/cli/output.py:508
- msgid "Installed by"
- msgstr "インストール済み"
- 
- #. Translators: This is abbreviated 'Summary'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:558
-+#: dnf/cli/output.py:512
- msgctxt "short"
- msgid "Summary"
- msgstr "概要"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:564
-+#: dnf/cli/output.py:518
- msgid "License"
- msgstr "ライセンス"
- 
- #. Translators: This is abbreviated 'Description'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:568
-+#: dnf/cli/output.py:522
- msgctxt "short"
- msgid "Description"
- msgstr "説明"
- 
--#: dnf/cli/output.py:695
--msgid "No packages to list"
--msgstr "一覧表示するパッケージはありません"
--
--#: dnf/cli/output.py:706
-+#: dnf/cli/output.py:650
- msgid "y"
- msgstr "y"
- 
--#: dnf/cli/output.py:706
-+#: dnf/cli/output.py:650
- msgid "yes"
- msgstr "はい"
- 
--#: dnf/cli/output.py:707
-+#: dnf/cli/output.py:651
- msgid "n"
- msgstr "n"
- 
--#: dnf/cli/output.py:707
-+#: dnf/cli/output.py:651
- msgid "no"
- msgstr "いいえ"
- 
--#: dnf/cli/output.py:711
-+#: dnf/cli/output.py:655
- msgid "Is this ok [y/N]: "
- msgstr "これでよろしいですか? [y/N]: "
- 
--#: dnf/cli/output.py:715
-+#: dnf/cli/output.py:659
- msgid "Is this ok [Y/n]: "
- msgstr "これでよろしいですか? [Y/n]: "
- 
--#: dnf/cli/output.py:795
-+#: dnf/cli/output.py:739
- #, python-format
- msgid "Group: %s"
- msgstr "グループ: %s"
- 
--#: dnf/cli/output.py:799
-+#: dnf/cli/output.py:743
- #, python-format
- msgid " Group-Id: %s"
- msgstr " グループ ID: %s"
- 
--#: dnf/cli/output.py:801 dnf/cli/output.py:840
-+#: dnf/cli/output.py:745 dnf/cli/output.py:784
- #, python-format
- msgid " Description: %s"
- msgstr " 説明: %s"
- 
--#: dnf/cli/output.py:803
-+#: dnf/cli/output.py:747
- #, python-format
- msgid " Language: %s"
- msgstr " 言語: %s"
- 
--#: dnf/cli/output.py:806
-+#: dnf/cli/output.py:750
- msgid " Mandatory Packages:"
- msgstr " 必須なパッケージ:"
- 
--#: dnf/cli/output.py:807
-+#: dnf/cli/output.py:751
- msgid " Default Packages:"
- msgstr " 標準パッケージ:"
- 
--#: dnf/cli/output.py:808
-+#: dnf/cli/output.py:752
- msgid " Optional Packages:"
- msgstr " オプション パッケージ:"
- 
--#: dnf/cli/output.py:809
-+#: dnf/cli/output.py:753
- msgid " Conditional Packages:"
- msgstr " 条件付きパッケージ:"
- 
--#: dnf/cli/output.py:834
-+#: dnf/cli/output.py:778
- #, python-format
- msgid "Environment Group: %s"
- msgstr "環境グループ: %s"
- 
--#: dnf/cli/output.py:837
-+#: dnf/cli/output.py:781
- #, python-format
- msgid " Environment-Id: %s"
- msgstr " 環境 Id: %s"
- 
--#: dnf/cli/output.py:843
-+#: dnf/cli/output.py:787
- msgid " Mandatory Groups:"
- msgstr " 必須なグループ:"
- 
--#: dnf/cli/output.py:844
-+#: dnf/cli/output.py:788
- msgid " Optional Groups:"
- msgstr " 任意なグループ:"
- 
--#: dnf/cli/output.py:865
-+#: dnf/cli/output.py:809
- msgid "Matched from:"
- msgstr "一致:"
- 
--#: dnf/cli/output.py:879
-+#: dnf/cli/output.py:823
- #, python-format
- msgid "Filename    : %s"
- msgstr "ファイル名    : %s"
- 
--#: dnf/cli/output.py:904
-+#: dnf/cli/output.py:848
- #, python-format
- msgid "Repo        : %s"
- msgstr "Repo        : %s"
- 
--#: dnf/cli/output.py:913
-+#: dnf/cli/output.py:857
- msgid "Description : "
--msgstr "説明                : "
-+msgstr "説明: "
- 
--#: dnf/cli/output.py:917
-+#: dnf/cli/output.py:861
- #, python-format
- msgid "URL         : %s"
- msgstr "URL                 : %s"
- 
--#: dnf/cli/output.py:921
-+#: dnf/cli/output.py:865
- #, python-format
- msgid "License     : %s"
- msgstr "ライセンス    : %s"
- 
--#: dnf/cli/output.py:927
-+#: dnf/cli/output.py:871
- #, python-format
- msgid "Provide    : %s"
- msgstr "提供する    : %s"
- 
--#: dnf/cli/output.py:947
-+#: dnf/cli/output.py:891
- #, python-format
- msgid "Other       : %s"
- msgstr "その他       : %s"
- 
--#: dnf/cli/output.py:996
-+#: dnf/cli/output.py:940
- msgid "There was an error calculating total download size"
- msgstr "ダウンロードサイズの合計を計算中にエラーが発生しました"
- 
--#: dnf/cli/output.py:1002
-+#: dnf/cli/output.py:946
- #, python-format
- msgid "Total size: %s"
- msgstr "合計サイズ: %s"
- 
--#: dnf/cli/output.py:1005
-+#: dnf/cli/output.py:949
- #, python-format
- msgid "Total download size: %s"
- msgstr "ダウンロードサイズの合計: %s"
- 
--#: dnf/cli/output.py:1008
-+#: dnf/cli/output.py:952
- #, python-format
- msgid "Installed size: %s"
- msgstr "インストール後のサイズ: %s"
- 
--#: dnf/cli/output.py:1026
-+#: dnf/cli/output.py:970
- msgid "There was an error calculating installed size"
- msgstr "インストール後のサイズを計算中にエラーが発生しました"
- 
--#: dnf/cli/output.py:1030
-+#: dnf/cli/output.py:974
- #, python-format
- msgid "Freed space: %s"
- msgstr "解放された容量: %s"
- 
--#: dnf/cli/output.py:1039
-+#: dnf/cli/output.py:983
- msgid "Marking packages as installed by the group:"
- msgstr "パッケージをグループごとにインストール済みとマークします:"
- 
--#: dnf/cli/output.py:1046
-+#: dnf/cli/output.py:990
- msgid "Marking packages as removed by the group:"
- msgstr "パッケージをグループごとに削除済みとマークします:"
- 
--#: dnf/cli/output.py:1056
-+#: dnf/cli/output.py:1000
- msgid "Group"
- msgstr "グループ"
- 
--#: dnf/cli/output.py:1056
-+#: dnf/cli/output.py:1000
- msgid "Packages"
- msgstr "パッケージ"
- 
--#: dnf/cli/output.py:1133
-+#: dnf/cli/output.py:1046
- msgid "Installing group/module packages"
- msgstr "group/moduleパッケージをインストール"
- 
--#: dnf/cli/output.py:1134
-+#: dnf/cli/output.py:1047
- msgid "Installing group packages"
- msgstr "グループパッケージのインストール"
- 
- #. TRANSLATORS: This is for a list of packages to be installed.
--#: dnf/cli/output.py:1138
-+#: dnf/cli/output.py:1051
- msgctxt "summary"
- msgid "Installing"
- msgstr "インストール"
- 
- #. TRANSLATORS: This is for a list of packages to be upgraded.
--#: dnf/cli/output.py:1140
-+#: dnf/cli/output.py:1053
- msgctxt "summary"
- msgid "Upgrading"
- msgstr "アップグレード"
- 
- #. TRANSLATORS: This is for a list of packages to be reinstalled.
--#: dnf/cli/output.py:1142
-+#: dnf/cli/output.py:1055
- msgctxt "summary"
- msgid "Reinstalling"
- msgstr "再インストール"
- 
--#: dnf/cli/output.py:1144
-+#: dnf/cli/output.py:1057
- msgid "Installing dependencies"
- msgstr "依存関係のインストール"
- 
--#: dnf/cli/output.py:1145
-+#: dnf/cli/output.py:1058
- msgid "Installing weak dependencies"
- msgstr "弱い依存関係のインストール"
- 
- #. TRANSLATORS: This is for a list of packages to be removed.
--#: dnf/cli/output.py:1147
-+#: dnf/cli/output.py:1060
- msgid "Removing"
- msgstr "削除中"
- 
--#: dnf/cli/output.py:1148
-+#: dnf/cli/output.py:1061
- msgid "Removing dependent packages"
- msgstr "依存関係パッケージの削除"
- 
--#: dnf/cli/output.py:1149
-+#: dnf/cli/output.py:1062
- msgid "Removing unused dependencies"
- msgstr "未使用の依存関係の削除"
- 
- #. TRANSLATORS: This is for a list of packages to be downgraded.
--#: dnf/cli/output.py:1151
-+#: dnf/cli/output.py:1064
- msgctxt "summary"
- msgid "Downgrading"
- msgstr "ダウングレード"
- 
--#: dnf/cli/output.py:1176
-+#: dnf/cli/output.py:1089
- msgid "Installing module profiles"
- msgstr "モジュールプロファイルのインストール中"
- 
--#: dnf/cli/output.py:1185
-+#: dnf/cli/output.py:1098
- msgid "Disabling module profiles"
- msgstr "モジュールプロファイルの無効化中"
- 
--#: dnf/cli/output.py:1194
-+#: dnf/cli/output.py:1107
- msgid "Enabling module streams"
- msgstr "モジュールストリームの有効化中"
- 
--#: dnf/cli/output.py:1202
-+#: dnf/cli/output.py:1115
- msgid "Switching module streams"
- msgstr "モジュールストリームの切り替え中"
- 
--#: dnf/cli/output.py:1210
-+#: dnf/cli/output.py:1123
- msgid "Disabling modules"
- msgstr "モジュールの無効化"
- 
--#: dnf/cli/output.py:1218
-+#: dnf/cli/output.py:1131
- msgid "Resetting modules"
- msgstr "モジュールの再設定中"
- 
--#: dnf/cli/output.py:1230
-+#: dnf/cli/output.py:1143
- msgid "Installing Environment Groups"
- msgstr "環境グループのインストール中"
- 
--#: dnf/cli/output.py:1237
-+#: dnf/cli/output.py:1150
- msgid "Upgrading Environment Groups"
- msgstr "環境グループのアップグレード中"
- 
--#: dnf/cli/output.py:1244
-+#: dnf/cli/output.py:1157
- msgid "Removing Environment Groups"
- msgstr "環境グループの削除中"
- 
--#: dnf/cli/output.py:1251
-+#: dnf/cli/output.py:1164
- msgid "Installing Groups"
- msgstr "グループのインストール中"
- 
--#: dnf/cli/output.py:1258
-+#: dnf/cli/output.py:1171
- msgid "Upgrading Groups"
- msgstr "グループのアップグレード中"
- 
--#: dnf/cli/output.py:1265
-+#: dnf/cli/output.py:1178
- msgid "Removing Groups"
- msgstr "グループの削除中"
- 
--#: dnf/cli/output.py:1281
-+#: dnf/cli/output.py:1194
- #, python-format
- msgid ""
- "Skipping packages with conflicts:\n"
-@@ -3110,12 +3092,12 @@ msgstr ""
- "競合するパッケージをスキップします:\n"
- "(アップグレードを強制するにはコマンドラインに '%s' を追加します)"
- 
--#: dnf/cli/output.py:1291
-+#: dnf/cli/output.py:1204
- #, python-format
- msgid "Skipping packages with broken dependencies%s"
- msgstr "壊れた dependencies%s のパッケージをスキップします"
- 
--#: dnf/cli/output.py:1295
-+#: dnf/cli/output.py:1208
- msgid " or part of a group"
- msgstr " またはグループの一部"
- 
-@@ -3123,22 +3105,22 @@ msgstr " またはグループの一部"
- #. use the full (unabbreviated) term 'Package' if you think that
- #. the translation to your language is not too long and will
- #. always fit to limited space.
--#: dnf/cli/output.py:1320
-+#: dnf/cli/output.py:1233
- msgctxt "short"
- msgid "Package"
- msgstr "パッケージ"
- 
- #. Translators: This is the full (unabbreviated) term 'Package'.
--#: dnf/cli/output.py:1322
-+#: dnf/cli/output.py:1235
- msgctxt "long"
- msgid "Package"
- msgstr "パッケージ"
- 
--#: dnf/cli/output.py:1371
-+#: dnf/cli/output.py:1284
- msgid "replacing"
- msgstr "置き換え"
- 
--#: dnf/cli/output.py:1378
-+#: dnf/cli/output.py:1291
- #, python-format
- msgid ""
- "\n"
-@@ -3150,287 +3132,271 @@ msgstr ""
- "%s\n"
- 
- #. TODO: remove
--#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
-+#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
- msgid "Install"
- msgstr "インストール"
- 
--#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
-+#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
- msgid "Upgrade"
- msgstr "アップグレード"
- 
--#: dnf/cli/output.py:1388
-+#: dnf/cli/output.py:1301
- msgid "Remove"
- msgstr "削除"
- 
--#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
-+#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
- msgid "Downgrade"
- msgstr "ダウングレード"
- 
--#: dnf/cli/output.py:1391
-+#: dnf/cli/output.py:1304
- msgid "Skip"
- msgstr "スキップ"
- 
--#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
-+#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
- msgid "Package"
- msgid_plural "Packages"
- msgstr[0] "パッケージ"
- 
--#: dnf/cli/output.py:1418
-+#: dnf/cli/output.py:1331
- msgid "Dependent package"
- msgid_plural "Dependent packages"
- msgstr[0] "依存パッケージ"
- 
--#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
--msgid "Upgraded"
--msgstr "アップグレード済み"
--
--#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
--msgid "Downgraded"
--msgstr "ダウングレード済み"
--
--#: dnf/cli/output.py:1503
--msgid "Reinstalled"
--msgstr "再インストール済み"
--
--#: dnf/cli/output.py:1504
--msgid "Skipped"
--msgstr "スキップ済み"
--
--#: dnf/cli/output.py:1505
--msgid "Removed"
--msgstr "削除しました"
--
--#: dnf/cli/output.py:1508
--msgid "Failed"
--msgstr "失敗しました"
--
--#: dnf/cli/output.py:1559
-+#: dnf/cli/output.py:1439
- msgid "Total"
- msgstr "合計"
- 
--#: dnf/cli/output.py:1587
-+#: dnf/cli/output.py:1467
- msgid "<unset>"
- msgstr "<未設定>"
- 
--#: dnf/cli/output.py:1588
-+#: dnf/cli/output.py:1468
- msgid "System"
- msgstr "システム"
- 
--#: dnf/cli/output.py:1638
-+#: dnf/cli/output.py:1518
- msgid "Command line"
- msgstr "コマンドライン"
- 
- #. TRANSLATORS: user names who executed transaction in history command output
--#: dnf/cli/output.py:1649
-+#: dnf/cli/output.py:1531
- msgid "User name"
- msgstr "ユーザー名"
- 
--#: dnf/cli/output.py:1651
-+#: dnf/cli/output.py:1533
- msgid "ID"
- msgstr "ID"
- 
--#: dnf/cli/output.py:1653
-+#: dnf/cli/output.py:1535
- msgid "Date and time"
- msgstr "日時"
- 
--#: dnf/cli/output.py:1654
-+#: dnf/cli/output.py:1536
- msgid "Action(s)"
- msgstr "動作"
- 
--#: dnf/cli/output.py:1655
-+#: dnf/cli/output.py:1537
- msgid "Altered"
- msgstr "変更されました"
- 
--#: dnf/cli/output.py:1698
-+#: dnf/cli/output.py:1580
- msgid "No transactions"
- msgstr "トランザクションがありません"
- 
--#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
-+#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
- msgid "Failed history info"
- msgstr "失敗した履歴情報"
- 
--#: dnf/cli/output.py:1714
-+#: dnf/cli/output.py:1596
- msgid "No transaction ID, or package, given"
- msgstr "トランザクション ID、またはパッケージが指定されていません"
- 
--#: dnf/cli/output.py:1772
-+#: dnf/cli/output.py:1654
- msgid "Erased"
- msgstr "削除されました"
- 
--#: dnf/cli/output.py:1774
-+#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
-+msgid "Downgraded"
-+msgstr "ダウングレード済み"
-+
-+#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
-+msgid "Upgraded"
-+msgstr "アップグレード済み"
-+
-+#: dnf/cli/output.py:1656
- msgid "Not installed"
- msgstr "インストールされていません"
- 
--#: dnf/cli/output.py:1775
-+#: dnf/cli/output.py:1657
- msgid "Newer"
- msgstr "新しい"
- 
--#: dnf/cli/output.py:1775
-+#: dnf/cli/output.py:1657
- msgid "Older"
- msgstr "古い"
- 
--#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
-+#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
- msgid "Transaction ID :"
- msgstr "トランザクション ID :"
- 
--#: dnf/cli/output.py:1828
-+#: dnf/cli/output.py:1710
- msgid "Begin time     :"
- msgstr "開始時間            :"
- 
--#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
-+#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
- msgid "Begin rpmdb    :"
- msgstr "開始 rpmdb          :"
- 
--#: dnf/cli/output.py:1839
-+#: dnf/cli/output.py:1721
- #, python-format
- msgid "(%u seconds)"
- msgstr "(%u 秒)"
- 
--#: dnf/cli/output.py:1841
-+#: dnf/cli/output.py:1723
- #, python-format
- msgid "(%u minutes)"
- msgstr "(%u 分)"
- 
--#: dnf/cli/output.py:1843
-+#: dnf/cli/output.py:1725
- #, python-format
- msgid "(%u hours)"
- msgstr "(%u 時間)"
- 
--#: dnf/cli/output.py:1845
-+#: dnf/cli/output.py:1727
- #, python-format
- msgid "(%u days)"
- msgstr "(%u 日)"
- 
--#: dnf/cli/output.py:1846
-+#: dnf/cli/output.py:1728
- msgid "End time       :"
- msgstr "終了時間            :"
- 
--#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
-+#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
- msgid "End rpmdb      :"
- msgstr "終了 rpmdb          :"
- 
--#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
-+#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
- msgid "User           :"
- msgstr "ユーザー            :"
- 
--#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
-+#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
- msgid "Aborted"
- msgstr "中断しました"
- 
--#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
--#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
-+#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
-+#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
- msgid "Return-Code    :"
- msgstr "終了コード          :"
- 
--#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
-+#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
- msgid "Success"
- msgstr "成功"
- 
--#: dnf/cli/output.py:1869
-+#: dnf/cli/output.py:1751
- msgid "Failures:"
- msgstr "失敗:"
- 
--#: dnf/cli/output.py:1873
-+#: dnf/cli/output.py:1755
- msgid "Failure:"
- msgstr "失敗しました:"
- 
--#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
-+#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
- msgid "Releasever     :"
- msgstr "Releasever     :"
- 
--#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
-+#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
- msgid "Command Line   :"
- msgstr "コマンドライン      :"
- 
--#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
-+#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
- msgid "Comment        :"
- msgstr "コメント        :"
- 
--#: dnf/cli/output.py:1903
-+#: dnf/cli/output.py:1785
- msgid "Transaction performed with:"
- msgstr "実行されたトランザクション:"
- 
--#: dnf/cli/output.py:1912
-+#: dnf/cli/output.py:1794
- msgid "Packages Altered:"
- msgstr "変更されたパッケージ:"
- 
--#: dnf/cli/output.py:1918
-+#: dnf/cli/output.py:1800
- msgid "Scriptlet output:"
- msgstr "Scriptlet の出力:"
- 
--#: dnf/cli/output.py:1925
-+#: dnf/cli/output.py:1807
- msgid "Errors:"
- msgstr "エラー:"
- 
--#: dnf/cli/output.py:1934
-+#: dnf/cli/output.py:1816
- msgid "Dep-Install"
- msgstr "Dep-Install"
- 
--#: dnf/cli/output.py:1935
-+#: dnf/cli/output.py:1817
- msgid "Obsoleted"
- msgstr "廃止された"
- 
--#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
-+#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
- msgid "Obsoleting"
- msgstr "廃止"
- 
--#: dnf/cli/output.py:1937
-+#: dnf/cli/output.py:1819
- msgid "Erase"
- msgstr "削除"
- 
--#: dnf/cli/output.py:1938
-+#: dnf/cli/output.py:1820
- msgid "Reinstall"
- msgstr "再インストール"
- 
--#: dnf/cli/output.py:2016
-+#: dnf/cli/output.py:1894
- #, python-format
- msgid "---> Package %s.%s %s will be installed"
- msgstr "---> パッケージ %s.%s %s はインストールされます"
- 
--#: dnf/cli/output.py:2018
-+#: dnf/cli/output.py:1896
- #, python-format
- msgid "---> Package %s.%s %s will be an upgrade"
- msgstr "---> パッケージ %s.%s %s はアップグレードされます"
- 
--#: dnf/cli/output.py:2020
-+#: dnf/cli/output.py:1898
- #, python-format
- msgid "---> Package %s.%s %s will be erased"
- msgstr "---> パッケージ %s.%s %s は消去されます"
- 
--#: dnf/cli/output.py:2022
-+#: dnf/cli/output.py:1900
- #, python-format
- msgid "---> Package %s.%s %s will be reinstalled"
- msgstr "---> パッケージ %s.%s %s は再インストールされます"
- 
--#: dnf/cli/output.py:2024
-+#: dnf/cli/output.py:1902
- #, python-format
- msgid "---> Package %s.%s %s will be a downgrade"
- msgstr "---> パッケージ %s.%s %s はダウングレードされます"
- 
--#: dnf/cli/output.py:2026
-+#: dnf/cli/output.py:1904
- #, python-format
- msgid "---> Package %s.%s %s will be obsoleting"
- msgstr "---> パッケージ %s.%s %s は廃止となります"
- 
--#: dnf/cli/output.py:2028
-+#: dnf/cli/output.py:1906
- #, python-format
- msgid "---> Package %s.%s %s will be upgraded"
- msgstr "---> パッケージ %s.%s %s はアップグレードされます"
- 
--#: dnf/cli/output.py:2030
-+#: dnf/cli/output.py:1908
- #, python-format
- msgid "---> Package %s.%s %s will be obsoleted"
- msgstr "---> パッケージ %s.%s %s は廃止されます"
- 
--#: dnf/cli/output.py:2039
-+#: dnf/cli/output.py:1917
- msgid "--> Starting dependency resolution"
- msgstr "--> 依存関係の解決を開始しました"
- 
--#: dnf/cli/output.py:2044
-+#: dnf/cli/output.py:1921
- msgid "--> Finished dependency resolution"
- msgstr "--> 依存関係の解決が完了しました"
- 
--#: dnf/cli/output.py:2058 dnf/crypto.py:132
-+#: dnf/cli/output.py:1935 dnf/crypto.py:132
- #, python-format
- msgid ""
- "Importing GPG key 0x%s:\n"
-@@ -3512,16 +3478,14 @@ msgid "Module or Group '%s' does not exist."
- msgstr "モジュールまたはグループ '%s' は存在しません。"
- 
- #: dnf/comps.py:599
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#, python-format
- msgid "Environment id '%s' does not exist."
--msgstr "環境 '%s' はインストールされていません。"
-+msgstr "環境 id '%s' は存在しません。"
- 
--#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
-+#, python-format
- msgid "Environment id '%s' is not installed."
--msgstr "環境 '%s' はインストールされていません。"
-+msgstr "環境 id '%s' はインストールされていません。"
- 
- #: dnf/comps.py:639
- #, python-format
-@@ -3534,16 +3498,20 @@ msgid "Environment '%s' is not available."
- msgstr "環境 '%s' は利用不可です。"
- 
- #: dnf/comps.py:673
--#, fuzzy, python-format
--#| msgid "Group_id '%s' does not exist."
-+#, python-format
- msgid "Group id '%s' does not exist."
--msgstr "Group_id '%s' は存在しません。"
-+msgstr "グループ id '%s' は存在しません。"
- 
- #: dnf/conf/config.py:136
- #, python-format
- msgid "Error parsing '%s': %s"
- msgstr "'%s' の解析中にエラーが発生しました: %s"
- 
-+#: dnf/conf/config.py:151
-+#, python-format
-+msgid "Invalid configuration value: %s=%s in %s; %s"
-+msgstr "正しくない設定値: %s=%s in %s; %s"
-+
- #: dnf/conf/config.py:226
- msgid "Could not set cachedir: {}"
- msgstr "cachedir を設定できませんでした: {}"
-@@ -3585,36 +3553,36 @@ msgstr "鍵 '%s.%s'、値 '%s' の --setopt を解析中にエラーが発生し
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "repo %s には setopt の前に %s attr. がありませんでした"
- 
--#: dnf/conf/read.py:51
-+#: dnf/conf/read.py:60
- #, python-format
- msgid "Warning: failed loading '%s', skipping."
--msgstr "警告:  '%s' のロードに失敗、スキップします。"
-+msgstr "警告: '%s' のロードに失敗、スキップします。"
- 
--#: dnf/conf/read.py:63
-+#: dnf/conf/read.py:72
- msgid "Bad id for repo: {} ({}), byte = {} {}"
- msgstr "repo: {} ({}) に正しくないid、 byte = {} {}"
- 
--#: dnf/conf/read.py:67
-+#: dnf/conf/read.py:76
- msgid "Bad id for repo: {}, byte = {} {}"
- msgstr "repo: {} に正しくないid、byte = {} {}"
- 
--#: dnf/conf/read.py:75
-+#: dnf/conf/read.py:84
- msgid "Repository '{}' ({}): Error parsing config: {}"
- msgstr "レポジトリ '{}' ({}): 設定変更エラー: {}"
- 
--#: dnf/conf/read.py:78
-+#: dnf/conf/read.py:87
- msgid "Repository '{}': Error parsing config: {}"
- msgstr "レポジトリ '{}': 設定変更エラー: {}"
- 
--#: dnf/conf/read.py:84
-+#: dnf/conf/read.py:93
- msgid "Repository '{}' ({}) is missing name in configuration, using id."
- msgstr "レポジトリ '{}' ({}) はidを使用した設定内に見つかりません。"
- 
--#: dnf/conf/read.py:87
-+#: dnf/conf/read.py:96
- msgid "Repository '{}' is missing name in configuration, using id."
- msgstr "レポジトリ '{}' idを使用した設定内に見つかりません。"
- 
--#: dnf/conf/read.py:104
-+#: dnf/conf/read.py:113
- msgid "Parsing file \"{}\" failed: {}"
- msgstr "ファイル \"{}\" の解析に失敗しました: {}"
- 
-@@ -3626,27 +3594,40 @@ msgstr "repo %s: 0x%s はインポート済みです"
- #: dnf/crypto.py:115
- #, python-format
- msgid "repo %s: imported key 0x%s."
--msgstr "repo %s: インポート済みの鍵 0x%s。"
-+msgstr "repo %s: インポート済みのキー 0x%s。"
-+
-+#: dnf/crypto.py:145
-+msgid "Verified using DNS record with DNSSEC signature."
-+msgstr "DNSSEC 署名付きの DNS レコードを使用して検証しました。"
-+
-+#: dnf/crypto.py:147
-+msgid "NOT verified using DNS record."
-+msgstr "DNS レコードを使用して検証されませんでした。"
- 
--#: dnf/db/group.py:293
-+#: dnf/crypto.py:184
-+#, python-format
-+msgid "retrieving repo key for %s unencrypted from %s"
-+msgstr "%s から暗号化されていない %s の repo キーを取得しています"
-+
-+#: dnf/db/group.py:301
- msgid ""
- "No available modular metadata for modular package '{}', it cannot be "
- "installed on the system"
- msgstr "モジュラーパッケージ '{}' のモジュラーメタデータは利用不可です、システムにインストールはできません"
- 
--#: dnf/db/group.py:343
-+#: dnf/db/group.py:351
- msgid "No available modular metadata for modular package"
- msgstr "モジュラーパッケージ のモジュラーメタデータは利用不可です"
- 
--#: dnf/db/group.py:377
-+#: dnf/db/group.py:385
- #, python-format
- msgid "Will not install a source rpm package (%s)."
- msgstr "ソース rpm パッケージ (%s) をインストールしません。"
- 
- #: dnf/dnssec.py:168
- msgid ""
--"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
--msgstr "設定オプション 'gpgkey_dns_verification' は libunbound ({}) が必要です"
-+"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
-+msgstr "設定オプション 'gpgkey_dns_verification' は python3-unbound ({}) が必要です"
- 
- #: dnf/dnssec.py:239
- msgid "DNSSEC extension: Key for user "
-@@ -3710,7 +3691,7 @@ msgid "Modular dependency problem with Defaults:"
- msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "デフォルトのモジュラー依存問題:"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:686
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:854
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "モジュラーの依存に関する問題:"
-@@ -3744,7 +3725,47 @@ msgstr "有効なモジュール: {}."
- msgid "No profile specified for '{}', please specify profile."
- msgstr "'{}' に指定したプロファイルはありません。プロファイルを指定してください。"
- 
--#: dnf/module/module_base.py:33
-+#: dnf/module/exceptions.py:27
-+msgid "No such module: {}"
-+msgstr "次のようなモジュールはありません: {}"
-+
-+#: dnf/module/exceptions.py:33
-+msgid "No such stream: {}"
-+msgstr "次のようなストリームはありません: {}"
-+
-+#: dnf/module/exceptions.py:39
-+msgid "No enabled stream for module: {}"
-+msgstr "次のモジュールに有効化されたストリームはありません: {}"
-+
-+#: dnf/module/exceptions.py:46
-+msgid "Cannot enable more streams from module '{}' at the same time"
-+msgstr "モジュール '{}' から、さらにストリームを同時に有効にできません"
-+
-+#: dnf/module/exceptions.py:52
-+msgid "Different stream enabled for module: {}"
-+msgstr "次のモジュールに有効化された異なるストリーム: {}"
-+
-+#: dnf/module/exceptions.py:58
-+msgid "No such profile: {}"
-+msgstr "次ようなプロファイルはありません: {}"
-+
-+#: dnf/module/exceptions.py:64
-+msgid "Specified profile not installed for {}"
-+msgstr "指定のプロファイルは次にインストールされていません: {}"
-+
-+#: dnf/module/exceptions.py:70
-+msgid "No stream specified for '{}', please specify stream"
-+msgstr "'{}' に指定したストリームはありません。ストリームを指定してください"
-+
-+#: dnf/module/exceptions.py:82
-+msgid "No such profile: {}. No profiles available"
-+msgstr "次のようなプロファイルはありません: {}。利用できるプロファイルはありません"
-+
-+#: dnf/module/exceptions.py:88
-+msgid "No profile to remove for '{}'"
-+msgstr "'{}' の削除するプロファイルがありません"
-+
-+#: dnf/module/module_base.py:35
- msgid ""
- "\n"
- "\n"
-@@ -3754,7 +3775,7 @@ msgstr ""
- "\n"
- "ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled"
- 
--#: dnf/module/module_base.py:34
-+#: dnf/module/module_base.py:36
- msgid ""
- "\n"
- "\n"
-@@ -3764,80 +3785,98 @@ msgstr ""
- "\n"
- "ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive"
- 
--#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
--#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
-+#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
- msgid "Ignoring unnecessary profile: '{}/{}'"
- msgstr "不要なプロファイルを無視します: '{}/{}'"
- 
--#: dnf/module/module_base.py:84
-+#: dnf/module/module_base.py:86
- #, python-brace-format
- msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
- msgstr "モジュール '{1}:{2}' の引数 '{0}' に一致するものはすべて非アクティブです"
- 
--#: dnf/module/module_base.py:92
-+#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
- #, python-brace-format
- msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
- msgstr "フェイルセーフレポジトリー {1} からのモジュール '{0}' インストールは許可されていません"
- 
--#: dnf/module/module_base.py:102
-+#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
- msgid ""
- "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
- msgstr "引数 {} でプロファイルが見つかりません。利用可能プロファイル '{}:{}': {}"
- 
--#: dnf/module/module_base.py:106
-+#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
- msgid "Unable to match profile for argument {}"
- msgstr "引数 {} でプロファイルが見つかりません"
- 
--#: dnf/module/module_base.py:118
-+#: dnf/module/module_base.py:120
- msgid "No default profiles for module {}:{}. Available profiles: {}"
- msgstr "モジュール {}:{} にデフォルトのプロファイルがありません。利用可能プロファイル: {}"
- 
--#: dnf/module/module_base.py:122
-+#: dnf/module/module_base.py:124
- msgid "No profiles for module {}:{}"
- msgstr "モジュール {}:{} にプロファイルがありません"
- 
--#: dnf/module/module_base.py:129
-+#: dnf/module/module_base.py:131
- msgid "Default profile {} not available in module {}:{}"
- msgstr "デフォルトのプロファイル {} はモジュール {}:{} で利用不可です"
- 
--#: dnf/module/module_base.py:142
-+#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
- msgid "Installing module from Fail-Safe repository is not allowed"
- msgstr "フェイルセーフレポジトリーからのモジュールインストールは許可されていません"
- 
--#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
--#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
--#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
--#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
-+#: dnf/module/module_base.py:196
-+#, python-brace-format
-+msgid "No active matches for argument '{0}' in module '{1}:{2}'"
-+msgstr "モジュール '{1}:{2}' の引数 '{0}' には、アクティブな一致がありません"
-+
-+#: dnf/module/module_base.py:228
-+#, python-brace-format
-+msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
-+msgstr "インストールされたプロファイル '{0}' は、モジュール '{1}' ストリーム '{2}' では利用できません"
-+
-+#: dnf/module/module_base.py:267
-+msgid "No packages available to distrosync for package name '{}'"
-+msgstr "パッケージ名 '{}' 向けに distrosync するパッケージはありません"
-+
-+#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
-+#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
-+#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
-+#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
- msgid "Unable to resolve argument {}"
- msgstr "引数 {} を解決できません"
- 
--#: dnf/module/module_base.py:160
--msgid "No match for package {}"
--msgstr "パッケージ {} に一致するものはありません"
--
--#: dnf/module/module_base.py:204
-+#: dnf/module/module_base.py:321
- #, python-brace-format
- msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
- msgstr "フェイルセーフレポジトリー {1} からのモジュール '{0}' アップグレードは許可されていません"
- 
--#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
-+#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
- msgid "Unable to match profile in argument {}"
- msgstr "引数 {} でプロファイルを一致できません"
- 
--#: dnf/module/module_base.py:231
-+#: dnf/module/module_base.py:348
- msgid "Upgrading module from Fail-Safe repository is not allowed"
- msgstr "フェイルセーフレポジトリーからのモジュールアップグレードは許可されていません"
- 
--#: dnf/module/module_base.py:367
-+#: dnf/module/module_base.py:422
-+#, python-brace-format
-+msgid ""
-+"Argument '{argument}' matches {stream_count} streams ('{streams}') of module"
-+" '{module}', but none of the streams are enabled or default"
-+msgstr ""
-+"引数 '{argument}' は、モジュール '{module}' の {stream_count} ストリーム ('{streams}' "
-+"と一致しますが、有効化されている、あるいはデフォルトのストリームはありません"
-+
-+#: dnf/module/module_base.py:509
- msgid ""
- "Only module name is required. Ignoring unneeded information in argument: "
- "'{}'"
- msgstr "モジュール名のみが必要です。引数で不必要な情報を無視します: '{}'"
- 
--#: dnf/package.py:298
--#, python-format
--msgid "%s: %s check failed: %s vs %s"
--msgstr "%s: %s の確認に失敗しました: %s vs %s"
-+#: dnf/module/module_base.py:841
-+msgid "No match for package {}"
-+msgstr "パッケージ {} に一致するものはありません"
- 
- #. empty file is invalid json format
- #: dnf/persistor.py:54
-@@ -3848,12 +3887,12 @@ msgstr "%s は空のファイルです"
- #: dnf/persistor.py:91
- #, python-format
- msgid "Failed to load expired repos cache: %s"
--msgstr ""
-+msgstr "期限切れのリポジトリーキャッシュのロードに失敗しました: %s"
- 
- #: dnf/persistor.py:99
- #, python-format
- msgid "Failed to store expired repos cache: %s"
--msgstr ""
-+msgstr "期限切れのリポジトリーキャッシュの保存に失敗しました: %s"
- 
- #: dnf/persistor.py:106
- msgid "Failed storing last makecache time."
-@@ -3873,16 +3912,16 @@ msgstr "ファイルの解析に失敗しました: %s"
- msgid "Loaded plugins: %s"
- msgstr "ロードされたプラグイン: %s"
- 
--#: dnf/plugin.py:199
-+#: dnf/plugin.py:211
- #, python-format
- msgid "Failed loading plugin \"%s\": %s"
- msgstr "plugin \"%s\" のロードに失敗しました: %s"
- 
--#: dnf/plugin.py:231
-+#: dnf/plugin.py:243
- msgid "No matches found for the following enable plugin patterns: {}"
- msgstr "以下有効プラグインパターンが見つかりません: {}"
- 
--#: dnf/plugin.py:235
-+#: dnf/plugin.py:247
- msgid "No matches found for the following disable plugin patterns: {}"
- msgstr "以下無効プラグインパターンが見つかりません: {}"
- 
-@@ -3911,10 +3950,29 @@ msgstr "%s リポジトリーの有効化"
- msgid "Added %s repo from %s"
- msgstr "%s から %s repo を追加しました"
- 
-+#: dnf/rpm/miscutils.py:35
-+#, python-brace-format
-+msgid ""
-+"Using rpmkeys executable from {path} to verify signature for package: "
-+"{package}."
-+msgstr "{path} から実行可能ファイル rpmkeys を使用して、パッケージの署名を検証します: {package}。"
-+
-+#: dnf/rpm/miscutils.py:39
-+msgid "Cannot find rpmkeys executable to verify signatures."
-+msgstr "署名を検証する rpmkeys 実行ファイルが見つかりません。"
-+
- #: dnf/rpm/transaction.py:119
- msgid "Errors occurred during test transaction."
- msgstr "テストトランザクション中にエラーが発生しました。"
- 
-+#: dnf/sack.py:47
-+msgid ""
-+"allow_vendor_change is disabled. This option is currently not supported for "
-+"downgrade and distro-sync commands"
-+msgstr ""
-+"allow_vendor_change は無効になっています。このオプションは、downgrade コマンドおよび distro-sync "
-+"コマンドではサポートされていません"
-+
- #. TRANSLATORS: This is for a single package currently being downgraded.
- #: dnf/transaction.py:80
- msgctxt "currently"
-@@ -3961,168 +4019,203 @@ msgstr "scriptletの実行中"
- msgid "Preparing"
- msgstr "準備"
- 
--#: dnf/transaction_sr.py:60
-+#: dnf/transaction_sr.py:66
- #, python-brace-format
--msgid "Errors in \"{filename}\":"
--msgstr ""
-+msgid ""
-+"The following problems occurred while replaying the transaction from file "
-+"\"{filename}\":"
-+msgstr "ファイル \"{filename}\" からのトランザクションの再生中に以下の問題が発生しました:"
- 
--#: dnf/transaction_sr.py:70
--#, python-brace-format
--msgid "Error in \"{filename}\": {error}"
--msgstr ""
-+#: dnf/transaction_sr.py:68
-+msgid "The following problems occurred while running a transaction:"
-+msgstr "トランザクションの実行中に以下の問題が発生しました:"
- 
--#: dnf/transaction_sr.py:87
-+#: dnf/transaction_sr.py:89
- #, python-brace-format
- msgid "Invalid major version \"{major}\", number expected."
--msgstr ""
-+msgstr "無効なメジャーバージョン \"{major}\"。数字が必要です。"
- 
--#: dnf/transaction_sr.py:95
-+#: dnf/transaction_sr.py:97
- #, python-brace-format
- msgid "Invalid minor version \"{minor}\", number expected."
--msgstr ""
-+msgstr "無効なマイナーバージョン \"{minor}\"。数字が必要です。"
- 
--#: dnf/transaction_sr.py:101
-+#: dnf/transaction_sr.py:103
- #, python-brace-format
- msgid ""
- "Incompatible major version \"{major}\", supported major version is "
- "\"{major_supp}\"."
--msgstr ""
-+msgstr "互換性のないメジャーバージョン \"{major}\"。サポートされているメジャーバージョンは \"{major_supp}\" です。"
-+
-+#: dnf/transaction_sr.py:224
-+msgid ""
-+"Conflicting TransactionReplay arguments have been specified: filename, data"
-+msgstr "競合する TransactionReplay 引数が指定されています。filename, data"
- 
--#: dnf/transaction_sr.py:244
-+#: dnf/transaction_sr.py:265
- #, python-brace-format
- msgid "Unexpected type of \"{id}\", {exp} expected."
--msgstr ""
-+msgstr "予期しない {id}\" のタイプ。{exp} が必要です。"
- 
--#: dnf/transaction_sr.py:250
-+#: dnf/transaction_sr.py:271
- #, python-brace-format
- msgid "Missing key \"{key}\"."
--msgstr ""
-+msgstr "\"{key}\" キーがありません。"
- 
--#: dnf/transaction_sr.py:263
-+#: dnf/transaction_sr.py:285
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an rpm."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" が rpm にありません。"
- 
--#: dnf/transaction_sr.py:267
-+#: dnf/transaction_sr.py:289
- #, python-brace-format
- msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\" の予期しないパッケージ理由 \"{reason}\" の値。"
- 
--#: dnf/transaction_sr.py:275
-+#: dnf/transaction_sr.py:297
- #, python-brace-format
- msgid "Cannot parse NEVRA for package \"{nevra}\"."
--msgstr ""
-+msgstr "パッケージ \"{nevra}\" の NEVRA を解析できません。"
- 
--#: dnf/transaction_sr.py:286
-+#: dnf/transaction_sr.py:321
- #, python-brace-format
- msgid "Cannot find rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\" を見つけることはできません。"
- 
--#: dnf/transaction_sr.py:301
--#, fuzzy, python-brace-format
--#| msgid "Package %s is already installed."
-+#: dnf/transaction_sr.py:336
-+#, python-brace-format
- msgid "Package \"{na}\" is already installed for action \"{action}\"."
--msgstr "パッケージ %s は既にインストールされています。"
-+msgstr "パッケージ \"{na}\" は、アクション \"{action}\" 用に既にインストールされています。"
- 
--#: dnf/transaction_sr.py:311
-+#: dnf/transaction_sr.py:345
- #, python-brace-format
- msgid ""
- "Package nevra \"{nevra}\" not available in repositories for action "
- "\"{action}\"."
--msgstr ""
-+msgstr "アクション \"{action}\" に利用できる パッケージ nevra \"{nevra}\" はレポジトリーにありません。"
- 
--#: dnf/transaction_sr.py:322
-+#: dnf/transaction_sr.py:356
- #, python-brace-format
- msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
--msgstr ""
-+msgstr "アクション \"{action}\" には、パッケージ nevra \"{nevra}\" インストールされていません。"
- 
--#: dnf/transaction_sr.py:336
-+#: dnf/transaction_sr.py:370
- #, python-brace-format
- msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\" の、パッケージアクション \"{action}\" の予期しない値。"
- 
--#: dnf/transaction_sr.py:343
--#, fuzzy, python-format
--#| msgid "Module or Group '%s' is not available."
-+#: dnf/transaction_sr.py:377
-+#, python-format
- msgid "Group id '%s' is not available."
--msgstr "モジュールまたはグループ '%s' は利用不可です。"
-+msgstr "グループ id '%s' は利用できません。"
- 
--#: dnf/transaction_sr.py:364
-+#: dnf/transaction_sr.py:398
- #, python-brace-format
- msgid "Missing object key \"{key}\" in groups.packages."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" が groups.packages に含まれません。"
- 
--#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
--#, fuzzy, python-format
--#| msgid "Module or Group '%s' is not installed."
-+#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
-+#, python-format
- msgid "Group id '%s' is not installed."
--msgstr "モジュールまたはグループ '%s' がインストールされていません。"
-+msgstr "グループ id '%s' がインストールされていません。"
- 
--#: dnf/transaction_sr.py:398
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not available."
-+#: dnf/transaction_sr.py:432
-+#, python-format
- msgid "Environment id '%s' is not available."
--msgstr "環境 '%s' は利用不可です。"
-+msgstr "環境 id '%s' は利用できません。"
- 
--#: dnf/transaction_sr.py:422
-+#: dnf/transaction_sr.py:456
- #, python-brace-format
- msgid ""
- "Invalid value \"{group_type}\" of environments.groups.group_type, only "
- "\"mandatory\" or \"optional\" is supported."
- msgstr ""
-+"environments.groups.group_type の無効な値 \"{group_type}\"。\"mandatory\" または "
-+"\"optional\" のみに対応しています。"
- 
--#: dnf/transaction_sr.py:430
-+#: dnf/transaction_sr.py:464
- #, python-brace-format
- msgid "Missing object key \"{key}\" in environments.groups."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" が environments.groups に含まれません。"
- 
--#: dnf/transaction_sr.py:508
-+#: dnf/transaction_sr.py:542
- #, python-brace-format
- msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
--msgstr ""
-+msgstr "グループ \"{group}\" の グループアクション \"{action}\" の予期しない値。"
- 
--#: dnf/transaction_sr.py:513
-+#: dnf/transaction_sr.py:547
- #, python-brace-format
- msgid "Missing object key \"{key}\" in a group."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" がグループ内にありません。"
- 
--#: dnf/transaction_sr.py:537
-+#: dnf/transaction_sr.py:571
- #, python-brace-format
- msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
--msgstr ""
-+msgstr "環境 \"{env}\" の環境アクション \"{action}\" の予期しない値。"
- 
--#: dnf/transaction_sr.py:542
-+#: dnf/transaction_sr.py:576
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an environment."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" が環境にありません。"
- 
--#: dnf/transaction_sr.py:581
-+#: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
- "Package nevra \"{nevra}\", which is not present in the transaction file, was"
- " pulled into the transaction."
--msgstr ""
-+msgstr "トランザクションファイルに存在しないパッケージ nevra \"{nevra}\" がトランザクションにプルされていました。"
- 
- # translation auto-copied from project jbpm-designer, version 6.0.1, document
- # org.jbpm/jbpm-designer-
- # api/resources/org/jbpm/designer/resources/i18n/DesignerConstants, author
- # nmirasch
--#: dnf/util.py:391 dnf/util.py:393
-+#: dnf/util.py:419 dnf/util.py:421
- msgid "Problem"
- msgstr "問題"
- 
--#: dnf/util.py:444
-+#: dnf/util.py:472
- msgid "TransactionItem not found for key: {}"
- msgstr "TransactionItemが見つかりません鍵: {}"
- 
--#: dnf/util.py:454
-+#: dnf/util.py:482
- msgid "TransactionSWDBItem not found for key: {}"
- msgstr "TransactionSWDBItemが見つかりません鍵: {}"
- 
--#: dnf/util.py:457
-+#: dnf/util.py:485
- msgid "Errors occurred during transaction."
- msgstr "トランザクション中にエラーが発生しました。"
- 
-+#: dnf/util.py:621
-+msgid "Reinstalled"
-+msgstr "再インストール済み"
-+
-+#: dnf/util.py:622
-+msgid "Skipped"
-+msgstr "スキップ済み"
-+
-+#: dnf/util.py:623
-+msgid "Removed"
-+msgstr "削除しました"
-+
-+#: dnf/util.py:626
-+msgid "Failed"
-+msgstr "失敗しました"
-+
-+#~ msgid "%s: %s check failed: %s vs %s"
-+#~ msgstr "%s: %s の確認に失敗しました: %s vs %s"
-+
-+#~ msgid "Action not handled: {}"
-+#~ msgstr "動作は対処されていません: {}"
-+
-+#~ msgid "no package matched"
-+#~ msgstr "一致したパッケージはありません。"
-+
-+#~ msgid "Not found given transaction ID"
-+#~ msgstr "指定されたトランザクション ID は見つかりません"
-+
-+#~ msgid "Undoing transaction {}, from {}"
-+#~ msgstr "トランザクション {} を {} から取り消しています"
-+
- #~ msgid "format for displaying found packages"
- #~ msgstr "見つかったパッケージを表示する形式"
- 
-diff --git a/po/ko.po b/po/ko.po
-index 449f6130..78e18309 100644
---- a/po/ko.po
-+++ b/po/ko.po
-@@ -1,68 +1,68 @@
- # MinWoo Joh <igtzhsou@naver.com>, 2015. #zanata
- # Eun-Ju Kim <eukim@redhat.com>, 2016. #zanata
- # Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2020.
-+# simmon <simmon@nplob.com>, 2021.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2020-10-05 09:18-0400\n"
--"PO-Revision-Date: 2020-09-12 11:29+0000\n"
--"Last-Translator: Ludek Janda <ljanda@redhat.com>\n"
--"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/dnf-master/ko/>\n"
-+"POT-Creation-Date: 2021-08-11 16:00+0200\n"
-+"PO-Revision-Date: 2021-08-12 16:04+0000\n"
-+"Last-Translator: simmon <simmon@nplob.com>\n"
-+"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/dnf-rhel-8/ko/>\n"
- "Language: ko\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=1; plural=0;\n"
--"X-Generator: Weblate 4.2.2\n"
-+"X-Generator: Weblate 4.7.2\n"
- 
- #: dnf/automatic/emitter.py:32
- #, python-format
- msgid "The following updates have been applied on '%s':"
--msgstr "'%s'에 다음 업데이트가 적용되었습니다:"
-+msgstr "다음 최신화가 '%s'에 적용되었습니다:"
- 
- #: dnf/automatic/emitter.py:33
--#, fuzzy, python-format
--#| msgid "Updates applied on '%s'."
-+#, python-format
- msgid "Updates completed at %s"
--msgstr "'%s'에 업데이트가 적용 되었습니다."
-+msgstr "'%s'에 최신화가 적용 되었습니다"
- 
- #: dnf/automatic/emitter.py:34
- #, python-format
- msgid "The following updates are available on '%s':"
--msgstr "'%s'에서 다음 업데이트를 사용할 수 있습니다:"
-+msgstr "다음 최신화가 '%s'에서 사용 할 수 있습니다:"
- 
- #: dnf/automatic/emitter.py:35
- #, python-format
- msgid "The following updates were downloaded on '%s':"
--msgstr "'%s'에 다음 업데이트가 다운로드되었습니다:"
-+msgstr "'%s'에 다음 최신화가 내려받기 되었습니다:"
- 
- #: dnf/automatic/emitter.py:83
- #, python-format
- msgid "Updates applied on '%s'."
--msgstr "'%s'에 업데이트가 적용되었습니다."
-+msgstr "'%s'에서 적용되어 최신화되었습니다."
- 
- #: dnf/automatic/emitter.py:85
- #, python-format
- msgid "Updates downloaded on '%s'."
--msgstr "'%s'에 업데이트가 다운로드되었습니다."
-+msgstr "'%s'에 최신화가 내려받기 되었습니다."
- 
- #: dnf/automatic/emitter.py:87
- #, python-format
- msgid "Updates available on '%s'."
--msgstr "'%s'에서 업데이트가 가능합니다."
-+msgstr "'%s'에서 가능한 최신화입니다."
- 
- #: dnf/automatic/emitter.py:110
- #, python-format
- msgid "Failed to send an email via '%s': %s"
--msgstr "'%s'를 통한 이메일 전송을 실패했습니다: %s"
-+msgstr "'%s'를 통한 전자우편 전송을 실패했습니다: %s"
- 
- #: dnf/automatic/emitter.py:140
- #, python-format
- msgid "Failed to execute command '%s': returned %d"
- msgstr "명령’%s'을 실행하지 못했습니다: %d를 반환했습니다"
- 
--#: dnf/automatic/main.py:164 dnf/conf/config.py:151
-+#: dnf/automatic/main.py:164
- #, python-format
- msgid "Unknown configuration value: %s=%s in %s; %s"
- msgstr "알 수없는 설정: %s=%s in %s; %s"
-@@ -72,26 +72,26 @@ msgstr "알 수없는 설정: %s=%s in %s; %s"
- msgid "Unknown configuration option: %s = %s in %s"
- msgstr "알 수없는 옵션 : %s = %s in %s"
- 
--#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
-+#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
- msgid "GPG check FAILED"
- msgstr "GPG 확인 실패"
- 
- #: dnf/automatic/main.py:274
- msgid "Waiting for internet connection..."
--msgstr ""
-+msgstr "인터넷 연결을 위한 대기..."
- 
- #: dnf/automatic/main.py:304
- msgid "Started dnf-automatic."
- msgstr "dnf-automatic을 시작했습니다."
- 
- #: dnf/automatic/main.py:308
--#, python-format
--msgid "Sleep for %s seconds"
--msgstr "%s 초 동안 절전합니다"
-+msgid "Sleep for {} second"
-+msgid_plural "Sleep for {} seconds"
-+msgstr[0] "{} 초 동안 절전합니다"
- 
- #: dnf/automatic/main.py:315
- msgid "System is off-line."
--msgstr ""
-+msgstr "네트웍 끊김."
- 
- #: dnf/automatic/main.py:344 dnf/cli/main.py:59 dnf/cli/main.py:80
- #: dnf/cli/main.py:83
-@@ -99,442 +99,428 @@ msgstr ""
- msgid "Error: %s"
- msgstr "오류: %s"
- 
--#: dnf/base.py:146
-+#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
- msgid "loading repo '{}' failure: {}"
--msgstr "repo '{}'의 로드에 실패했습니다 : {}"
-+msgstr "repo '{}'의 적재에 실패했습니다 : {}"
- 
--#: dnf/base.py:148
-+#: dnf/base.py:150
- msgid "Loading repository '{}' has failed"
--msgstr "리포지토리 '{}'의 로드에 실패했습니다"
-+msgstr "저장소 '{}'의 적재하기가 실패했습니다"
- 
--#: dnf/base.py:320
-+#: dnf/base.py:327
- msgid "Metadata timer caching disabled when running on metered connection."
--msgstr "데이터 통신 연결을 사용할 때 메타 데이터 타이머 캐싱을 비활성화합니다."
-+msgstr "데이터 통신 연결을 사용 할 때에 메타 자료 타이머 캐싱을 비활성화합니다."
- 
--#: dnf/base.py:325
-+#: dnf/base.py:332
- msgid "Metadata timer caching disabled when running on a battery."
--msgstr "배터리를 사용할할 때 메타 데이터 타이머 캐싱을 비활성화합니다."
-+msgstr "배터리에서 동작 할 때에 메타자료 타이머 캐싱을 비활성화합니다."
- 
--#: dnf/base.py:330
-+#: dnf/base.py:337
- msgid "Metadata timer caching disabled."
--msgstr "메타 데이터 타이머 캐싱이 비활성화되었습니다."
-+msgstr "메타자료 타이머 캐싱이 비활성화되었습니다."
- 
--#: dnf/base.py:335
-+#: dnf/base.py:342
- msgid "Metadata cache refreshed recently."
--msgstr "최근에 메타 데이터 캐시가 새로 고쳐졌습니다."
-+msgstr "최근에 메타 자료 캐쉬가 새로 고쳐졌습니다."
- 
--#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
-+#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
- msgid "There are no enabled repositories in \"{}\"."
- msgstr "\"{}\"에 사용 가능한 저장소가 없습니다."
- 
--#: dnf/base.py:348
-+#: dnf/base.py:355
- #, python-format
- msgid "%s: will never be expired and will not be refreshed."
- msgstr "%s: 만료되지 않고 새로 고침되지 않습니다."
- 
--#: dnf/base.py:350
-+#: dnf/base.py:357
- #, python-format
- msgid "%s: has expired and will be refreshed."
- msgstr "%s: 만료되어 새로 고침됩니다."
- 
- #. expires within the checking period:
--#: dnf/base.py:354
-+#: dnf/base.py:361
- #, python-format
- msgid "%s: metadata will expire after %d seconds and will be refreshed now"
--msgstr "%s: 메타 데이터는 %d 초 이후에 만료되며 이제 새로 고침됩니다."
-+msgstr "%s: 메타 데이터는 %d 초 이후에 만료되며 이제 새로 고침됩니다"
- 
--#: dnf/base.py:358
-+#: dnf/base.py:365
- #, python-format
- msgid "%s: will expire after %d seconds."
- msgstr "%s: %d 초 후에 만료됩니다."
- 
- #. performs the md sync
--#: dnf/base.py:364
-+#: dnf/base.py:371
- msgid "Metadata cache created."
--msgstr "메타 데이터 캐시가 생성되었습니다."
-+msgstr "메타 자료 캐쉬가 생성되었습니다."
- 
--#: dnf/base.py:397
-+#: dnf/base.py:404 dnf/base.py:471
- #, python-format
- msgid "%s: using metadata from %s."
--msgstr "%s: %s에서 메타 데이터 사용 중"
-+msgstr "%s: 메타 자료 사용 중 %s."
- 
--#: dnf/base.py:409
-+#: dnf/base.py:416 dnf/base.py:484
- #, python-format
- msgid "Ignoring repositories: %s"
--msgstr "리포지토리를 무시합니다: %s"
-+msgstr "저장소를 무시합니다: %s"
- 
--#: dnf/base.py:412
-+#: dnf/base.py:419
- #, python-format
- msgid "Last metadata expiration check: %s ago on %s."
--msgstr "마지막 메타 데이터 만료 확인 :%s. %s 이전에 확인"
-+msgstr "마지막 메타자료 만료확인 %s 이전인: %s."
- 
--#: dnf/base.py:443
-+#: dnf/base.py:512
- msgid ""
- "The downloaded packages were saved in cache until the next successful "
- "transaction."
--msgstr "다운로드된 패키지는 다음 번 성공적인 트랜잭션까지 캐시에 저장됩니다."
-+msgstr "내려받기된 꾸러미는 다음 번 성공적인 연결까지 캐쉬에 저장됩니다."
- 
--#: dnf/base.py:445
-+#: dnf/base.py:514
- #, python-format
- msgid "You can remove cached packages by executing '%s'."
--msgstr "'%s'을/를 실행하여 캐시 패키지를 삭제할 수 있습니다."
-+msgstr "'%s' 를 실행하여 캐쉬 꾸러미를 삭제 할 수 있습니다."
- 
--#: dnf/base.py:535
-+#: dnf/base.py:606
- #, python-format
- msgid "Invalid tsflag in config file: %s"
- msgstr "설정 파일에서 tsflag 사용이 잘못되었습니다: %s"
- 
--#: dnf/base.py:591
-+#: dnf/base.py:662
- #, python-format
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr "리포지토리의 그룹 파일을 추가하지 못했습니다. %s - %s"
- 
--#: dnf/base.py:823
-+#: dnf/base.py:904
- msgid "Running transaction check"
--msgstr "트랜잭션 확인 실행 중"
-+msgstr "연결 확인 실행 중"
- 
--#: dnf/base.py:831
-+#: dnf/base.py:912
- msgid "Error: transaction check vs depsolve:"
--msgstr "오류 : 트랜잭션 확인 및 종속성 해결 오류"
-+msgstr "오류: 연결 확인 및 종속성 해결 오류:"
- 
--#: dnf/base.py:837
-+#: dnf/base.py:918
- msgid "Transaction check succeeded."
--msgstr "트랜잭션 확인에 성공했습니다."
-+msgstr "연결 확인에 성공했습니다."
- 
--#: dnf/base.py:840
-+#: dnf/base.py:921
- msgid "Running transaction test"
--msgstr "트랜잭션 테스트 실행 중"
-+msgstr "연결 시험 실행 중"
- 
--#: dnf/base.py:850 dnf/base.py:992
-+#: dnf/base.py:931 dnf/base.py:1082
- msgid "RPM: {}"
- msgstr "RPM: {}"
- 
--#: dnf/base.py:851
-+#: dnf/base.py:932
- msgid "Transaction test error:"
--msgstr "트랜잭션 테스트 오류:"
-+msgstr "연결 시험 오류:"
- 
--#: dnf/base.py:862
-+#: dnf/base.py:943
- msgid "Transaction test succeeded."
--msgstr "트랜잭션 테스트에 성공했습니다."
-+msgstr "연결 시험에 성공했습니다."
- 
--#: dnf/base.py:883
-+#: dnf/base.py:964
- msgid "Running transaction"
--msgstr "트랜잭션 실행 중"
-+msgstr "연결 실행 중"
- 
--#: dnf/base.py:911
-+#: dnf/base.py:1001
- msgid "Disk Requirements:"
- msgstr "디스크 요구 사항 :"
- 
--#: dnf/base.py:914
-+#: dnf/base.py:1004
- #, python-brace-format
- msgid "At least {0}MB more space needed on the {1} filesystem."
- msgid_plural "At least {0}MB more space needed on the {1} filesystem."
- msgstr[0] "{1} 파일 시스템에 최소 {0}MB의 공간이 더 필요합니다."
- 
--#: dnf/base.py:921
-+#: dnf/base.py:1011
- msgid "Error Summary"
- msgstr "오류 요약"
- 
--#: dnf/base.py:947
-+#: dnf/base.py:1037
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDB는 {prog} 외부에서 변경되었습니다."
- 
--#: dnf/base.py:993 dnf/base.py:1001
-+#: dnf/base.py:1083 dnf/base.py:1091
- msgid "Could not run transaction."
--msgstr "트랜잭션을 실행할 수 없습니다."
-+msgstr "연결를 실행 할 수 없습니다."
- 
--#: dnf/base.py:996
-+#: dnf/base.py:1086
- msgid "Transaction couldn't start:"
--msgstr "트랜잭션을 시작할 수 없습니다 :"
-+msgstr "연결을 시작 할 수 없습니다 :"
- 
--#: dnf/base.py:1010
-+#: dnf/base.py:1100
- #, python-format
- msgid "Failed to remove transaction file %s"
--msgstr "%s 트랜잭션 파일을 삭제하지 못했습니다"
-+msgstr "%s 연결 파일을 삭제하지 못했습니다"
- 
--#: dnf/base.py:1092
-+#: dnf/base.py:1182
- msgid "Some packages were not downloaded. Retrying."
--msgstr "일부 패키지가 다운로드되지 않았습니다. 다시 시도 중입니다."
-+msgstr "일부 꾸러미를 내려받지 못했습니다. 다시 시도합니다."
- 
--#: dnf/base.py:1122
-+#: dnf/base.py:1212
- #, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
--msgstr "Delta RPM이 %.1f MB의 업데이트를 %.1f MB로 줄였습니다. (%d.1 %% 절약됨)"
-+msgstr "델타 RPM이 %.1f MB의 최신화를 %.1f MB로 줄였습니다. (%d.1%% 절약됨)"
- 
--#: dnf/base.py:1125
-+#: dnf/base.py:1215
- #, python-format
- msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
--msgstr "Delta RPM은 %.1f MB의 업데이트를 %.1f MB로 줄이는데 실패했습니다. (%d.1 %% 손실됨)"
-+msgstr "Delta RPM은 %.1f MB의 최신화를 %.1f MB로 줄이는데 실패했습니다. (%d.1 %% 손실됨)"
- 
--#: dnf/base.py:1167
-+#: dnf/base.py:1257
- msgid "Cannot add local packages, because transaction job already exists"
--msgstr "트랜잭션 작업이 이미 존재하므로 로컬 패키지를 추가할 수 없습니다"
-+msgstr "연결 작업이 이미 존재하므로 로컬 꾸러미를 추가할 수 없습니다"
- 
--#: dnf/base.py:1181
-+#: dnf/base.py:1271
- msgid "Could not open: {}"
- msgstr "열 수 없음 : {}"
- 
--#: dnf/base.py:1219
-+#: dnf/base.py:1309
- #, python-format
- msgid "Public key for %s is not installed"
--msgstr "%s의 공개 키는 설치되어 있지 않습니다."
-+msgstr "%s의 공개 키는 설치되어 있지 않습니다"
- 
--#: dnf/base.py:1223
-+#: dnf/base.py:1313
- #, python-format
- msgid "Problem opening package %s"
--msgstr "%s 패키지를 여는 중에 문제가 발생했습니다"
-+msgstr "%s 꾸러미를 여는 중에 문제가 발생했습니다"
- 
--#: dnf/base.py:1231
-+#: dnf/base.py:1321
- #, python-format
- msgid "Public key for %s is not trusted"
--msgstr "%s의 공개 키는 신뢰할 수 없습니다"
-+msgstr "%s의 공개 키는 신뢰 할 수 없습니다"
- 
--#: dnf/base.py:1235
-+#: dnf/base.py:1325
- #, python-format
- msgid "Package %s is not signed"
--msgstr "%s 패키지가 서명되지 않았습니다"
-+msgstr "%s 꾸러미가 서명되지 않았습니다"
- 
--#: dnf/base.py:1265
-+#: dnf/base.py:1355
- #, python-format
- msgid "Cannot remove %s"
--msgstr "%s을/를 삭제할 수 없습니다."
-+msgstr "%s를 삭제 할 수 없습니다"
- 
--#: dnf/base.py:1269
-+#: dnf/base.py:1359
- #, python-format
- msgid "%s removed"
- msgstr "%s가 삭제되었습니다"
- 
--#: dnf/base.py:1549
-+#: dnf/base.py:1639
- msgid "No match for group package \"{}\""
--msgstr "그룹 패키지 \"{}\"에 일치하는 항목이 없습니다"
-+msgstr "그룹 꾸러미 \"{}\"에 일치하는 항목이 없습니다"
- 
--#: dnf/base.py:1635
-+#: dnf/base.py:1725
- #, python-format
- msgid "Adding packages from group '%s': %s"
--msgstr "'%s' 그룹에서 패키지 추가: %s"
-+msgstr "'%s' 그룹에서 꾸러미 추가: %s"
- 
--#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
--#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
--#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
-+#: dnf/base.py:1748 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
-+#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
- #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
- msgid "Nothing to do."
--msgstr "처리가 필요하지 않습니다"
-+msgstr "처리가 필요하지 않습니다."
- 
--#: dnf/base.py:1676
-+#: dnf/base.py:1766
- msgid "No groups marked for removal."
--msgstr "제거할 패키지 그룹이 없습니다"
-+msgstr "제거할 꾸러미 그룹이 없습니다."
- 
--#: dnf/base.py:1710
-+#: dnf/base.py:1800
- msgid "No group marked for upgrade."
--msgstr "업그레이드용으로 표시된 그룹이 없습니다."
-+msgstr "향상을 위해 표시된 그룹이 없습니다."
- 
--#: dnf/base.py:1925
-+#: dnf/base.py:2014
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
--msgstr "%s 패키지가 설치되어 있지 않기 때문에 다운 그레이드할 수 없습니다."
-+msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 하향설치 할 수 없습니다."
- 
--#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
--#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
--#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
--#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
--#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
-+#: dnf/base.py:2016 dnf/base.py:2035 dnf/base.py:2048 dnf/base.py:2075
-+#: dnf/base.py:2128 dnf/base.py:2136 dnf/base.py:2270 dnf/cli/cli.py:417
-+#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
-+#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
-+#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
- #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
--#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
-+#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
- #, python-format
- msgid "No match for argument: %s"
--msgstr "일치하는 인수가 없습니다 : %s"
-+msgstr "인수가 일치하지 않습니다: %s"
- 
--#: dnf/base.py:1934
-+#: dnf/base.py:2023
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
--msgstr "%s 패키지의 하위 버전이 이미 설치되어 있으므로 다운 그레이드할 수 없습니다."
-+msgstr "%s 꾸러미의 하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
- 
--#: dnf/base.py:1957
-+#: dnf/base.py:2046
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
--msgstr "%s 패키지가 설치되어 있지 않기 때문에 다시 설치할 수 없습니다."
-+msgstr "꾸러미 %s가 설치되지 않아서, 다시 설치 할 수 없습니다."
- 
--#: dnf/base.py:1972
-+#: dnf/base.py:2061
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
--msgstr "%s 파일은 소스 패키지이며 업데이트할 수 없습니다. 무시합니다."
-+msgstr "%s 파일은 소스 꾸러미이며 최신화 할 수 없습니다. 무시합니다."
- 
--#: dnf/base.py:1978
-+#: dnf/base.py:2072
- #, python-format
- msgid "Package %s not installed, cannot update it."
--msgstr "%s 패키지가 설치되어 있지 않기 때문에 업데이트할 수 없습니다."
-+msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 최신화 할 수 없습니다."
- 
--#: dnf/base.py:1987
-+#: dnf/base.py:2082
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
--msgstr "%s 이상의 버전이 이미 설치되어 있으므로 업데이트할 수 없습니다."
-+msgstr "%s 이상의 버전이 이미 설치되어 있으므로 최신화 할 수 없습니다."
- 
--#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2125 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
--msgstr "%s 패키지는 사용할 수는 있지만 설치되어 있지 않습니다."
-+msgstr "%s 꾸러미는 사용할 수는 있지만 설치되어 있지 않습니다."
- 
--#: dnf/base.py:2032
-+#: dnf/base.py:2131
- #, python-format
- msgid "Package %s available, but installed for different architecture."
--msgstr "%s 패키지는 사용 가능하지만 다른 아키텍처 용으로 설치되어 있습니다."
-+msgstr "%s 꾸러미는 사용 가능하지만 다른 구조용으로 설치되어 있습니다."
- 
--#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
-+#: dnf/base.py:2156
- #, python-format
- msgid "No package %s installed."
--msgstr "%s 패키지는 설치되어 있지 않습니다"
-+msgstr "%s 꾸러미는 설치되어 있지 않습니다."
- 
--#: dnf/base.py:2075 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2174 dnf/cli/commands/install.py:136
- #: dnf/cli/commands/remove.py:133
- #, python-format
- msgid "Not a valid form: %s"
- msgstr "잘못된 형식: %s"
- 
--#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
--#: dnf/cli/commands/remove.py:163
-+#: dnf/base.py:2189 dnf/cli/commands/__init__.py:676
-+#: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
--msgstr "제거 대상 패키지가 없습니다."
-+msgstr "제거 대상 꾸러미가 없습니다."
- 
--#: dnf/base.py:2179 dnf/cli/cli.py:422
-+#: dnf/base.py:2277 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
--msgstr "%s 인수에 대한 패키지를 사용할 수 있지만 설치되어 있지 않습니다."
-+msgstr "%s 인수에 대한 꾸러미를 사용할 수 있지만 설치되어 있지 않습니다."
- 
--#: dnf/base.py:2184
-+#: dnf/base.py:2282
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
--msgstr "%s 패키지의 최하위 버전이 이미 설치되어 있으므로 다운 그레이드할 수 없습니다."
--
--#: dnf/base.py:2242
--msgid "Action not handled: {}"
--msgstr "작업이 처리되지 않았습니다: {}"
-+msgstr "%s 꾸러미의 최하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
- 
--#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
--#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
--#, python-format
--msgid "No package %s available."
--msgstr "사용 가능한 패키지 %s가 없습니다."
--
--#: dnf/base.py:2269
--msgid "no package matched"
--msgstr "일치하는 패키지가 없습니다."
--
--#: dnf/base.py:2290
-+#: dnf/base.py:2382
- msgid "No security updates needed, but {} update available"
--msgstr "보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다"
-+msgstr "보안 최신화가 필요하지 않지만, {} 최신화가 가능합니다"
- 
--#: dnf/base.py:2292
-+#: dnf/base.py:2384
- msgid "No security updates needed, but {} updates available"
--msgstr "보안 업데이트는 필요하지 않지만 {} 업데이트가 가능합니다"
-+msgstr "보안 최신화는 필요하지 않지만 {} 최신화는 가능합니다"
- 
--#: dnf/base.py:2296
-+#: dnf/base.py:2388
- msgid "No security updates needed for \"{}\", but {} update available"
--msgstr "\"{}\"에는 보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다"
-+msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다"
- 
--#: dnf/base.py:2298
-+#: dnf/base.py:2390
- msgid "No security updates needed for \"{}\", but {} updates available"
--msgstr "\"{}\"에는 보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다"
-+msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다"
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2319
-+#: dnf/base.py:2411
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
--msgstr ""
-+msgstr "명령줄 꾸러미: %s 대한 키를 검색 할 수 없습니다"
- 
--#: dnf/base.py:2327
-+#: dnf/base.py:2419
- #, python-format
- msgid ". Failing package is: %s"
--msgstr "실패한 패키지는 다음과 같습니다. %s"
-+msgstr "실패한 꾸러미는 다음과 같습니다. %s"
- 
--#: dnf/base.py:2328
-+#: dnf/base.py:2420
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "GPG 키는 다음과 같이 설정되어 있습니다. %s"
- 
--#: dnf/base.py:2340
-+#: dnf/base.py:2432
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr "%s (0x%s)의 GPG 키가 이미 설치되어 있습니다"
- 
--#: dnf/base.py:2373
-+#: dnf/base.py:2468
- msgid "The key has been approved."
- msgstr "키가 승인되었습니다."
- 
--#: dnf/base.py:2376
-+#: dnf/base.py:2471
- msgid "The key has been rejected."
- msgstr "키가 거부되었습니다."
- 
--#: dnf/base.py:2409
-+#: dnf/base.py:2504
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "키 가져 오기에 실패했습니다 (코드 %d)"
- 
--#: dnf/base.py:2411
-+#: dnf/base.py:2506
- msgid "Key imported successfully"
- msgstr "키 가져오기에 성공했습니다"
- 
--#: dnf/base.py:2415
-+#: dnf/base.py:2510
- msgid "Didn't install any keys"
- msgstr "키를 하나도 설치하지 못했습니다"
- 
--#: dnf/base.py:2418
-+#: dnf/base.py:2513
- #, python-format
- msgid ""
- "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
- "Check that the correct key URLs are configured for this repository."
- msgstr ""
--"해당 GPG 키는 \"%s\"저장소가 이미 설치되어 있지만이 패키지에 맞지 않습니다.\n"
-+"해당 GPG 키는 \"%s\"저장소가 이미 설치되어 있지만이 꾸러미에 맞지 않습니다.\n"
- "이 저장소에 대해 올바른 키 URL이 구성되었는지 확인하십시오."
- 
--#: dnf/base.py:2429
-+#: dnf/base.py:2524
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr "가져온 키에 문제가 있습니다. 잘못된 키입니까?"
- 
--#: dnf/base.py:2482
-+#: dnf/base.py:2577
- msgid "  * Maybe you meant: {}"
--msgstr "  * 다음을 의미할 수도 있습니다: {}"
-+msgstr "  * 다음을 의미 할 수도 있습니다: {}"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2609
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
--msgstr "로컬 저장소 \"{}\"의 \"{}\"패키지에 잘못된 체크섬이 있습니다"
-+msgstr "로컬 저장소 \"{}\"의 \"{}\"꾸러미에 잘못된 체크섬이 있습니다"
- 
--#: dnf/base.py:2517
-+#: dnf/base.py:2612
- msgid "Some packages from local repository have incorrect checksum"
--msgstr "로컬 저장소의 일부 패키지에 잘못된 체크섬이 있습니다"
-+msgstr "로컬 저장소의 일부 꾸러미에 잘못된 체크섬이 있습니다"
- 
--#: dnf/base.py:2520
-+#: dnf/base.py:2615
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
--msgstr "저장소 \"{}\"의 패키지 \"{}\"에 잘못된 체크섬이 있습니다"
-+msgstr "저장소 \"{}\"의 꾸러미 \"{}\"에 잘못된 체크섬이 있습니다"
- 
--#: dnf/base.py:2523
-+#: dnf/base.py:2618
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
--msgstr "일부 패키지에는 유효하지 않은 캐시가 있지만 \"--cacheonly\"옵션으로 인해 다운로드할 수 없습니다"
-+msgstr "일부 꾸러미에는 유효하지 않은 캐쉬가 있지만 \"--cacheonly\"옵션으로 인해 내려받기 할 수 없습니다"
- 
--#: dnf/base.py:2541 dnf/base.py:2561
-+#: dnf/base.py:2636 dnf/base.py:2656
- msgid "No match for argument"
- msgstr "일치하는 인수가 없습니다"
- 
--#: dnf/base.py:2549 dnf/base.py:2569
-+#: dnf/base.py:2644 dnf/base.py:2664
- msgid "All matches were filtered out by exclude filtering for argument"
- msgstr "모든 일치 항목이 인수의 제외 필터로 필터링되었습니다"
- 
--#: dnf/base.py:2551
-+#: dnf/base.py:2646
- msgid "All matches were filtered out by modular filtering for argument"
- msgstr "모든 일치 항목이 인수의 모듈식 필터로 필터링되었습니다"
- 
--#: dnf/base.py:2567
-+#: dnf/base.py:2662
- msgid "All matches were installed from a different repository for argument"
- msgstr "모든 일치 항목이 인수의 다른 리포지토리에서 설치되었습니다"
- 
--#: dnf/base.py:2583
-+#: dnf/base.py:2709
- #, python-format
- msgid "Package %s is already installed."
--msgstr "패키지 %s이/가 이미 설치되어 있습니다."
-+msgstr "꾸러미 %s가 이미 설치되어 있습니다."
- 
- #: dnf/cli/aliases.py:96
- #, python-format
-@@ -551,8 +537,8 @@ msgstr "\"%s\" 파일의 구문 분석에 실패했습니다 : %s"
- msgid "Cannot read file \"%s\": %s"
- msgstr "\"%s\" 파일을 읽을 수 없습니다: %s"
- 
--#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
--#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
-+#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
-+#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
- #, python-format
- msgid "Config error: %s"
- msgstr "설정 오류: %s"
-@@ -564,17 +550,17 @@ msgstr "별칭에는 무한 재귀가 포함되어 있습니다"
- #: dnf/cli/aliases.py:209
- #, python-format
- msgid "%s, using original arguments."
--msgstr "%s, 원래 인수를 사용하고 있습니다"
-+msgstr "%s, 원래 인수를 사용."
- 
- #: dnf/cli/cli.py:137
- #, python-format
- msgid "  Installed: %s-%s at %s"
--msgstr "  설치됨:  %s-%s (일시: %s)"
-+msgstr "  설치되었습니다: %s-%s (일시: %s)"
- 
- #: dnf/cli/cli.py:139
- #, python-format
- msgid "  Built    : %s at %s"
--msgstr "  빌드됨    :%s (일시: %s)"
-+msgstr "  구성 :%s (일시: %s)"
- 
- #: dnf/cli/cli.py:147
- #, python-brace-format
-@@ -583,44 +569,44 @@ msgid ""
- "stream '{2}'"
- msgstr "이 작업은 '{0}' 모듈을 '{1}' 스트림에서 ‘{2}' 스트림으로 전환합니다"
- 
--#: dnf/cli/cli.py:172
-+#: dnf/cli/cli.py:173
- #, python-brace-format
- msgid ""
--"It is not possible to switch enabled streams of a module.\n"
--"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
-+"It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.\n"
-+"It is recommended to rather remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
- msgstr ""
--"활성화된 모듈 스트림을 전환 할 수 없습니다.\n"
-+"구성 선택(옵션) module_stream_switch를 통해 명시적으로 활성화하지 않는 한 활성화된 모듈 스트림을 전환 할 수 없습니다.\n"
- "설치된 모든 내용을 모듈에서 제거하고 ‘{prog} module reset <module_name>' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후 다른 스트림을 설치할 수 있습니다."
- 
--#: dnf/cli/cli.py:210
-+#: dnf/cli/cli.py:212
- #, python-brace-format
- msgid "{prog} will only download packages for the transaction."
--msgstr "{prog}은/는 트랜잭션용 패키지 만 다운로드합니다."
-+msgstr "{prog}은/는 연결용 꾸러미만 내려받기합니다."
- 
--#: dnf/cli/cli.py:213
-+#: dnf/cli/cli.py:215
- #, python-brace-format
- msgid ""
- "{prog} will only download packages, install gpg keys, and check the "
- "transaction."
--msgstr "{prog}은/는 패키지 만 다운로드하고 gpg 키를 설치하며 트랜잭션을 확인합니다."
-+msgstr "{prog}은/는 꾸러미만 내려받기하고 gpg 키를 설치하며 연결을 확인합니다."
- 
--#: dnf/cli/cli.py:217
-+#: dnf/cli/cli.py:219
- msgid "Operation aborted."
--msgstr "작업이 중지됨."
-+msgstr "작업이 중지됩니다."
- 
--#: dnf/cli/cli.py:224
-+#: dnf/cli/cli.py:226
- msgid "Downloading Packages:"
--msgstr "패키지 다운로드중:"
-+msgstr "꾸러미 내려받기중:"
- 
--#: dnf/cli/cli.py:230
-+#: dnf/cli/cli.py:232
- msgid "Error downloading packages:"
--msgstr "패키지 다운로드중 오류 발생:"
-+msgstr "꾸러미 내려받기 중 오류 발생:"
- 
--#: dnf/cli/cli.py:258
-+#: dnf/cli/cli.py:264
- msgid "Transaction failed"
--msgstr "트랜잭션 실패"
-+msgstr "연결 실패"
- 
--#: dnf/cli/cli.py:281
-+#: dnf/cli/cli.py:287
- msgid ""
- "Refusing to automatically import keys when running unattended.\n"
- "Use \"-y\" to override."
-@@ -628,117 +614,96 @@ msgstr ""
- "키를 자동으로 가져 오는 것을 거부합니다.\n"
- "동작을 무시하려면 \"-y\"를 사용하십시오."
- 
--#: dnf/cli/cli.py:331
-+#: dnf/cli/cli.py:337
- msgid "Changelogs for {}"
- msgstr "{}의 변경 사항"
- 
--#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
-+#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
- msgid "Obsoleting Packages"
--msgstr "더 이상 사용되지 않는 패키지"
-+msgstr "더 이상 사용되지 않는 꾸러미"
- 
--#: dnf/cli/cli.py:393
-+#: dnf/cli/cli.py:399
- msgid "No packages marked for distribution synchronization."
--msgstr "배포 동기화가 필요한 패키지가 없습니다."
-+msgstr "배포 동기화가 필요한 꾸러미가 없습니다."
-+
-+#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
-+#, python-format
-+msgid "No package %s available."
-+msgstr "가용한 꾸러미(package) %s가 없습니다."
- 
--#: dnf/cli/cli.py:428
-+#: dnf/cli/cli.py:434
- msgid "No packages marked for downgrade."
--msgstr "다운 그레이드 대상으로 표시된 패키지가 없습니다."
-+msgstr "하향설치 대상으로 표시된 꾸러미가 없습니다."
- 
--#: dnf/cli/cli.py:479
-+#: dnf/cli/cli.py:485
- msgid "Installed Packages"
--msgstr "설치된 패키지"
-+msgstr "설치된 꾸러미"
- 
--#: dnf/cli/cli.py:487
-+#: dnf/cli/cli.py:493
- msgid "Available Packages"
--msgstr "사용 가능한 패키지"
-+msgstr "사용 가능한 꾸러미"
- 
--#: dnf/cli/cli.py:491
-+#: dnf/cli/cli.py:497
- msgid "Autoremove Packages"
--msgstr "패키지 자동 삭제"
-+msgstr "꾸러미 자동 삭제"
- 
- # ctx::sourcefile::Systems Navigation Menu
--#: dnf/cli/cli.py:493
-+#: dnf/cli/cli.py:499
- msgid "Extra Packages"
--msgstr "추가 패키지"
-+msgstr "추가 꾸러미"
- 
--#: dnf/cli/cli.py:497
-+#: dnf/cli/cli.py:503
- msgid "Available Upgrades"
--msgstr "사용 가능한 업그레이드"
-+msgstr "사용 가능한 최신화"
- 
--#: dnf/cli/cli.py:513
-+#: dnf/cli/cli.py:519
- msgid "Recently Added Packages"
--msgstr "최근에 추가 된 패키지"
-+msgstr "최근에 추가 된 꾸러미"
- 
--#: dnf/cli/cli.py:518
-+#: dnf/cli/cli.py:523
- msgid "No matching Packages to list"
--msgstr "목록과 일치하는 패키지가 없습니다"
-+msgstr "목록과 일치하는 꾸러미가 없습니다"
- 
--#: dnf/cli/cli.py:599
-+#: dnf/cli/cli.py:604
- msgid "No Matches found"
- msgstr "검색 결과가 없습니다"
- 
--#: dnf/cli/cli.py:609
--msgid "No transaction ID given"
--msgstr "지정된 트랜잭션 ID가 없습니다"
--
--#: dnf/cli/cli.py:614
--msgid "Not found given transaction ID"
--msgstr "주어진 트랜잭션 ID를 찾을 수 없습니다"
--
--#: dnf/cli/cli.py:623
--msgid "Found more than one transaction ID!"
--msgstr "두 개 이상의 트랜잭션 ID를 찾았습니다!"
--
--#: dnf/cli/cli.py:640
--#, python-format
--msgid "Transaction history is incomplete, before %u."
--msgstr "%u이전 트랜잭션 내역이 불완전합니다."
--
--#: dnf/cli/cli.py:642
--#, python-format
--msgid "Transaction history is incomplete, after %u."
--msgstr "%u이후 트랜잭션 내역이 불완전합니다."
--
--#: dnf/cli/cli.py:689
--msgid "Undoing transaction {}, from {}"
--msgstr "{}에서 {} 트랜잭션 실행을 취소하고 있습니다"
--
--#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
-+#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
- #, python-format
- msgid "Unknown repo: '%s'"
- msgstr "알 수 없는 저장소: '%s'"
- 
--#: dnf/cli/cli.py:783
-+#: dnf/cli/cli.py:685
- #, python-format
- msgid "No repository match: %s"
- msgstr "일치하는 저장소가 없습니다 : %s"
- 
--#: dnf/cli/cli.py:817
-+#: dnf/cli/cli.py:719
- msgid ""
- "This command has to be run with superuser privileges (under the root user on"
- " most systems)."
--msgstr "이 명령은 수퍼 유저 권한으로 실행해야합니다 (대부분의 시스템에서 root 사용자로 실행)."
-+msgstr "이 명령은 슈퍼유저 권한으로 실행해야합니다 (대부분의 시스템에서 root 사용자로 실행)."
- 
--#: dnf/cli/cli.py:847
-+#: dnf/cli/cli.py:749
- #, python-format
- msgid "No such command: %s. Please use %s --help"
- msgstr "명령을 찾을 수 없습니다: %s . %s --help를 사용하십시오"
- 
--#: dnf/cli/cli.py:850
-+#: dnf/cli/cli.py:752
- #, python-format, python-brace-format
- msgid ""
- "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
- "command(%s)'\""
- msgstr "{PROG} 플러그인 명령일 수 있습니다: \"{prog} 'dnf-command(%s)'\""
- 
--#: dnf/cli/cli.py:854
-+#: dnf/cli/cli.py:756
- #, python-brace-format
- msgid ""
- "It could be a {prog} plugin command, but loading of plugins is currently "
- "disabled."
- msgstr "{prog} 플러그인 명령일 수 있지만 플러그인 로딩은 현재 비활성화되어 있습니다."
- 
--#: dnf/cli/cli.py:912
-+#: dnf/cli/cli.py:814
- msgid ""
- "--destdir or --downloaddir must be used with --downloadonly or download or "
- "system-upgrade command."
-@@ -746,7 +711,7 @@ msgstr ""
- "--destdir 또는 --downloaddir은 --downloadonly 또는 download 또는 system-upgrade 명령과"
- " 함께 사용해야합니다."
- 
--#: dnf/cli/cli.py:918
-+#: dnf/cli/cli.py:820
- msgid ""
- "--enable, --set-enabled and --disable, --set-disabled must be used with "
- "config-manager command."
-@@ -754,7 +719,7 @@ msgstr ""
- "--enable, --set-enabled 및 --disable, --set-disabled는 config-manager 명령과 함께 "
- "사용해야합니다."
- 
--#: dnf/cli/cli.py:1000
-+#: dnf/cli/cli.py:902
- msgid ""
- "Warning: Enforcing GPG signature check globally as per active RPM security "
- "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
-@@ -762,38 +727,38 @@ msgstr ""
- "경고: 활성화된 RPM 보안 정책에 따라 GPG 서명 검사를 전체적으로 시행합니다 (이 메시지를 제거하는 방법은 dnf.conf (5)의"
- " 'gpgcheck' 참조)"
- 
--#: dnf/cli/cli.py:1020
-+#: dnf/cli/cli.py:922
- msgid "Config file \"{}\" does not exist"
--msgstr "\"{}\" 설정 파일이 존재하지 않습니다"
-+msgstr "설정 파일 \"{}\" 이 존재하지 않습니다"
- 
--#: dnf/cli/cli.py:1040
-+#: dnf/cli/cli.py:942
- msgid ""
- "Unable to detect release version (use '--releasever' to specify release "
- "version)"
--msgstr "릴리스 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 릴리스 버전을 지정하십시오)"
-+msgstr "출시 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 출시 버전을 지정하십시오)"
- 
--#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
-+#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
- msgid "argument {}: not allowed with argument {}"
- msgstr "인수 {}: 인수 {}과 함께 사용할 수 없습니다"
- 
--#: dnf/cli/cli.py:1134
-+#: dnf/cli/cli.py:1023
- #, python-format
- msgid "Command \"%s\" already defined"
- msgstr "\"%s\" 명령이 이미 정의되어 있습니다"
- 
--#: dnf/cli/cli.py:1154
-+#: dnf/cli/cli.py:1043
- msgid "Excludes in dnf.conf: "
- msgstr "dnf.conf에서 제외: "
- 
--#: dnf/cli/cli.py:1157
-+#: dnf/cli/cli.py:1046
- msgid "Includes in dnf.conf: "
- msgstr "dnf.conf에 포함:. "
- 
--#: dnf/cli/cli.py:1160
-+#: dnf/cli/cli.py:1049
- msgid "Excludes in repo "
- msgstr "리포지토리에서 제외 "
- 
--#: dnf/cli/cli.py:1163
-+#: dnf/cli/cli.py:1052
- msgid "Includes in repo "
- msgstr "리포지토리에 포함 "
- 
-@@ -823,17 +788,18 @@ msgid ""
- "\n"
- "For more information contact your distribution or package provider."
- msgstr ""
--"GPG 키를 통해 패키지 검사를 활성화했습니다. 이는 적절한 작업 실행입니다. \n"
--"그러나 GPG 공개 키가 설치되어 있지 않습니다. 설치하려는 패키지의 키를 다운로드하여 설치해야합니다.\n"
-+"GPG 키를 통해 꾸러미 검사를 활성화했습니다. 이는 적절한 작업 실행입니다.\n"
-+"그러나 GPG 공개 키가 설치되어 있지 않습니다.\n"
-+"설치하려는 꾸러미의 키를 내려받기하여 설치해야 합니다.\n"
- "다음 명령으로 이 작업을 수행할 수 있습니다:\n"
--"    rpm --import public.gpg.key\n"
-+"rpm --import public.gpg.key\n"
- "\n"
- "\n"
--"또는 리포지토리 섹션의 'gpgkey' 옵션을 사용하여 \n"
--"리포지토리에 사용할 키의 URL을 지정할 수 있으며 {prog}이/가 \n"
--"이를 설치합니다 \n"
-+"또는 저장소 섹션의 'gpgkey' 옵션을 사용하여\n"
-+"저장소에 사용할 키의 URL을 지정할 수 있으며 {prog}가\n"
-+"이를 설치합니다\n"
- "\n"
--"자세한 내용은 배포 또는 패키지 공급 업체에 문의하십시오."
-+"자세한 내용은 배포 또는 꾸러미 공급 업체에 문의하십시오."
- 
- #: dnf/cli/commands/__init__.py:71
- #, python-format
-@@ -842,56 +808,56 @@ msgstr "문제 저장소 : %s"
- 
- #: dnf/cli/commands/__init__.py:158
- msgid "display details about a package or group of packages"
--msgstr "패키지 또는 패키지 그룹에 대한 세부 정보 표시"
-+msgstr "꾸러미 또는 꾸러미 그룹에 대한 세부 정보 표시"
- 
--#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
-+#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
- msgid "show all packages (default)"
--msgstr "모든 패키지 표시 (기본값)"
-+msgstr "모든 꾸러미 표시 (기본값)"
- 
--#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
--#: dnf/cli/commands/module.py:351
-+#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
-+#: dnf/cli/commands/module.py:376
- msgid "show only available packages"
--msgstr "사용 가능한 패키지 만 표시"
-+msgstr "사용 가능한 꾸러미만 표시"
- 
--#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
-+#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
- msgid "show only installed packages"
--msgstr "설치된 패키지 만 표시"
-+msgstr "설치된 꾸러미만 보여주기"
- 
--#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
-+#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
- msgid "show only extras packages"
--msgstr "엑스트라 패키지 만 표시"
-+msgstr "엑스트라 꾸러미만 표시"
- 
- #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
--#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
-+#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
- msgid "show only upgrades packages"
--msgstr "업그레이드 패키지 만 표시"
-+msgstr "향상 꾸러미만 표시"
- 
--#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
-+#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
- msgid "show only autoremove packages"
--msgstr "자동 삭제 패키지 만 표시"
-+msgstr "자동 삭제 꾸러미만 표시"
- 
--#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
-+#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
- msgid "show only recently changed packages"
--msgstr "최근에 변경된 패키지 만 표시"
-+msgstr "최근에 변경된 꾸러미만 표시"
- 
- #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
--#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
-+#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
- #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
- #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
- msgid "PACKAGE"
--msgstr "패키지"
-+msgstr "꾸러미(package)"
- 
- #: dnf/cli/commands/__init__.py:193
- msgid "Package name specification"
--msgstr "패키지 이름 사양"
-+msgstr "꾸러미 이름 사양"
- 
- #: dnf/cli/commands/__init__.py:221
- msgid "list a package or groups of packages"
--msgstr "패키지 또는 패키지 그룹 나열"
-+msgstr "꾸러미 또는 꾸러미 그룹 나열"
- 
- #: dnf/cli/commands/__init__.py:235
- msgid "find what package provides the given value"
--msgstr "지정된 컨텐츠를 제공하는 패키지 찾기"
-+msgstr "지정된 내용을 제공하는 꾸러미 찾기"
- 
- #: dnf/cli/commands/__init__.py:239
- msgid "PROVIDE"
-@@ -903,80 +869,80 @@ msgstr "검색할 사양 제공"
- 
- #: dnf/cli/commands/__init__.py:249 dnf/cli/commands/search.py:159
- msgid "Searching Packages: "
--msgstr "패키지 검색 : "
-+msgstr "꾸러미 검색 : "
- 
- #: dnf/cli/commands/__init__.py:258
- msgid "check for available package upgrades"
--msgstr "사용 가능한 패키지 업그레이드 확인"
-+msgstr "사용 가능한 꾸러미 향상 확인"
- 
- #: dnf/cli/commands/__init__.py:264
- msgid "show changelogs before update"
--msgstr "업데이트 전에 changelog 표시"
-+msgstr "최신화 전에 변경기록 표시"
- 
--#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
--#: dnf/cli/commands/__init__.py:470
-+#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
-+#: dnf/cli/commands/__init__.py:465
- msgid "No package available."
--msgstr "사용할 수 있는 패키지가 없습니다."
-+msgstr "사용할 수 있는 꾸러미가 없습니다."
- 
--#: dnf/cli/commands/__init__.py:376
-+#: dnf/cli/commands/__init__.py:371
- msgid "No packages marked for install."
--msgstr "설치용으로 표시된 패키지가 없습니다."
-+msgstr "설치용으로 표시된 꾸러미 없습니다."
- 
--#: dnf/cli/commands/__init__.py:412
-+#: dnf/cli/commands/__init__.py:407
- msgid "No package installed."
--msgstr "설치된 패키지가 없습니다."
-+msgstr "설치된 꾸러미가 없습니다."
- 
--#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
-+#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
- #: dnf/cli/commands/reinstall.py:91
- #, python-format
- msgid " (from %s)"
- msgstr " (%s에서)"
- 
--#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
-+#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
- #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
- #, python-format
- msgid "Installed package %s%s not available."
--msgstr "설치된 패키지 %s%s 사용 불가."
-+msgstr "설치된 꾸러미 %s%s 사용 불가."
- 
--#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
--#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
-+#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
-+#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
- msgid "No package installed from the repository."
--msgstr "저장소에서 설치된 패키지가 없습니다."
-+msgstr "저장소에서 설치된 꾸러미가 없습니다."
- 
--#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
-+#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
- msgid "No packages marked for reinstall."
--msgstr "다시 설치하도록 표시된 패키지가 없습니다."
-+msgstr "다시 설치하도록 표시된 꾸러미가 없습니다."
- 
--#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
-+#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
- msgid "No packages marked for upgrade."
--msgstr "업그레이드할 패키지 없음."
-+msgstr "최신화 할 꾸러미 없음."
- 
--#: dnf/cli/commands/__init__.py:726
-+#: dnf/cli/commands/__init__.py:721
- msgid "run commands on top of all packages in given repository"
--msgstr "지정된 저장소의 모든 패키지에 대해 명령을 실행합니다"
-+msgstr "지정된 저장소의 모든 꾸러미에 대해 명령을 실행합니다"
- 
--#: dnf/cli/commands/__init__.py:765
-+#: dnf/cli/commands/__init__.py:760
- msgid "REPOID"
- msgstr "REPOID"
- 
--#: dnf/cli/commands/__init__.py:765
-+#: dnf/cli/commands/__init__.py:760
- msgid "Repository ID"
--msgstr "리포지터리 ID"
-+msgstr "저장소 ID"
- 
--#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
-+#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
- #: dnf/cli/commands/updateinfo.py:108
- msgid "Package specification"
--msgstr "패키지 사양"
-+msgstr "꾸러미 사양"
- 
--#: dnf/cli/commands/__init__.py:801
-+#: dnf/cli/commands/__init__.py:796
- msgid "display a helpful usage message"
- msgstr "유용한 사용법 메시지 표시"
- 
--#: dnf/cli/commands/__init__.py:805
-+#: dnf/cli/commands/__init__.py:800
- msgid "COMMAND"
- msgstr "명령"
- 
--#: dnf/cli/commands/__init__.py:806
-+#: dnf/cli/commands/__init__.py:801
- #, python-brace-format
- msgid "{prog} command to get help for"
- msgstr "{prog} 명령 도움말 표시"
-@@ -1068,11 +1034,11 @@ msgstr "일치하는 별칭이 없습니다 : %s"
- #: dnf/cli/commands/autoremove.py:41
- msgid ""
- "remove all unneeded packages that were originally installed as dependencies"
--msgstr "종속성으로 설치된 불필요한 패키지를 모두 제거합니다"
-+msgstr "종속성으로 설치된 불필요한 꾸러미를 모두 제거합니다"
- 
- #: dnf/cli/commands/autoremove.py:46 dnf/cli/commands/remove.py:59
- msgid "Package to remove"
--msgstr "제거할 패키지"
-+msgstr "제거할 꾸러미"
- 
- #: dnf/cli/commands/check.py:34
- msgid "check for problems in the packagedb"
-@@ -1092,7 +1058,7 @@ msgstr "중복된 문제를 표시"
- 
- #: dnf/cli/commands/check.py:49
- msgid "show obsoleted packages"
--msgstr "더 이상 사용되지 않는 패키지 표시"
-+msgstr "더 이상 사용되지 않는꾸러미 표시"
- 
- #: dnf/cli/commands/check.py:52
- msgid "show problems with provides"
-@@ -1121,7 +1087,7 @@ msgstr "%s 파일 제거 중"
- 
- #: dnf/cli/commands/clean.py:87
- msgid "remove cached data"
--msgstr "캐시된 데이터 제거"
-+msgstr "캐쉬된 자료 제거"
- 
- #: dnf/cli/commands/clean.py:93
- msgid "Metadata type to clean"
-@@ -1133,7 +1099,7 @@ msgstr "데이터 정리 중:  "
- 
- #: dnf/cli/commands/clean.py:111
- msgid "Cache was expired"
--msgstr "캐시가 만료되었습니다"
-+msgstr "캐쉬가 만료되었습니다"
- 
- #: dnf/cli/commands/clean.py:115
- #, python-format
-@@ -1147,24 +1113,26 @@ msgid "Waiting for process with pid %d to finish."
- msgstr "PID %d 프로세스가 종료되기를 기다리고 있습니다."
- 
- #: dnf/cli/commands/deplist.py:32
--msgid "List package's dependencies and what packages provide them"
--msgstr "패키지의 종속성 및 패키지를 제공하는 소스 목록 나열"
-+msgid ""
-+"[deprecated, use repoquery --deplist] List package's dependencies and what "
-+"packages provide them"
-+msgstr "[더 이상 사용되지 않음, repoquery --deplist 사용] 꾸러미의 종속성과 이를 제공하는 꾸러미 목록 나열"
- 
- #: dnf/cli/commands/distrosync.py:32
- msgid "synchronize installed packages to the latest available versions"
--msgstr "설치된 패키지를 사용 가능한 최신 버전으로 동기화합니다"
-+msgstr "설치된 꾸러미를 사용 가능한 최신 버전으로 동기화합니다"
- 
- #: dnf/cli/commands/distrosync.py:36
- msgid "Package to synchronize"
--msgstr "동기화할 패키지"
-+msgstr "동기화할 꾸러미"
- 
- #: dnf/cli/commands/downgrade.py:34
- msgid "Downgrade a package"
--msgstr "패키지 다운그레이드"
-+msgstr "꾸러미 하향설치"
- 
- #: dnf/cli/commands/downgrade.py:38
- msgid "Package to downgrade"
--msgstr "다운그레이드할 패키지"
-+msgstr "하향설치 할 꾸러미"
- 
- #: dnf/cli/commands/group.py:46
- msgid "display, or use, the groups information"
-@@ -1174,207 +1142,220 @@ msgstr "그룹 정보를 표시하거나 사용합니다"
- msgid "No group data available for configured repositories."
- msgstr "설정된 리포지토리에 사용할 수있는 그룹 데이터가 없습니다."
- 
--#: dnf/cli/commands/group.py:129
-+#: dnf/cli/commands/group.py:126
- #, python-format
- msgid "Warning: Group %s does not exist."
- msgstr "경고: %s 그룹이 존재하지 않습니다."
- 
--#: dnf/cli/commands/group.py:170
-+#: dnf/cli/commands/group.py:167
- msgid "Warning: No groups match:"
--msgstr "경고: 일치하는 그룹이 없습니다"
-+msgstr "경고: 일치하는 그룹이 없습니다:"
- 
--#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
--#: dnf/cli/output.py:1226
-+#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
-+#: dnf/cli/output.py:1139
- msgid "<name-unset>"
- msgstr "<name-unset>"
- 
--#: dnf/cli/commands/group.py:199
-+#: dnf/cli/commands/group.py:196
- msgid "Available Environment Groups:"
- msgstr "사용 가능한 환경 그룹 :"
- 
--#: dnf/cli/commands/group.py:201
-+#: dnf/cli/commands/group.py:198
- msgid "Installed Environment Groups:"
- msgstr "설치된 환경 그룹 :"
- 
--#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
-+#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
- msgid "Installed Groups:"
- msgstr "설치된 그룹 :"
- 
--#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
-+#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
- msgid "Installed Language Groups:"
- msgstr "설치된 언어 그룹 :"
- 
--#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
-+#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
- msgid "Available Groups:"
- msgstr "사용 가능한 그룹 :"
- 
--#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
-+#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
- msgid "Available Language Groups:"
- msgstr "사용 가능한 언어 그룹 :"
- 
--#: dnf/cli/commands/group.py:322
-+#: dnf/cli/commands/group.py:319
- msgid "include optional packages from group"
--msgstr "그룹의 선택 패키지를 포함합니다"
-+msgstr "그룹의 선택 꾸러미를 포함합니다"
- 
--#: dnf/cli/commands/group.py:325
-+#: dnf/cli/commands/group.py:322
- msgid "show also hidden groups"
- msgstr "숨겨진 그룹도 표시합니다"
- 
--#: dnf/cli/commands/group.py:327
-+#: dnf/cli/commands/group.py:324
- msgid "show only installed groups"
- msgstr "설치된 그룹 만 표시합니다"
- 
--#: dnf/cli/commands/group.py:329
-+#: dnf/cli/commands/group.py:326
- msgid "show only available groups"
- msgstr "사용 가능한 그룹 만 표시합니다"
- 
--#: dnf/cli/commands/group.py:331
-+#: dnf/cli/commands/group.py:328
- msgid "show also ID of groups"
- msgstr "그룹 ID 표시"
- 
--#: dnf/cli/commands/group.py:333
-+#: dnf/cli/commands/group.py:330
- msgid "available subcommands: {} (default), {}"
- msgstr "사용 가능한 하위 명령: {} (기본값), {}"
- 
--#: dnf/cli/commands/group.py:337
-+#: dnf/cli/commands/group.py:334
- msgid "argument for group subcommand"
- msgstr "그룹 하위 명령의 인수"
- 
--#: dnf/cli/commands/group.py:346
-+#: dnf/cli/commands/group.py:343
- #, python-format
- msgid "Invalid groups sub-command, use: %s."
--msgstr "그룹 하위 명령이 잘못되었습니다. %s을/를 사용합니다."
-+msgstr "그룹 하위 명령이 잘못되었습니다. %s를 사용합니다."
- 
--#: dnf/cli/commands/group.py:403
-+#: dnf/cli/commands/group.py:398
- msgid "Unable to find a mandatory group package."
--msgstr "필수 그룹 패키지를 찾을 수 없습니다."
-+msgstr "필수 그룹 꾸러미를 찾을 수 없습니다."
- 
- #: dnf/cli/commands/history.py:48
- msgid "display, or use, the transaction history"
--msgstr "트랜잭션 내역 표시 또는 사용"
-+msgstr "연결 내역 표시 또는 사용"
- 
- #: dnf/cli/commands/history.py:66
- msgid "For the store command, file path to store the transaction to"
--msgstr ""
-+msgstr "저장 명령을 위해, 트랜젝션을 저장할 파일 경로"
- 
- #: dnf/cli/commands/history.py:68
- msgid ""
- "For the replay command, don't check for installed packages matching those in"
- " transaction"
--msgstr ""
-+msgstr "재생명령을 위하여, 연결에 그것들과 일치하는 설치된 꾸러미를 확인하지 마세요"
- 
- #: dnf/cli/commands/history.py:71
- msgid ""
- "For the replay command, don't check for extra packages pulled into the "
- "transaction"
--msgstr ""
-+msgstr "응답 명령을 위하여, 연결에 추가 된 꾸러미를 확인하지 마세요"
- 
- #: dnf/cli/commands/history.py:74
- msgid ""
- "For the replay command, skip packages that are not available or have missing"
- " dependencies"
--msgstr ""
-+msgstr "지연 명령을 위하여, 사용 할 수 없는 또는 찾을 수 없는 의존성을 갖는 목록 건너띄기"
- 
- #: dnf/cli/commands/history.py:94
- msgid ""
- "Found more than one transaction ID.\n"
- "'{}' requires one transaction ID or package name."
- msgstr ""
--"둘 이상의 트랜잭션 ID를 찾았습니다.\n"
--"'{}'에는 하나의 트랜잭션 ID 또는 패키지 이름이 필요합니다."
-+"둘 이상의 연결 ID를 찾았습니다.\n"
-+"'{}'에는 하나의 연결 ID 또는 꾸러미 이름이 필요합니다."
- 
- #: dnf/cli/commands/history.py:101
--#, fuzzy
--#| msgid "No transaction ID given"
- msgid "No transaction file name given."
--msgstr "주어진 거래 ID가 없습니다."
-+msgstr "제공된 트랜젝션 파일 이름이 없습니다."
- 
- #: dnf/cli/commands/history.py:103
--#, fuzzy
--#| msgid "Failed to remove transaction file %s"
- msgid "More than one argument given as transaction file name."
--msgstr "트랜잭션 파일을 제거하지 못했습니다. %s"
-+msgstr "연결 파일 이름으로 주어진 하나 이상의 인수 이상."
- 
--#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
-+#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
- msgid "No transaction ID or package name given."
--msgstr "트랜잭션 ID 또는 패키지 이름이 없습니다."
-+msgstr "연결 ID 또는 꾸러미 이름이 없습니다."
- 
--#: dnf/cli/commands/history.py:138
-+#: dnf/cli/commands/history.py:142
- #, python-format
- msgid "You don't have access to the history DB: %s"
- msgstr "기록 DB에 액세스할 수 없습니다: %s"
- 
--#: dnf/cli/commands/history.py:147
-+#: dnf/cli/commands/history.py:151
- #, python-format
- msgid ""
- "Cannot undo transaction %s, doing so would result in an inconsistent package"
- " database."
--msgstr "%s 트랜잭션을 취소할 수 없습니다. 취소하면 패키지 데이터베이스가 일치하지 않게 됩니다."
-+msgstr "%s 연결을 취소 할 수 없습니다. 취소하면 꾸러미 자료 저장소가 일치하지 않게 됩니다."
- 
--#: dnf/cli/commands/history.py:152
-+#: dnf/cli/commands/history.py:156
- #, python-format
- msgid ""
- "Cannot rollback transaction %s, doing so would result in an inconsistent "
- "package database."
--msgstr "%s 트랜잭션을 롤백할 수 없습니다. 이렇게하면 패키지 데이터베이스가 일치하지 않게 됩니다."
-+msgstr "%s 연결을 되돌릴 수 없습니다. 이렇게 하면 꾸러미 데이타베이스가 일치하지 않게 됩니다."
-+
-+#: dnf/cli/commands/history.py:175
-+msgid "No transaction ID given"
-+msgstr "지정된 연결 ID가 없습니다"
-+
-+#: dnf/cli/commands/history.py:179
-+#, python-brace-format
-+msgid "Transaction ID \"{0}\" not found."
-+msgstr "Transaction ID \"{0}\" 를 찾을 수 없음."
- 
--#: dnf/cli/commands/history.py:222
-+#: dnf/cli/commands/history.py:185
-+msgid "Found more than one transaction ID!"
-+msgstr "두 개 이상의 연결 ID를 찾았습니다!"
-+
-+#: dnf/cli/commands/history.py:203
-+#, python-format
-+msgid "Transaction history is incomplete, before %u."
-+msgstr "%u이전 연결 내역이 불완전합니다."
-+
-+#: dnf/cli/commands/history.py:205
-+#, python-format
-+msgid "Transaction history is incomplete, after %u."
-+msgstr "%u 이후 연결 내역이 불완전합니다."
-+
-+#: dnf/cli/commands/history.py:256
-+msgid "No packages to list"
-+msgstr "목록에 꾸러미가 없습니다"
-+
-+#: dnf/cli/commands/history.py:279
- msgid ""
- "Invalid transaction ID range definition '{}'.\n"
- "Use '<transaction-id>..<transaction-id>'."
- msgstr ""
--"잘못된 트랜잭션 ID 범위 정의 '{}'. \n"
-+"잘못된 연결 ID 범위 정의 '{}'.\n"
- "'<transaction-id>..<transaction-id>' 사용."
- 
--#: dnf/cli/commands/history.py:226
-+#: dnf/cli/commands/history.py:283
- msgid ""
- "Can't convert '{}' to transaction ID.\n"
- "Use '<number>', 'last', 'last-<number>'."
- msgstr ""
--"'{}'을 (를) 트랜잭션 ID로 변환할 수 없습니다. \n"
-+"'{}'을 (를) 연결 ID로 변환 할 수 없습니다.\n"
- "'<number>', 'last', 'last-<number>' 사용."
- 
--#: dnf/cli/commands/history.py:255
-+#: dnf/cli/commands/history.py:312
- msgid "No transaction which manipulates package '{}' was found."
--msgstr "패키지 '{}'을 (를) 사용하는 트랜잭션이 없습니다."
-+msgstr "꾸러미 '{}'를 사용하는 연결이 없습니다."
- 
--#: dnf/cli/commands/history.py:305
--#, python-brace-format
--msgid "Transaction ID \"{id}\" not found."
--msgstr ""
--
--#: dnf/cli/commands/history.py:313
-+#: dnf/cli/commands/history.py:357
- msgid "{} exists, overwrite?"
--msgstr ""
-+msgstr "{} 존재합니다, 덮어 쓸까요?"
- 
--#: dnf/cli/commands/history.py:316
-+#: dnf/cli/commands/history.py:360
- msgid "Not overwriting {}, exiting."
--msgstr ""
-+msgstr "존재하기 때문에, {} 덮어 쓸 수 없습니다."
- 
--#: dnf/cli/commands/history.py:323
--#, fuzzy
--#| msgid "Transaction test succeeded."
-+#: dnf/cli/commands/history.py:367
- msgid "Transaction saved to {}."
--msgstr "트랜잭션 테스트가 완료되었습니다."
-+msgstr "연결이 {}에 저장되었습니다."
- 
--#: dnf/cli/commands/history.py:326
--#, fuzzy
--#| msgid "Errors occurred during transaction."
-+#: dnf/cli/commands/history.py:370
- msgid "Error storing transaction: {}"
--msgstr "거래 중에 오류가 발생했습니다."
-+msgstr "저장 중 연결 오류: {}"
- 
--#: dnf/cli/commands/history.py:350
--msgid ""
--"Warning, the following problems occurred while replaying the transaction:"
--msgstr ""
-+#: dnf/cli/commands/history.py:386
-+msgid "Warning, the following problems occurred while running a transaction:"
-+msgstr "경고, 연결 동작 중에 다음 문제가 발생하였습니다:"
- 
- #: dnf/cli/commands/install.py:47
- msgid "install a package or packages on your system"
--msgstr "시스템에 패키지를 설치합니다"
-+msgstr "시스템에 꾸러미를 설치합니다"
- 
- #: dnf/cli/commands/install.py:53
- msgid "Package to install"
--msgstr "설치할 패키지"
-+msgstr "설치할 꾸러미"
- 
- #: dnf/cli/commands/install.py:118
- msgid "Unable to find a match"
-@@ -1385,22 +1366,22 @@ msgstr "일치하는 항목을 찾을 수 없습니다"
- msgid "Not a valid rpm file path: %s"
- msgstr "올바른 rpm 파일 경로가 아닙니다. %s"
- 
--#: dnf/cli/commands/install.py:167
-+#: dnf/cli/commands/install.py:166
- #, python-brace-format
- msgid "There are following alternatives for \"{0}\": {1}"
- msgstr "다음은 “{0}\"의 대안입니다. {1}"
- 
- #: dnf/cli/commands/makecache.py:37
- msgid "generate the metadata cache"
--msgstr "메타 데이터 캐시를 생성합니다"
-+msgstr "메타 자료 캐쉬를 생성합니다"
- 
- #: dnf/cli/commands/makecache.py:48
- msgid "Making cache files for all metadata files."
--msgstr "모든 메타 데이터 파일의 캐시 파일을 만듭니다."
-+msgstr "모든 메타 자료 파일의 캐쉬 파일을 만듭니다."
- 
- #: dnf/cli/commands/mark.py:39
- msgid "mark or unmark installed packages as installed by user."
--msgstr "설치된 패키지를 사용자가 설치한 것으로 표시 또는 표시 해제합니다."
-+msgstr "설치된 꾸러미를 사용자가 설치한 것으로 표시 또는 표시 해제합니다."
- 
- #: dnf/cli/commands/mark.py:44
- msgid ""
-@@ -1415,7 +1396,7 @@ msgstr ""
- #: dnf/cli/commands/mark.py:52
- #, python-format
- msgid "%s marked as user installed."
--msgstr "%s은/는 사용자가 설치한 것으로 표시되었습니다"
-+msgstr "%s은사용자가 설치한 것으로 표시."
- 
- #: dnf/cli/commands/mark.py:56
- #, python-format
-@@ -1425,131 +1406,135 @@ msgstr "%s은/는 사용자가 설치한 것으로 표시되지 않았습니다.
- #: dnf/cli/commands/mark.py:60
- #, python-format
- msgid "%s marked as group installed."
--msgstr "%s은/는 그룹이 설치한 것으로 표시되었습니다"
-+msgstr "%s은 그룹으로 설치된 것으로 표시."
- 
- #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
--#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
-+#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
- msgid "Error:"
- msgstr "오류:"
- 
- #: dnf/cli/commands/mark.py:87
- #, python-format
- msgid "Package %s is not installed."
--msgstr "%s 패키지가 설치되지 않았습니다."
-+msgstr "꾸러미 %s가 설치되지 않았습니다."
- 
--#: dnf/cli/commands/module.py:51
-+#: dnf/cli/commands/module.py:54
- msgid ""
- "Only module name, stream, architecture or profile is used. Ignoring unneeded"
- " information in argument: '{}'"
--msgstr "모듈 이름, 스트림, 아키텍처 또는 프로파일만 사용됩니다. '{}'인수에서 불필요한 정보는 무시하십시오"
-+msgstr "모듈 이름, 스트림, 구조 또는 프로파일만 사용됩니다. '{}'인수에서 불필요한 정보는 무시하십시오"
- 
--#: dnf/cli/commands/module.py:77
-+#: dnf/cli/commands/module.py:80
- msgid "list all module streams, profiles and states"
- msgstr "모든 모듈 스트림, 프로파일 및 상태 나열"
- 
--#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
-+#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
- msgid "No matching Modules to list"
- msgstr "일치하는 모듈을 나열할 수 없습니다"
- 
--#: dnf/cli/commands/module.py:111
-+#: dnf/cli/commands/module.py:114
- msgid "print detailed information about a module"
- msgstr "모듈 세부 사항을 인쇄"
- 
--#: dnf/cli/commands/module.py:133
-+#: dnf/cli/commands/module.py:136
- msgid "enable a module stream"
- msgstr "모듈 스트림을 활성화합니다"
- 
--#: dnf/cli/commands/module.py:157
-+#: dnf/cli/commands/module.py:160
- msgid "disable a module with all its streams"
- msgstr "모듈의 모든 스트림을 비활성화합니다"
- 
--#: dnf/cli/commands/module.py:181
-+#: dnf/cli/commands/module.py:184
- msgid "reset a module"
- msgstr "모듈 재설정"
- 
--#: dnf/cli/commands/module.py:202
-+#: dnf/cli/commands/module.py:205
- msgid "install a module profile including its packages"
--msgstr "패키지를 포함한 모듈 프로파일 설치"
-+msgstr "꾸러미를 포함한 모듈 프로파일 설치"
- 
--#: dnf/cli/commands/module.py:223
-+#: dnf/cli/commands/module.py:226
- msgid "update packages associated with an active stream"
--msgstr "활성 스트림과 관련된 패키지 업데이트"
-+msgstr "활성 스트림과 관련된 꾸러미 최신화"
- 
--#: dnf/cli/commands/module.py:240
-+#: dnf/cli/commands/module.py:243
- msgid "remove installed module profiles and their packages"
--msgstr "설치된 모듈 프로파일과 패키지를 제거"
-+msgstr "설치된 모듈 프로파일과 꾸러미를 제거"
- 
--#: dnf/cli/commands/module.py:264
-+#: dnf/cli/commands/module.py:267
- msgid "Package {} belongs to multiple modules, skipping"
--msgstr "{} 패키지는 여러 모듈에 속합니다. 건너 뛰기"
-+msgstr "{} 꾸러미는 여러 모듈에 속합니다. 건너 뛰기"
-+
-+#: dnf/cli/commands/module.py:280
-+msgid "switch a module to a stream and distrosync rpm packages"
-+msgstr "모듈을 스트림과 distrosync rpm 꾸러미로 전환합니다"
- 
--#: dnf/cli/commands/module.py:277
-+#: dnf/cli/commands/module.py:302
- msgid "list modular packages"
--msgstr "모듈 패키지 목록"
-+msgstr "모듈러 꾸러미지 목록"
- 
--#: dnf/cli/commands/module.py:292
-+#: dnf/cli/commands/module.py:317
- msgid "list packages belonging to a module"
--msgstr "모듈에 속하는 패키지를 나열하십시오"
-+msgstr "모듈에 속하는 꾸러미를 나열하십시오"
- 
--#: dnf/cli/commands/module.py:327
-+#: dnf/cli/commands/module.py:352
- msgid "Interact with Modules."
- msgstr "모듈과 상호 작용합니다."
- 
--#: dnf/cli/commands/module.py:340
-+#: dnf/cli/commands/module.py:365
- msgid "show only enabled modules"
- msgstr "활성화된 모듈 만 표시"
- 
--#: dnf/cli/commands/module.py:343
-+#: dnf/cli/commands/module.py:368
- msgid "show only disabled modules"
- msgstr "비활성화된 모듈 만 표시"
- 
--#: dnf/cli/commands/module.py:346
-+#: dnf/cli/commands/module.py:371
- msgid "show only installed modules or packages"
--msgstr "설치된 모듈 또는 패키지 만 표시"
-+msgstr "설치된 모듈 또는 꾸러미만 표시"
- 
--#: dnf/cli/commands/module.py:349
-+#: dnf/cli/commands/module.py:374
- msgid "show profile content"
- msgstr "프로파일 내용 표시"
- 
--#: dnf/cli/commands/module.py:354
-+#: dnf/cli/commands/module.py:379
- msgid "remove all modular packages"
--msgstr "모든 모듈 패키지 삭제"
-+msgstr "모든 모듈 꾸러미 삭제"
- 
--#: dnf/cli/commands/module.py:364
-+#: dnf/cli/commands/module.py:389
- msgid "Module specification"
- msgstr "모듈 사양"
- 
--#: dnf/cli/commands/module.py:386
-+#: dnf/cli/commands/module.py:411
- msgid "{} {} {}: too few arguments"
- msgstr "{} {} {}: 인수가 부족합니다"
- 
- #: dnf/cli/commands/reinstall.py:38
- msgid "reinstall a package"
--msgstr "패키지 다시 설치"
-+msgstr "꾸러미 다시 설치"
- 
- #: dnf/cli/commands/reinstall.py:42
- msgid "Package to reinstall"
--msgstr "다시 설치할 패키지"
-+msgstr "다시 설치할 꾸러미"
- 
- #: dnf/cli/commands/remove.py:46
- msgid "remove a package or packages from your system"
--msgstr "시스템에서 패키지를 제거합니다"
-+msgstr "시스템에서 꾸러미를 제거합니다"
- 
- #: dnf/cli/commands/remove.py:53
- msgid "remove duplicated packages"
--msgstr "중복된 패키지 제거"
-+msgstr "중복된 꾸러미 제거"
- 
- #: dnf/cli/commands/remove.py:58
- msgid "remove installonly packages over the limit"
--msgstr "오래된 설치 전용 패키지 제거"
-+msgstr "오래된 설치 전용 꾸러미 제거"
- 
- #: dnf/cli/commands/remove.py:95
- msgid "No duplicated packages found for removal."
--msgstr "제거할 중복 패키지가 없습니다."
-+msgstr "제거할 중복 꾸러미가 없습니다."
- 
- #: dnf/cli/commands/remove.py:127
- msgid "No old installonly packages found for removal."
--msgstr "제거할 오래된 설치 전용 패키지가 없습니다."
-+msgstr "제거할 오래된 설치 전용 꾸러미가 없습니다."
- 
- #: dnf/cli/commands/repolist.py:38 dnf/cli/commands/updateinfo.py:47
- #: dnf/cli/commands/updateinfo.py:318 dnf/cli/commands/updateinfo.py:364
-@@ -1593,7 +1578,7 @@ msgstr "리포지토리 사양"
- 
- #: dnf/cli/commands/repolist.py:125
- msgid "No repositories available"
--msgstr "사용 가능한 리포지토리가 없습니다"
-+msgstr "사용 가능한 저장소가 없습니다"
- 
- #: dnf/cli/commands/repolist.py:143 dnf/cli/commands/repolist.py:144
- msgid "enabled"
-@@ -1605,87 +1590,87 @@ msgstr "사용 안함"
- 
- #: dnf/cli/commands/repolist.py:162
- msgid "Repo-id            : "
--msgstr "Repo-id            : "
-+msgstr "Repo-id : "
- 
- #: dnf/cli/commands/repolist.py:163
- msgid "Repo-name          : "
--msgstr "Repo-name          : "
-+msgstr "Repo-name : "
- 
- #: dnf/cli/commands/repolist.py:166
- msgid "Repo-status        : "
--msgstr "Repo-status        : "
-+msgstr "Repo-status : "
- 
- #: dnf/cli/commands/repolist.py:169
- msgid "Repo-revision      : "
--msgstr "Repo-revision      : "
-+msgstr "Repo-revision : "
- 
- #: dnf/cli/commands/repolist.py:173
- msgid "Repo-tags          : "
--msgstr "Repo-tags          : "
-+msgstr "Repo-tags  : "
- 
- #: dnf/cli/commands/repolist.py:180
- msgid "Repo-distro-tags      : "
--msgstr "Repo-distro-tags      : "
-+msgstr "Repo-distro-tags : "
- 
- #: dnf/cli/commands/repolist.py:192
- msgid "Repo-updated       : "
--msgstr "Repo-updated       : "
-+msgstr "Repo-updated : "
- 
- #: dnf/cli/commands/repolist.py:194
- msgid "Repo-pkgs          : "
--msgstr "Repo-pkgs          : "
-+msgstr "Repo-pkgs : "
- 
- #: dnf/cli/commands/repolist.py:195
- msgid "Repo-available-pkgs: "
--msgstr "Repo-available-pkgs: "
-+msgstr "저장소-이용 할 수 있는-꾸러미: "
- 
- #: dnf/cli/commands/repolist.py:196
- msgid "Repo-size          : "
--msgstr "Repo-size          : "
-+msgstr "Repo-size : "
- 
- #: dnf/cli/commands/repolist.py:199
- msgid "Repo-metalink      : "
--msgstr "Repo-metalink      : "
-+msgstr "Repo-metalink : "
- 
- #: dnf/cli/commands/repolist.py:204
- msgid "  Updated          : "
--msgstr "  Updated          : "
-+msgstr "  Updated : "
- 
- #: dnf/cli/commands/repolist.py:206
- msgid "Repo-mirrors       : "
--msgstr "Repo-mirrors       : "
-+msgstr "Repo-mirrors : "
- 
- #: dnf/cli/commands/repolist.py:210 dnf/cli/commands/repolist.py:216
- msgid "Repo-baseurl       : "
--msgstr "Repo-baseurl       : "
-+msgstr "Repo-baseurl : "
- 
- #: dnf/cli/commands/repolist.py:219
- msgid "Repo-expire        : "
--msgstr "Repo-expire        : "
-+msgstr "Repo-expire : "
- 
- #. TRANSLATORS: Packages that are excluded - their names like (dnf systemd)
- #: dnf/cli/commands/repolist.py:223
- msgid "Repo-exclude       : "
--msgstr "Repo-exclude       : "
-+msgstr "Repo-exclude : "
- 
- #: dnf/cli/commands/repolist.py:227
- msgid "Repo-include       : "
--msgstr "Repo-include       : "
-+msgstr "Repo-include : "
- 
- #. TRANSLATORS: Number of packages that where excluded (5)
- #: dnf/cli/commands/repolist.py:232
- msgid "Repo-excluded      : "
--msgstr "Repo-excluded      : "
-+msgstr "Repo-excluded : "
- 
- #: dnf/cli/commands/repolist.py:236
- msgid "Repo-filename      : "
--msgstr "Repo-filename      : "
-+msgstr "Repo-filename : "
- 
- #. Work out the first (id) and last (enabled/disabled/count),
- #. then chop the middle (name)...
- #: dnf/cli/commands/repolist.py:246 dnf/cli/commands/repolist.py:273
- msgid "repo id"
--msgstr "리포지터리 ID"
-+msgstr "레포지터리 ID"
- 
- #: dnf/cli/commands/repolist.py:259 dnf/cli/commands/repolist.py:260
- #: dnf/cli/commands/repolist.py:281
-@@ -1694,25 +1679,25 @@ msgstr "상태"
- 
- #: dnf/cli/commands/repolist.py:275 dnf/cli/commands/repolist.py:277
- msgid "repo name"
--msgstr "리포지터리 이름"
-+msgstr "레포지터리 이름"
- 
- #: dnf/cli/commands/repolist.py:291
- msgid "Total packages: {}"
--msgstr "총 패키지: {}"
-+msgstr "총 꾸러미: {}"
- 
- #: dnf/cli/commands/repoquery.py:107
- msgid "search for packages matching keyword"
--msgstr "키워드와 일치하는 패키지 검색"
-+msgstr "키워드와 일치하는 꾸러미 검색"
- 
- #: dnf/cli/commands/repoquery.py:121
- msgid ""
- "Query all packages (shorthand for repoquery '*' or repoquery without "
- "argument)"
--msgstr "모든 패키지를 쿼리하십시오 (repoquery '*'의 축약형 또는 인수없는 repoquery)"
-+msgstr "모든 꾸러미를 쿼리하십시오 (repoquery '*'의 축약형 또는 인수없는 repoquery)"
- 
- #: dnf/cli/commands/repoquery.py:124
- msgid "Query all versions of packages (default)"
--msgstr "패키지의 모든 버전 쿼리 (기본값)"
-+msgstr "꾸러미의 모든 버전 질문 (기본값)"
- 
- #: dnf/cli/commands/repoquery.py:127
- msgid "show only results from this ARCH"
-@@ -1730,7 +1715,7 @@ msgstr "REQ와 충돌하는 결과 만 표시"
- msgid ""
- "shows results that requires, suggests, supplements, enhances,or recommends "
- "package provides and files REQ"
--msgstr "REQ를 제공하고 파일 패키지를 요구, 제안, 보완, 개선, 권장하는 결과를 표시합니다."
-+msgstr "REQ를 제공하고 파일 꾸러미를 요구, 제안, 보완, 개선, 권장하는 결과를 표시합니다"
- 
- #: dnf/cli/commands/repoquery.py:139
- msgid "show only results that obsolete REQ"
-@@ -1742,7 +1727,7 @@ msgstr "REQ를 제공하는 결과 만 표시"
- 
- #: dnf/cli/commands/repoquery.py:145
- msgid "shows results that requires package provides and files REQ"
--msgstr "REQ를 제공 및 파일 패키지가 필요한 결과를 표시"
-+msgstr "REQ를 제공 및 파일 꾸러미가 필요한 결과를 표시"
- 
- #: dnf/cli/commands/repoquery.py:148
- msgid "show only results that recommend REQ"
-@@ -1772,19 +1757,19 @@ msgstr "지정된대로 종속성을 확인. --alldeps와 반대됩니다"
- msgid ""
- "used with --whatrequires, and --requires --resolve, query packages "
- "recursively."
--msgstr "--whatrequires, --requires --resolve와 함계 사용하여 패키지를 재귀적으로 쿼리합니다."
-+msgstr "--whatrequires, --requires --resolve와 함계 사용하여 꾸러미를 재귀적으로 쿼리합니다."
- 
- #: dnf/cli/commands/repoquery.py:166
- msgid "show a list of all dependencies and what packages provide them"
--msgstr "모든 종속성 목록과 이를 제공하는 패키지를 표시합니다"
-+msgstr "모든 종속성 목록과 이를 제공하는꾸러미지를 표시합니다"
- 
- #: dnf/cli/commands/repoquery.py:168
- msgid "resolve capabilities to originating package(s)"
--msgstr "원래 패키지의 기능을 제공합니다"
-+msgstr "원래 꾸러미의 기능을 제공합니다"
- 
- #: dnf/cli/commands/repoquery.py:170
- msgid "show recursive tree for package(s)"
--msgstr "패키지의 재귀 트리를 표시합니다"
-+msgstr "꾸러미의 재귀 트리를 표시합니다"
- 
- #: dnf/cli/commands/repoquery.py:172
- msgid "operate on corresponding source RPM"
-@@ -1794,27 +1779,27 @@ msgstr "해당 소스 RPM에서 작동합니다"
- msgid ""
- "show N latest packages for a given name.arch (or latest but N if N is "
- "negative)"
--msgstr "지정된 name.arch (또는 N이 음수인 경우 가장 오래된 패키지)에 대한 N 개의 최신 패키지를 표시합니다"
-+msgstr "지정된 name.arch (또는 N이 음수인 경우 가장 오래된 꾸러미)에 대한 N 개의 최신 꾸러미를 표시합니다"
- 
- #: dnf/cli/commands/repoquery.py:177
- msgid "list also packages of inactive module streams"
--msgstr "비활성 모듈 스트림의 패키지 목록"
-+msgstr "비활성 모듈 스트림의 꾸러미 목록"
- 
- #: dnf/cli/commands/repoquery.py:182
- msgid "show detailed information about the package"
--msgstr "패키지에 대한 자세한 정보 표시"
-+msgstr "꾸러미에 대한 자세한 정보 표시"
- 
- #: dnf/cli/commands/repoquery.py:185
- msgid "show list of files in the package"
--msgstr "패키지에 있는 파일 목록 표시"
-+msgstr "꾸러미에 있는 파일 목록 표시"
- 
- #: dnf/cli/commands/repoquery.py:188
- msgid "show package source RPM name"
--msgstr "패키지 소스 RPM 이름 표시"
-+msgstr "꾸러미 소스 RPM 이름 표시"
- 
- #: dnf/cli/commands/repoquery.py:191
- msgid "show changelogs of the package"
--msgstr "패키지의 변경 로그 표시"
-+msgstr "꾸러미의 변경 로그 표시"
- 
- #: dnf/cli/commands/repoquery.py:194
- #, python-format, python-brace-format
-@@ -1822,6 +1807,8 @@ msgid ""
- "display format for listing packages: \"%%{name} %%{version} ...\", use "
- "--querytags to view full tag list"
- msgstr ""
-+"꾸러미 목록 표시형식 : \"%%{name} %%{version} ...\" 모든 태그 목록을 보여주기 위해 --querytags "
-+"사용합니다"
- 
- #: dnf/cli/commands/repoquery.py:198
- msgid "show available tags to use with --queryformat"
-@@ -1831,65 +1818,65 @@ msgstr "--queryformat과 함께 사용할 수 있는 태그를 표시합니다"
- msgid ""
- "use name-epoch:version-release.architecture format for displaying found "
- "packages (default)"
--msgstr "name-epoch:version-release.architecture 형식을 사용하여 검색된 패키지를 표시합니다 (기본값)"
-+msgstr "name-epoch:version-release.architecture 형식을 사용하여 검색된 꾸러미를 표시합니다 (기본값)"
- 
- #: dnf/cli/commands/repoquery.py:205
- msgid ""
- "use name-version-release format for displaying found packages (rpm query "
- "default)"
--msgstr "name-version-release 형식을 사용하여 검색된 패키지를 표시합니다 (rpm 쿼리 기본값)"
-+msgstr "name-version-release 형식을 사용하여 검색된 꾸러미를 표시합니다 (rpm 쿼리 기본값)"
- 
- #: dnf/cli/commands/repoquery.py:211
- msgid ""
- "use epoch:name-version-release.architecture format for displaying found "
- "packages"
--msgstr "epoch : name-version-release.architecture 형식을 사용하여 검색된 패키지를 표시합니다"
-+msgstr "epoch : name-version-release.architecture 형식을 사용하여 검색된 꾸러미를 표시합니다"
- 
- #: dnf/cli/commands/repoquery.py:214
- msgid "Display in which comps groups are presented selected packages"
--msgstr "선택한 패키지에 제시된 comps 그룹 표시"
-+msgstr "선택한 꾸러미에 제시된 comps 그룹 표시"
- 
- #: dnf/cli/commands/repoquery.py:218
- msgid "limit the query to installed duplicate packages"
--msgstr "설치된 중복 패키지로 쿼리 제한"
-+msgstr "설치된 중복 꾸러미로 쿼리 제한"
- 
- #: dnf/cli/commands/repoquery.py:225
- msgid "limit the query to installed installonly packages"
--msgstr "설치된 설치 전용 패키지로 쿼리 제한"
-+msgstr "설치된 설치 전용 꾸러미로 쿼리 제한"
- 
- #: dnf/cli/commands/repoquery.py:228
- msgid "limit the query to installed packages with unsatisfied dependencies"
--msgstr "설치된 충족되지 않은 종속성이있는 패키지로 쿼리 제한"
-+msgstr "설치된 충족되지 않은 종속성이있는 꾸러미로 쿼리 제한"
- 
- #: dnf/cli/commands/repoquery.py:230
- msgid "show a location from where packages can be downloaded"
--msgstr "패키지를 다운로드할 위치 표시"
-+msgstr "꾸러미를 내려받기 할 위치 표시"
- 
- #: dnf/cli/commands/repoquery.py:233
- msgid "Display capabilities that the package conflicts with."
--msgstr "패키지와 충돌하는 기능을 표시합니다."
-+msgstr "꾸러미와 충돌하는 기능을 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:234
- msgid ""
- "Display capabilities that the package can depend on, enhance, recommend, "
- "suggest, and supplement."
--msgstr "패키지가 종속 기능 강화, 개선, 권장, 제안 및 보완할 수 있는 기능을 표시합니다."
-+msgstr "꾸러미가 종속 기능 강화, 개선, 권장, 제안 및 보완할 수 있는 기능을 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:236
- msgid "Display capabilities that the package can enhance."
--msgstr "패키지를 확장할 수 있는 기능을 표시합니다."
-+msgstr "꾸러미를 확장 할 수 있는 기능을 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:237
- msgid "Display capabilities provided by the package."
--msgstr "패키지가 제공하는 기능을 표시합니다."
-+msgstr "꾸러미가 제공하는 기능을 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:238
- msgid "Display capabilities that the package recommends."
--msgstr "패키지에서 권장하는 기능을 표시합니다."
-+msgstr "꾸러미에서 권장하는 기능을 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:239
- msgid "Display capabilities that the package depends on."
--msgstr "패키지가 의존하는 기능을 표시합니다."
-+msgstr "꾸러미가 의존하는 기능을 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:240
- #, python-format
-@@ -1898,49 +1885,49 @@ msgid ""
- "running %%pre and %%post scriptlets. If the package is installed display "
- "capabilities that is depends for %%pre, %%post, %%preun and %%postun."
- msgstr ""
--"패키지가 설치되어 있지 않은 경우 %%pre 과 %%post 스크립트를 실행할 수 있는 기능이 표시됩니다. 패키지가 설치되어있는 경우 "
--"%%pre, %%post , %%preun, %%postun에 종속된 기능이 표시됩니다."
-+"꾸러미가 설치되어 있지 않은 경우 %%pre 과 %%post 스크립트를 실행할 수 있는 기능이 표시됩니다. 꾸러미가 설치 되어 있는 경우"
-+" %%pre, %%post , %%preun, %%postun에 종속된 기능이 표시됩니다."
- 
- #: dnf/cli/commands/repoquery.py:243
- msgid "Display capabilities that the package suggests."
--msgstr "패키지에서 제안하는 기능을 표시합니다."
-+msgstr "꾸러미에서 제안하는 기능을 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:244
- msgid "Display capabilities that the package can supplement."
--msgstr "패키지가 보완할 수있는 기능을 표시합니다."
-+msgstr "꾸러미가 보완할 수있는 기능을 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:250
- msgid "Display only available packages."
--msgstr "사용 가능한 패키지 만 표시합니다."
-+msgstr "사용 가능한 꾸러미만 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:253
- msgid "Display only installed packages."
--msgstr "설치된 패키지 만 표시합니다."
-+msgstr "설치된 꾸러미만 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:254
- msgid ""
- "Display only packages that are not present in any of available repositories."
--msgstr "사용 가능한 리포지토리에없는 패키지 만 표시합니다."
-+msgstr "사용 가능한 저장소에 없는 꾸러미만 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:255
- msgid ""
- "Display only packages that provide an upgrade for some already installed "
- "package."
--msgstr "이미 설치된 일부 패키지에 대한 업그레이드를 제공하는 패키지 만 표시합니다."
-+msgstr "이미 설치된 일부 꾸러미에 대한 향상를 제공하는 꾸러미만 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:256
- #, python-brace-format
- msgid ""
- "Display only packages that can be removed by \"{prog} autoremove\" command."
--msgstr "\"{prog} autoremove\" 명령으로 제거할 수 있는 패키지 만 표시합니다."
-+msgstr "\"{prog} autoremove\" 명령으로 제거할 수 있는 꾸러미만 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:258
- msgid "Display only packages that were installed by user."
--msgstr "사용자가 설치한 패키지 만 표시합니다."
-+msgstr "사용자가 설치한 꾸러미만 표시합니다."
- 
- #: dnf/cli/commands/repoquery.py:270
- msgid "Display only recently edited packages"
--msgstr "최근에 수정한 패키지 만 표시합니다"
-+msgstr "최근에 수정한 꾸러미만 표시합니다"
- 
- #: dnf/cli/commands/repoquery.py:273
- msgid "the key to search for"
-@@ -1962,8 +1949,8 @@ msgid ""
- "with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> "
- "--resolve'"
- msgstr ""
--"옵션 '--reative'를  '--whatrequires <REQ>' (선택 옵션으로 '--exactdeps' 대신 '--"
--"alldeps'와 함께 사용), 또는 '--requires <REQ> --resolve'와 함께 사용해야 합니다."
-+"옵션 '--reative'를 '--whatrequires <REQ>' (선택 옵션으로 '--exactdeps' 대신 '--"
-+"alldeps'와 함께 사용), 또는 '--requires <REQ> --resolve'와 함께 사용해야 합니다"
- 
- #: dnf/cli/commands/repoquery.py:312
- msgid "argument {} requires --whatrequires or --whatdepends option"
-@@ -1971,7 +1958,7 @@ msgstr "인수 {}에는 --whatrequires 또는 --whatdepends 옵션이 필요합
- 
- #: dnf/cli/commands/repoquery.py:344
- msgid "Package {} contains no files"
--msgstr "패키지 {}에 파일이 없습니다"
-+msgstr "꾸러미 {}에 파일이 없습니다"
- 
- #: dnf/cli/commands/repoquery.py:561
- #, python-brace-format
-@@ -1986,15 +1973,15 @@ msgstr ""
- "사용법: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
- "\n"
- "설명:\n"
--"  지정된 패키지의 경우 패키지 트리를 출력하십시오."
-+"  지정된 꾸러미의 경우 꾸러미 트리를 출력하십시오."
- 
- #: dnf/cli/commands/search.py:46
- msgid "search package details for the given string"
--msgstr "지정된 문자열의 패키지 정보를 검색합니다"
-+msgstr "지정된 문자열의 꾸러미 정보를 검색합니다"
- 
- #: dnf/cli/commands/search.py:51
- msgid "search also package description and URL"
--msgstr "패키지 설명 및 URL 검색"
-+msgstr "꾸러미 설명 및 URL 검색"
- 
- #: dnf/cli/commands/search.py:52
- msgid "KEYWORD"
-@@ -2004,22 +1991,22 @@ msgstr "KEYWORD"
- msgid "Keyword to search for"
- msgstr "검색 키워드"
- 
--#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
-+#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
- msgctxt "long"
- msgid "Name"
- msgstr "이름"
- 
--#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
-+#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
- msgctxt "long"
- msgid "Summary"
- msgstr "요약"
- 
--#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
-+#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
- msgctxt "long"
- msgid "Description"
- msgstr "설명"
- 
--#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
-+#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
- msgid "URL"
- msgstr "URL"
- 
-@@ -2034,18 +2021,18 @@ msgstr " & "
- #: dnf/cli/commands/search.py:80
- #, python-format
- msgid "%s Exactly Matched: %%s"
--msgstr "%s 정확히 일치하는 항목: %%s"
-+msgstr "%s과 정확히 일치하는 항목: %%s"
- 
- #. TRANSLATORS: %s  - translated package attributes,
- #. %%s - found keys (in listed attributes)
- #: dnf/cli/commands/search.py:84
- #, python-format
- msgid "%s Matched: %%s"
--msgstr "%s 일치하는 항목: %%s"
-+msgstr "%s과 일치하는 항목: %%s"
- 
- #: dnf/cli/commands/search.py:134
- msgid "No matches found."
--msgstr "일치하는 항목이 없습니다."
-+msgstr "일치 항목이 없습니다."
- 
- #: dnf/cli/commands/shell.py:47
- #, python-brace-format
-@@ -2110,7 +2097,7 @@ msgid ""
- "    resolve the transaction set"
- msgstr ""
- "{}\n"
--"    트랜잭션 집합을 분석합니다"
-+" 연결 집합을 분석합니다"
- 
- #: dnf/cli/commands/shell.py:195
- msgid ""
-@@ -2120,9 +2107,9 @@ msgid ""
- "  run: run the transaction"
- msgstr ""
- "{} arg\n"
--"  list : 트랜잭션 내용을 나열합니다\n"
--"  reset : 트랜잭션을 재설정합니다 (zero-out)\n"
--"  run: 트랜잭션을 실행합니다"
-+"  list : 연결 내용을 나열합니다\n"
-+"  reset : 연결을 재설정합니다 (zero-out)\n"
-+"  run: 연결을 실행합니다"
- 
- #: dnf/cli/commands/shell.py:201
- msgid ""
-@@ -2130,7 +2117,7 @@ msgid ""
- "    run the transaction"
- msgstr ""
- "{}\n"
--"    트랜잭션을 실행합니다."
-+"연결을 실행합니다"
- 
- #: dnf/cli/commands/shell.py:205
- msgid ""
-@@ -2154,24 +2141,24 @@ msgid ""
- msgstr ""
- "쉘 관련 인수:\n"
- "\n"
--"config                   설정 옵션 설정\n"
--"help                     도움말 인쇄\n"
--"repository (or repo)     리포지토리 활성화,비활성화 또는 나열\n"
--"resolvedep               트랜잭션 세트 분석\n"
--"transaction (or ts)      트랜잭션 세트 목록,재설정 또는 실행\n"
--"run                      트랜잭션 세트 분석 및 실행\n"
--"exit (or quit)           쉘 종료"
-+"config  설정 옵션 설정\n"
-+"help  도움말 인쇄\n"
-+"repository (or repo)  저장소 활성화,비활성화 또는 나열\n"
-+"resolvedep  연결 구성 분석\n"
-+"transaction (or ts)  연결 구성 목록,재설정 또는 실행\n"
-+"run  연결 구성 분석 및 실행\n"
-+"exit (or quit)  쉘 종료"
- 
--#: dnf/cli/commands/shell.py:259
-+#: dnf/cli/commands/shell.py:262
- #, python-format
- msgid "Error: Cannot open %s for reading"
- msgstr "오류: 읽기 전용 %s를 열 수 없습니다"
- 
--#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
-+#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
- msgid "Complete!"
- msgstr "완료되었습니다!"
- 
--#: dnf/cli/commands/shell.py:291
-+#: dnf/cli/commands/shell.py:294
- msgid "Leaving Shell"
- msgstr "쉘 나가기"
- 
-@@ -2202,45 +2189,45 @@ msgstr "보안"
- 
- #: dnf/cli/commands/updateinfo.py:48
- msgid "newpackage"
--msgstr "새 패키지"
-+msgstr "새 꾸러미"
- 
- #: dnf/cli/commands/updateinfo.py:50
- msgid "Critical/Sec."
--msgstr "심각/보안 취약점"
-+msgstr "심각/보안."
- 
- #: dnf/cli/commands/updateinfo.py:51
- msgid "Important/Sec."
--msgstr "중요/보안 취약점"
-+msgstr "중요/보안."
- 
- #: dnf/cli/commands/updateinfo.py:52
- msgid "Moderate/Sec."
--msgstr "보통/보안 취약점"
-+msgstr "보통/보안."
- 
- #: dnf/cli/commands/updateinfo.py:53
- msgid "Low/Sec."
--msgstr "낮음/보안 취약점"
-+msgstr "낮음/보안."
- 
- #: dnf/cli/commands/updateinfo.py:63
- msgid "display advisories about packages"
--msgstr "패키지관련 권고 표시"
-+msgstr "꾸러미관련 권고 표시"
- 
- #: dnf/cli/commands/updateinfo.py:77
- msgid "advisories about newer versions of installed packages (default)"
--msgstr "설치된 최신 버전의 패키지에 대한 권고 (기본값)"
-+msgstr "설치된 최신 버전의 꾸러미에 대한 권고 (기본값)"
- 
- #: dnf/cli/commands/updateinfo.py:80
- msgid "advisories about equal and older versions of installed packages"
--msgstr "설치된 패키지의 동일한 버전 및 이전 버전에 대한 권고"
-+msgstr "설치된 꾸러미의 동일한 버전 및 이전 버전에 대한 권고"
- 
- #: dnf/cli/commands/updateinfo.py:83
- msgid ""
- "advisories about newer versions of those installed packages for which a "
- "newer version is available"
--msgstr "최신 버전을 사용할 수있는 설치된 패키지의 최신 버전에 대한 권고"
-+msgstr "최신 버전를 사용할 수 있는 설치된 꾸러미의 최신 버전에 대한 권고"
- 
- #: dnf/cli/commands/updateinfo.py:87
- msgid "advisories about any versions of installed packages"
--msgstr "설치된 패키지 모든 버전에 대한 권고"
-+msgstr "설치된 꾸러미 모든 버전에 대한 권고"
- 
- #: dnf/cli/commands/updateinfo.py:92
- msgid "show summary of advisories (default)"
-@@ -2264,11 +2251,11 @@ msgstr "bugzilla 참조가 있는 권고 만 표시"
- 
- #: dnf/cli/commands/updateinfo.py:168
- msgid "installed"
--msgstr "설치됨"
-+msgstr "설치되었습니다"
- 
- #: dnf/cli/commands/updateinfo.py:171
- msgid "updates"
--msgstr "업데이트"
-+msgstr "최신화"
- 
- #: dnf/cli/commands/updateinfo.py:174
- msgid "all"
-@@ -2280,11 +2267,11 @@ msgstr "사용 가능"
- 
- #: dnf/cli/commands/updateinfo.py:278
- msgid "Updates Information Summary: "
--msgstr "업데이트 정보 요약 "
-+msgstr "최신화 정보 요약: "
- 
- #: dnf/cli/commands/updateinfo.py:281
- msgid "New Package notice(s)"
--msgstr "새 패키지 알림"
-+msgstr "새 꾸러미 알림"
- 
- #: dnf/cli/commands/updateinfo.py:282
- msgid "Security notice(s)"
-@@ -2324,11 +2311,11 @@ msgstr "기타 다른 공지"
- 
- #: dnf/cli/commands/updateinfo.py:316
- msgid "Unknown/Sec."
--msgstr "알 수 없음 /보안 취약점"
-+msgstr "알 수 없음/보안."
- 
- #: dnf/cli/commands/updateinfo.py:357
- msgid "Bugs"
--msgstr "버그"
-+msgstr "결점"
- 
- #: dnf/cli/commands/updateinfo.py:357
- msgid "Type"
-@@ -2336,11 +2323,11 @@ msgstr "유형"
- 
- #: dnf/cli/commands/updateinfo.py:357
- msgid "Update ID"
--msgstr "ID 업데이트"
-+msgstr "ID 최신화"
- 
- #: dnf/cli/commands/updateinfo.py:357
- msgid "Updated"
--msgstr "업데이트됨"
-+msgstr "최신화됨"
- 
- #: dnf/cli/commands/updateinfo.py:358
- msgid "CVEs"
-@@ -2364,10 +2351,10 @@ msgstr "파일"
- 
- # translation auto-copied from project subscription-manager, version 1.11.X,
- # document keys
--#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
--#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
-+#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
-+#: dnf/cli/output.py:1656 dnf/util.py:617
- msgid "Installed"
--msgstr "설치됨"
-+msgstr "설치되었습니다"
- 
- #: dnf/cli/commands/updateinfo.py:385
- msgid "false"
-@@ -2379,17 +2366,17 @@ msgstr "true"
- 
- #: dnf/cli/commands/upgrade.py:40
- msgid "upgrade a package or packages on your system"
--msgstr "시스템에서 패키지를 업그레이드하십시오."
-+msgstr "시스템에서 꾸러미를 최신화하세요"
- 
- #: dnf/cli/commands/upgrade.py:44
- msgid "Package to upgrade"
--msgstr "업그레이드할 패키지"
-+msgstr "최신화 할 꾸러미"
- 
- #: dnf/cli/commands/upgrademinimal.py:31
- msgid ""
- "upgrade, but only 'newest' package match which fixes a problem that affects "
- "your system"
--msgstr "업그레이드하지만 ‘최신' 패키지에만 시스템에 영향을 줄 수 있는 수정된 문제가 있습니다"
-+msgstr "최신화 하지만 ‘최신' 꾸러미에만 시스템에 영향을 줄 수 있는 수정된 문제가 있습니다"
- 
- #: dnf/cli/main.py:88
- msgid "Terminated."
-@@ -2401,23 +2388,23 @@ msgstr "현재 디렉토리에서 읽기 / 실행 액세스가 없습니다. /
- 
- #: dnf/cli/main.py:135
- msgid "try to add '{}' to command line to replace conflicting packages"
--msgstr "충돌하는 패키지를 바꾸려면 명령 줄에 '{}'을 (를) 추가하십시오."
-+msgstr "충돌하는 꾸러미를 교체하려면 명령줄에 '{}'을 추가하세요"
- 
- #: dnf/cli/main.py:139
- msgid "try to add '{}' to skip uninstallable packages"
--msgstr "설치할 수 없는 패키지를 건너 뛰려면 '{}'을 (를) 추가하십시오."
-+msgstr "설치 할 수 없는 꾸러미를 건너 뛰려면 '{}'을 (를) 추가하십시오"
- 
- #: dnf/cli/main.py:142
- msgid " or '{}' to skip uninstallable packages"
--msgstr " 또는 '{}'은/는 설치할 수 없는 패키지를 건너 뜁니다"
-+msgstr " 또는 '{}'는 설치 할 수 없는 꾸러미를 건너 뜁니다"
- 
- #: dnf/cli/main.py:147
- msgid "try to add '{}' to use not only best candidate packages"
--msgstr "최적 후보의 패키지만을 사용하려면 '{}'을 (를) 추가하십시오."
-+msgstr "최적 후보의 꾸러미만을 사용하려면 '{}'를 추가하세요"
- 
- #: dnf/cli/main.py:150
- msgid " or '{}' to use not only best candidate packages"
--msgstr " 또는 '{}'은/는 최적 후보의 패키지만 사용합니다"
-+msgstr " 또는 '{}'는 최적 후보의 꾸러미만 사용합니다"
- 
- #: dnf/cli/main.py:167
- msgid "Dependencies resolved."
-@@ -2497,7 +2484,7 @@ msgstr "임의의 설정 옵션 및 리포지토리 옵션 설정"
- 
- #: dnf/cli/option_parser.py:210
- msgid "resolve depsolve problems by skipping packages"
--msgstr "패키지를 건너 뛰어 종속성 문제 해결"
-+msgstr "꾸러미를 건너 뛰어 종속성 문제 해결"
- 
- #: dnf/cli/option_parser.py:213
- msgid "show command help"
-@@ -2505,19 +2492,19 @@ msgstr "명령 도움말 표시"
- 
- #: dnf/cli/option_parser.py:217
- msgid "allow erasing of installed packages to resolve dependencies"
--msgstr "종속성을 해결하기 위해 설치된 패키지 지우기 허용"
-+msgstr "종속성을 해결하기 위해 설치된 꾸러미 지우기 허용"
- 
- #: dnf/cli/option_parser.py:221
- msgid "try the best available package versions in transactions."
--msgstr "트랜잭션에서 사용 가능한 최상의 패키지 버전을 사용해보십시오."
-+msgstr "연결에서 사용 가능한 최상의 꾸러미 버전을 사용해보십시오."
- 
- #: dnf/cli/option_parser.py:223
- msgid "do not limit the transaction to the best candidate"
--msgstr "트랜잭션을 최상의 선택 옵션으로 제한하지 마십시오"
-+msgstr "연결를 최상의 선택 옵션으로 제한하지 마십시오"
- 
- #: dnf/cli/option_parser.py:226
- msgid "run entirely from system cache, don't update cache"
--msgstr "시스템 캐시에서 완전히 실행하고, 캐시를 업데이트하지 않습니다."
-+msgstr "시스템 캐쉬에서 완전히 실행하고, 캐쉬를 최신화하지 않습니다"
- 
- #: dnf/cli/option_parser.py:230
- msgid "maximum command wait time"
-@@ -2529,11 +2516,11 @@ msgstr "디버깅 출력 레벨"
- 
- #: dnf/cli/option_parser.py:236
- msgid "dumps detailed solving results into files"
--msgstr "자세한 해결 결과를 파일로 덤프합니다."
-+msgstr "자세한 해결 결과를 파일로 덤프합니다"
- 
- #: dnf/cli/option_parser.py:240
- msgid "show duplicates, in repos, in list/search commands"
--msgstr "repos에 있는 중복 목록을 목록/검색 명령에 표시합니다."
-+msgstr "repos에 있는 중복 목록을 목록/검색 명령에 표시합니다"
- 
- #: dnf/cli/option_parser.py:243
- msgid "error output level"
-@@ -2545,8 +2532,8 @@ msgid ""
- "enables {prog}'s obsoletes processing logic for upgrade or display "
- "capabilities that the package obsoletes for info, list and repoquery"
- msgstr ""
--"패키지가 info, list, repoquery에 더 이상 사용하지 않는 업그레이드 또는 표시 기능을 위해 {prog}의 더 이상 "
--"사용되지 않는 처리 로직을 활성화합니다."
-+"꾸러미가 info, list, repoquery에 더 이상 사용하지 않는 최신화 또는 표시 기능을 위해 {prog}의 더 이상 사용되지 "
-+"않는 처리 로직을 활성화합니다"
- 
- #: dnf/cli/option_parser.py:251
- msgid "debugging output level for rpm"
-@@ -2588,7 +2575,7 @@ msgstr "config-manager 명령으로 repos를 비활성화합니다 (자동 저
- 
- #: dnf/cli/option_parser.py:283
- msgid "exclude packages by name or glob"
--msgstr "이름이나 glob로 패키지를 제거합니다"
-+msgstr "이름이나 glob로 꾸러미를 제거합니다"
- 
- #: dnf/cli/option_parser.py:288
- msgid "disable excludepkgs"
-@@ -2598,7 +2585,7 @@ msgstr "excludepkgs 비활성화"
- msgid ""
- "label and path to an additional repository to use (same path as in a "
- "baseurl), can be specified multiple times."
--msgstr "사용할 추가 리포지터리에 대한 레이블 및 경로 (baseurl과 동일한 경로)를 여러 번 지정할 수 있습니다."
-+msgstr "사용 할 추가 레포지터리에 대한 이름표와 경로 (baseurl과 동일한 경로)를 여러 번 지정와 할 수 있습니다."
- 
- #: dnf/cli/option_parser.py:297
- msgid "disable removal of dependencies that are no longer used"
-@@ -2626,51 +2613,51 @@ msgstr "IPv6 주소 만 확인"
- 
- #: dnf/cli/option_parser.py:314
- msgid "set directory to copy packages to"
--msgstr "패키지를 복사할 디렉토리를 설정하십시오"
-+msgstr "꾸러미를 복사할 디렉토리를 설정하십시오"
- 
- #: dnf/cli/option_parser.py:317
- msgid "only download packages"
--msgstr "패키지 만 다운로드"
-+msgstr "꾸러미만 내려받기"
- 
- #: dnf/cli/option_parser.py:319
- msgid "add a comment to transaction"
--msgstr "트랜잭션에 의견을 추가하십시오"
-+msgstr "연결에 의견을 추가하십시오"
- 
- #: dnf/cli/option_parser.py:322
- msgid "Include bugfix relevant packages, in updates"
--msgstr "버그 수정 관련 패키지를 업데이트에 포함"
-+msgstr "결점(bug) 수정 관련 꾸러미 최신화에 포함"
- 
- #: dnf/cli/option_parser.py:325
- msgid "Include enhancement relevant packages, in updates"
--msgstr "개선된 기능과 관련된 패키지를 업데이트에 포함"
-+msgstr "개선된 기능과 관련된 꾸러미를 초신화에 포함"
- 
- #: dnf/cli/option_parser.py:328
- msgid "Include newpackage relevant packages, in updates"
--msgstr "새 패키지 관련 패키지를 업데이트에 포함"
-+msgstr "새 꾸러미 관련 꾸러미 최신화에 포함"
- 
- #: dnf/cli/option_parser.py:331
- msgid "Include security relevant packages, in updates"
--msgstr "보안 관련 패키지 업데이트에 포함"
-+msgstr "보안 관련 꾸러미 최신화에 포함"
- 
- #: dnf/cli/option_parser.py:335
- msgid "Include packages needed to fix the given advisory, in updates"
--msgstr "주어진 권고를 수정하는 데 필요한 패키지를 업데이트에 포함"
-+msgstr "주어진 권고를 수정하는 데 필요한 꾸러미를 최신화에 포함"
- 
- #: dnf/cli/option_parser.py:339
- msgid "Include packages needed to fix the given BZ, in updates"
--msgstr "주어진 BZ를 수정하는 데 필요한 패키지를 업데이트에 포함"
-+msgstr "주어진 BZ를 수정하는 데 필요한 꾸러미를 최신화에 포함"
- 
- #: dnf/cli/option_parser.py:342
- msgid "Include packages needed to fix the given CVE, in updates"
--msgstr "주어진 CVE를 수정하는 데 필요한 패키지를 업데이트에 포함"
-+msgstr "주어진 CVE를 수정하는 데 필요한 꾸러미를 최신화에 포함"
- 
- #: dnf/cli/option_parser.py:347
- msgid "Include security relevant packages matching the severity, in updates"
--msgstr "심각도와 일치하는 보안 관련 패키지를 업데이트에 포함"
-+msgstr "심각도와 일치하는 보안 관련 꾸러미를 최신화에 포함"
- 
- #: dnf/cli/option_parser.py:353
- msgid "Force the use of an architecture"
--msgstr "아키텍처의 사용을 강제합니다"
-+msgstr "구조의 사용을 강제합니다"
- 
- #: dnf/cli/option_parser.py:375
- msgid "List of Main Commands:"
-@@ -2688,13 +2675,13 @@ msgstr "‘%s' 인수를 인코딩할 수 없습니다: %s"
- #. Translators: This is abbreviated 'Name'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:505
-+#: dnf/cli/output.py:459
- msgctxt "short"
- msgid "Name"
- msgstr "이름"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:511
-+#: dnf/cli/output.py:465
- msgid "Epoch"
- msgstr "기간"
- 
-@@ -2702,38 +2689,38 @@ msgstr "기간"
- #. use the full (unabbreviated) term 'Version' if you think that
- #. the translation to your language is not too long and will
- #. always fit to limited space.
--#: dnf/cli/output.py:512 dnf/cli/output.py:1335
-+#: dnf/cli/output.py:466 dnf/cli/output.py:1248
- msgctxt "short"
- msgid "Version"
- msgstr "버전"
- 
- #. Translators: This is the full (unabbreviated) term 'Version'.
--#: dnf/cli/output.py:513 dnf/cli/output.py:1337
-+#: dnf/cli/output.py:467 dnf/cli/output.py:1250
- msgctxt "long"
- msgid "Version"
- msgstr "버전"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:516
-+#: dnf/cli/output.py:470
- msgid "Release"
- msgstr "릴리즈"
- 
- #. Translators: This is abbreviated 'Architecture', used when
- #. we have not enough space to display the full word.
--#: dnf/cli/output.py:517 dnf/cli/output.py:1326
-+#: dnf/cli/output.py:471 dnf/cli/output.py:1239
- msgctxt "short"
- msgid "Arch"
--msgstr "아키텍처"
-+msgstr "구조"
- 
- #. Translators: This is the full word 'Architecture', used when
- #. we have enough space.
--#: dnf/cli/output.py:518 dnf/cli/output.py:1329
-+#: dnf/cli/output.py:472 dnf/cli/output.py:1242
- msgctxt "long"
- msgid "Architecture"
--msgstr "아키텍처"
-+msgstr "구조"
- 
- #. Translators: This is the full (unabbreviated) term 'Size'.
--#: dnf/cli/output.py:520 dnf/cli/output.py:1352
-+#: dnf/cli/output.py:474 dnf/cli/output.py:1265
- msgctxt "long"
- msgid "Size"
- msgstr "크기"
-@@ -2742,361 +2729,357 @@ msgstr "크기"
- #. not be longer than 5 characters. If the term 'Size' in your
- #. language is not longer than 5 characters then you can use it
- #. unabbreviated.
--#: dnf/cli/output.py:520 dnf/cli/output.py:1350
-+#: dnf/cli/output.py:474 dnf/cli/output.py:1263
- msgctxt "short"
- msgid "Size"
- msgstr "크기"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:524
-+#: dnf/cli/output.py:478
- msgid "Source"
- msgstr "소스"
- 
- #. Translators: This is abbreviated 'Repository', used when
- #. we have not enough space to display the full word.
--#: dnf/cli/output.py:525 dnf/cli/output.py:1341
-+#: dnf/cli/output.py:479 dnf/cli/output.py:1254
- msgctxt "short"
- msgid "Repo"
--msgstr "리포지터리"
-+msgstr "레포지터리"
- 
- #. Translators: This is the full word 'Repository', used when
- #. we have enough space.
--#: dnf/cli/output.py:526 dnf/cli/output.py:1344
-+#: dnf/cli/output.py:480 dnf/cli/output.py:1257
- msgctxt "long"
- msgid "Repository"
--msgstr "리포지터리"
-+msgstr "레포지터리"
- 
- #. Translators: This message should be no longer than 12 chars.
--#: dnf/cli/output.py:533
-+#: dnf/cli/output.py:487
- msgid "From repo"
--msgstr "리포지터리에서"
-+msgstr "레포지터리에서"
- 
- #. :hawkey does not support changelog information
- #. print(_("Committer   : %s") % ucd(pkg.committer))
- #. print(_("Committime  : %s") % time.ctime(pkg.committime))
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:539
-+#: dnf/cli/output.py:493
- msgid "Packager"
--msgstr "패키지 프로그램"
-+msgstr "꾸러미 생성자"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:541
-+#: dnf/cli/output.py:495
- msgid "Buildtime"
- msgstr "빌드 시간"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:545
-+#: dnf/cli/output.py:499
- msgid "Install time"
- msgstr "설치 시간"
- 
- #. Translators: This message should be no longer than 12 chars.
--#: dnf/cli/output.py:554
-+#: dnf/cli/output.py:508
- msgid "Installed by"
- msgstr "설치자"
- 
- #. Translators: This is abbreviated 'Summary'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:558
-+#: dnf/cli/output.py:512
- msgctxt "short"
- msgid "Summary"
- msgstr "요약"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:564
-+#: dnf/cli/output.py:518
- msgid "License"
--msgstr "라이센스"
-+msgstr "저작권"
- 
- #. Translators: This is abbreviated 'Description'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:568
-+#: dnf/cli/output.py:522
- msgctxt "short"
- msgid "Description"
- msgstr "설명"
- 
--#: dnf/cli/output.py:695
--msgid "No packages to list"
--msgstr "목록에 패키지가 없습니다"
--
--#: dnf/cli/output.py:706
-+#: dnf/cli/output.py:650
- msgid "y"
- msgstr "y"
- 
--#: dnf/cli/output.py:706
-+#: dnf/cli/output.py:650
- msgid "yes"
- msgstr "예"
- 
--#: dnf/cli/output.py:707
-+#: dnf/cli/output.py:651
- msgid "n"
- msgstr "n"
- 
--#: dnf/cli/output.py:707
-+#: dnf/cli/output.py:651
- msgid "no"
--msgstr "아니요"
-+msgstr "아니"
- 
--#: dnf/cli/output.py:711
-+#: dnf/cli/output.py:655
- msgid "Is this ok [y/N]: "
--msgstr "정말입니까 [y/N]: "
-+msgstr "진행 할 까요? [y/N]: "
- 
--#: dnf/cli/output.py:715
-+#: dnf/cli/output.py:659
- msgid "Is this ok [Y/n]: "
--msgstr "정말입니까 [Y/n]: "
-+msgstr "진행 할 까요? [Y/n]: "
- 
--#: dnf/cli/output.py:795
-+#: dnf/cli/output.py:739
- #, python-format
- msgid "Group: %s"
- msgstr "그룹 %s"
- 
--#: dnf/cli/output.py:799
-+#: dnf/cli/output.py:743
- #, python-format
- msgid " Group-Id: %s"
- msgstr " 그룹 ID: %s"
- 
--#: dnf/cli/output.py:801 dnf/cli/output.py:840
-+#: dnf/cli/output.py:745 dnf/cli/output.py:784
- #, python-format
- msgid " Description: %s"
- msgstr " 설명: %s"
- 
--#: dnf/cli/output.py:803
-+#: dnf/cli/output.py:747
- #, python-format
- msgid " Language: %s"
- msgstr " 언어: %s"
- 
--#: dnf/cli/output.py:806
-+#: dnf/cli/output.py:750
- msgid " Mandatory Packages:"
--msgstr " 필수 패키지 :"
-+msgstr " 필수 꾸러미 :"
- 
--#: dnf/cli/output.py:807
-+#: dnf/cli/output.py:751
- msgid " Default Packages:"
--msgstr " 기본 패키지 :"
-+msgstr " 기본 꾸러미 :"
- 
--#: dnf/cli/output.py:808
-+#: dnf/cli/output.py:752
- msgid " Optional Packages:"
--msgstr " 선택적인 패키지 :"
-+msgstr " 선택적인 꾸러미 :"
- 
--#: dnf/cli/output.py:809
-+#: dnf/cli/output.py:753
- msgid " Conditional Packages:"
--msgstr " 추가 가능 패키지 :"
-+msgstr " 추가 가능 꾸러미 :"
- 
--#: dnf/cli/output.py:834
-+#: dnf/cli/output.py:778
- #, python-format
- msgid "Environment Group: %s"
- msgstr "환경 그룹 : %s"
- 
--#: dnf/cli/output.py:837
-+#: dnf/cli/output.py:781
- #, python-format
- msgid " Environment-Id: %s"
- msgstr " 환경 -ID : %s"
- 
--#: dnf/cli/output.py:843
-+#: dnf/cli/output.py:787
- msgid " Mandatory Groups:"
- msgstr " 필수 그룹 :"
- 
--#: dnf/cli/output.py:844
-+#: dnf/cli/output.py:788
- msgid " Optional Groups:"
- msgstr " 선택적인 그룹 :"
- 
--#: dnf/cli/output.py:865
-+#: dnf/cli/output.py:809
- msgid "Matched from:"
- msgstr "일치하는 항목 :"
- 
--#: dnf/cli/output.py:879
-+#: dnf/cli/output.py:823
- #, python-format
- msgid "Filename    : %s"
- msgstr "파일 이름 : %s"
- 
--#: dnf/cli/output.py:904
-+#: dnf/cli/output.py:848
- #, python-format
- msgid "Repo        : %s"
- msgstr "리포지토리      : %s"
- 
--#: dnf/cli/output.py:913
-+#: dnf/cli/output.py:857
- msgid "Description : "
- msgstr "설명 : "
- 
--#: dnf/cli/output.py:917
-+#: dnf/cli/output.py:861
- #, python-format
- msgid "URL         : %s"
- msgstr "URL         : %s"
- 
--#: dnf/cli/output.py:921
-+#: dnf/cli/output.py:865
- #, python-format
- msgid "License     : %s"
--msgstr "라이센스    : %s"
-+msgstr "저작권 : %s"
- 
--#: dnf/cli/output.py:927
-+#: dnf/cli/output.py:871
- #, python-format
- msgid "Provide    : %s"
- msgstr "제공        : %s"
- 
--#: dnf/cli/output.py:947
-+#: dnf/cli/output.py:891
- #, python-format
- msgid "Other       : %s"
- msgstr "기타       : %s"
- 
--#: dnf/cli/output.py:996
-+#: dnf/cli/output.py:940
- msgid "There was an error calculating total download size"
--msgstr "총 다운로드 크기를 계산하는 중에 오류가 발생했습니다"
-+msgstr "총 내려받기 크기를 계산하는 중에 오류가 발생했습니다"
- 
--#: dnf/cli/output.py:1002
-+#: dnf/cli/output.py:946
- #, python-format
- msgid "Total size: %s"
- msgstr "전체 크기: %s"
- 
--#: dnf/cli/output.py:1005
-+#: dnf/cli/output.py:949
- #, python-format
- msgid "Total download size: %s"
--msgstr "총 다운로드 크기 : %s"
-+msgstr "총계 내려받기 크기: %s"
- 
--#: dnf/cli/output.py:1008
-+#: dnf/cli/output.py:952
- #, python-format
- msgid "Installed size: %s"
- msgstr "설치된 크기 : %s"
- 
--#: dnf/cli/output.py:1026
-+#: dnf/cli/output.py:970
- msgid "There was an error calculating installed size"
- msgstr "설치된 크기를 계산하는 동안 오류가 발생했습니다"
- 
--#: dnf/cli/output.py:1030
-+#: dnf/cli/output.py:974
- #, python-format
- msgid "Freed space: %s"
- msgstr "사용 가능한 공간 : %s"
- 
--#: dnf/cli/output.py:1039
-+#: dnf/cli/output.py:983
- msgid "Marking packages as installed by the group:"
--msgstr "그룹에 설치된 패키지 표시:"
-+msgstr "그룹에 설치된 꾸러미 표시:"
- 
--#: dnf/cli/output.py:1046
-+#: dnf/cli/output.py:990
- msgid "Marking packages as removed by the group:"
--msgstr "그룹에 의해 제거된 패키지 표시:"
-+msgstr "그룹에 의해 제거된 꾸러미 표시:"
- 
--#: dnf/cli/output.py:1056
-+#: dnf/cli/output.py:1000
- msgid "Group"
- msgstr "그룹"
- 
--#: dnf/cli/output.py:1056
-+#: dnf/cli/output.py:1000
- msgid "Packages"
--msgstr "패키지"
-+msgstr "꾸러미"
- 
--#: dnf/cli/output.py:1133
-+#: dnf/cli/output.py:1046
- msgid "Installing group/module packages"
--msgstr "그룹 / 모듈 패키지 설치"
-+msgstr "그룹/모듈 꾸러미 설치"
- 
--#: dnf/cli/output.py:1134
-+#: dnf/cli/output.py:1047
- msgid "Installing group packages"
--msgstr "그룹 패키지 설치"
-+msgstr "그룹 꾸러미 설치"
- 
- #. TRANSLATORS: This is for a list of packages to be installed.
--#: dnf/cli/output.py:1138
-+#: dnf/cli/output.py:1051
- msgctxt "summary"
- msgid "Installing"
- msgstr "설치 중"
- 
- #. TRANSLATORS: This is for a list of packages to be upgraded.
--#: dnf/cli/output.py:1140
-+#: dnf/cli/output.py:1053
- msgctxt "summary"
- msgid "Upgrading"
--msgstr "업그레이드 중"
-+msgstr "향상 중"
- 
- #. TRANSLATORS: This is for a list of packages to be reinstalled.
--#: dnf/cli/output.py:1142
-+#: dnf/cli/output.py:1055
- msgctxt "summary"
- msgid "Reinstalling"
- msgstr "재설치 중"
- 
--#: dnf/cli/output.py:1144
-+#: dnf/cli/output.py:1057
- msgid "Installing dependencies"
--msgstr "종속 패키지 설치 중"
-+msgstr "종속 꾸러미 설치 중"
- 
--#: dnf/cli/output.py:1145
-+#: dnf/cli/output.py:1058
- msgid "Installing weak dependencies"
--msgstr "취약한 종속 패키지 설치 중"
-+msgstr "취약한 종속 꾸러미 설치 중"
- 
- #. TRANSLATORS: This is for a list of packages to be removed.
- # translation auto-copied from project subscription-manager, version 1.11.X,
- # document keys
--#: dnf/cli/output.py:1147
-+#: dnf/cli/output.py:1060
- msgid "Removing"
- msgstr "삭제 중"
- 
--#: dnf/cli/output.py:1148
-+#: dnf/cli/output.py:1061
- msgid "Removing dependent packages"
--msgstr "종속 패키지 제거"
-+msgstr "종속 꾸러미지 제거"
- 
--#: dnf/cli/output.py:1149
-+#: dnf/cli/output.py:1062
- msgid "Removing unused dependencies"
--msgstr "사용하지 않는 종속 패키지 제거"
-+msgstr "사용하지 않는 종속 꾸러미 제거"
- 
- #. TRANSLATORS: This is for a list of packages to be downgraded.
--#: dnf/cli/output.py:1151
-+#: dnf/cli/output.py:1064
- msgctxt "summary"
- msgid "Downgrading"
--msgstr "다운그레이드 중"
-+msgstr "하향설치 중"
- 
--#: dnf/cli/output.py:1176
-+#: dnf/cli/output.py:1089
- msgid "Installing module profiles"
- msgstr "모듈 프로파일 설치"
- 
--#: dnf/cli/output.py:1185
-+#: dnf/cli/output.py:1098
- msgid "Disabling module profiles"
- msgstr "모듈 프로파일 비활성화"
- 
--#: dnf/cli/output.py:1194
-+#: dnf/cli/output.py:1107
- msgid "Enabling module streams"
- msgstr "모듈 스트림 활성화"
- 
--#: dnf/cli/output.py:1202
-+#: dnf/cli/output.py:1115
- msgid "Switching module streams"
- msgstr "모듈 스트림 전환"
- 
--#: dnf/cli/output.py:1210
-+#: dnf/cli/output.py:1123
- msgid "Disabling modules"
- msgstr "모듈 비활성화"
- 
--#: dnf/cli/output.py:1218
-+#: dnf/cli/output.py:1131
- msgid "Resetting modules"
- msgstr "모듈 재설정"
- 
--#: dnf/cli/output.py:1230
-+#: dnf/cli/output.py:1143
- msgid "Installing Environment Groups"
--msgstr "환경 그룹 설치"
-+msgstr "환경 그룹 설치 중"
- 
--#: dnf/cli/output.py:1237
-+#: dnf/cli/output.py:1150
- msgid "Upgrading Environment Groups"
--msgstr "환경 그룹 업그레이드"
-+msgstr "환경 그룹 향상"
- 
--#: dnf/cli/output.py:1244
-+#: dnf/cli/output.py:1157
- msgid "Removing Environment Groups"
- msgstr "환경 그룹 제거"
- 
--#: dnf/cli/output.py:1251
-+#: dnf/cli/output.py:1164
- msgid "Installing Groups"
- msgstr "그룹 설치"
- 
--#: dnf/cli/output.py:1258
-+#: dnf/cli/output.py:1171
- msgid "Upgrading Groups"
--msgstr "그룹 업그레이드"
-+msgstr "그룹 향상"
- 
--#: dnf/cli/output.py:1265
-+#: dnf/cli/output.py:1178
- msgid "Removing Groups"
- msgstr "그룹 제거"
- 
--#: dnf/cli/output.py:1281
-+#: dnf/cli/output.py:1194
- #, python-format
- msgid ""
- "Skipping packages with conflicts:\n"
- "(add '%s' to command line to force their upgrade)"
- msgstr ""
--"충돌 패키지 건너 뛰기 :\n"
--"(업그레이드를 강제하려면 명령행에 '%s' 추가)"
-+"충돌 꾸러미 건너 뛰기:\n"
-+"(향상을 강제하려면 명령행에 '%s' 추가)"
- 
--#: dnf/cli/output.py:1291
-+#: dnf/cli/output.py:1204
- #, python-format
- msgid "Skipping packages with broken dependencies%s"
--msgstr "손상된 종속성이 있는 %s 패키지 건너 뛰기"
-+msgstr "손상된 종속성이 있는 %s 꾸러미 건너 뛰기"
- 
--#: dnf/cli/output.py:1295
-+#: dnf/cli/output.py:1208
- msgid " or part of a group"
- msgstr " 또는 그룹의 일부"
- 
-@@ -3104,22 +3087,22 @@ msgstr " 또는 그룹의 일부"
- #. use the full (unabbreviated) term 'Package' if you think that
- #. the translation to your language is not too long and will
- #. always fit to limited space.
--#: dnf/cli/output.py:1320
-+#: dnf/cli/output.py:1233
- msgctxt "short"
- msgid "Package"
--msgstr "패키지"
-+msgstr "꾸러미"
- 
- #. Translators: This is the full (unabbreviated) term 'Package'.
--#: dnf/cli/output.py:1322
-+#: dnf/cli/output.py:1235
- msgctxt "long"
- msgid "Package"
--msgstr "패키지"
-+msgstr "꾸러미"
- 
--#: dnf/cli/output.py:1371
-+#: dnf/cli/output.py:1284
- msgid "replacing"
- msgstr "교체"
- 
--#: dnf/cli/output.py:1378
-+#: dnf/cli/output.py:1291
- #, python-format
- msgid ""
- "\n"
-@@ -3127,296 +3110,280 @@ msgid ""
- "%s\n"
- msgstr ""
- "\n"
--"트랜잭션 요약\n"
-+"연결 요약\n"
- "%s\n"
- 
- #. TODO: remove
--#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
-+#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
- msgid "Install"
- msgstr "설치"
- 
- # ctx::sourcefile::Navigation Menu
--#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
-+#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
- msgid "Upgrade"
--msgstr "업그레이드"
-+msgstr "향상"
- 
--#: dnf/cli/output.py:1388
-+#: dnf/cli/output.py:1301
- msgid "Remove"
- msgstr "삭제"
- 
--#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
-+#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
- msgid "Downgrade"
--msgstr "다운 그레이드"
-+msgstr "하향설치"
- 
--#: dnf/cli/output.py:1391
-+#: dnf/cli/output.py:1304
- msgid "Skip"
- msgstr "건너뛰기"
- 
--#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
-+#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
- msgid "Package"
- msgid_plural "Packages"
--msgstr[0] "패키지"
-+msgstr[0] "꾸러미"
- 
--#: dnf/cli/output.py:1418
-+#: dnf/cli/output.py:1331
- msgid "Dependent package"
- msgid_plural "Dependent packages"
--msgstr[0] "종속 패키지"
--
--#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
--msgid "Upgraded"
--msgstr "업그레이드 됨"
--
--#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
--msgid "Downgraded"
--msgstr "다운 그레이드"
--
--#: dnf/cli/output.py:1503
--msgid "Reinstalled"
--msgstr "다시 설치됨"
--
--#: dnf/cli/output.py:1504
--msgid "Skipped"
--msgstr "건너 뛰기됨"
--
--#: dnf/cli/output.py:1505
--msgid "Removed"
--msgstr "제거됨"
--
--#: dnf/cli/output.py:1508
--msgid "Failed"
--msgstr "실패하였습니다"
-+msgstr[0] "종속 꾸러미"
- 
- # auto translated by TM merge from project: RHOSP Director Installation and
- # Usage , version: 11-Korean, DocId: master
--#: dnf/cli/output.py:1559
-+#: dnf/cli/output.py:1439
- msgid "Total"
- msgstr "합계"
- 
--#: dnf/cli/output.py:1587
-+#: dnf/cli/output.py:1467
- msgid "<unset>"
- msgstr "<unset>"
- 
--#: dnf/cli/output.py:1588
-+#: dnf/cli/output.py:1468
- msgid "System"
- msgstr "시스템"
- 
--#: dnf/cli/output.py:1638
-+#: dnf/cli/output.py:1518
- msgid "Command line"
- msgstr "명령행"
- 
- #. TRANSLATORS: user names who executed transaction in history command output
--#: dnf/cli/output.py:1649
-+#: dnf/cli/output.py:1531
- msgid "User name"
- msgstr "사용자 이름"
- 
- # translation auto-copied from project subscription-manager, version 1.11.X,
- # document keys
--#: dnf/cli/output.py:1651
-+#: dnf/cli/output.py:1533
- msgid "ID"
- msgstr "ID"
- 
--#: dnf/cli/output.py:1653
-+#: dnf/cli/output.py:1535
- msgid "Date and time"
- msgstr "날짜와 시간"
- 
--#: dnf/cli/output.py:1654
-+#: dnf/cli/output.py:1536
- msgid "Action(s)"
- msgstr "작업"
- 
--#: dnf/cli/output.py:1655
-+#: dnf/cli/output.py:1537
- msgid "Altered"
- msgstr "변경됨"
- 
--#: dnf/cli/output.py:1698
-+#: dnf/cli/output.py:1580
- msgid "No transactions"
--msgstr "트랜잭션 없음"
-+msgstr "연결 없음"
- 
--#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
-+#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
- msgid "Failed history info"
- msgstr "실패 기록 정보"
- 
--#: dnf/cli/output.py:1714
-+#: dnf/cli/output.py:1596
- msgid "No transaction ID, or package, given"
--msgstr "트랜잭션 ID 또는 패키지가 지정되지 않았습니다"
-+msgstr "연결 ID 또는 꾸러미가 지정되지 않았습니다"
- 
--#: dnf/cli/output.py:1772
-+#: dnf/cli/output.py:1654
- msgid "Erased"
--msgstr "삭제됨"
-+msgstr "제거되었습니다"
-+
-+#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
-+msgid "Downgraded"
-+msgstr "하향설치됨"
- 
--#: dnf/cli/output.py:1774
-+#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
-+msgid "Upgraded"
-+msgstr "향상되었습니다"
-+
-+#: dnf/cli/output.py:1656
- msgid "Not installed"
- msgstr "설치되지 않음"
- 
--#: dnf/cli/output.py:1775
-+#: dnf/cli/output.py:1657
- msgid "Newer"
- msgstr "최신"
- 
--#: dnf/cli/output.py:1775
-+#: dnf/cli/output.py:1657
- msgid "Older"
- msgstr "이전"
- 
--#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
-+#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
- msgid "Transaction ID :"
--msgstr "트랜잭션 ID :"
-+msgstr "연결 ID :"
- 
--#: dnf/cli/output.py:1828
-+#: dnf/cli/output.py:1710
- msgid "Begin time     :"
- msgstr "시작 시간 :"
- 
--#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
-+#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
- msgid "Begin rpmdb    :"
- msgstr "rpmdb 시작 :"
- 
--#: dnf/cli/output.py:1839
-+#: dnf/cli/output.py:1721
- #, python-format
- msgid "(%u seconds)"
- msgstr "(%u 초)"
- 
--#: dnf/cli/output.py:1841
-+#: dnf/cli/output.py:1723
- #, python-format
- msgid "(%u minutes)"
- msgstr "(%u 분)"
- 
--#: dnf/cli/output.py:1843
-+#: dnf/cli/output.py:1725
- #, python-format
- msgid "(%u hours)"
- msgstr "(%u 시간)"
- 
--#: dnf/cli/output.py:1845
-+#: dnf/cli/output.py:1727
- #, python-format
- msgid "(%u days)"
- msgstr "(%u 일)"
- 
--#: dnf/cli/output.py:1846
-+#: dnf/cli/output.py:1728
- msgid "End time       :"
- msgstr "종료 시간 :"
- 
--#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
-+#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
- msgid "End rpmdb      :"
- msgstr "rpmdb 종료:"
- 
--#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
-+#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
- msgid "User           :"
- msgstr "사용자            :"
- 
--#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
-+#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
- msgid "Aborted"
- msgstr "중지됨"
- 
--#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
--#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
-+#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
-+#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
- msgid "Return-Code    :"
- msgstr "반환 코드 :"
- 
--#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
-+#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
- msgid "Success"
- msgstr "성공"
- 
--#: dnf/cli/output.py:1869
-+#: dnf/cli/output.py:1751
- msgid "Failures:"
- msgstr "실패 :"
- 
--#: dnf/cli/output.py:1873
-+#: dnf/cli/output.py:1755
- msgid "Failure:"
- msgstr "실패:"
- 
--#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
-+#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
- msgid "Releasever     :"
--msgstr "Releasever     :"
-+msgstr "Releasever :"
- 
--#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
-+#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
- msgid "Command Line   :"
- msgstr "명령 줄 :"
- 
--#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
-+#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
- msgid "Comment        :"
- msgstr "댓글 :"
- 
--#: dnf/cli/output.py:1903
-+#: dnf/cli/output.py:1785
- msgid "Transaction performed with:"
--msgstr "실행된 트랜잭션:"
-+msgstr "실행된 연결:"
- 
--#: dnf/cli/output.py:1912
-+#: dnf/cli/output.py:1794
- msgid "Packages Altered:"
--msgstr "변경된 패키지 :"
-+msgstr "변경된 꾸러미 :"
- 
--#: dnf/cli/output.py:1918
-+#: dnf/cli/output.py:1800
- msgid "Scriptlet output:"
--msgstr "Scriptlet 출력 :"
-+msgstr "스크립트릿 출력 :"
- 
--#: dnf/cli/output.py:1925
-+#: dnf/cli/output.py:1807
- msgid "Errors:"
- msgstr "오류 :"
- 
--#: dnf/cli/output.py:1934
-+#: dnf/cli/output.py:1816
- msgid "Dep-Install"
--msgstr "Dep-Install"
-+msgstr "설치-시작"
- 
--#: dnf/cli/output.py:1935
-+#: dnf/cli/output.py:1817
- msgid "Obsoleted"
- msgstr "사용 중지됨"
- 
--#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
-+#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
- msgid "Obsoleting"
- msgstr "사용 중지"
- 
--#: dnf/cli/output.py:1937
-+#: dnf/cli/output.py:1819
- msgid "Erase"
- msgstr "삭제"
- 
--#: dnf/cli/output.py:1938
-+#: dnf/cli/output.py:1820
- msgid "Reinstall"
- msgstr "재설치"
- 
--#: dnf/cli/output.py:2016
-+#: dnf/cli/output.py:1894
- #, python-format
- msgid "---> Package %s.%s %s will be installed"
--msgstr "---> 패키지 %s.%s %s이/가 설치됩니다"
-+msgstr "---> 꾸러미 %s.%s %s가 설치됩니다"
- 
--#: dnf/cli/output.py:2018
-+#: dnf/cli/output.py:1896
- #, python-format
- msgid "---> Package %s.%s %s will be an upgrade"
--msgstr "---> 패키지 %s.%s %s이/가 업그레이드됩니다"
-+msgstr "---> 꾸러미 %s.%s %s가 최신화됩니다"
- 
--#: dnf/cli/output.py:2020
-+#: dnf/cli/output.py:1898
- #, python-format
- msgid "---> Package %s.%s %s will be erased"
--msgstr "---> 패키지 %s.%s %s이/가 제거됩니다"
-+msgstr "---> 꾸러미 %s.%s %s가 제거됩니다"
- 
--#: dnf/cli/output.py:2022
-+#: dnf/cli/output.py:1900
- #, python-format
- msgid "---> Package %s.%s %s will be reinstalled"
--msgstr "---> 패키지 %s.%s %s이/가 다시 설치됩니다"
-+msgstr "---> 꾸러미 %s.%s %s가 다시 설치됩니다"
- 
--#: dnf/cli/output.py:2024
-+#: dnf/cli/output.py:1902
- #, python-format
- msgid "---> Package %s.%s %s will be a downgrade"
--msgstr "---> 패키지 %s.%s %s이/가 다운그레이드됩니다"
-+msgstr "---> 꾸러미 %s.%s %s가 하향설치됩니다"
- 
--#: dnf/cli/output.py:2026
-+#: dnf/cli/output.py:1904
- #, python-format
- msgid "---> Package %s.%s %s will be obsoleting"
--msgstr "---> 패키지 %s.%s %s이/가 더 이상 사용되지 않습니다"
-+msgstr "---> 꾸러미 %s.%s %s가 더 이상 사용되지 않습니다"
- 
--#: dnf/cli/output.py:2028
-+#: dnf/cli/output.py:1906
- #, python-format
- msgid "---> Package %s.%s %s will be upgraded"
--msgstr "---> 패키지 %s.%s %s이/가 업그레이드됩니다"
-+msgstr "---> 꾸러미 %s.%s %s가 최신화됩니다"
- 
--#: dnf/cli/output.py:2030
-+#: dnf/cli/output.py:1908
- #, python-format
- msgid "---> Package %s.%s %s will be obsoleted"
--msgstr "---> 패키지 %s.%s %s이/가 더 이상 사용되지 않습니다"
-+msgstr "---> 꾸러미 %s.%s %s가 더 이상 사용되지 않습니다"
- 
--#: dnf/cli/output.py:2039
-+#: dnf/cli/output.py:1917
- msgid "--> Starting dependency resolution"
- msgstr "-> 종석성 해결 시작"
- 
--#: dnf/cli/output.py:2044
-+#: dnf/cli/output.py:1921
- msgid "--> Finished dependency resolution"
- msgstr "-> 종속성 해결 완료"
- 
--#: dnf/cli/output.py:2058 dnf/crypto.py:132
-+#: dnf/cli/output.py:1935 dnf/crypto.py:132
- #, python-format
- msgid ""
- "Importing GPG key 0x%s:\n"
-@@ -3425,13 +3392,13 @@ msgid ""
- " From       : %s"
- msgstr ""
- "GPG키 0x%s 가져오는 중:\n"
--" 사용자 ID     : \"%s\"\n"
--"  지문: %s\n"
--" 출처        : %s"
-+"사용자 ID : \"%s\"\n"
-+"지문: %s\n"
-+"출처 : %s"
- 
- #: dnf/cli/utils.py:98
- msgid "Running"
--msgstr "실행중"
-+msgstr "실행 중"
- 
- #: dnf/cli/utils.py:99
- msgid "Sleeping"
-@@ -3485,29 +3452,27 @@ msgstr "건너 뛰기."
- #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
- #, python-format
- msgid "Module or Group '%s' is not installed."
--msgstr "모듈 또는 그룹 '%s'이/가 설치되지 않았습니다."
-+msgstr "모듈 또는 그룹 '%s'가 설치되지 않았습니다."
- 
- #: dnf/comps.py:198 dnf/comps.py:708
- #, python-format
- msgid "Module or Group '%s' is not available."
--msgstr "모듈 또는 그룹 '%s'을/를 사용할 수 없습니다."
-+msgstr "모듈 또는 그룹 '%s'을 사용 할 수 없습니다."
- 
- #: dnf/comps.py:200
- #, python-format
- msgid "Module or Group '%s' does not exist."
--msgstr "모듈 또는 그룹 '%s'이/가 존재하지 않습니다."
-+msgstr "모듈 또는 그룹 '%s'가 존재하지 않습니다."
- 
- #: dnf/comps.py:599
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#, python-format
- msgid "Environment id '%s' does not exist."
--msgstr "환경 '%s'이 설치되지 않았습니다."
-+msgstr "환경 id '%s' 가 존재하지 않습니다."
- 
--#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
-+#, python-format
- msgid "Environment id '%s' is not installed."
--msgstr "환경 '%s'이 설치되지 않았습니다."
-+msgstr "환경id '%s'가 설치되지 않았습니다."
- 
- #: dnf/comps.py:639
- #, python-format
-@@ -3517,19 +3482,23 @@ msgstr "환경 '%s'이 설치되지 않았습니다."
- #: dnf/comps.py:641
- #, python-format
- msgid "Environment '%s' is not available."
--msgstr "환경 '%s'을/를 사용할 수 없습니다."
-+msgstr "환경 '%s'을 사용 할 수 없습니다."
- 
- #: dnf/comps.py:673
--#, fuzzy, python-format
--#| msgid "Group_id '%s' does not exist."
-+#, python-format
- msgid "Group id '%s' does not exist."
--msgstr "Group_id '%s' 존재하지 않는다."
-+msgstr "Group id '%s' 가 존재하지 않습니다."
- 
- #: dnf/conf/config.py:136
- #, python-format
- msgid "Error parsing '%s': %s"
- msgstr "'%s' 구문 분석 중 오류 발생: %s"
- 
-+#: dnf/conf/config.py:151
-+#, python-format
-+msgid "Invalid configuration value: %s=%s in %s; %s"
-+msgstr "잘못된 구성 값: %s=%s (%s; %s에서)"
-+
- #: dnf/conf/config.py:226
- msgid "Could not set cachedir: {}"
- msgstr "cachedir를 설정할 수 없습니다: {}"
-@@ -3539,7 +3508,7 @@ msgid ""
- "Configuration file URL \"{}\" could not be downloaded:\n"
- "  {}"
- msgstr ""
--"구성 파일 URL \"{}\"을 (를) 다운로드 할 수 없습니다:\n"
-+"구성 파일 URL \"{}\"를 내려받기 할 수 없습니다:\n"
- "  {}"
- 
- #: dnf/conf/config.py:355 dnf/conf/config.py:391
-@@ -3550,7 +3519,7 @@ msgstr "알 수 없는 설정 옵션 : %s = %s"
- #: dnf/conf/config.py:372
- #, python-format
- msgid "Error parsing --setopt with key '%s', value '%s': %s"
--msgstr "키 ‘%s', 값 '%s'을/를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
-+msgstr "키 ‘%s', 값 '%s'를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
- 
- #: dnf/conf/config.py:380
- #, python-format
-@@ -3564,75 +3533,88 @@ msgstr "잘못되었거나 알 수 없음 \"{}\": {}"
- #: dnf/conf/config.py:501
- #, python-format
- msgid "Error parsing --setopt with key '%s.%s', value '%s': %s"
--msgstr "키 %s.%s', 값 '%s'을/를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
-+msgstr "키 %s.%s', 값 '%s'를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
- 
- #: dnf/conf/config.py:504
- #, python-format
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "Repo %s에 setopt 이전에 %s attr이 없습니다"
- 
--#: dnf/conf/read.py:51
-+#: dnf/conf/read.py:60
- #, python-format
- msgid "Warning: failed loading '%s', skipping."
--msgstr "경고: '%s'을/를 로드하지 못했습니다, 건너 뛰기."
-+msgstr "경고: '%s'을 적재하지 못했습니다, 건너 뛰기."
- 
--#: dnf/conf/read.py:63
-+#: dnf/conf/read.py:72
- msgid "Bad id for repo: {} ({}), byte = {} {}"
--msgstr "리포지터리의 ID가 잘못되었습니다. {} ({}), byte = {} {}"
-+msgstr "레포지터리의 ID가 잘못되었습니다. {} ({}), byte = {} {}"
- 
--#: dnf/conf/read.py:67
-+#: dnf/conf/read.py:76
- msgid "Bad id for repo: {}, byte = {} {}"
--msgstr "리포지터리의 ID가 잘못되었습니다. {}, byte = {} {}"
-+msgstr "레포지터리의 ID가 잘못되었습니다. {}, byte = {} {}"
- 
--#: dnf/conf/read.py:75
-+#: dnf/conf/read.py:84
- msgid "Repository '{}' ({}): Error parsing config: {}"
- msgstr "Repository '{}' ({}): 구문 분석 설정 오류: {}"
- 
--#: dnf/conf/read.py:78
-+#: dnf/conf/read.py:87
- msgid "Repository '{}': Error parsing config: {}"
- msgstr "Repository '{}' : 구문 분석 설정 오류: {}"
- 
--#: dnf/conf/read.py:84
-+#: dnf/conf/read.py:93
- msgid "Repository '{}' ({}) is missing name in configuration, using id."
- msgstr "Repository '{}' ({})의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
- 
--#: dnf/conf/read.py:87
-+#: dnf/conf/read.py:96
- msgid "Repository '{}' is missing name in configuration, using id."
- msgstr "Repository '{}'의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
- 
--#: dnf/conf/read.py:104
-+#: dnf/conf/read.py:113
- msgid "Parsing file \"{}\" failed: {}"
- msgstr "\"{}\" 파일을 구문 분석하지 못했습니다: {}"
- 
- #: dnf/crypto.py:108
- #, python-format
- msgid "repo %s: 0x%s already imported"
--msgstr "repo %s: 0x%s을/를 이미 가져왔습니다"
-+msgstr "repo %s: 0x%s를 이미 가져왔습니다"
- 
- #: dnf/crypto.py:115
- #, python-format
- msgid "repo %s: imported key 0x%s."
- msgstr "repo %s: 0x%s 키를 가져왔습니다."
- 
--#: dnf/db/group.py:293
-+#: dnf/crypto.py:145
-+msgid "Verified using DNS record with DNSSEC signature."
-+msgstr "DNSSEC 서명이 있는 DNS 레코드를 사용하여 확인됨."
-+
-+#: dnf/crypto.py:147
-+msgid "NOT verified using DNS record."
-+msgstr "DNS 레코드를 사용하여 확인되지 않음."
-+
-+#: dnf/crypto.py:184
-+#, python-format
-+msgid "retrieving repo key for %s unencrypted from %s"
-+msgstr "%s에서 암호화 하지 않은 %s를 위한 저장소 키 검색"
-+
-+#: dnf/db/group.py:301
- msgid ""
- "No available modular metadata for modular package '{}', it cannot be "
- "installed on the system"
--msgstr "모듈 패키지 '{}'에 사용 가능한 메타 데이터가 없으며 시스템에 설치할 수 없습니다"
-+msgstr "모듈 꾸러미 '{}'에 사용 가능한 메타 자료가 없으며 시스템에 설치 할 수 없습니다"
- 
--#: dnf/db/group.py:343
-+#: dnf/db/group.py:351
- msgid "No available modular metadata for modular package"
--msgstr "모듈 패키지에 사용 가능한 모듈 메타 데이터가 없습니다"
-+msgstr "모듈 꾸러미에 사용 가능한 모듈 메타 자료가 없습니다"
- 
--#: dnf/db/group.py:377
-+#: dnf/db/group.py:385
- #, python-format
- msgid "Will not install a source rpm package (%s)."
--msgstr "소스 RPM패키지를 설치하지 않습니다 (%s)."
-+msgstr "소스 RPM 꾸러미를 설치하지 않습니다 (%s)."
- 
- #: dnf/dnssec.py:168
- msgid ""
--"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
--msgstr "설정 옵션 'gpgkey_dns_verification'에는 libunbound ({})가 필요합니다"
-+"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
-+msgstr "구성 선택(옵션) 'gpgkey_dns_verification'에는 python3-unbound ({})가 필요합니다"
- 
- #: dnf/dnssec.py:239
- msgid "DNSSEC extension: Key for user "
-@@ -3679,11 +3661,11 @@ msgstr "요청 중인 문제 :"
- 
- #: dnf/exceptions.py:115
- msgid "missing packages: "
--msgstr "누락된 패키지: "
-+msgstr "누락된 꾸러미: "
- 
- #: dnf/exceptions.py:117
- msgid "broken packages: "
--msgstr "잘못된 패키지: "
-+msgstr "잘못된 꾸러미: "
- 
- #: dnf/exceptions.py:119
- msgid "missing groups or modules: "
-@@ -3698,7 +3680,7 @@ msgid "Modular dependency problem with Defaults:"
- msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "기본값의 모듈 종속성 문제 :"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:686
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:854
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "모듈 종속성 문제 :"
-@@ -3722,7 +3704,7 @@ msgstr "표시할 것이 없습니다."
- 
- #: dnf/module/__init__.py:28
- msgid "Installing newer version of '{}' than specified. Reason: {}"
--msgstr "지정된 버전보다 새 버전의 '{}'을/를 설치합니다. 이유 : {}"
-+msgstr "지정된 버전 보다 새로운 버전의 '{}'를 설치합니다. 이유 : {}"
- 
- #: dnf/module/__init__.py:29
- msgid "Enabled modules: {}."
-@@ -3732,7 +3714,47 @@ msgstr "사용 설정된 모듈 : {}."
- msgid "No profile specified for '{}', please specify profile."
- msgstr "'{}'에 지정된 프로필이 없습니다. 프로필을 지정하십시오."
- 
--#: dnf/module/module_base.py:33
-+#: dnf/module/exceptions.py:27
-+msgid "No such module: {}"
-+msgstr "그런 모듈이 없습니다: {}"
-+
-+#: dnf/module/exceptions.py:33
-+msgid "No such stream: {}"
-+msgstr "그런 스트림이 없습니다: {}"
-+
-+#: dnf/module/exceptions.py:39
-+msgid "No enabled stream for module: {}"
-+msgstr "모듈에 대한 활성화된 스트림이 없습니다: {}"
-+
-+#: dnf/module/exceptions.py:46
-+msgid "Cannot enable more streams from module '{}' at the same time"
-+msgstr "동시에 모듈 '{}'에서 더 많은 스트림을 활성화 할 수 없습니다"
-+
-+#: dnf/module/exceptions.py:52
-+msgid "Different stream enabled for module: {}"
-+msgstr "모듈에 대해 활성화된 다른 스트림: {}"
-+
-+#: dnf/module/exceptions.py:58
-+msgid "No such profile: {}"
-+msgstr "그런 프로파일이 없습니다: {}"
-+
-+#: dnf/module/exceptions.py:64
-+msgid "Specified profile not installed for {}"
-+msgstr "{}를 위한 지정된 프로필이 설치되지 않았습니다"
-+
-+#: dnf/module/exceptions.py:70
-+msgid "No stream specified for '{}', please specify stream"
-+msgstr "'{}'을 위한 지정된 스트림이 없으며, 스트림을 지정해주세요"
-+
-+#: dnf/module/exceptions.py:82
-+msgid "No such profile: {}. No profiles available"
-+msgstr "그런 프로파일이 없습니다: {}. 사용 가능한 프로파일이 없습니다"
-+
-+#: dnf/module/exceptions.py:88
-+msgid "No profile to remove for '{}'"
-+msgstr "제거되는 프로파일이 없습니다('{}'를 위해 )"
-+
-+#: dnf/module/module_base.py:35
- msgid ""
- "\n"
- "\n"
-@@ -3742,7 +3764,7 @@ msgstr ""
- "\n"
- "힌트 : [d] efault, [e] nabled, [x] disabled, [i] stalled"
- 
--#: dnf/module/module_base.py:34
-+#: dnf/module/module_base.py:36
- msgid ""
- "\n"
- "\n"
-@@ -3752,80 +3774,98 @@ msgstr ""
- "\n"
- "힌트 : [d] efault, [e] nabled, [x] disabled, [i] stalled, [a] ctive"
- 
--#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
--#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
-+#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
- msgid "Ignoring unnecessary profile: '{}/{}'"
- msgstr "불필요한 프로파일을 무시합니다: '{}/{}'"
- 
--#: dnf/module/module_base.py:84
-+#: dnf/module/module_base.py:86
- #, python-brace-format
- msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
- msgstr "모듈 '{1}:{2}'의 인수 '{0}'에 대한 모든 일치 항목이 활성화되지 않았습니다"
- 
--#: dnf/module/module_base.py:92
-+#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
- #, python-brace-format
- msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
--msgstr "Fail-Safe 리포지토리 {1}에서 모듈 '{0}’을/를 설치할 수 없습니다"
-+msgstr "실패 방지 저장소 {1}에서 모듈 '{0}’를 설치 할 수 없습니다"
- 
--#: dnf/module/module_base.py:102
-+#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
- msgid ""
- "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
--msgstr "인수 {}의 프로파일을 찾을 수 없습니다. '{}:{}'에 사용 가능한 프로파일: {}"
-+msgstr "인수 {}의 프로파일을 찾을 수 없습니다. '{}:{}': {} 에 사용 가능한 프로파일"
- 
--#: dnf/module/module_base.py:106
-+#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
- msgid "Unable to match profile for argument {}"
- msgstr "인수 {}의 프로파일을 찾을 수 없습니다"
- 
--#: dnf/module/module_base.py:118
-+#: dnf/module/module_base.py:120
- msgid "No default profiles for module {}:{}. Available profiles: {}"
- msgstr "{} : {} 모듈에 대한 기본 프로파일이 없습니다. 사용 가능한 프로파일: {}"
- 
--#: dnf/module/module_base.py:122
-+#: dnf/module/module_base.py:124
- msgid "No profiles for module {}:{}"
- msgstr "{} : {} 모듈에 대한 프로파일이 없습니다"
- 
--#: dnf/module/module_base.py:129
-+#: dnf/module/module_base.py:131
- msgid "Default profile {} not available in module {}:{}"
- msgstr "{} 모듈에서 기본 프로필 {}을 (를) 사용할 수 없음 : {}"
- 
--#: dnf/module/module_base.py:142
-+#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
- msgid "Installing module from Fail-Safe repository is not allowed"
--msgstr "Fail-Safe 리포지토리에서 모듈을 설치할 수 없습니다"
-+msgstr "실패-방지 저장소에서 설치된 모듈은 허용하지 않습니다"
- 
--#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
--#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
--#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
--#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
-+#: dnf/module/module_base.py:196
-+#, python-brace-format
-+msgid "No active matches for argument '{0}' in module '{1}:{2}'"
-+msgstr "모듈 '{1}:{2}'의 인수 '{0}'에 대한 일치 항목 없음"
-+
-+#: dnf/module/module_base.py:228
-+#, python-brace-format
-+msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
-+msgstr "설치 프로파일'{0}'은 모듈 '{1} 스트림 '{2}'에서 사용 할 수 없습니다"
-+
-+#: dnf/module/module_base.py:267
-+msgid "No packages available to distrosync for package name '{}'"
-+msgstr "꾸러미 이름 '{}'를 위하여 배포판에서 사용 할 수 있는 꾸러미가 없습니다"
-+
-+#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
-+#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
-+#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
-+#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
- msgid "Unable to resolve argument {}"
- msgstr "인수 {}을 (를) 구문 분석할 수 없습니다"
- 
--#: dnf/module/module_base.py:160
--msgid "No match for package {}"
--msgstr "{} 패키지와 일치하지 않습니다"
--
--#: dnf/module/module_base.py:204
-+#: dnf/module/module_base.py:321
- #, python-brace-format
- msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
--msgstr "Fail-Safe 리포지토리 {1}에서 모듈 '{0}’을/를 업그레이드할 수 없습니다"
-+msgstr "실패방지 저장소 {1}에서 모듈 '{0}’를 향상 할 수 없습니다"
- 
--#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
-+#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
- msgid "Unable to match profile in argument {}"
- msgstr "인수 {}에서 프로파일이 일치하지 않습니다"
- 
--#: dnf/module/module_base.py:231
-+#: dnf/module/module_base.py:348
- msgid "Upgrading module from Fail-Safe repository is not allowed"
--msgstr "Fail-Safe 리포지토리에서 모듈을 업그레이드할 수 없습니다"
-+msgstr "실패-방지 저장소에서 모듈을 향상 할 수 없습니다"
- 
--#: dnf/module/module_base.py:367
-+#: dnf/module/module_base.py:422
-+#, python-brace-format
-+msgid ""
-+"Argument '{argument}' matches {stream_count} streams ('{streams}') of module"
-+" '{module}', but none of the streams are enabled or default"
-+msgstr ""
-+"인수 '{argument}'는 {stream_count} 스트림 ('{streams}')과 일치합니다 (모듈의 '{module}'), "
-+"하지만 활성화 되었거나 지정된 스트림이 없습니다"
-+
-+#: dnf/module/module_base.py:509
- msgid ""
- "Only module name is required. Ignoring unneeded information in argument: "
- "'{}'"
- msgstr "모듈 이름만 필요합니다. '{}'인수에서 불필요한 정보를 무시합니다"
- 
--#: dnf/package.py:298
--#, python-format
--msgid "%s: %s check failed: %s vs %s"
--msgstr "%s: %s 확인 실패 : %s 대 %s"
-+#: dnf/module/module_base.py:841
-+msgid "No match for package {}"
-+msgstr "{} 꾸러미와 일치하지 않습니다"
- 
- #. empty file is invalid json format
- #: dnf/persistor.py:54
-@@ -3836,12 +3876,12 @@ msgstr "%s는 빈 파일입니다"
- #: dnf/persistor.py:91
- #, python-format
- msgid "Failed to load expired repos cache: %s"
--msgstr ""
-+msgstr "만료된 저장소 cache:%s 를 적재하는데 실패하였습니다"
- 
- #: dnf/persistor.py:99
- #, python-format
- msgid "Failed to store expired repos cache: %s"
--msgstr ""
-+msgstr "만료된 저장소 캐쉬: %s 저장하는데 실패하였습니다"
- 
- #: dnf/persistor.py:106
- msgid "Failed storing last makecache time."
-@@ -3861,27 +3901,27 @@ msgstr "구문 분석에 실패했습니다. %s"
- msgid "Loaded plugins: %s"
- msgstr "로드된 플러그인 : %s"
- 
--#: dnf/plugin.py:199
-+#: dnf/plugin.py:211
- #, python-format
- msgid "Failed loading plugin \"%s\": %s"
--msgstr "플러그인 \"%s\"을/를 불러오지 못했습니다: %s"
-+msgstr "플러그인 \"%s\"를 불러오지 못했습니다: %s"
- 
--#: dnf/plugin.py:231
-+#: dnf/plugin.py:243
- msgid "No matches found for the following enable plugin patterns: {}"
- msgstr "다음의 활성 플러그인 패턴과 일치하는 항목이 없습니다: {}"
- 
--#: dnf/plugin.py:235
-+#: dnf/plugin.py:247
- msgid "No matches found for the following disable plugin patterns: {}"
- msgstr "다음의 비활성화 플러그인 패턴과 일치하는 항목이 없습니다: {}"
- 
- #: dnf/repo.py:84
- #, python-format
- msgid "no matching payload factory for %s"
--msgstr "%s와 일치하는 payload factory가 없습니다."
-+msgstr "%s와 일치하는 payload factory가 없습니다"
- 
- #: dnf/repo.py:111
- msgid "Already downloaded"
--msgstr "이미 다운로드 됨"
-+msgstr "이미 내려받음"
- 
- #. pinging mirrors, this might take a while
- #: dnf/repo.py:347
-@@ -3899,15 +3939,32 @@ msgstr "%s 리포지토리 활성화"
- msgid "Added %s repo from %s"
- msgstr "%s 에서 %s repo를 추가했습니다"
- 
-+#: dnf/rpm/miscutils.py:35
-+#, python-brace-format
-+msgid ""
-+"Using rpmkeys executable from {path} to verify signature for package: "
-+"{package}."
-+msgstr "{path}에서 실행 할 수 있는 rpmkeys를 사용하여 꾸러미 서명 확인: {package}."
-+
-+#: dnf/rpm/miscutils.py:39
-+msgid "Cannot find rpmkeys executable to verify signatures."
-+msgstr "서명을 확인하기 위해 실행 할 수 있는 rpmkeys를 찾을 수 없습니다."
-+
- #: dnf/rpm/transaction.py:119
- msgid "Errors occurred during test transaction."
--msgstr "트랜잭션 테스트 중에 오류가 발생했습니다."
-+msgstr "연결 시험 중에 오류가 발생했습니다."
-+
-+#: dnf/sack.py:47
-+msgid ""
-+"allow_vendor_change is disabled. This option is currently not supported for "
-+"downgrade and distro-sync commands"
-+msgstr "허용_공급업체_변화는 사용 할 수 없습니다. 이 선택은 현재 다운드레이드와 distro-sync 명령을 지원하지 않습니다"
- 
- #. TRANSLATORS: This is for a single package currently being downgraded.
- #: dnf/transaction.py:80
- msgctxt "currently"
- msgid "Downgrading"
--msgstr "다운그레이드 중"
-+msgstr "하향 설치 중"
- 
- #: dnf/transaction.py:81 dnf/transaction.py:88 dnf/transaction.py:93
- #: dnf/transaction.py:95
-@@ -3935,7 +3992,7 @@ msgstr "삭제 중"
- #: dnf/transaction.py:92
- msgctxt "currently"
- msgid "Upgrading"
--msgstr "업그레이드 중"
-+msgstr "향상 중"
- 
- #: dnf/transaction.py:96
- msgid "Verifying"
-@@ -3943,168 +4000,202 @@ msgstr "확인 중"
- 
- #: dnf/transaction.py:97
- msgid "Running scriptlet"
--msgstr "scriptlet 실행 중"
-+msgstr "스크립트릿 실행 중"
- 
- #: dnf/transaction.py:99
- msgid "Preparing"
- msgstr "준비 중"
- 
--#: dnf/transaction_sr.py:60
-+#: dnf/transaction_sr.py:66
- #, python-brace-format
--msgid "Errors in \"{filename}\":"
--msgstr ""
-+msgid ""
-+"The following problems occurred while replaying the transaction from file "
-+"\"{filename}\":"
-+msgstr "다음 문제는 파일에서 연결 응답 할 때에 발생합니다 \"{filename}\":"
- 
--#: dnf/transaction_sr.py:70
--#, python-brace-format
--msgid "Error in \"{filename}\": {error}"
--msgstr ""
-+#: dnf/transaction_sr.py:68
-+msgid "The following problems occurred while running a transaction:"
-+msgstr "연결 중에 오류가 발생했습니다:"
- 
--#: dnf/transaction_sr.py:87
-+#: dnf/transaction_sr.py:89
- #, python-brace-format
- msgid "Invalid major version \"{major}\", number expected."
--msgstr ""
-+msgstr "잘못된 주요 버전 \"{major}\", 번호가 예상됩니다."
- 
--#: dnf/transaction_sr.py:95
-+#: dnf/transaction_sr.py:97
- #, python-brace-format
- msgid "Invalid minor version \"{minor}\", number expected."
--msgstr ""
-+msgstr "잘못된 하위 버전 \"{minor}\", 번호가 예상됩니다."
- 
--#: dnf/transaction_sr.py:101
-+#: dnf/transaction_sr.py:103
- #, python-brace-format
- msgid ""
- "Incompatible major version \"{major}\", supported major version is "
- "\"{major_supp}\"."
--msgstr ""
-+msgstr "호환되지 않는 주요 버전 \"{major}\", 지원되는 주요 버전 \"{major_supp}\"."
- 
--#: dnf/transaction_sr.py:244
-+#: dnf/transaction_sr.py:224
-+msgid ""
-+"Conflicting TransactionReplay arguments have been specified: filename, data"
-+msgstr "연결 지연 인수의 충돌은 명시됩니다: 파일이름, 자료"
-+
-+#: dnf/transaction_sr.py:265
- #, python-brace-format
- msgid "Unexpected type of \"{id}\", {exp} expected."
--msgstr ""
-+msgstr "예상치 못한 유형 \"{id}\", {exp} 가 예상된다."
- 
--#: dnf/transaction_sr.py:250
-+#: dnf/transaction_sr.py:271
- #, python-brace-format
- msgid "Missing key \"{key}\"."
--msgstr ""
-+msgstr "누락된 키 \"{key}\"."
- 
--#: dnf/transaction_sr.py:263
-+#: dnf/transaction_sr.py:285
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an rpm."
--msgstr ""
-+msgstr "rpm안에 누락된 객체 키 \"{key}\"."
- 
--#: dnf/transaction_sr.py:267
-+#: dnf/transaction_sr.py:289
- #, python-brace-format
- msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\"를 위한 예상되지 않은 꾸러미 이유\"{reason}\" 의 값."
- 
--#: dnf/transaction_sr.py:275
-+#: dnf/transaction_sr.py:297
- #, python-brace-format
- msgid "Cannot parse NEVRA for package \"{nevra}\"."
--msgstr ""
-+msgstr "꾸러미 \"{nevra}\"를 위해 NEVRA를 구문 분석 할 수 없습니다."
- 
--#: dnf/transaction_sr.py:286
-+#: dnf/transaction_sr.py:321
- #, python-brace-format
- msgid "Cannot find rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\"를 찾을 수 없습니다."
- 
--#: dnf/transaction_sr.py:301
-+#: dnf/transaction_sr.py:336
- #, python-brace-format
- msgid "Package \"{na}\" is already installed for action \"{action}\"."
--msgstr ""
-+msgstr "꾸러미 \"{na}\"는 활동 \"{action}\"를 위해 이미 설치되어 있습니다."
- 
--#: dnf/transaction_sr.py:311
-+#: dnf/transaction_sr.py:345
- #, python-brace-format
- msgid ""
- "Package nevra \"{nevra}\" not available in repositories for action "
- "\"{action}\"."
--msgstr ""
-+msgstr "꾸러미 nervra \"{nevra}\"는 실행 \"{action}\"을 위한 저장소에서 사용 할 수 없음."
- 
--#: dnf/transaction_sr.py:322
-+#: dnf/transaction_sr.py:356
- #, python-brace-format
- msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
--msgstr ""
-+msgstr "꾸러미 nevra\"{nevra}\"는 활동 \"{action}\"을 위해 설치되지 않음."
- 
--#: dnf/transaction_sr.py:336
-+#: dnf/transaction_sr.py:370
- #, python-brace-format
- msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\"를 위해 기대하지 않는 꾸러미 활동 \"{action}\"의 값."
- 
--#: dnf/transaction_sr.py:343
--#, fuzzy, python-format
--#| msgid "Group_id '%s' does not exist."
-+#: dnf/transaction_sr.py:377
-+#, python-format
- msgid "Group id '%s' is not available."
--msgstr "Group_id '%s' 존재하지 않는다."
-+msgstr "Group_id '%s'는 사용 할 수 없습니다."
- 
--#: dnf/transaction_sr.py:364
-+#: dnf/transaction_sr.py:398
- #, python-brace-format
- msgid "Missing object key \"{key}\" in groups.packages."
--msgstr ""
-+msgstr "group.packages에 있는 객체 키 \"{key}\" 누락."
- 
--#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
-+#, python-format
- msgid "Group id '%s' is not installed."
--msgstr "환경 '%s'이 설치되지 않았습니다."
-+msgstr "그룹 '%s'는 설치되어 있지 않습니다."
- 
--#: dnf/transaction_sr.py:398
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#: dnf/transaction_sr.py:432
-+#, python-format
- msgid "Environment id '%s' is not available."
--msgstr "환경 '%s'이 설치되지 않았습니다."
-+msgstr "환경 id '%s'는 사용 할 수 없습니다."
- 
--#: dnf/transaction_sr.py:422
-+#: dnf/transaction_sr.py:456
- #, python-brace-format
- msgid ""
- "Invalid value \"{group_type}\" of environments.groups.group_type, only "
- "\"mandatory\" or \"optional\" is supported."
--msgstr ""
-+msgstr "잘못된 environments.groups.group_type의 값 \"{group_type}\", \"필 수\" 또는 \"선택\"만 지원합니다."
- 
--#: dnf/transaction_sr.py:430
-+#: dnf/transaction_sr.py:464
- #, python-brace-format
- msgid "Missing object key \"{key}\" in environments.groups."
--msgstr ""
-+msgstr "환경 그룹에서 누락된 객체 키 \"{key}\"."
- 
--#: dnf/transaction_sr.py:508
-+#: dnf/transaction_sr.py:542
- #, python-brace-format
- msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
--msgstr ""
-+msgstr "그룹 \"{group}\"을 위해 예상치 못한 그룹 활동 \"{action}\"의 값."
- 
--#: dnf/transaction_sr.py:513
-+#: dnf/transaction_sr.py:547
- #, python-brace-format
- msgid "Missing object key \"{key}\" in a group."
--msgstr ""
-+msgstr "그룹 안에 누락된 객체 키 \"{key}\"."
- 
--#: dnf/transaction_sr.py:537
-+#: dnf/transaction_sr.py:571
- #, python-brace-format
- msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
--msgstr ""
-+msgstr "환경 \"{env}\"를 위해 예상하지 못한 환경 활동 \"{action}\"의 값."
- 
--#: dnf/transaction_sr.py:542
-+#: dnf/transaction_sr.py:576
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an environment."
--msgstr ""
-+msgstr "환경에 누락된 객체 키 \"{key}\"."
- 
--#: dnf/transaction_sr.py:581
-+#: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
- "Package nevra \"{nevra}\", which is not present in the transaction file, was"
- " pulled into the transaction."
--msgstr ""
-+msgstr "꾸러미 nevra \"{nevra}\", 연겨 파일에 존재하지 않는 것은 연결로 가져왔습니다."
- 
--#: dnf/util.py:391 dnf/util.py:393
-+#: dnf/util.py:419 dnf/util.py:421
- msgid "Problem"
- msgstr "문제"
- 
--#: dnf/util.py:444
-+#: dnf/util.py:472
- msgid "TransactionItem not found for key: {}"
- msgstr "{} 키에 대한 TransactionItem을 찾을 수 없습니다"
- 
--#: dnf/util.py:454
-+#: dnf/util.py:482
- msgid "TransactionSWDBItem not found for key: {}"
- msgstr "{} 키에 대한 TransactionSWDBItem을 찾을 수 없습니다"
- 
--#: dnf/util.py:457
-+#: dnf/util.py:485
- msgid "Errors occurred during transaction."
--msgstr "트랜잭션 중에 오류가 발생했습니다."
-+msgstr "연결 중에 오류가 발생했습니다."
-+
-+#: dnf/util.py:621
-+msgid "Reinstalled"
-+msgstr "다시 설치되었습니다"
-+
-+#: dnf/util.py:622
-+msgid "Skipped"
-+msgstr "건너 뛰기됨"
-+
-+#: dnf/util.py:623
-+msgid "Removed"
-+msgstr "제거되었습니다"
-+
-+#: dnf/util.py:626
-+msgid "Failed"
-+msgstr "실패하였습니다"
-+
-+#~ msgid "%s: %s check failed: %s vs %s"
-+#~ msgstr "%s: %s 확인 실패 : %s 대 %s"
-+
-+#~ msgid "Action not handled: {}"
-+#~ msgstr "작업이 처리되지 않았습니다: {}"
-+
-+#~ msgid "no package matched"
-+#~ msgstr "일치하는 패키지가 없습니다."
-+
-+#~ msgid "Not found given transaction ID"
-+#~ msgstr "주어진 트랜잭션 ID를 찾을 수 없습니다"
-+
-+#~ msgid "Undoing transaction {}, from {}"
-+#~ msgstr "{}에서 {} 트랜잭션 실행을 취소하고 있습니다"
- 
- #~ msgid "format for displaying found packages"
- #~ msgstr "발견 된 패키지를 표시하기위한 형식"
-diff --git a/po/zh_CN.po b/po/zh_CN.po
-index 7ede4ed8..9f8da6a6 100644
---- a/po/zh_CN.po
-+++ b/po/zh_CN.po
-@@ -13,33 +13,34 @@
- # Qi Fan <fun224@gmail.com>, 2016. #zanata
- # Tommy He <lovenemesis@fedoraproject.org>, 2016. #zanata
- # mosquito <sensor.wen@gmail.com>, 2016. #zanata
--# Charles Lee <lchopn@gmail.com>, 2017. #zanata, 2020.
-+# Charles Lee <lchopn@gmail.com>, 2017. #zanata, 2020, 2021.
- # Pany <pany@fedoraproject.org>, 2017. #zanata
- # cheng ye <18969068329@163.com>, 2017. #zanata
- # lexuge <LEXUGEyky@outlook.com>, 2017. #zanata
- # n0vad3v <jonasguo@fedoraproject.org>, 2017. #zanata
- # zhouxiaobo <zhouxiaobo.500@gmail.com>, 2017. #zanata
--# Ludek Janda <ljanda@redhat.com>, 2018. #zanata
-+# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
- # Pany <pany@fedoraproject.org>, 2018. #zanata
- # Qiyu Yan <yanqiyu01@gmail.com>, 2018. #zanata
- # Qiyu Yan <yanqiyu01@gmail.com>, 2019. #zanata
- # Anonymous <noreply@weblate.org>, 2020.
- # Hongqiao Chen <harrychen0314@gmail.com>, 2020.
- # Harry Chen <harrychen0314@gmail.com>, 2020.
-+# Sundeep Anand <suanand@redhat.com>, 2021.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2020-10-05 09:18-0400\n"
--"PO-Revision-Date: 2020-08-02 08:29+0000\n"
--"Last-Translator: Charles Lee <lchopn@gmail.com>\n"
--"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/dnf/dnf-master/zh_CN/>\n"
-+"POT-Creation-Date: 2021-08-11 16:00+0200\n"
-+"PO-Revision-Date: 2021-09-06 17:24+0000\n"
-+"Last-Translator: Sundeep Anand <suanand@redhat.com>\n"
-+"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/dnf/dnf-rhel-8/zh_CN/>\n"
- "Language: zh_CN\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=1; plural=0;\n"
--"X-Generator: Weblate 4.1.1\n"
-+"X-Generator: Weblate 4.8\n"
- 
- #: dnf/automatic/emitter.py:32
- #, python-format
-@@ -86,7 +87,7 @@ msgstr "使用 '%s' 发送邮件失败: %s"
- msgid "Failed to execute command '%s': returned %d"
- msgstr "无法执行命令 '%s' :返回 %d"
- 
--#: dnf/automatic/main.py:164 dnf/conf/config.py:151
-+#: dnf/automatic/main.py:164
- #, python-format
- msgid "Unknown configuration value: %s=%s in %s; %s"
- msgstr "未知配置值: %s=%s 在 %s 中; %s"
-@@ -96,7 +97,7 @@ msgstr "未知配置值: %s=%s 在 %s 中; %s"
- msgid "Unknown configuration option: %s = %s in %s"
- msgstr "未知配置选项:%s = %s 在 %s 中"
- 
--#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
-+#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
- msgid "GPG check FAILED"
- msgstr "GPG 检查失败"
- 
-@@ -109,9 +110,9 @@ msgid "Started dnf-automatic."
- msgstr "启动的 dnf-automatic。"
- 
- #: dnf/automatic/main.py:308
--#, python-format
--msgid "Sleep for %s seconds"
--msgstr "休眠 %s 秒"
-+msgid "Sleep for {} second"
-+msgid_plural "Sleep for {} seconds"
-+msgstr[0] "休眠 {} 秒"
- 
- #: dnf/automatic/main.py:315
- msgid "System is off-line."
-@@ -123,388 +124,374 @@ msgstr "系统离线。"
- msgid "Error: %s"
- msgstr "错误:%s"
- 
--#: dnf/base.py:146
-+#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
- msgid "loading repo '{}' failure: {}"
- msgstr "加载仓库 '{}' 失败:{}"
- 
--#: dnf/base.py:148
-+#: dnf/base.py:150
- msgid "Loading repository '{}' has failed"
- msgstr "加载仓库 '{}' 失败"
- 
--#: dnf/base.py:320
-+#: dnf/base.py:327
- msgid "Metadata timer caching disabled when running on metered connection."
- msgstr "在使用按流量计费的连接时禁用元数据计时缓存。"
- 
--#: dnf/base.py:325
-+#: dnf/base.py:332
- msgid "Metadata timer caching disabled when running on a battery."
- msgstr "在使用电池时禁用元数据计时缓存。"
- 
--#: dnf/base.py:330
-+#: dnf/base.py:337
- msgid "Metadata timer caching disabled."
- msgstr "元数据计时缓存已禁用。"
- 
--#: dnf/base.py:335
-+#: dnf/base.py:342
- msgid "Metadata cache refreshed recently."
- msgstr "元数据缓存近期已刷新。"
- 
--#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
-+#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
- msgid "There are no enabled repositories in \"{}\"."
- msgstr "在\"{}\"中没有被启用的仓库。"
- 
--#: dnf/base.py:348
-+#: dnf/base.py:355
- #, python-format
- msgid "%s: will never be expired and will not be refreshed."
- msgstr "%s: 永远不过期并不会被刷新。"
- 
--#: dnf/base.py:350
-+#: dnf/base.py:357
- #, python-format
- msgid "%s: has expired and will be refreshed."
- msgstr "%s: 已过期并不会被刷新。"
- 
- #. expires within the checking period:
--#: dnf/base.py:354
-+#: dnf/base.py:361
- #, python-format
- msgid "%s: metadata will expire after %d seconds and will be refreshed now"
- msgstr "%s: 元数据将在 %d 秒后过期,现在将会被刷新"
- 
--#: dnf/base.py:358
-+#: dnf/base.py:365
- #, python-format
- msgid "%s: will expire after %d seconds."
- msgstr "%s: 将会在 %d 秒后过期。"
- 
- #. performs the md sync
--#: dnf/base.py:364
-+#: dnf/base.py:371
- msgid "Metadata cache created."
- msgstr "元数据缓存已建立。"
- 
--#: dnf/base.py:397
-+#: dnf/base.py:404 dnf/base.py:471
- #, python-format
- msgid "%s: using metadata from %s."
- msgstr "%s:正在使用截止于 %s 的元数据。"
- 
--#: dnf/base.py:409
-+#: dnf/base.py:416 dnf/base.py:484
- #, python-format
- msgid "Ignoring repositories: %s"
- msgstr "正在忽略仓库:%s"
- 
--#: dnf/base.py:412
-+#: dnf/base.py:419
- #, python-format
- msgid "Last metadata expiration check: %s ago on %s."
- msgstr "上次元数据过期检查:%s 前,执行于 %s。"
- 
--#: dnf/base.py:443
-+#: dnf/base.py:512
- msgid ""
- "The downloaded packages were saved in cache until the next successful "
- "transaction."
- msgstr "下载的软件包保存在缓存中,直到下次成功执行事务。"
- 
--#: dnf/base.py:445
-+#: dnf/base.py:514
- #, python-format
- msgid "You can remove cached packages by executing '%s'."
- msgstr "您可以通过执行 '%s' 删除软件包缓存。"
- 
--#: dnf/base.py:535
-+#: dnf/base.py:606
- #, python-format
- msgid "Invalid tsflag in config file: %s"
- msgstr "配置文件 %s 中使用 tsflag 是错误的"
- 
--#: dnf/base.py:591
-+#: dnf/base.py:662
- #, python-format
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr "为仓库 %s 添加组文件时失败:%s"
- 
--#: dnf/base.py:823
-+#: dnf/base.py:904
- msgid "Running transaction check"
- msgstr "运行事务检查"
- 
--#: dnf/base.py:831
-+#: dnf/base.py:912
- msgid "Error: transaction check vs depsolve:"
- msgstr "错误:事务检查与依赖解决错误:"
- 
--#: dnf/base.py:837
-+#: dnf/base.py:918
- msgid "Transaction check succeeded."
- msgstr "事务检查成功。"
- 
--#: dnf/base.py:840
-+#: dnf/base.py:921
- msgid "Running transaction test"
- msgstr "运行事务测试"
- 
--#: dnf/base.py:850 dnf/base.py:992
-+#: dnf/base.py:931 dnf/base.py:1082
- msgid "RPM: {}"
- msgstr "RPM软件包: {}"
- 
--#: dnf/base.py:851
-+#: dnf/base.py:932
- msgid "Transaction test error:"
- msgstr "事物测试失败:"
- 
--#: dnf/base.py:862
-+#: dnf/base.py:943
- msgid "Transaction test succeeded."
- msgstr "事务测试成功。"
- 
--#: dnf/base.py:883
-+#: dnf/base.py:964
- msgid "Running transaction"
- msgstr "运行事务"
- 
--#: dnf/base.py:911
-+#: dnf/base.py:1001
- msgid "Disk Requirements:"
- msgstr "磁盘需求:"
- 
--#: dnf/base.py:914
-+#: dnf/base.py:1004
- #, python-brace-format
- msgid "At least {0}MB more space needed on the {1} filesystem."
- msgid_plural "At least {0}MB more space needed on the {1} filesystem."
- msgstr[0] "在文件系统{1}上至少需要{0}MB的可用空间。"
- 
--#: dnf/base.py:921
-+#: dnf/base.py:1011
- msgid "Error Summary"
- msgstr "错误汇总"
- 
--#: dnf/base.py:947
-+#: dnf/base.py:1037
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDB 在 {prog} 外被改动了。"
- 
--#: dnf/base.py:993 dnf/base.py:1001
-+#: dnf/base.py:1083 dnf/base.py:1091
- msgid "Could not run transaction."
- msgstr "不能执行事务。"
- 
--#: dnf/base.py:996
-+#: dnf/base.py:1086
- msgid "Transaction couldn't start:"
- msgstr "事务无法启动:"
- 
--#: dnf/base.py:1010
-+#: dnf/base.py:1100
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr "移除事务文件 %s 失败"
- 
--#: dnf/base.py:1092
-+#: dnf/base.py:1182
- msgid "Some packages were not downloaded. Retrying."
- msgstr "某些软件包没有被下载。正在重试。"
- 
--#: dnf/base.py:1122
-+#: dnf/base.py:1212
- #, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
- msgstr "增量 RPM 将 %.1f MB 的更新减少至 %.1f MB(已节省 %d.1%% )"
- 
--#: dnf/base.py:1125
-+#: dnf/base.py:1215
- #, python-format
- msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
- msgstr "增量 RPM 未能将 %.1f MB 的更新减少至 %.1f MB(已浪费 %d.1%% )"
- 
--#: dnf/base.py:1167
-+#: dnf/base.py:1257
- msgid "Cannot add local packages, because transaction job already exists"
- msgstr "由于事物已经存在,无法添加本地软件包"
- 
--#: dnf/base.py:1181
-+#: dnf/base.py:1271
- msgid "Could not open: {}"
- msgstr "无法打开: {}"
- 
--#: dnf/base.py:1219
-+#: dnf/base.py:1309
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr "%s 的公钥没有安装"
- 
--#: dnf/base.py:1223
-+#: dnf/base.py:1313
- #, python-format
- msgid "Problem opening package %s"
- msgstr "打开软件包 %s 出现问题"
- 
--#: dnf/base.py:1231
-+#: dnf/base.py:1321
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr "%s 的公钥不可信任"
- 
--#: dnf/base.py:1235
-+#: dnf/base.py:1325
- #, python-format
- msgid "Package %s is not signed"
- msgstr "软件包 %s 没有签名"
- 
--#: dnf/base.py:1265
-+#: dnf/base.py:1355
- #, python-format
- msgid "Cannot remove %s"
- msgstr "无法删除 %s"
- 
--#: dnf/base.py:1269
-+#: dnf/base.py:1359
- #, python-format
- msgid "%s removed"
- msgstr "%s 已删除"
- 
--#: dnf/base.py:1549
-+#: dnf/base.py:1639
- msgid "No match for group package \"{}\""
- msgstr "没有和组 \"{}\" 匹配的"
- 
--#: dnf/base.py:1635
-+#: dnf/base.py:1725
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr "从组 '%s': %s 添加软件包"
- 
--#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
--#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
--#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
-+#: dnf/base.py:1748 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
-+#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
- #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
- msgid "Nothing to do."
- msgstr "无需任何处理。"
- 
--#: dnf/base.py:1676
-+#: dnf/base.py:1766
- msgid "No groups marked for removal."
- msgstr "没有软件包组需要移除。"
- 
--#: dnf/base.py:1710
-+#: dnf/base.py:1800
- msgid "No group marked for upgrade."
- msgstr "没有标记为要升级的组。"
- 
--#: dnf/base.py:1925
-+#: dnf/base.py:2014
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
- msgstr "软件包 %s 并没有能够安装,无法进行降级操作。"
- 
--#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
--#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
--#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
--#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
--#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
-+#: dnf/base.py:2016 dnf/base.py:2035 dnf/base.py:2048 dnf/base.py:2075
-+#: dnf/base.py:2128 dnf/base.py:2136 dnf/base.py:2270 dnf/cli/cli.py:417
-+#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
-+#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
-+#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
- #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
--#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
-+#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
- #, python-format
- msgid "No match for argument: %s"
- msgstr "未找到匹配的参数: %s"
- 
--#: dnf/base.py:1934
-+#: dnf/base.py:2023
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
- msgstr "软件包 %s 的低版本已经安装,无法进行降级。"
- 
--#: dnf/base.py:1957
-+#: dnf/base.py:2046
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
- msgstr "软件包 %s 未能够安装成功,无法进行重新安装。"
- 
--#: dnf/base.py:1972
-+#: dnf/base.py:2061
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
- msgstr "%s 文件无法被升级,已忽略。"
- 
--#: dnf/base.py:1978
-+#: dnf/base.py:2072
- #, python-format
- msgid "Package %s not installed, cannot update it."
- msgstr "软件包 %s 未安装,无法更新。"
- 
--#: dnf/base.py:1987
-+#: dnf/base.py:2082
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
- msgstr "已经安装了软件包%s的相同或更高版本,无法更新。"
- 
--#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2125 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
- msgstr "软件包 %s 可用,但没有被安装。"
- 
--#: dnf/base.py:2032
-+#: dnf/base.py:2131
- #, python-format
- msgid "Package %s available, but installed for different architecture."
- msgstr "软件包 %s 可用,当是为其它架构安装。"
- 
--#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
-+#: dnf/base.py:2156
- #, python-format
- msgid "No package %s installed."
- msgstr "没有软件包 %s 安装。"
- 
--#: dnf/base.py:2075 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2174 dnf/cli/commands/install.py:136
- #: dnf/cli/commands/remove.py:133
- #, python-format
- msgid "Not a valid form: %s"
- msgstr "无效: %s"
- 
--#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
--#: dnf/cli/commands/remove.py:163
-+#: dnf/base.py:2189 dnf/cli/commands/__init__.py:676
-+#: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
- msgstr "没有软件包需要移除。"
- 
--#: dnf/base.py:2179 dnf/cli/cli.py:422
-+#: dnf/base.py:2277 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
- msgstr "针对于参数 %s 的软件包可用, 但是目前没有安装。"
- 
--#: dnf/base.py:2184
-+#: dnf/base.py:2282
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
- msgstr "软件包 %s 的最低版本已经安装,无法再进行降级。"
- 
--#: dnf/base.py:2242
--msgid "Action not handled: {}"
--msgstr "操作没被处理:{}"
--
--#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
--#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
--#, python-format
--msgid "No package %s available."
--msgstr "没有可用的软件包 %s。"
--
--#: dnf/base.py:2269
--msgid "no package matched"
--msgstr "没有能够与之匹配的软件包"
--
--#: dnf/base.py:2290
-+#: dnf/base.py:2382
- msgid "No security updates needed, but {} update available"
- msgstr "没有必须的安全更新, 但是 {} 的更新可用"
- 
--#: dnf/base.py:2292
-+#: dnf/base.py:2384
- msgid "No security updates needed, but {} updates available"
- msgstr "没有必须的安全更新, 但是 {} 的更新可用"
- 
--#: dnf/base.py:2296
-+#: dnf/base.py:2388
- msgid "No security updates needed for \"{}\", but {} update available"
- msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用"
- 
--#: dnf/base.py:2298
-+#: dnf/base.py:2390
- msgid "No security updates needed for \"{}\", but {} updates available"
- msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用"
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2319
-+#: dnf/base.py:2411
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
--msgstr ""
-+msgstr "无法获取来自命令行的软件包的密钥:%s"
- 
--#: dnf/base.py:2327
-+#: dnf/base.py:2419
- #, python-format
- msgid ". Failing package is: %s"
- msgstr ". 失败的软件包是:%s"
- 
--#: dnf/base.py:2328
-+#: dnf/base.py:2420
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "GPG密钥配置为:%s"
- 
--#: dnf/base.py:2340
-+#: dnf/base.py:2432
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr "%s 的 GPG 公钥(0x%s)已安装"
- 
--#: dnf/base.py:2373
-+#: dnf/base.py:2468
- msgid "The key has been approved."
- msgstr "密钥已被确认。"
- 
--#: dnf/base.py:2376
-+#: dnf/base.py:2471
- msgid "The key has been rejected."
- msgstr "密钥已被拒绝。"
- 
--#: dnf/base.py:2409
-+#: dnf/base.py:2504
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "导入公钥失败(代码 %d)"
- 
--#: dnf/base.py:2411
-+#: dnf/base.py:2506
- msgid "Key imported successfully"
- msgstr "导入公钥成功"
- 
--#: dnf/base.py:2415
-+#: dnf/base.py:2510
- msgid "Didn't install any keys"
- msgstr "没有安装任何公钥"
- 
--#: dnf/base.py:2418
-+#: dnf/base.py:2513
- #, python-format
- msgid ""
- "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
-@@ -513,49 +500,49 @@ msgstr ""
- "仓库 \"%s\" 的 GPG 公钥已安装,但是不适用于此软件包。\n"
- "请检查此仓库的公钥 URL 是否配置正确。"
- 
--#: dnf/base.py:2429
-+#: dnf/base.py:2524
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr "导入的密钥没有公钥,错误的公钥?"
- 
--#: dnf/base.py:2482
-+#: dnf/base.py:2577
- msgid "  * Maybe you meant: {}"
- msgstr "  * 可能您的意思是:{}"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2609
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
- msgstr "软件包 \"{}\"(来自于本地仓库 \"{}\")的 checksum 不正确"
- 
--#: dnf/base.py:2517
-+#: dnf/base.py:2612
- msgid "Some packages from local repository have incorrect checksum"
- msgstr "本地仓库的一些软件包校验值(checksum)不正确,无法确定软件包完整"
- 
--#: dnf/base.py:2520
-+#: dnf/base.py:2615
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
- msgstr "软件包 \"{}\"(来自仓库 \"{}\")的 checksum 不正确"
- 
--#: dnf/base.py:2523
-+#: dnf/base.py:2618
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
- msgstr "以下软件包有无效缓存,因为使用了 \"--cacheonly\" 选项不能下载"
- 
--#: dnf/base.py:2541 dnf/base.py:2561
-+#: dnf/base.py:2636 dnf/base.py:2656
- msgid "No match for argument"
- msgstr "未找到匹配的参数"
- 
--#: dnf/base.py:2549 dnf/base.py:2569
-+#: dnf/base.py:2644 dnf/base.py:2664
- msgid "All matches were filtered out by exclude filtering for argument"
- msgstr "由于您的搜索参数,所有相关结果都已被滤掉"
- 
--#: dnf/base.py:2551
-+#: dnf/base.py:2646
- msgid "All matches were filtered out by modular filtering for argument"
- msgstr "所有的匹配结果均已经被参数的模块化过滤条件筛除"
- 
--#: dnf/base.py:2567
-+#: dnf/base.py:2662
- msgid "All matches were installed from a different repository for argument"
- msgstr "已从另一个仓库安装了参数的所有匹配"
- 
--#: dnf/base.py:2583
-+#: dnf/base.py:2709
- #, python-format
- msgid "Package %s is already installed."
- msgstr "软件包 %s 已安装。"
-@@ -575,8 +562,8 @@ msgstr "解析文件 \"%s\" 失败:%s"
- msgid "Cannot read file \"%s\": %s"
- msgstr "无法读取文件 \"%s\": %s"
- 
--#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
--#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
-+#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
-+#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
- #, python-format
- msgid "Config error: %s"
- msgstr "配置错误:%s"
-@@ -607,44 +594,44 @@ msgid ""
- "stream '{2}'"
- msgstr "这个操作会把模块 '{0}' 从流 '{1}' 切换到流 '{2}'"
- 
--#: dnf/cli/cli.py:172
-+#: dnf/cli/cli.py:173
- #, python-brace-format
- msgid ""
--"It is not possible to switch enabled streams of a module.\n"
--"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
-+"It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.\n"
-+"It is recommended to rather remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
- msgstr ""
--"无法切换已启用模块的流。\n"
--"推荐移除来自模块的所有已安装内容,然后通过 '{prog} module reset <module_name>' 命令重置模块。在您重置模块之后,就可以安装其他的流。"
-+"无法切换已启用模块的流,除非显式的通过配置选项 module_stream_switch 启用。\n"
-+"推荐直接移除来自模块的所有已安装内容,然后通过 '{prog} module reset <module_name>' 命令重置模块。在您重置模块之后,就可以安装其他的流。"
- 
--#: dnf/cli/cli.py:210
-+#: dnf/cli/cli.py:212
- #, python-brace-format
- msgid "{prog} will only download packages for the transaction."
- msgstr "{prog}将仅会从事务下载软件包。"
- 
--#: dnf/cli/cli.py:213
-+#: dnf/cli/cli.py:215
- #, python-brace-format
- msgid ""
- "{prog} will only download packages, install gpg keys, and check the "
- "transaction."
- msgstr "{prog}将仅会下载软件包,导入gpg密钥并检查事务。"
- 
--#: dnf/cli/cli.py:217
-+#: dnf/cli/cli.py:219
- msgid "Operation aborted."
- msgstr "操作中止。"
- 
--#: dnf/cli/cli.py:224
-+#: dnf/cli/cli.py:226
- msgid "Downloading Packages:"
- msgstr "下载软件包:"
- 
--#: dnf/cli/cli.py:230
-+#: dnf/cli/cli.py:232
- msgid "Error downloading packages:"
- msgstr "下载软件包出错 :"
- 
--#: dnf/cli/cli.py:258
-+#: dnf/cli/cli.py:264
- msgid "Transaction failed"
- msgstr "事务失败"
- 
--#: dnf/cli/cli.py:281
-+#: dnf/cli/cli.py:287
- msgid ""
- "Refusing to automatically import keys when running unattended.\n"
- "Use \"-y\" to override."
-@@ -652,116 +639,95 @@ msgstr ""
- "如果不加干预,拒绝自动导入公钥。\n"
- "指定 \"-y\" 改变这个行为。"
- 
--#: dnf/cli/cli.py:331
-+#: dnf/cli/cli.py:337
- msgid "Changelogs for {}"
- msgstr "{}的变更记录"
- 
--#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
-+#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
- msgid "Obsoleting Packages"
- msgstr "取代的软件包"
- 
--#: dnf/cli/cli.py:393
-+#: dnf/cli/cli.py:399
- msgid "No packages marked for distribution synchronization."
- msgstr "没有软件包需要发行版同步。"
- 
--#: dnf/cli/cli.py:428
-+#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
-+#, python-format
-+msgid "No package %s available."
-+msgstr "没有可用的软件包 %s。"
-+
-+#: dnf/cli/cli.py:434
- msgid "No packages marked for downgrade."
- msgstr "没有标记要降级的软件包。"
- 
--#: dnf/cli/cli.py:479
-+#: dnf/cli/cli.py:485
- msgid "Installed Packages"
- msgstr "已安装的软件包"
- 
--#: dnf/cli/cli.py:487
-+#: dnf/cli/cli.py:493
- msgid "Available Packages"
- msgstr "可安装的软件包"
- 
--#: dnf/cli/cli.py:491
-+#: dnf/cli/cli.py:497
- msgid "Autoremove Packages"
- msgstr "自动移除软件包"
- 
--#: dnf/cli/cli.py:493
-+#: dnf/cli/cli.py:499
- msgid "Extra Packages"
- msgstr "更多软件包"
- 
--#: dnf/cli/cli.py:497
-+#: dnf/cli/cli.py:503
- msgid "Available Upgrades"
- msgstr "可用升级"
- 
--#: dnf/cli/cli.py:513
-+#: dnf/cli/cli.py:519
- msgid "Recently Added Packages"
- msgstr "最近添加的软件包"
- 
--#: dnf/cli/cli.py:518
-+#: dnf/cli/cli.py:523
- msgid "No matching Packages to list"
- msgstr "没有匹配的软件包可以列出"
- 
--#: dnf/cli/cli.py:599
-+#: dnf/cli/cli.py:604
- msgid "No Matches found"
- msgstr "没有找到匹配的软件包"
- 
--#: dnf/cli/cli.py:609
--msgid "No transaction ID given"
--msgstr "没有事务 ID"
--
--#: dnf/cli/cli.py:614
--msgid "Not found given transaction ID"
--msgstr "未找到指定事务 ID"
--
--#: dnf/cli/cli.py:623
--msgid "Found more than one transaction ID!"
--msgstr "找到多个事务 ID!"
--
--#: dnf/cli/cli.py:640
--#, python-format
--msgid "Transaction history is incomplete, before %u."
--msgstr "在 %u 之前,事务历史不完整。"
--
--#: dnf/cli/cli.py:642
--#, python-format
--msgid "Transaction history is incomplete, after %u."
--msgstr "在 %u 之后,事务历史不完整。"
--
--#: dnf/cli/cli.py:689
--msgid "Undoing transaction {}, from {}"
--msgstr "撤销事务 {},从 {}"
--
--#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
-+#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
- #, python-format
- msgid "Unknown repo: '%s'"
- msgstr "未知仓库:'%s'"
- 
--#: dnf/cli/cli.py:783
-+#: dnf/cli/cli.py:685
- #, python-format
- msgid "No repository match: %s"
- msgstr "没有仓库匹配: %s"
- 
--#: dnf/cli/cli.py:817
-+#: dnf/cli/cli.py:719
- msgid ""
- "This command has to be run with superuser privileges (under the root user on"
- " most systems)."
- msgstr "运行此命令需要管理员特权(多数系统下是root用户)。"
- 
--#: dnf/cli/cli.py:847
-+#: dnf/cli/cli.py:749
- #, python-format
- msgid "No such command: %s. Please use %s --help"
- msgstr "未找到命令: %s。请使用 %s --help"
- 
--#: dnf/cli/cli.py:850
-+#: dnf/cli/cli.py:752
- #, python-format, python-brace-format
- msgid ""
- "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
- "command(%s)'\""
- msgstr "它可能是一个{PROG}插件命令,尝试:\"{prog} install 'dnf-command(%s)'\""
- 
--#: dnf/cli/cli.py:854
-+#: dnf/cli/cli.py:756
- #, python-brace-format
- msgid ""
- "It could be a {prog} plugin command, but loading of plugins is currently "
- "disabled."
- msgstr "这可能是一个 {prog} 插件的命令,但是插件的加载当前已经禁用。"
- 
--#: dnf/cli/cli.py:912
-+#: dnf/cli/cli.py:814
- msgid ""
- "--destdir or --downloaddir must be used with --downloadonly or download or "
- "system-upgrade command."
-@@ -769,51 +735,51 @@ msgstr ""
- "--destdir 或 --downloaddir 必须和 --downloadonly 或 download 或 system-upgrade "
- "命令一起使用。"
- 
--#: dnf/cli/cli.py:918
-+#: dnf/cli/cli.py:820
- msgid ""
- "--enable, --set-enabled and --disable, --set-disabled must be used with "
- "config-manager command."
- msgstr ""
- "--enable、--set-enabled 和 --disable、--set-disabled 必须和 config-manager 命令一起使用。"
- 
--#: dnf/cli/cli.py:1000
-+#: dnf/cli/cli.py:902
- msgid ""
- "Warning: Enforcing GPG signature check globally as per active RPM security "
- "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
- msgstr "警告:由于活动的RPM安全策略,强制执行全局GPG签名检查 (请参照dnf.conf(5)中的'gpgcheck'以了解如何阻止这条信息)"
- 
--#: dnf/cli/cli.py:1020
-+#: dnf/cli/cli.py:922
- msgid "Config file \"{}\" does not exist"
- msgstr "配置文件 \"{}\" 不存在"
- 
--#: dnf/cli/cli.py:1040
-+#: dnf/cli/cli.py:942
- msgid ""
- "Unable to detect release version (use '--releasever' to specify release "
- "version)"
- msgstr "无法找到发布版本(可用 '--releasever' 指定版本)"
- 
--#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
-+#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
- msgid "argument {}: not allowed with argument {}"
- msgstr "参数 {}:不允许与参数 {} 一起使用"
- 
--#: dnf/cli/cli.py:1134
-+#: dnf/cli/cli.py:1023
- #, python-format
- msgid "Command \"%s\" already defined"
- msgstr "命令 \"%s\" 已有定义"
- 
--#: dnf/cli/cli.py:1154
-+#: dnf/cli/cli.py:1043
- msgid "Excludes in dnf.conf: "
- msgstr "在 dnf.conf 中排除: "
- 
--#: dnf/cli/cli.py:1157
-+#: dnf/cli/cli.py:1046
- msgid "Includes in dnf.conf: "
- msgstr "在 dnf.conf 中包括: "
- 
--#: dnf/cli/cli.py:1160
-+#: dnf/cli/cli.py:1049
- msgid "Excludes in repo "
- msgstr "在 repo 中排除 "
- 
--#: dnf/cli/cli.py:1163
-+#: dnf/cli/cli.py:1052
- msgid "Includes in repo "
- msgstr "在 repo 中包括 "
- 
-@@ -865,38 +831,38 @@ msgstr "问题仓库:%s"
- msgid "display details about a package or group of packages"
- msgstr "显示关于软件包或软件包组的详细信息"
- 
--#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
-+#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
- msgid "show all packages (default)"
- msgstr "显示所有的软件包(默认)"
- 
--#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
--#: dnf/cli/commands/module.py:351
-+#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
-+#: dnf/cli/commands/module.py:376
- msgid "show only available packages"
- msgstr "只显示可用的软件包"
- 
--#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
-+#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
- msgid "show only installed packages"
- msgstr "只显示已安装的软件包"
- 
--#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
-+#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
- msgid "show only extras packages"
- msgstr "只显示额外的软件包"
- 
- #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
--#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
-+#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
- msgid "show only upgrades packages"
- msgstr "只显示需要被升级的软件包"
- 
--#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
-+#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
- msgid "show only autoremove packages"
- msgstr "只显示需要被删除的软件包"
- 
--#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
-+#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
- msgid "show only recently changed packages"
- msgstr "限制最近被改变的软件包"
- 
- #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
--#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
-+#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
- #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
- #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
- msgid "PACKAGE"
-@@ -934,70 +900,70 @@ msgstr "检查是否有软件包升级"
- msgid "show changelogs before update"
- msgstr "在更新前显示Changelog"
- 
--#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
--#: dnf/cli/commands/__init__.py:470
-+#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
-+#: dnf/cli/commands/__init__.py:465
- msgid "No package available."
- msgstr "没有可用软件包。"
- 
--#: dnf/cli/commands/__init__.py:376
-+#: dnf/cli/commands/__init__.py:371
- msgid "No packages marked for install."
- msgstr "没有标记要安装的软件包。"
- 
--#: dnf/cli/commands/__init__.py:412
-+#: dnf/cli/commands/__init__.py:407
- msgid "No package installed."
- msgstr "没有软件包安装。"
- 
--#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
-+#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
- #: dnf/cli/commands/reinstall.py:91
- #, python-format
- msgid " (from %s)"
- msgstr " (来自 %s)"
- 
--#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
-+#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
- #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
- #, python-format
- msgid "Installed package %s%s not available."
- msgstr "已安装的软件包%s%s已不可用。"
- 
--#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
--#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
-+#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
-+#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
- msgid "No package installed from the repository."
- msgstr "没有从仓库安装任何软件包。"
- 
--#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
-+#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
- msgid "No packages marked for reinstall."
- msgstr "没有标记要重新安装的软件包。"
- 
--#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
-+#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
- msgid "No packages marked for upgrade."
- msgstr "没有软件包需要升级。"
- 
--#: dnf/cli/commands/__init__.py:726
-+#: dnf/cli/commands/__init__.py:721
- msgid "run commands on top of all packages in given repository"
- msgstr "对指定仓库中的所有软件包运行命令"
- 
--#: dnf/cli/commands/__init__.py:765
-+#: dnf/cli/commands/__init__.py:760
- msgid "REPOID"
- msgstr "REPOID"
- 
--#: dnf/cli/commands/__init__.py:765
-+#: dnf/cli/commands/__init__.py:760
- msgid "Repository ID"
- msgstr "仓库ID"
- 
--#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
-+#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
- #: dnf/cli/commands/updateinfo.py:108
- msgid "Package specification"
- msgstr "软件包规格"
- 
--#: dnf/cli/commands/__init__.py:801
-+#: dnf/cli/commands/__init__.py:796
- msgid "display a helpful usage message"
- msgstr "显示一个有帮助的用法信息"
- 
--#: dnf/cli/commands/__init__.py:805
-+#: dnf/cli/commands/__init__.py:800
- msgid "COMMAND"
- msgstr "命令"
- 
--#: dnf/cli/commands/__init__.py:806
-+#: dnf/cli/commands/__init__.py:801
- #, python-brace-format
- msgid "{prog} command to get help for"
- msgstr "要获得帮助的 {prog} 命令"
-@@ -1168,8 +1134,10 @@ msgid "Waiting for process with pid %d to finish."
- msgstr "正在等待 pid 为%d的进程退出。"
- 
- #: dnf/cli/commands/deplist.py:32
--msgid "List package's dependencies and what packages provide them"
--msgstr "列出软件包的依赖关系和提供这些软件包的源"
-+msgid ""
-+"[deprecated, use repoquery --deplist] List package's dependencies and what "
-+"packages provide them"
-+msgstr "[已弃用,请使用 repoquery --deplist] 列出软件包的依赖关系和提供这些软件包的源"
- 
- #: dnf/cli/commands/distrosync.py:32
- msgid "synchronize installed packages to the latest available versions"
-@@ -1195,78 +1163,78 @@ msgstr "显示或使用组信息"
- msgid "No group data available for configured repositories."
- msgstr "配置的软件源不包含组数据。"
- 
--#: dnf/cli/commands/group.py:129
-+#: dnf/cli/commands/group.py:126
- #, python-format
- msgid "Warning: Group %s does not exist."
- msgstr "警告:组 %s 不存在。"
- 
--#: dnf/cli/commands/group.py:170
-+#: dnf/cli/commands/group.py:167
- msgid "Warning: No groups match:"
- msgstr "警告:没有匹配的组:"
- 
--#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
--#: dnf/cli/output.py:1226
-+#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
-+#: dnf/cli/output.py:1139
- msgid "<name-unset>"
- msgstr "<名称-未设定>"
- 
--#: dnf/cli/commands/group.py:199
-+#: dnf/cli/commands/group.py:196
- msgid "Available Environment Groups:"
- msgstr "可用环境组:"
- 
--#: dnf/cli/commands/group.py:201
-+#: dnf/cli/commands/group.py:198
- msgid "Installed Environment Groups:"
- msgstr "已安装的环境组:"
- 
--#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
-+#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
- msgid "Installed Groups:"
- msgstr "已安装组:"
- 
--#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
-+#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
- msgid "Installed Language Groups:"
- msgstr "已安装语言组:"
- 
--#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
-+#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
- msgid "Available Groups:"
- msgstr "可用组:"
- 
--#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
-+#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
- msgid "Available Language Groups:"
- msgstr "可用语言组:"
- 
--#: dnf/cli/commands/group.py:322
-+#: dnf/cli/commands/group.py:319
- msgid "include optional packages from group"
- msgstr "包含可选软件包"
- 
--#: dnf/cli/commands/group.py:325
-+#: dnf/cli/commands/group.py:322
- msgid "show also hidden groups"
- msgstr "同时显示已隐藏的软件组"
- 
--#: dnf/cli/commands/group.py:327
-+#: dnf/cli/commands/group.py:324
- msgid "show only installed groups"
- msgstr "只显示已安装的软件组"
- 
--#: dnf/cli/commands/group.py:329
-+#: dnf/cli/commands/group.py:326
- msgid "show only available groups"
- msgstr "只显示可获得的团队"
- 
--#: dnf/cli/commands/group.py:331
-+#: dnf/cli/commands/group.py:328
- msgid "show also ID of groups"
- msgstr "同时显示组的 ID"
- 
--#: dnf/cli/commands/group.py:333
-+#: dnf/cli/commands/group.py:330
- msgid "available subcommands: {} (default), {}"
- msgstr "可用的子命令:{} (默认), {}"
- 
--#: dnf/cli/commands/group.py:337
-+#: dnf/cli/commands/group.py:334
- msgid "argument for group subcommand"
- msgstr "组子命令的参数"
- 
--#: dnf/cli/commands/group.py:346
-+#: dnf/cli/commands/group.py:343
- #, python-format
- msgid "Invalid groups sub-command, use: %s."
- msgstr "无效的组子命令,请使用:%s 。"
- 
--#: dnf/cli/commands/group.py:403
-+#: dnf/cli/commands/group.py:398
- msgid "Unable to find a mandatory group package."
- msgstr "无法找到一个必须的组软件包。"
- 
-@@ -1276,25 +1244,25 @@ msgstr "显示或使用事务历史"
- 
- #: dnf/cli/commands/history.py:66
- msgid "For the store command, file path to store the transaction to"
--msgstr ""
-+msgstr "对于 store 命令,要将事务保存到的文件路径"
- 
- #: dnf/cli/commands/history.py:68
- msgid ""
- "For the replay command, don't check for installed packages matching those in"
- " transaction"
--msgstr ""
-+msgstr "对于 replay 命令,不要检查已安装的包是否与事务中符合"
- 
- #: dnf/cli/commands/history.py:71
- msgid ""
- "For the replay command, don't check for extra packages pulled into the "
- "transaction"
--msgstr ""
-+msgstr "对于 replay 命令,不要检查被拉入事务的额外的包"
- 
- #: dnf/cli/commands/history.py:74
- msgid ""
- "For the replay command, skip packages that are not available or have missing"
- " dependencies"
--msgstr ""
-+msgstr "对于 replay 命令,跳过不可用或者缺少依赖项的软件包"
- 
- #: dnf/cli/commands/history.py:94
- msgid ""
-@@ -1305,41 +1273,64 @@ msgstr ""
- "'{}' 需要一个事务 ID 或软件包名。"
- 
- #: dnf/cli/commands/history.py:101
--#, fuzzy
--#| msgid "No transaction ID or package name given."
- msgid "No transaction file name given."
--msgstr "没有提供事务 ID 或软件包名。"
-+msgstr "没有指定事务文件名。"
- 
- #: dnf/cli/commands/history.py:103
--#, fuzzy
--#| msgid "Failed to remove transaction file %s"
- msgid "More than one argument given as transaction file name."
--msgstr "移除事务文件 %s 失败"
-+msgstr "提供了多于一个的作为事务文件名的参数。"
- 
--#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
-+#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
- msgid "No transaction ID or package name given."
- msgstr "没有提供事务 ID 或软件包名。"
- 
--#: dnf/cli/commands/history.py:138
-+#: dnf/cli/commands/history.py:142
- #, python-format
- msgid "You don't have access to the history DB: %s"
- msgstr "你没有权限访问历史数据库:%s"
- 
--#: dnf/cli/commands/history.py:147
-+#: dnf/cli/commands/history.py:151
- #, python-format
- msgid ""
- "Cannot undo transaction %s, doing so would result in an inconsistent package"
- " database."
- msgstr "无法撤销事务 %s,这样做将可能导致不一致的软件包数据库。"
- 
--#: dnf/cli/commands/history.py:152
-+#: dnf/cli/commands/history.py:156
- #, python-format
- msgid ""
- "Cannot rollback transaction %s, doing so would result in an inconsistent "
- "package database."
- msgstr "无法回滚事务 %s,这样做将可能导致不一致的软件包数据库。"
- 
--#: dnf/cli/commands/history.py:222
-+#: dnf/cli/commands/history.py:175
-+msgid "No transaction ID given"
-+msgstr "没有事务 ID"
-+
-+#: dnf/cli/commands/history.py:179
-+#, python-brace-format
-+msgid "Transaction ID \"{0}\" not found."
-+msgstr "事务 ID \"{0}\" 未找到。"
-+
-+#: dnf/cli/commands/history.py:185
-+msgid "Found more than one transaction ID!"
-+msgstr "找到多个事务 ID!"
-+
-+#: dnf/cli/commands/history.py:203
-+#, python-format
-+msgid "Transaction history is incomplete, before %u."
-+msgstr "在 %u 之前,事务历史不完整。"
-+
-+#: dnf/cli/commands/history.py:205
-+#, python-format
-+msgid "Transaction history is incomplete, after %u."
-+msgstr "在 %u 之后,事务历史不完整。"
-+
-+#: dnf/cli/commands/history.py:256
-+msgid "No packages to list"
-+msgstr "没有可以列出的软件包"
-+
-+#: dnf/cli/commands/history.py:279
- msgid ""
- "Invalid transaction ID range definition '{}'.\n"
- "Use '<transaction-id>..<transaction-id>'."
-@@ -1347,7 +1338,7 @@ msgstr ""
- "无效的事务 ID 范围定义 '{}'。\n"
- "使用 '<transaction-id>..<transaction-id>'。"
- 
--#: dnf/cli/commands/history.py:226
-+#: dnf/cli/commands/history.py:283
- msgid ""
- "Can't convert '{}' to transaction ID.\n"
- "Use '<number>', 'last', 'last-<number>'."
-@@ -1355,40 +1346,29 @@ msgstr ""
- "无法将 '{}' 转换为事务 ID。\n"
- "请使用 '<number>'、'last'、'last-<number>'。"
- 
--#: dnf/cli/commands/history.py:255
-+#: dnf/cli/commands/history.py:312
- msgid "No transaction which manipulates package '{}' was found."
- msgstr "没有找到操作软件包 '{}' 的事务。"
- 
--#: dnf/cli/commands/history.py:305
--#, fuzzy, python-brace-format
--#| msgid "TransactionItem not found for key: {}"
--msgid "Transaction ID \"{id}\" not found."
--msgstr "找不到键的 TransactionItem: {}"
--
--#: dnf/cli/commands/history.py:313
-+#: dnf/cli/commands/history.py:357
- msgid "{} exists, overwrite?"
--msgstr ""
-+msgstr "{} 已存在,是否覆盖?"
- 
--#: dnf/cli/commands/history.py:316
-+#: dnf/cli/commands/history.py:360
- msgid "Not overwriting {}, exiting."
--msgstr ""
-+msgstr "不覆盖 {},退出。"
- 
--#: dnf/cli/commands/history.py:323
--#, fuzzy
--#| msgid "Transaction failed"
-+#: dnf/cli/commands/history.py:367
- msgid "Transaction saved to {}."
--msgstr "事务失败"
-+msgstr "事务已保存至 {}。"
- 
--#: dnf/cli/commands/history.py:326
--#, fuzzy
--#| msgid "Errors occurred during transaction."
-+#: dnf/cli/commands/history.py:370
- msgid "Error storing transaction: {}"
--msgstr "事务过程中出现错误。"
-+msgstr "存储事务时出现错误:{}"
- 
--#: dnf/cli/commands/history.py:350
--msgid ""
--"Warning, the following problems occurred while replaying the transaction:"
--msgstr ""
-+#: dnf/cli/commands/history.py:386
-+msgid "Warning, the following problems occurred while running a transaction:"
-+msgstr "警告,在运行事务时出现了下列问题:"
- 
- #: dnf/cli/commands/install.py:47
- msgid "install a package or packages on your system"
-@@ -1407,7 +1387,7 @@ msgstr "没有任何匹配"
- msgid "Not a valid rpm file path: %s"
- msgstr "RPM文件路径错误:%s"
- 
--#: dnf/cli/commands/install.py:167
-+#: dnf/cli/commands/install.py:166
- #, python-brace-format
- msgid "There are following alternatives for \"{0}\": {1}"
- msgstr "以下是 \"{0}\" 的替代 : {1}"
-@@ -1450,7 +1430,7 @@ msgid "%s marked as group installed."
- msgstr "%s 已标记为已安装软件组。"
- 
- #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
--#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
-+#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
- msgid "Error:"
- msgstr "错误:"
- 
-@@ -1459,89 +1439,93 @@ msgstr "错误:"
- msgid "Package %s is not installed."
- msgstr "软件包 %s 尚未安装。"
- 
--#: dnf/cli/commands/module.py:51
-+#: dnf/cli/commands/module.py:54
- msgid ""
- "Only module name, stream, architecture or profile is used. Ignoring unneeded"
- " information in argument: '{}'"
- msgstr "仅使用模块名称、流、架构或者配置文件。忽略参数中不需要的信息:'{}'"
- 
--#: dnf/cli/commands/module.py:77
-+#: dnf/cli/commands/module.py:80
- msgid "list all module streams, profiles and states"
- msgstr "列出所有模块流、配置文件以及状态"
- 
--#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
-+#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
- msgid "No matching Modules to list"
- msgstr "没有匹配的模块可以列出"
- 
--#: dnf/cli/commands/module.py:111
-+#: dnf/cli/commands/module.py:114
- msgid "print detailed information about a module"
- msgstr "打印关于一个模块的详细信息"
- 
--#: dnf/cli/commands/module.py:133
-+#: dnf/cli/commands/module.py:136
- msgid "enable a module stream"
- msgstr "启用一个模块流"
- 
--#: dnf/cli/commands/module.py:157
-+#: dnf/cli/commands/module.py:160
- msgid "disable a module with all its streams"
- msgstr "停用一个模块及其所有的流"
- 
--#: dnf/cli/commands/module.py:181
-+#: dnf/cli/commands/module.py:184
- msgid "reset a module"
- msgstr "重置一个模块"
- 
--#: dnf/cli/commands/module.py:202
-+#: dnf/cli/commands/module.py:205
- msgid "install a module profile including its packages"
- msgstr "安装一个包含其软件包的模块配置文件"
- 
--#: dnf/cli/commands/module.py:223
-+#: dnf/cli/commands/module.py:226
- msgid "update packages associated with an active stream"
- msgstr "升级与一个已激活的流相关联的软件包"
- 
--#: dnf/cli/commands/module.py:240
-+#: dnf/cli/commands/module.py:243
- msgid "remove installed module profiles and their packages"
- msgstr "移除已经安装的模块配置文件及其软件包"
- 
--#: dnf/cli/commands/module.py:264
-+#: dnf/cli/commands/module.py:267
- msgid "Package {} belongs to multiple modules, skipping"
- msgstr "软件包 {} 属于多个模块,正在跳过"
- 
--#: dnf/cli/commands/module.py:277
-+#: dnf/cli/commands/module.py:280
-+msgid "switch a module to a stream and distrosync rpm packages"
-+msgstr "切换一个模块到某个流并且对 rpm 软件包进行 distrosync"
-+
-+#: dnf/cli/commands/module.py:302
- msgid "list modular packages"
- msgstr "列出模块包"
- 
--#: dnf/cli/commands/module.py:292
-+#: dnf/cli/commands/module.py:317
- msgid "list packages belonging to a module"
- msgstr "列出属于一个模块的软件包"
- 
--#: dnf/cli/commands/module.py:327
-+#: dnf/cli/commands/module.py:352
- msgid "Interact with Modules."
- msgstr "与模块交互。"
- 
--#: dnf/cli/commands/module.py:340
-+#: dnf/cli/commands/module.py:365
- msgid "show only enabled modules"
- msgstr "只显示启用的模块"
- 
--#: dnf/cli/commands/module.py:343
-+#: dnf/cli/commands/module.py:368
- msgid "show only disabled modules"
- msgstr "只显示禁用的模块"
- 
--#: dnf/cli/commands/module.py:346
-+#: dnf/cli/commands/module.py:371
- msgid "show only installed modules or packages"
- msgstr "只显示已安装的模块或者软件包"
- 
--#: dnf/cli/commands/module.py:349
-+#: dnf/cli/commands/module.py:374
- msgid "show profile content"
- msgstr "显示档案内容"
- 
--#: dnf/cli/commands/module.py:354
-+#: dnf/cli/commands/module.py:379
- msgid "remove all modular packages"
- msgstr "移除所有模块包"
- 
--#: dnf/cli/commands/module.py:364
-+#: dnf/cli/commands/module.py:389
- msgid "Module specification"
- msgstr "模块规格"
- 
--#: dnf/cli/commands/module.py:386
-+#: dnf/cli/commands/module.py:411
- msgid "{} {} {}: too few arguments"
- msgstr "{} {} {}: 参数太少"
- 
-@@ -2026,22 +2010,22 @@ msgstr "KEYWORD"
- msgid "Keyword to search for"
- msgstr "要搜索的关键字"
- 
--#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
-+#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
- msgctxt "long"
- msgid "Name"
- msgstr "名称"
- 
--#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
-+#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
- msgctxt "long"
- msgid "Summary"
- msgstr "概况"
- 
--#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
-+#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
- msgctxt "long"
- msgid "Description"
- msgstr "描述"
- 
--#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
-+#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
- msgid "URL"
- msgstr "URL"
- 
-@@ -2184,16 +2168,16 @@ msgstr ""
- "run                      解析以及运行事务集\n"
- "exit (或 quit)           退出 shell"
- 
--#: dnf/cli/commands/shell.py:259
-+#: dnf/cli/commands/shell.py:262
- #, python-format
- msgid "Error: Cannot open %s for reading"
- msgstr "错误:无法打开%s来读取"
- 
--#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
-+#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
- msgid "Complete!"
- msgstr "完毕!"
- 
--#: dnf/cli/commands/shell.py:291
-+#: dnf/cli/commands/shell.py:294
- msgid "Leaving Shell"
- msgstr "离开终端"
- 
-@@ -2384,8 +2368,8 @@ msgstr "严重性"
- msgid "Files"
- msgstr "文件"
- 
--#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
--#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
-+#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
-+#: dnf/cli/output.py:1656 dnf/util.py:617
- msgid "Installed"
- msgstr "已安装"
- 
-@@ -2706,13 +2690,13 @@ msgstr "无法编码参数 '%s': %s"
- #. Translators: This is abbreviated 'Name'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:505
-+#: dnf/cli/output.py:459
- msgctxt "short"
- msgid "Name"
- msgstr "名称"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:511
-+#: dnf/cli/output.py:465
- msgid "Epoch"
- msgstr "时期"
- 
-@@ -2720,38 +2704,38 @@ msgstr "时期"
- #. use the full (unabbreviated) term 'Version' if you think that
- #. the translation to your language is not too long and will
- #. always fit to limited space.
--#: dnf/cli/output.py:512 dnf/cli/output.py:1335
-+#: dnf/cli/output.py:466 dnf/cli/output.py:1248
- msgctxt "short"
- msgid "Version"
- msgstr "版本"
- 
- #. Translators: This is the full (unabbreviated) term 'Version'.
--#: dnf/cli/output.py:513 dnf/cli/output.py:1337
-+#: dnf/cli/output.py:467 dnf/cli/output.py:1250
- msgctxt "long"
- msgid "Version"
- msgstr "版本"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:516
-+#: dnf/cli/output.py:470
- msgid "Release"
- msgstr "发布"
- 
- #. Translators: This is abbreviated 'Architecture', used when
- #. we have not enough space to display the full word.
--#: dnf/cli/output.py:517 dnf/cli/output.py:1326
-+#: dnf/cli/output.py:471 dnf/cli/output.py:1239
- msgctxt "short"
- msgid "Arch"
- msgstr "架构"
- 
- #. Translators: This is the full word 'Architecture', used when
- #. we have enough space.
--#: dnf/cli/output.py:518 dnf/cli/output.py:1329
-+#: dnf/cli/output.py:472 dnf/cli/output.py:1242
- msgctxt "long"
- msgid "Architecture"
- msgstr "架构"
- 
- #. Translators: This is the full (unabbreviated) term 'Size'.
--#: dnf/cli/output.py:520 dnf/cli/output.py:1352
-+#: dnf/cli/output.py:474 dnf/cli/output.py:1265
- msgctxt "long"
- msgid "Size"
- msgstr "大小"
-@@ -2760,32 +2744,32 @@ msgstr "大小"
- #. not be longer than 5 characters. If the term 'Size' in your
- #. language is not longer than 5 characters then you can use it
- #. unabbreviated.
--#: dnf/cli/output.py:520 dnf/cli/output.py:1350
-+#: dnf/cli/output.py:474 dnf/cli/output.py:1263
- msgctxt "short"
- msgid "Size"
- msgstr "大小"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:524
-+#: dnf/cli/output.py:478
- msgid "Source"
- msgstr "源"
- 
- #. Translators: This is abbreviated 'Repository', used when
- #. we have not enough space to display the full word.
--#: dnf/cli/output.py:525 dnf/cli/output.py:1341
-+#: dnf/cli/output.py:479 dnf/cli/output.py:1254
- msgctxt "short"
- msgid "Repo"
- msgstr "仓库"
- 
- #. Translators: This is the full word 'Repository', used when
- #. we have enough space.
--#: dnf/cli/output.py:526 dnf/cli/output.py:1344
-+#: dnf/cli/output.py:480 dnf/cli/output.py:1257
- msgctxt "long"
- msgid "Repository"
- msgstr "仓库"
- 
- #. Translators: This message should be no longer than 12 chars.
--#: dnf/cli/output.py:533
-+#: dnf/cli/output.py:487
- msgid "From repo"
- msgstr "来自仓库"
- 
-@@ -2793,312 +2777,308 @@ msgstr "来自仓库"
- #. print(_("Committer   : %s") % ucd(pkg.committer))
- #. print(_("Committime  : %s") % time.ctime(pkg.committime))
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:539
-+#: dnf/cli/output.py:493
- msgid "Packager"
- msgstr "打包者"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:541
-+#: dnf/cli/output.py:495
- msgid "Buildtime"
- msgstr "构建时间"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:545
-+#: dnf/cli/output.py:499
- msgid "Install time"
- msgstr "安装时间"
- 
- #. Translators: This message should be no longer than 12 chars.
--#: dnf/cli/output.py:554
-+#: dnf/cli/output.py:508
- msgid "Installed by"
- msgstr "安装者"
- 
- #. Translators: This is abbreviated 'Summary'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:558
-+#: dnf/cli/output.py:512
- msgctxt "short"
- msgid "Summary"
- msgstr "概况"
- 
- #. Translators: This message should be no longer than 12 characters.
--#: dnf/cli/output.py:564
-+#: dnf/cli/output.py:518
- msgid "License"
- msgstr "协议"
- 
- #. Translators: This is abbreviated 'Description'. Should be no longer
- #. than 12 characters. You can use the full version if it is short
- #. enough in your language.
--#: dnf/cli/output.py:568
-+#: dnf/cli/output.py:522
- msgctxt "short"
- msgid "Description"
- msgstr "描述"
- 
--#: dnf/cli/output.py:695
--msgid "No packages to list"
--msgstr "没有可以列出的软件包"
--
--#: dnf/cli/output.py:706
-+#: dnf/cli/output.py:650
- msgid "y"
- msgstr "y"
- 
--#: dnf/cli/output.py:706
-+#: dnf/cli/output.py:650
- msgid "yes"
- msgstr "是"
- 
--#: dnf/cli/output.py:707
-+#: dnf/cli/output.py:651
- msgid "n"
- msgstr "n"
- 
--#: dnf/cli/output.py:707
-+#: dnf/cli/output.py:651
- msgid "no"
- msgstr "否"
- 
--#: dnf/cli/output.py:711
-+#: dnf/cli/output.py:655
- msgid "Is this ok [y/N]: "
- msgstr "确定吗?[y/N]: "
- 
--#: dnf/cli/output.py:715
-+#: dnf/cli/output.py:659
- msgid "Is this ok [Y/n]: "
- msgstr "确定吗?[Y/n]: "
- 
--#: dnf/cli/output.py:795
-+#: dnf/cli/output.py:739
- #, python-format
- msgid "Group: %s"
- msgstr "组:%s"
- 
--#: dnf/cli/output.py:799
-+#: dnf/cli/output.py:743
- #, python-format
- msgid " Group-Id: %s"
- msgstr " 组编号:%s"
- 
--#: dnf/cli/output.py:801 dnf/cli/output.py:840
-+#: dnf/cli/output.py:745 dnf/cli/output.py:784
- #, python-format
- msgid " Description: %s"
- msgstr " 描述:%s"
- 
--#: dnf/cli/output.py:803
-+#: dnf/cli/output.py:747
- #, python-format
- msgid " Language: %s"
- msgstr " 语言:%s"
- 
--#: dnf/cli/output.py:806
-+#: dnf/cli/output.py:750
- msgid " Mandatory Packages:"
- msgstr " 必要的软件包:"
- 
--#: dnf/cli/output.py:807
-+#: dnf/cli/output.py:751
- msgid " Default Packages:"
- msgstr " 默认的软件包:"
- 
--#: dnf/cli/output.py:808
-+#: dnf/cli/output.py:752
- msgid " Optional Packages:"
- msgstr " 可选的软件包:"
- 
--#: dnf/cli/output.py:809
-+#: dnf/cli/output.py:753
- msgid " Conditional Packages:"
- msgstr " 可能的软件包:"
- 
--#: dnf/cli/output.py:834
-+#: dnf/cli/output.py:778
- #, python-format
- msgid "Environment Group: %s"
- msgstr "环境组:%s"
- 
--#: dnf/cli/output.py:837
-+#: dnf/cli/output.py:781
- #, python-format
- msgid " Environment-Id: %s"
- msgstr " 环境-Id:%s"
- 
--#: dnf/cli/output.py:843
-+#: dnf/cli/output.py:787
- msgid " Mandatory Groups:"
- msgstr " 必选软件包组:"
- 
--#: dnf/cli/output.py:844
-+#: dnf/cli/output.py:788
- msgid " Optional Groups:"
- msgstr " 可选软件包组:"
- 
--#: dnf/cli/output.py:865
-+#: dnf/cli/output.py:809
- msgid "Matched from:"
- msgstr "匹配来源:"
- 
--#: dnf/cli/output.py:879
-+#: dnf/cli/output.py:823
- #, python-format
- msgid "Filename    : %s"
- msgstr "文件名    :%s"
- 
--#: dnf/cli/output.py:904
-+#: dnf/cli/output.py:848
- #, python-format
- msgid "Repo        : %s"
- msgstr "仓库        :%s"
- 
--#: dnf/cli/output.py:913
-+#: dnf/cli/output.py:857
- msgid "Description : "
- msgstr "描述: "
- 
--#: dnf/cli/output.py:917
-+#: dnf/cli/output.py:861
- #, python-format
- msgid "URL         : %s"
- msgstr "网址         :%s"
- 
--#: dnf/cli/output.py:921
-+#: dnf/cli/output.py:865
- #, python-format
- msgid "License     : %s"
- msgstr "协议     :%s"
- 
--#: dnf/cli/output.py:927
-+#: dnf/cli/output.py:871
- #, python-format
- msgid "Provide    : %s"
- msgstr "提供    : %s"
- 
--#: dnf/cli/output.py:947
-+#: dnf/cli/output.py:891
- #, python-format
- msgid "Other       : %s"
- msgstr "其它       : %s"
- 
--#: dnf/cli/output.py:996
-+#: dnf/cli/output.py:940
- msgid "There was an error calculating total download size"
- msgstr "计算总下载量时出错"
- 
--#: dnf/cli/output.py:1002
-+#: dnf/cli/output.py:946
- #, python-format
- msgid "Total size: %s"
- msgstr "总计:%s"
- 
--#: dnf/cli/output.py:1005
-+#: dnf/cli/output.py:949
- #, python-format
- msgid "Total download size: %s"
- msgstr "总下载:%s"
- 
--#: dnf/cli/output.py:1008
-+#: dnf/cli/output.py:952
- #, python-format
- msgid "Installed size: %s"
- msgstr "安装大小:%s"
- 
--#: dnf/cli/output.py:1026
-+#: dnf/cli/output.py:970
- msgid "There was an error calculating installed size"
- msgstr "计算安装大小时出错"
- 
--#: dnf/cli/output.py:1030
-+#: dnf/cli/output.py:974
- #, python-format
- msgid "Freed space: %s"
- msgstr "将会释放空间:%s"
- 
--#: dnf/cli/output.py:1039
-+#: dnf/cli/output.py:983
- msgid "Marking packages as installed by the group:"
- msgstr "标记软件包为遵循软件包组安装的:"
- 
--#: dnf/cli/output.py:1046
-+#: dnf/cli/output.py:990
- msgid "Marking packages as removed by the group:"
- msgstr "标记软件包为遵循软件包组移除的:"
- 
--#: dnf/cli/output.py:1056
-+#: dnf/cli/output.py:1000
- msgid "Group"
- msgstr "组"
- 
--#: dnf/cli/output.py:1056
-+#: dnf/cli/output.py:1000
- msgid "Packages"
- msgstr "软件包"
- 
--#: dnf/cli/output.py:1133
-+#: dnf/cli/output.py:1046
- msgid "Installing group/module packages"
- msgstr "安装组/模块包"
- 
--#: dnf/cli/output.py:1134
-+#: dnf/cli/output.py:1047
- msgid "Installing group packages"
- msgstr "安装软件包组"
- 
- #. TRANSLATORS: This is for a list of packages to be installed.
--#: dnf/cli/output.py:1138
-+#: dnf/cli/output.py:1051
- msgctxt "summary"
- msgid "Installing"
- msgstr "安装"
- 
- #. TRANSLATORS: This is for a list of packages to be upgraded.
--#: dnf/cli/output.py:1140
-+#: dnf/cli/output.py:1053
- msgctxt "summary"
- msgid "Upgrading"
- msgstr "升级"
- 
- #. TRANSLATORS: This is for a list of packages to be reinstalled.
--#: dnf/cli/output.py:1142
-+#: dnf/cli/output.py:1055
- msgctxt "summary"
- msgid "Reinstalling"
- msgstr "重新安装"
- 
--#: dnf/cli/output.py:1144
-+#: dnf/cli/output.py:1057
- msgid "Installing dependencies"
- msgstr "安装依赖关系"
- 
--#: dnf/cli/output.py:1145
-+#: dnf/cli/output.py:1058
- msgid "Installing weak dependencies"
- msgstr "安装弱的依赖"
- 
- #. TRANSLATORS: This is for a list of packages to be removed.
--#: dnf/cli/output.py:1147
-+#: dnf/cli/output.py:1060
- msgid "Removing"
- msgstr "移除"
- 
--#: dnf/cli/output.py:1148
-+#: dnf/cli/output.py:1061
- msgid "Removing dependent packages"
- msgstr "移除依赖的软件包"
- 
--#: dnf/cli/output.py:1149
-+#: dnf/cli/output.py:1062
- msgid "Removing unused dependencies"
- msgstr "清除未被使用的依赖关系"
- 
- #. TRANSLATORS: This is for a list of packages to be downgraded.
--#: dnf/cli/output.py:1151
-+#: dnf/cli/output.py:1064
- msgctxt "summary"
- msgid "Downgrading"
- msgstr "降级"
- 
--#: dnf/cli/output.py:1176
-+#: dnf/cli/output.py:1089
- msgid "Installing module profiles"
- msgstr "安装模块配置档案"
- 
--#: dnf/cli/output.py:1185
-+#: dnf/cli/output.py:1098
- msgid "Disabling module profiles"
- msgstr "禁用模块配置档案"
- 
--#: dnf/cli/output.py:1194
-+#: dnf/cli/output.py:1107
- msgid "Enabling module streams"
- msgstr "启用模块流"
- 
--#: dnf/cli/output.py:1202
-+#: dnf/cli/output.py:1115
- msgid "Switching module streams"
- msgstr "切换模块流"
- 
--#: dnf/cli/output.py:1210
-+#: dnf/cli/output.py:1123
- msgid "Disabling modules"
- msgstr "禁用模块"
- 
--#: dnf/cli/output.py:1218
-+#: dnf/cli/output.py:1131
- msgid "Resetting modules"
- msgstr "重置模块"
- 
--#: dnf/cli/output.py:1230
-+#: dnf/cli/output.py:1143
- msgid "Installing Environment Groups"
- msgstr "安装环境组"
- 
--#: dnf/cli/output.py:1237
-+#: dnf/cli/output.py:1150
- msgid "Upgrading Environment Groups"
- msgstr "升级环境组"
- 
--#: dnf/cli/output.py:1244
-+#: dnf/cli/output.py:1157
- msgid "Removing Environment Groups"
- msgstr "删除环境组"
- 
--#: dnf/cli/output.py:1251
-+#: dnf/cli/output.py:1164
- msgid "Installing Groups"
- msgstr "安装组"
- 
--#: dnf/cli/output.py:1258
-+#: dnf/cli/output.py:1171
- msgid "Upgrading Groups"
- msgstr "升级组"
- 
--#: dnf/cli/output.py:1265
-+#: dnf/cli/output.py:1178
- msgid "Removing Groups"
- msgstr "删除组"
- 
--#: dnf/cli/output.py:1281
-+#: dnf/cli/output.py:1194
- #, python-format
- msgid ""
- "Skipping packages with conflicts:\n"
-@@ -3107,12 +3087,12 @@ msgstr ""
- "跳过有冲突的软件包:\n"
- "(添加 '%s' 至命令行来强制升级)"
- 
--#: dnf/cli/output.py:1291
-+#: dnf/cli/output.py:1204
- #, python-format
- msgid "Skipping packages with broken dependencies%s"
- msgstr "跳过存在损坏依赖关系的软件包 %s"
- 
--#: dnf/cli/output.py:1295
-+#: dnf/cli/output.py:1208
- msgid " or part of a group"
- msgstr " 或一个组的一部分"
- 
-@@ -3120,22 +3100,22 @@ msgstr " 或一个组的一部分"
- #. use the full (unabbreviated) term 'Package' if you think that
- #. the translation to your language is not too long and will
- #. always fit to limited space.
--#: dnf/cli/output.py:1320
-+#: dnf/cli/output.py:1233
- msgctxt "short"
- msgid "Package"
- msgstr "软件包"
- 
- #. Translators: This is the full (unabbreviated) term 'Package'.
--#: dnf/cli/output.py:1322
-+#: dnf/cli/output.py:1235
- msgctxt "long"
- msgid "Package"
- msgstr "软件包"
- 
--#: dnf/cli/output.py:1371
-+#: dnf/cli/output.py:1284
- msgid "replacing"
- msgstr "替换"
- 
--#: dnf/cli/output.py:1378
-+#: dnf/cli/output.py:1291
- #, python-format
- msgid ""
- "\n"
-@@ -3147,287 +3127,271 @@ msgstr ""
- "%s\n"
- 
- #. TODO: remove
--#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
-+#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
- msgid "Install"
- msgstr "安装"
- 
--#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
-+#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
- msgid "Upgrade"
- msgstr "升级"
- 
--#: dnf/cli/output.py:1388
-+#: dnf/cli/output.py:1301
- msgid "Remove"
- msgstr "移除"
- 
--#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
-+#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
- msgid "Downgrade"
- msgstr "降级"
- 
--#: dnf/cli/output.py:1391
-+#: dnf/cli/output.py:1304
- msgid "Skip"
- msgstr "跳过"
- 
--#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
-+#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
- msgid "Package"
- msgid_plural "Packages"
- msgstr[0] "软件包"
- 
--#: dnf/cli/output.py:1418
-+#: dnf/cli/output.py:1331
- msgid "Dependent package"
- msgid_plural "Dependent packages"
- msgstr[0] "依赖软件包"
- 
--#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
--msgid "Upgraded"
--msgstr "已升级"
--
--#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
--msgid "Downgraded"
--msgstr "已降级"
--
--#: dnf/cli/output.py:1503
--msgid "Reinstalled"
--msgstr "已重装"
--
--#: dnf/cli/output.py:1504
--msgid "Skipped"
--msgstr "已跳过"
--
--#: dnf/cli/output.py:1505
--msgid "Removed"
--msgstr "已移除"
--
--#: dnf/cli/output.py:1508
--msgid "Failed"
--msgstr "失败"
--
--#: dnf/cli/output.py:1559
-+#: dnf/cli/output.py:1439
- msgid "Total"
- msgstr "总计"
- 
--#: dnf/cli/output.py:1587
-+#: dnf/cli/output.py:1467
- msgid "<unset>"
- msgstr "<空>"
- 
--#: dnf/cli/output.py:1588
-+#: dnf/cli/output.py:1468
- msgid "System"
- msgstr "系统"
- 
--#: dnf/cli/output.py:1638
-+#: dnf/cli/output.py:1518
- msgid "Command line"
- msgstr "命令行"
- 
- #. TRANSLATORS: user names who executed transaction in history command output
--#: dnf/cli/output.py:1649
-+#: dnf/cli/output.py:1531
- msgid "User name"
- msgstr "用户名"
- 
--#: dnf/cli/output.py:1651
-+#: dnf/cli/output.py:1533
- msgid "ID"
- msgstr "ID"
- 
--#: dnf/cli/output.py:1653
-+#: dnf/cli/output.py:1535
- msgid "Date and time"
- msgstr "日期和时间"
- 
--#: dnf/cli/output.py:1654
-+#: dnf/cli/output.py:1536
- msgid "Action(s)"
- msgstr "操作"
- 
--#: dnf/cli/output.py:1655
-+#: dnf/cli/output.py:1537
- msgid "Altered"
- msgstr "更改"
- 
--#: dnf/cli/output.py:1698
-+#: dnf/cli/output.py:1580
- msgid "No transactions"
- msgstr "没有事务"
- 
--#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
-+#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
- msgid "Failed history info"
- msgstr "失败的历史信息"
- 
--#: dnf/cli/output.py:1714
-+#: dnf/cli/output.py:1596
- msgid "No transaction ID, or package, given"
- msgstr "未指定事务 ID、或者软件包"
- 
--#: dnf/cli/output.py:1772
-+#: dnf/cli/output.py:1654
- msgid "Erased"
- msgstr "已删除"
- 
--#: dnf/cli/output.py:1774
-+#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
-+msgid "Downgraded"
-+msgstr "已降级"
-+
-+#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
-+msgid "Upgraded"
-+msgstr "已升级"
-+
-+#: dnf/cli/output.py:1656
- msgid "Not installed"
- msgstr "未安装"
- 
--#: dnf/cli/output.py:1775
-+#: dnf/cli/output.py:1657
- msgid "Newer"
- msgstr "较早的"
- 
--#: dnf/cli/output.py:1775
-+#: dnf/cli/output.py:1657
- msgid "Older"
- msgstr "较老的"
- 
--#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
-+#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
- msgid "Transaction ID :"
- msgstr "事务 ID:"
- 
--#: dnf/cli/output.py:1828
-+#: dnf/cli/output.py:1710
- msgid "Begin time     :"
- msgstr "起始时间    :"
- 
--#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
-+#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
- msgid "Begin rpmdb    :"
- msgstr "起始 RPM 数据库     :"
- 
--#: dnf/cli/output.py:1839
-+#: dnf/cli/output.py:1721
- #, python-format
- msgid "(%u seconds)"
- msgstr "(%u 秒)"
- 
--#: dnf/cli/output.py:1841
-+#: dnf/cli/output.py:1723
- #, python-format
- msgid "(%u minutes)"
- msgstr "(%u 分钟)"
- 
--#: dnf/cli/output.py:1843
-+#: dnf/cli/output.py:1725
- #, python-format
- msgid "(%u hours)"
- msgstr "(%u 小时)"
- 
--#: dnf/cli/output.py:1845
-+#: dnf/cli/output.py:1727
- #, python-format
- msgid "(%u days)"
- msgstr "(%u 天)"
- 
--#: dnf/cli/output.py:1846
-+#: dnf/cli/output.py:1728
- msgid "End time       :"
- msgstr "结束时间       :"
- 
--#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
-+#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
- msgid "End rpmdb      :"
- msgstr "结束 RPM 数据库      :"
- 
--#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
-+#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
- msgid "User           :"
- msgstr "用户           :"
- 
--#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
-+#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
- msgid "Aborted"
- msgstr "已终止"
- 
--#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
--#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
-+#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
-+#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
- msgid "Return-Code    :"
- msgstr "返回码    :"
- 
--#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
-+#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
- msgid "Success"
- msgstr "成功"
- 
--#: dnf/cli/output.py:1869
-+#: dnf/cli/output.py:1751
- msgid "Failures:"
- msgstr "失败:"
- 
--#: dnf/cli/output.py:1873
-+#: dnf/cli/output.py:1755
- msgid "Failure:"
- msgstr "失败:"
- 
--#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
-+#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
- msgid "Releasever     :"
- msgstr "Releasever     :"
- 
--#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
-+#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
- msgid "Command Line   :"
- msgstr "命令行   :"
- 
--#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
-+#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
- msgid "Comment        :"
- msgstr "注释        :"
- 
--#: dnf/cli/output.py:1903
-+#: dnf/cli/output.py:1785
- msgid "Transaction performed with:"
- msgstr "事务完成由:"
- 
--#: dnf/cli/output.py:1912
-+#: dnf/cli/output.py:1794
- msgid "Packages Altered:"
- msgstr "已改变的包:"
- 
--#: dnf/cli/output.py:1918
-+#: dnf/cli/output.py:1800
- msgid "Scriptlet output:"
- msgstr "Scriptlet 输出:"
- 
--#: dnf/cli/output.py:1925
-+#: dnf/cli/output.py:1807
- msgid "Errors:"
- msgstr "错误:"
- 
--#: dnf/cli/output.py:1934
-+#: dnf/cli/output.py:1816
- msgid "Dep-Install"
- msgstr "依赖安装"
- 
--#: dnf/cli/output.py:1935
-+#: dnf/cli/output.py:1817
- msgid "Obsoleted"
- msgstr "已废弃"
- 
--#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
-+#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
- msgid "Obsoleting"
- msgstr "废弃"
- 
--#: dnf/cli/output.py:1937
-+#: dnf/cli/output.py:1819
- msgid "Erase"
- msgstr "删除"
- 
--#: dnf/cli/output.py:1938
-+#: dnf/cli/output.py:1820
- msgid "Reinstall"
- msgstr "重装"
- 
--#: dnf/cli/output.py:2016
-+#: dnf/cli/output.py:1894
- #, python-format
- msgid "---> Package %s.%s %s will be installed"
- msgstr "---> 软件包 %s.%s %s 将会被安装"
- 
--#: dnf/cli/output.py:2018
-+#: dnf/cli/output.py:1896
- #, python-format
- msgid "---> Package %s.%s %s will be an upgrade"
- msgstr "---> 软件包 %s.%s %s 将作为一个更新"
- 
--#: dnf/cli/output.py:2020
-+#: dnf/cli/output.py:1898
- #, python-format
- msgid "---> Package %s.%s %s will be erased"
- msgstr "---> 软件包 %s.%s %s 将会被清除"
- 
--#: dnf/cli/output.py:2022
-+#: dnf/cli/output.py:1900
- #, python-format
- msgid "---> Package %s.%s %s will be reinstalled"
- msgstr "---> 软件包 %s.%s %s 将会被重新安装"
- 
--#: dnf/cli/output.py:2024
-+#: dnf/cli/output.py:1902
- #, python-format
- msgid "---> Package %s.%s %s will be a downgrade"
- msgstr "---> 软件包 %s.%s %s 将会被降级"
- 
--#: dnf/cli/output.py:2026
-+#: dnf/cli/output.py:1904
- #, python-format
- msgid "---> Package %s.%s %s will be obsoleting"
- msgstr "---> 软件包 %s.%s %s 将会废弃"
- 
--#: dnf/cli/output.py:2028
-+#: dnf/cli/output.py:1906
- #, python-format
- msgid "---> Package %s.%s %s will be upgraded"
- msgstr "---> 软件包 %s.%s %s 将会被升级"
- 
--#: dnf/cli/output.py:2030
-+#: dnf/cli/output.py:1908
- #, python-format
- msgid "---> Package %s.%s %s will be obsoleted"
- msgstr "---> 软件包 %s.%s %s 将会被废弃"
- 
--#: dnf/cli/output.py:2039
-+#: dnf/cli/output.py:1917
- msgid "--> Starting dependency resolution"
- msgstr "--> 开始解决依赖关系"
- 
--#: dnf/cli/output.py:2044
-+#: dnf/cli/output.py:1921
- msgid "--> Finished dependency resolution"
- msgstr "--> 依赖关系解决完成"
- 
--#: dnf/cli/output.py:2058 dnf/crypto.py:132
-+#: dnf/cli/output.py:1935 dnf/crypto.py:132
- #, python-format
- msgid ""
- "Importing GPG key 0x%s:\n"
-@@ -3509,16 +3473,14 @@ msgid "Module or Group '%s' does not exist."
- msgstr "模块或者组 '%s' 不存在。"
- 
- #: dnf/comps.py:599
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#, python-format
- msgid "Environment id '%s' does not exist."
--msgstr "环境组 '%s' 没有安装。"
-+msgstr "环境 id '%s' 不存在。"
- 
--#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
-+#, python-format
- msgid "Environment id '%s' is not installed."
--msgstr "环境组 '%s' 没有安装。"
-+msgstr "环境 id '%s' 没有安装。"
- 
- #: dnf/comps.py:639
- #, python-format
-@@ -3531,16 +3493,20 @@ msgid "Environment '%s' is not available."
- msgstr "环境 '%s' 不可用。"
- 
- #: dnf/comps.py:673
--#, fuzzy, python-format
--#| msgid "Group_id '%s' does not exist."
-+#, python-format
- msgid "Group id '%s' does not exist."
--msgstr "Group_id '%s' 不存在。"
-+msgstr "组 id '%s' 不存在。"
- 
- #: dnf/conf/config.py:136
- #, python-format
- msgid "Error parsing '%s': %s"
- msgstr "解析 “%s” 时错误: %s"
- 
-+#: dnf/conf/config.py:151
-+#, python-format
-+msgid "Invalid configuration value: %s=%s in %s; %s"
-+msgstr "无效配置值: %s=%s 在 %s 中; %s"
-+
- #: dnf/conf/config.py:226
- msgid "Could not set cachedir: {}"
- msgstr "不能设置 cachedir: {}"
-@@ -3582,36 +3548,36 @@ msgstr "解析 --setopt 时出现错误,键为 '%s.%s', 值是 '%s': %s"
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "Repo %s 在 setopt 前没有一个 %s 属性"
- 
--#: dnf/conf/read.py:51
-+#: dnf/conf/read.py:60
- #, python-format
- msgid "Warning: failed loading '%s', skipping."
- msgstr "警告:加载 '%s' 失败,跳过。"
- 
--#: dnf/conf/read.py:63
-+#: dnf/conf/read.py:72
- msgid "Bad id for repo: {} ({}), byte = {} {}"
- msgstr "repo 的 id 无效: {} ({}), byte = {} {}"
- 
--#: dnf/conf/read.py:67
-+#: dnf/conf/read.py:76
- msgid "Bad id for repo: {}, byte = {} {}"
--msgstr "repo 的 id 无效: %s, byte = %s %d"
-+msgstr "repo 的 id 无效: {}, byte = {} {}"
- 
--#: dnf/conf/read.py:75
-+#: dnf/conf/read.py:84
- msgid "Repository '{}' ({}): Error parsing config: {}"
- msgstr "仓库 '{}' ({}): 配置解析时出错: {}"
- 
--#: dnf/conf/read.py:78
-+#: dnf/conf/read.py:87
- msgid "Repository '{}': Error parsing config: {}"
- msgstr "仓库 '{}': 配置解析时出错: {}"
- 
--#: dnf/conf/read.py:84
-+#: dnf/conf/read.py:93
- msgid "Repository '{}' ({}) is missing name in configuration, using id."
- msgstr "仓库 '{}' ({}) 在配置中缺少名称,将使用 id。"
- 
--#: dnf/conf/read.py:87
-+#: dnf/conf/read.py:96
- msgid "Repository '{}' is missing name in configuration, using id."
- msgstr "仓库 '{}' 在配置中缺少名称,将使用 id。"
- 
--#: dnf/conf/read.py:104
-+#: dnf/conf/read.py:113
- msgid "Parsing file \"{}\" failed: {}"
- msgstr "解析文件 \"{}\" 失败:{}"
- 
-@@ -3625,25 +3591,38 @@ msgstr "repo %s: 0x%s 已被导入"
- msgid "repo %s: imported key 0x%s."
- msgstr "repo %s: 已导入密钥 0x%s。"
- 
--#: dnf/db/group.py:293
-+#: dnf/crypto.py:145
-+msgid "Verified using DNS record with DNSSEC signature."
-+msgstr "已经通过被 DNSSEC 签名的 DNS 记录验证。"
-+
-+#: dnf/crypto.py:147
-+msgid "NOT verified using DNS record."
-+msgstr "并未被 DNS 记录验证。"
-+
-+#: dnf/crypto.py:184
-+#, python-format
-+msgid "retrieving repo key for %s unencrypted from %s"
-+msgstr "为 %s 从 %s 获取的 repo 密钥未加密"
-+
-+#: dnf/db/group.py:301
- msgid ""
- "No available modular metadata for modular package '{}', it cannot be "
- "installed on the system"
- msgstr "对于模块软件包 '{}' 没有可用的模块元数据,它将不能被安装至此系统上"
- 
--#: dnf/db/group.py:343
-+#: dnf/db/group.py:351
- msgid "No available modular metadata for modular package"
- msgstr "对于模块软件包没有可用的模块元数据"
- 
--#: dnf/db/group.py:377
-+#: dnf/db/group.py:385
- #, python-format
- msgid "Will not install a source rpm package (%s)."
- msgstr "将不安装一个源码 RPM 软件包 (%s)。"
- 
- #: dnf/dnssec.py:168
- msgid ""
--"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
--msgstr "配置文件选项 'gpgkey_dns_verification' 要求 libunbound ({})"
-+"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
-+msgstr "配置文件选项 'gpgkey_dns_verification' 要求 python3-unbound ({})"
- 
- #: dnf/dnssec.py:239
- msgid "DNSSEC extension: Key for user "
-@@ -3707,7 +3686,7 @@ msgid "Modular dependency problem with Defaults:"
- msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "默认设置中的模块依赖问题 :"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:686
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:854
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "模块依赖问题:"
-@@ -3741,7 +3720,47 @@ msgstr "启用的模板:{}。"
- msgid "No profile specified for '{}', please specify profile."
- msgstr "没有为 '{}' 指定档案。请指定档案。"
- 
--#: dnf/module/module_base.py:33
-+#: dnf/module/exceptions.py:27
-+msgid "No such module: {}"
-+msgstr "不存在模块:{}"
-+
-+#: dnf/module/exceptions.py:33
-+msgid "No such stream: {}"
-+msgstr "没有对应的流:{}"
-+
-+#: dnf/module/exceptions.py:39
-+msgid "No enabled stream for module: {}"
-+msgstr "该模块没有已启用的流: {}"
-+
-+#: dnf/module/exceptions.py:46
-+msgid "Cannot enable more streams from module '{}' at the same time"
-+msgstr "不能同时启用模块:{} 中的多个流"
-+
-+#: dnf/module/exceptions.py:52
-+msgid "Different stream enabled for module: {}"
-+msgstr "模块中已启用的其他流:{}"
-+
-+#: dnf/module/exceptions.py:58
-+msgid "No such profile: {}"
-+msgstr "没有这个配置:{}"
-+
-+#: dnf/module/exceptions.py:64
-+msgid "Specified profile not installed for {}"
-+msgstr "指定的配置没有为 {} 安装"
-+
-+#: dnf/module/exceptions.py:70
-+msgid "No stream specified for '{}', please specify stream"
-+msgstr "没有为 '{}' 指定流。请指定流"
-+
-+#: dnf/module/exceptions.py:82
-+msgid "No such profile: {}. No profiles available"
-+msgstr "没有这个配置:{}。无配置可用"
-+
-+#: dnf/module/exceptions.py:88
-+msgid "No profile to remove for '{}'"
-+msgstr "'{}' 没有可以移除的配置"
-+
-+#: dnf/module/module_base.py:35
- msgid ""
- "\n"
- "\n"
-@@ -3751,7 +3770,7 @@ msgstr ""
- "\n"
- "提示:[d]默认,[e]已启用,[x]已禁用,[i]已安装"
- 
--#: dnf/module/module_base.py:34
-+#: dnf/module/module_base.py:36
- msgid ""
- "\n"
- "\n"
-@@ -3761,80 +3780,98 @@ msgstr ""
- "\n"
- "提示 : [d]默认, [e]启用, [x]禁用, [i]已安装的, [a]活跃的"
- 
--#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
--#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
-+#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
- msgid "Ignoring unnecessary profile: '{}/{}'"
- msgstr "正在忽略无用的配置文件'{}/{}'"
- 
--#: dnf/module/module_base.py:84
-+#: dnf/module/module_base.py:86
- #, python-brace-format
- msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
- msgstr "模块 '{1}:{2}' 中参数 '{0}' 的所有匹配项目都未激活"
- 
--#: dnf/module/module_base.py:92
-+#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
- #, python-brace-format
- msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
- msgstr "不允许从失效保险仓库 {1} 安装模块 '{0}'"
- 
--#: dnf/module/module_base.py:102
-+#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
- msgid ""
- "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
- msgstr "不能为参数 {} 匹配配置文件。'{}:{}' 可用的配置文件为 : {}"
- 
--#: dnf/module/module_base.py:106
-+#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
- msgid "Unable to match profile for argument {}"
- msgstr "无法配置参数 {} 中的配置档案"
- 
--#: dnf/module/module_base.py:118
-+#: dnf/module/module_base.py:120
- msgid "No default profiles for module {}:{}. Available profiles: {}"
- msgstr "模块 {}:{} 没有默认的配置文件。可用的配置为 : {}"
- 
--#: dnf/module/module_base.py:122
-+#: dnf/module/module_base.py:124
- msgid "No profiles for module {}:{}"
- msgstr "没有模块 {}:{} 的配置文件"
- 
--#: dnf/module/module_base.py:129
-+#: dnf/module/module_base.py:131
- msgid "Default profile {} not available in module {}:{}"
- msgstr "默认配置文件 {} 在模块 {}:{} 中不可用"
- 
--#: dnf/module/module_base.py:142
-+#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
- msgid "Installing module from Fail-Safe repository is not allowed"
- msgstr "不允许从失效保险仓库中安装模块"
- 
--#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
--#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
--#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
--#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
-+#: dnf/module/module_base.py:196
-+#, python-brace-format
-+msgid "No active matches for argument '{0}' in module '{1}:{2}'"
-+msgstr "模块 '{1}:{2}' 中的参数 '{0}' 没有已激活的匹配项目"
-+
-+#: dnf/module/module_base.py:228
-+#, python-brace-format
-+msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
-+msgstr "在模块 '{1}' 流 '{2}' 中没有安装的配置文件 '{0}'"
-+
-+#: dnf/module/module_base.py:267
-+msgid "No packages available to distrosync for package name '{}'"
-+msgstr "软件包名称 '{}' 没有可用的软件包用于 distrosync"
-+
-+#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
-+#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
-+#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
-+#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
- msgid "Unable to resolve argument {}"
- msgstr "无法解析参数 {}"
- 
--#: dnf/module/module_base.py:160
--msgid "No match for package {}"
--msgstr "没有和{}匹配的软件包"
--
--#: dnf/module/module_base.py:204
-+#: dnf/module/module_base.py:321
- #, python-brace-format
- msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
- msgstr "不允许从失效保险仓库 {1} 中升级模块 '{0}'"
- 
--#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
-+#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
- msgid "Unable to match profile in argument {}"
- msgstr "无法匹配参数 {} 中的配置档案"
- 
--#: dnf/module/module_base.py:231
-+#: dnf/module/module_base.py:348
- msgid "Upgrading module from Fail-Safe repository is not allowed"
- msgstr "不允许从失效保险仓库中升级模块"
- 
--#: dnf/module/module_base.py:367
-+#: dnf/module/module_base.py:422
-+#, python-brace-format
-+msgid ""
-+"Argument '{argument}' matches {stream_count} streams ('{streams}') of module"
-+" '{module}', but none of the streams are enabled or default"
-+msgstr ""
-+"参数 '{argument}' 可以匹配模块 '{module}' 的 {stream_count} "
-+"个流('{streams}'),但是这些流都未被启用或非默认"
-+
-+#: dnf/module/module_base.py:509
- msgid ""
- "Only module name is required. Ignoring unneeded information in argument: "
- "'{}'"
- msgstr "只需要模块名。正在忽略'{}'中的无用信息"
- 
--#: dnf/package.py:298
--#, python-format
--msgid "%s: %s check failed: %s vs %s"
--msgstr "%s: %s 检查失败:%s vs %s"
-+#: dnf/module/module_base.py:841
-+msgid "No match for package {}"
-+msgstr "没有和{}匹配的软件包"
- 
- #. empty file is invalid json format
- #: dnf/persistor.py:54
-@@ -3845,12 +3882,12 @@ msgstr "%s 为空文件"
- #: dnf/persistor.py:91
- #, python-format
- msgid "Failed to load expired repos cache: %s"
--msgstr ""
-+msgstr "加载过期的仓库缓存失败: %s"
- 
- #: dnf/persistor.py:99
- #, python-format
- msgid "Failed to store expired repos cache: %s"
--msgstr ""
-+msgstr "存储已过期的仓库缓存失败: %s"
- 
- #: dnf/persistor.py:106
- msgid "Failed storing last makecache time."
-@@ -3870,16 +3907,16 @@ msgstr "解析文件失败:%s"
- msgid "Loaded plugins: %s"
- msgstr "加载插件:%s"
- 
--#: dnf/plugin.py:199
-+#: dnf/plugin.py:211
- #, python-format
- msgid "Failed loading plugin \"%s\": %s"
- msgstr "加载插件 \"%s\" 失败 : %s"
- 
--#: dnf/plugin.py:231
-+#: dnf/plugin.py:243
- msgid "No matches found for the following enable plugin patterns: {}"
- msgstr "没有以下已启用插件模式的匹配项 : {}"
- 
--#: dnf/plugin.py:235
-+#: dnf/plugin.py:247
- msgid "No matches found for the following disable plugin patterns: {}"
- msgstr "没有以下已停用插件模式的匹配项 : {}"
- 
-@@ -3908,10 +3945,27 @@ msgstr "正在启用 %s 仓库"
- msgid "Added %s repo from %s"
- msgstr "已添加 %s 仓库来自 %s"
- 
-+#: dnf/rpm/miscutils.py:35
-+#, python-brace-format
-+msgid ""
-+"Using rpmkeys executable from {path} to verify signature for package: "
-+"{package}."
-+msgstr "使用来自 {path} 的 rpmkeys 可执行代码验证软件包的签名:{package}。"
-+
-+#: dnf/rpm/miscutils.py:39
-+msgid "Cannot find rpmkeys executable to verify signatures."
-+msgstr "无法找到 rpmkeys 的可执行文件以验证签名。"
-+
- #: dnf/rpm/transaction.py:119
- msgid "Errors occurred during test transaction."
- msgstr "测试事务过程中出现错误。"
- 
-+#: dnf/sack.py:47
-+msgid ""
-+"allow_vendor_change is disabled. This option is currently not supported for "
-+"downgrade and distro-sync commands"
-+msgstr "allow_vendor_change 被禁用。此选项目前不支持 downgrade 和 distro-sync 命令"
-+
- #. TRANSLATORS: This is for a single package currently being downgraded.
- #: dnf/transaction.py:80
- msgctxt "currently"
-@@ -3958,164 +4012,199 @@ msgstr "运行脚本"
- msgid "Preparing"
- msgstr "准备中"
- 
--#: dnf/transaction_sr.py:60
-+#: dnf/transaction_sr.py:66
- #, python-brace-format
--msgid "Errors in \"{filename}\":"
--msgstr ""
-+msgid ""
-+"The following problems occurred while replaying the transaction from file "
-+"\"{filename}\":"
-+msgstr "在重放来自文件 \"{filename}\" 的事务时出现了下列问题:"
- 
--#: dnf/transaction_sr.py:70
--#, python-brace-format
--msgid "Error in \"{filename}\": {error}"
--msgstr ""
-+#: dnf/transaction_sr.py:68
-+msgid "The following problems occurred while running a transaction:"
-+msgstr "运行事务时发生以下问题:"
- 
--#: dnf/transaction_sr.py:87
-+#: dnf/transaction_sr.py:89
- #, python-brace-format
- msgid "Invalid major version \"{major}\", number expected."
--msgstr ""
-+msgstr "无效的主版本 \"{major}\",需要是数字。"
- 
--#: dnf/transaction_sr.py:95
-+#: dnf/transaction_sr.py:97
- #, python-brace-format
- msgid "Invalid minor version \"{minor}\", number expected."
--msgstr ""
-+msgstr "无效的次版本 \"{minor}\",需要是数字。"
- 
--#: dnf/transaction_sr.py:101
-+#: dnf/transaction_sr.py:103
- #, python-brace-format
- msgid ""
- "Incompatible major version \"{major}\", supported major version is "
- "\"{major_supp}\"."
--msgstr ""
-+msgstr "不兼容的主版本 \"{major}\",支持的主版本是 \"{major_supp}\"。"
-+
-+#: dnf/transaction_sr.py:224
-+msgid ""
-+"Conflicting TransactionReplay arguments have been specified: filename, data"
-+msgstr "指定了有冲突的 TransactionReplay 参数: filename、data"
- 
--#: dnf/transaction_sr.py:244
-+#: dnf/transaction_sr.py:265
- #, python-brace-format
- msgid "Unexpected type of \"{id}\", {exp} expected."
--msgstr ""
-+msgstr "意外类型 \"{id}\",需要是 {exp}。"
- 
--#: dnf/transaction_sr.py:250
-+#: dnf/transaction_sr.py:271
- #, python-brace-format
- msgid "Missing key \"{key}\"."
--msgstr ""
-+msgstr "缺少键 \"{key}\"。"
- 
--#: dnf/transaction_sr.py:263
-+#: dnf/transaction_sr.py:285
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an rpm."
--msgstr ""
-+msgstr "在 rpm 中缺少对象键 \"{key}\"。"
- 
--#: dnf/transaction_sr.py:267
-+#: dnf/transaction_sr.py:289
- #, python-brace-format
- msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\" 的软件包原因 \"{reason}\" 的值无效。"
- 
--#: dnf/transaction_sr.py:275
-+#: dnf/transaction_sr.py:297
- #, python-brace-format
- msgid "Cannot parse NEVRA for package \"{nevra}\"."
--msgstr ""
-+msgstr "无法为软件包 \"{nevra}\" 解析 NEVRA。"
- 
--#: dnf/transaction_sr.py:286
-+#: dnf/transaction_sr.py:321
- #, python-brace-format
- msgid "Cannot find rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "无法找到 rpm nevra \"{nevra}\"。"
- 
--#: dnf/transaction_sr.py:301
--#, fuzzy, python-brace-format
--#| msgid "Package %s is already installed."
-+#: dnf/transaction_sr.py:336
-+#, python-brace-format
- msgid "Package \"{na}\" is already installed for action \"{action}\"."
--msgstr "软件包 %s 已安装。"
-+msgstr "已为操作 \"{action}\" 安装了软件包 \"{na}\"。"
- 
--#: dnf/transaction_sr.py:311
-+#: dnf/transaction_sr.py:345
- #, python-brace-format
- msgid ""
- "Package nevra \"{nevra}\" not available in repositories for action "
- "\"{action}\"."
--msgstr ""
-+msgstr "对于操作 \"{action}\",软件包 nevra \"{nevra}\" 没有包括在仓库中。"
- 
--#: dnf/transaction_sr.py:322
-+#: dnf/transaction_sr.py:356
- #, python-brace-format
- msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
--msgstr ""
-+msgstr "软件包 nevra \"{nevra}\" 没有为操作 \"{action}\" 安装。"
- 
--#: dnf/transaction_sr.py:336
-+#: dnf/transaction_sr.py:370
- #, python-brace-format
- msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\" 的软件包操作 \"{action}\" 无效。"
- 
--#: dnf/transaction_sr.py:343
--#, fuzzy, python-format
--#| msgid "Module or Group '%s' is not available."
-+#: dnf/transaction_sr.py:377
-+#, python-format
- msgid "Group id '%s' is not available."
--msgstr "模块或者组 '%s' 不可用。"
-+msgstr "组 id '%s' 不可用。"
- 
--#: dnf/transaction_sr.py:364
-+#: dnf/transaction_sr.py:398
- #, python-brace-format
- msgid "Missing object key \"{key}\" in groups.packages."
--msgstr ""
-+msgstr "在 groups.packages 中缺少对象键 \"{key}\"。"
- 
--#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
--#, fuzzy, python-format
--#| msgid "Module or Group '%s' is not installed."
-+#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
-+#, python-format
- msgid "Group id '%s' is not installed."
--msgstr "模块或者组 '%s' 未安装。"
-+msgstr "组 id '%s' 未安装。"
- 
--#: dnf/transaction_sr.py:398
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not available."
-+#: dnf/transaction_sr.py:432
-+#, python-format
- msgid "Environment id '%s' is not available."
--msgstr "环境 '%s' 不可用。"
-+msgstr "环境 id '%s' 不可用。"
- 
--#: dnf/transaction_sr.py:422
-+#: dnf/transaction_sr.py:456
- #, python-brace-format
- msgid ""
- "Invalid value \"{group_type}\" of environments.groups.group_type, only "
- "\"mandatory\" or \"optional\" is supported."
- msgstr ""
-+"environments.groups.group_type 的值 \"{group_type}\" 无效,仅支持 \"mandatory\" 或者 "
-+"\"optional\"。"
- 
--#: dnf/transaction_sr.py:430
-+#: dnf/transaction_sr.py:464
- #, python-brace-format
- msgid "Missing object key \"{key}\" in environments.groups."
--msgstr ""
-+msgstr "在 environment.groups 中缺少对象键 \"{key}\"。"
- 
--#: dnf/transaction_sr.py:508
-+#: dnf/transaction_sr.py:542
- #, python-brace-format
- msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
--msgstr ""
-+msgstr "组 \"{group}\" 的组操作 \"{action}\" 的值无效。"
- 
--#: dnf/transaction_sr.py:513
-+#: dnf/transaction_sr.py:547
- #, python-brace-format
- msgid "Missing object key \"{key}\" in a group."
--msgstr ""
-+msgstr "在一个组中缺少对象键 \"{key}\"。"
- 
--#: dnf/transaction_sr.py:537
-+#: dnf/transaction_sr.py:571
- #, python-brace-format
- msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
--msgstr ""
-+msgstr "环境 \"{env}\" 的环境操作 \"{action}\" 的值无效。"
- 
--#: dnf/transaction_sr.py:542
-+#: dnf/transaction_sr.py:576
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an environment."
--msgstr ""
-+msgstr "在环境中缺少对象键 \"{key}\"。"
- 
--#: dnf/transaction_sr.py:581
-+#: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
- "Package nevra \"{nevra}\", which is not present in the transaction file, was"
- " pulled into the transaction."
--msgstr ""
-+msgstr "软件包 nevra \"{nevra}\" 没有包括在事务文件中,但它被拉取到事务中。"
- 
--#: dnf/util.py:391 dnf/util.py:393
-+#: dnf/util.py:419 dnf/util.py:421
- msgid "Problem"
- msgstr "问题"
- 
--#: dnf/util.py:444
-+#: dnf/util.py:472
- msgid "TransactionItem not found for key: {}"
- msgstr "找不到键的 TransactionItem: {}"
- 
--#: dnf/util.py:454
-+#: dnf/util.py:482
- msgid "TransactionSWDBItem not found for key: {}"
- msgstr "找不到键的 TransactionSWDBItem: {}"
- 
--#: dnf/util.py:457
-+#: dnf/util.py:485
- msgid "Errors occurred during transaction."
- msgstr "事务过程中出现错误。"
- 
-+#: dnf/util.py:621
-+msgid "Reinstalled"
-+msgstr "已重装"
-+
-+#: dnf/util.py:622
-+msgid "Skipped"
-+msgstr "已跳过"
-+
-+#: dnf/util.py:623
-+msgid "Removed"
-+msgstr "已移除"
-+
-+#: dnf/util.py:626
-+msgid "Failed"
-+msgstr "失败"
-+
-+#~ msgid "%s: %s check failed: %s vs %s"
-+#~ msgstr "%s: %s 检查失败:%s vs %s"
-+
-+#~ msgid "Action not handled: {}"
-+#~ msgstr "操作没被处理:{}"
-+
-+#~ msgid "no package matched"
-+#~ msgstr "没有能够与之匹配的软件包"
-+
-+#~ msgid "Not found given transaction ID"
-+#~ msgstr "未找到指定事务 ID"
-+
-+#~ msgid "Undoing transaction {}, from {}"
-+#~ msgstr "撤销事务 {},从 {}"
-+
- #~ msgid "format for displaying found packages"
- #~ msgstr "用于显示已查找到软件包的格式"
- 
--- 
-2.31.1
-
diff --git a/SOURCES/0007-Fix-reporting-irrecoverable-errors-on-packages-download.patch b/SOURCES/0007-Fix-reporting-irrecoverable-errors-on-packages-download.patch
new file mode 100644
index 0000000..12f3972
--- /dev/null
+++ b/SOURCES/0007-Fix-reporting-irrecoverable-errors-on-packages-download.patch
@@ -0,0 +1,81 @@
+From f5cb86b83aedaa18fd784d06d8f1479b9127c6f5 Mon Sep 17 00:00:00 2001
+From: Marek Blaha <mblaha@redhat.com>
+Date: Wed, 6 Oct 2021 09:43:37 +0200
+Subject: [PATCH] Fix reporting irrecoverable errors on packages download
+
+The original _irrecoverable property returns random dictionary - either
+packages irrecoverable errors, or global fatal error or even new empty
+dictionary. This makes it prone to programmer errors like:
+
+errs._irrecoverable[pkg] = [err]
+
+which may lead to setting the error into the newly created empty
+dictionary instead of packages errors dictionary as intended.
+
+I turned the property to method which I consider more clear.
+---
+ dnf/base.py |  8 ++++----
+ dnf/repo.py |  9 ++++-----
+ 2 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/dnf/base.py b/dnf/base.py
+index 0949ddf..b0a378c 100644
+--- a/dnf/base.py
++++ b/dnf/base.py
+@@ -1165,8 +1165,8 @@ class Base(object):
+                 progress.start(len(payloads), est_remote_size)
+             errors = dnf.repo._download_payloads(payloads, drpm)
+ 
+-            if errors._irrecoverable:
+-                raise dnf.exceptions.DownloadError(errors._irrecoverable)
++            if errors._irrecoverable():
++                raise dnf.exceptions.DownloadError(errors._irrecoverable())
+ 
+             remote_size = sum(errors._bandwidth_used(pload)
+                               for pload in payloads)
+@@ -1191,8 +1191,8 @@ class Base(object):
+                 progress.start(len(payloads), est_remote_size)
+                 errors = dnf.repo._download_payloads(payloads, drpm)
+ 
+-                if errors._irrecoverable:
+-                    raise dnf.exceptions.DownloadError(errors._irrecoverable)
++                if errors._irrecoverable():
++                    raise dnf.exceptions.DownloadError(errors._irrecoverable())
+ 
+                 remote_size += \
+                     sum(errors._bandwidth_used(pload) for pload in payloads)
+diff --git a/dnf/repo.py b/dnf/repo.py
+index b5c9849..b454e98 100644
+--- a/dnf/repo.py
++++ b/dnf/repo.py
+@@ -112,7 +112,7 @@ def _download_payloads(payloads, drpm):
+             errs._skipped.add(pkg)
+             continue
+         pkg.repo._repo.expire()
+-        errs._irrecoverable[pkg] = [err]
++        errs._pkg_irrecoverable[pkg] = [err]
+ 
+     return errs
+ 
+@@ -131,15 +131,14 @@ def _update_saving(saving, payloads, errs):
+ 
+ class _DownloadErrors(object):
+     def __init__(self):
+-        self._val_irrecoverable = {}
++        self._pkg_irrecoverable = {}
+         self._val_recoverable = {}
+         self._fatal = None
+         self._skipped = set()
+ 
+-    @property
+     def _irrecoverable(self):
+-        if self._val_irrecoverable:
+-            return self._val_irrecoverable
++        if self._pkg_irrecoverable:
++            return self._pkg_irrecoverable
+         if self._fatal:
+             return {'': [self._fatal]}
+         return {}
+--
+libgit2 1.0.1
+
diff --git a/SOURCES/0008-Add-fail_fast-parameter-to-download_payloads-methods.patch b/SOURCES/0008-Add-fail_fast-parameter-to-download_payloads-methods.patch
new file mode 100644
index 0000000..6c01254
--- /dev/null
+++ b/SOURCES/0008-Add-fail_fast-parameter-to-download_payloads-methods.patch
@@ -0,0 +1,70 @@
+From ca3d7f06c8f4c1c901dc853ac33c06976b46c61e Mon Sep 17 00:00:00 2001
+From: Marek Blaha <mblaha@redhat.com>
+Date: Wed, 6 Oct 2021 09:56:05 +0200
+Subject: [PATCH] Add fail_fast parameter to download_payloads methods
+
+Unlike in the rpm transaction, reposync needs to switch the fail_fast
+off to download as much packages from repository as possible.
+---
+ dnf/base.py | 6 +++---
+ dnf/repo.py | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/dnf/base.py b/dnf/base.py
+index b0a378c..c258a5a 100644
+--- a/dnf/base.py
++++ b/dnf/base.py
+@@ -1151,7 +1151,7 @@ class Base(object):
+         timer()
+         self._trans_success = True
+ 
+-    def _download_remote_payloads(self, payloads, drpm, progress, callback_total):
++    def _download_remote_payloads(self, payloads, drpm, progress, callback_total, fail_fast=True):
+         lock = dnf.lock.build_download_lock(self.conf.cachedir, self.conf.exit_on_lock)
+         with lock:
+             beg_download = time.time()
+@@ -1163,7 +1163,7 @@ class Base(object):
+                 progress.start(len(payloads), est_remote_size, total_drpms=total_drpm)
+             else:
+                 progress.start(len(payloads), est_remote_size)
+-            errors = dnf.repo._download_payloads(payloads, drpm)
++            errors = dnf.repo._download_payloads(payloads, drpm, fail_fast)
+ 
+             if errors._irrecoverable():
+                 raise dnf.exceptions.DownloadError(errors._irrecoverable())
+@@ -1189,7 +1189,7 @@ class Base(object):
+                 est_remote_size = sum(pload.download_size
+                                       for pload in payloads)
+                 progress.start(len(payloads), est_remote_size)
+-                errors = dnf.repo._download_payloads(payloads, drpm)
++                errors = dnf.repo._download_payloads(payloads, drpm, fail_fast)
+ 
+                 if errors._irrecoverable():
+                     raise dnf.exceptions.DownloadError(errors._irrecoverable())
+diff --git a/dnf/repo.py b/dnf/repo.py
+index b454e98..bb42230 100644
+--- a/dnf/repo.py
++++ b/dnf/repo.py
+@@ -84,17 +84,17 @@ def _pkg2payload(pkg, progress, *factories):
+     raise ValueError(_('no matching payload factory for %s') % pkg)
+ 
+ 
+-def _download_payloads(payloads, drpm):
++def _download_payloads(payloads, drpm, fail_fast=True):
+     # download packages
+     def _download_sort_key(payload):
+         return not hasattr(payload, 'delta')
+ 
+     drpm.err.clear()
+     targets = [pload._librepo_target()
+                for pload in sorted(payloads, key=_download_sort_key)]
+     errs = _DownloadErrors()
+     try:
+-        libdnf.repo.PackageTarget.downloadPackages(libdnf.repo.VectorPPackageTarget(targets), True)
++        libdnf.repo.PackageTarget.downloadPackages(libdnf.repo.VectorPPackageTarget(targets), fail_fast)
+     except RuntimeError as e:
+         errs._fatal = str(e)
+     drpm.wait()
+--
+libgit2 1.0.1
+
diff --git a/SOURCES/0009-comps-Make-the-install_or_skip-method-not-catch-CompsError-anymore.patch b/SOURCES/0009-comps-Make-the-install_or_skip-method-not-catch-CompsError-anymore.patch
new file mode 100644
index 0000000..42a06db
--- /dev/null
+++ b/SOURCES/0009-comps-Make-the-install_or_skip-method-not-catch-CompsError-anymore.patch
@@ -0,0 +1,138 @@
+From f0f037db8219b1e74be4ed86f5eea53b63ca1d88 Mon Sep 17 00:00:00 2001
+From: Lukáš Hrázký <lhrazky@redhat.com>
+Date: Tue, 20 Jul 2021 15:29:59 +0200
+Subject: [PATCH] comps: Make the install_or_skip() method not catch CompsError anymore
+
+According to its docstring, the original intention of the method was to
+not fail on installing an already installed group/environment.
+
+However, the CompsError is no longer thrown when attempting to install
+an already installed group or environment. It was changed to logging a
+warning directly in 5210b9dc and then the check was removed completely
+in 217ca0fa.
+
+For the other case for which an instance of CompsError can be thrown
+from the install_group() and install_environment() methods, which is
+when a group or environment is not found, we certainly want to throw an
+error (see the linked bugs), therefore there's no reason to catch the
+exception anymore.
+
+The install_or_skip() method is preserved as part of the API so as not
+to break compatibility any more than necessary.
+
+msg: API: Raise CompsError when group/env not found in install_group and install_environment
+type: bugfix
+resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1947958
+related: https://bugzilla.redhat.com/show_bug.cgi?id=1943206
+---
+ dnf/base.py               |  8 ++------
+ dnf/cli/commands/group.py |  4 ++--
+ dnf/comps.py              | 20 ++++++++++----------
+ doc/api_base.rst          |  4 ++--
+ 4 files changed, 16 insertions(+), 20 deletions(-)
+
+diff --git a/dnf/base.py b/dnf/base.py
+index c258a5a..babca31 100644
+--- a/dnf/base.py
++++ b/dnf/base.py
+@@ -1668,9 +1668,7 @@ class Base(object):
+         if not isinstance(types, int):
+             types = libdnf.transaction.listToCompsPackageType(types)
+ 
+-        trans = dnf.comps.install_or_skip(solver._environment_install,
+-                                          env_id, types, exclude or set(),
+-                                          strict, exclude_groups)
++        trans = solver._environment_install(env_id, types, exclude or set(), strict, exclude_groups)
+         if not trans:
+             return 0
+         return self._add_comps_trans(trans)
+@@ -1713,9 +1711,7 @@ class Base(object):
+         if not isinstance(pkg_types, int):
+             pkg_types = libdnf.transaction.listToCompsPackageType(pkg_types)
+ 
+-        trans = dnf.comps.install_or_skip(solver._group_install,
+-                                          grp_id, pkg_types, exclude_pkgnames,
+-                                          strict)
++        trans = solver._group_install(grp_id, pkg_types, exclude_pkgnames, strict)
+         if not trans:
+             return 0
+         if strict:
+diff --git a/dnf/cli/commands/group.py b/dnf/cli/commands/group.py
+index cf54279..fd723c4 100644
+--- a/dnf/cli/commands/group.py
++++ b/dnf/cli/commands/group.py
+@@ -244,9 +244,9 @@ class GroupCommand(commands.Command):
+             types = tuple(self.base.conf.group_package_types)
+         pkg_types = libdnf.transaction.listToCompsPackageType(types)
+         for env_id in res.environments:
+-            dnf.comps.install_or_skip(solver._environment_install, env_id, pkg_types)
++            solver._environment_install(env_id, pkg_types)
+         for group_id in res.groups:
+-            dnf.comps.install_or_skip(solver._group_install, group_id, pkg_types)
++            solver._group_install(group_id, pkg_types)
+ 
+     def _mark_remove(self, patterns):
+         q = CompsQuery(self.base.comps, self.base.history,
+diff --git a/dnf/comps.py b/dnf/comps.py
+index 8976533..461eb27 100644
+--- a/dnf/comps.py
++++ b/dnf/comps.py
+@@ -93,15 +93,15 @@ def _fn_display_order(group):
+ 
+ def install_or_skip(install_fnc, grp_or_env_id, types, exclude=None,
+                     strict=True, exclude_groups=None):
+-    """Either mark in persistor as installed given `grp_or_env` (group
+-       or environment) or skip it (if it's already installed).
+-       `install_fnc` has to be Solver._group_install
+-       or Solver._environment_install.
+-       """
+-    try:
+-        return install_fnc(grp_or_env_id, types, exclude, strict, exclude_groups)
+-    except dnf.comps.CompsError as e:
+-        logger.warning("%s, %s", ucd(e)[:-1], _("skipping."))
++    """
++    Installs a group or an environment identified by grp_or_env_id.
++    This method is preserved for API compatibility. It used to catch an
++    exception thrown when a gorup or env was already installed, which is no
++    longer thrown.
++    `install_fnc` has to be Solver._group_install or
++    Solver._environment_install.
++    """
++    return install_fnc(grp_or_env_id, types, exclude, strict, exclude_groups)
+ 
+ 
+ class _Langs(object):
+@@ -592,7 +592,7 @@ class Solver(object):
+         assert dnf.util.is_string_type(group_id)
+         return self.history.env.is_removable_group(group_id)
+ 
+-    def _environment_install(self, env_id, pkg_types, exclude, strict=True, exclude_groups=None):
++    def _environment_install(self, env_id, pkg_types, exclude=None, strict=True, exclude_groups=None):
+         assert dnf.util.is_string_type(env_id)
+         comps_env = self.comps._environment_by_id(env_id)
+         if not comps_env:
+diff --git a/doc/api_base.rst b/doc/api_base.rst
+index 20d7945..03396b6 100644
+--- a/doc/api_base.rst
++++ b/doc/api_base.rst
+@@ -179,7 +179,7 @@
+ 
+   .. method:: group_install(group_id, pkg_types, exclude=None, strict=True)
+ 
+-    Mark group with corresponding `group_id` installed and mark the packages in the group for installation. Return the number of packages that the operation has marked for installation. `pkg_types` is a sequence of strings determining the kinds of packages to be installed, where the respective groups can be selected by including ``"mandatory"``, ``"default"`` or ``"optional"`` in it. If `exclude` is given, it has to be an iterable of package name glob patterns: :meth:`.group_install` will then not mark the respective packages for installation whenever possible. Parameter `strict` is a boolean indicating whether group packages that exist but are non-installable due to e.g. dependency issues should be skipped (False) or cause transaction to fail to resolve (True).
++    Mark group with corresponding `group_id` installed and mark the packages in the group for installation. Return the number of packages that the operation has marked for installation. `pkg_types` is a sequence of strings determining the kinds of packages to be installed, where the respective groups can be selected by including ``"mandatory"``, ``"default"`` or ``"optional"`` in it. If `exclude` is given, it has to be an iterable of package name glob patterns: :meth:`.group_install` will then not mark the respective packages for installation whenever possible. Parameter `strict` is a boolean indicating whether group packages that exist but are non-installable due to e.g. dependency issues should be skipped (False) or cause transaction to fail to resolve (True).  Raises :exc:`dnf.exceptions.CompsError` in case the group doesn't exist.
+ 
+   .. method:: group_remove(group_id)
+ 
+@@ -191,7 +191,7 @@
+ 
+   .. method:: environment_install(env_id, types, exclude=None, strict=True, exclude_groups=None)
+ 
+-    Similar to :meth:`.group_install` but operates on environmental groups. `exclude_groups` is an iterable of group IDs that will not be marked as installed.
++    Similar to :meth:`.group_install` but operates on environmental groups. `exclude_groups` is an iterable of group IDs that will not be marked as installed.  Raises :exc:`dnf.exceptions.CompsError` in case the group doesn't exist.
+ 
+   .. method:: environment_remove(env_id)
+ 
+--
+libgit2 1.0.1
+
diff --git a/SOURCES/0010-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch b/SOURCES/0010-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch
new file mode 100644
index 0000000..c9abef0
--- /dev/null
+++ b/SOURCES/0010-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch
@@ -0,0 +1,29 @@
+From 683b92811abcb6cbbc00353010ec18e2cf655912 Mon Sep 17 00:00:00 2001
+From: Jaroslav Mracek <jmracek@redhat.com>
+Date: Mon, 6 Sep 2021 12:40:59 +0200
+Subject: [PATCH] [doc] Improve description of multilib_policy=all (RhBug:1996681,1995630)
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1996681
+https://bugzilla.redhat.com/show_bug.cgi?id=1995630
+---
+ doc/conf_ref.rst | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/doc/conf_ref.rst b/doc/conf_ref.rst
+index 016bd00..83b14ec 100644
+--- a/doc/conf_ref.rst
++++ b/doc/conf_ref.rst
+@@ -351,7 +351,9 @@ configuration file by your distribution to override the DNF defaults.
+ ``multilib_policy``
+     :ref:`string <string-label>`
+ 
+-    Controls how multilib packages are treated during install operations. Can either be ``"best"`` (the default) for the depsolver to prefer packages which best match the system's architecture, or ``"all"`` to install all available packages with compatible architectures.
++    Controls how multilib packages are treated during install operations. Can either be ``"best"`` (the default) for
++    the depsolver to prefer packages which best match the system's architecture, or ``"all"`` to install packages for
++    all available architectures.
+ 
+ .. _obsoletes_conf_option-label:
+ 
+--
+libgit2 1.0.1
+
diff --git a/SOURCES/0011-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch b/SOURCES/0011-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch
new file mode 100644
index 0000000..b1f2b86
--- /dev/null
+++ b/SOURCES/0011-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch
@@ -0,0 +1,33 @@
+From db52d259645daf8ca0ae06e829787d36171f2d5b Mon Sep 17 00:00:00 2001
+From: Jaroslav Rohel <jrohel@redhat.com>
+Date: Wed, 20 Oct 2021 09:20:03 +0200
+Subject: [PATCH] Fix: Python dnf API does not respect cacheonly (RhBug:1862970)
+
+`Repo` object has always been constructed with default synchronization
+strategy. The configuration option `cacheonly` was ignored. DNF
+application set synchronization strategy later in the `Cli` object
+during processing demands.
+
+The fix takes into account the `cacheonly` option during the construction
+of the `Repo` object. Synchronization strategy may still be overriden
+during demand processing.
+---
+ dnf/repo.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dnf/repo.py b/dnf/repo.py
+index bb42230..1822cf0 100644
+--- a/dnf/repo.py
++++ b/dnf/repo.py
+@@ -434,7 +434,7 @@ class Repo(dnf.conf.RepoConf):
+         self._pkgdir = None
+         self._key_import = _NullKeyImport()
+         self.metadata = None  # :api
+-        self._repo.setSyncStrategy(self.DEFAULT_SYNC)
++        self._repo.setSyncStrategy(SYNC_ONLY_CACHE if parent_conf and parent_conf.cacheonly else self.DEFAULT_SYNC)
+         if parent_conf:
+             self._repo.setSubstitutions(parent_conf.substitutions)
+         self._substitutions = dnf.conf.substitutions.Substitutions()
+--
+libgit2 1.0.1
+
diff --git a/SOURCES/0012-Documentation-API-notes-for-cacheonly.patch b/SOURCES/0012-Documentation-API-notes-for-cacheonly.patch
new file mode 100644
index 0000000..8c3cef0
--- /dev/null
+++ b/SOURCES/0012-Documentation-API-notes-for-cacheonly.patch
@@ -0,0 +1,26 @@
+From f8025df597685a0bd0c347b1a60c280f03bdca6f Mon Sep 17 00:00:00 2001
+From: Jaroslav Rohel <jrohel@redhat.com>
+Date: Fri, 5 Nov 2021 08:52:56 +0100
+Subject: [PATCH] Documentation: API notes for cacheonly
+
+---
+ doc/conf_ref.rst | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/doc/conf_ref.rst b/doc/conf_ref.rst
+index 83b14ec..75bcdf7 100644
+--- a/doc/conf_ref.rst
++++ b/doc/conf_ref.rst
+@@ -129,6 +129,9 @@ configuration file by your distribution to override the DNF defaults.
+     If set to ``True`` DNF will run entirely from system cache, will not update
+     the cache and will use it even in case it is expired. Default is ``False``.
+ 
++    API Notes: Must be set before repository objects are created. Plugins must set
++    this in the pre_config hook. Later changes are ignored.
++
+ .. _check_config_file_age-label:
+ 
+ ``check_config_file_age``
+--
+libgit2 1.0.1
+
diff --git a/SOURCES/0013-Allow-destdir-option-with-modulesync-command.patch b/SOURCES/0013-Allow-destdir-option-with-modulesync-command.patch
new file mode 100644
index 0000000..d859553
--- /dev/null
+++ b/SOURCES/0013-Allow-destdir-option-with-modulesync-command.patch
@@ -0,0 +1,39 @@
+From 6af9938c87cf409f886f21b59ec45c54eda6c8b2 Mon Sep 17 00:00:00 2001
+From: Jaroslav Mracek <jmracek@redhat.com>
+Date: Tue, 2 Nov 2021 14:23:22 +0100
+Subject: [PATCH] Allow destdir option with modulesync command
+
+---
+ dnf/cli/cli.py      | 2 +-
+ doc/command_ref.rst | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dnf/cli/cli.py b/dnf/cli/cli.py
+index 6576997..a315201 100644
+--- a/dnf/cli/cli.py
++++ b/dnf/cli/cli.py
+@@ -810,7 +810,7 @@ class Cli(object):
+         if opts.destdir is not None:
+             self.base.conf.destdir = opts.destdir
+             if not self.base.conf.downloadonly and opts.command not in (
+-                    'download', 'system-upgrade', 'reposync'):
++                    'download', 'system-upgrade', 'reposync', 'modulesync'):
+                 logger.critical(_('--destdir or --downloaddir must be used with --downloadonly '
+                                   'or download or system-upgrade command.')
+                 )
+diff --git a/doc/command_ref.rst b/doc/command_ref.rst
+index f96c0ea..42aec72 100644
+--- a/doc/command_ref.rst
++++ b/doc/command_ref.rst
+@@ -182,7 +182,7 @@ Options
+ ``--downloaddir=<path>, --destdir=<path>``
+     Redirect downloaded packages to provided directory. The option has to be used together with the \-\
+     :ref:`-downloadonly <downloadonly-label>` command line option, with the
+-    ``download`` command (dnf-plugins-core) or with the ``system-upgrade`` command
++    ``download``, ``modulesync`` or ``reposync`` commands (dnf-plugins-core) or with the ``system-upgrade`` command
+     (dnf-plugins-extras).
+ 
+ .. _downloadonly-label:
+--
+libgit2 1.1.0
+
diff --git a/SOURCES/0014-Update-translations-RhBug-2017270.patch b/SOURCES/0014-Update-translations-RhBug-2017270.patch
new file mode 100644
index 0000000..8b7c203
--- /dev/null
+++ b/SOURCES/0014-Update-translations-RhBug-2017270.patch
@@ -0,0 +1,21203 @@
+From 688eefb336006b0b7f115ae110e97e1e59d1564b Mon Sep 17 00:00:00 2001
+From: Marek Blaha <mblaha@redhat.com>
+Date: Fri, 18 Mar 2022 13:14:01 +0100
+Subject: [PATCH] Update translations (RhBug: 2017270)
+
+---
+ po/dnf.pot  | 1164 ++++++++++++++------------
+ po/fr.po    | 1527 +++++++++++++++++++---------------
+ po/ja.po    | 1739 +++++++++++++++++++++-----------------
+ po/ko.po    | 2289 +++++++++++++++++++++++++++------------------------
+ po/zh_CN.po | 1491 ++++++++++++++++++---------------
+ po/zh_TW.po | 1345 ++++++++++++++++--------------
+ 6 files changed, 5259 insertions(+), 4296 deletions(-)
+
+diff --git a/po/dnf.pot b/po/dnf.pot
+index f7101537..62a8df83 100644
+--- a/po/dnf.pot
++++ b/po/dnf.pot
+@@ -8,7 +8,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2020-10-05 09:18-0400\n"
++"POT-Creation-Date: 2022-02-28 11:24+0100\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
+@@ -63,7 +63,7 @@ msgstr ""
+ msgid "Failed to execute command '%s': returned %d"
+ msgstr ""
+ 
+-#: dnf/automatic/main.py:164 dnf/conf/config.py:151
++#: dnf/automatic/main.py:164
+ #, python-format
+ msgid "Unknown configuration value: %s=%s in %s; %s"
+ msgstr ""
+@@ -73,7 +73,7 @@ msgstr ""
+ msgid "Unknown configuration option: %s = %s in %s"
+ msgstr ""
+ 
+-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
++#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
+ msgid "GPG check FAILED"
+ msgstr ""
+ 
+@@ -86,9 +86,10 @@ msgid "Started dnf-automatic."
+ msgstr ""
+ 
+ #: dnf/automatic/main.py:308
+-#, python-format
+-msgid "Sleep for %s seconds"
+-msgstr ""
++msgid "Sleep for {} second"
++msgid_plural "Sleep for {} seconds"
++msgstr[0] ""
++msgstr[1] ""
+ 
+ #: dnf/automatic/main.py:315
+ msgid "System is off-line."
+@@ -100,389 +101,375 @@ msgstr ""
+ msgid "Error: %s"
+ msgstr ""
+ 
+-#: dnf/base.py:146
++#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
+ msgid "loading repo '{}' failure: {}"
+ msgstr ""
+ 
+-#: dnf/base.py:148
++#: dnf/base.py:150
+ msgid "Loading repository '{}' has failed"
+ msgstr ""
+ 
+-#: dnf/base.py:320
++#: dnf/base.py:327
+ msgid "Metadata timer caching disabled when running on metered connection."
+ msgstr ""
+ 
+-#: dnf/base.py:325
++#: dnf/base.py:332
+ msgid "Metadata timer caching disabled when running on a battery."
+ msgstr ""
+ 
+-#: dnf/base.py:330
++#: dnf/base.py:337
+ msgid "Metadata timer caching disabled."
+ msgstr ""
+ 
+-#: dnf/base.py:335
++#: dnf/base.py:342
+ msgid "Metadata cache refreshed recently."
+ msgstr ""
+ 
+-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
++#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
+ msgid "There are no enabled repositories in \"{}\"."
+ msgstr ""
+ 
+-#: dnf/base.py:348
++#: dnf/base.py:355
+ #, python-format
+ msgid "%s: will never be expired and will not be refreshed."
+ msgstr ""
+ 
+-#: dnf/base.py:350
++#: dnf/base.py:357
+ #, python-format
+ msgid "%s: has expired and will be refreshed."
+ msgstr ""
+ 
+ #. expires within the checking period:
+-#: dnf/base.py:354
++#: dnf/base.py:361
+ #, python-format
+ msgid "%s: metadata will expire after %d seconds and will be refreshed now"
+ msgstr ""
+ 
+-#: dnf/base.py:358
++#: dnf/base.py:365
+ #, python-format
+ msgid "%s: will expire after %d seconds."
+ msgstr ""
+ 
+ #. performs the md sync
+-#: dnf/base.py:364
++#: dnf/base.py:371
+ msgid "Metadata cache created."
+ msgstr ""
+ 
+-#: dnf/base.py:397
++#: dnf/base.py:404 dnf/base.py:471
+ #, python-format
+ msgid "%s: using metadata from %s."
+ msgstr ""
+ 
+-#: dnf/base.py:409
++#: dnf/base.py:416 dnf/base.py:484
+ #, python-format
+ msgid "Ignoring repositories: %s"
+ msgstr ""
+ 
+-#: dnf/base.py:412
++#: dnf/base.py:419
+ #, python-format
+ msgid "Last metadata expiration check: %s ago on %s."
+ msgstr ""
+ 
+-#: dnf/base.py:443
++#: dnf/base.py:512
+ msgid ""
+ "The downloaded packages were saved in cache until the next successful "
+ "transaction."
+ msgstr ""
+ 
+-#: dnf/base.py:445
++#: dnf/base.py:514
+ #, python-format
+ msgid "You can remove cached packages by executing '%s'."
+ msgstr ""
+ 
+-#: dnf/base.py:535
++#: dnf/base.py:606
+ #, python-format
+ msgid "Invalid tsflag in config file: %s"
+ msgstr ""
+ 
+-#: dnf/base.py:591
++#: dnf/base.py:662
+ #, python-format
+ msgid "Failed to add groups file for repository: %s - %s"
+ msgstr ""
+ 
+-#: dnf/base.py:823
++#: dnf/base.py:904
+ msgid "Running transaction check"
+ msgstr ""
+ 
+-#: dnf/base.py:831
++#: dnf/base.py:912
+ msgid "Error: transaction check vs depsolve:"
+ msgstr ""
+ 
+-#: dnf/base.py:837
++#: dnf/base.py:918
+ msgid "Transaction check succeeded."
+ msgstr ""
+ 
+-#: dnf/base.py:840
++#: dnf/base.py:921
+ msgid "Running transaction test"
+ msgstr ""
+ 
+-#: dnf/base.py:850 dnf/base.py:992
++#: dnf/base.py:931 dnf/base.py:1082
+ msgid "RPM: {}"
+ msgstr ""
+ 
+-#: dnf/base.py:851
++#: dnf/base.py:932
+ msgid "Transaction test error:"
+ msgstr ""
+ 
+-#: dnf/base.py:862
++#: dnf/base.py:943
+ msgid "Transaction test succeeded."
+ msgstr ""
+ 
+-#: dnf/base.py:883
++#: dnf/base.py:964
+ msgid "Running transaction"
+ msgstr ""
+ 
+-#: dnf/base.py:911
++#: dnf/base.py:1001
+ msgid "Disk Requirements:"
+ msgstr ""
+ 
+-#: dnf/base.py:914
++#: dnf/base.py:1004
+ #, python-brace-format
+ msgid "At least {0}MB more space needed on the {1} filesystem."
+ msgid_plural "At least {0}MB more space needed on the {1} filesystem."
+ msgstr[0] ""
+ msgstr[1] ""
+ 
+-#: dnf/base.py:921
++#: dnf/base.py:1011
+ msgid "Error Summary"
+ msgstr ""
+ 
+-#: dnf/base.py:947
++#: dnf/base.py:1037
+ #, python-brace-format
+ msgid "RPMDB altered outside of {prog}."
+ msgstr ""
+ 
+-#: dnf/base.py:993 dnf/base.py:1001
++#: dnf/base.py:1083 dnf/base.py:1091
+ msgid "Could not run transaction."
+ msgstr ""
+ 
+-#: dnf/base.py:996
++#: dnf/base.py:1086
+ msgid "Transaction couldn't start:"
+ msgstr ""
+ 
+-#: dnf/base.py:1010
++#: dnf/base.py:1100
+ #, python-format
+ msgid "Failed to remove transaction file %s"
+ msgstr ""
+ 
+-#: dnf/base.py:1092
++#: dnf/base.py:1182
+ msgid "Some packages were not downloaded. Retrying."
+ msgstr ""
+ 
+-#: dnf/base.py:1122
++#: dnf/base.py:1212
+ #, python-format
+ msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
+ msgstr ""
+ 
+-#: dnf/base.py:1125
++#: dnf/base.py:1215
+ #, python-format
+ msgid ""
+ "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
+ msgstr ""
+ 
+-#: dnf/base.py:1167
++#: dnf/base.py:1257
+ msgid "Cannot add local packages, because transaction job already exists"
+ msgstr ""
+ 
+-#: dnf/base.py:1181
++#: dnf/base.py:1271
+ msgid "Could not open: {}"
+ msgstr ""
+ 
+-#: dnf/base.py:1219
++#: dnf/base.py:1309
+ #, python-format
+ msgid "Public key for %s is not installed"
+ msgstr ""
+ 
+-#: dnf/base.py:1223
++#: dnf/base.py:1313
+ #, python-format
+ msgid "Problem opening package %s"
+ msgstr ""
+ 
+-#: dnf/base.py:1231
++#: dnf/base.py:1321
+ #, python-format
+ msgid "Public key for %s is not trusted"
+ msgstr ""
+ 
+-#: dnf/base.py:1235
++#: dnf/base.py:1325
+ #, python-format
+ msgid "Package %s is not signed"
+ msgstr ""
+ 
+-#: dnf/base.py:1265
++#: dnf/base.py:1355
+ #, python-format
+ msgid "Cannot remove %s"
+ msgstr ""
+ 
+-#: dnf/base.py:1269
++#: dnf/base.py:1359
+ #, python-format
+ msgid "%s removed"
+ msgstr ""
+ 
+-#: dnf/base.py:1549
++#: dnf/base.py:1639
+ msgid "No match for group package \"{}\""
+ msgstr ""
+ 
+-#: dnf/base.py:1635
++#: dnf/base.py:1721
+ #, python-format
+ msgid "Adding packages from group '%s': %s"
+ msgstr ""
+ 
+-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
+-#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
+-#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
++#: dnf/base.py:1744 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
++#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
++#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
+ #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
+ msgid "Nothing to do."
+ msgstr ""
+ 
+-#: dnf/base.py:1676
++#: dnf/base.py:1762
+ msgid "No groups marked for removal."
+ msgstr ""
+ 
+-#: dnf/base.py:1710
++#: dnf/base.py:1796
+ msgid "No group marked for upgrade."
+ msgstr ""
+ 
+-#: dnf/base.py:1925
++#: dnf/base.py:2010
+ #, python-format
+ msgid "Package %s not installed, cannot downgrade it."
+ msgstr ""
+ 
+-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
+-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
+-#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
+-#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
+-#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
++#: dnf/base.py:2012 dnf/base.py:2031 dnf/base.py:2044 dnf/base.py:2071
++#: dnf/base.py:2124 dnf/base.py:2132 dnf/base.py:2266 dnf/cli/cli.py:417
++#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
++#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
++#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
+ #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
+-#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
++#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
+ #, python-format
+ msgid "No match for argument: %s"
+ msgstr ""
+ 
+-#: dnf/base.py:1934
++#: dnf/base.py:2019
+ #, python-format
+ msgid "Package %s of lower version already installed, cannot downgrade it."
+ msgstr ""
+ 
+-#: dnf/base.py:1957
++#: dnf/base.py:2042
+ #, python-format
+ msgid "Package %s not installed, cannot reinstall it."
+ msgstr ""
+ 
+-#: dnf/base.py:1972
++#: dnf/base.py:2057
+ #, python-format
+ msgid "File %s is a source package and cannot be updated, ignoring."
+ msgstr ""
+ 
+-#: dnf/base.py:1978
++#: dnf/base.py:2068
+ #, python-format
+ msgid "Package %s not installed, cannot update it."
+ msgstr ""
+ 
+-#: dnf/base.py:1987
++#: dnf/base.py:2078
+ #, python-format
+ msgid ""
+ "The same or higher version of %s is already installed, cannot update it."
+ msgstr ""
+ 
+-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
++#: dnf/base.py:2121 dnf/cli/commands/reinstall.py:81
+ #, python-format
+ msgid "Package %s available, but not installed."
+ msgstr ""
+ 
+-#: dnf/base.py:2032
++#: dnf/base.py:2127
+ #, python-format
+ msgid "Package %s available, but installed for different architecture."
+ msgstr ""
+ 
+-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
++#: dnf/base.py:2152
+ #, python-format
+ msgid "No package %s installed."
+ msgstr ""
+ 
+-#: dnf/base.py:2075 dnf/cli/commands/install.py:136
++#: dnf/base.py:2170 dnf/cli/commands/install.py:136
+ #: dnf/cli/commands/remove.py:133
+ #, python-format
+ msgid "Not a valid form: %s"
+ msgstr ""
+ 
+-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
+-#: dnf/cli/commands/remove.py:163
++#: dnf/base.py:2185 dnf/cli/commands/__init__.py:676
++#: dnf/cli/commands/remove.py:162
+ msgid "No packages marked for removal."
+ msgstr ""
+ 
+-#: dnf/base.py:2179 dnf/cli/cli.py:422
++#: dnf/base.py:2273 dnf/cli/cli.py:428
+ #, python-format
+ msgid "Packages for argument %s available, but not installed."
+ msgstr ""
+ 
+-#: dnf/base.py:2184
++#: dnf/base.py:2278
+ #, python-format
+ msgid "Package %s of lowest version already installed, cannot downgrade it."
+ msgstr ""
+ 
+-#: dnf/base.py:2242
+-msgid "Action not handled: {}"
+-msgstr ""
+-
+-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
+-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
+-#, python-format
+-msgid "No package %s available."
+-msgstr ""
+-
+-#: dnf/base.py:2269
+-msgid "no package matched"
+-msgstr ""
+-
+-#: dnf/base.py:2290
++#: dnf/base.py:2378
+ msgid "No security updates needed, but {} update available"
+ msgstr ""
+ 
+-#: dnf/base.py:2292
++#: dnf/base.py:2380
+ msgid "No security updates needed, but {} updates available"
+ msgstr ""
+ 
+-#: dnf/base.py:2296
++#: dnf/base.py:2384
+ msgid "No security updates needed for \"{}\", but {} update available"
+ msgstr ""
+ 
+-#: dnf/base.py:2298
++#: dnf/base.py:2386
+ msgid "No security updates needed for \"{}\", but {} updates available"
+ msgstr ""
+ 
+ #. raise an exception, because po.repoid is not in self.repos
+-#: dnf/base.py:2319
++#: dnf/base.py:2407
+ #, python-format
+ msgid "Unable to retrieve a key for a commandline package: %s"
+ msgstr ""
+ 
+-#: dnf/base.py:2327
++#: dnf/base.py:2415
+ #, python-format
+ msgid ". Failing package is: %s"
+ msgstr ""
+ 
+-#: dnf/base.py:2328
++#: dnf/base.py:2416
+ #, python-format
+ msgid "GPG Keys are configured as: %s"
+ msgstr ""
+ 
+-#: dnf/base.py:2340
++#: dnf/base.py:2428
+ #, python-format
+ msgid "GPG key at %s (0x%s) is already installed"
+ msgstr ""
+ 
+-#: dnf/base.py:2373
++#: dnf/base.py:2464
+ msgid "The key has been approved."
+ msgstr ""
+ 
+-#: dnf/base.py:2376
++#: dnf/base.py:2467
+ msgid "The key has been rejected."
+ msgstr ""
+ 
+-#: dnf/base.py:2409
++#: dnf/base.py:2500
+ #, python-format
+ msgid "Key import failed (code %d)"
+ msgstr ""
+ 
+-#: dnf/base.py:2411
++#: dnf/base.py:2502
+ msgid "Key imported successfully"
+ msgstr ""
+ 
+-#: dnf/base.py:2415
++#: dnf/base.py:2506
+ msgid "Didn't install any keys"
+ msgstr ""
+ 
+-#: dnf/base.py:2418
++#: dnf/base.py:2509
+ #, python-format
+ msgid ""
+ "The GPG keys listed for the \"%s\" repository are already installed but they "
+@@ -490,49 +477,49 @@ msgid ""
+ "Check that the correct key URLs are configured for this repository."
+ msgstr ""
+ 
+-#: dnf/base.py:2429
++#: dnf/base.py:2520
+ msgid "Import of key(s) didn't help, wrong key(s)?"
+ msgstr ""
+ 
+-#: dnf/base.py:2482
++#: dnf/base.py:2573
+ msgid "  * Maybe you meant: {}"
+ msgstr ""
+ 
+-#: dnf/base.py:2514
++#: dnf/base.py:2605
+ msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
+ msgstr ""
+ 
+-#: dnf/base.py:2517
++#: dnf/base.py:2608
+ msgid "Some packages from local repository have incorrect checksum"
+ msgstr ""
+ 
+-#: dnf/base.py:2520
++#: dnf/base.py:2611
+ msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
+ msgstr ""
+ 
+-#: dnf/base.py:2523
++#: dnf/base.py:2614
+ msgid ""
+ "Some packages have invalid cache, but cannot be downloaded due to \"--"
+ "cacheonly\" option"
+ msgstr ""
+ 
+-#: dnf/base.py:2541 dnf/base.py:2561
++#: dnf/base.py:2632 dnf/base.py:2652
+ msgid "No match for argument"
+ msgstr ""
+ 
+-#: dnf/base.py:2549 dnf/base.py:2569
++#: dnf/base.py:2640 dnf/base.py:2660
+ msgid "All matches were filtered out by exclude filtering for argument"
+ msgstr ""
+ 
+-#: dnf/base.py:2551
++#: dnf/base.py:2642
+ msgid "All matches were filtered out by modular filtering for argument"
+ msgstr ""
+ 
+-#: dnf/base.py:2567
++#: dnf/base.py:2658
+ msgid "All matches were installed from a different repository for argument"
+ msgstr ""
+ 
+-#: dnf/base.py:2583
++#: dnf/base.py:2705
+ #, python-format
+ msgid "Package %s is already installed."
+ msgstr ""
+@@ -552,8 +539,8 @@ msgstr ""
+ msgid "Cannot read file \"%s\": %s"
+ msgstr ""
+ 
+-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
+-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
++#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
+ #, python-format
+ msgid "Config error: %s"
+ msgstr ""
+@@ -584,208 +571,188 @@ msgid ""
+ "stream '{2}'"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:172
++#: dnf/cli/cli.py:173
+ #, python-brace-format
+ msgid ""
+-"It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset "
+-"the module using '{prog} module reset <module_name>' command. After you "
+-"reset the module, you can install the other stream."
++"It is not possible to switch enabled streams of a module unless explicitly "
++"enabled via configuration option module_stream_switch.\n"
++"It is recommended to rather remove all installed content from the module, "
++"and reset the module using '{prog} module reset <module_name>' command. "
++"After you reset the module, you can install the other stream."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:210
++#: dnf/cli/cli.py:212
+ #, python-brace-format
+ msgid "{prog} will only download packages for the transaction."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:213
++#: dnf/cli/cli.py:215
+ #, python-brace-format
+ msgid ""
+ "{prog} will only download packages, install gpg keys, and check the "
+ "transaction."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:217
++#: dnf/cli/cli.py:219
+ msgid "Operation aborted."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:224
++#: dnf/cli/cli.py:226
+ msgid "Downloading Packages:"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:230
++#: dnf/cli/cli.py:232
+ msgid "Error downloading packages:"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:258
++#: dnf/cli/cli.py:264
+ msgid "Transaction failed"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:281
++#: dnf/cli/cli.py:287
+ msgid ""
+ "Refusing to automatically import keys when running unattended.\n"
+ "Use \"-y\" to override."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:331
++#: dnf/cli/cli.py:337
+ msgid "Changelogs for {}"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
++#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
+ msgid "Obsoleting Packages"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:393
++#: dnf/cli/cli.py:399
+ msgid "No packages marked for distribution synchronization."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:428
++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
++#, python-format
++msgid "No package %s available."
++msgstr ""
++
++#: dnf/cli/cli.py:434
+ msgid "No packages marked for downgrade."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:479
++#: dnf/cli/cli.py:485
+ msgid "Installed Packages"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:487
++#: dnf/cli/cli.py:493
+ msgid "Available Packages"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:491
++#: dnf/cli/cli.py:497
+ msgid "Autoremove Packages"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:493
++#: dnf/cli/cli.py:499
+ msgid "Extra Packages"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:497
++#: dnf/cli/cli.py:503
+ msgid "Available Upgrades"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:513
++#: dnf/cli/cli.py:519
+ msgid "Recently Added Packages"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:518
++#: dnf/cli/cli.py:523
+ msgid "No matching Packages to list"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:599
++#: dnf/cli/cli.py:604
+ msgid "No Matches found"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:609
+-msgid "No transaction ID given"
+-msgstr ""
+-
+-#: dnf/cli/cli.py:614
+-msgid "Not found given transaction ID"
+-msgstr ""
+-
+-#: dnf/cli/cli.py:623
+-msgid "Found more than one transaction ID!"
+-msgstr ""
+-
+-#: dnf/cli/cli.py:640
+-#, python-format
+-msgid "Transaction history is incomplete, before %u."
+-msgstr ""
+-
+-#: dnf/cli/cli.py:642
+-#, python-format
+-msgid "Transaction history is incomplete, after %u."
+-msgstr ""
+-
+-#: dnf/cli/cli.py:689
+-msgid "Undoing transaction {}, from {}"
+-msgstr ""
+-
+-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
++#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
+ #, python-format
+ msgid "Unknown repo: '%s'"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:783
++#: dnf/cli/cli.py:685
+ #, python-format
+ msgid "No repository match: %s"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:817
++#: dnf/cli/cli.py:719
+ msgid ""
+ "This command has to be run with superuser privileges (under the root user on "
+ "most systems)."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:847
++#: dnf/cli/cli.py:749
+ #, python-format
+ msgid "No such command: %s. Please use %s --help"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:850
++#: dnf/cli/cli.py:752
+ #, python-format, python-brace-format
+ msgid ""
+ "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
+ "command(%s)'\""
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:854
++#: dnf/cli/cli.py:756
+ #, python-brace-format
+ msgid ""
+ "It could be a {prog} plugin command, but loading of plugins is currently "
+ "disabled."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:912
++#: dnf/cli/cli.py:814
+ msgid ""
+ "--destdir or --downloaddir must be used with --downloadonly or download or "
+ "system-upgrade command."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:918
++#: dnf/cli/cli.py:820
+ msgid ""
+ "--enable, --set-enabled and --disable, --set-disabled must be used with "
+ "config-manager command."
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1000
++#: dnf/cli/cli.py:902
+ msgid ""
+ "Warning: Enforcing GPG signature check globally as per active RPM security "
+ "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1020
++#: dnf/cli/cli.py:922
+ msgid "Config file \"{}\" does not exist"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1040
++#: dnf/cli/cli.py:942
+ msgid ""
+ "Unable to detect release version (use '--releasever' to specify release "
+ "version)"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
++#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
+ msgid "argument {}: not allowed with argument {}"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1134
++#: dnf/cli/cli.py:1023
+ #, python-format
+ msgid "Command \"%s\" already defined"
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1154
++#: dnf/cli/cli.py:1043
+ msgid "Excludes in dnf.conf: "
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1157
++#: dnf/cli/cli.py:1046
+ msgid "Includes in dnf.conf: "
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1160
++#: dnf/cli/cli.py:1049
+ msgid "Excludes in repo "
+ msgstr ""
+ 
+-#: dnf/cli/cli.py:1163
++#: dnf/cli/cli.py:1052
+ msgid "Includes in repo "
+ msgstr ""
+ 
+@@ -826,38 +793,38 @@ msgstr ""
+ msgid "display details about a package or group of packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
++#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
+ msgid "show all packages (default)"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
+-#: dnf/cli/commands/module.py:351
++#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
++#: dnf/cli/commands/module.py:376
+ msgid "show only available packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
++#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
+ msgid "show only installed packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
++#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
+ msgid "show only extras packages"
+ msgstr ""
+ 
+ #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
+-#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
++#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
+ msgid "show only upgrades packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
++#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
+ msgid "show only autoremove packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
++#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
+ msgid "show only recently changed packages"
+ msgstr ""
+ 
+ #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
+-#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
++#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
+ #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
+ #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
+ msgid "PACKAGE"
+@@ -895,70 +862,70 @@ msgstr ""
+ msgid "show changelogs before update"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
+-#: dnf/cli/commands/__init__.py:470
++#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
++#: dnf/cli/commands/__init__.py:465
+ msgid "No package available."
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:376
++#: dnf/cli/commands/__init__.py:371
+ msgid "No packages marked for install."
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:412
++#: dnf/cli/commands/__init__.py:407
+ msgid "No package installed."
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
++#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
+ #: dnf/cli/commands/reinstall.py:91
+ #, python-format
+ msgid " (from %s)"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
++#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
+ #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
+ #, python-format
+ msgid "Installed package %s%s not available."
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
+-#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
++#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
++#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
+ msgid "No package installed from the repository."
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
++#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
+ msgid "No packages marked for reinstall."
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
++#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
+ msgid "No packages marked for upgrade."
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:726
++#: dnf/cli/commands/__init__.py:721
+ msgid "run commands on top of all packages in given repository"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "REPOID"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "Repository ID"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
++#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
+ #: dnf/cli/commands/updateinfo.py:108
+ msgid "Package specification"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:801
++#: dnf/cli/commands/__init__.py:796
+ msgid "display a helpful usage message"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:805
++#: dnf/cli/commands/__init__.py:800
+ msgid "COMMAND"
+ msgstr ""
+ 
+-#: dnf/cli/commands/__init__.py:806
++#: dnf/cli/commands/__init__.py:801
+ #, python-brace-format
+ msgid "{prog} command to get help for"
+ msgstr ""
+@@ -1130,7 +1097,9 @@ msgid "Waiting for process with pid %d to finish."
+ msgstr ""
+ 
+ #: dnf/cli/commands/deplist.py:32
+-msgid "List package's dependencies and what packages provide them"
++msgid ""
++"[deprecated, use repoquery --deplist] List package's dependencies and what "
++"packages provide them"
+ msgstr ""
+ 
+ #: dnf/cli/commands/distrosync.py:32
+@@ -1157,78 +1126,78 @@ msgstr ""
+ msgid "No group data available for configured repositories."
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:129
++#: dnf/cli/commands/group.py:126
+ #, python-format
+ msgid "Warning: Group %s does not exist."
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:170
++#: dnf/cli/commands/group.py:167
+ msgid "Warning: No groups match:"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
+-#: dnf/cli/output.py:1226
++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
++#: dnf/cli/output.py:1139
+ msgid "<name-unset>"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:199
++#: dnf/cli/commands/group.py:196
+ msgid "Available Environment Groups:"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:201
++#: dnf/cli/commands/group.py:198
+ msgid "Installed Environment Groups:"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
+ msgid "Installed Groups:"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
+ msgid "Installed Language Groups:"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
+ msgid "Available Groups:"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
+ msgid "Available Language Groups:"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:322
++#: dnf/cli/commands/group.py:319
+ msgid "include optional packages from group"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:325
++#: dnf/cli/commands/group.py:322
+ msgid "show also hidden groups"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:327
++#: dnf/cli/commands/group.py:324
+ msgid "show only installed groups"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:329
++#: dnf/cli/commands/group.py:326
+ msgid "show only available groups"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:331
++#: dnf/cli/commands/group.py:328
+ msgid "show also ID of groups"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:333
++#: dnf/cli/commands/group.py:330
+ msgid "available subcommands: {} (default), {}"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:337
++#: dnf/cli/commands/group.py:334
+ msgid "argument for group subcommand"
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:346
++#: dnf/cli/commands/group.py:343
+ #, python-format
+ msgid "Invalid groups sub-command, use: %s."
+ msgstr ""
+ 
+-#: dnf/cli/commands/group.py:403
++#: dnf/cli/commands/group.py:398
+ msgid "Unable to find a mandatory group package."
+ msgstr ""
+ 
+@@ -1272,69 +1241,90 @@ msgstr ""
+ msgid "More than one argument given as transaction file name."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
+ msgid "No transaction ID or package name given."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:138
++#: dnf/cli/commands/history.py:142
+ #, python-format
+ msgid "You don't have access to the history DB: %s"
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:147
++#: dnf/cli/commands/history.py:151
+ #, python-format
+ msgid ""
+ "Cannot undo transaction %s, doing so would result in an inconsistent package "
+ "database."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:152
++#: dnf/cli/commands/history.py:156
+ #, python-format
+ msgid ""
+ "Cannot rollback transaction %s, doing so would result in an inconsistent "
+ "package database."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:222
++#: dnf/cli/commands/history.py:175
++msgid "No transaction ID given"
++msgstr ""
++
++#: dnf/cli/commands/history.py:179
++#, python-brace-format
++msgid "Transaction ID \"{0}\" not found."
++msgstr ""
++
++#: dnf/cli/commands/history.py:185
++msgid "Found more than one transaction ID!"
++msgstr ""
++
++#: dnf/cli/commands/history.py:203
++#, python-format
++msgid "Transaction history is incomplete, before %u."
++msgstr ""
++
++#: dnf/cli/commands/history.py:205
++#, python-format
++msgid "Transaction history is incomplete, after %u."
++msgstr ""
++
++#: dnf/cli/commands/history.py:256
++msgid "No packages to list"
++msgstr ""
++
++#: dnf/cli/commands/history.py:279
+ msgid ""
+ "Invalid transaction ID range definition '{}'.\n"
+ "Use '<transaction-id>..<transaction-id>'."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:226
++#: dnf/cli/commands/history.py:283
+ msgid ""
+ "Can't convert '{}' to transaction ID.\n"
+ "Use '<number>', 'last', 'last-<number>'."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:255
++#: dnf/cli/commands/history.py:312
+ msgid "No transaction which manipulates package '{}' was found."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:305
+-#, python-brace-format
+-msgid "Transaction ID \"{id}\" not found."
+-msgstr ""
+-
+-#: dnf/cli/commands/history.py:313
++#: dnf/cli/commands/history.py:357
+ msgid "{} exists, overwrite?"
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:316
++#: dnf/cli/commands/history.py:360
+ msgid "Not overwriting {}, exiting."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:323
++#: dnf/cli/commands/history.py:367
+ msgid "Transaction saved to {}."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:326
++#: dnf/cli/commands/history.py:370
+ msgid "Error storing transaction: {}"
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:350
+-msgid ""
+-"Warning, the following problems occurred while replaying the transaction:"
++#: dnf/cli/commands/history.py:386
++msgid "Warning, the following problems occurred while running a transaction:"
+ msgstr ""
+ 
+ #: dnf/cli/commands/install.py:47
+@@ -1354,7 +1344,7 @@ msgstr ""
+ msgid "Not a valid rpm file path: %s"
+ msgstr ""
+ 
+-#: dnf/cli/commands/install.py:167
++#: dnf/cli/commands/install.py:166
+ #, python-brace-format
+ msgid "There are following alternatives for \"{0}\": {1}"
+ msgstr ""
+@@ -1394,7 +1384,7 @@ msgid "%s marked as group installed."
+ msgstr ""
+ 
+ #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
+-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
+ msgid "Error:"
+ msgstr ""
+ 
+@@ -1403,89 +1393,93 @@ msgstr ""
+ msgid "Package %s is not installed."
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:51
++#: dnf/cli/commands/module.py:54
+ msgid ""
+ "Only module name, stream, architecture or profile is used. Ignoring unneeded "
+ "information in argument: '{}'"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:77
++#: dnf/cli/commands/module.py:80
+ msgid "list all module streams, profiles and states"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
++#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
+ msgid "No matching Modules to list"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:111
++#: dnf/cli/commands/module.py:114
+ msgid "print detailed information about a module"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:133
++#: dnf/cli/commands/module.py:136
+ msgid "enable a module stream"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:157
++#: dnf/cli/commands/module.py:160
+ msgid "disable a module with all its streams"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:181
++#: dnf/cli/commands/module.py:184
+ msgid "reset a module"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:202
++#: dnf/cli/commands/module.py:205
+ msgid "install a module profile including its packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:223
++#: dnf/cli/commands/module.py:226
+ msgid "update packages associated with an active stream"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:240
++#: dnf/cli/commands/module.py:243
+ msgid "remove installed module profiles and their packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:264
++#: dnf/cli/commands/module.py:267
+ msgid "Package {} belongs to multiple modules, skipping"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:277
++#: dnf/cli/commands/module.py:280
++msgid "switch a module to a stream and distrosync rpm packages"
++msgstr ""
++
++#: dnf/cli/commands/module.py:302
+ msgid "list modular packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:292
++#: dnf/cli/commands/module.py:317
+ msgid "list packages belonging to a module"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:327
++#: dnf/cli/commands/module.py:352
+ msgid "Interact with Modules."
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:340
++#: dnf/cli/commands/module.py:365
+ msgid "show only enabled modules"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:343
++#: dnf/cli/commands/module.py:368
+ msgid "show only disabled modules"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:346
++#: dnf/cli/commands/module.py:371
+ msgid "show only installed modules or packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:349
++#: dnf/cli/commands/module.py:374
+ msgid "show profile content"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:354
++#: dnf/cli/commands/module.py:379
+ msgid "remove all modular packages"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:364
++#: dnf/cli/commands/module.py:389
+ msgid "Module specification"
+ msgstr ""
+ 
+-#: dnf/cli/commands/module.py:386
++#: dnf/cli/commands/module.py:411
+ msgid "{} {} {}: too few arguments"
+ msgstr ""
+ 
+@@ -1960,22 +1954,22 @@ msgstr ""
+ msgid "Keyword to search for"
+ msgstr ""
+ 
+-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
+ msgctxt "long"
+ msgid "Name"
+ msgstr ""
+ 
+-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
+ msgctxt "long"
+ msgid "Summary"
+ msgstr ""
+ 
+-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
+ msgctxt "long"
+ msgid "Description"
+ msgstr ""
+ 
+-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
+ msgid "URL"
+ msgstr ""
+ 
+@@ -2087,16 +2081,16 @@ msgid ""
+ "exit (or quit)           exit the shell"
+ msgstr ""
+ 
+-#: dnf/cli/commands/shell.py:259
++#: dnf/cli/commands/shell.py:262
+ #, python-format
+ msgid "Error: Cannot open %s for reading"
+ msgstr ""
+ 
+-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
+ msgid "Complete!"
+ msgstr ""
+ 
+-#: dnf/cli/commands/shell.py:291
++#: dnf/cli/commands/shell.py:294
+ msgid "Leaving Shell"
+ msgstr ""
+ 
+@@ -2287,8 +2281,8 @@ msgstr ""
+ msgid "Files"
+ msgstr ""
+ 
+-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
+-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
++#: dnf/cli/output.py:1656 dnf/util.py:617
+ msgid "Installed"
+ msgstr ""
+ 
+@@ -2609,13 +2603,13 @@ msgstr ""
+ #. Translators: This is abbreviated 'Name'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:505
++#: dnf/cli/output.py:459
+ msgctxt "short"
+ msgid "Name"
+ msgstr ""
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:511
++#: dnf/cli/output.py:465
+ msgid "Epoch"
+ msgstr ""
+ 
+@@ -2623,38 +2617,38 @@ msgstr ""
+ #. use the full (unabbreviated) term 'Version' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:512 dnf/cli/output.py:1335
++#: dnf/cli/output.py:466 dnf/cli/output.py:1248
+ msgctxt "short"
+ msgid "Version"
+ msgstr ""
+ 
+ #. Translators: This is the full (unabbreviated) term 'Version'.
+-#: dnf/cli/output.py:513 dnf/cli/output.py:1337
++#: dnf/cli/output.py:467 dnf/cli/output.py:1250
+ msgctxt "long"
+ msgid "Version"
+ msgstr ""
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:516
++#: dnf/cli/output.py:470
+ msgid "Release"
+ msgstr ""
+ 
+ #. Translators: This is abbreviated 'Architecture', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:517 dnf/cli/output.py:1326
++#: dnf/cli/output.py:471 dnf/cli/output.py:1239
+ msgctxt "short"
+ msgid "Arch"
+ msgstr ""
+ 
+ #. Translators: This is the full word 'Architecture', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:518 dnf/cli/output.py:1329
++#: dnf/cli/output.py:472 dnf/cli/output.py:1242
+ msgctxt "long"
+ msgid "Architecture"
+ msgstr ""
+ 
+ #. Translators: This is the full (unabbreviated) term 'Size'.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1352
++#: dnf/cli/output.py:474 dnf/cli/output.py:1265
+ msgctxt "long"
+ msgid "Size"
+ msgstr ""
+@@ -2663,32 +2657,32 @@ msgstr ""
+ #. not be longer than 5 characters. If the term 'Size' in your
+ #. language is not longer than 5 characters then you can use it
+ #. unabbreviated.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1350
++#: dnf/cli/output.py:474 dnf/cli/output.py:1263
+ msgctxt "short"
+ msgid "Size"
+ msgstr ""
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:524
++#: dnf/cli/output.py:478
+ msgid "Source"
+ msgstr ""
+ 
+ #. Translators: This is abbreviated 'Repository', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:525 dnf/cli/output.py:1341
++#: dnf/cli/output.py:479 dnf/cli/output.py:1254
+ msgctxt "short"
+ msgid "Repo"
+ msgstr ""
+ 
+ #. Translators: This is the full word 'Repository', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:526 dnf/cli/output.py:1344
++#: dnf/cli/output.py:480 dnf/cli/output.py:1257
+ msgctxt "long"
+ msgid "Repository"
+ msgstr ""
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:533
++#: dnf/cli/output.py:487
+ msgid "From repo"
+ msgstr ""
+ 
+@@ -2696,324 +2690,320 @@ msgstr ""
+ #. print(_("Committer   : %s") % ucd(pkg.committer))
+ #. print(_("Committime  : %s") % time.ctime(pkg.committime))
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:539
++#: dnf/cli/output.py:493
+ msgid "Packager"
+ msgstr ""
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:541
++#: dnf/cli/output.py:495
+ msgid "Buildtime"
+ msgstr ""
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:545
++#: dnf/cli/output.py:499
+ msgid "Install time"
+ msgstr ""
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:554
++#: dnf/cli/output.py:508
+ msgid "Installed by"
+ msgstr ""
+ 
+ #. Translators: This is abbreviated 'Summary'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:558
++#: dnf/cli/output.py:512
+ msgctxt "short"
+ msgid "Summary"
+ msgstr ""
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:564
++#: dnf/cli/output.py:518
+ msgid "License"
+ msgstr ""
+ 
+ #. Translators: This is abbreviated 'Description'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:568
++#: dnf/cli/output.py:522
+ msgctxt "short"
+ msgid "Description"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:695
+-msgid "No packages to list"
+-msgstr ""
+-
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "y"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "yes"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "n"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "no"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:711
++#: dnf/cli/output.py:655
+ msgid "Is this ok [y/N]: "
+ msgstr ""
+ 
+-#: dnf/cli/output.py:715
++#: dnf/cli/output.py:659
+ msgid "Is this ok [Y/n]: "
+ msgstr ""
+ 
+-#: dnf/cli/output.py:795
++#: dnf/cli/output.py:739
+ #, python-format
+ msgid "Group: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:799
++#: dnf/cli/output.py:743
+ #, python-format
+ msgid " Group-Id: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:801 dnf/cli/output.py:840
++#: dnf/cli/output.py:745 dnf/cli/output.py:784
+ #, python-format
+ msgid " Description: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:803
++#: dnf/cli/output.py:747
+ #, python-format
+ msgid " Language: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:806
++#: dnf/cli/output.py:750
+ msgid " Mandatory Packages:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:807
++#: dnf/cli/output.py:751
+ msgid " Default Packages:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:808
++#: dnf/cli/output.py:752
+ msgid " Optional Packages:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:809
++#: dnf/cli/output.py:753
+ msgid " Conditional Packages:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:834
++#: dnf/cli/output.py:778
+ #, python-format
+ msgid "Environment Group: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:837
++#: dnf/cli/output.py:781
+ #, python-format
+ msgid " Environment-Id: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:843
++#: dnf/cli/output.py:787
+ msgid " Mandatory Groups:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:844
++#: dnf/cli/output.py:788
+ msgid " Optional Groups:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:865
++#: dnf/cli/output.py:809
+ msgid "Matched from:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:879
++#: dnf/cli/output.py:823
+ #, python-format
+ msgid "Filename    : %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:904
++#: dnf/cli/output.py:848
+ #, python-format
+ msgid "Repo        : %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:913
++#: dnf/cli/output.py:857
+ msgid "Description : "
+ msgstr ""
+ 
+-#: dnf/cli/output.py:917
++#: dnf/cli/output.py:861
+ #, python-format
+ msgid "URL         : %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:921
++#: dnf/cli/output.py:865
+ #, python-format
+ msgid "License     : %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:927
++#: dnf/cli/output.py:871
+ #, python-format
+ msgid "Provide    : %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:947
++#: dnf/cli/output.py:891
+ #, python-format
+ msgid "Other       : %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:996
++#: dnf/cli/output.py:940
+ msgid "There was an error calculating total download size"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1002
++#: dnf/cli/output.py:946
+ #, python-format
+ msgid "Total size: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1005
++#: dnf/cli/output.py:949
+ #, python-format
+ msgid "Total download size: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1008
++#: dnf/cli/output.py:952
+ #, python-format
+ msgid "Installed size: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1026
++#: dnf/cli/output.py:970
+ msgid "There was an error calculating installed size"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1030
++#: dnf/cli/output.py:974
+ #, python-format
+ msgid "Freed space: %s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1039
++#: dnf/cli/output.py:983
+ msgid "Marking packages as installed by the group:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1046
++#: dnf/cli/output.py:990
+ msgid "Marking packages as removed by the group:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Group"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Packages"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1133
++#: dnf/cli/output.py:1046
+ msgid "Installing group/module packages"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1134
++#: dnf/cli/output.py:1047
+ msgid "Installing group packages"
+ msgstr ""
+ 
+ #. TRANSLATORS: This is for a list of packages to be installed.
+-#: dnf/cli/output.py:1138
++#: dnf/cli/output.py:1051
+ msgctxt "summary"
+ msgid "Installing"
+ msgstr ""
+ 
+ #. TRANSLATORS: This is for a list of packages to be upgraded.
+-#: dnf/cli/output.py:1140
++#: dnf/cli/output.py:1053
+ msgctxt "summary"
+ msgid "Upgrading"
+ msgstr ""
+ 
+ #. TRANSLATORS: This is for a list of packages to be reinstalled.
+-#: dnf/cli/output.py:1142
++#: dnf/cli/output.py:1055
+ msgctxt "summary"
+ msgid "Reinstalling"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1144
++#: dnf/cli/output.py:1057
+ msgid "Installing dependencies"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1145
++#: dnf/cli/output.py:1058
+ msgid "Installing weak dependencies"
+ msgstr ""
+ 
+ #. TRANSLATORS: This is for a list of packages to be removed.
+-#: dnf/cli/output.py:1147
++#: dnf/cli/output.py:1060
+ msgid "Removing"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1148
++#: dnf/cli/output.py:1061
+ msgid "Removing dependent packages"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1149
++#: dnf/cli/output.py:1062
+ msgid "Removing unused dependencies"
+ msgstr ""
+ 
+ #. TRANSLATORS: This is for a list of packages to be downgraded.
+-#: dnf/cli/output.py:1151
++#: dnf/cli/output.py:1064
+ msgctxt "summary"
+ msgid "Downgrading"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1176
++#: dnf/cli/output.py:1089
+ msgid "Installing module profiles"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1185
++#: dnf/cli/output.py:1098
+ msgid "Disabling module profiles"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1194
++#: dnf/cli/output.py:1107
+ msgid "Enabling module streams"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1202
++#: dnf/cli/output.py:1115
+ msgid "Switching module streams"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1210
++#: dnf/cli/output.py:1123
+ msgid "Disabling modules"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1218
++#: dnf/cli/output.py:1131
+ msgid "Resetting modules"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1230
++#: dnf/cli/output.py:1143
+ msgid "Installing Environment Groups"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1237
++#: dnf/cli/output.py:1150
+ msgid "Upgrading Environment Groups"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1244
++#: dnf/cli/output.py:1157
+ msgid "Removing Environment Groups"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1251
++#: dnf/cli/output.py:1164
+ msgid "Installing Groups"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1258
++#: dnf/cli/output.py:1171
+ msgid "Upgrading Groups"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1265
++#: dnf/cli/output.py:1178
+ msgid "Removing Groups"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1281
++#: dnf/cli/output.py:1194
+ #, python-format
+ msgid ""
+ "Skipping packages with conflicts:\n"
+ "(add '%s' to command line to force their upgrade)"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1291
++#: dnf/cli/output.py:1204
+ #, python-format
+ msgid "Skipping packages with broken dependencies%s"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1295
++#: dnf/cli/output.py:1208
+ msgid " or part of a group"
+ msgstr ""
+ 
+@@ -3021,22 +3011,22 @@ msgstr ""
+ #. use the full (unabbreviated) term 'Package' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:1320
++#: dnf/cli/output.py:1233
+ msgctxt "short"
+ msgid "Package"
+ msgstr ""
+ 
+ #. Translators: This is the full (unabbreviated) term 'Package'.
+-#: dnf/cli/output.py:1322
++#: dnf/cli/output.py:1235
+ msgctxt "long"
+ msgid "Package"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1371
++#: dnf/cli/output.py:1284
+ msgid "replacing"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1378
++#: dnf/cli/output.py:1291
+ #, python-format
+ msgid ""
+ "\n"
+@@ -3045,289 +3035,273 @@ msgid ""
+ msgstr ""
+ 
+ #. TODO: remove
+-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
++#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
+ msgid "Install"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
++#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
+ msgid "Upgrade"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1388
++#: dnf/cli/output.py:1301
+ msgid "Remove"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
++#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
+ msgid "Downgrade"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1391
++#: dnf/cli/output.py:1304
+ msgid "Skip"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
+ msgid "Package"
+ msgid_plural "Packages"
+ msgstr[0] ""
+ msgstr[1] ""
+ 
+-#: dnf/cli/output.py:1418
++#: dnf/cli/output.py:1331
+ msgid "Dependent package"
+ msgid_plural "Dependent packages"
+ msgstr[0] ""
+ msgstr[1] ""
+ 
+-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
+-msgid "Upgraded"
+-msgstr ""
+-
+-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
+-msgid "Downgraded"
+-msgstr ""
+-
+-#: dnf/cli/output.py:1503
+-msgid "Reinstalled"
+-msgstr ""
+-
+-#: dnf/cli/output.py:1504
+-msgid "Skipped"
+-msgstr ""
+-
+-#: dnf/cli/output.py:1505
+-msgid "Removed"
+-msgstr ""
+-
+-#: dnf/cli/output.py:1508
+-msgid "Failed"
+-msgstr ""
+-
+-#: dnf/cli/output.py:1559
++#: dnf/cli/output.py:1439
+ msgid "Total"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1587
++#: dnf/cli/output.py:1467
+ msgid "<unset>"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1588
++#: dnf/cli/output.py:1468
+ msgid "System"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1638
++#: dnf/cli/output.py:1518
+ msgid "Command line"
+ msgstr ""
+ 
+ #. TRANSLATORS: user names who executed transaction in history command output
+-#: dnf/cli/output.py:1649
++#: dnf/cli/output.py:1531
+ msgid "User name"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1651
++#: dnf/cli/output.py:1533
+ msgid "ID"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1653
++#: dnf/cli/output.py:1535
+ msgid "Date and time"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1654
++#: dnf/cli/output.py:1536
+ msgid "Action(s)"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1655
++#: dnf/cli/output.py:1537
+ msgid "Altered"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1698
++#: dnf/cli/output.py:1580
+ msgid "No transactions"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
++#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
+ msgid "Failed history info"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1714
++#: dnf/cli/output.py:1596
+ msgid "No transaction ID, or package, given"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1772
++#: dnf/cli/output.py:1654
+ msgid "Erased"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1774
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
++msgid "Downgraded"
++msgstr ""
++
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
++msgid "Upgraded"
++msgstr ""
++
++#: dnf/cli/output.py:1656
+ msgid "Not installed"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Newer"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Older"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
++#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
+ msgid "Transaction ID :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1828
++#: dnf/cli/output.py:1710
+ msgid "Begin time     :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
++#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
+ msgid "Begin rpmdb    :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1839
++#: dnf/cli/output.py:1721
+ #, python-format
+ msgid "(%u seconds)"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1841
++#: dnf/cli/output.py:1723
+ #, python-format
+ msgid "(%u minutes)"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1843
++#: dnf/cli/output.py:1725
+ #, python-format
+ msgid "(%u hours)"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1845
++#: dnf/cli/output.py:1727
+ #, python-format
+ msgid "(%u days)"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1846
++#: dnf/cli/output.py:1728
+ msgid "End time       :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
++#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
+ msgid "End rpmdb      :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
++#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
+ msgid "User           :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
+ msgid "Aborted"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
+-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
++#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
+ msgid "Return-Code    :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
+ msgid "Success"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1869
++#: dnf/cli/output.py:1751
+ msgid "Failures:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1873
++#: dnf/cli/output.py:1755
+ msgid "Failure:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
++#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
+ msgid "Releasever     :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
++#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
+ msgid "Command Line   :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
++#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
+ msgid "Comment        :"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1903
++#: dnf/cli/output.py:1785
+ msgid "Transaction performed with:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1912
++#: dnf/cli/output.py:1794
+ msgid "Packages Altered:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1918
++#: dnf/cli/output.py:1800
+ msgid "Scriptlet output:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1925
++#: dnf/cli/output.py:1807
+ msgid "Errors:"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1934
++#: dnf/cli/output.py:1816
+ msgid "Dep-Install"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1935
++#: dnf/cli/output.py:1817
+ msgid "Obsoleted"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
++#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
+ msgid "Obsoleting"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1937
++#: dnf/cli/output.py:1819
+ msgid "Erase"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:1938
++#: dnf/cli/output.py:1820
+ msgid "Reinstall"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2016
++#: dnf/cli/output.py:1894
+ #, python-format
+ msgid "---> Package %s.%s %s will be installed"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2018
++#: dnf/cli/output.py:1896
+ #, python-format
+ msgid "---> Package %s.%s %s will be an upgrade"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2020
++#: dnf/cli/output.py:1898
+ #, python-format
+ msgid "---> Package %s.%s %s will be erased"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2022
++#: dnf/cli/output.py:1900
+ #, python-format
+ msgid "---> Package %s.%s %s will be reinstalled"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2024
++#: dnf/cli/output.py:1902
+ #, python-format
+ msgid "---> Package %s.%s %s will be a downgrade"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2026
++#: dnf/cli/output.py:1904
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleting"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2028
++#: dnf/cli/output.py:1906
+ #, python-format
+ msgid "---> Package %s.%s %s will be upgraded"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2030
++#: dnf/cli/output.py:1908
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleted"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2039
++#: dnf/cli/output.py:1917
+ msgid "--> Starting dependency resolution"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2044
++#: dnf/cli/output.py:1921
+ msgid "--> Finished dependency resolution"
+ msgstr ""
+ 
+-#: dnf/cli/output.py:2058 dnf/crypto.py:132
++#: dnf/cli/output.py:1935 dnf/crypto.py:132
+ #, python-format
+ msgid ""
+ "Importing GPG key 0x%s:\n"
+@@ -3385,10 +3359,6 @@ msgstr ""
+ msgid "    State  : %s"
+ msgstr ""
+ 
+-#: dnf/comps.py:104
+-msgid "skipping."
+-msgstr ""
+-
+ #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
+ #, python-format
+ msgid "Module or Group '%s' is not installed."
+@@ -3409,7 +3379,7 @@ msgstr ""
+ msgid "Environment id '%s' does not exist."
+ msgstr ""
+ 
+-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
+ #, python-format
+ msgid "Environment id '%s' is not installed."
+ msgstr ""
+@@ -3434,6 +3404,11 @@ msgstr ""
+ msgid "Error parsing '%s': %s"
+ msgstr ""
+ 
++#: dnf/conf/config.py:151
++#, python-format
++msgid "Invalid configuration value: %s=%s in %s; %s"
++msgstr ""
++
+ #: dnf/conf/config.py:226
+ msgid "Could not set cachedir: {}"
+ msgstr ""
+@@ -3473,36 +3448,36 @@ msgstr ""
+ msgid "Repo %s did not have a %s attr. before setopt"
+ msgstr ""
+ 
+-#: dnf/conf/read.py:51
++#: dnf/conf/read.py:60
+ #, python-format
+ msgid "Warning: failed loading '%s', skipping."
+ msgstr ""
+ 
+-#: dnf/conf/read.py:63
++#: dnf/conf/read.py:72
+ msgid "Bad id for repo: {} ({}), byte = {} {}"
+ msgstr ""
+ 
+-#: dnf/conf/read.py:67
++#: dnf/conf/read.py:76
+ msgid "Bad id for repo: {}, byte = {} {}"
+ msgstr ""
+ 
+-#: dnf/conf/read.py:75
++#: dnf/conf/read.py:84
+ msgid "Repository '{}' ({}): Error parsing config: {}"
+ msgstr ""
+ 
+-#: dnf/conf/read.py:78
++#: dnf/conf/read.py:87
+ msgid "Repository '{}': Error parsing config: {}"
+ msgstr ""
+ 
+-#: dnf/conf/read.py:84
++#: dnf/conf/read.py:93
+ msgid "Repository '{}' ({}) is missing name in configuration, using id."
+ msgstr ""
+ 
+-#: dnf/conf/read.py:87
++#: dnf/conf/read.py:96
+ msgid "Repository '{}' is missing name in configuration, using id."
+ msgstr ""
+ 
+-#: dnf/conf/read.py:104
++#: dnf/conf/read.py:113
+ msgid "Parsing file \"{}\" failed: {}"
+ msgstr ""
+ 
+@@ -3516,23 +3491,37 @@ msgstr ""
+ msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: dnf/db/group.py:293
++#: dnf/crypto.py:145
++msgid "Verified using DNS record with DNSSEC signature."
++msgstr ""
++
++#: dnf/crypto.py:147
++msgid "NOT verified using DNS record."
++msgstr ""
++
++#: dnf/crypto.py:184
++#, python-format
++msgid "retrieving repo key for %s unencrypted from %s"
++msgstr ""
++
++#: dnf/db/group.py:301
+ msgid ""
+ "No available modular metadata for modular package '{}', it cannot be "
+ "installed on the system"
+ msgstr ""
+ 
+-#: dnf/db/group.py:343
++#: dnf/db/group.py:351
+ msgid "No available modular metadata for modular package"
+ msgstr ""
+ 
+-#: dnf/db/group.py:377
++#: dnf/db/group.py:385
+ #, python-format
+ msgid "Will not install a source rpm package (%s)."
+ msgstr ""
+ 
+ #: dnf/dnssec.py:168
+-msgid "Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
++msgid ""
++"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
+ msgstr ""
+ 
+ #: dnf/dnssec.py:239
+@@ -3555,7 +3544,7 @@ msgstr ""
+ msgid "Testing already imported keys for their validity."
+ msgstr ""
+ 
+-#: dnf/drpm.py:62 dnf/repo.py:268
++#: dnf/drpm.py:62 dnf/repo.py:267
+ #, python-format
+ msgid "unsupported checksum type: %s"
+ msgstr ""
+@@ -3598,7 +3587,7 @@ msgid_plural "Modular dependency problems with Defaults:"
+ msgstr[0] ""
+ msgstr[1] ""
+ 
+-#: dnf/exceptions.py:131 dnf/module/module_base.py:686
++#: dnf/exceptions.py:131 dnf/module/module_base.py:854
+ msgid "Modular dependency problem:"
+ msgid_plural "Modular dependency problems:"
+ msgstr[0] ""
+@@ -3632,92 +3621,148 @@ msgstr ""
+ msgid "No profile specified for '{}', please specify profile."
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:33
++#: dnf/module/exceptions.py:27
++msgid "No such module: {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:33
++msgid "No such stream: {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:39
++msgid "No enabled stream for module: {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:46
++msgid "Cannot enable more streams from module '{}' at the same time"
++msgstr ""
++
++#: dnf/module/exceptions.py:52
++msgid "Different stream enabled for module: {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:58
++msgid "No such profile: {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:64
++msgid "Specified profile not installed for {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:70
++msgid "No stream specified for '{}', please specify stream"
++msgstr ""
++
++#: dnf/module/exceptions.py:82
++msgid "No such profile: {}. No profiles available"
++msgstr ""
++
++#: dnf/module/exceptions.py:88
++msgid "No profile to remove for '{}'"
++msgstr ""
++
++#: dnf/module/module_base.py:35
+ msgid ""
+ "\n"
+ "\n"
+ "Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:34
++#: dnf/module/module_base.py:36
+ msgid ""
+ "\n"
+ "\n"
+ "Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
+-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
++#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
++#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
+ msgid "Ignoring unnecessary profile: '{}/{}'"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:84
++#: dnf/module/module_base.py:86
+ #, python-brace-format
+ msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:92
++#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
+ #, python-brace-format
+ msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:102
++#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
+ msgid ""
+ "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:106
++#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
+ msgid "Unable to match profile for argument {}"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:118
++#: dnf/module/module_base.py:120
+ msgid "No default profiles for module {}:{}. Available profiles: {}"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:122
++#: dnf/module/module_base.py:124
+ msgid "No profiles for module {}:{}"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:129
++#: dnf/module/module_base.py:131
+ msgid "Default profile {} not available in module {}:{}"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:142
++#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
+ msgid "Installing module from Fail-Safe repository is not allowed"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
+-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
+-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
+-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
+-msgid "Unable to resolve argument {}"
++#: dnf/module/module_base.py:196
++#, python-brace-format
++msgid "No active matches for argument '{0}' in module '{1}:{2}'"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:160
+-msgid "No match for package {}"
++#: dnf/module/module_base.py:228
++#, python-brace-format
++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:204
++#: dnf/module/module_base.py:267
++msgid "No packages available to distrosync for package name '{}'"
++msgstr ""
++
++#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
++#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
++#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
++#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
++msgid "Unable to resolve argument {}"
++msgstr ""
++
++#: dnf/module/module_base.py:321
+ #, python-brace-format
+ msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
++#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
+ msgid "Unable to match profile in argument {}"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:231
++#: dnf/module/module_base.py:348
+ msgid "Upgrading module from Fail-Safe repository is not allowed"
+ msgstr ""
+ 
+-#: dnf/module/module_base.py:367
++#: dnf/module/module_base.py:422
++#, python-brace-format
++msgid ""
++"Argument '{argument}' matches {stream_count} streams ('{streams}') of module "
++"'{module}', but none of the streams are enabled or default"
++msgstr ""
++
++#: dnf/module/module_base.py:509
+ msgid ""
+ "Only module name is required. Ignoring unneeded information in argument: '{}'"
+ msgstr ""
+ 
+-#: dnf/package.py:298
+-#, python-format
+-msgid "%s: %s check failed: %s vs %s"
++#: dnf/module/module_base.py:841
++msgid "No match for package {}"
+ msgstr ""
+ 
+ #. empty file is invalid json format
+@@ -3754,16 +3799,16 @@ msgstr ""
+ msgid "Loaded plugins: %s"
+ msgstr ""
+ 
+-#: dnf/plugin.py:199
++#: dnf/plugin.py:211
+ #, python-format
+ msgid "Failed loading plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: dnf/plugin.py:231
++#: dnf/plugin.py:243
+ msgid "No matches found for the following enable plugin patterns: {}"
+ msgstr ""
+ 
+-#: dnf/plugin.py:235
++#: dnf/plugin.py:247
+ msgid "No matches found for the following disable plugin patterns: {}"
+ msgstr ""
+ 
+@@ -3777,7 +3822,7 @@ msgid "Already downloaded"
+ msgstr ""
+ 
+ #. pinging mirrors, this might take a while
+-#: dnf/repo.py:347
++#: dnf/repo.py:346
+ #, python-format
+ msgid "determining the fastest mirror (%s hosts).. "
+ msgstr ""
+@@ -3792,10 +3837,25 @@ msgstr ""
+ msgid "Added %s repo from %s"
+ msgstr ""
+ 
++#: dnf/rpm/miscutils.py:32
++#, python-format
++msgid "Using rpmkeys executable at %s to verify signatures"
++msgstr ""
++
++#: dnf/rpm/miscutils.py:66
++msgid "Cannot find rpmkeys executable to verify signatures."
++msgstr ""
++
+ #: dnf/rpm/transaction.py:119
+ msgid "Errors occurred during test transaction."
+ msgstr ""
+ 
++#: dnf/sack.py:47
++msgid ""
++"allow_vendor_change is disabled. This option is currently not supported for "
++"downgrade and distro-sync commands"
++msgstr ""
++
+ #. TRANSLATORS: This is for a single package currently being downgraded.
+ #: dnf/transaction.py:80
+ msgctxt "currently"
+@@ -3842,160 +3902,182 @@ msgstr ""
+ msgid "Preparing"
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:60
++#: dnf/transaction_sr.py:66
+ #, python-brace-format
+-msgid "Errors in \"{filename}\":"
++msgid ""
++"The following problems occurred while replaying the transaction from file "
++"\"{filename}\":"
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:70
+-#, python-brace-format
+-msgid "Error in \"{filename}\": {error}"
++#: dnf/transaction_sr.py:68
++msgid "The following problems occurred while running a transaction:"
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:87
++#: dnf/transaction_sr.py:89
+ #, python-brace-format
+ msgid "Invalid major version \"{major}\", number expected."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:95
++#: dnf/transaction_sr.py:97
+ #, python-brace-format
+ msgid "Invalid minor version \"{minor}\", number expected."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:101
++#: dnf/transaction_sr.py:103
+ #, python-brace-format
+ msgid ""
+ "Incompatible major version \"{major}\", supported major version is "
+ "\"{major_supp}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:244
++#: dnf/transaction_sr.py:224
++msgid ""
++"Conflicting TransactionReplay arguments have been specified: filename, data"
++msgstr ""
++
++#: dnf/transaction_sr.py:265
+ #, python-brace-format
+ msgid "Unexpected type of \"{id}\", {exp} expected."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:250
++#: dnf/transaction_sr.py:271
+ #, python-brace-format
+ msgid "Missing key \"{key}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:263
++#: dnf/transaction_sr.py:285
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an rpm."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:267
++#: dnf/transaction_sr.py:289
+ #, python-brace-format
+ msgid ""
+ "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:275
++#: dnf/transaction_sr.py:297
+ #, python-brace-format
+ msgid "Cannot parse NEVRA for package \"{nevra}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:286
++#: dnf/transaction_sr.py:321
+ #, python-brace-format
+ msgid "Cannot find rpm nevra \"{nevra}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:301
++#: dnf/transaction_sr.py:336
+ #, python-brace-format
+ msgid "Package \"{na}\" is already installed for action \"{action}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:311
++#: dnf/transaction_sr.py:345
+ #, python-brace-format
+ msgid ""
+ "Package nevra \"{nevra}\" not available in repositories for action "
+ "\"{action}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:322
++#: dnf/transaction_sr.py:356
+ #, python-brace-format
+ msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:336
++#: dnf/transaction_sr.py:370
+ #, python-brace-format
+ msgid ""
+ "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:343
++#: dnf/transaction_sr.py:377
+ #, python-format
+ msgid "Group id '%s' is not available."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:364
++#: dnf/transaction_sr.py:398
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in groups.packages."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
+ #, python-format
+ msgid "Group id '%s' is not installed."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:398
++#: dnf/transaction_sr.py:432
+ #, python-format
+ msgid "Environment id '%s' is not available."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:422
++#: dnf/transaction_sr.py:456
+ #, python-brace-format
+ msgid ""
+ "Invalid value \"{group_type}\" of environments.groups.group_type, only "
+ "\"mandatory\" or \"optional\" is supported."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:430
++#: dnf/transaction_sr.py:464
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in environments.groups."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:508
++#: dnf/transaction_sr.py:542
+ #, python-brace-format
+ msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:513
++#: dnf/transaction_sr.py:547
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in a group."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:537
++#: dnf/transaction_sr.py:571
+ #, python-brace-format
+ msgid ""
+ "Unexpected value of environment action \"{action}\" for environment "
+ "\"{env}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:542
++#: dnf/transaction_sr.py:576
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an environment."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:581
++#: dnf/transaction_sr.py:615
+ #, python-brace-format
+ msgid ""
+ "Package nevra \"{nevra}\", which is not present in the transaction file, was "
+ "pulled into the transaction."
+ msgstr ""
+ 
+-#: dnf/util.py:391 dnf/util.py:393
++#: dnf/util.py:419 dnf/util.py:421
+ msgid "Problem"
+ msgstr ""
+ 
+-#: dnf/util.py:444
++#: dnf/util.py:472
+ msgid "TransactionItem not found for key: {}"
+ msgstr ""
+ 
+-#: dnf/util.py:454
++#: dnf/util.py:482
+ msgid "TransactionSWDBItem not found for key: {}"
+ msgstr ""
+ 
+-#: dnf/util.py:457
++#: dnf/util.py:485
+ msgid "Errors occurred during transaction."
+ msgstr ""
++
++#: dnf/util.py:621
++msgid "Reinstalled"
++msgstr ""
++
++#: dnf/util.py:622
++msgid "Skipped"
++msgstr ""
++
++#: dnf/util.py:623
++msgid "Removed"
++msgstr ""
++
++#: dnf/util.py:626
++msgid "Failed"
++msgstr ""
+diff --git a/po/fr.po b/po/fr.po
+index 4e883335..bb2d3677 100644
+--- a/po/fr.po
++++ b/po/fr.po
+@@ -15,23 +15,28 @@
+ # José Fournier <jaaf64@zoraldia.com>, 2017. #zanata
+ # Jérôme Fenal <jfenal@gmail.com>, 2017. #zanata
+ # Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2018. #zanata, 2020.
+-# Ludek Janda <ljanda@redhat.com>, 2018. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
+ # Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata, 2020.
+-# Julien Humbert <julroy67@gmail.com>, 2020.
++# Julien Humbert <julroy67@gmail.com>, 2020, 2021.
++# Sundeep Anand <suanand@redhat.com>, 2021.
++# Guillaume Jacob <abun.lp@gmail.com>, 2021.
++# Titouan Bénard <itotutona@evta.fr>, 2021.
++# Transtats <suanand@redhat.com>, 2022.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2020-10-05 09:18-0400\n"
+-"PO-Revision-Date: 2020-09-12 11:29+0000\n"
+-"Last-Translator: Julien Humbert <julroy67@gmail.com>\n"
+-"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/dnf-master/fr/>\n"
++"POT-Creation-Date: 2022-02-28 11:24+0100\n"
++"PO-Revision-Date: 2022-03-09 12:39+0000\n"
++"Last-Translator: Transtats <suanand@redhat.com>\n"
++"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/"
++"dnf-rhel-8/fr/>\n"
+ "Language: fr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=2; plural=n > 1;\n"
+-"X-Generator: Weblate 4.2.2\n"
++"X-Generator: Weblate 4.11.2\n"
+ 
+ #: dnf/automatic/emitter.py:32
+ #, python-format
+@@ -78,7 +83,7 @@ msgstr "Échec de l’envoi d’un courriel par « %s » : %s"
+ msgid "Failed to execute command '%s': returned %d"
+ msgstr "Échec dans l’exécution de la commande « %s » : code retour %d"
+ 
+-#: dnf/automatic/main.py:164 dnf/conf/config.py:151
++#: dnf/automatic/main.py:164
+ #, python-format
+ msgid "Unknown configuration value: %s=%s in %s; %s"
+ msgstr "Valeur de configuration inconnue : %s=%s dans %s ; %s"
+@@ -88,22 +93,23 @@ msgstr "Valeur de configuration inconnue : %s=%s dans %s ; %s"
+ msgid "Unknown configuration option: %s = %s in %s"
+ msgstr "Option de configuration inconnue : %s=%s dans %s"
+ 
+-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
++#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
+ msgid "GPG check FAILED"
+ msgstr "La vérification GPG a ÉCHOUÉ"
+ 
+ #: dnf/automatic/main.py:274
+ msgid "Waiting for internet connection..."
+-msgstr "En attente d'une connexion Internet…"
++msgstr "En attente d'une connexion Internet..."
+ 
+ #: dnf/automatic/main.py:304
+ msgid "Started dnf-automatic."
+ msgstr "dnf-automatic démarré."
+ 
+ #: dnf/automatic/main.py:308
+-#, python-format
+-msgid "Sleep for %s seconds"
+-msgstr "Mise en sommeil pendant %s secondes"
++msgid "Sleep for {} second"
++msgid_plural "Sleep for {} seconds"
++msgstr[0] "Mise en sommeil pendant {} seconde"
++msgstr[1] "Mise en sommeil pendant {} secondes"
+ 
+ #: dnf/automatic/main.py:315
+ msgid "System is off-line."
+@@ -115,84 +121,84 @@ msgstr "Le système est hors-ligne."
+ msgid "Error: %s"
+ msgstr "Erreur : %s"
+ 
+-#: dnf/base.py:146
++#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
+ msgid "loading repo '{}' failure: {}"
+ msgstr "Erreur lors du chargement du dépôt « {} » : {}"
+ 
+-#: dnf/base.py:148
++#: dnf/base.py:150
+ msgid "Loading repository '{}' has failed"
+ msgstr "Échec du chargement du dépôt « {} »"
+ 
+-#: dnf/base.py:320
++#: dnf/base.py:327
+ msgid "Metadata timer caching disabled when running on metered connection."
+ msgstr ""
+ "Mise en cache temporisée des métadonnées désactivée lors du fonctionnement "
+ "sur connexion limitée."
+ 
+-#: dnf/base.py:325
++#: dnf/base.py:332
+ msgid "Metadata timer caching disabled when running on a battery."
+ msgstr ""
+ "Mise en cache temporisée des métadonnées désactivée lors du fonctionnement "
+ "sur batterie."
+ 
+-#: dnf/base.py:330
++#: dnf/base.py:337
+ msgid "Metadata timer caching disabled."
+ msgstr "Mise en cache temporisée des métadonnées désactivée."
+ 
+-#: dnf/base.py:335
++#: dnf/base.py:342
+ msgid "Metadata cache refreshed recently."
+ msgstr "Cache des métadonnées mis à jour récemment."
+ 
+-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
++#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
+ msgid "There are no enabled repositories in \"{}\"."
+ msgstr "Il n’y a pas de dépôts activés dans « {} »."
+ 
+-#: dnf/base.py:348
++#: dnf/base.py:355
+ #, python-format
+ msgid "%s: will never be expired and will not be refreshed."
+ msgstr "%s : n’expirera jamais et ne sera pas réinitialisé."
+ 
+-#: dnf/base.py:350
++#: dnf/base.py:357
+ #, python-format
+ msgid "%s: has expired and will be refreshed."
+ msgstr "%s : a expiré et sera réinitialisé."
+ 
+ #. expires within the checking period:
+-#: dnf/base.py:354
++#: dnf/base.py:361
+ #, python-format
+ msgid "%s: metadata will expire after %d seconds and will be refreshed now"
+ msgstr ""
+ "%s : métadonnées expireront après %d secondes et seront réinitialisées "
+ "maintenant"
+ 
+-#: dnf/base.py:358
++#: dnf/base.py:365
+ #, python-format
+ msgid "%s: will expire after %d seconds."
+ msgstr "%s : expireront après %d secondes."
+ 
+ #. performs the md sync
+-#: dnf/base.py:364
++#: dnf/base.py:371
+ msgid "Metadata cache created."
+ msgstr "Cache des métadonnées créé."
+ 
+-#: dnf/base.py:397
++#: dnf/base.py:404 dnf/base.py:471
+ #, python-format
+ msgid "%s: using metadata from %s."
+ msgstr "%s : utilisation des métadonnées depuis le %s."
+ 
+-#: dnf/base.py:409
++#: dnf/base.py:416 dnf/base.py:484
+ #, python-format
+ msgid "Ignoring repositories: %s"
+ msgstr "Dépôts ignorés : %s"
+ 
+-#: dnf/base.py:412
++#: dnf/base.py:419
+ #, python-format
+ msgid "Last metadata expiration check: %s ago on %s."
+ msgstr ""
+-"Dernière vérification de l’expiration des métadonnées effectuée il y a %s le"
+-" %s."
++"Dernière vérification de l’expiration des métadonnées effectuée il y a %s le "
++"%s."
+ 
+-#: dnf/base.py:443
++#: dnf/base.py:512
+ msgid ""
+ "The downloaded packages were saved in cache until the next successful "
+ "transaction."
+@@ -200,59 +206,59 @@ msgstr ""
+ "Les paquets téléchargés ont été mis en cache jusqu’à la prochaine "
+ "transaction réussie."
+ 
+-#: dnf/base.py:445
++#: dnf/base.py:514
+ #, python-format
+ msgid "You can remove cached packages by executing '%s'."
+ msgstr "Vous pouvez supprimer les paquets en cache en exécutant « %s »."
+ 
+-#: dnf/base.py:535
++#: dnf/base.py:606
+ #, python-format
+ msgid "Invalid tsflag in config file: %s"
+ msgstr "tsflag invalide dans le fichier de configuration : %s"
+ 
+-#: dnf/base.py:591
++#: dnf/base.py:662
+ #, python-format
+ msgid "Failed to add groups file for repository: %s - %s"
+ msgstr "Échec d’ajout du fichier de groupes pour le dépôt : %s - %s"
+ 
+-#: dnf/base.py:823
++#: dnf/base.py:904
+ msgid "Running transaction check"
+ msgstr "Test de la transaction"
+ 
+-#: dnf/base.py:831
++#: dnf/base.py:912
+ msgid "Error: transaction check vs depsolve:"
+ msgstr ""
+ "Erreur : vérification de transaction contre résolution des dépendances :"
+ 
+-#: dnf/base.py:837
++#: dnf/base.py:918
+ msgid "Transaction check succeeded."
+ msgstr "La vérification de la transaction a réussi."
+ 
+-#: dnf/base.py:840
++#: dnf/base.py:921
+ msgid "Running transaction test"
+ msgstr "Lancement de la transaction de test"
+ 
+-#: dnf/base.py:850 dnf/base.py:992
++#: dnf/base.py:931 dnf/base.py:1082
+ msgid "RPM: {}"
+ msgstr "RPM : {}"
+ 
+-#: dnf/base.py:851
++#: dnf/base.py:932
+ msgid "Transaction test error:"
+ msgstr "Erreur de la transaction de test :"
+ 
+-#: dnf/base.py:862
++#: dnf/base.py:943
+ msgid "Transaction test succeeded."
+ msgstr "Transaction de test réussie."
+ 
+-#: dnf/base.py:883
++#: dnf/base.py:964
+ msgid "Running transaction"
+ msgstr "Exécution de la transaction"
+ 
+-#: dnf/base.py:911
++#: dnf/base.py:1001
+ msgid "Disk Requirements:"
+ msgstr "Besoins en espace disque :"
+ 
+-#: dnf/base.py:914
++#: dnf/base.py:1004
+ #, python-brace-format
+ msgid "At least {0}MB more space needed on the {1} filesystem."
+ msgid_plural "At least {0}MB more space needed on the {1} filesystem."
+@@ -260,154 +266,154 @@ msgstr[0] ""
+ "Au moins {0} Mio supplémentaire est nécessaire sur le système de fichiers "
+ "{1}."
+ msgstr[1] ""
+-"Au moins {0} Mio supplémentaires sont nécessaires sur le système de fichiers"
+-" {1}."
++"Au moins {0} Mio supplémentaires sont nécessaires sur le système de fichiers "
++"{1}."
+ 
+-#: dnf/base.py:921
++#: dnf/base.py:1011
+ msgid "Error Summary"
+ msgstr "Résumé des erreurs"
+ 
+-#: dnf/base.py:947
++#: dnf/base.py:1037
+ #, python-brace-format
+ msgid "RPMDB altered outside of {prog}."
+ msgstr "RPMDB modifié en dehors de {prog}."
+ 
+-#: dnf/base.py:993 dnf/base.py:1001
++#: dnf/base.py:1083 dnf/base.py:1091
+ msgid "Could not run transaction."
+ msgstr "Impossible d’exécuter la transaction."
+ 
+-#: dnf/base.py:996
++#: dnf/base.py:1086
+ msgid "Transaction couldn't start:"
+ msgstr "La transaction n’a pas pu démarrer :"
+ 
+-#: dnf/base.py:1010
++#: dnf/base.py:1100
+ #, python-format
+ msgid "Failed to remove transaction file %s"
+ msgstr "Échec de la suppression du fichier de transaction %s"
+ 
+-#: dnf/base.py:1092
++#: dnf/base.py:1182
+ msgid "Some packages were not downloaded. Retrying."
+ msgstr "Certains paquets n’ont pas été téléchargés. Nouvel essai."
+ 
+-#: dnf/base.py:1122
++#: dnf/base.py:1212
+ #, python-format
+ msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
+ msgstr ""
+ "Les Delta RPM ont réduit la taille des mises à jour de %.1f Mio à %.1f Mio "
+ "(%d.1%% économisés)"
+ 
+-#: dnf/base.py:1125
++#: dnf/base.py:1215
+ #, python-format
+ msgid ""
+ "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
+ msgstr ""
+-"L’échec des Delta RPMs ont fait augmenter les %.1f MO de mises à jour de "
+-"%.1f MB (%d.1%% gaspillés)"
++"Les Delta RPMs en échec ont fait augmenter la taille des mises à jour de "
++"%.1f Mio à %.1f Mio (%d.1%% gaspillés)"
+ 
+-#: dnf/base.py:1167
++#: dnf/base.py:1257
+ msgid "Cannot add local packages, because transaction job already exists"
+ msgstr ""
+ "Impossible d’ajouter des paquets locaux, car un travail de transaction "
+ "existe déjà"
+ 
+-#: dnf/base.py:1181
++#: dnf/base.py:1271
+ msgid "Could not open: {}"
+ msgstr "Impossible d’ouvrir : {}"
+ 
+-#: dnf/base.py:1219
++#: dnf/base.py:1309
+ #, python-format
+ msgid "Public key for %s is not installed"
+ msgstr "La clé publique pour %s n’est pas installée"
+ 
+-#: dnf/base.py:1223
++#: dnf/base.py:1313
+ #, python-format
+ msgid "Problem opening package %s"
+ msgstr "Problème à l’ouverture du paquet %s"
+ 
+-#: dnf/base.py:1231
++#: dnf/base.py:1321
+ #, python-format
+ msgid "Public key for %s is not trusted"
+ msgstr "La clé publique pour %s n’est pas de confiance"
+ 
+-#: dnf/base.py:1235
++#: dnf/base.py:1325
+ #, python-format
+ msgid "Package %s is not signed"
+ msgstr "Le paquet %s n’est pas signé"
+ 
+-#: dnf/base.py:1265
++#: dnf/base.py:1355
+ #, python-format
+ msgid "Cannot remove %s"
+ msgstr "Impossible de supprimer %s"
+ 
+-#: dnf/base.py:1269
++#: dnf/base.py:1359
+ #, python-format
+ msgid "%s removed"
+ msgstr "%s supprimé"
+ 
+-#: dnf/base.py:1549
++#: dnf/base.py:1639
+ msgid "No match for group package \"{}\""
+ msgstr "Aucune correspondance pour le paquet du groupe « {} »"
+ 
+-#: dnf/base.py:1635
++#: dnf/base.py:1721
+ #, python-format
+ msgid "Adding packages from group '%s': %s"
+ msgstr "Ajout de paquets en provenance du groupe « %s » : %s"
+ 
+-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
+-#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
+-#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
++#: dnf/base.py:1744 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
++#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
++#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
+ #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
+ msgid "Nothing to do."
+ msgstr "Rien à faire."
+ 
+-#: dnf/base.py:1676
++#: dnf/base.py:1762
+ msgid "No groups marked for removal."
+ msgstr "Aucun groupe marqué pour suppression."
+ 
+-#: dnf/base.py:1710
++#: dnf/base.py:1796
+ msgid "No group marked for upgrade."
+ msgstr "Aucun groupe marqué pour mise à jour."
+ 
+-#: dnf/base.py:1925
++#: dnf/base.py:2010
+ #, python-format
+ msgid "Package %s not installed, cannot downgrade it."
+ msgstr "Le paquet %s n’est pas installé, impossible de le rétrograder."
+ 
+-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
+-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
+-#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
+-#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
+-#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
++#: dnf/base.py:2012 dnf/base.py:2031 dnf/base.py:2044 dnf/base.py:2071
++#: dnf/base.py:2124 dnf/base.py:2132 dnf/base.py:2266 dnf/cli/cli.py:417
++#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
++#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
++#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
+ #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
+-#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
++#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
+ #, python-format
+ msgid "No match for argument: %s"
+ msgstr "Aucune correspondance pour l’argument : %s"
+ 
+-#: dnf/base.py:1934
++#: dnf/base.py:2019
+ #, python-format
+ msgid "Package %s of lower version already installed, cannot downgrade it."
+ msgstr ""
+-"Le paquet %s est déjà installé dans une version inférieure, impossible de le"
+-" rétrograder."
++"Le paquet %s est déjà installé dans une version inférieure, impossible de le "
++"rétrograder."
+ 
+-#: dnf/base.py:1957
++#: dnf/base.py:2042
+ #, python-format
+ msgid "Package %s not installed, cannot reinstall it."
+ msgstr "Le paquet %s n’est pas installé, impossible de le réinstaller."
+ 
+-#: dnf/base.py:1972
++#: dnf/base.py:2057
+ #, python-format
+ msgid "File %s is a source package and cannot be updated, ignoring."
+ msgstr ""
+ "Le fichier %s est un paquet source et ne peut pas être mis à jour, ignoré."
+ 
+-#: dnf/base.py:1978
++#: dnf/base.py:2068
+ #, python-format
+ msgid "Package %s not installed, cannot update it."
+ msgstr "Le paquet %s n’est pas installé, impossible de le mettre à jour."
+ 
+-#: dnf/base.py:1987
++#: dnf/base.py:2078
+ #, python-format
+ msgid ""
+ "The same or higher version of %s is already installed, cannot update it."
+@@ -415,187 +421,176 @@ msgstr ""
+ "La même une ou version supérieure de %s est déjà installée, mise à jour "
+ "impossible."
+ 
+-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
++#: dnf/base.py:2121 dnf/cli/commands/reinstall.py:81
+ #, python-format
+ msgid "Package %s available, but not installed."
+ msgstr "Le paquet %s est disponible mais n’est pas installé."
+ 
+-#: dnf/base.py:2032
++#: dnf/base.py:2127
+ #, python-format
+ msgid "Package %s available, but installed for different architecture."
+ msgstr ""
+ "Le paquet %s est disponible mais est installé pour une autre architecture."
+ 
+-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
++#: dnf/base.py:2152
+ #, python-format
+ msgid "No package %s installed."
+ msgstr "Aucun paquet %s installé."
+ 
+-#: dnf/base.py:2075 dnf/cli/commands/install.py:136
++#: dnf/base.py:2170 dnf/cli/commands/install.py:136
+ #: dnf/cli/commands/remove.py:133
+ #, python-format
+ msgid "Not a valid form: %s"
+ msgstr "Format invalide : %s"
+ 
+-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
+-#: dnf/cli/commands/remove.py:163
++#: dnf/base.py:2185 dnf/cli/commands/__init__.py:676
++#: dnf/cli/commands/remove.py:162
+ msgid "No packages marked for removal."
+ msgstr "Aucun paquet marqué pour suppression."
+ 
+-#: dnf/base.py:2179 dnf/cli/cli.py:422
++#: dnf/base.py:2273 dnf/cli/cli.py:428
+ #, python-format
+ msgid "Packages for argument %s available, but not installed."
+ msgstr "Les paquets pour le paramètre %s sont disponibles mais pas installés."
+ 
+-#: dnf/base.py:2184
++#: dnf/base.py:2278
+ #, python-format
+ msgid "Package %s of lowest version already installed, cannot downgrade it."
+ msgstr ""
+ "La version la plus ancienne du paquet %s est déjà installée, impossible de "
+ "le rétrograder."
+ 
+-#: dnf/base.py:2242
+-msgid "Action not handled: {}"
+-msgstr "Action non gérée : {}"
+-
+-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
+-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
+-#, python-format
+-msgid "No package %s available."
+-msgstr "Aucun paquet %s n’est disponible."
+-
+-#: dnf/base.py:2269
+-msgid "no package matched"
+-msgstr "aucun paquet correspondant"
+-
+-#: dnf/base.py:2290
++#: dnf/base.py:2378
+ msgid "No security updates needed, but {} update available"
+ msgstr ""
+ "Aucune mise à jour de sécurité n’est nécessaire, mais la mise à jour {} est "
+ "disponible"
+ 
+-#: dnf/base.py:2292
++#: dnf/base.py:2380
+ msgid "No security updates needed, but {} updates available"
+ msgstr ""
+ "Aucune mise à jour de sécurité n’est nécessaire, mais les mises à jour {} "
+ "sont disponibles"
+ 
+-#: dnf/base.py:2296
++#: dnf/base.py:2384
+ msgid "No security updates needed for \"{}\", but {} update available"
+ msgstr ""
+ "Aucune mise à jour de sécurité n’est nécessaire pour « {} », mais la mise à "
+ "jour {} est disponible"
+ 
+-#: dnf/base.py:2298
++#: dnf/base.py:2386
+ msgid "No security updates needed for \"{}\", but {} updates available"
+ msgstr ""
+ "Aucune mise à jour de sécurité n’est nécessaire pour « {} », mais les mises "
+ "à jour {} sont disponibles"
+ 
+ #. raise an exception, because po.repoid is not in self.repos
+-#: dnf/base.py:2319
++#: dnf/base.py:2407
+ #, python-format
+ msgid "Unable to retrieve a key for a commandline package: %s"
+ msgstr ""
+ "Impossible de récupérer une clé pour un paquet en ligne de commande : %s"
+ 
+-#: dnf/base.py:2327
++#: dnf/base.py:2415
+ #, python-format
+ msgid ". Failing package is: %s"
+ msgstr ". Le paquet en erreur est : %s"
+ 
+-#: dnf/base.py:2328
++#: dnf/base.py:2416
+ #, python-format
+ msgid "GPG Keys are configured as: %s"
+ msgstr "Les clés GPG sont configurées comme : %s"
+ 
+-#: dnf/base.py:2340
++#: dnf/base.py:2428
+ #, python-format
+ msgid "GPG key at %s (0x%s) is already installed"
+ msgstr "La clé GPG %s (0x%s) est déjà installée"
+ 
+-#: dnf/base.py:2373
++#: dnf/base.py:2464
+ msgid "The key has been approved."
+ msgstr "La clef a été approuvée."
+ 
+-#: dnf/base.py:2376
++#: dnf/base.py:2467
+ msgid "The key has been rejected."
+ msgstr "La clef a été rejetée."
+ 
+-#: dnf/base.py:2409
++#: dnf/base.py:2500
+ #, python-format
+ msgid "Key import failed (code %d)"
+ msgstr "L’import de la clé a échoué (code %d)"
+ 
+-#: dnf/base.py:2411
++#: dnf/base.py:2502
+ msgid "Key imported successfully"
+ msgstr "La clé a bien été importée"
+ 
+-#: dnf/base.py:2415
++#: dnf/base.py:2506
+ msgid "Didn't install any keys"
+ msgstr "Toutes les clés n’ont pas été installées"
+ 
+-#: dnf/base.py:2418
++#: dnf/base.py:2509
+ #, python-format
+ msgid ""
+-"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
++"The GPG keys listed for the \"%s\" repository are already installed but they "
++"are not correct for this package.\n"
+ "Check that the correct key URLs are configured for this repository."
+ msgstr ""
+-"Les clés GPG listées pour le dépôt « %s » sont déjà installées mais sont incorrectes pour ce paquet.\n"
++"Les clés GPG listées pour le dépôt « %s » sont déjà installées mais sont "
++"incorrectes pour ce paquet.\n"
+ "Vérifiez que les URL des clés pour ce dépôt soient correctes."
+ 
+-#: dnf/base.py:2429
++#: dnf/base.py:2520
+ msgid "Import of key(s) didn't help, wrong key(s)?"
+ msgstr ""
+ "L’import de la ou des clés n’a pas résolu le problème, clés incorrectes ?"
+ 
+-#: dnf/base.py:2482
++#: dnf/base.py:2573
+ msgid "  * Maybe you meant: {}"
+ msgstr "  * Peut-être vouliez-vous dire : {}"
+ 
+-#: dnf/base.py:2514
++#: dnf/base.py:2605
+ msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
+-msgstr "Le paquet \"{}\" du dépôt local \"{}\" a une somme de contrôle incorrecte"
++msgstr ""
++"Le paquet \"{}\" du dépôt local \"{}\" a une somme de contrôle incorrecte"
+ 
+-#: dnf/base.py:2517
++#: dnf/base.py:2608
+ msgid "Some packages from local repository have incorrect checksum"
+ msgstr "Certains paquets du dépôt local ont une somme de contrôle incorrecte"
+ 
+-#: dnf/base.py:2520
++#: dnf/base.py:2611
+ msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
+ msgstr "Le paquet \"{}\" du dépôt \"{}\" a une somme de contrôle incorrecte"
+ 
+-#: dnf/base.py:2523
++#: dnf/base.py:2614
+ msgid ""
+ "Some packages have invalid cache, but cannot be downloaded due to \"--"
+ "cacheonly\" option"
+ msgstr ""
+-"Certains paquets ont un cache invalide, mais ne peuvent pas être téléchargés"
+-" à cause de l’option « --cacheonly »"
++"Certains paquets ont un cache invalide, mais ne peuvent pas être téléchargés "
++"à cause de l’option « --cacheonly »"
+ 
+-#: dnf/base.py:2541 dnf/base.py:2561
++#: dnf/base.py:2632 dnf/base.py:2652
+ msgid "No match for argument"
+ msgstr "Aucune correspondance pour le paramètre"
+ 
+-#: dnf/base.py:2549 dnf/base.py:2569
++#: dnf/base.py:2640 dnf/base.py:2660
+ msgid "All matches were filtered out by exclude filtering for argument"
+ msgstr ""
+ "Toutes les correspondances ont été filtrées en excluant le filtrage pour "
+ "l’argument"
+ 
+-#: dnf/base.py:2551
++#: dnf/base.py:2642
+ msgid "All matches were filtered out by modular filtering for argument"
+ msgstr ""
+ "Toutes les correspondances ont été filtrées par filtrage modulaire pour les "
+ "arguments"
+ 
+-#: dnf/base.py:2567
++#: dnf/base.py:2658
+ msgid "All matches were installed from a different repository for argument"
+ msgstr ""
+ "Toutes les correspondances ont été installées à partir d’un dépôt différent "
+ "pour le paramètre"
+ 
+-#: dnf/base.py:2583
++#: dnf/base.py:2705
+ #, python-format
+ msgid "Package %s is already installed."
+ msgstr "Le paquet %s est déjà installé."
+@@ -616,8 +611,8 @@ msgstr "La lecture du fichier « %s » a échoué : %s"
+ msgid "Cannot read file \"%s\": %s"
+ msgstr "Impossible de lire le fichier « %s » : %s"
+ 
+-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
+-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
++#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
+ #, python-format
+ msgid "Config error: %s"
+ msgstr "Erreur de configuration : %s"
+@@ -647,24 +642,32 @@ msgid ""
+ "The operation would result in switching of module '{0}' stream '{1}' to "
+ "stream '{2}'"
+ msgstr ""
+-"Le résulta de l’opération sera le basculement du flux« {1} » du module « {0}"
+-" » vers le flux« {2} »"
++"Le résulta de l’opération sera le basculement du flux« {1} » du module « {0} "
++"» vers le flux« {2} »"
+ 
+-#: dnf/cli/cli.py:172
++#: dnf/cli/cli.py:173
+ #, python-brace-format
+ msgid ""
+-"It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
+-msgstr ""
+-"Il n’est pas possible de basculer les flux actifs d’un module.\n"
+-"Il et recommandé de retirer tout contenu installé par le module, et de réinitialiser le mode en utilisant la commande « {prog} module reset <nom_du_module> ». Après la réinitialisation, vous pouvez installer les autres flux."
+-
+-#: dnf/cli/cli.py:210
++"It is not possible to switch enabled streams of a module unless explicitly "
++"enabled via configuration option module_stream_switch.\n"
++"It is recommended to rather remove all installed content from the module, "
++"and reset the module using '{prog} module reset <module_name>' command. "
++"After you reset the module, you can install the other stream."
++msgstr ""
++"Il n’est pas possible de basculer les flux actifs d’un module sauf si cela "
++"est explicitement activé par l’option de configuration "
++"module_stream_switch.\n"
++"Il est plutôt recommandé de retirer tout contenu installé par le module, et "
++"de réinitialiser le mode en utilisant la commande « {prog} module reset "
++"<nom_du_module> ». Après la réinitialisation, vous pouvez installer les "
++"autres flux."
++
++#: dnf/cli/cli.py:212
+ #, python-brace-format
+ msgid "{prog} will only download packages for the transaction."
+ msgstr "{prog} ne téléchargera que les paquets pour la transaction."
+ 
+-#: dnf/cli/cli.py:213
++#: dnf/cli/cli.py:215
+ #, python-brace-format
+ msgid ""
+ "{prog} will only download packages, install gpg keys, and check the "
+@@ -673,128 +676,108 @@ msgstr ""
+ "{prog} ne téléchargera que les paquets, installera les clefs GPG et "
+ "vérifiera la transaction."
+ 
+-#: dnf/cli/cli.py:217
++#: dnf/cli/cli.py:219
+ msgid "Operation aborted."
+ msgstr "Opération avortée."
+ 
+-#: dnf/cli/cli.py:224
++#: dnf/cli/cli.py:226
+ msgid "Downloading Packages:"
+ msgstr "Téléchargement des paquets :"
+ 
+-#: dnf/cli/cli.py:230
++#: dnf/cli/cli.py:232
+ msgid "Error downloading packages:"
+ msgstr "Erreur de téléchargement des paquets :"
+ 
+-#: dnf/cli/cli.py:258
++#: dnf/cli/cli.py:264
+ msgid "Transaction failed"
+ msgstr "La transaction a échoué"
+ 
+-#: dnf/cli/cli.py:281
++#: dnf/cli/cli.py:287
+ msgid ""
+ "Refusing to automatically import keys when running unattended.\n"
+ "Use \"-y\" to override."
+ msgstr ""
+-"Refus de l’importation automatique des clés lors d’une exécution sans surveillance.\n"
++"Refus de l’importation automatique des clés lors d’une exécution sans "
++"surveillance.\n"
+ "Utilisez l’option « -y » pour passer outre."
+ 
+-#: dnf/cli/cli.py:331
++#: dnf/cli/cli.py:337
+ msgid "Changelogs for {}"
+ msgstr "Changements pour {}"
+ 
+-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
++#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
+ msgid "Obsoleting Packages"
+ msgstr "Passage de paquets en obsolètes"
+ 
+-#: dnf/cli/cli.py:393
++#: dnf/cli/cli.py:399
+ msgid "No packages marked for distribution synchronization."
+ msgstr "Aucun paquet marqué pour la synchronisation de la distribution."
+ 
+-#: dnf/cli/cli.py:428
++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
++#, python-format
++msgid "No package %s available."
++msgstr "Aucun paquet %s n’est disponible."
++
++#: dnf/cli/cli.py:434
+ msgid "No packages marked for downgrade."
+ msgstr "Aucun paquet n’a été marqué pour passer à une version antérieure."
+ 
+-#: dnf/cli/cli.py:479
++#: dnf/cli/cli.py:485
+ msgid "Installed Packages"
+ msgstr "Paquets installés"
+ 
+-#: dnf/cli/cli.py:487
++#: dnf/cli/cli.py:493
+ msgid "Available Packages"
+ msgstr "Paquets disponibles"
+ 
+-#: dnf/cli/cli.py:491
++#: dnf/cli/cli.py:497
+ msgid "Autoremove Packages"
+ msgstr "Supprime des paquets automatiquement"
+ 
+-#: dnf/cli/cli.py:493
++#: dnf/cli/cli.py:499
+ msgid "Extra Packages"
+ msgstr "Paquets supplémentaires"
+ 
+-#: dnf/cli/cli.py:497
++#: dnf/cli/cli.py:503
+ msgid "Available Upgrades"
+ msgstr "Mises à jour disponibles"
+ 
+-#: dnf/cli/cli.py:513
++#: dnf/cli/cli.py:519
+ msgid "Recently Added Packages"
+ msgstr "Paquets récemment ajoutés"
+ 
+-#: dnf/cli/cli.py:518
++#: dnf/cli/cli.py:523
+ msgid "No matching Packages to list"
+ msgstr "Aucun paquet correspondant à lister"
+ 
+-#: dnf/cli/cli.py:599
++#: dnf/cli/cli.py:604
+ msgid "No Matches found"
+ msgstr "Aucune correspondance trouvée"
+ 
+-#: dnf/cli/cli.py:609
+-msgid "No transaction ID given"
+-msgstr "Aucun identifiant de transaction n’a été fourni"
+-
+-#: dnf/cli/cli.py:614
+-msgid "Not found given transaction ID"
+-msgstr "L’identifiant de transaction fourni est introuvable"
+-
+-#: dnf/cli/cli.py:623
+-msgid "Found more than one transaction ID!"
+-msgstr "Plus d’un identifiant de transaction ont été trouvés !"
+-
+-#: dnf/cli/cli.py:640
+-#, python-format
+-msgid "Transaction history is incomplete, before %u."
+-msgstr "L’historique des transactions est incomplet, avant %u."
+-
+-#: dnf/cli/cli.py:642
+-#, python-format
+-msgid "Transaction history is incomplete, after %u."
+-msgstr "L’historique des transactions est incomplet, après %u."
+-
+-#: dnf/cli/cli.py:689
+-msgid "Undoing transaction {}, from {}"
+-msgstr "Révocation de lla transaction {}, de {}"
+-
+-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
++#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
+ #, python-format
+ msgid "Unknown repo: '%s'"
+ msgstr "Dépôt inconnu : « %s »"
+ 
+-#: dnf/cli/cli.py:783
++#: dnf/cli/cli.py:685
+ #, python-format
+ msgid "No repository match: %s"
+ msgstr "Aucun dépôt ne correspond à %s"
+ 
+-#: dnf/cli/cli.py:817
++#: dnf/cli/cli.py:719
+ msgid ""
+-"This command has to be run with superuser privileges (under the root user on"
+-" most systems)."
++"This command has to be run with superuser privileges (under the root user on "
++"most systems)."
+ msgstr ""
+ "Cette commande doit être exécutée avec les privilèges super-utilisateur "
+ "(sous l’utilisateur root sur la plupart des systèmes)."
+ 
+-#: dnf/cli/cli.py:847
++#: dnf/cli/cli.py:749
+ #, python-format
+ msgid "No such command: %s. Please use %s --help"
+ msgstr "Aucune commande telle que : %s. Veuillez utiliser %s --help"
+ 
+-#: dnf/cli/cli.py:850
++#: dnf/cli/cli.py:752
+ #, python-format, python-brace-format
+ msgid ""
+ "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
+@@ -803,7 +786,7 @@ msgstr ""
+ "Cela est peut-être une commande d’un module supplémentaire de {PROG}, "
+ "essayez : « {prog} install 'dnf-command(%s)' »"
+ 
+-#: dnf/cli/cli.py:854
++#: dnf/cli/cli.py:756
+ #, python-brace-format
+ msgid ""
+ "It could be a {prog} plugin command, but loading of plugins is currently "
+@@ -812,15 +795,15 @@ msgstr ""
+ "Cela est peut-être une commande d’un module supplémentaire de {prog}, mais "
+ "le chargement de modules supplémentaires est actuellement désactivé."
+ 
+-#: dnf/cli/cli.py:912
++#: dnf/cli/cli.py:814
+ msgid ""
+ "--destdir or --downloaddir must be used with --downloadonly or download or "
+ "system-upgrade command."
+ msgstr ""
+-"--destdir ou --downloaddir doit être utilisé avec la commande --downloadonly"
+-" ou download ou system-upgrade command."
++"--destdir ou --downloaddir doit être utilisé avec la commande --downloadonly "
++"ou download ou system-upgrade command."
+ 
+-#: dnf/cli/cli.py:918
++#: dnf/cli/cli.py:820
+ msgid ""
+ "--enable, --set-enabled and --disable, --set-disabled must be used with "
+ "config-manager command."
+@@ -828,7 +811,7 @@ msgstr ""
+ "--enable, --set-enabled et --disable, --set-disabled doit être utilisé avec "
+ "la commande config-manager."
+ 
+-#: dnf/cli/cli.py:1000
++#: dnf/cli/cli.py:902
+ msgid ""
+ "Warning: Enforcing GPG signature check globally as per active RPM security "
+ "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
+@@ -837,11 +820,11 @@ msgstr ""
+ "politique de sécurité RPM active (voir « gpgcheck » dans dnf.conf(5) pour "
+ "savoir comment interpréter ce message)"
+ 
+-#: dnf/cli/cli.py:1020
++#: dnf/cli/cli.py:922
+ msgid "Config file \"{}\" does not exist"
+ msgstr "Le fichier de configuration \"{}\" n’existe pas"
+ 
+-#: dnf/cli/cli.py:1040
++#: dnf/cli/cli.py:942
+ msgid ""
+ "Unable to detect release version (use '--releasever' to specify release "
+ "version)"
+@@ -849,28 +832,28 @@ msgstr ""
+ "Impossible de détecter le numéro de version (utilisez « --releasever » pour "
+ "spécifier une version)"
+ 
+-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
++#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
+ msgid "argument {}: not allowed with argument {}"
+ msgstr "paramètre {} : non autorisé avec le paramètre {}"
+ 
+-#: dnf/cli/cli.py:1134
++#: dnf/cli/cli.py:1023
+ #, python-format
+ msgid "Command \"%s\" already defined"
+ msgstr "Commande « %s » déjà définie"
+ 
+-#: dnf/cli/cli.py:1154
++#: dnf/cli/cli.py:1043
+ msgid "Excludes in dnf.conf: "
+ msgstr "Exclut dans dnf.conf : "
+ 
+-#: dnf/cli/cli.py:1157
++#: dnf/cli/cli.py:1046
+ msgid "Includes in dnf.conf: "
+ msgstr "Inclut dans dnf.conf : "
+ 
+-#: dnf/cli/cli.py:1160
++#: dnf/cli/cli.py:1049
+ msgid "Excludes in repo "
+ msgstr "Exclut dans dépôt "
+ 
+-#: dnf/cli/cli.py:1163
++#: dnf/cli/cli.py:1052
+ msgid "Includes in repo "
+ msgstr "Inclut dans dépôt "
+ 
+@@ -890,7 +873,8 @@ msgstr ""
+ #, python-brace-format
+ msgid ""
+ "You have enabled checking of packages via GPG keys. This is a good thing.\n"
+-"However, you do not have any GPG public keys installed. You need to download\n"
++"However, you do not have any GPG public keys installed. You need to "
++"download\n"
+ "the keys for packages you wish to install and install them.\n"
+ "You can do that by running the command:\n"
+ "    rpm --import public.gpg.key\n"
+@@ -902,8 +886,10 @@ msgid ""
+ "\n"
+ "For more information contact your distribution or package provider."
+ msgstr ""
+-"Vous avez activé la vérification des paquets par clés GPG. C’est une bonne chose.\n"
+-"Cependant, vous n’avez aucune clé GPG publique installée. Vous devez télécharger\n"
++"Vous avez activé la vérification des paquets par clés GPG. C’est une bonne "
++"chose.\n"
++"Cependant, vous n’avez aucune clé GPG publique installée. Vous devez "
++"télécharger\n"
+ "et installer les clés pour les paquets que vous souhaitez installer..\n"
+ "Vous pouvez le faire en lançant la commande :\n"
+ "rpm --import public. gpg. key\n"
+@@ -913,7 +899,8 @@ msgstr ""
+ "pour un dépôt dans l’option « gpgkey » dans une section de configuration du\n"
+ "dépôt et {prog} l’installera pour vous.\n"
+ "\n"
+-"Pour plus de renseignements, contactez votre distribution ou le fournisseur du paquet."
++"Pour plus de renseignements, contactez votre distribution ou le fournisseur "
++"du paquet."
+ 
+ #: dnf/cli/commands/__init__.py:71
+ #, python-format
+@@ -924,38 +911,38 @@ msgstr "Problème avec le dépôt : %s"
+ msgid "display details about a package or group of packages"
+ msgstr "affiche les détails d’un paquet ou d’un groupe de paquets"
+ 
+-#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
++#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
+ msgid "show all packages (default)"
+ msgstr "affiche tous les paquets (par défaut)"
+ 
+-#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
+-#: dnf/cli/commands/module.py:351
++#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
++#: dnf/cli/commands/module.py:376
+ msgid "show only available packages"
+ msgstr "affiche uniquement les paquets disponibles"
+ 
+-#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
++#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
+ msgid "show only installed packages"
+ msgstr "affiche uniquement les paquets installés"
+ 
+-#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
++#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
+ msgid "show only extras packages"
+ msgstr "affiche uniquement les paquets supplémentaires"
+ 
+ #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
+-#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
++#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
+ msgid "show only upgrades packages"
+ msgstr "affiche uniquement les paquets à mettre à jour"
+ 
+-#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
++#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
+ msgid "show only autoremove packages"
+ msgstr "affiche uniquement les paquets à suppression automatique"
+ 
+-#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
++#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
+ msgid "show only recently changed packages"
+ msgstr "affiche uniquement les paquet modifiés récemment"
+ 
+ #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
+-#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
++#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
+ #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
+ #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
+ msgid "PACKAGE"
+@@ -993,70 +980,70 @@ msgstr "recherche les mises à jour de paquets disponibles"
+ msgid "show changelogs before update"
+ msgstr "affiche les changelogs avant la mise à jour"
+ 
+-#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
+-#: dnf/cli/commands/__init__.py:470
++#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
++#: dnf/cli/commands/__init__.py:465
+ msgid "No package available."
+ msgstr "Pas de paquet disponible."
+ 
+-#: dnf/cli/commands/__init__.py:376
++#: dnf/cli/commands/__init__.py:371
+ msgid "No packages marked for install."
+ msgstr "Aucun paquet marqué en vue d’être installé."
+ 
+-#: dnf/cli/commands/__init__.py:412
++#: dnf/cli/commands/__init__.py:407
+ msgid "No package installed."
+ msgstr "Pas de paquet installé."
+ 
+-#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
++#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
+ #: dnf/cli/commands/reinstall.py:91
+ #, python-format
+ msgid " (from %s)"
+ msgstr " (depuis %s)"
+ 
+-#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
++#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
+ #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
+ #, python-format
+ msgid "Installed package %s%s not available."
+ msgstr "Le paquet installé %s%s est indisponible."
+ 
+-#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
+-#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
++#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
++#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
+ msgid "No package installed from the repository."
+ msgstr "Aucun paquet installé depuis le dépôt."
+ 
+-#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
++#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
+ msgid "No packages marked for reinstall."
+ msgstr "Aucun paquet marqué pour réinstallation."
+ 
+-#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
++#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
+ msgid "No packages marked for upgrade."
+ msgstr "Aucun paquet marqué pour mise à jour."
+ 
+-#: dnf/cli/commands/__init__.py:726
++#: dnf/cli/commands/__init__.py:721
+ msgid "run commands on top of all packages in given repository"
+ msgstr "exécute des commandes pour chaque paquet d’un dépôt donné"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "REPOID"
+ msgstr "REPOID"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "Repository ID"
+ msgstr "ID du dépôt"
+ 
+-#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
++#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
+ #: dnf/cli/commands/updateinfo.py:108
+ msgid "Package specification"
+ msgstr "Caractéristiques de paquet"
+ 
+-#: dnf/cli/commands/__init__.py:801
++#: dnf/cli/commands/__init__.py:796
+ msgid "display a helpful usage message"
+ msgstr "affiche un message d’aide à l’utilisation"
+ 
+-#: dnf/cli/commands/__init__.py:805
++#: dnf/cli/commands/__init__.py:800
+ msgid "COMMAND"
+ msgstr "COMMANDE"
+ 
+-#: dnf/cli/commands/__init__.py:806
++#: dnf/cli/commands/__init__.py:801
+ #, python-brace-format
+ msgid "{prog} command to get help for"
+ msgstr "{prog} commande pour obtenir de l’aide"
+@@ -1231,9 +1218,12 @@ msgstr ""
+ "En attente de la fin d’exécution du processus ayant l’identifiant (pid) %d."
+ 
+ #: dnf/cli/commands/deplist.py:32
+-msgid "List package's dependencies and what packages provide them"
++msgid ""
++"[deprecated, use repoquery --deplist] List package's dependencies and what "
++"packages provide them"
+ msgstr ""
+-"Liste les dépendances du paquet et indique quels paquets les fournissent"
++"[obsolète, utilsez repoquery --deplist] Liste les dépendances du paquet et "
++"indique quels paquets les fournissent"
+ 
+ #: dnf/cli/commands/distrosync.py:32
+ msgid "synchronize installed packages to the latest available versions"
+@@ -1260,78 +1250,78 @@ msgstr "affiche ou utilise les informations des groupes"
+ msgid "No group data available for configured repositories."
+ msgstr "Aucune donnée sur les groupes disponibles pour les dépôts configurés."
+ 
+-#: dnf/cli/commands/group.py:129
++#: dnf/cli/commands/group.py:126
+ #, python-format
+ msgid "Warning: Group %s does not exist."
+ msgstr "Attention : le groupe %s n’existe pas."
+ 
+-#: dnf/cli/commands/group.py:170
++#: dnf/cli/commands/group.py:167
+ msgid "Warning: No groups match:"
+ msgstr "Attention : aucun groupe ne correspond à :"
+ 
+-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
+-#: dnf/cli/output.py:1226
++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
++#: dnf/cli/output.py:1139
+ msgid "<name-unset>"
+ msgstr "<name-unset>"
+ 
+-#: dnf/cli/commands/group.py:199
++#: dnf/cli/commands/group.py:196
+ msgid "Available Environment Groups:"
+ msgstr "Groupes d’environnements disponibles :"
+ 
+-#: dnf/cli/commands/group.py:201
++#: dnf/cli/commands/group.py:198
+ msgid "Installed Environment Groups:"
+ msgstr "Groupes d’environnements installés :"
+ 
+-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
+ msgid "Installed Groups:"
+ msgstr "Groupes installés :"
+ 
+-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
+ msgid "Installed Language Groups:"
+ msgstr "Groupes de langues installés :"
+ 
+-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
+ msgid "Available Groups:"
+ msgstr "Groupes disponibles :"
+ 
+-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
+ msgid "Available Language Groups:"
+ msgstr "Groupes de langues disponibles :"
+ 
+-#: dnf/cli/commands/group.py:322
++#: dnf/cli/commands/group.py:319
+ msgid "include optional packages from group"
+ msgstr "inclure les paquets optionnels du groupe"
+ 
+-#: dnf/cli/commands/group.py:325
++#: dnf/cli/commands/group.py:322
+ msgid "show also hidden groups"
+ msgstr "affiche également les groupes cachés"
+ 
+-#: dnf/cli/commands/group.py:327
++#: dnf/cli/commands/group.py:324
+ msgid "show only installed groups"
+ msgstr "affiche seulement les groupes installés"
+ 
+-#: dnf/cli/commands/group.py:329
++#: dnf/cli/commands/group.py:326
+ msgid "show only available groups"
+ msgstr "affiche uniquement les groupes disponibles"
+ 
+-#: dnf/cli/commands/group.py:331
++#: dnf/cli/commands/group.py:328
+ msgid "show also ID of groups"
+ msgstr "affiche également les ID des groupes"
+ 
+-#: dnf/cli/commands/group.py:333
++#: dnf/cli/commands/group.py:330
+ msgid "available subcommands: {} (default), {}"
+ msgstr "sous-commandes disponibles : {} (par défaut), {}"
+ 
+-#: dnf/cli/commands/group.py:337
++#: dnf/cli/commands/group.py:334
+ msgid "argument for group subcommand"
+ msgstr "paramètre pour la sous-commande group"
+ 
+-#: dnf/cli/commands/group.py:346
++#: dnf/cli/commands/group.py:343
+ #, python-format
+ msgid "Invalid groups sub-command, use: %s."
+ msgstr "Sous-commande de groupes invalide, utilisez : %s."
+ 
+-#: dnf/cli/commands/group.py:403
++#: dnf/cli/commands/group.py:398
+ msgid "Unable to find a mandatory group package."
+ msgstr "Impossible de trouver un paquet obligatoire du groupe."
+ 
+@@ -1347,8 +1337,8 @@ msgstr ""
+ 
+ #: dnf/cli/commands/history.py:68
+ msgid ""
+-"For the replay command, don't check for installed packages matching those in"
+-" transaction"
++"For the replay command, don't check for installed packages matching those in "
++"transaction"
+ msgstr ""
+ "Pour la commande replay, ne vérifie pas si les paquets installés "
+ "correspondent à ceux en transaction"
+@@ -1363,8 +1353,8 @@ msgstr ""
+ 
+ #: dnf/cli/commands/history.py:74
+ msgid ""
+-"For the replay command, skip packages that are not available or have missing"
+-" dependencies"
++"For the replay command, skip packages that are not available or have missing "
++"dependencies"
+ msgstr ""
+ "Pour la commande replay, saute les paquets qui ne sont pas disponibles ou "
+ "qui ont des dépendances manquantes"
+@@ -1385,25 +1375,25 @@ msgstr "Pas de transaction ou de nom de fichier fourni."
+ msgid "More than one argument given as transaction file name."
+ msgstr "Plus d’un argument donné comme nom de fichier de transaction."
+ 
+-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
+ msgid "No transaction ID or package name given."
+ msgstr "Pas d’identifiant de transaction ou de nom de paquet fourni."
+ 
+-#: dnf/cli/commands/history.py:138
++#: dnf/cli/commands/history.py:142
+ #, python-format
+ msgid "You don't have access to the history DB: %s"
+ msgstr "Vous n’avez pas accès à la base de données de l’historique : %s"
+ 
+-#: dnf/cli/commands/history.py:147
++#: dnf/cli/commands/history.py:151
+ #, python-format
+ msgid ""
+-"Cannot undo transaction %s, doing so would result in an inconsistent package"
+-" database."
++"Cannot undo transaction %s, doing so would result in an inconsistent package "
++"database."
+ msgstr ""
+ "Impossible de défaire la transaction %s ; cela aboutirait à une base de "
+ "données des paquets incohérente."
+ 
+-#: dnf/cli/commands/history.py:152
++#: dnf/cli/commands/history.py:156
+ #, python-format
+ msgid ""
+ "Cannot rollback transaction %s, doing so would result in an inconsistent "
+@@ -1412,15 +1402,43 @@ msgstr ""
+ "Impossible de défaire la transaction %s ; cela aboutirait à une base de "
+ "données des paquets incohérente."
+ 
+-#: dnf/cli/commands/history.py:222
++#: dnf/cli/commands/history.py:175
++msgid "No transaction ID given"
++msgstr "Aucun identifiant de transaction n’a été fourni"
++
++#: dnf/cli/commands/history.py:179
++#, python-brace-format
++msgid "Transaction ID \"{0}\" not found."
++msgstr "ID de transaction « {0} » non trouvé."
++
++#: dnf/cli/commands/history.py:185
++msgid "Found more than one transaction ID!"
++msgstr "Plus d’un identifiant de transaction ont été trouvés !"
++
++#: dnf/cli/commands/history.py:203
++#, python-format
++msgid "Transaction history is incomplete, before %u."
++msgstr "L’historique des transactions est incomplet, avant %u."
++
++#: dnf/cli/commands/history.py:205
++#, python-format
++msgid "Transaction history is incomplete, after %u."
++msgstr "L’historique des transactions est incomplet, après %u."
++
++#: dnf/cli/commands/history.py:256
++msgid "No packages to list"
++msgstr "Aucun paquet à lister"
++
++#: dnf/cli/commands/history.py:279
+ msgid ""
+ "Invalid transaction ID range definition '{}'.\n"
+ "Use '<transaction-id>..<transaction-id>'."
+ msgstr ""
+-"La définition de la plage d’identifiants de transaction est invalide « {} ».\n"
++"La définition de la plage d’identifiants de transaction est invalide « {} "
++"».\n"
+ "Utilisez « <transaction-id>..<transaction-id> »."
+ 
+-#: dnf/cli/commands/history.py:226
++#: dnf/cli/commands/history.py:283
+ msgid ""
+ "Can't convert '{}' to transaction ID.\n"
+ "Use '<number>', 'last', 'last-<number>'."
+@@ -1428,36 +1446,30 @@ msgstr ""
+ "Impossible de convertir « {} » à ID transaction.\n"
+ "Utiliser « <number>», « last », « last-<number> »."
+ 
+-#: dnf/cli/commands/history.py:255
++#: dnf/cli/commands/history.py:312
+ msgid "No transaction which manipulates package '{}' was found."
+ msgstr "Aucune transaction manipulant le paquet « {} » n’a été trouvée."
+ 
+-#: dnf/cli/commands/history.py:305
+-#, python-brace-format
+-msgid "Transaction ID \"{id}\" not found."
+-msgstr "ID de Transaction « {id} » non trouvé."
+-
+-#: dnf/cli/commands/history.py:313
++#: dnf/cli/commands/history.py:357
+ msgid "{} exists, overwrite?"
+ msgstr "{} existe, l’écraser ?"
+ 
+-#: dnf/cli/commands/history.py:316
++#: dnf/cli/commands/history.py:360
+ msgid "Not overwriting {}, exiting."
+ msgstr "{} non écrasé, sortie."
+ 
+-#: dnf/cli/commands/history.py:323
++#: dnf/cli/commands/history.py:367
+ msgid "Transaction saved to {}."
+ msgstr "Transaction enregistrée vers {}."
+ 
+-#: dnf/cli/commands/history.py:326
++#: dnf/cli/commands/history.py:370
+ msgid "Error storing transaction: {}"
+ msgstr "Erreur lors du stockage de la transaction : {}"
+ 
+-#: dnf/cli/commands/history.py:350
+-msgid ""
+-"Warning, the following problems occurred while replaying the transaction:"
++#: dnf/cli/commands/history.py:386
++msgid "Warning, the following problems occurred while running a transaction:"
+ msgstr ""
+-"Attention, les problèmes suivants sont survenus lors de la relecture de la "
++"Attention, les problèmes suivants sont survenus lors de l'exécution d’une "
+ "transaction :"
+ 
+ #: dnf/cli/commands/install.py:47
+@@ -1477,7 +1489,7 @@ msgstr "Impossible de trouver une correspondance"
+ msgid "Not a valid rpm file path: %s"
+ msgstr "Chemin du fichier RPM invalide : %s"
+ 
+-#: dnf/cli/commands/install.py:167
++#: dnf/cli/commands/install.py:166
+ #, python-brace-format
+ msgid "There are following alternatives for \"{0}\": {1}"
+ msgstr "Il existe les alternatives suivantes pour \"{0}\" : {1}"
+@@ -1493,8 +1505,7 @@ msgstr "Création des fichiers de cache pour tous les fichiers de métadonnées.
+ #: dnf/cli/commands/mark.py:39
+ msgid "mark or unmark installed packages as installed by user."
+ msgstr ""
+-"marquer ou démarquer les paquets installés comme installés par "
+-"l’utilisateur."
++"marquer ou démarquer les paquets installés comme installés par l’utilisateur."
+ 
+ #: dnf/cli/commands/mark.py:44
+ msgid ""
+@@ -1522,7 +1533,7 @@ msgid "%s marked as group installed."
+ msgstr "%s marqué comme étant installé par un groupe."
+ 
+ #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
+-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
+ msgid "Error:"
+ msgstr "Erreur :"
+ 
+@@ -1531,91 +1542,95 @@ msgstr "Erreur :"
+ msgid "Package %s is not installed."
+ msgstr "Le paquet %s n’est pas installé."
+ 
+-#: dnf/cli/commands/module.py:51
++#: dnf/cli/commands/module.py:54
+ msgid ""
+-"Only module name, stream, architecture or profile is used. Ignoring unneeded"
+-" information in argument: '{}'"
++"Only module name, stream, architecture or profile is used. Ignoring unneeded "
++"information in argument: '{}'"
+ msgstr ""
+-"Seul le nom, le flux, l’architecture ou le profil du module est utilisé. Les"
+-" paramètres inutiles ont été ignorés dans le paramètre : « {} »"
++"Seul le nom, le flux, l’architecture ou le profil du module est utilisé. Les "
++"paramètres inutiles ont été ignorés dans le paramètre : « {} »"
+ 
+-#: dnf/cli/commands/module.py:77
++#: dnf/cli/commands/module.py:80
+ msgid "list all module streams, profiles and states"
+ msgstr "dresser la liste de tous les flux, profils et états des modules"
+ 
+-#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
++#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
+ msgid "No matching Modules to list"
+ msgstr "Aucun module correspondant à lister"
+ 
+-#: dnf/cli/commands/module.py:111
++#: dnf/cli/commands/module.py:114
+ msgid "print detailed information about a module"
+ msgstr "afficher les informations détaillées à propos d’un module"
+ 
+-#: dnf/cli/commands/module.py:133
++#: dnf/cli/commands/module.py:136
+ msgid "enable a module stream"
+ msgstr "activer un flux de modules"
+ 
+-#: dnf/cli/commands/module.py:157
++#: dnf/cli/commands/module.py:160
+ msgid "disable a module with all its streams"
+ msgstr "désactiver un module avec tous ses flux"
+ 
+-#: dnf/cli/commands/module.py:181
++#: dnf/cli/commands/module.py:184
+ msgid "reset a module"
+ msgstr "réinitialiser un module"
+ 
+-#: dnf/cli/commands/module.py:202
++#: dnf/cli/commands/module.py:205
+ msgid "install a module profile including its packages"
+ msgstr "installer un profil de module, y compris ses paquets"
+ 
+-#: dnf/cli/commands/module.py:223
++#: dnf/cli/commands/module.py:226
+ msgid "update packages associated with an active stream"
+ msgstr "mettre à jour les paquets associés à un flux actif"
+ 
+-#: dnf/cli/commands/module.py:240
++#: dnf/cli/commands/module.py:243
+ msgid "remove installed module profiles and their packages"
+ msgstr "supprimer les profils de modules installés et leurs paquets"
+ 
+-#: dnf/cli/commands/module.py:264
++#: dnf/cli/commands/module.py:267
+ msgid "Package {} belongs to multiple modules, skipping"
+ msgstr "Le paquet {} appartient à de multiples modules, ignorer"
+ 
+-#: dnf/cli/commands/module.py:277
++#: dnf/cli/commands/module.py:280
++msgid "switch a module to a stream and distrosync rpm packages"
++msgstr "passer un module à un flux et à des paquets de rpm de distrosync"
++
++#: dnf/cli/commands/module.py:302
+ msgid "list modular packages"
+ msgstr "dresser une liste des paquets modulaires"
+ 
+-#: dnf/cli/commands/module.py:292
++#: dnf/cli/commands/module.py:317
+ msgid "list packages belonging to a module"
+ msgstr "dresser une liste des paquets appartenant à un module"
+ 
+-#: dnf/cli/commands/module.py:327
++#: dnf/cli/commands/module.py:352
+ msgid "Interact with Modules."
+ msgstr "Interagit avec les modules."
+ 
+-#: dnf/cli/commands/module.py:340
++#: dnf/cli/commands/module.py:365
+ msgid "show only enabled modules"
+ msgstr "n’affiche que les modules activés"
+ 
+-#: dnf/cli/commands/module.py:343
++#: dnf/cli/commands/module.py:368
+ msgid "show only disabled modules"
+ msgstr "n’affiche que les modules désactivés"
+ 
+-#: dnf/cli/commands/module.py:346
++#: dnf/cli/commands/module.py:371
+ msgid "show only installed modules or packages"
+ msgstr "affiche uniquement les paquets ou modules installés"
+ 
+-#: dnf/cli/commands/module.py:349
++#: dnf/cli/commands/module.py:374
+ msgid "show profile content"
+ msgstr "affiche le contenu du profil"
+ 
+-#: dnf/cli/commands/module.py:354
++#: dnf/cli/commands/module.py:379
+ msgid "remove all modular packages"
+ msgstr "Supprimer les paquets modulaires"
+ 
+-#: dnf/cli/commands/module.py:364
++#: dnf/cli/commands/module.py:389
+ msgid "Module specification"
+ msgstr "Caractéristique de module"
+ 
+-#: dnf/cli/commands/module.py:386
++#: dnf/cli/commands/module.py:411
+ msgid "{} {} {}: too few arguments"
+ msgstr "{} {} {} : trop peu de paramètres"
+ 
+@@ -1868,8 +1883,8 @@ msgstr ""
+ #: dnf/cli/commands/repoquery.py:162
+ msgid "check dependencies exactly as given, opposite of --alldeps"
+ msgstr ""
+-"vérifie les dépendances exactement telles qu’indiquées, le contraire de "
+-"--alldeps"
++"vérifie les dépendances exactement telles qu’indiquées, le contraire de --"
++"alldeps"
+ 
+ #: dnf/cli/commands/repoquery.py:164
+ msgid ""
+@@ -1927,8 +1942,8 @@ msgstr "affiche les changelogs du paquet"
+ #: dnf/cli/commands/repoquery.py:194
+ #, python-format, python-brace-format
+ msgid ""
+-"display format for listing packages: \"%%{name} %%{version} ...\", use "
+-"--querytags to view full tag list"
++"display format for listing packages: \"%%{name} %%{version} ...\", use --"
++"querytags to view full tag list"
+ msgstr ""
+ "format d'affichage pour la liste des paquets : « %%{name} %%{version}… », "
+ "utilisez --querytags pour voir la liste complète des étiquettes"
+@@ -2076,23 +2091,23 @@ msgstr "la clé à chercher"
+ 
+ #: dnf/cli/commands/repoquery.py:295
+ msgid ""
+-"Option '--resolve' has to be used together with one of the '--conflicts', '"
+-"--depends', '--enhances', '--provides', '--recommends', '--requires', '--"
++"Option '--resolve' has to be used together with one of the '--conflicts', '--"
++"depends', '--enhances', '--provides', '--recommends', '--requires', '--"
+ "requires-pre', '--suggests' or '--supplements' options"
+ msgstr ""
+-"Option « --resolve » doit être utilisée en conjonction avec « --conflicts »,"
+-" « --depends », « --enhances », « --provides », « --recommends », « "
+-"--requires », « --requires-pre », « --suggests » ou « --supplements"
++"Option « --resolve » doit être utilisée en conjonction avec « --conflicts », "
++"« --depends », « --enhances », « --provides », « --recommends », « --"
++"requires », « --requires-pre », « --suggests » ou « --supplements"
+ 
+ #: dnf/cli/commands/repoquery.py:305
+ msgid ""
+ "Option '--recursive' has to be used with '--whatrequires <REQ>' (optionally "
+-"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> "
+-"--resolve'"
++"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> --"
++"resolve'"
+ msgstr ""
+-"Option « --recursive » doit être utilisée avec « --whatrequires <REQ> » "
+-"(optionnellement avec « --alldeps », mais pas avec « --exactdeps »), ou avec"
+-" « --requires <REQ> --resolve »"
++"Option « --recursive » doit être utilisée avec « --whatrequires <REQ> "
++"» (optionnellement avec « --alldeps », mais pas avec « --exactdeps »), ou "
++"avec « --requires <REQ> --resolve »"
+ 
+ #: dnf/cli/commands/repoquery.py:312
+ msgid "argument {} requires --whatrequires or --whatdepends option"
+@@ -2106,13 +2121,17 @@ msgstr "Le paquet {} ne contient aucun fichier"
+ #, python-brace-format
+ msgid ""
+ "No valid switch specified\n"
+-"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "description:\n"
+ "  For the given packages print a tree of thepackages."
+ msgstr ""
+ "Aucune option valide spécifiée\n"
+-"utilisation : {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"utilisation : {prog} repoquery [--conflicts|--enhances|--obsoletes|--"
++"provides|--recommends|--requires|--suggest|--supplements|--whatrequires] "
++"[key] [--tree]\n"
+ "\n"
+ "description :\n"
+ " Afficher une arborescence des paquets pour le paquet donné."
+@@ -2133,27 +2152,26 @@ msgstr "MOTCLEF"
+ msgid "Keyword to search for"
+ msgstr "Mot-clef à chercher"
+ 
+-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
+ msgctxt "long"
+ msgid "Name"
+ msgstr "Nom"
+ 
+-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
+ msgctxt "long"
+ msgid "Summary"
+ msgstr "Résumé"
+ 
+-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
+ msgctxt "long"
+ msgid "Description"
+ msgstr "Description"
+ 
+-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
+ msgid "URL"
+ msgstr "URL"
+ 
+-#. TRANSLATORS: separator used between package attributes (eg. Name & Summary
+-#. & URL)
++#. TRANSLATORS: separator used between package attributes (eg. Name & Summary & URL)
+ #: dnf/cli/commands/search.py:76
+ msgid " & "
+ msgstr " & "
+@@ -2287,20 +2305,21 @@ msgstr ""
+ "help                     affiche l’aide\n"
+ "repository (ou repo)     active, désactive ou liste les dépôts\n"
+ "resolvedep               résout l’ensemble de transactions\n"
+-"transaction (ou ts)      liste, réinitialise ou exécute l’ensemble de transactions\n"
++"transaction (ou ts)      liste, réinitialise ou exécute l’ensemble de "
++"transactions\n"
+ "run                      résoud et exécute l’ensemble de transactions\n"
+ "exit (ou quit)           quitte l’interpréteur de commandes"
+ 
+-#: dnf/cli/commands/shell.py:259
++#: dnf/cli/commands/shell.py:262
+ #, python-format
+ msgid "Error: Cannot open %s for reading"
+ msgstr "Erreur : %s n’a pu être ouvert pour lecture"
+ 
+-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
+ msgid "Complete!"
+ msgstr "Terminé !"
+ 
+-#: dnf/cli/commands/shell.py:291
++#: dnf/cli/commands/shell.py:294
+ msgid "Leaving Shell"
+ msgstr "Abandon de l’interpréteur de commandes"
+ 
+@@ -2337,19 +2356,19 @@ msgstr "nouveau paquet"
+ 
+ #: dnf/cli/commands/updateinfo.py:50
+ msgid "Critical/Sec."
+-msgstr "Sécurité/Niveau critique"
++msgstr "Sécurité/Niveau critique."
+ 
+ #: dnf/cli/commands/updateinfo.py:51
+ msgid "Important/Sec."
+-msgstr "Sécurité/Niveau important"
++msgstr "Sécurité/Niveau important."
+ 
+ #: dnf/cli/commands/updateinfo.py:52
+ msgid "Moderate/Sec."
+-msgstr "Sécurité/niveau modéré"
++msgstr "Sécurité/niveau modéré."
+ 
+ #: dnf/cli/commands/updateinfo.py:53
+ msgid "Low/Sec."
+-msgstr "Sécurité/Niveau bas"
++msgstr "Sécurité/Niveau bas."
+ 
+ #: dnf/cli/commands/updateinfo.py:63
+ msgid "display advisories about packages"
+@@ -2362,8 +2381,7 @@ msgstr "alertes pour les nouvelles versions de paquets installés (par défaut)"
+ #: dnf/cli/commands/updateinfo.py:80
+ msgid "advisories about equal and older versions of installed packages"
+ msgstr ""
+-"alertes pour des versions équivalentes ou plus anciennes de paquets "
+-"installés"
++"alertes pour des versions équivalentes ou plus anciennes de paquets installés"
+ 
+ #: dnf/cli/commands/updateinfo.py:83
+ msgid ""
+@@ -2459,7 +2477,7 @@ msgstr "autre(s) alertes)"
+ 
+ #: dnf/cli/commands/updateinfo.py:316
+ msgid "Unknown/Sec."
+-msgstr "Sécurité/Niveau inconnu"
++msgstr "Sécurité/Niveau inconnu."
+ 
+ #: dnf/cli/commands/updateinfo.py:357
+ msgid "Bugs"
+@@ -2497,8 +2515,8 @@ msgstr "Criticité"
+ msgid "Files"
+ msgstr "Fichiers"
+ 
+-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
+-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
++#: dnf/cli/output.py:1656 dnf/util.py:617
+ msgid "Installed"
+ msgstr "Installé"
+ 
+@@ -2533,8 +2551,8 @@ msgstr "Terminé."
+ #: dnf/cli/main.py:116
+ msgid "No read/execute access in current directory, moving to /"
+ msgstr ""
+-"Pas d’accès en lecture/exécution sur le répertoire courant, déplacement dans"
+-" /"
++"Pas d’accès en lecture/exécution sur le répertoire courant, déplacement "
++"dans /"
+ 
+ #: dnf/cli/main.py:135
+ msgid "try to add '{}' to command line to replace conflicting packages"
+@@ -2677,8 +2695,7 @@ msgstr "niveau de déboguage pour la sortie"
+ 
+ #: dnf/cli/option_parser.py:236
+ msgid "dumps detailed solving results into files"
+-msgstr ""
+-"détaille les résultats de résolution des dépendances dans des fichiers"
++msgstr "détaille les résultats de résolution des dépendances dans des fichiers"
+ 
+ #: dnf/cli/option_parser.py:240
+ msgid "show duplicates, in repos, in list/search commands"
+@@ -2695,8 +2712,8 @@ msgid ""
+ "capabilities that the package obsoletes for info, list and repoquery"
+ msgstr ""
+ "active la mécanique de traitement des paquets obsolètes de {prog} pour les "
+-"mises à jour ou affiche les fonctionnalités qu’un paquet rend obsolètes pour"
+-" les commandes « info », « list » et « repoquery »"
++"mises à jour ou affiche les fonctionnalités qu’un paquet rend obsolètes pour "
++"les commandes « info », « list » et « repoquery »"
+ 
+ #: dnf/cli/option_parser.py:251
+ msgid "debugging output level for rpm"
+@@ -2720,8 +2737,8 @@ msgstr ""
+ 
+ #: dnf/cli/option_parser.py:266
+ msgid ""
+-"Disable repositories. List option. Supports globs, can be specified multiple"
+-" times."
++"Disable repositories. List option. Supports globs, can be specified multiple "
++"times."
+ msgstr ""
+ "Désactive les dépôts. Option de liste. Prend en charge les globs, peut être "
+ "renseigné plusieurs fois."
+@@ -2731,8 +2748,8 @@ msgid ""
+ "enable just specific repositories by an id or a glob, can be specified "
+ "multiple times"
+ msgstr ""
+-"active seulement des dépôts spécifiques par id ou par le caractère générique"
+-" (*), peut être spécifié plusieurs fois"
++"active seulement des dépôts spécifiques par id ou par le caractère générique "
++"(*), peut être spécifié plusieurs fois"
+ 
+ #: dnf/cli/option_parser.py:275
+ msgid "enable repos with config-manager command (automatically saves)"
+@@ -2827,8 +2844,8 @@ msgstr ""
+ #: dnf/cli/option_parser.py:339
+ msgid "Include packages needed to fix the given BZ, in updates"
+ msgstr ""
+-"Inclut dans les mises à jour les paquets nécessaires pour résoudre le ticket"
+-" BugZilla cité"
++"Inclut dans les mises à jour les paquets nécessaires pour résoudre le ticket "
++"BugZilla cité"
+ 
+ #: dnf/cli/option_parser.py:342
+ msgid "Include packages needed to fix the given CVE, in updates"
+@@ -2862,13 +2879,13 @@ msgstr "Impossible d’encoder l’argument « %s » : %s"
+ #. Translators: This is abbreviated 'Name'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:505
++#: dnf/cli/output.py:459
+ msgctxt "short"
+ msgid "Name"
+ msgstr "Nom"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:511
++#: dnf/cli/output.py:465
+ msgid "Epoch"
+ msgstr "Époque"
+ 
+@@ -2876,38 +2893,38 @@ msgstr "Époque"
+ #. use the full (unabbreviated) term 'Version' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:512 dnf/cli/output.py:1335
++#: dnf/cli/output.py:466 dnf/cli/output.py:1248
+ msgctxt "short"
+ msgid "Version"
+ msgstr "Version"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Version'.
+-#: dnf/cli/output.py:513 dnf/cli/output.py:1337
++#: dnf/cli/output.py:467 dnf/cli/output.py:1250
+ msgctxt "long"
+ msgid "Version"
+ msgstr "Version"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:516
++#: dnf/cli/output.py:470
+ msgid "Release"
+ msgstr "Publication"
+ 
+ #. Translators: This is abbreviated 'Architecture', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:517 dnf/cli/output.py:1326
++#: dnf/cli/output.py:471 dnf/cli/output.py:1239
+ msgctxt "short"
+ msgid "Arch"
+ msgstr "Architecture"
+ 
+ #. Translators: This is the full word 'Architecture', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:518 dnf/cli/output.py:1329
++#: dnf/cli/output.py:472 dnf/cli/output.py:1242
+ msgctxt "long"
+ msgid "Architecture"
+ msgstr "Architecture"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Size'.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1352
++#: dnf/cli/output.py:474 dnf/cli/output.py:1265
+ msgctxt "long"
+ msgid "Size"
+ msgstr "Taille"
+@@ -2916,32 +2933,32 @@ msgstr "Taille"
+ #. not be longer than 5 characters. If the term 'Size' in your
+ #. language is not longer than 5 characters then you can use it
+ #. unabbreviated.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1350
++#: dnf/cli/output.py:474 dnf/cli/output.py:1263
+ msgctxt "short"
+ msgid "Size"
+ msgstr "Taille"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:524
++#: dnf/cli/output.py:478
+ msgid "Source"
+ msgstr "Source"
+ 
+ #. Translators: This is abbreviated 'Repository', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:525 dnf/cli/output.py:1341
++#: dnf/cli/output.py:479 dnf/cli/output.py:1254
+ msgctxt "short"
+ msgid "Repo"
+ msgstr "Dépôt"
+ 
+ #. Translators: This is the full word 'Repository', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:526 dnf/cli/output.py:1344
++#: dnf/cli/output.py:480 dnf/cli/output.py:1257
+ msgctxt "long"
+ msgid "Repository"
+ msgstr "Dépôt"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:533
++#: dnf/cli/output.py:487
+ msgid "From repo"
+ msgstr "Depuis le dépôt"
+ 
+@@ -2949,316 +2966,311 @@ msgstr "Depuis le dépôt"
+ #. print(_("Committer   : %s") % ucd(pkg.committer))
+ #. print(_("Committime  : %s") % time.ctime(pkg.committime))
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:539
++#: dnf/cli/output.py:493
+ msgid "Packager"
+ msgstr "Empaqueteur"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:541
++#: dnf/cli/output.py:495
+ msgid "Buildtime"
+ msgstr "Date de compilation"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:545
++#: dnf/cli/output.py:499
+ msgid "Install time"
+ msgstr "Date d’installation"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:554
++#: dnf/cli/output.py:508
+ msgid "Installed by"
+ msgstr "Installé par"
+ 
+ #. Translators: This is abbreviated 'Summary'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:558
++#: dnf/cli/output.py:512
+ msgctxt "short"
+ msgid "Summary"
+ msgstr "Résumé"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:564
++#: dnf/cli/output.py:518
+ msgid "License"
+ msgstr "Licence"
+ 
+ #. Translators: This is abbreviated 'Description'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:568
++#: dnf/cli/output.py:522
+ msgctxt "short"
+ msgid "Description"
+ msgstr "Description"
+ 
+-#: dnf/cli/output.py:695
+-msgid "No packages to list"
+-msgstr "Aucun paquet à lister"
+-
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "y"
+ msgstr "o"
+ 
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "yes"
+ msgstr "oui"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "n"
+ msgstr "n"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "no"
+ msgstr "non"
+ 
+-#: dnf/cli/output.py:711
++#: dnf/cli/output.py:655
+ msgid "Is this ok [y/N]: "
+ msgstr "Voulez-vous continuer ? [o/N] : "
+ 
+-#: dnf/cli/output.py:715
++#: dnf/cli/output.py:659
+ msgid "Is this ok [Y/n]: "
+ msgstr "Voulez-vous continuer ? [O/n] : "
+ 
+-#: dnf/cli/output.py:795
++#: dnf/cli/output.py:739
+ #, python-format
+ msgid "Group: %s"
+ msgstr "Groupe : %s"
+ 
+-#: dnf/cli/output.py:799
++#: dnf/cli/output.py:743
+ #, python-format
+ msgid " Group-Id: %s"
+ msgstr " Identifiant du groupe : %s"
+ 
+-#: dnf/cli/output.py:801 dnf/cli/output.py:840
++#: dnf/cli/output.py:745 dnf/cli/output.py:784
+ #, python-format
+ msgid " Description: %s"
+ msgstr " Description : %s"
+ 
+-#: dnf/cli/output.py:803
++#: dnf/cli/output.py:747
+ #, python-format
+ msgid " Language: %s"
+ msgstr " Langue : %s"
+ 
+-#: dnf/cli/output.py:806
++#: dnf/cli/output.py:750
+ msgid " Mandatory Packages:"
+ msgstr " Paquets obligatoires :"
+ 
+-#: dnf/cli/output.py:807
++#: dnf/cli/output.py:751
+ msgid " Default Packages:"
+ msgstr " Paquets par défaut :"
+ 
+-#: dnf/cli/output.py:808
++#: dnf/cli/output.py:752
+ msgid " Optional Packages:"
+ msgstr " Paquets optionnels :"
+ 
+-#: dnf/cli/output.py:809
++#: dnf/cli/output.py:753
+ msgid " Conditional Packages:"
+ msgstr " Paquets conditionnels :"
+ 
+-#: dnf/cli/output.py:834
++#: dnf/cli/output.py:778
+ #, python-format
+ msgid "Environment Group: %s"
+ msgstr "Groupe d’environnement : %s"
+ 
+-#: dnf/cli/output.py:837
++#: dnf/cli/output.py:781
+ #, python-format
+ msgid " Environment-Id: %s"
+ msgstr " Identifiant d’environnement : %s"
+ 
+-#: dnf/cli/output.py:843
++#: dnf/cli/output.py:787
+ msgid " Mandatory Groups:"
+ msgstr " Groupes obligatoires :"
+ 
+-#: dnf/cli/output.py:844
++#: dnf/cli/output.py:788
+ msgid " Optional Groups:"
+ msgstr " Groupes optionnels :"
+ 
+-#: dnf/cli/output.py:865
++#: dnf/cli/output.py:809
+ msgid "Matched from:"
+ msgstr "Correspondances trouvées dans  :"
+ 
+-#: dnf/cli/output.py:879
++#: dnf/cli/output.py:823
+ #, python-format
+ msgid "Filename    : %s"
+ msgstr "Nom de fichier : %s"
+ 
+-#: dnf/cli/output.py:904
++#: dnf/cli/output.py:848
+ #, python-format
+ msgid "Repo        : %s"
+ msgstr "Dépôt               : %s"
+ 
+-#: dnf/cli/output.py:913
++#: dnf/cli/output.py:857
+ msgid "Description : "
+ msgstr "Description  : "
+ 
+-#: dnf/cli/output.py:917
++#: dnf/cli/output.py:861
+ #, python-format
+ msgid "URL         : %s"
+ msgstr "URL                 : %s"
+ 
+-#: dnf/cli/output.py:921
++#: dnf/cli/output.py:865
+ #, python-format
+ msgid "License     : %s"
+ msgstr "Licence        : %s"
+ 
+-#: dnf/cli/output.py:927
++#: dnf/cli/output.py:871
+ #, python-format
+ msgid "Provide    : %s"
+-msgstr "Provide    : %s"
++msgstr "Fournir : %s"
+ 
+-#: dnf/cli/output.py:947
++#: dnf/cli/output.py:891
+ #, python-format
+ msgid "Other       : %s"
+ msgstr "Autre  : %s"
+ 
+-#: dnf/cli/output.py:996
++#: dnf/cli/output.py:940
+ msgid "There was an error calculating total download size"
+ msgstr ""
+ "Une erreur est survenue pendant le calcul de la taille totale des "
+ "téléchargements"
+ 
+-#: dnf/cli/output.py:1002
++#: dnf/cli/output.py:946
+ #, python-format
+ msgid "Total size: %s"
+ msgstr "Taille totale  : %s"
+ 
+-#: dnf/cli/output.py:1005
++#: dnf/cli/output.py:949
+ #, python-format
+ msgid "Total download size: %s"
+ msgstr "Taille totale des téléchargements : %s"
+ 
+-#: dnf/cli/output.py:1008
++#: dnf/cli/output.py:952
+ #, python-format
+ msgid "Installed size: %s"
+ msgstr "Taille des paquets installés : %s"
+ 
+-#: dnf/cli/output.py:1026
++#: dnf/cli/output.py:970
+ msgid "There was an error calculating installed size"
+ msgstr ""
+-"Une erreur est survenue pendant le calcul de la taille des paquets "
+-"installées"
++"Une erreur est survenue pendant le calcul de la taille des paquets installées"
+ 
+-#: dnf/cli/output.py:1030
++#: dnf/cli/output.py:974
+ #, python-format
+ msgid "Freed space: %s"
+ msgstr "Espace libéré : %s"
+ 
+-#: dnf/cli/output.py:1039
++#: dnf/cli/output.py:983
+ msgid "Marking packages as installed by the group:"
+ msgstr "Marquage des paquets installés par le groupe :"
+ 
+-#: dnf/cli/output.py:1046
++#: dnf/cli/output.py:990
+ msgid "Marking packages as removed by the group:"
+ msgstr "Marquage des paquets supprimés par le groupe :"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Group"
+ msgstr "Groupe"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Packages"
+ msgstr "Paquets"
+ 
+-#: dnf/cli/output.py:1133
++#: dnf/cli/output.py:1046
+ msgid "Installing group/module packages"
+ msgstr "Installation des paquets du groupe/module"
+ 
+-#: dnf/cli/output.py:1134
++#: dnf/cli/output.py:1047
+ msgid "Installing group packages"
+ msgstr "Installation du groupe de paquets"
+ 
+ #. TRANSLATORS: This is for a list of packages to be installed.
+-#: dnf/cli/output.py:1138
++#: dnf/cli/output.py:1051
+ msgctxt "summary"
+ msgid "Installing"
+ msgstr "Installation"
+ 
+ #. TRANSLATORS: This is for a list of packages to be upgraded.
+-#: dnf/cli/output.py:1140
++#: dnf/cli/output.py:1053
+ msgctxt "summary"
+ msgid "Upgrading"
+ msgstr "Mise à jour"
+ 
+ #. TRANSLATORS: This is for a list of packages to be reinstalled.
+-#: dnf/cli/output.py:1142
++#: dnf/cli/output.py:1055
+ msgctxt "summary"
+ msgid "Reinstalling"
+ msgstr "Réinstallation"
+ 
+-#: dnf/cli/output.py:1144
++#: dnf/cli/output.py:1057
+ msgid "Installing dependencies"
+ msgstr "Installation des dépendances"
+ 
+-#: dnf/cli/output.py:1145
++#: dnf/cli/output.py:1058
+ msgid "Installing weak dependencies"
+ msgstr "Installation des dépendances faibles"
+ 
+ #. TRANSLATORS: This is for a list of packages to be removed.
+-#: dnf/cli/output.py:1147
++#: dnf/cli/output.py:1060
+ msgid "Removing"
+ msgstr "Suppression"
+ 
+-#: dnf/cli/output.py:1148
++#: dnf/cli/output.py:1061
+ msgid "Removing dependent packages"
+ msgstr "Supprimer des paquets dépendants"
+ 
+-#: dnf/cli/output.py:1149
++#: dnf/cli/output.py:1062
+ msgid "Removing unused dependencies"
+ msgstr "Suppression des dépendances inutilisées"
+ 
+ #. TRANSLATORS: This is for a list of packages to be downgraded.
+-#: dnf/cli/output.py:1151
++#: dnf/cli/output.py:1064
+ msgctxt "summary"
+ msgid "Downgrading"
+ msgstr "Rétrogradation"
+ 
+-#: dnf/cli/output.py:1176
++#: dnf/cli/output.py:1089
+ msgid "Installing module profiles"
+ msgstr "Installation des profils de module"
+ 
+-#: dnf/cli/output.py:1185
++#: dnf/cli/output.py:1098
+ msgid "Disabling module profiles"
+ msgstr "Désactivation des profils de module"
+ 
+-#: dnf/cli/output.py:1194
++#: dnf/cli/output.py:1107
+ msgid "Enabling module streams"
+ msgstr "Activation des flux de modules"
+ 
+-#: dnf/cli/output.py:1202
++#: dnf/cli/output.py:1115
+ msgid "Switching module streams"
+ msgstr "Basculement des flux de modules"
+ 
+-#: dnf/cli/output.py:1210
++#: dnf/cli/output.py:1123
+ msgid "Disabling modules"
+ msgstr "Désactivation des modules"
+ 
+-#: dnf/cli/output.py:1218
++#: dnf/cli/output.py:1131
+ msgid "Resetting modules"
+ msgstr "Réinitialisation des modules"
+ 
+-#: dnf/cli/output.py:1230
++#: dnf/cli/output.py:1143
+ msgid "Installing Environment Groups"
+ msgstr "Installation des groupes d’environnement"
+ 
+-#: dnf/cli/output.py:1237
++#: dnf/cli/output.py:1150
+ msgid "Upgrading Environment Groups"
+ msgstr "Mise à niveau des groupes d’environnement"
+ 
+-#: dnf/cli/output.py:1244
++#: dnf/cli/output.py:1157
+ msgid "Removing Environment Groups"
+ msgstr "Suppression des groupes d’environnement"
+ 
+-#: dnf/cli/output.py:1251
++#: dnf/cli/output.py:1164
+ msgid "Installing Groups"
+ msgstr "Installation des groupes"
+ 
+-#: dnf/cli/output.py:1258
++#: dnf/cli/output.py:1171
+ msgid "Upgrading Groups"
+ msgstr "Mise à niveau des groupes"
+ 
+-#: dnf/cli/output.py:1265
++#: dnf/cli/output.py:1178
+ msgid "Removing Groups"
+ msgstr "Suppression des groupes"
+ 
+-#: dnf/cli/output.py:1281
++#: dnf/cli/output.py:1194
+ #, python-format
+ msgid ""
+ "Skipping packages with conflicts:\n"
+@@ -3267,12 +3279,12 @@ msgstr ""
+ "Ignorer les paquets en conflit :\n"
+ "(ajouter « %s » à la ligne de commande pour forcer leur mise à niveau)"
+ 
+-#: dnf/cli/output.py:1291
++#: dnf/cli/output.py:1204
+ #, python-format
+ msgid "Skipping packages with broken dependencies%s"
+ msgstr "Ignorer les paquets ayant des dépendances cassées %s"
+ 
+-#: dnf/cli/output.py:1295
++#: dnf/cli/output.py:1208
+ msgid " or part of a group"
+ msgstr " ou qui fait parti d’un groupe"
+ 
+@@ -3280,22 +3292,22 @@ msgstr " ou qui fait parti d’un groupe"
+ #. use the full (unabbreviated) term 'Package' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:1320
++#: dnf/cli/output.py:1233
+ msgctxt "short"
+ msgid "Package"
+ msgstr "Paquet"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Package'.
+-#: dnf/cli/output.py:1322
++#: dnf/cli/output.py:1235
+ msgctxt "long"
+ msgid "Package"
+ msgstr "Paquet"
+ 
+-#: dnf/cli/output.py:1371
++#: dnf/cli/output.py:1284
+ msgid "replacing"
+ msgstr "remplacement"
+ 
+-#: dnf/cli/output.py:1378
++#: dnf/cli/output.py:1291
+ #, python-format
+ msgid ""
+ "\n"
+@@ -3307,289 +3319,273 @@ msgstr ""
+ "%s\n"
+ 
+ #. TODO: remove
+-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
++#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
+ msgid "Install"
+ msgstr "Installer"
+ 
+-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
++#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
+ msgid "Upgrade"
+ msgstr "Mettre à niveau"
+ 
+-#: dnf/cli/output.py:1388
++#: dnf/cli/output.py:1301
+ msgid "Remove"
+ msgstr "Supprimer"
+ 
+-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
++#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
+ msgid "Downgrade"
+ msgstr "Retrograder"
+ 
+-#: dnf/cli/output.py:1391
++#: dnf/cli/output.py:1304
+ msgid "Skip"
+ msgstr "Ignorer"
+ 
+-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
+ msgid "Package"
+ msgid_plural "Packages"
+ msgstr[0] "Paquet"
+ msgstr[1] "Paquets"
+ 
+-#: dnf/cli/output.py:1418
++#: dnf/cli/output.py:1331
+ msgid "Dependent package"
+ msgid_plural "Dependent packages"
+ msgstr[0] "Paquet dépendant"
+ msgstr[1] "Paquets dépendants"
+ 
+-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
+-msgid "Upgraded"
+-msgstr "Mis à niveau"
+-
+-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
+-msgid "Downgraded"
+-msgstr "Rétrogradé"
+-
+-#: dnf/cli/output.py:1503
+-msgid "Reinstalled"
+-msgstr "Réinstallé"
+-
+-#: dnf/cli/output.py:1504
+-msgid "Skipped"
+-msgstr "Ignoré"
+-
+-#: dnf/cli/output.py:1505
+-msgid "Removed"
+-msgstr "Supprimé"
+-
+-#: dnf/cli/output.py:1508
+-msgid "Failed"
+-msgstr "Échec"
+-
+-#: dnf/cli/output.py:1559
++#: dnf/cli/output.py:1439
+ msgid "Total"
+ msgstr "Total"
+ 
+-#: dnf/cli/output.py:1587
++#: dnf/cli/output.py:1467
+ msgid "<unset>"
+ msgstr "<unset>"
+ 
+-#: dnf/cli/output.py:1588
++#: dnf/cli/output.py:1468
+ msgid "System"
+ msgstr "Système"
+ 
+-#: dnf/cli/output.py:1638
++#: dnf/cli/output.py:1518
+ msgid "Command line"
+ msgstr "Ligne de commande"
+ 
+ #. TRANSLATORS: user names who executed transaction in history command output
+-#: dnf/cli/output.py:1649
++#: dnf/cli/output.py:1531
+ msgid "User name"
+ msgstr "Nom d’utilisateur"
+ 
+-#: dnf/cli/output.py:1651
++#: dnf/cli/output.py:1533
+ msgid "ID"
+ msgstr "ID"
+ 
+-#: dnf/cli/output.py:1653
++#: dnf/cli/output.py:1535
+ msgid "Date and time"
+ msgstr "Date et heure"
+ 
+-#: dnf/cli/output.py:1654
++#: dnf/cli/output.py:1536
+ msgid "Action(s)"
+ msgstr "Action(s)"
+ 
+-#: dnf/cli/output.py:1655
++#: dnf/cli/output.py:1537
+ msgid "Altered"
+ msgstr "Modifié"
+ 
+-#: dnf/cli/output.py:1698
++#: dnf/cli/output.py:1580
+ msgid "No transactions"
+ msgstr "Pas de transaction"
+ 
+-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
++#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
+ msgid "Failed history info"
+ msgstr "Infos sur l’historique des échecs"
+ 
+-#: dnf/cli/output.py:1714
++#: dnf/cli/output.py:1596
+ msgid "No transaction ID, or package, given"
+ msgstr "Pas de paquet ou d’identifiant de transaction fourni"
+ 
+-#: dnf/cli/output.py:1772
++#: dnf/cli/output.py:1654
+ msgid "Erased"
+ msgstr "Effacé"
+ 
+-#: dnf/cli/output.py:1774
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
++msgid "Downgraded"
++msgstr "Rétrogradé"
++
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
++msgid "Upgraded"
++msgstr "Mis à niveau"
++
++#: dnf/cli/output.py:1656
+ msgid "Not installed"
+ msgstr "Non installé"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Newer"
+ msgstr "Plus récent"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Older"
+ msgstr "Plus ancien"
+ 
+-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
++#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
+ msgid "Transaction ID :"
+ msgstr "Identifiant de transaction :"
+ 
+-#: dnf/cli/output.py:1828
++#: dnf/cli/output.py:1710
+ msgid "Begin time     :"
+ msgstr "Temps de début    :"
+ 
+-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
++#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
+ msgid "Begin rpmdb    :"
+ msgstr "Début de RPMDB    :"
+ 
+-#: dnf/cli/output.py:1839
++#: dnf/cli/output.py:1721
+ #, python-format
+ msgid "(%u seconds)"
+ msgstr "(%u secondes)"
+ 
+-#: dnf/cli/output.py:1841
++#: dnf/cli/output.py:1723
+ #, python-format
+ msgid "(%u minutes)"
+ msgstr "(%u minutes)"
+ 
+-#: dnf/cli/output.py:1843
++#: dnf/cli/output.py:1725
+ #, python-format
+ msgid "(%u hours)"
+ msgstr "(%u heures)"
+ 
+-#: dnf/cli/output.py:1845
++#: dnf/cli/output.py:1727
+ #, python-format
+ msgid "(%u days)"
+ msgstr "(%u jours)"
+ 
+-#: dnf/cli/output.py:1846
++#: dnf/cli/output.py:1728
+ msgid "End time       :"
+ msgstr "Temps de fin :"
+ 
+-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
++#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
+ msgid "End rpmdb      :"
+ msgstr "Fin de RPMDB :"
+ 
+-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
++#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
+ msgid "User           :"
+ msgstr "Utilisateur  :"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
+ msgid "Aborted"
+ msgstr "Avorté"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
+-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
++#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
+ msgid "Return-Code    :"
+ msgstr "Code de retour  :"
+ 
+-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
+ msgid "Success"
+ msgstr "Réussi"
+ 
+-#: dnf/cli/output.py:1869
++#: dnf/cli/output.py:1751
+ msgid "Failures:"
+ msgstr "Échecs :"
+ 
+-#: dnf/cli/output.py:1873
++#: dnf/cli/output.py:1755
+ msgid "Failure:"
+ msgstr "Échec :"
+ 
+-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
++#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
+ msgid "Releasever     :"
+-msgstr "Releasever     :"
++msgstr "Version      :"
+ 
+-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
++#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
+ msgid "Command Line   :"
+ msgstr "Ligne de commande :"
+ 
+-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
++#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
+ msgid "Comment        :"
+ msgstr "Commentaire :"
+ 
+-#: dnf/cli/output.py:1903
++#: dnf/cli/output.py:1785
+ msgid "Transaction performed with:"
+ msgstr "Transaction effectuée avec :"
+ 
+-#: dnf/cli/output.py:1912
++#: dnf/cli/output.py:1794
+ msgid "Packages Altered:"
+ msgstr "Paquets modifiés :"
+ 
+-#: dnf/cli/output.py:1918
++#: dnf/cli/output.py:1800
+ msgid "Scriptlet output:"
+ msgstr "Sortie du mini script :"
+ 
+-#: dnf/cli/output.py:1925
++#: dnf/cli/output.py:1807
+ msgid "Errors:"
+ msgstr "Erreurs :"
+ 
+-#: dnf/cli/output.py:1934
++#: dnf/cli/output.py:1816
+ msgid "Dep-Install"
+ msgstr "Installation des dépendances"
+ 
+-#: dnf/cli/output.py:1935
++#: dnf/cli/output.py:1817
+ msgid "Obsoleted"
+ msgstr "Rendu obsolète"
+ 
+-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
++#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
+ msgid "Obsoleting"
+ msgstr "Rend obsolète"
+ 
+-#: dnf/cli/output.py:1937
++#: dnf/cli/output.py:1819
+ msgid "Erase"
+ msgstr "Effacement"
+ 
+-#: dnf/cli/output.py:1938
++#: dnf/cli/output.py:1820
+ msgid "Reinstall"
+ msgstr "Réinstallation"
+ 
+-#: dnf/cli/output.py:2016
++#: dnf/cli/output.py:1894
+ #, python-format
+ msgid "---> Package %s.%s %s will be installed"
+ msgstr "---> Le paquet %s.%s %s sera installé"
+ 
+-#: dnf/cli/output.py:2018
++#: dnf/cli/output.py:1896
+ #, python-format
+ msgid "---> Package %s.%s %s will be an upgrade"
+ msgstr "---> Le paquet %s.%s %s sera une mise à jour"
+ 
+-#: dnf/cli/output.py:2020
++#: dnf/cli/output.py:1898
+ #, python-format
+ msgid "---> Package %s.%s %s will be erased"
+ msgstr "---> Le paquet %s.%s %s sera supprimé"
+ 
+-#: dnf/cli/output.py:2022
++#: dnf/cli/output.py:1900
+ #, python-format
+ msgid "---> Package %s.%s %s will be reinstalled"
+ msgstr "---> Le paquet %s.%s %s sera réinstallé"
+ 
+-#: dnf/cli/output.py:2024
++#: dnf/cli/output.py:1902
+ #, python-format
+ msgid "---> Package %s.%s %s will be a downgrade"
+ msgstr "---> Le paquet %s.%s %s sera une rétrogradation"
+ 
+-#: dnf/cli/output.py:2026
++#: dnf/cli/output.py:1904
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleting"
+ msgstr "---> Le paquet %s.%s %s sera rendu obsolète"
+ 
+-#: dnf/cli/output.py:2028
++#: dnf/cli/output.py:1906
+ #, python-format
+ msgid "---> Package %s.%s %s will be upgraded"
+ msgstr "---> Le paquet %s.%s %s sera mis à jour"
+ 
+-#: dnf/cli/output.py:2030
++#: dnf/cli/output.py:1908
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleted"
+ msgstr "---> Le paquet %s.%s %s sera rendu obsolète"
+ 
+-#: dnf/cli/output.py:2039
++#: dnf/cli/output.py:1917
+ msgid "--> Starting dependency resolution"
+ msgstr "--> Début de la résolution des dépendances"
+ 
+-#: dnf/cli/output.py:2044
++#: dnf/cli/output.py:1921
+ msgid "--> Finished dependency resolution"
+ msgstr "--> Résolution des dépendances terminée"
+ 
+-#: dnf/cli/output.py:2058 dnf/crypto.py:132
++#: dnf/cli/output.py:1935 dnf/crypto.py:132
+ #, python-format
+ msgid ""
+ "Importing GPG key 0x%s:\n"
+@@ -3630,8 +3626,8 @@ msgstr "Inconnu"
+ #, python-format
+ msgid "Unable to find information about the locking process (PID %d)"
+ msgstr ""
+-"Impossible de trouver des informations sur le processus de verrouillage (PID"
+-" %d)"
++"Impossible de trouver des informations sur le processus de verrouillage (PID "
++"%d)"
+ 
+ #: dnf/cli/utils.py:117
+ #, python-format
+@@ -3653,10 +3649,6 @@ msgstr "    A débuté  : %s - il y a %s"
+ msgid "    State  : %s"
+ msgstr "    État : %s"
+ 
+-#: dnf/comps.py:104
+-msgid "skipping."
+-msgstr "ignorer."
+-
+ #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
+ #, python-format
+ msgid "Module or Group '%s' is not installed."
+@@ -3677,7 +3669,7 @@ msgstr "Module ou Groupe « %s » n’existe pas."
+ msgid "Environment id '%s' does not exist."
+ msgstr "L’id d’environnement « %s » n’existe pas."
+ 
+-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
+ #, python-format
+ msgid "Environment id '%s' is not installed."
+ msgstr "L’id d’environnement « %s » n’est pas installé."
+@@ -3702,6 +3694,11 @@ msgstr "L’id de groupe « %s » n’existe pas."
+ msgid "Error parsing '%s': %s"
+ msgstr "Erreur lors l’analyse de « %s » : %s"
+ 
++#: dnf/conf/config.py:151
++#, python-format
++msgid "Invalid configuration value: %s=%s in %s; %s"
++msgstr "Valeur de configuration non valide : %s=%s dans %s ; %s"
++
+ #: dnf/conf/config.py:226
+ msgid "Could not set cachedir: {}"
+ msgstr "N’a pas pu définir cachedir : {}"
+@@ -3745,39 +3742,39 @@ msgstr ""
+ msgid "Repo %s did not have a %s attr. before setopt"
+ msgstr "Le dépôt « %s » n’avait pas d’attr. %s avant setopt"
+ 
+-#: dnf/conf/read.py:51
++#: dnf/conf/read.py:60
+ #, python-format
+ msgid "Warning: failed loading '%s', skipping."
+ msgstr "Attention : lecture de « %s » erronée ; ignorer."
+ 
+-#: dnf/conf/read.py:63
++#: dnf/conf/read.py:72
+ msgid "Bad id for repo: {} ({}), byte = {} {}"
+ msgstr "Id erroné pour le dépôt : {} ({}), byte = {} {}"
+ 
+-#: dnf/conf/read.py:67
++#: dnf/conf/read.py:76
+ msgid "Bad id for repo: {}, byte = {} {}"
+ msgstr "Id erroné pour le dépôt : {}, byte = {} {}"
+ 
+-#: dnf/conf/read.py:75
++#: dnf/conf/read.py:84
+ msgid "Repository '{}' ({}): Error parsing config: {}"
+ msgstr "Dépôt « {} » ({}) : erreur lors de l’analyse de la configuration : {}"
+ 
+-#: dnf/conf/read.py:78
++#: dnf/conf/read.py:87
+ msgid "Repository '{}': Error parsing config: {}"
+ msgstr "Dépôt « {} » : erreur lors de l’analyse de la configuration : {}"
+ 
+-#: dnf/conf/read.py:84
++#: dnf/conf/read.py:93
+ msgid "Repository '{}' ({}) is missing name in configuration, using id."
+ msgstr ""
+ "Il manque le nom du dépôt « {} » ({}) dans la configuration, utilisation de "
+ "l’id."
+ 
+-#: dnf/conf/read.py:87
++#: dnf/conf/read.py:96
+ msgid "Repository '{}' is missing name in configuration, using id."
+ msgstr ""
+ "Il manque le nom du dépôt « {} » dans la configuration, utilisation de l’id."
+ 
+-#: dnf/conf/read.py:104
++#: dnf/conf/read.py:113
+ msgid "Parsing file \"{}\" failed: {}"
+ msgstr "La lecture du fichier « {} » a échoué : {}"
+ 
+@@ -3791,7 +3788,20 @@ msgstr "dépôt %s : 0x%s déjà importé"
+ msgid "repo %s: imported key 0x%s."
+ msgstr "dépôt %s : clé importée 0x%s."
+ 
+-#: dnf/db/group.py:293
++#: dnf/crypto.py:145
++msgid "Verified using DNS record with DNSSEC signature."
++msgstr "Vérifié en utilisant un enregistrement DNS avec une signature DNSSEC."
++
++#: dnf/crypto.py:147
++msgid "NOT verified using DNS record."
++msgstr "NON vérifié avec un enregistrement DNS."
++
++#: dnf/crypto.py:184
++#, python-format
++msgid "retrieving repo key for %s unencrypted from %s"
++msgstr "récupération de la clé de dépôt pour %s déchiffrée à partir de %s"
++
++#: dnf/db/group.py:301
+ msgid ""
+ "No available modular metadata for modular package '{}', it cannot be "
+ "installed on the system"
+@@ -3799,21 +3809,21 @@ msgstr ""
+ "Aucune métadonnée de module disponible pour le paquet modulaire « {} », ne "
+ "peut pas être installé dans le système"
+ 
+-#: dnf/db/group.py:343
++#: dnf/db/group.py:351
+ msgid "No available modular metadata for modular package"
+ msgstr "Aucune métadonnée de module disponible pour le paquet modulaire"
+ 
+-#: dnf/db/group.py:377
++#: dnf/db/group.py:385
+ #, python-format
+ msgid "Will not install a source rpm package (%s)."
+ msgstr "Un paquet source rpm ne sera pas installé (%s)."
+ 
+ #: dnf/dnssec.py:168
+ msgid ""
+-"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
++"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
+ msgstr ""
+-"L’option de configuration « gpgkey_dns_verification » nécessite libunbound "
+-"({})"
++"L’option de configuration « gpgkey_dns_verification » nécessite python3-"
++"unbound({})"
+ 
+ #: dnf/dnssec.py:239
+ msgid "DNSSEC extension: Key for user "
+@@ -3835,7 +3845,7 @@ msgstr "extension DNSSEC : "
+ msgid "Testing already imported keys for their validity."
+ msgstr "Test de validité des clefs déjà importées."
+ 
+-#: dnf/drpm.py:62 dnf/repo.py:268
++#: dnf/drpm.py:62 dnf/repo.py:267
+ #, python-format
+ msgid "unsupported checksum type: %s"
+ msgstr "type de somme de contrôle non pris en charge : %s"
+@@ -3878,7 +3888,7 @@ msgid_plural "Modular dependency problems with Defaults:"
+ msgstr[0] "Problème de dépendance modulaire avec les valeurs par défaut :"
+ msgstr[1] "Problèmes de dépendance modulaire avec les valeurs par défaut :"
+ 
+-#: dnf/exceptions.py:131 dnf/module/module_base.py:686
++#: dnf/exceptions.py:131 dnf/module/module_base.py:854
+ msgid "Modular dependency problem:"
+ msgid_plural "Modular dependency problems:"
+ msgstr[0] "Problème de dépendance modulaire :"
+@@ -3888,10 +3898,12 @@ msgstr[1] "Problèmes de dépendance modulaire :"
+ #, python-format
+ msgid ""
+ "Malformed lock file found: %s.\n"
+-"Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf."
++"Ensure no other dnf/yum process is running and remove the lock file manually "
++"or run systemd-tmpfiles --remove dnf.conf."
+ msgstr ""
+ "Fichier verrou malformé trouvé : %s.\n"
+-"Assurez-vous qu’aucun autre processus {prog} n’est en cours d’exécution et supprimez le fichier verrou, ou exécutez systemd-tmpfiles --remove dnf.conf."
++"Assurez-vous qu’aucun autre processus {prog} n’est en cours d’exécution et "
++"supprimez le fichier verrou, ou exécutez systemd-tmpfiles --remove dnf.conf."
+ 
+ #: dnf/module/__init__.py:26
+ msgid "Enabling different stream for '{}'."
+@@ -3915,7 +3927,47 @@ msgstr "Modules activés : {}."
+ msgid "No profile specified for '{}', please specify profile."
+ msgstr "Aucun profil spécifié pour « {} », veuillez spécifier un profil."
+ 
+-#: dnf/module/module_base.py:33
++#: dnf/module/exceptions.py:27
++msgid "No such module: {}"
++msgstr "Aucun module de ce type : {}"
++
++#: dnf/module/exceptions.py:33
++msgid "No such stream: {}"
++msgstr "Aucun flux de ce type : {}"
++
++#: dnf/module/exceptions.py:39
++msgid "No enabled stream for module: {}"
++msgstr "Aucun flux activé pour le module : {}"
++
++#: dnf/module/exceptions.py:46
++msgid "Cannot enable more streams from module '{}' at the same time"
++msgstr "Ne peut pas activer plus de flux du module « {} » en même temps"
++
++#: dnf/module/exceptions.py:52
++msgid "Different stream enabled for module: {}"
++msgstr "Différent flux activé pour le module : {}"
++
++#: dnf/module/exceptions.py:58
++msgid "No such profile: {}"
++msgstr "Aucun profil de ce type : {}"
++
++#: dnf/module/exceptions.py:64
++msgid "Specified profile not installed for {}"
++msgstr "Le profil spécifié n'est pas installé pour {}"
++
++#: dnf/module/exceptions.py:70
++msgid "No stream specified for '{}', please specify stream"
++msgstr "Aucun flux spécifié pour « {} », veuillez spécifier un flux"
++
++#: dnf/module/exceptions.py:82
++msgid "No such profile: {}. No profiles available"
++msgstr "Aucun dépôt de ce type : {}. Aucun profile n’est disponible"
++
++#: dnf/module/exceptions.py:88
++msgid "No profile to remove for '{}'"
++msgstr "Aucun profil à retirer pour « {} »"
++
++#: dnf/module/module_base.py:35
+ msgid ""
+ "\n"
+ "\n"
+@@ -3925,7 +3977,7 @@ msgstr ""
+ "\n"
+ "Aide : [d]éfaut, [e]activé, [x]désactivé, [i]nstallé"
+ 
+-#: dnf/module/module_base.py:34
++#: dnf/module/module_base.py:36
+ msgid ""
+ "\n"
+ "\n"
+@@ -3935,93 +3987,112 @@ msgstr ""
+ "\n"
+ "Aide : [d]éfaut, [e]activé, [x]désactivé, [i]nstallé, [a]ctivé"
+ 
+-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
+-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
++#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
++#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
+ msgid "Ignoring unnecessary profile: '{}/{}'"
+ msgstr "Profil inutile ignoré : {}/{}"
+ 
+-#: dnf/module/module_base.py:84
++#: dnf/module/module_base.py:86
+ #, python-brace-format
+ msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
+ msgstr ""
+-"Toutes les correspondance pour le paramètre « {0} » dans le mode module « "
+-"{1}:{2} » ne sont pas actives"
++"Toutes les correspondances pour le paramètre « {0} » dans le mode module "
++"« {1}:{2} » ne sont pas actives"
+ 
+-#: dnf/module/module_base.py:92
++#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
+ #, python-brace-format
+ msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
+ msgstr ""
+ "L’installation du module « {0} » à partir du dépôt Fail-Safe {1} n’est pas "
+ "permise"
+ 
+-#: dnf/module/module_base.py:102
++#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
+ msgid ""
+ "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
+ msgstr ""
+ "Impossible de faire correspondre le profil pour l’argument {}. Profils "
+ "disponibles pour « {}:{} » : {}"
+ 
+-#: dnf/module/module_base.py:106
++#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
+ msgid "Unable to match profile for argument {}"
+ msgstr "Impossible de faire correspondre le profil pour l’argument {}"
+ 
+-#: dnf/module/module_base.py:118
++#: dnf/module/module_base.py:120
+ msgid "No default profiles for module {}:{}. Available profiles: {}"
+-msgstr ""
+-"Aucun profil par défaut pour le module {}:{}. Profils disponibles : {}"
++msgstr "Aucun profil par défaut pour le module {}:{}. Profils disponibles : {}"
+ 
+-#: dnf/module/module_base.py:122
++#: dnf/module/module_base.py:124
+ msgid "No profiles for module {}:{}"
+ msgstr "Aucun profil pour le module {} : {}"
+ 
+-#: dnf/module/module_base.py:129
++#: dnf/module/module_base.py:131
+ msgid "Default profile {} not available in module {}:{}"
+ msgstr "Le profil par défaut {} n’est pas disponible dans le module {} : {}"
+ 
+-#: dnf/module/module_base.py:142
++#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
+ msgid "Installing module from Fail-Safe repository is not allowed"
++msgstr "L’installation du module à partir du dépôt Fail-Safe n’est pas permise"
++
++#: dnf/module/module_base.py:196
++#, python-brace-format
++msgid "No active matches for argument '{0}' in module '{1}:{2}'"
++msgstr ""
++"Aucune correspondance active pour le paramètre « {0} » dans le module « {1}:"
++"{2} »"
++
++#: dnf/module/module_base.py:228
++#, python-brace-format
++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
+ msgstr ""
+-"L’installation du module à partir du dépôt Fail-Safe n’est pas permise"
++"Le profil installé « {0} » n’est pas disponible dans le module « {1} » flux "
++"« {2} »"
+ 
+-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
+-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
+-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
+-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
++#: dnf/module/module_base.py:267
++msgid "No packages available to distrosync for package name '{}'"
++msgstr "Aucun paquet distrosync disponible pour le nom de paquet « {} »"
++
++#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
++#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
++#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
++#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
+ msgid "Unable to resolve argument {}"
+ msgstr "Impossible de résoudre le paramètre {}"
+ 
+-#: dnf/module/module_base.py:160
+-msgid "No match for package {}"
+-msgstr "Aucune correspondance pour le paquet {}"
+-
+-#: dnf/module/module_base.py:204
++#: dnf/module/module_base.py:321
+ #, python-brace-format
+ msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
+ msgstr ""
+-"La mise à niveau du module « {0} » à partir du dépôt Fail-Safe {1} n’est pas"
+-" permise"
++"La mise à niveau du module « {0} » à partir du dépôt Fail-Safe {1} n’est pas "
++"permise"
+ 
+-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
++#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
+ msgid "Unable to match profile in argument {}"
+ msgstr "Impossible de faire correspondre le profil dans l’argument {}"
+ 
+-#: dnf/module/module_base.py:231
++#: dnf/module/module_base.py:348
+ msgid "Upgrading module from Fail-Safe repository is not allowed"
+ msgstr ""
+ "La mise à niveau du module à partir du dépôt Fail-Safe n’est pas permise"
+ 
+-#: dnf/module/module_base.py:367
++#: dnf/module/module_base.py:422
++#, python-brace-format
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'{}'"
++"Argument '{argument}' matches {stream_count} streams ('{streams}') of module "
++"'{module}', but none of the streams are enabled or default"
++msgstr ""
++"L'argument « {argument} » correspond à {stream_count} flux (« {streams} ») "
++"du module « {module} », mais aucun des flux n'est activé ou par défaut"
++
++#: dnf/module/module_base.py:509
++msgid ""
++"Only module name is required. Ignoring unneeded information in argument: '{}'"
+ msgstr ""
+ "Seul le nom du module est nécessaire. Les paramètres inutiles ont été "
+ "ignorés : « {} »"
+ 
+-#: dnf/package.py:298
+-#, python-format
+-msgid "%s: %s check failed: %s vs %s"
+-msgstr "%s : %s vérification a échoué : %s vs %s"
++#: dnf/module/module_base.py:841
++msgid "No match for package {}"
++msgstr "Aucune correspondance pour le paquet {}"
+ 
+ #. empty file is invalid json format
+ #: dnf/persistor.py:54
+@@ -4032,12 +4103,12 @@ msgstr "%s est un fichier vide"
+ #: dnf/persistor.py:91
+ #, python-format
+ msgid "Failed to load expired repos cache: %s"
+-msgstr ""
++msgstr "Échec du chargement du cache des dépôts expirés : %s"
+ 
+ #: dnf/persistor.py:99
+ #, python-format
+ msgid "Failed to store expired repos cache: %s"
+-msgstr ""
++msgstr "Échec du stockage du cache des dépôts expirés : %s"
+ 
+ #: dnf/persistor.py:106
+ msgid "Failed storing last makecache time."
+@@ -4057,21 +4128,21 @@ msgstr "La lecture du fichier a échoué : %s"
+ msgid "Loaded plugins: %s"
+ msgstr "Plugins chargés : %s"
+ 
+-#: dnf/plugin.py:199
++#: dnf/plugin.py:211
+ #, python-format
+ msgid "Failed loading plugin \"%s\": %s"
+ msgstr "Échec lors du chargement du module « %s » : %s"
+ 
+-#: dnf/plugin.py:231
++#: dnf/plugin.py:243
+ msgid "No matches found for the following enable plugin patterns: {}"
+ msgstr ""
+ "Aucun élément correspondant aux modèles de plugin d’activation suivants : {}"
+ 
+-#: dnf/plugin.py:235
++#: dnf/plugin.py:247
+ msgid "No matches found for the following disable plugin patterns: {}"
+ msgstr ""
+-"Aucun élément correspondant aux modèles de plugin de désactivation suivants "
+-": {}"
++"Aucun élément correspondant aux modèles de plugin de désactivation "
++"suivants : {}"
+ 
+ #: dnf/repo.py:84
+ #, python-format
+@@ -4083,7 +4154,7 @@ msgid "Already downloaded"
+ msgstr "Déjà téléchargé"
+ 
+ #. pinging mirrors, this might take a while
+-#: dnf/repo.py:347
++#: dnf/repo.py:346
+ #, python-format
+ msgid "determining the fastest mirror (%s hosts).. "
+ msgstr "détermination du miroir le plus rapide (%s hôtes).. "
+@@ -4098,10 +4169,29 @@ msgstr "activation du dépôt %s"
+ msgid "Added %s repo from %s"
+ msgstr "Ajout du dépôt %s depuis le %s"
+ 
++#: dnf/rpm/miscutils.py:32
++#, python-format
++msgid "Using rpmkeys executable at %s to verify signatures"
++msgstr ""
++"Utilisation de l'exécutable rpmkeys dans %s pour vérifier les signatures"
++
++#: dnf/rpm/miscutils.py:66
++msgid "Cannot find rpmkeys executable to verify signatures."
++msgstr ""
++"Impossible de trouver l’exécutable rpmkeys pour vérifier les signatures."
++
+ #: dnf/rpm/transaction.py:119
+ msgid "Errors occurred during test transaction."
+ msgstr "Des erreurs sont survenues lors de la transaction de test."
+ 
++#: dnf/sack.py:47
++msgid ""
++"allow_vendor_change is disabled. This option is currently not supported for "
++"downgrade and distro-sync commands"
++msgstr ""
++"allow_vendor_change est désactivé. Cette option n’est actuellement pas prise "
++"en charge pour les commandes downgrade et distro-sync"
++
+ #. TRANSLATORS: This is for a single package currently being downgraded.
+ #: dnf/transaction.py:80
+ msgctxt "currently"
+@@ -4148,177 +4238,252 @@ msgstr "Exécution du scriptlet"
+ msgid "Preparing"
+ msgstr "Préparation"
+ 
+-#: dnf/transaction_sr.py:60
++#: dnf/transaction_sr.py:66
+ #, python-brace-format
+-msgid "Errors in \"{filename}\":"
+-msgstr "Erreurs dans « {filename} » :"
++msgid ""
++"The following problems occurred while replaying the transaction from file "
++"\"{filename}\":"
++msgstr ""
++"Les problèmes suivants sont survenus lors de la relecture de la transaction "
++"à partir du fichier « {filename} » :"
+ 
+-#: dnf/transaction_sr.py:70
+-#, python-brace-format
+-msgid "Error in \"{filename}\": {error}"
+-msgstr "Erreur dans « {filename} » : {error}"
++#: dnf/transaction_sr.py:68
++msgid "The following problems occurred while running a transaction:"
++msgstr ""
++"Les problèmes suivants sont survenus lors de l'exécution d'une transaction :"
+ 
+-#: dnf/transaction_sr.py:87
++#: dnf/transaction_sr.py:89
+ #, python-brace-format
+ msgid "Invalid major version \"{major}\", number expected."
+ msgstr "Version majeur invalide « {major} », numéro attendu."
+ 
+-#: dnf/transaction_sr.py:95
++#: dnf/transaction_sr.py:97
+ #, python-brace-format
+ msgid "Invalid minor version \"{minor}\", number expected."
+ msgstr "Version mineure invalide « {minor} », numéro attendu."
+ 
+-#: dnf/transaction_sr.py:101
++#: dnf/transaction_sr.py:103
+ #, python-brace-format
+ msgid ""
+ "Incompatible major version \"{major}\", supported major version is "
+ "\"{major_supp}\"."
+ msgstr ""
+-"Version majeure incompatible « {major} », la version majeure prise en charge"
+-" est « {major_supp} »."
++"Version majeure incompatible « {major} », la version majeure prise en charge "
++"est « {major_supp} »."
+ 
+-#: dnf/transaction_sr.py:244
++#: dnf/transaction_sr.py:224
++msgid ""
++"Conflicting TransactionReplay arguments have been specified: filename, data"
++msgstr ""
++"Des arguments contradictoires de TransactionReplay ont été spécifiés : nom "
++"de fichier, données"
++
++#: dnf/transaction_sr.py:265
+ #, python-brace-format
+ msgid "Unexpected type of \"{id}\", {exp} expected."
+ msgstr "Type de « {id} » inattendu, {exp} attendu."
+ 
+-#: dnf/transaction_sr.py:250
++#: dnf/transaction_sr.py:271
+ #, python-brace-format
+ msgid "Missing key \"{key}\"."
+ msgstr "Clé « {key} » manquante."
+ 
+-#: dnf/transaction_sr.py:263
++#: dnf/transaction_sr.py:285
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an rpm."
+ msgstr "Clé objet « {key} » manquante dans un rpm."
+ 
+-#: dnf/transaction_sr.py:267
++#: dnf/transaction_sr.py:289
+ #, python-brace-format
+-msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
++msgid ""
++"Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
++"Valeur inattendue pour le paquet de raison « {reason} » pour le rpm nevra "
++"« {nevra} »."
+ 
+-#: dnf/transaction_sr.py:275
++#: dnf/transaction_sr.py:297
+ #, python-brace-format
+ msgid "Cannot parse NEVRA for package \"{nevra}\"."
+-msgstr ""
++msgstr "Impossible d’analyser NEVRA pour le paquet « {nevra} »."
+ 
+-#: dnf/transaction_sr.py:286
++#: dnf/transaction_sr.py:321
+ #, python-brace-format
+ msgid "Cannot find rpm nevra \"{nevra}\"."
+-msgstr ""
++msgstr "Impossible de trouver le rpm nevra « {nevra} »."
+ 
+-#: dnf/transaction_sr.py:301
+-#, fuzzy, python-brace-format
+-#| msgid "Package %s is already installed."
++#: dnf/transaction_sr.py:336
++#, python-brace-format
+ msgid "Package \"{na}\" is already installed for action \"{action}\"."
+-msgstr "Le paquet %s est déjà installé."
++msgstr "Le paquet « {na} » est déjà installé pour l’action « {action} »."
+ 
+-#: dnf/transaction_sr.py:311
++#: dnf/transaction_sr.py:345
+ #, python-brace-format
+ msgid ""
+ "Package nevra \"{nevra}\" not available in repositories for action "
+ "\"{action}\"."
+ msgstr ""
++"Le paquet nevra « {nevra} » n’est pas disponible dans les dépôts pour "
++"l’action « {action} »."
+ 
+-#: dnf/transaction_sr.py:322
++#: dnf/transaction_sr.py:356
+ #, python-brace-format
+ msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
+ msgstr ""
++"Le paquet nevra « {nevra} » n’est pas installé pour l’action « {action} »."
+ 
+-#: dnf/transaction_sr.py:336
++#: dnf/transaction_sr.py:370
+ #, python-brace-format
+-msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
++msgid ""
++"Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
++"Valeur inattendue pour l’action de paquet « {action} » pour le rpm nevra "
++"« {nevra} »."
+ 
+-#: dnf/transaction_sr.py:343
+-#, fuzzy, python-format
+-#| msgid "Module or Group '%s' is not available."
++#: dnf/transaction_sr.py:377
++#, python-format
+ msgid "Group id '%s' is not available."
+-msgstr "Module ou Groupe « %s » non disponible."
++msgstr "ID de groupe « %s » non disponible."
+ 
+-#: dnf/transaction_sr.py:364
++#: dnf/transaction_sr.py:398
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in groups.packages."
+-msgstr ""
++msgstr "Clé d’objet « {key} » manquante dans groups.packages."
+ 
+-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
+-#, fuzzy, python-format
+-#| msgid "Module or Group '%s' is not installed."
++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
++#, python-format
+ msgid "Group id '%s' is not installed."
+-msgstr "Module ou Groupe « %s » non installé."
++msgstr "ID de groupe « %s » non installé."
+ 
+-#: dnf/transaction_sr.py:398
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not available."
++#: dnf/transaction_sr.py:432
++#, python-format
+ msgid "Environment id '%s' is not available."
+-msgstr "L’environnement « %s » n’est pas disponible."
++msgstr "ID d’environnement « %s » non disponible."
+ 
+-#: dnf/transaction_sr.py:422
++#: dnf/transaction_sr.py:456
+ #, python-brace-format
+ msgid ""
+ "Invalid value \"{group_type}\" of environments.groups.group_type, only "
+ "\"mandatory\" or \"optional\" is supported."
+ msgstr ""
++"Valeur invalide « {group_type} » pour environments.groups.group_type, seuls "
++"« mandatory » ou « optional » sont pris en charge."
+ 
+-#: dnf/transaction_sr.py:430
++#: dnf/transaction_sr.py:464
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in environments.groups."
+-msgstr ""
++msgstr "Clé d’objet « {key} » manquante dans environments.groups."
+ 
+-#: dnf/transaction_sr.py:508
++#: dnf/transaction_sr.py:542
+ #, python-brace-format
+ msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
+ msgstr ""
++"Valeur inattendue pour l’action de groupe « {action} » pour le groupe "
++"« {group} »."
+ 
+-#: dnf/transaction_sr.py:513
++#: dnf/transaction_sr.py:547
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in a group."
+-msgstr ""
++msgstr "Clé d’objet « {key} » manquante dans un groupe."
+ 
+-#: dnf/transaction_sr.py:537
++#: dnf/transaction_sr.py:571
+ #, python-brace-format
+-msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
++msgid ""
++"Unexpected value of environment action \"{action}\" for environment "
++"\"{env}\"."
+ msgstr ""
++"Valeur inattendue pour l’action d’environnement « {action} » pour "
++"l’environnement « {env} »."
+ 
+-#: dnf/transaction_sr.py:542
++#: dnf/transaction_sr.py:576
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an environment."
+-msgstr ""
++msgstr "Clé d’objet « {key} » manquante dans un environnement."
+ 
+-#: dnf/transaction_sr.py:581
++#: dnf/transaction_sr.py:615
+ #, python-brace-format
+ msgid ""
+-"Package nevra \"{nevra}\", which is not present in the transaction file, was"
+-" pulled into the transaction."
++"Package nevra \"{nevra}\", which is not present in the transaction file, was "
++"pulled into the transaction."
+ msgstr ""
++"Le paquet nevra « {nevra} », qui n’est pas présent dans le fichier de "
++"transaction, a été retiré de la transaction."
+ 
+-#: dnf/util.py:391 dnf/util.py:393
++#: dnf/util.py:419 dnf/util.py:421
+ msgid "Problem"
+ msgstr "Problème"
+ 
+-#: dnf/util.py:444
++#: dnf/util.py:472
+ msgid "TransactionItem not found for key: {}"
+ msgstr "TransactionItem n’a pas été trouvé pour la clef : {}"
+ 
+-#: dnf/util.py:454
++#: dnf/util.py:482
+ msgid "TransactionSWDBItem not found for key: {}"
+ msgstr "TransactionSWDBItem n’a pas été trouvé pour la clef : {}"
+ 
+-#: dnf/util.py:457
++#: dnf/util.py:485
+ msgid "Errors occurred during transaction."
+ msgstr "Des erreurs sont survenues lors de la transaction."
+ 
++#: dnf/util.py:621
++msgid "Reinstalled"
++msgstr "Réinstallé"
++
++#: dnf/util.py:622
++msgid "Skipped"
++msgstr "Ignoré"
++
++#: dnf/util.py:623
++msgid "Removed"
++msgstr "Supprimé"
++
++#: dnf/util.py:626
++msgid "Failed"
++msgstr "Échec"
++
++#~ msgid "skipping."
++#~ msgstr "ignorer."
++
++#~ msgid ""
++#~ "Using rpmkeys executable from {path} to verify signature for package: "
++#~ "{package}."
++#~ msgstr ""
++#~ "Utilisation de l'exécutable rpmkeys de {path} pour vérifier la signature "
++#~ "du package : {package}."
++
++#~ msgid "%s: %s check failed: %s vs %s"
++#~ msgstr "%s : %s vérification a échoué : %s vs %s"
++
++#~ msgid "Action not handled: {}"
++#~ msgstr "Action non gérée : {}"
++
++#~ msgid "no package matched"
++#~ msgstr "aucun paquet correspondant"
++
++#~ msgid "Not found given transaction ID"
++#~ msgstr "L’identifiant de transaction fourni est introuvable"
++
++#~ msgid "Undoing transaction {}, from {}"
++#~ msgstr "Révocation de lla transaction {}, de {}"
++
++#~ msgid "Errors in \"{filename}\":"
++#~ msgstr "Erreurs dans « {filename} » :"
++
++#~ msgid "Error in \"{filename}\": {error}"
++#~ msgstr "Erreur dans « {filename} » : {error}"
++
+ #~ msgid "format for displaying found packages"
+ #~ msgstr "format d’affichage des paquets trouvés"
+ 
+ #~ msgid "Available query-tags: use --queryformat \".. %{tag} ..\""
+-#~ msgstr "Balises de requêtes disponibles : utiliser --queryformat \"..%{tag}..\""
++#~ msgstr ""
++#~ "Balises de requêtes disponibles : utiliser --queryformat \"..%{tag}..\""
+ 
+ #~ msgid "Bad transaction IDs, or package(s), given"
+ #~ msgstr "Des paquets ou identifiants de transaction fournis sont erronés"
+ 
+ #~ msgid ""
+-#~ "Display capabilities that the package depends on for running a %%pre script."
++#~ "Display capabilities that the package depends on for running a %%pre "
++#~ "script."
+ #~ msgstr ""
+ #~ "Affiche les fonctionnalités dont le paquet dépend pour le lancement d’un "
+ #~ "script %%pre."
+diff --git a/po/ja.po b/po/ja.po
+index 6435271c..05bbda02 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -14,7 +14,7 @@
+ # Hajime Taira <htaira@fedoraproject.org>, 2017. #zanata
+ # Ooyama Yosiyuki <qqke6wd9k@apricot.ocn.ne.jp>, 2017. #zanata
+ # Casey Jones <nahareport@live.com>, 2018. #zanata
+-# Ludek Janda <ljanda@redhat.com>, 2018. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
+ # Noriko Mizumoto <noriko.mizumoto@gmail.com>, 2018. #zanata
+ # Ooyama Yosiyuki <qqke6wd9k@apricot.ocn.ne.jp>, 2018. #zanata
+ # Hajime Taira <htaira@fedoraproject.org>, 2019. #zanata
+@@ -22,20 +22,23 @@
+ # Julien Humbert <julroy67@gmail.com>, 2020.
+ # Casey Jones <nahareport@yahoo.com>, 2020.
+ # Hajime Taira <htaira@pantora.net>, 2020.
++# Sundeep Anand <suanand@redhat.com>, 2021.
++# Transtats <suanand@redhat.com>, 2022.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2020-10-05 09:18-0400\n"
+-"PO-Revision-Date: 2020-07-27 05:29+0000\n"
+-"Last-Translator: Hajime Taira <htaira@pantora.net>\n"
+-"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/dnf-master/ja/>\n"
++"POT-Creation-Date: 2022-02-28 11:24+0100\n"
++"PO-Revision-Date: 2022-03-09 12:39+0000\n"
++"Last-Translator: Transtats <suanand@redhat.com>\n"
++"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/"
++"dnf-rhel-8/ja/>\n"
+ "Language: ja\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+-"X-Generator: Weblate 4.1.1\n"
++"X-Generator: Weblate 4.11.2\n"
+ 
+ #: dnf/automatic/emitter.py:32
+ #, python-format
+@@ -45,7 +48,7 @@ msgstr "'%s' に以下の更新が適用されました:"
+ #: dnf/automatic/emitter.py:33
+ #, python-format
+ msgid "Updates completed at %s"
+-msgstr "'%s' に更新が適用されました。"
++msgstr "'%s' に更新が適用されました"
+ 
+ #: dnf/automatic/emitter.py:34
+ #, python-format
+@@ -82,7 +85,7 @@ msgstr "'%s' を使用した電子メールの送信に失敗しました: %s"
+ msgid "Failed to execute command '%s': returned %d"
+ msgstr "コマンド '%s' の実行に失敗しました: %d を返しました"
+ 
+-#: dnf/automatic/main.py:164 dnf/conf/config.py:151
++#: dnf/automatic/main.py:164
+ #, python-format
+ msgid "Unknown configuration value: %s=%s in %s; %s"
+ msgstr "不明な設定値: %s=%s in %s; %s"
+@@ -92,7 +95,7 @@ msgstr "不明な設定値: %s=%s in %s; %s"
+ msgid "Unknown configuration option: %s = %s in %s"
+ msgstr "不明な設定オプション: %s = %s in %s"
+ 
+-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
++#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
+ msgid "GPG check FAILED"
+ msgstr "GPG の確認に失敗しました"
+ 
+@@ -105,9 +108,9 @@ msgid "Started dnf-automatic."
+ msgstr "dnf-automatic を開始しました。"
+ 
+ #: dnf/automatic/main.py:308
+-#, python-format
+-msgid "Sleep for %s seconds"
+-msgstr "%s 秒スリープします"
++msgid "Sleep for {} second"
++msgid_plural "Sleep for {} seconds"
++msgstr[0] "{} 秒スリープします"
+ 
+ #: dnf/automatic/main.py:315
+ msgid "System is off-line."
+@@ -119,439 +122,455 @@ msgstr "システムはオフラインです。"
+ msgid "Error: %s"
+ msgstr "エラー: %s"
+ 
+-#: dnf/base.py:146
++#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
+ msgid "loading repo '{}' failure: {}"
+ msgstr "repo '{}' のロードに失敗しました: {}"
+ 
+-#: dnf/base.py:148
++#: dnf/base.py:150
+ msgid "Loading repository '{}' has failed"
+ msgstr "repository '{}' のロードに失敗しました"
+ 
+-#: dnf/base.py:320
++#: dnf/base.py:327
+ msgid "Metadata timer caching disabled when running on metered connection."
+-msgstr "metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。"
++msgstr ""
++"metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。"
+ 
+-#: dnf/base.py:325
++#: dnf/base.py:332
+ msgid "Metadata timer caching disabled when running on a battery."
+-msgstr "バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。"
++msgstr ""
++"バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。"
+ 
+-#: dnf/base.py:330
++#: dnf/base.py:337
+ msgid "Metadata timer caching disabled."
+ msgstr "メタデータタイマーキャッシュは無効化されました。"
+ 
+-#: dnf/base.py:335
++#: dnf/base.py:342
+ msgid "Metadata cache refreshed recently."
+ msgstr "メタデータキャッシュは最近、リフレッシュされました。"
+ 
+-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
++#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
+ msgid "There are no enabled repositories in \"{}\"."
+ msgstr "\"{}\" には有効化されたリポジトリーがありません。"
+ 
+-#: dnf/base.py:348
++#: dnf/base.py:355
+ #, python-format
+ msgid "%s: will never be expired and will not be refreshed."
+ msgstr "%s: は期限切れになることはなく、リフレッシュされることもありません。"
+ 
+-#: dnf/base.py:350
++#: dnf/base.py:357
+ #, python-format
+ msgid "%s: has expired and will be refreshed."
+ msgstr "%s: は期限切れとなったのでリフレッシュされます。"
+ 
+ #. expires within the checking period:
+-#: dnf/base.py:354
++#: dnf/base.py:361
+ #, python-format
+ msgid "%s: metadata will expire after %d seconds and will be refreshed now"
+ msgstr "%s: メタデータは %d 秒後に期限切れとなり、すぐにリフレッシュされます"
+ 
+-#: dnf/base.py:358
++#: dnf/base.py:365
+ #, python-format
+ msgid "%s: will expire after %d seconds."
+ msgstr "%s: は %d 秒後に期限切れとなります。"
+ 
+ #. performs the md sync
+-#: dnf/base.py:364
++#: dnf/base.py:371
+ msgid "Metadata cache created."
+ msgstr "メタデータキャッシュを作成しました。"
+ 
+-#: dnf/base.py:397
++#: dnf/base.py:404 dnf/base.py:471
+ #, python-format
+ msgid "%s: using metadata from %s."
+-msgstr "%s: は %s から取得したメタデータを使用中"
++msgstr "%s: は %s から取得したメタデータを使用中。"
+ 
+-#: dnf/base.py:409
++#: dnf/base.py:416 dnf/base.py:484
+ #, python-format
+ msgid "Ignoring repositories: %s"
+ msgstr "リポジトリーを無視します: %s"
+ 
+-#: dnf/base.py:412
++#: dnf/base.py:419
+ #, python-format
+ msgid "Last metadata expiration check: %s ago on %s."
+ msgstr "メタデータの期限切れの最終確認: %s 時間前の %s に実施しました。"
+ 
+-#: dnf/base.py:443
++#: dnf/base.py:512
+ msgid ""
+ "The downloaded packages were saved in cache until the next successful "
+ "transaction."
+-msgstr "ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。"
++msgstr ""
++"ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保"
++"存されました。"
+ 
+-#: dnf/base.py:445
++#: dnf/base.py:514
+ #, python-format
+ msgid "You can remove cached packages by executing '%s'."
+ msgstr "'%s' を実行することでキャッシュパッケージを削除できます。"
+ 
+-#: dnf/base.py:535
++#: dnf/base.py:606
+ #, python-format
+ msgid "Invalid tsflag in config file: %s"
+ msgstr "設定ファイルの tsflag が無効です: %s"
+ 
+-#: dnf/base.py:591
++#: dnf/base.py:662
+ #, python-format
+ msgid "Failed to add groups file for repository: %s - %s"
+ msgstr "リポジトリーのグループファイルを追加できませんでした: %s - %s"
+ 
+-#: dnf/base.py:823
++#: dnf/base.py:904
+ msgid "Running transaction check"
+ msgstr "トランザクションの確認を実行中"
+ 
+-#: dnf/base.py:831
++#: dnf/base.py:912
+ msgid "Error: transaction check vs depsolve:"
+ msgstr "エラー: トランザクションの確認 vs depsolve:"
+ 
+-#: dnf/base.py:837
++#: dnf/base.py:918
+ msgid "Transaction check succeeded."
+ msgstr "トランザクションの確認に成功しました。"
+ 
+-#: dnf/base.py:840
++#: dnf/base.py:921
+ msgid "Running transaction test"
+ msgstr "トランザクションのテストを実行中"
+ 
+-#: dnf/base.py:850 dnf/base.py:992
++#: dnf/base.py:931 dnf/base.py:1082
+ msgid "RPM: {}"
+ msgstr "RPM: {}"
+ 
+-#: dnf/base.py:851
++#: dnf/base.py:932
+ msgid "Transaction test error:"
+ msgstr "トランザクションテストエラー:"
+ 
+-#: dnf/base.py:862
++#: dnf/base.py:943
+ msgid "Transaction test succeeded."
+ msgstr "トランザクションのテストに成功しました。"
+ 
+-#: dnf/base.py:883
++#: dnf/base.py:964
+ msgid "Running transaction"
+ msgstr "トランザクションを実行中"
+ 
+-#: dnf/base.py:911
++#: dnf/base.py:1001
+ msgid "Disk Requirements:"
+-msgstr "ディスク要件"
++msgstr "ディスク要件:"
+ 
+-#: dnf/base.py:914
++#: dnf/base.py:1004
+ #, python-brace-format
+ msgid "At least {0}MB more space needed on the {1} filesystem."
+ msgid_plural "At least {0}MB more space needed on the {1} filesystem."
+ msgstr[0] "{1} ファイルシステムに最低 {0}MB の追加スペースが必要です。"
+ 
+-#: dnf/base.py:921
++#: dnf/base.py:1011
+ msgid "Error Summary"
+ msgstr "エラーの概要"
+ 
+-#: dnf/base.py:947
++#: dnf/base.py:1037
+ #, python-brace-format
+ msgid "RPMDB altered outside of {prog}."
+ msgstr "RPMDBは {prog} のサポート外に変更されました。"
+ 
+-#: dnf/base.py:993 dnf/base.py:1001
++#: dnf/base.py:1083 dnf/base.py:1091
+ msgid "Could not run transaction."
+ msgstr "トランザクションを実行できませんでした。"
+ 
+-#: dnf/base.py:996
++#: dnf/base.py:1086
+ msgid "Transaction couldn't start:"
+ msgstr "トランザクションを開始できませんでした:"
+ 
+-#: dnf/base.py:1010
++#: dnf/base.py:1100
+ #, python-format
+ msgid "Failed to remove transaction file %s"
+ msgstr "トランザクションファイル %s の削除に失敗しました"
+ 
+-#: dnf/base.py:1092
++#: dnf/base.py:1182
+ msgid "Some packages were not downloaded. Retrying."
+ msgstr "一部のパッケージはダウンロードされませんでした。再試行中です。"
+ 
+-#: dnf/base.py:1122
++#: dnf/base.py:1212
+ #, python-format
+ msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
+-msgstr "Delta RPM により %.1f MB の更新を %.1f MB に削減できました。(%d.1%% がキャッシュされていました)"
++msgstr ""
++"Delta RPM により %.1f MB の更新を %.1f MB に削減できました。(%d.1%% がキャッ"
++"シュされていました)"
+ 
+-#: dnf/base.py:1125
++#: dnf/base.py:1215
+ #, python-format
+ msgid ""
+ "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
+-msgstr "非効率な Delta RPM により %.1f MB の更新が増加し、%.1f MB となりました。(%d.1%% が無駄になりました)"
++msgstr ""
++"非効率な Delta RPM により %.1f MB の更新が増加し、%.1f MB となりました。"
++"(%d.1%% が無駄になりました)"
+ 
+-#: dnf/base.py:1167
++#: dnf/base.py:1257
+ msgid "Cannot add local packages, because transaction job already exists"
+-msgstr "ローカルパッケージを追加できません、トランザクションジョブがすでに存在するためです"
++msgstr ""
++"ローカルパッケージを追加できません、トランザクションジョブがすでに存在するた"
++"めです"
+ 
+-#: dnf/base.py:1181
++#: dnf/base.py:1271
+ msgid "Could not open: {}"
+ msgstr "開くことができませんでした: {}"
+ 
+-#: dnf/base.py:1219
++#: dnf/base.py:1309
+ #, python-format
+ msgid "Public key for %s is not installed"
+ msgstr "%s の公開鍵がインストールされていません"
+ 
+-#: dnf/base.py:1223
++#: dnf/base.py:1313
+ #, python-format
+ msgid "Problem opening package %s"
+ msgstr "パッケージ %s を開くことができません"
+ 
+-#: dnf/base.py:1231
++#: dnf/base.py:1321
+ #, python-format
+ msgid "Public key for %s is not trusted"
+ msgstr "%s の公開鍵は信頼されていません"
+ 
+-#: dnf/base.py:1235
++#: dnf/base.py:1325
+ #, python-format
+ msgid "Package %s is not signed"
+ msgstr "パッケージ %s は署名されていません"
+ 
+-#: dnf/base.py:1265
++#: dnf/base.py:1355
+ #, python-format
+ msgid "Cannot remove %s"
+ msgstr "%s を削除できません"
+ 
+-#: dnf/base.py:1269
++#: dnf/base.py:1359
+ #, python-format
+ msgid "%s removed"
+ msgstr "%s を削除しました"
+ 
+-#: dnf/base.py:1549
++#: dnf/base.py:1639
+ msgid "No match for group package \"{}\""
+-msgstr "グループパッケージ  \"{}\" に一致するものはありません"
++msgstr "グループパッケージ \"{}\" に一致するものはありません"
+ 
+-#: dnf/base.py:1635
++#: dnf/base.py:1721
+ #, python-format
+ msgid "Adding packages from group '%s': %s"
+ msgstr "グループ '%s' からのパッケージを追加します: %s"
+ 
+-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
+-#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
+-#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
++#: dnf/base.py:1744 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
++#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
++#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
+ #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
+ msgid "Nothing to do."
+ msgstr "行うべきことはありません。"
+ 
+-#: dnf/base.py:1676
++#: dnf/base.py:1762
+ msgid "No groups marked for removal."
+ msgstr "削除対象のパッケージはありません。"
+ 
+-#: dnf/base.py:1710
++#: dnf/base.py:1796
+ msgid "No group marked for upgrade."
+ msgstr "アップグレード対象のグループはありません。"
+ 
+-#: dnf/base.py:1925
++#: dnf/base.py:2010
+ #, python-format
+ msgid "Package %s not installed, cannot downgrade it."
+-msgstr "パッケージ %s はインストールされていないので、ダウングレードできません。"
++msgstr ""
++"パッケージ %s はインストールされていないので、ダウングレードできません。"
+ 
+-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
+-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
+-#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
+-#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
+-#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
++#: dnf/base.py:2012 dnf/base.py:2031 dnf/base.py:2044 dnf/base.py:2071
++#: dnf/base.py:2124 dnf/base.py:2132 dnf/base.py:2266 dnf/cli/cli.py:417
++#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
++#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
++#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
+ #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
+-#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
++#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
+ #, python-format
+ msgid "No match for argument: %s"
+ msgstr "一致した引数がありません: %s"
+ 
+-#: dnf/base.py:1934
++#: dnf/base.py:2019
+ #, python-format
+ msgid "Package %s of lower version already installed, cannot downgrade it."
+-msgstr "下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。"
++msgstr ""
++"下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできま"
++"せん。"
+ 
+-#: dnf/base.py:1957
++#: dnf/base.py:2042
+ #, python-format
+ msgid "Package %s not installed, cannot reinstall it."
+-msgstr "パッケージ %s はインストールされていないのでの、再インストールできません。"
++msgstr ""
++"パッケージ %s はインストールされていないのでの、再インストールできません。"
+ 
+-#: dnf/base.py:1972
++#: dnf/base.py:2057
+ #, python-format
+ msgid "File %s is a source package and cannot be updated, ignoring."
+ msgstr "ファイル %s はソースパッケージで更新できません。無視します。"
+ 
+-#: dnf/base.py:1978
++#: dnf/base.py:2068
+ #, python-format
+ msgid "Package %s not installed, cannot update it."
+ msgstr "パッケージ %s はインストールされていないので、更新できません。"
+ 
+-#: dnf/base.py:1987
++#: dnf/base.py:2078
+ #, python-format
+ msgid ""
+ "The same or higher version of %s is already installed, cannot update it."
+-msgstr "同じまたはさらに新しいバージョンの %s が既にインストールされています、アップデートできません。"
++msgstr ""
++"同じまたはさらに新しいバージョンの %s が既にインストールされています、アップ"
++"デートできません。"
+ 
+-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
++#: dnf/base.py:2121 dnf/cli/commands/reinstall.py:81
+ #, python-format
+ msgid "Package %s available, but not installed."
+ msgstr "パッケージ %s は利用可能ですが、インストールされていません。"
+ 
+-#: dnf/base.py:2032
++#: dnf/base.py:2127
+ #, python-format
+ msgid "Package %s available, but installed for different architecture."
+-msgstr "パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされています。"
++msgstr ""
++"パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされてい"
++"ます。"
+ 
+-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
++#: dnf/base.py:2152
+ #, python-format
+ msgid "No package %s installed."
+ msgstr "パッケージ %s はインストールされていません。"
+ 
+-#: dnf/base.py:2075 dnf/cli/commands/install.py:136
++#: dnf/base.py:2170 dnf/cli/commands/install.py:136
+ #: dnf/cli/commands/remove.py:133
+ #, python-format
+ msgid "Not a valid form: %s"
+ msgstr "有効な形式ではありません: %s"
+ 
+-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
+-#: dnf/cli/commands/remove.py:163
++#: dnf/base.py:2185 dnf/cli/commands/__init__.py:676
++#: dnf/cli/commands/remove.py:162
+ msgid "No packages marked for removal."
+ msgstr "削除対象のパッケージはありません。"
+ 
+-#: dnf/base.py:2179 dnf/cli/cli.py:422
++#: dnf/base.py:2273 dnf/cli/cli.py:428
+ #, python-format
+ msgid "Packages for argument %s available, but not installed."
+-msgstr "引数  %s のパッケージは利用可能ですが、インストールされていません。"
++msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。"
+ 
+-#: dnf/base.py:2184
++#: dnf/base.py:2278
+ #, python-format
+ msgid "Package %s of lowest version already installed, cannot downgrade it."
+-msgstr "最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。"
+-
+-#: dnf/base.py:2242
+-msgid "Action not handled: {}"
+-msgstr "動作は対処されていません: {}"
+-
+-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
+-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
+-#, python-format
+-msgid "No package %s available."
+-msgstr "利用可能なパッケージ %s がありません。"
+-
+-#: dnf/base.py:2269
+-msgid "no package matched"
+-msgstr "一致したパッケージはありません。"
++msgstr ""
++"最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードでき"
++"ません。"
+ 
+-#: dnf/base.py:2290
++#: dnf/base.py:2378
+ msgid "No security updates needed, but {} update available"
+ msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です"
+ 
+-#: dnf/base.py:2292
++#: dnf/base.py:2380
+ msgid "No security updates needed, but {} updates available"
+ msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です"
+ 
+-#: dnf/base.py:2296
++#: dnf/base.py:2384
+ msgid "No security updates needed for \"{}\", but {} update available"
+ msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です"
+ 
+-#: dnf/base.py:2298
++#: dnf/base.py:2386
+ msgid "No security updates needed for \"{}\", but {} updates available"
+ msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です"
+ 
+ #. raise an exception, because po.repoid is not in self.repos
+-#: dnf/base.py:2319
++#: dnf/base.py:2407
+ #, python-format
+ msgid "Unable to retrieve a key for a commandline package: %s"
+-msgstr ""
++msgstr "コマンドラインパッケージのキーを取得できません: %s"
+ 
+-#: dnf/base.py:2327
++#: dnf/base.py:2415
+ #, python-format
+ msgid ". Failing package is: %s"
+ msgstr ". 失敗したパッケージは: %s"
+ 
+-#: dnf/base.py:2328
++#: dnf/base.py:2416
+ #, python-format
+ msgid "GPG Keys are configured as: %s"
+ msgstr "GPG 鍵が設定されています: %s"
+ 
+-#: dnf/base.py:2340
++#: dnf/base.py:2428
+ #, python-format
+ msgid "GPG key at %s (0x%s) is already installed"
+ msgstr "%s (0x%s) の GPG 鍵はインストール済みです"
+ 
+-#: dnf/base.py:2373
++#: dnf/base.py:2464
+ msgid "The key has been approved."
+ msgstr "鍵が承認されました。"
+ 
+-#: dnf/base.py:2376
++#: dnf/base.py:2467
+ msgid "The key has been rejected."
+ msgstr "鍵が拒否されました。"
+ 
+-#: dnf/base.py:2409
++#: dnf/base.py:2500
+ #, python-format
+ msgid "Key import failed (code %d)"
+ msgstr "鍵のインポートに失敗しました (コード: %d)"
+ 
+-#: dnf/base.py:2411
++#: dnf/base.py:2502
+ msgid "Key imported successfully"
+ msgstr "鍵のインポートに成功しました"
+ 
+-#: dnf/base.py:2415
++#: dnf/base.py:2506
+ msgid "Didn't install any keys"
+ msgstr "鍵を 1 つもインストールしませんでした"
+ 
+-#: dnf/base.py:2418
++#: dnf/base.py:2509
+ #, python-format
+ msgid ""
+-"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
++"The GPG keys listed for the \"%s\" repository are already installed but they "
++"are not correct for this package.\n"
+ "Check that the correct key URLs are configured for this repository."
+ msgstr ""
+-"\"%s\" リポジトリーに一覧表示されている GPG 鍵はインストール済みですが、このパッケージには適切ではありません。\n"
++"\"%s\" リポジトリーに一覧表示されている GPG 鍵はインストール済みですが、この"
++"パッケージには適切ではありません。\n"
+ "正しい鍵 URL がこのリポジトリー用に設定されているか確認してください。"
+ 
+-#: dnf/base.py:2429
++#: dnf/base.py:2520
+ msgid "Import of key(s) didn't help, wrong key(s)?"
+ msgstr "鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?"
+ 
+-#: dnf/base.py:2482
++#: dnf/base.py:2573
+ msgid "  * Maybe you meant: {}"
+ msgstr "  * おそらく: {}"
+ 
+-#: dnf/base.py:2514
++#: dnf/base.py:2605
+ msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
+-msgstr "ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
++msgstr ""
++"ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありま"
++"せん"
+ 
+-#: dnf/base.py:2517
++#: dnf/base.py:2608
+ msgid "Some packages from local repository have incorrect checksum"
+-msgstr "ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません"
++msgstr ""
++"ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません"
+ 
+-#: dnf/base.py:2520
++#: dnf/base.py:2611
+ msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
+-msgstr "リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
++msgstr ""
++"リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
+ 
+-#: dnf/base.py:2523
++#: dnf/base.py:2614
+ msgid ""
+ "Some packages have invalid cache, but cannot be downloaded due to \"--"
+ "cacheonly\" option"
+-msgstr "いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプションによりダウンロードできません"
++msgstr ""
++"いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプ"
++"ションによりダウンロードできません"
+ 
+-#: dnf/base.py:2541 dnf/base.py:2561
++#: dnf/base.py:2632 dnf/base.py:2652
+ msgid "No match for argument"
+ msgstr "一致した引数がありません"
+ 
+-#: dnf/base.py:2549 dnf/base.py:2569
++#: dnf/base.py:2640 dnf/base.py:2660
+ msgid "All matches were filtered out by exclude filtering for argument"
+-msgstr "すべての検索結果は引数の除外フィルタリングに一致しません(filter out)"
++msgstr "すべての検索結果は引数の除外フィルタリングに一致しません (filter out)"
+ 
+-#: dnf/base.py:2551
++#: dnf/base.py:2642
+ msgid "All matches were filtered out by modular filtering for argument"
+-msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません(filter out)"
++msgstr ""
++"すべての検出結果は引数のモジュラーフィルタリングに一致しません (filter out)"
+ 
+-#: dnf/base.py:2567
++#: dnf/base.py:2658
+ msgid "All matches were installed from a different repository for argument"
+-msgstr "すべての検索結果は引数に対し異なるレポジトリからインストールされたものです"
++msgstr ""
++"すべての検索結果は引数に対し異なるレポジトリからインストールされたものです"
+ 
+-#: dnf/base.py:2583
++#: dnf/base.py:2705
+ #, python-format
+ msgid "Package %s is already installed."
+ msgstr "パッケージ %s は既にインストールされています。"
+@@ -571,8 +590,8 @@ msgstr "ファイル \"%s\" の解析に失敗しました: %s"
+ msgid "Cannot read file \"%s\": %s"
+ msgstr "ファイル \"%s\" を読み込めません: %s"
+ 
+-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
+-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
++#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
+ #, python-format
+ msgid "Config error: %s"
+ msgstr "設定エラー: %s"
+@@ -601,46 +620,56 @@ msgstr "  ビルド      : %s  (日時: %s)"
+ msgid ""
+ "The operation would result in switching of module '{0}' stream '{1}' to "
+ "stream '{2}'"
+-msgstr "オペレーションは、モジュール '{0}' ストリーム '{1}' を ストリーム '{2}' へと切り替える結果となります"
++msgstr ""
++"オペレーションは、モジュール '{0}' ストリーム '{1}' を ストリーム '{2}' へと"
++"切り替える結果となります"
+ 
+-#: dnf/cli/cli.py:172
++#: dnf/cli/cli.py:173
+ #, python-brace-format
+ msgid ""
+-"It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
++"It is not possible to switch enabled streams of a module unless explicitly "
++"enabled via configuration option module_stream_switch.\n"
++"It is recommended to rather remove all installed content from the module, "
++"and reset the module using '{prog} module reset <module_name>' command. "
++"After you reset the module, you can install the other stream."
+ msgstr ""
+-"モジュールの有効なストリームを切り替えることはできません。\n"
+-"モジュールからインストールされた全てのコンテンツを削除し、 '{prog} module reset <module_name>' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。"
++"設定オプション module_stream_switch から明示的に有効化されていない限り、モ"
++"ジュールの有効なストリームを切り替えることはできません。\n"
++"モジュールからインストールされた全てのコンテンツを削除し、'{prog} module "
++"reset <module_name>' コマンドを使用してリセットすることが推奨されます。モ"
++"ジュールのリセット後、他のストリームをインストール可能です。"
+ 
+-#: dnf/cli/cli.py:210
++#: dnf/cli/cli.py:212
+ #, python-brace-format
+ msgid "{prog} will only download packages for the transaction."
+ msgstr "{prog} はトランザクションでパッケージのダウンロードのみ行います。"
+ 
+-#: dnf/cli/cli.py:213
++#: dnf/cli/cli.py:215
+ #, python-brace-format
+ msgid ""
+ "{prog} will only download packages, install gpg keys, and check the "
+ "transaction."
+-msgstr "{prog} はパッケージのダウンロード、gpgキーのインストール、トランザクションのチェックのみ行います。"
++msgstr ""
++"{prog} はパッケージのダウンロード、gpgキーのインストール、トランザクションの"
++"チェックのみ行います。"
+ 
+-#: dnf/cli/cli.py:217
++#: dnf/cli/cli.py:219
+ msgid "Operation aborted."
+ msgstr "操作が中断されました。"
+ 
+-#: dnf/cli/cli.py:224
++#: dnf/cli/cli.py:226
+ msgid "Downloading Packages:"
+ msgstr "パッケージのダウンロード:"
+ 
+-#: dnf/cli/cli.py:230
++#: dnf/cli/cli.py:232
+ msgid "Error downloading packages:"
+ msgstr "パッケージのダウンロード中にエラーが発生しました:"
+ 
+-#: dnf/cli/cli.py:258
++#: dnf/cli/cli.py:264
+ msgid "Transaction failed"
+ msgstr "トランザクションが失敗しました"
+ 
+-#: dnf/cli/cli.py:281
++#: dnf/cli/cli.py:287
+ msgid ""
+ "Refusing to automatically import keys when running unattended.\n"
+ "Use \"-y\" to override."
+@@ -648,171 +677,159 @@ msgstr ""
+ "無人での実行中に鍵の自動インポートを拒否します。\n"
+ "オーバーライドするには \"-y\" を使用してください。"
+ 
+-#: dnf/cli/cli.py:331
++#: dnf/cli/cli.py:337
+ msgid "Changelogs for {}"
+ msgstr "{} の Changelogs"
+ 
+-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
++#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
+ msgid "Obsoleting Packages"
+ msgstr "パッケージの廃止"
+ 
+-#: dnf/cli/cli.py:393
++#: dnf/cli/cli.py:399
+ msgid "No packages marked for distribution synchronization."
+-msgstr "ディストリビューション同期対象のパッケージがありません"
++msgstr "ディストリビューション同期対象のパッケージがありません。"
++
++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
++#, python-format
++msgid "No package %s available."
++msgstr "利用可能なパッケージ %s はありません。"
+ 
+-#: dnf/cli/cli.py:428
++#: dnf/cli/cli.py:434
+ msgid "No packages marked for downgrade."
+ msgstr "ダウングレード対象のパッケージはありません。"
+ 
+-#: dnf/cli/cli.py:479
++#: dnf/cli/cli.py:485
+ msgid "Installed Packages"
+ msgstr "インストール済みパッケージ"
+ 
+-#: dnf/cli/cli.py:487
++#: dnf/cli/cli.py:493
+ msgid "Available Packages"
+ msgstr "利用可能なパッケージ"
+ 
+-#: dnf/cli/cli.py:491
++#: dnf/cli/cli.py:497
+ msgid "Autoremove Packages"
+ msgstr "パッケージを自動削除します"
+ 
+-#: dnf/cli/cli.py:493
++#: dnf/cli/cli.py:499
+ msgid "Extra Packages"
+ msgstr "エクストラパッケージ"
+ 
+-#: dnf/cli/cli.py:497
++#: dnf/cli/cli.py:503
+ msgid "Available Upgrades"
+ msgstr "利用可能なアップグレード"
+ 
+-#: dnf/cli/cli.py:513
++#: dnf/cli/cli.py:519
+ msgid "Recently Added Packages"
+ msgstr "最近追加したパッケージ"
+ 
+-#: dnf/cli/cli.py:518
++#: dnf/cli/cli.py:523
+ msgid "No matching Packages to list"
+ msgstr "表示するための一致したパッケージはありません"
+ 
+-#: dnf/cli/cli.py:599
++#: dnf/cli/cli.py:604
+ msgid "No Matches found"
+ msgstr "一致したものは見つかりませんでした"
+ 
+-#: dnf/cli/cli.py:609
+-msgid "No transaction ID given"
+-msgstr "トランザクション ID は指定されていません"
+-
+-#: dnf/cli/cli.py:614
+-msgid "Not found given transaction ID"
+-msgstr "指定されたトランザクション ID は見つかりません"
+-
+-#: dnf/cli/cli.py:623
+-msgid "Found more than one transaction ID!"
+-msgstr "1 つ以上のトランザクション ID が見つかりました!"
+-
+-#: dnf/cli/cli.py:640
+-#, python-format
+-msgid "Transaction history is incomplete, before %u."
+-msgstr "%u の前のトランザクション履歴が不完全です。"
+-
+-#: dnf/cli/cli.py:642
+-#, python-format
+-msgid "Transaction history is incomplete, after %u."
+-msgstr "%u の後のトランザクション履歴が不完全です。"
+-
+-#: dnf/cli/cli.py:689
+-msgid "Undoing transaction {}, from {}"
+-msgstr "トランザクション {} を {} から取り消しています"
+-
+-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
++#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
+ #, python-format
+ msgid "Unknown repo: '%s'"
+ msgstr "不明な repo : '%s'"
+ 
+-#: dnf/cli/cli.py:783
++#: dnf/cli/cli.py:685
+ #, python-format
+ msgid "No repository match: %s"
+ msgstr "一致するリポジトリーがありません: %s"
+ 
+-#: dnf/cli/cli.py:817
++#: dnf/cli/cli.py:719
+ msgid ""
+-"This command has to be run with superuser privileges (under the root user on"
+-" most systems)."
+-msgstr "このコマンドはスーパーユーザー特権(大概のシステムではrootユーザー)で実行しなければいけません。"
++"This command has to be run with superuser privileges (under the root user on "
++"most systems)."
++msgstr ""
++"このコマンドはスーパーユーザー特権(大概のシステムではrootユーザー)で実行しな"
++"ければいけません。"
+ 
+-#: dnf/cli/cli.py:847
++#: dnf/cli/cli.py:749
+ #, python-format
+ msgid "No such command: %s. Please use %s --help"
+-msgstr "そのようなコマンドはありません: %s. %s --help を使用してください。"
++msgstr "そのようなコマンドはありません: %s. %s --help を使用してください"
+ 
+-#: dnf/cli/cli.py:850
++#: dnf/cli/cli.py:752
+ #, python-format, python-brace-format
+ msgid ""
+ "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
+ "command(%s)'\""
+-msgstr "{PROG} プラグインコマンドを実行できません、試してください: \"{prog} install 'dnf-command(%s)'\""
++msgstr ""
++"{PROG} プラグインコマンドを実行できません、試してください: \"{prog} install "
++"'dnf-command(%s)'\""
+ 
+-#: dnf/cli/cli.py:854
++#: dnf/cli/cli.py:756
+ #, python-brace-format
+ msgid ""
+ "It could be a {prog} plugin command, but loading of plugins is currently "
+ "disabled."
+-msgstr "{prog} プラグインコマンドを実行できません、プラグインのロードが現在無効になっているようです。"
++msgstr ""
++"{prog} プラグインコマンドを実行できません、プラグインのロードが現在無効になっ"
++"ているようです。"
+ 
+-#: dnf/cli/cli.py:912
++#: dnf/cli/cli.py:814
+ msgid ""
+ "--destdir or --downloaddir must be used with --downloadonly or download or "
+ "system-upgrade command."
+ msgstr ""
+-"--destdir または --downloaddir は、--downloadonly、download あるいは system-upgrade "
+-"コマンドと共に使用する必要があります。"
++"--destdir または --downloaddir は、--downloadonly、download あるいは system-"
++"upgrade コマンドと共に使用する必要があります。"
+ 
+-#: dnf/cli/cli.py:918
++#: dnf/cli/cli.py:820
+ msgid ""
+ "--enable, --set-enabled and --disable, --set-disabled must be used with "
+ "config-manager command."
+ msgstr ""
+-"--enable と --set-enabled および --disable と --set-disabled は、config-manager "
+-"コマンドと共に使用しなければなりません。"
++"--enable と --set-enabled および --disable と --set-disabled は、config-"
++"manager コマンドと共に使用しなければなりません。"
+ 
+-#: dnf/cli/cli.py:1000
++#: dnf/cli/cli.py:902
+ msgid ""
+ "Warning: Enforcing GPG signature check globally as per active RPM security "
+ "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
+ msgstr ""
+-"警告: アクティブな RPM セキュリティーポリシーにより、GPG 署名の確認をグローバルに強制します "
+-"(このメッセージをスケルチするには、dnf.conf(5) の 'gpgcheck' を参照してください)"
++"警告: アクティブな RPM セキュリティーポリシーにより、GPG 署名の確認をグローバ"
++"ルに強制します (このメッセージをスケルチするには、dnf.conf(5) の 'gpgcheck' "
++"を参照してください)"
+ 
+-#: dnf/cli/cli.py:1020
++#: dnf/cli/cli.py:922
+ msgid "Config file \"{}\" does not exist"
+ msgstr "設定ファイル \"{}\" は存在しません"
+ 
+-#: dnf/cli/cli.py:1040
++#: dnf/cli/cli.py:942
+ msgid ""
+ "Unable to detect release version (use '--releasever' to specify release "
+ "version)"
+-msgstr "リリースバージョンを検出できません (リリースバージョンを指定するには '--releasever' を使用してください)"
++msgstr ""
++"リリースバージョンを検出できません (リリースバージョンを指定するには '--"
++"releasever' を使用してください)"
+ 
+-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
++#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
+ msgid "argument {}: not allowed with argument {}"
+ msgstr "引数 {}: 引数 {} と許可されていません"
+ 
+-#: dnf/cli/cli.py:1134
++#: dnf/cli/cli.py:1023
+ #, python-format
+ msgid "Command \"%s\" already defined"
+ msgstr "コマンド \"%s\" はすでに定義済みです"
+ 
+-#: dnf/cli/cli.py:1154
++#: dnf/cli/cli.py:1043
+ msgid "Excludes in dnf.conf: "
+ msgstr "dnf.conf で除外します: "
+ 
+-#: dnf/cli/cli.py:1157
++#: dnf/cli/cli.py:1046
+ msgid "Includes in dnf.conf: "
+ msgstr "dnf.conf で含めます: "
+ 
+-#: dnf/cli/cli.py:1160
++#: dnf/cli/cli.py:1049
+ msgid "Excludes in repo "
+ msgstr "repo で除外します "
+ 
+-#: dnf/cli/cli.py:1163
++#: dnf/cli/cli.py:1052
+ msgid "Includes in repo "
+ msgstr "repo に含めます "
+ 
+@@ -824,13 +841,16 @@ msgstr "問題を診断するには実行してみてください: '%s'."
+ #: dnf/cli/commands/__init__.py:40
+ #, python-format
+ msgid "You probably have corrupted RPMDB, running '%s' might fix the issue."
+-msgstr "RPMDB を破損させたかもしれませんが、'%s' を実行することでこの問題を解決できる可能性があります。"
++msgstr ""
++"RPMDB を破損させたかもしれませんが、'%s' を実行することでこの問題を解決できる"
++"可能性があります。"
+ 
+ #: dnf/cli/commands/__init__.py:44
+ #, python-brace-format
+ msgid ""
+ "You have enabled checking of packages via GPG keys. This is a good thing.\n"
+-"However, you do not have any GPG public keys installed. You need to download\n"
++"However, you do not have any GPG public keys installed. You need to "
++"download\n"
+ "the keys for packages you wish to install and install them.\n"
+ "You can do that by running the command:\n"
+ "    rpm --import public.gpg.key\n"
+@@ -849,11 +869,13 @@ msgstr ""
+ "    rpm --import public.gpg.key\n"
+ "\n"
+ "\n"
+-"代わりにレポジトリーセクションの 'gpgkey' オプションにあるレポジトリーを使用し\n"
++"代わりにレポジトリーセクションの 'gpgkey' オプションにあるレポジトリーを使用"
++"し\n"
+ "キーのurlを特定したのち、 {prog} がインストールされます。\n"
+ "\n"
+ "\n"
+-"詳細情報はディストリビューションまたはパッケージプロバイダーにコンタクトしてください。"
++"詳細情報はディストリビューションまたはパッケージプロバイダーにコンタクトして"
++"ください。"
+ 
+ #: dnf/cli/commands/__init__.py:71
+ #, python-format
+@@ -864,38 +886,38 @@ msgstr "問題のリポジトリ: %s"
+ msgid "display details about a package or group of packages"
+ msgstr "パッケージもしくはパッケージのグループについての詳細を表示します"
+ 
+-#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
++#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
+ msgid "show all packages (default)"
+ msgstr "すべてのパッケージを表示します (デフォルト)"
+ 
+-#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
+-#: dnf/cli/commands/module.py:351
++#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
++#: dnf/cli/commands/module.py:376
+ msgid "show only available packages"
+ msgstr "利用可能なパッケージのみを表示します"
+ 
+-#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
++#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
+ msgid "show only installed packages"
+ msgstr "インストール済みのパッケージのみを表示します"
+ 
+-#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
++#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
+ msgid "show only extras packages"
+ msgstr "エクストラパッケージのみを表示します"
+ 
+ #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
+-#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
++#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
+ msgid "show only upgrades packages"
+ msgstr "アップグレードパッケージのみを表示します"
+ 
+-#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
++#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
+ msgid "show only autoremove packages"
+ msgstr "自動削除パッケージのみを表示します"
+ 
+-#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
++#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
+ msgid "show only recently changed packages"
+ msgstr "最近変更されたパッケージのみを表示します"
+ 
+ #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
+-#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
++#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
+ #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
+ #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
+ msgid "PACKAGE"
+@@ -933,70 +955,70 @@ msgstr "利用可能なパッケージのアップグレードを確認します
+ msgid "show changelogs before update"
+ msgstr "更新前に changelogs を表示します"
+ 
+-#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
+-#: dnf/cli/commands/__init__.py:470
++#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
++#: dnf/cli/commands/__init__.py:465
+ msgid "No package available."
+ msgstr "利用可能なパッケージがありません。"
+ 
+-#: dnf/cli/commands/__init__.py:376
++#: dnf/cli/commands/__init__.py:371
+ msgid "No packages marked for install."
+ msgstr "インストール対象のパッケージはありません。"
+ 
+-#: dnf/cli/commands/__init__.py:412
++#: dnf/cli/commands/__init__.py:407
+ msgid "No package installed."
+ msgstr "インストールされたパッケージはありません。"
+ 
+-#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
++#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
+ #: dnf/cli/commands/reinstall.py:91
+ #, python-format
+ msgid " (from %s)"
+ msgstr " (%s から)"
+ 
+-#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
++#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
+ #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
+ #, python-format
+ msgid "Installed package %s%s not available."
+ msgstr "インストール済みパッケージ %s%s は利用できません。"
+ 
+-#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
+-#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
++#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
++#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
+ msgid "No package installed from the repository."
+ msgstr "リポジトリーからインストールされたパッケージはありません。"
+ 
+-#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
++#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
+ msgid "No packages marked for reinstall."
+ msgstr "再インストール対象のパッケージはありません。"
+ 
+-#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
++#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
+ msgid "No packages marked for upgrade."
+ msgstr "アップグレード対象のパッケージがありません。"
+ 
+-#: dnf/cli/commands/__init__.py:726
++#: dnf/cli/commands/__init__.py:721
+ msgid "run commands on top of all packages in given repository"
+ msgstr "特定のリポジトリーのすべてのパッケージに対して、コマンドを実行します"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "REPOID"
+ msgstr "REPOID"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "Repository ID"
+ msgstr "リポジトリーID"
+ 
+-#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
++#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
+ #: dnf/cli/commands/updateinfo.py:108
+ msgid "Package specification"
+ msgstr "パッケージspec"
+ 
+-#: dnf/cli/commands/__init__.py:801
++#: dnf/cli/commands/__init__.py:796
+ msgid "display a helpful usage message"
+ msgstr "有用な使用方法のメッセージを表示します"
+ 
+-#: dnf/cli/commands/__init__.py:805
++#: dnf/cli/commands/__init__.py:800
+ msgid "COMMAND"
+ msgstr "コマンド"
+ 
+-#: dnf/cli/commands/__init__.py:806
++#: dnf/cli/commands/__init__.py:801
+ #, python-brace-format
+ msgid "{prog} command to get help for"
+ msgstr "{prog} コマンドでヘルプ表示"
+@@ -1088,7 +1110,8 @@ msgstr "一致するエイリアスがありません: %s"
+ #: dnf/cli/commands/autoremove.py:41
+ msgid ""
+ "remove all unneeded packages that were originally installed as dependencies"
+-msgstr "当初は依存関係としてインストールされた不要なパッケージをすべて削除します"
++msgstr ""
++"当初は依存関係としてインストールされた不要なパッケージをすべて削除します"
+ 
+ #: dnf/cli/commands/autoremove.py:46 dnf/cli/commands/remove.py:59
+ msgid "Package to remove"
+@@ -1167,8 +1190,12 @@ msgid "Waiting for process with pid %d to finish."
+ msgstr "pid %d のプロセスが終了するのを待ちます。"
+ 
+ #: dnf/cli/commands/deplist.py:32
+-msgid "List package's dependencies and what packages provide them"
+-msgstr "パッケージの依存関係とこれを提供するパッケージがどれかを一覧表示します"
++msgid ""
++"[deprecated, use repoquery --deplist] List package's dependencies and what "
++"packages provide them"
++msgstr ""
++"[非推奨、epoquery --deplist を使用] パッケージの依存関係とこれを提供するパッ"
++"ケージがどれかを一覧表示します"
+ 
+ #: dnf/cli/commands/distrosync.py:32
+ msgid "synchronize installed packages to the latest available versions"
+@@ -1194,78 +1221,78 @@ msgstr "グループ情報を表示または使用します"
+ msgid "No group data available for configured repositories."
+ msgstr "設定されたリポジトリーが利用可能なグループデータはありません。"
+ 
+-#: dnf/cli/commands/group.py:129
++#: dnf/cli/commands/group.py:126
+ #, python-format
+ msgid "Warning: Group %s does not exist."
+ msgstr "警告: グループ %s は存在しません。"
+ 
+-#: dnf/cli/commands/group.py:170
++#: dnf/cli/commands/group.py:167
+ msgid "Warning: No groups match:"
+ msgstr "警告: 一致するグループはありません:"
+ 
+-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
+-#: dnf/cli/output.py:1226
++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
++#: dnf/cli/output.py:1139
+ msgid "<name-unset>"
+ msgstr "<name-unset>"
+ 
+-#: dnf/cli/commands/group.py:199
++#: dnf/cli/commands/group.py:196
+ msgid "Available Environment Groups:"
+ msgstr "利用可能な環境グループ:"
+ 
+-#: dnf/cli/commands/group.py:201
++#: dnf/cli/commands/group.py:198
+ msgid "Installed Environment Groups:"
+ msgstr "インストール済みの環境グループ:"
+ 
+-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
+ msgid "Installed Groups:"
+ msgstr "インストール済みのグループ:"
+ 
+-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
+ msgid "Installed Language Groups:"
+ msgstr "インストール済みの言語グループ:"
+ 
+-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
+ msgid "Available Groups:"
+ msgstr "利用可能なグループ:"
+ 
+-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
+ msgid "Available Language Groups:"
+ msgstr "利用可能な言語グループ:"
+ 
+-#: dnf/cli/commands/group.py:322
++#: dnf/cli/commands/group.py:319
+ msgid "include optional packages from group"
+ msgstr "グループのオプションパッケージを含めます"
+ 
+-#: dnf/cli/commands/group.py:325
++#: dnf/cli/commands/group.py:322
+ msgid "show also hidden groups"
+ msgstr "非表示のグループも表示します"
+ 
+-#: dnf/cli/commands/group.py:327
++#: dnf/cli/commands/group.py:324
+ msgid "show only installed groups"
+ msgstr "インストール済みのグループのみを表示します"
+ 
+-#: dnf/cli/commands/group.py:329
++#: dnf/cli/commands/group.py:326
+ msgid "show only available groups"
+ msgstr "利用可能なグループのみを表示します"
+ 
+-#: dnf/cli/commands/group.py:331
++#: dnf/cli/commands/group.py:328
+ msgid "show also ID of groups"
+ msgstr "グループIDも表示"
+ 
+-#: dnf/cli/commands/group.py:333
++#: dnf/cli/commands/group.py:330
+ msgid "available subcommands: {} (default), {}"
+ msgstr "利用可能なサブコマンド: {} (default), {}"
+ 
+-#: dnf/cli/commands/group.py:337
++#: dnf/cli/commands/group.py:334
+ msgid "argument for group subcommand"
+ msgstr "グループサブコマンドの引数"
+ 
+-#: dnf/cli/commands/group.py:346
++#: dnf/cli/commands/group.py:343
+ #, python-format
+ msgid "Invalid groups sub-command, use: %s."
+-msgstr "groups のサブコマンドが無効です: %s. を使用します"
++msgstr "groups のサブコマンドが無効です: %s を使用します。"
+ 
+-#: dnf/cli/commands/group.py:403
++#: dnf/cli/commands/group.py:398
+ msgid "Unable to find a mandatory group package."
+ msgstr "必須のグループパッケージを見つけることができません。"
+ 
+@@ -1275,25 +1302,31 @@ msgstr "トランザクション履歴を表示、または使用します"
+ 
+ #: dnf/cli/commands/history.py:66
+ msgid "For the store command, file path to store the transaction to"
+-msgstr ""
++msgstr "store コマンドの場合は、トランザクションを保存するファイルパス"
+ 
+ #: dnf/cli/commands/history.py:68
+ msgid ""
+-"For the replay command, don't check for installed packages matching those in"
+-" transaction"
++"For the replay command, don't check for installed packages matching those in "
++"transaction"
+ msgstr ""
++"replay コマンドの場合は、トランザクション内のパッケージに一致するインストール"
++"済みパッケージを確認しない"
+ 
+ #: dnf/cli/commands/history.py:71
+ msgid ""
+ "For the replay command, don't check for extra packages pulled into the "
+ "transaction"
+ msgstr ""
++"replay コマンドの場合は、トランザクションにプルされた追加パッケージを確認しな"
++"い"
+ 
+ #: dnf/cli/commands/history.py:74
+ msgid ""
+-"For the replay command, skip packages that are not available or have missing"
+-" dependencies"
++"For the replay command, skip packages that are not available or have missing "
++"dependencies"
+ msgstr ""
++"replay コマンドの場合は、利用できないパッケージや、依存関係が不足しているパッ"
++"ケージをスキップ"
+ 
+ #: dnf/cli/commands/history.py:94
+ msgid ""
+@@ -1304,41 +1337,68 @@ msgstr ""
+ "'{}' は 1 つのトランザクション ID またはパッケージ名が必要です。"
+ 
+ #: dnf/cli/commands/history.py:101
+-#, fuzzy
+-#| msgid "No transaction ID or package name given."
+ msgid "No transaction file name given."
+-msgstr "トランザクション ID、またはパッケージ名が指定されていません。"
++msgstr "トランザクションファイル名が指定されていません。"
+ 
+ #: dnf/cli/commands/history.py:103
+-#, fuzzy
+-#| msgid "Failed to remove transaction file %s"
+ msgid "More than one argument given as transaction file name."
+-msgstr "トランザクションファイル %s の削除に失敗しました"
++msgstr "トランザクションファイル名として指定された複数の引数。"
+ 
+-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
+ msgid "No transaction ID or package name given."
+ msgstr "トランザクション ID、またはパッケージ名が指定されていません。"
+ 
+-#: dnf/cli/commands/history.py:138
++#: dnf/cli/commands/history.py:142
+ #, python-format
+ msgid "You don't have access to the history DB: %s"
+ msgstr "履歴 DB にアクセスできません: %s"
+ 
+-#: dnf/cli/commands/history.py:147
++#: dnf/cli/commands/history.py:151
+ #, python-format
+ msgid ""
+-"Cannot undo transaction %s, doing so would result in an inconsistent package"
+-" database."
+-msgstr "トランザクション %s を取り消すことはできません。取り消すことで、パッケージデータベースに矛盾が生じます。"
++"Cannot undo transaction %s, doing so would result in an inconsistent package "
++"database."
++msgstr ""
++"トランザクション %s を取り消すことはできません。取り消すことで、パッケージ"
++"データベースに矛盾が生じます。"
+ 
+-#: dnf/cli/commands/history.py:152
++#: dnf/cli/commands/history.py:156
+ #, python-format
+ msgid ""
+ "Cannot rollback transaction %s, doing so would result in an inconsistent "
+ "package database."
+-msgstr "トランザクション %s をロールバックすることはできません。ロールバックすることで、パッケージデータベースに矛盾が生じます。"
++msgstr ""
++"トランザクション %s をロールバックすることはできません。ロールバックすること"
++"で、パッケージデータベースに矛盾が生じます。"
++
++#: dnf/cli/commands/history.py:175
++msgid "No transaction ID given"
++msgstr "トランザクション ID は指定されていません"
++
++#: dnf/cli/commands/history.py:179
++#, python-brace-format
++msgid "Transaction ID \"{0}\" not found."
++msgstr "トランザクション ID \"{0}\" が見つかりません。"
++
++#: dnf/cli/commands/history.py:185
++msgid "Found more than one transaction ID!"
++msgstr "1 つ以上のトランザクション ID が見つかりました!"
++
++#: dnf/cli/commands/history.py:203
++#, python-format
++msgid "Transaction history is incomplete, before %u."
++msgstr "%u の前のトランザクション履歴が不完全です。"
++
++#: dnf/cli/commands/history.py:205
++#, python-format
++msgid "Transaction history is incomplete, after %u."
++msgstr "%u の後のトランザクション履歴が不完全です。"
+ 
+-#: dnf/cli/commands/history.py:222
++#: dnf/cli/commands/history.py:256
++msgid "No packages to list"
++msgstr "一覧表示するパッケージはありません"
++
++#: dnf/cli/commands/history.py:279
+ msgid ""
+ "Invalid transaction ID range definition '{}'.\n"
+ "Use '<transaction-id>..<transaction-id>'."
+@@ -1346,7 +1406,7 @@ msgstr ""
+ "無効なトランザクション ID の範囲の定義 '{}'。\n"
+ "'<transaction-id>..<transaction-id>' を使用してください。"
+ 
+-#: dnf/cli/commands/history.py:226
++#: dnf/cli/commands/history.py:283
+ msgid ""
+ "Can't convert '{}' to transaction ID.\n"
+ "Use '<number>', 'last', 'last-<number>'."
+@@ -1354,40 +1414,29 @@ msgstr ""
+ "'{}' をトランザクション IDに変換できません。\n"
+ "'<number>', 'last', 'last-<number>' を使用してください。"
+ 
+-#: dnf/cli/commands/history.py:255
++#: dnf/cli/commands/history.py:312
+ msgid "No transaction which manipulates package '{}' was found."
+ msgstr "パッケージ '{}' を操作するトランザクションが見つかりません。"
+ 
+-#: dnf/cli/commands/history.py:305
+-#, fuzzy, python-brace-format
+-#| msgid "TransactionItem not found for key: {}"
+-msgid "Transaction ID \"{id}\" not found."
+-msgstr "TransactionItemが見つかりません鍵: {}"
+-
+-#: dnf/cli/commands/history.py:313
++#: dnf/cli/commands/history.py:357
+ msgid "{} exists, overwrite?"
+-msgstr ""
++msgstr "{} は存在します。上書きしますか?"
+ 
+-#: dnf/cli/commands/history.py:316
++#: dnf/cli/commands/history.py:360
+ msgid "Not overwriting {}, exiting."
+-msgstr ""
++msgstr "{} は存在するため上書きしません。"
+ 
+-#: dnf/cli/commands/history.py:323
+-#, fuzzy
+-#| msgid "Transaction failed"
++#: dnf/cli/commands/history.py:367
+ msgid "Transaction saved to {}."
+-msgstr "トランザクションが失敗しました"
++msgstr "{} に保存されているトランザクション。"
+ 
+-#: dnf/cli/commands/history.py:326
+-#, fuzzy
+-#| msgid "Errors occurred during transaction."
++#: dnf/cli/commands/history.py:370
+ msgid "Error storing transaction: {}"
+-msgstr "トランザクション中にエラーが発生しました。"
++msgstr "トランザクションの保存エラー: {}"
+ 
+-#: dnf/cli/commands/history.py:350
+-msgid ""
+-"Warning, the following problems occurred while replaying the transaction:"
+-msgstr ""
++#: dnf/cli/commands/history.py:386
++msgid "Warning, the following problems occurred while running a transaction:"
++msgstr "警告: トランザクションの実行中に以下の問題が発生しました:"
+ 
+ #: dnf/cli/commands/install.py:47
+ msgid "install a package or packages on your system"
+@@ -1406,7 +1455,7 @@ msgstr "一致するものが見つかりません"
+ msgid "Not a valid rpm file path: %s"
+ msgstr "有効な rpm ファイルパスではありません: %s"
+ 
+-#: dnf/cli/commands/install.py:167
++#: dnf/cli/commands/install.py:166
+ #, python-brace-format
+ msgid "There are following alternatives for \"{0}\": {1}"
+ msgstr "\"{0}\"には次の選択肢があります: {1}"
+@@ -1421,7 +1470,9 @@ msgstr "すべてのメタデータファイルのキャッシュファイルを
+ 
+ #: dnf/cli/commands/mark.py:39
+ msgid "mark or unmark installed packages as installed by user."
+-msgstr "インストール済みパッケージをユーザーがインストールしたとマークするか、またはマークをはずします。"
++msgstr ""
++"インストール済みパッケージをユーザーがインストールしたとマークするか、または"
++"マークをはずします。"
+ 
+ #: dnf/cli/commands/mark.py:44
+ msgid ""
+@@ -1449,7 +1500,7 @@ msgid "%s marked as group installed."
+ msgstr "グループインストールには %s のマークがついています。"
+ 
+ #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
+-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
+ msgid "Error:"
+ msgstr "エラー:"
+ 
+@@ -1458,89 +1509,95 @@ msgstr "エラー:"
+ msgid "Package %s is not installed."
+ msgstr "パッケージ %s はインストールされていません。"
+ 
+-#: dnf/cli/commands/module.py:51
++#: dnf/cli/commands/module.py:54
+ msgid ""
+-"Only module name, stream, architecture or profile is used. Ignoring unneeded"
+-" information in argument: '{}'"
+-msgstr "モジュール名、ストリーム、アーキテクチャーまたはプロファイルのみが使用されています。引数: '{}' の不要な情報は無視します"
++"Only module name, stream, architecture or profile is used. Ignoring unneeded "
++"information in argument: '{}'"
++msgstr ""
++"モジュール名、ストリーム、アーキテクチャーまたはプロファイルのみが使用されて"
++"います。引数: '{}' の不要な情報は無視します"
+ 
+-#: dnf/cli/commands/module.py:77
++#: dnf/cli/commands/module.py:80
+ msgid "list all module streams, profiles and states"
+ msgstr "全てのモジュールストリーム、プロファイル、状態をリスト"
+ 
+-#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
++#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
+ msgid "No matching Modules to list"
+ msgstr "表示する一致モジュールはありません"
+ 
+-#: dnf/cli/commands/module.py:111
++#: dnf/cli/commands/module.py:114
+ msgid "print detailed information about a module"
+ msgstr "モジュールに関する詳細情報を表示"
+ 
+-#: dnf/cli/commands/module.py:133
++#: dnf/cli/commands/module.py:136
+ msgid "enable a module stream"
+ msgstr "モジュールストリームを有効化"
+ 
+-#: dnf/cli/commands/module.py:157
++#: dnf/cli/commands/module.py:160
+ msgid "disable a module with all its streams"
+ msgstr "すべてのストリームのモジュールを無効化"
+ 
+-#: dnf/cli/commands/module.py:181
++#: dnf/cli/commands/module.py:184
+ msgid "reset a module"
+ msgstr "モジュールのリセット"
+ 
+-#: dnf/cli/commands/module.py:202
++#: dnf/cli/commands/module.py:205
+ msgid "install a module profile including its packages"
+ msgstr "パッケージを含むモジュールプロファイルのインストール"
+ 
+-#: dnf/cli/commands/module.py:223
++#: dnf/cli/commands/module.py:226
+ msgid "update packages associated with an active stream"
+ msgstr "アクティブストリームに紐づいたパッケージをアップデート"
+ 
+-#: dnf/cli/commands/module.py:240
++#: dnf/cli/commands/module.py:243
+ msgid "remove installed module profiles and their packages"
+ msgstr "インストールされたモジュールプロファイルとそのパッケージを削除"
+ 
+-#: dnf/cli/commands/module.py:264
++#: dnf/cli/commands/module.py:267
+ msgid "Package {} belongs to multiple modules, skipping"
+ msgstr "パッケージ {} は複数のモジュールに属しています、スキップします"
+ 
+-#: dnf/cli/commands/module.py:277
++#: dnf/cli/commands/module.py:280
++msgid "switch a module to a stream and distrosync rpm packages"
++msgstr "モジュールをストリームに切り替え、rpm パッケージを distrosync します"
++
++#: dnf/cli/commands/module.py:302
+ msgid "list modular packages"
+ msgstr "モジュラーパッケージをリスト"
+ 
+-#: dnf/cli/commands/module.py:292
++#: dnf/cli/commands/module.py:317
+ msgid "list packages belonging to a module"
+ msgstr "モジュールに属するパッケージをリスト"
+ 
+-#: dnf/cli/commands/module.py:327
++#: dnf/cli/commands/module.py:352
+ msgid "Interact with Modules."
+ msgstr "モジュールと対話します。"
+ 
+-#: dnf/cli/commands/module.py:340
++#: dnf/cli/commands/module.py:365
+ msgid "show only enabled modules"
+ msgstr "有効なモジュールのみを表示します"
+ 
+-#: dnf/cli/commands/module.py:343
++#: dnf/cli/commands/module.py:368
+ msgid "show only disabled modules"
+ msgstr "無効なモジュールのみを表示します"
+ 
+-#: dnf/cli/commands/module.py:346
++#: dnf/cli/commands/module.py:371
+ msgid "show only installed modules or packages"
+ msgstr "インストールされたモジュールまたはパッケージのみ表示"
+ 
+-#: dnf/cli/commands/module.py:349
++#: dnf/cli/commands/module.py:374
+ msgid "show profile content"
+ msgstr "プロファイルコンテンツを表示します"
+ 
+-#: dnf/cli/commands/module.py:354
++#: dnf/cli/commands/module.py:379
+ msgid "remove all modular packages"
+ msgstr "すべてのモジュラーパッケージを削除"
+ 
+-#: dnf/cli/commands/module.py:364
++#: dnf/cli/commands/module.py:389
+ msgid "Module specification"
+ msgstr "モジュールspec"
+ 
+-#: dnf/cli/commands/module.py:386
++#: dnf/cli/commands/module.py:411
+ msgid "{} {} {}: too few arguments"
+ msgstr "{} {} {}: 引数が足りません"
+ 
+@@ -1729,7 +1786,9 @@ msgstr "キーワードに一致するパッケージを検索します"
+ msgid ""
+ "Query all packages (shorthand for repoquery '*' or repoquery without "
+ "argument)"
+-msgstr "すべてのパッケージをクエリーします (repoquery '*' の短縮形、または引数なしの repoquery)"
++msgstr ""
++"すべてのパッケージをクエリーします (repoquery '*' の短縮形、または引数なしの "
++"repoquery)"
+ 
+ #: dnf/cli/commands/repoquery.py:124
+ msgid "Query all versions of packages (default)"
+@@ -1751,7 +1810,9 @@ msgstr "REQ と競合する結果のみを表示します"
+ msgid ""
+ "shows results that requires, suggests, supplements, enhances,or recommends "
+ "package provides and files REQ"
+-msgstr "REQ を提供およびファイルするパッケージを必要、提案、補完、機能強化、または推奨する結果を表示します"
++msgstr ""
++"REQ を提供およびファイルするパッケージを必要、提案、補完、機能強化、または推"
++"奨する結果を表示します"
+ 
+ #: dnf/cli/commands/repoquery.py:139
+ msgid "show only results that obsolete REQ"
+@@ -1793,7 +1854,9 @@ msgstr "指定されたとおりに依存関係を確認します。--alldeps 
+ msgid ""
+ "used with --whatrequires, and --requires --resolve, query packages "
+ "recursively."
+-msgstr "--whatrequires および --requires --resolve と共に使用し、パッケージを再帰的にクエリーします。"
++msgstr ""
++"--whatrequires および --requires --resolve と共に使用し、パッケージを再帰的に"
++"クエリーします。"
+ 
+ #: dnf/cli/commands/repoquery.py:166
+ msgid "show a list of all dependencies and what packages provide them"
+@@ -1815,7 +1878,9 @@ msgstr "対応するソース RPM で操作します"
+ msgid ""
+ "show N latest packages for a given name.arch (or latest but N if N is "
+ "negative)"
+-msgstr "特定の name.arch に最新パッケージ N を表示します (または N がネガティブな場合は N 以外の最新のもの)"
++msgstr ""
++"特定の name.arch に最新パッケージ N を表示します (または N がネガティブな場合"
++"は N 以外の最新のもの)"
+ 
+ #: dnf/cli/commands/repoquery.py:177
+ msgid "list also packages of inactive module streams"
+@@ -1840,9 +1905,11 @@ msgstr "パッケージの changelogs を表示します"
+ #: dnf/cli/commands/repoquery.py:194
+ #, python-format, python-brace-format
+ msgid ""
+-"display format for listing packages: \"%%{name} %%{version} ...\", use "
+-"--querytags to view full tag list"
++"display format for listing packages: \"%%{name} %%{version} ...\", use --"
++"querytags to view full tag list"
+ msgstr ""
++"パッケージを一覧表示するための形式の表示: \"%%{name} %%{version} ...\"。--"
++"querytags を指定して完全なタグリストを表示"
+ 
+ #: dnf/cli/commands/repoquery.py:198
+ msgid "show available tags to use with --queryformat"
+@@ -1853,19 +1920,24 @@ msgid ""
+ "use name-epoch:version-release.architecture format for displaying found "
+ "packages (default)"
+ msgstr ""
+-"見つかったパッケージを表示するには  name-epoch:version-release.architecture 形式を使用します (デフォルト)"
++"見つかったパッケージを表示するには name-epoch:version-release.architecture 形"
++"式を使用します (デフォルト)"
+ 
+ #: dnf/cli/commands/repoquery.py:205
+ msgid ""
+ "use name-version-release format for displaying found packages (rpm query "
+ "default)"
+-msgstr "見つかったパッケージを表示するには name-version-release 形式を使用します (rpm クエリーデフォルト)"
++msgstr ""
++"見つかったパッケージを表示するには name-version-release 形式を使用します "
++"(rpm クエリーデフォルト)"
+ 
+ #: dnf/cli/commands/repoquery.py:211
+ msgid ""
+ "use epoch:name-version-release.architecture format for displaying found "
+ "packages"
+-msgstr "見つかったパッケージを表示するには epoch:name-version-release.architecture 形式を使用します"
++msgstr ""
++"見つかったパッケージを表示するには epoch:name-version-release.architecture 形"
++"式を使用します"
+ 
+ #: dnf/cli/commands/repoquery.py:214
+ msgid "Display in which comps groups are presented selected packages"
+@@ -1881,7 +1953,8 @@ msgstr "インストール済みの installonly パッケージへのクエリ
+ 
+ #: dnf/cli/commands/repoquery.py:228
+ msgid "limit the query to installed packages with unsatisfied dependencies"
+-msgstr "未充足な依存関係があるインストール済みパッケージへのクエリーを制限します"
++msgstr ""
++"未充足な依存関係があるインストール済みパッケージへのクエリーを制限します"
+ 
+ #: dnf/cli/commands/repoquery.py:230
+ msgid "show a location from where packages can be downloaded"
+@@ -1895,7 +1968,8 @@ msgstr "パッケージが競合する機能を表示します。"
+ msgid ""
+ "Display capabilities that the package can depend on, enhance, recommend, "
+ "suggest, and supplement."
+-msgstr "パッケージが依存、機能強化、推奨、提案、および補完できる機能を表示します。"
++msgstr ""
++"パッケージが依存、機能強化、推奨、提案、および補完できる機能を表示します。"
+ 
+ #: dnf/cli/commands/repoquery.py:236
+ msgid "Display capabilities that the package can enhance."
+@@ -1920,9 +1994,10 @@ msgid ""
+ "running %%pre and %%post scriptlets. If the package is installed display "
+ "capabilities that is depends for %%pre, %%post, %%preun and %%postun."
+ msgstr ""
+-"このパッケージがインストールされていない場合、 %%pre と %%post "
+-"スクリプトレット実行に依存するケイパビリティを表示します。このパッケージがインストールされている場合、 %%pre, %%post, %%preun と"
+-" %%postun に依存するケイパビリティを表示します。"
++"このパッケージがインストールされていない場合、 %%pre と %%post スクリプトレッ"
++"ト実行に依存するケイパビリティを表示します。このパッケージがインストールされ"
++"ている場合、 %%pre, %%post, %%preun と %%postun に依存するケイパビリティを表"
++"示します。"
+ 
+ #: dnf/cli/commands/repoquery.py:243
+ msgid "Display capabilities that the package suggests."
+@@ -1949,7 +2024,9 @@ msgstr "利用可能なリポジトリーに存在しないパッケージのみ
+ msgid ""
+ "Display only packages that provide an upgrade for some already installed "
+ "package."
+-msgstr "インストール済みのパッケージの一部にアップグレードを提供するパッケージのみを表示します。"
++msgstr ""
++"インストール済みのパッケージの一部にアップグレードを提供するパッケージのみを"
++"表示します。"
+ 
+ #: dnf/cli/commands/repoquery.py:256
+ #, python-brace-format
+@@ -1971,26 +2048,28 @@ msgstr "検索するための鍵"
+ 
+ #: dnf/cli/commands/repoquery.py:295
+ msgid ""
+-"Option '--resolve' has to be used together with one of the '--conflicts', '"
+-"--depends', '--enhances', '--provides', '--recommends', '--requires', '--"
++"Option '--resolve' has to be used together with one of the '--conflicts', '--"
++"depends', '--enhances', '--provides', '--recommends', '--requires', '--"
+ "requires-pre', '--suggests' or '--supplements' options"
+ msgstr ""
+-"オプションの '--resolve' は、'--conflicts'、'--depends'、'--enhances'、'--provides'、'--"
+-"recommends'、'--requires'、'--requires-pre'、'--suggests' または '--supplements' "
+-"オプションのいずれか 1 つと使用する必要があります。"
++"オプションの '--resolve' は、'--conflicts'、'--depends'、'--enhances'、'--"
++"provides'、'--recommends'、'--requires'、'--requires-pre'、'--suggests' また"
++"は '--supplements' オプションのいずれか 1 つと使用する必要があります"
+ 
+ #: dnf/cli/commands/repoquery.py:305
+ msgid ""
+ "Option '--recursive' has to be used with '--whatrequires <REQ>' (optionally "
+-"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> "
+-"--resolve'"
++"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> --"
++"resolve'"
+ msgstr ""
+-"オプションの '--recursive' は、'--whatrequires <REQ>' (オプションでは '--exactdeps' ではなく、'"
+-"--alldeps' と共に使用) または '--requires <REQ> --resolve' と共に使用する必要があります。"
++"オプションの '--recursive' は、'--whatrequires <REQ>' (オプションでは '--"
++"exactdeps' ではなく、'--alldeps' と共に使用) または '--requires <REQ> --"
++"resolve' と共に使用する必要があります"
+ 
+ #: dnf/cli/commands/repoquery.py:312
+ msgid "argument {} requires --whatrequires or --whatdepends option"
+-msgstr "引数 {} は --whatrequires または --whatdepends オプションを必要とします"
++msgstr ""
++"引数 {} は --whatrequires または --whatdepends オプションを必要とします"
+ 
+ #: dnf/cli/commands/repoquery.py:344
+ msgid "Package {} contains no files"
+@@ -2000,13 +2079,17 @@ msgstr "パッケージ {} はファイルを含んでいません"
+ #, python-brace-format
+ msgid ""
+ "No valid switch specified\n"
+-"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "description:\n"
+ "  For the given packages print a tree of thepackages."
+ msgstr ""
+ "正規のスイッチが特定されません\n"
+-"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "説明:\n"
+ "  与えられたパッケージではパッケージのツリーを表示します。"
+@@ -2027,27 +2110,26 @@ msgstr "KEYWORD"
+ msgid "Keyword to search for"
+ msgstr "検索のキーワード"
+ 
+-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
+ msgctxt "long"
+ msgid "Name"
+ msgstr "名前"
+ 
+-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
+ msgctxt "long"
+ msgid "Summary"
+ msgstr "概要"
+ 
+-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
+ msgctxt "long"
+ msgid "Description"
+ msgstr "説明"
+ 
+-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
+ msgid "URL"
+ msgstr "URL"
+ 
+-#. TRANSLATORS: separator used between package attributes (eg. Name & Summary
+-#. & URL)
++#. TRANSLATORS: separator used between package attributes (eg. Name & Summary & URL)
+ #: dnf/cli/commands/search.py:76
+ msgid " & "
+ msgstr " & "
+@@ -2123,7 +2205,8 @@ msgid ""
+ "  disable: disable repositories. option = repository id"
+ msgstr ""
+ "{} arg [オプション]\n"
+-" 一覧: リポジトリーとその状態を一覧表示します。オプション = [all | id | glob]\n"
++" 一覧: リポジトリーとその状態を一覧表示します。オプション = [all | id | "
++"glob]\n"
+ "  有効化: リポジトリーの有効化。オプション = リポジトリー id\n"
+ "  無効化: リポジトリーの無効化。オプション = リポジトリー id"
+ 
+@@ -2181,27 +2264,30 @@ msgstr ""
+ "ヘルプ                     ヘルプの印刷\n"
+ "リポジトリー (または repo)     リポジトリーの有効化、無効化、または一覧表示\n"
+ "resolvedep               トランザクションセットの解決\n"
+-"トランザクション (または ts)      トランザクションセットの一覧表示、再設定、または実行\n"
++"トランザクション (または ts)      トランザクションセットの一覧表示、再設定、"
++"または実行\n"
+ "実行                      トランザクションセットの解決および実行\n"
+ "終了 (または 中止)           シェルの終了"
+ 
+-#: dnf/cli/commands/shell.py:259
++#: dnf/cli/commands/shell.py:262
+ #, python-format
+ msgid "Error: Cannot open %s for reading"
+ msgstr "エラー: 読み込み用に %s を開くことができません"
+ 
+-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
+ msgid "Complete!"
+ msgstr "完了しました!"
+ 
+-#: dnf/cli/commands/shell.py:291
++#: dnf/cli/commands/shell.py:294
+ msgid "Leaving Shell"
+ msgstr "シェルを終了します"
+ 
+ #: dnf/cli/commands/swap.py:35
+ #, python-brace-format
+ msgid "run an interactive {prog} mod for remove and install one spec"
+-msgstr "一つのspecを削除またはインストールするためインタラクティブ {prog} モジュールを実行"
++msgstr ""
++"一つのspecを削除またはインストールするためインタラクティブ {prog} モジュール"
++"を実行"
+ 
+ #: dnf/cli/commands/swap.py:40
+ msgid "The specs that will be removed"
+@@ -2253,13 +2339,16 @@ msgstr "インストール済みパッケージの新しいバージョンに関
+ 
+ #: dnf/cli/commands/updateinfo.py:80
+ msgid "advisories about equal and older versions of installed packages"
+-msgstr "インストール済みパッケージの同じバージョンおよび古いバージョンに関する勧告"
++msgstr ""
++"インストール済みパッケージの同じバージョンおよび古いバージョンに関する勧告"
+ 
+ #: dnf/cli/commands/updateinfo.py:83
+ msgid ""
+ "advisories about newer versions of those installed packages for which a "
+ "newer version is available"
+-msgstr "最新バージョンが利用可能なインストール済みパッケージの最新バージョンに関する勧告"
++msgstr ""
++"最新バージョンが利用可能なインストール済みパッケージの最新バージョンに関する"
++"勧告"
+ 
+ #: dnf/cli/commands/updateinfo.py:87
+ msgid "advisories about any versions of installed packages"
+@@ -2385,8 +2474,8 @@ msgstr "重大度"
+ msgid "Files"
+ msgstr "ファイル"
+ 
+-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
+-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
++#: dnf/cli/output.py:1656 dnf/util.py:617
+ msgid "Installed"
+ msgstr "インストール済み"
+ 
+@@ -2400,7 +2489,8 @@ msgstr "正"
+ 
+ #: dnf/cli/commands/upgrade.py:40
+ msgid "upgrade a package or packages on your system"
+-msgstr "システム上の 1 つのパッケージまたは複数のパッケージをアップグレードします"
++msgstr ""
++"システム上の 1 つのパッケージまたは複数のパッケージをアップグレードします"
+ 
+ #: dnf/cli/commands/upgrade.py:44
+ msgid "Package to upgrade"
+@@ -2410,7 +2500,9 @@ msgstr "アップグレードするパッケージ"
+ msgid ""
+ "upgrade, but only 'newest' package match which fixes a problem that affects "
+ "your system"
+-msgstr "システムに影響する問題を修正する「最新の」パッケージに一致したもののみをアップグレードします"
++msgstr ""
++"システムに影響する問題を修正する「最新の」パッケージに一致したもののみをアッ"
++"プグレードします"
+ 
+ #: dnf/cli/main.py:88
+ msgid "Terminated."
+@@ -2422,23 +2514,29 @@ msgstr "現在のディレクトリーには読み取り/実行権限があり
+ 
+ #: dnf/cli/main.py:135
+ msgid "try to add '{}' to command line to replace conflicting packages"
+-msgstr "競合するパッケージを置き換えるには、コマンドラインに '{}' を追加してみてください"
++msgstr ""
++"競合するパッケージを置き換えるには、コマンドラインに '{}' を追加してみてくだ"
++"さい"
+ 
+ #: dnf/cli/main.py:139
+ msgid "try to add '{}' to skip uninstallable packages"
+-msgstr "インストール不可のパッケージをスキップするには、'{}' を追加してみてください"
++msgstr ""
++"インストール不可のパッケージをスキップするには、'{}' を追加してみてください"
+ 
+ #: dnf/cli/main.py:142
+ msgid " or '{}' to skip uninstallable packages"
+-msgstr " または、'{}' を追加して、インストール不可のパッケージをスキップしてください"
++msgstr ""
++" または、'{}' を追加して、インストール不可のパッケージをスキップしてください"
+ 
+ #: dnf/cli/main.py:147
+ msgid "try to add '{}' to use not only best candidate packages"
+-msgstr "最適候補のパッケージのみを使用しないためには、'{}' を追加してみてください"
++msgstr ""
++"最適候補のパッケージのみを使用しないためには、'{}' を追加してみてください"
+ 
+ #: dnf/cli/main.py:150
+ msgid " or '{}' to use not only best candidate packages"
+-msgstr " または、'{}' を追加して、最適候補のパッケージのみを使用しないでください"
++msgstr ""
++" または、'{}' を追加して、最適候補のパッケージのみを使用しないでください"
+ 
+ #: dnf/cli/main.py:167
+ msgid "Dependencies resolved."
+@@ -2530,7 +2628,9 @@ msgstr "依存関係を解決するために、インストール済みパッケ
+ 
+ #: dnf/cli/option_parser.py:221
+ msgid "try the best available package versions in transactions."
+-msgstr "トランザクションにおいて利用可能な最適なパッケージバージョンを試してください。"
++msgstr ""
++"トランザクションにおいて利用可能な最適なパッケージバージョンを試してくださ"
++"い。"
+ 
+ #: dnf/cli/option_parser.py:223
+ msgid "do not limit the transaction to the best candidate"
+@@ -2566,8 +2666,8 @@ msgid ""
+ "enables {prog}'s obsoletes processing logic for upgrade or display "
+ "capabilities that the package obsoletes for info, list and repoquery"
+ msgstr ""
+-"アップグレードまたは、info, list, repoquery で旧パッケージのケイパビリティを表示するため、 {prog} "
+-"の旧プロセスロジックを有効化"
++"アップグレードまたは、info, list, repoquery で旧パッケージのケイパビリティを"
++"表示するため、 {prog} の旧プロセスロジックを有効化"
+ 
+ #: dnf/cli/option_parser.py:251
+ msgid "debugging output level for rpm"
+@@ -2585,19 +2685,25 @@ msgstr "すべての質問に「いいえ」(no) と自動的に答えます"
+ msgid ""
+ "Enable additional repositories. List option. Supports globs, can be "
+ "specified multiple times."
+-msgstr "追加レポジトリを有効化、オプションのリスト、globsのサポートは何度でも指定可能です。"
++msgstr ""
++"追加レポジトリを有効化、オプションのリスト、globsのサポートは何度でも指定可能"
++"です。"
+ 
+ #: dnf/cli/option_parser.py:266
+ msgid ""
+-"Disable repositories. List option. Supports globs, can be specified multiple"
+-" times."
+-msgstr "追加レポジトリを無効化、オプションのリスト、globsのサポートは何度でも指定可能です。"
++"Disable repositories. List option. Supports globs, can be specified multiple "
++"times."
++msgstr ""
++"追加レポジトリを無効化、オプションのリスト、globsのサポートは何度でも指定可能"
++"です。"
+ 
+ #: dnf/cli/option_parser.py:270
+ msgid ""
+ "enable just specific repositories by an id or a glob, can be specified "
+ "multiple times"
+-msgstr "id または glob により特定のリポジトリーだけを有効にします。複数回指定することが可能です"
++msgstr ""
++"id または glob により特定のリポジトリーだけを有効にします。複数回指定すること"
++"が可能です"
+ 
+ #: dnf/cli/option_parser.py:275
+ msgid "enable repos with config-manager command (automatically saves)"
+@@ -2619,7 +2725,9 @@ msgstr "excludepkgs を無効にします"
+ msgid ""
+ "label and path to an additional repository to use (same path as in a "
+ "baseurl), can be specified multiple times."
+-msgstr "利用する追加レポジトリ(baseurlと同じパス)のラベルとパスは何度でも指定可能です。"
++msgstr ""
++"利用する追加レポジトリ(baseurlと同じパス)のラベルとパスは何度でも指定可能で"
++"す。"
+ 
+ #: dnf/cli/option_parser.py:297
+ msgid "disable removal of dependencies that are no longer used"
+@@ -2699,7 +2807,7 @@ msgstr "主要コマンドの一覧:"
+ 
+ #: dnf/cli/option_parser.py:376
+ msgid "List of Plugin Commands:"
+-msgstr "プラグインコマンドの一覧"
++msgstr "プラグインコマンドの一覧:"
+ 
+ #: dnf/cli/option_parser.py:413
+ #, python-format
+@@ -2709,13 +2817,13 @@ msgstr "引数をエンコードできません '%s': %s"
+ #. Translators: This is abbreviated 'Name'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:505
++#: dnf/cli/output.py:459
+ msgctxt "short"
+ msgid "Name"
+ msgstr "名前"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:511
++#: dnf/cli/output.py:465
+ msgid "Epoch"
+ msgstr "エポック"
+ 
+@@ -2723,38 +2831,38 @@ msgstr "エポック"
+ #. use the full (unabbreviated) term 'Version' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:512 dnf/cli/output.py:1335
++#: dnf/cli/output.py:466 dnf/cli/output.py:1248
+ msgctxt "short"
+ msgid "Version"
+ msgstr "バージョン"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Version'.
+-#: dnf/cli/output.py:513 dnf/cli/output.py:1337
++#: dnf/cli/output.py:467 dnf/cli/output.py:1250
+ msgctxt "long"
+ msgid "Version"
+ msgstr "バージョン"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:516
++#: dnf/cli/output.py:470
+ msgid "Release"
+ msgstr "リリース"
+ 
+ #. Translators: This is abbreviated 'Architecture', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:517 dnf/cli/output.py:1326
++#: dnf/cli/output.py:471 dnf/cli/output.py:1239
+ msgctxt "short"
+ msgid "Arch"
+ msgstr "Arch"
+ 
+ #. Translators: This is the full word 'Architecture', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:518 dnf/cli/output.py:1329
++#: dnf/cli/output.py:472 dnf/cli/output.py:1242
+ msgctxt "long"
+ msgid "Architecture"
+ msgstr "アーキテクチャー"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Size'.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1352
++#: dnf/cli/output.py:474 dnf/cli/output.py:1265
+ msgctxt "long"
+ msgid "Size"
+ msgstr "サイズ"
+@@ -2763,32 +2871,32 @@ msgstr "サイズ"
+ #. not be longer than 5 characters. If the term 'Size' in your
+ #. language is not longer than 5 characters then you can use it
+ #. unabbreviated.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1350
++#: dnf/cli/output.py:474 dnf/cli/output.py:1263
+ msgctxt "short"
+ msgid "Size"
+ msgstr "サイズ"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:524
++#: dnf/cli/output.py:478
+ msgid "Source"
+ msgstr "ソース"
+ 
+ #. Translators: This is abbreviated 'Repository', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:525 dnf/cli/output.py:1341
++#: dnf/cli/output.py:479 dnf/cli/output.py:1254
+ msgctxt "short"
+ msgid "Repo"
+ msgstr "Repo"
+ 
+ #. Translators: This is the full word 'Repository', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:526 dnf/cli/output.py:1344
++#: dnf/cli/output.py:480 dnf/cli/output.py:1257
+ msgctxt "long"
+ msgid "Repository"
+ msgstr "リポジトリー"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:533
++#: dnf/cli/output.py:487
+ msgid "From repo"
+ msgstr "repo から"
+ 
+@@ -2796,312 +2904,308 @@ msgstr "repo から"
+ #. print(_("Committer   : %s") % ucd(pkg.committer))
+ #. print(_("Committime  : %s") % time.ctime(pkg.committime))
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:539
++#: dnf/cli/output.py:493
+ msgid "Packager"
+ msgstr "パッケージャー"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:541
++#: dnf/cli/output.py:495
+ msgid "Buildtime"
+ msgstr "ビルド時間"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:545
++#: dnf/cli/output.py:499
+ msgid "Install time"
+ msgstr "インストール時間"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:554
++#: dnf/cli/output.py:508
+ msgid "Installed by"
+ msgstr "インストール済み"
+ 
+ #. Translators: This is abbreviated 'Summary'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:558
++#: dnf/cli/output.py:512
+ msgctxt "short"
+ msgid "Summary"
+ msgstr "概要"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:564
++#: dnf/cli/output.py:518
+ msgid "License"
+ msgstr "ライセンス"
+ 
+ #. Translators: This is abbreviated 'Description'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:568
++#: dnf/cli/output.py:522
+ msgctxt "short"
+ msgid "Description"
+ msgstr "説明"
+ 
+-#: dnf/cli/output.py:695
+-msgid "No packages to list"
+-msgstr "一覧表示するパッケージはありません"
+-
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "y"
+ msgstr "y"
+ 
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "yes"
+ msgstr "はい"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "n"
+ msgstr "n"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "no"
+ msgstr "いいえ"
+ 
+-#: dnf/cli/output.py:711
++#: dnf/cli/output.py:655
+ msgid "Is this ok [y/N]: "
+ msgstr "これでよろしいですか? [y/N]: "
+ 
+-#: dnf/cli/output.py:715
++#: dnf/cli/output.py:659
+ msgid "Is this ok [Y/n]: "
+ msgstr "これでよろしいですか? [Y/n]: "
+ 
+-#: dnf/cli/output.py:795
++#: dnf/cli/output.py:739
+ #, python-format
+ msgid "Group: %s"
+ msgstr "グループ: %s"
+ 
+-#: dnf/cli/output.py:799
++#: dnf/cli/output.py:743
+ #, python-format
+ msgid " Group-Id: %s"
+ msgstr " グループ ID: %s"
+ 
+-#: dnf/cli/output.py:801 dnf/cli/output.py:840
++#: dnf/cli/output.py:745 dnf/cli/output.py:784
+ #, python-format
+ msgid " Description: %s"
+ msgstr " 説明: %s"
+ 
+-#: dnf/cli/output.py:803
++#: dnf/cli/output.py:747
+ #, python-format
+ msgid " Language: %s"
+ msgstr " 言語: %s"
+ 
+-#: dnf/cli/output.py:806
++#: dnf/cli/output.py:750
+ msgid " Mandatory Packages:"
+ msgstr " 必須なパッケージ:"
+ 
+-#: dnf/cli/output.py:807
++#: dnf/cli/output.py:751
+ msgid " Default Packages:"
+ msgstr " 標準パッケージ:"
+ 
+-#: dnf/cli/output.py:808
++#: dnf/cli/output.py:752
+ msgid " Optional Packages:"
+ msgstr " オプション パッケージ:"
+ 
+-#: dnf/cli/output.py:809
++#: dnf/cli/output.py:753
+ msgid " Conditional Packages:"
+ msgstr " 条件付きパッケージ:"
+ 
+-#: dnf/cli/output.py:834
++#: dnf/cli/output.py:778
+ #, python-format
+ msgid "Environment Group: %s"
+ msgstr "環境グループ: %s"
+ 
+-#: dnf/cli/output.py:837
++#: dnf/cli/output.py:781
+ #, python-format
+ msgid " Environment-Id: %s"
+ msgstr " 環境 Id: %s"
+ 
+-#: dnf/cli/output.py:843
++#: dnf/cli/output.py:787
+ msgid " Mandatory Groups:"
+ msgstr " 必須なグループ:"
+ 
+-#: dnf/cli/output.py:844
++#: dnf/cli/output.py:788
+ msgid " Optional Groups:"
+ msgstr " 任意なグループ:"
+ 
+-#: dnf/cli/output.py:865
++#: dnf/cli/output.py:809
+ msgid "Matched from:"
+ msgstr "一致:"
+ 
+-#: dnf/cli/output.py:879
++#: dnf/cli/output.py:823
+ #, python-format
+ msgid "Filename    : %s"
+ msgstr "ファイル名    : %s"
+ 
+-#: dnf/cli/output.py:904
++#: dnf/cli/output.py:848
+ #, python-format
+ msgid "Repo        : %s"
+ msgstr "Repo        : %s"
+ 
+-#: dnf/cli/output.py:913
++#: dnf/cli/output.py:857
+ msgid "Description : "
+-msgstr "説明                : "
++msgstr "説明: "
+ 
+-#: dnf/cli/output.py:917
++#: dnf/cli/output.py:861
+ #, python-format
+ msgid "URL         : %s"
+ msgstr "URL                 : %s"
+ 
+-#: dnf/cli/output.py:921
++#: dnf/cli/output.py:865
+ #, python-format
+ msgid "License     : %s"
+ msgstr "ライセンス    : %s"
+ 
+-#: dnf/cli/output.py:927
++#: dnf/cli/output.py:871
+ #, python-format
+ msgid "Provide    : %s"
+ msgstr "提供する    : %s"
+ 
+-#: dnf/cli/output.py:947
++#: dnf/cli/output.py:891
+ #, python-format
+ msgid "Other       : %s"
+ msgstr "その他       : %s"
+ 
+-#: dnf/cli/output.py:996
++#: dnf/cli/output.py:940
+ msgid "There was an error calculating total download size"
+ msgstr "ダウンロードサイズの合計を計算中にエラーが発生しました"
+ 
+-#: dnf/cli/output.py:1002
++#: dnf/cli/output.py:946
+ #, python-format
+ msgid "Total size: %s"
+ msgstr "合計サイズ: %s"
+ 
+-#: dnf/cli/output.py:1005
++#: dnf/cli/output.py:949
+ #, python-format
+ msgid "Total download size: %s"
+ msgstr "ダウンロードサイズの合計: %s"
+ 
+-#: dnf/cli/output.py:1008
++#: dnf/cli/output.py:952
+ #, python-format
+ msgid "Installed size: %s"
+ msgstr "インストール後のサイズ: %s"
+ 
+-#: dnf/cli/output.py:1026
++#: dnf/cli/output.py:970
+ msgid "There was an error calculating installed size"
+ msgstr "インストール後のサイズを計算中にエラーが発生しました"
+ 
+-#: dnf/cli/output.py:1030
++#: dnf/cli/output.py:974
+ #, python-format
+ msgid "Freed space: %s"
+ msgstr "解放された容量: %s"
+ 
+-#: dnf/cli/output.py:1039
++#: dnf/cli/output.py:983
+ msgid "Marking packages as installed by the group:"
+ msgstr "パッケージをグループごとにインストール済みとマークします:"
+ 
+-#: dnf/cli/output.py:1046
++#: dnf/cli/output.py:990
+ msgid "Marking packages as removed by the group:"
+ msgstr "パッケージをグループごとに削除済みとマークします:"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Group"
+ msgstr "グループ"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Packages"
+ msgstr "パッケージ"
+ 
+-#: dnf/cli/output.py:1133
++#: dnf/cli/output.py:1046
+ msgid "Installing group/module packages"
+ msgstr "group/moduleパッケージをインストール"
+ 
+-#: dnf/cli/output.py:1134
++#: dnf/cli/output.py:1047
+ msgid "Installing group packages"
+ msgstr "グループパッケージのインストール"
+ 
+ #. TRANSLATORS: This is for a list of packages to be installed.
+-#: dnf/cli/output.py:1138
++#: dnf/cli/output.py:1051
+ msgctxt "summary"
+ msgid "Installing"
+ msgstr "インストール"
+ 
+ #. TRANSLATORS: This is for a list of packages to be upgraded.
+-#: dnf/cli/output.py:1140
++#: dnf/cli/output.py:1053
+ msgctxt "summary"
+ msgid "Upgrading"
+ msgstr "アップグレード"
+ 
+ #. TRANSLATORS: This is for a list of packages to be reinstalled.
+-#: dnf/cli/output.py:1142
++#: dnf/cli/output.py:1055
+ msgctxt "summary"
+ msgid "Reinstalling"
+ msgstr "再インストール"
+ 
+-#: dnf/cli/output.py:1144
++#: dnf/cli/output.py:1057
+ msgid "Installing dependencies"
+ msgstr "依存関係のインストール"
+ 
+-#: dnf/cli/output.py:1145
++#: dnf/cli/output.py:1058
+ msgid "Installing weak dependencies"
+ msgstr "弱い依存関係のインストール"
+ 
+ #. TRANSLATORS: This is for a list of packages to be removed.
+-#: dnf/cli/output.py:1147
++#: dnf/cli/output.py:1060
+ msgid "Removing"
+ msgstr "削除中"
+ 
+-#: dnf/cli/output.py:1148
++#: dnf/cli/output.py:1061
+ msgid "Removing dependent packages"
+ msgstr "依存関係パッケージの削除"
+ 
+-#: dnf/cli/output.py:1149
++#: dnf/cli/output.py:1062
+ msgid "Removing unused dependencies"
+ msgstr "未使用の依存関係の削除"
+ 
+ #. TRANSLATORS: This is for a list of packages to be downgraded.
+-#: dnf/cli/output.py:1151
++#: dnf/cli/output.py:1064
+ msgctxt "summary"
+ msgid "Downgrading"
+ msgstr "ダウングレード"
+ 
+-#: dnf/cli/output.py:1176
++#: dnf/cli/output.py:1089
+ msgid "Installing module profiles"
+ msgstr "モジュールプロファイルのインストール中"
+ 
+-#: dnf/cli/output.py:1185
++#: dnf/cli/output.py:1098
+ msgid "Disabling module profiles"
+ msgstr "モジュールプロファイルの無効化中"
+ 
+-#: dnf/cli/output.py:1194
++#: dnf/cli/output.py:1107
+ msgid "Enabling module streams"
+ msgstr "モジュールストリームの有効化中"
+ 
+-#: dnf/cli/output.py:1202
++#: dnf/cli/output.py:1115
+ msgid "Switching module streams"
+ msgstr "モジュールストリームの切り替え中"
+ 
+-#: dnf/cli/output.py:1210
++#: dnf/cli/output.py:1123
+ msgid "Disabling modules"
+ msgstr "モジュールの無効化"
+ 
+-#: dnf/cli/output.py:1218
++#: dnf/cli/output.py:1131
+ msgid "Resetting modules"
+ msgstr "モジュールの再設定中"
+ 
+-#: dnf/cli/output.py:1230
++#: dnf/cli/output.py:1143
+ msgid "Installing Environment Groups"
+ msgstr "環境グループのインストール中"
+ 
+-#: dnf/cli/output.py:1237
++#: dnf/cli/output.py:1150
+ msgid "Upgrading Environment Groups"
+ msgstr "環境グループのアップグレード中"
+ 
+-#: dnf/cli/output.py:1244
++#: dnf/cli/output.py:1157
+ msgid "Removing Environment Groups"
+ msgstr "環境グループの削除中"
+ 
+-#: dnf/cli/output.py:1251
++#: dnf/cli/output.py:1164
+ msgid "Installing Groups"
+ msgstr "グループのインストール中"
+ 
+-#: dnf/cli/output.py:1258
++#: dnf/cli/output.py:1171
+ msgid "Upgrading Groups"
+ msgstr "グループのアップグレード中"
+ 
+-#: dnf/cli/output.py:1265
++#: dnf/cli/output.py:1178
+ msgid "Removing Groups"
+ msgstr "グループの削除中"
+ 
+-#: dnf/cli/output.py:1281
++#: dnf/cli/output.py:1194
+ #, python-format
+ msgid ""
+ "Skipping packages with conflicts:\n"
+@@ -3110,12 +3214,12 @@ msgstr ""
+ "競合するパッケージをスキップします:\n"
+ "(アップグレードを強制するにはコマンドラインに '%s' を追加します)"
+ 
+-#: dnf/cli/output.py:1291
++#: dnf/cli/output.py:1204
+ #, python-format
+ msgid "Skipping packages with broken dependencies%s"
+ msgstr "壊れた dependencies%s のパッケージをスキップします"
+ 
+-#: dnf/cli/output.py:1295
++#: dnf/cli/output.py:1208
+ msgid " or part of a group"
+ msgstr " またはグループの一部"
+ 
+@@ -3123,22 +3227,22 @@ msgstr " またはグループの一部"
+ #. use the full (unabbreviated) term 'Package' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:1320
++#: dnf/cli/output.py:1233
+ msgctxt "short"
+ msgid "Package"
+ msgstr "パッケージ"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Package'.
+-#: dnf/cli/output.py:1322
++#: dnf/cli/output.py:1235
+ msgctxt "long"
+ msgid "Package"
+ msgstr "パッケージ"
+ 
+-#: dnf/cli/output.py:1371
++#: dnf/cli/output.py:1284
+ msgid "replacing"
+ msgstr "置き換え"
+ 
+-#: dnf/cli/output.py:1378
++#: dnf/cli/output.py:1291
+ #, python-format
+ msgid ""
+ "\n"
+@@ -3150,287 +3254,271 @@ msgstr ""
+ "%s\n"
+ 
+ #. TODO: remove
+-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
++#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
+ msgid "Install"
+ msgstr "インストール"
+ 
+-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
++#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
+ msgid "Upgrade"
+ msgstr "アップグレード"
+ 
+-#: dnf/cli/output.py:1388
++#: dnf/cli/output.py:1301
+ msgid "Remove"
+ msgstr "削除"
+ 
+-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
++#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
+ msgid "Downgrade"
+ msgstr "ダウングレード"
+ 
+-#: dnf/cli/output.py:1391
++#: dnf/cli/output.py:1304
+ msgid "Skip"
+ msgstr "スキップ"
+ 
+-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
+ msgid "Package"
+ msgid_plural "Packages"
+ msgstr[0] "パッケージ"
+ 
+-#: dnf/cli/output.py:1418
++#: dnf/cli/output.py:1331
+ msgid "Dependent package"
+ msgid_plural "Dependent packages"
+ msgstr[0] "依存パッケージ"
+ 
+-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
+-msgid "Upgraded"
+-msgstr "アップグレード済み"
+-
+-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
+-msgid "Downgraded"
+-msgstr "ダウングレード済み"
+-
+-#: dnf/cli/output.py:1503
+-msgid "Reinstalled"
+-msgstr "再インストール済み"
+-
+-#: dnf/cli/output.py:1504
+-msgid "Skipped"
+-msgstr "スキップ済み"
+-
+-#: dnf/cli/output.py:1505
+-msgid "Removed"
+-msgstr "削除しました"
+-
+-#: dnf/cli/output.py:1508
+-msgid "Failed"
+-msgstr "失敗しました"
+-
+-#: dnf/cli/output.py:1559
++#: dnf/cli/output.py:1439
+ msgid "Total"
+ msgstr "合計"
+ 
+-#: dnf/cli/output.py:1587
++#: dnf/cli/output.py:1467
+ msgid "<unset>"
+ msgstr "<未設定>"
+ 
+-#: dnf/cli/output.py:1588
++#: dnf/cli/output.py:1468
+ msgid "System"
+ msgstr "システム"
+ 
+-#: dnf/cli/output.py:1638
++#: dnf/cli/output.py:1518
+ msgid "Command line"
+ msgstr "コマンドライン"
+ 
+ #. TRANSLATORS: user names who executed transaction in history command output
+-#: dnf/cli/output.py:1649
++#: dnf/cli/output.py:1531
+ msgid "User name"
+ msgstr "ユーザー名"
+ 
+-#: dnf/cli/output.py:1651
++#: dnf/cli/output.py:1533
+ msgid "ID"
+ msgstr "ID"
+ 
+-#: dnf/cli/output.py:1653
++#: dnf/cli/output.py:1535
+ msgid "Date and time"
+ msgstr "日時"
+ 
+-#: dnf/cli/output.py:1654
++#: dnf/cli/output.py:1536
+ msgid "Action(s)"
+ msgstr "動作"
+ 
+-#: dnf/cli/output.py:1655
++#: dnf/cli/output.py:1537
+ msgid "Altered"
+ msgstr "変更されました"
+ 
+-#: dnf/cli/output.py:1698
++#: dnf/cli/output.py:1580
+ msgid "No transactions"
+ msgstr "トランザクションがありません"
+ 
+-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
++#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
+ msgid "Failed history info"
+ msgstr "失敗した履歴情報"
+ 
+-#: dnf/cli/output.py:1714
++#: dnf/cli/output.py:1596
+ msgid "No transaction ID, or package, given"
+ msgstr "トランザクション ID、またはパッケージが指定されていません"
+ 
+-#: dnf/cli/output.py:1772
++#: dnf/cli/output.py:1654
+ msgid "Erased"
+ msgstr "削除されました"
+ 
+-#: dnf/cli/output.py:1774
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
++msgid "Downgraded"
++msgstr "ダウングレード済み"
++
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
++msgid "Upgraded"
++msgstr "アップグレード済み"
++
++#: dnf/cli/output.py:1656
+ msgid "Not installed"
+ msgstr "インストールされていません"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Newer"
+ msgstr "新しい"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Older"
+ msgstr "古い"
+ 
+-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
++#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
+ msgid "Transaction ID :"
+ msgstr "トランザクション ID :"
+ 
+-#: dnf/cli/output.py:1828
++#: dnf/cli/output.py:1710
+ msgid "Begin time     :"
+ msgstr "開始時間            :"
+ 
+-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
++#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
+ msgid "Begin rpmdb    :"
+ msgstr "開始 rpmdb          :"
+ 
+-#: dnf/cli/output.py:1839
++#: dnf/cli/output.py:1721
+ #, python-format
+ msgid "(%u seconds)"
+ msgstr "(%u 秒)"
+ 
+-#: dnf/cli/output.py:1841
++#: dnf/cli/output.py:1723
+ #, python-format
+ msgid "(%u minutes)"
+ msgstr "(%u 分)"
+ 
+-#: dnf/cli/output.py:1843
++#: dnf/cli/output.py:1725
+ #, python-format
+ msgid "(%u hours)"
+ msgstr "(%u 時間)"
+ 
+-#: dnf/cli/output.py:1845
++#: dnf/cli/output.py:1727
+ #, python-format
+ msgid "(%u days)"
+ msgstr "(%u 日)"
+ 
+-#: dnf/cli/output.py:1846
++#: dnf/cli/output.py:1728
+ msgid "End time       :"
+ msgstr "終了時間            :"
+ 
+-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
++#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
+ msgid "End rpmdb      :"
+ msgstr "終了 rpmdb          :"
+ 
+-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
++#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
+ msgid "User           :"
+ msgstr "ユーザー            :"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
+ msgid "Aborted"
+ msgstr "中断しました"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
+-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
++#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
+ msgid "Return-Code    :"
+ msgstr "終了コード          :"
+ 
+-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
+ msgid "Success"
+ msgstr "成功"
+ 
+-#: dnf/cli/output.py:1869
++#: dnf/cli/output.py:1751
+ msgid "Failures:"
+ msgstr "失敗:"
+ 
+-#: dnf/cli/output.py:1873
++#: dnf/cli/output.py:1755
+ msgid "Failure:"
+ msgstr "失敗しました:"
+ 
+-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
++#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
+ msgid "Releasever     :"
+ msgstr "Releasever     :"
+ 
+-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
++#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
+ msgid "Command Line   :"
+ msgstr "コマンドライン      :"
+ 
+-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
++#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
+ msgid "Comment        :"
+ msgstr "コメント        :"
+ 
+-#: dnf/cli/output.py:1903
++#: dnf/cli/output.py:1785
+ msgid "Transaction performed with:"
+ msgstr "実行されたトランザクション:"
+ 
+-#: dnf/cli/output.py:1912
++#: dnf/cli/output.py:1794
+ msgid "Packages Altered:"
+ msgstr "変更されたパッケージ:"
+ 
+-#: dnf/cli/output.py:1918
++#: dnf/cli/output.py:1800
+ msgid "Scriptlet output:"
+ msgstr "Scriptlet の出力:"
+ 
+-#: dnf/cli/output.py:1925
++#: dnf/cli/output.py:1807
+ msgid "Errors:"
+ msgstr "エラー:"
+ 
+-#: dnf/cli/output.py:1934
++#: dnf/cli/output.py:1816
+ msgid "Dep-Install"
+ msgstr "Dep-Install"
+ 
+-#: dnf/cli/output.py:1935
++#: dnf/cli/output.py:1817
+ msgid "Obsoleted"
+ msgstr "廃止された"
+ 
+-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
++#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
+ msgid "Obsoleting"
+ msgstr "廃止"
+ 
+-#: dnf/cli/output.py:1937
++#: dnf/cli/output.py:1819
+ msgid "Erase"
+ msgstr "削除"
+ 
+-#: dnf/cli/output.py:1938
++#: dnf/cli/output.py:1820
+ msgid "Reinstall"
+ msgstr "再インストール"
+ 
+-#: dnf/cli/output.py:2016
++#: dnf/cli/output.py:1894
+ #, python-format
+ msgid "---> Package %s.%s %s will be installed"
+ msgstr "---> パッケージ %s.%s %s はインストールされます"
+ 
+-#: dnf/cli/output.py:2018
++#: dnf/cli/output.py:1896
+ #, python-format
+ msgid "---> Package %s.%s %s will be an upgrade"
+ msgstr "---> パッケージ %s.%s %s はアップグレードされます"
+ 
+-#: dnf/cli/output.py:2020
++#: dnf/cli/output.py:1898
+ #, python-format
+ msgid "---> Package %s.%s %s will be erased"
+ msgstr "---> パッケージ %s.%s %s は消去されます"
+ 
+-#: dnf/cli/output.py:2022
++#: dnf/cli/output.py:1900
+ #, python-format
+ msgid "---> Package %s.%s %s will be reinstalled"
+ msgstr "---> パッケージ %s.%s %s は再インストールされます"
+ 
+-#: dnf/cli/output.py:2024
++#: dnf/cli/output.py:1902
+ #, python-format
+ msgid "---> Package %s.%s %s will be a downgrade"
+ msgstr "---> パッケージ %s.%s %s はダウングレードされます"
+ 
+-#: dnf/cli/output.py:2026
++#: dnf/cli/output.py:1904
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleting"
+ msgstr "---> パッケージ %s.%s %s は廃止となります"
+ 
+-#: dnf/cli/output.py:2028
++#: dnf/cli/output.py:1906
+ #, python-format
+ msgid "---> Package %s.%s %s will be upgraded"
+ msgstr "---> パッケージ %s.%s %s はアップグレードされます"
+ 
+-#: dnf/cli/output.py:2030
++#: dnf/cli/output.py:1908
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleted"
+ msgstr "---> パッケージ %s.%s %s は廃止されます"
+ 
+-#: dnf/cli/output.py:2039
++#: dnf/cli/output.py:1917
+ msgid "--> Starting dependency resolution"
+ msgstr "--> 依存関係の解決を開始しました"
+ 
+-#: dnf/cli/output.py:2044
++#: dnf/cli/output.py:1921
+ msgid "--> Finished dependency resolution"
+ msgstr "--> 依存関係の解決が完了しました"
+ 
+-#: dnf/cli/output.py:2058 dnf/crypto.py:132
++#: dnf/cli/output.py:1935 dnf/crypto.py:132
+ #, python-format
+ msgid ""
+ "Importing GPG key 0x%s:\n"
+@@ -3492,10 +3580,6 @@ msgstr "    開始しました   : %s - %s 秒経過"
+ msgid "    State  : %s"
+ msgstr "    状態  : %s"
+ 
+-#: dnf/comps.py:104
+-msgid "skipping."
+-msgstr "スキップします。"
+-
+ #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
+ #, python-format
+ msgid "Module or Group '%s' is not installed."
+@@ -3512,16 +3596,14 @@ msgid "Module or Group '%s' does not exist."
+ msgstr "モジュールまたはグループ '%s' は存在しません。"
+ 
+ #: dnf/comps.py:599
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not installed."
++#, python-format
+ msgid "Environment id '%s' does not exist."
+-msgstr "環境 '%s' はインストールされていません。"
++msgstr "環境 id '%s' は存在しません。"
+ 
+-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not installed."
++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
++#, python-format
+ msgid "Environment id '%s' is not installed."
+-msgstr "環境 '%s' はインストールされていません。"
++msgstr "環境 id '%s' はインストールされていません。"
+ 
+ #: dnf/comps.py:639
+ #, python-format
+@@ -3534,16 +3616,20 @@ msgid "Environment '%s' is not available."
+ msgstr "環境 '%s' は利用不可です。"
+ 
+ #: dnf/comps.py:673
+-#, fuzzy, python-format
+-#| msgid "Group_id '%s' does not exist."
++#, python-format
+ msgid "Group id '%s' does not exist."
+-msgstr "Group_id '%s' は存在しません。"
++msgstr "グループ id '%s' は存在しません。"
+ 
+ #: dnf/conf/config.py:136
+ #, python-format
+ msgid "Error parsing '%s': %s"
+ msgstr "'%s' の解析中にエラーが発生しました: %s"
+ 
++#: dnf/conf/config.py:151
++#, python-format
++msgid "Invalid configuration value: %s=%s in %s; %s"
++msgstr "正しくない設定値: %s=%s in %s; %s"
++
+ #: dnf/conf/config.py:226
+ msgid "Could not set cachedir: {}"
+ msgstr "cachedir を設定できませんでした: {}"
+@@ -3585,36 +3671,36 @@ msgstr "鍵 '%s.%s'、値 '%s' の --setopt を解析中にエラーが発生し
+ msgid "Repo %s did not have a %s attr. before setopt"
+ msgstr "repo %s には setopt の前に %s attr. がありませんでした"
+ 
+-#: dnf/conf/read.py:51
++#: dnf/conf/read.py:60
+ #, python-format
+ msgid "Warning: failed loading '%s', skipping."
+-msgstr "警告:  '%s' のロードに失敗、スキップします。"
++msgstr "警告: '%s' のロードに失敗、スキップします。"
+ 
+-#: dnf/conf/read.py:63
++#: dnf/conf/read.py:72
+ msgid "Bad id for repo: {} ({}), byte = {} {}"
+ msgstr "repo: {} ({}) に正しくないid、 byte = {} {}"
+ 
+-#: dnf/conf/read.py:67
++#: dnf/conf/read.py:76
+ msgid "Bad id for repo: {}, byte = {} {}"
+ msgstr "repo: {} に正しくないid、byte = {} {}"
+ 
+-#: dnf/conf/read.py:75
++#: dnf/conf/read.py:84
+ msgid "Repository '{}' ({}): Error parsing config: {}"
+ msgstr "レポジトリ '{}' ({}): 設定変更エラー: {}"
+ 
+-#: dnf/conf/read.py:78
++#: dnf/conf/read.py:87
+ msgid "Repository '{}': Error parsing config: {}"
+ msgstr "レポジトリ '{}': 設定変更エラー: {}"
+ 
+-#: dnf/conf/read.py:84
++#: dnf/conf/read.py:93
+ msgid "Repository '{}' ({}) is missing name in configuration, using id."
+ msgstr "レポジトリ '{}' ({}) はidを使用した設定内に見つかりません。"
+ 
+-#: dnf/conf/read.py:87
++#: dnf/conf/read.py:96
+ msgid "Repository '{}' is missing name in configuration, using id."
+ msgstr "レポジトリ '{}' idを使用した設定内に見つかりません。"
+ 
+-#: dnf/conf/read.py:104
++#: dnf/conf/read.py:113
+ msgid "Parsing file \"{}\" failed: {}"
+ msgstr "ファイル \"{}\" の解析に失敗しました: {}"
+ 
+@@ -3626,27 +3712,43 @@ msgstr "repo %s: 0x%s はインポート済みです"
+ #: dnf/crypto.py:115
+ #, python-format
+ msgid "repo %s: imported key 0x%s."
+-msgstr "repo %s: インポート済みの鍵 0x%s。"
++msgstr "repo %s: インポート済みのキー 0x%s。"
++
++#: dnf/crypto.py:145
++msgid "Verified using DNS record with DNSSEC signature."
++msgstr "DNSSEC 署名付きの DNS レコードを使用して検証しました。"
+ 
+-#: dnf/db/group.py:293
++#: dnf/crypto.py:147
++msgid "NOT verified using DNS record."
++msgstr "DNS レコードを使用して検証されませんでした。"
++
++#: dnf/crypto.py:184
++#, python-format
++msgid "retrieving repo key for %s unencrypted from %s"
++msgstr "%s から暗号化されていない %s の repo キーを取得しています"
++
++#: dnf/db/group.py:301
+ msgid ""
+ "No available modular metadata for modular package '{}', it cannot be "
+ "installed on the system"
+-msgstr "モジュラーパッケージ '{}' のモジュラーメタデータは利用不可です、システムにインストールはできません"
++msgstr ""
++"モジュラーパッケージ '{}' のモジュラーメタデータは利用不可です、システムにイ"
++"ンストールはできません"
+ 
+-#: dnf/db/group.py:343
++#: dnf/db/group.py:351
+ msgid "No available modular metadata for modular package"
+ msgstr "モジュラーパッケージ のモジュラーメタデータは利用不可です"
+ 
+-#: dnf/db/group.py:377
++#: dnf/db/group.py:385
+ #, python-format
+ msgid "Will not install a source rpm package (%s)."
+ msgstr "ソース rpm パッケージ (%s) をインストールしません。"
+ 
+ #: dnf/dnssec.py:168
+ msgid ""
+-"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
+-msgstr "設定オプション 'gpgkey_dns_verification' は libunbound ({}) が必要です"
++"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
++msgstr ""
++"設定オプション 'gpgkey_dns_verification' は python3-unbound ({}) が必要です"
+ 
+ #: dnf/dnssec.py:239
+ msgid "DNSSEC extension: Key for user "
+@@ -3668,7 +3770,7 @@ msgstr "DNSSEC 拡張: "
+ msgid "Testing already imported keys for their validity."
+ msgstr "すでにインポートされた鍵の有効性をテストします。"
+ 
+-#: dnf/drpm.py:62 dnf/repo.py:268
++#: dnf/drpm.py:62 dnf/repo.py:267
+ #, python-format
+ msgid "unsupported checksum type: %s"
+ msgstr "サポートされていないチェックサム形式: %s"
+@@ -3710,7 +3812,7 @@ msgid "Modular dependency problem with Defaults:"
+ msgid_plural "Modular dependency problems with Defaults:"
+ msgstr[0] "デフォルトのモジュラー依存問題:"
+ 
+-#: dnf/exceptions.py:131 dnf/module/module_base.py:686
++#: dnf/exceptions.py:131 dnf/module/module_base.py:854
+ msgid "Modular dependency problem:"
+ msgid_plural "Modular dependency problems:"
+ msgstr[0] "モジュラーの依存に関する問題:"
+@@ -3719,10 +3821,12 @@ msgstr[0] "モジュラーの依存に関する問題:"
+ #, python-format
+ msgid ""
+ "Malformed lock file found: %s.\n"
+-"Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf."
++"Ensure no other dnf/yum process is running and remove the lock file manually "
++"or run systemd-tmpfiles --remove dnf.conf."
+ msgstr ""
+ "不正な形式のロックファイル: %s 。\n"
+-"他のdnf/yum プロセスが実行されていないことを確認し、ロックファイルを手動削除するかsystemd-tmpfiles --remove dnf.conf を実行してください。"
++"他のdnf/yum プロセスが実行されていないことを確認し、ロックファイルを手動削除"
++"するかsystemd-tmpfiles --remove dnf.conf を実行してください。"
+ 
+ #: dnf/module/__init__.py:26
+ msgid "Enabling different stream for '{}'."
+@@ -3734,7 +3838,8 @@ msgstr "表示するものがありません。"
+ 
+ #: dnf/module/__init__.py:28
+ msgid "Installing newer version of '{}' than specified. Reason: {}"
+-msgstr "指定されたものよりも新しいバージョンの '{}' をインストールします。理由: {}"
++msgstr ""
++"指定されたものよりも新しいバージョンの '{}' をインストールします。理由: {}"
+ 
+ #: dnf/module/__init__.py:29
+ msgid "Enabled modules: {}."
+@@ -3742,9 +3847,51 @@ msgstr "有効なモジュール: {}."
+ 
+ #: dnf/module/__init__.py:30
+ msgid "No profile specified for '{}', please specify profile."
+-msgstr "'{}' に指定したプロファイルはありません。プロファイルを指定してください。"
++msgstr ""
++"'{}' に指定したプロファイルはありません。プロファイルを指定してください。"
++
++#: dnf/module/exceptions.py:27
++msgid "No such module: {}"
++msgstr "次のようなモジュールはありません: {}"
++
++#: dnf/module/exceptions.py:33
++msgid "No such stream: {}"
++msgstr "次のようなストリームはありません: {}"
++
++#: dnf/module/exceptions.py:39
++msgid "No enabled stream for module: {}"
++msgstr "次のモジュールに有効化されたストリームはありません: {}"
++
++#: dnf/module/exceptions.py:46
++msgid "Cannot enable more streams from module '{}' at the same time"
++msgstr "モジュール '{}' から、さらにストリームを同時に有効にできません"
++
++#: dnf/module/exceptions.py:52
++msgid "Different stream enabled for module: {}"
++msgstr "次のモジュールに有効化された異なるストリーム: {}"
++
++#: dnf/module/exceptions.py:58
++msgid "No such profile: {}"
++msgstr "次ようなプロファイルはありません: {}"
++
++#: dnf/module/exceptions.py:64
++msgid "Specified profile not installed for {}"
++msgstr "指定のプロファイルは次にインストールされていません: {}"
++
++#: dnf/module/exceptions.py:70
++msgid "No stream specified for '{}', please specify stream"
++msgstr "'{}' に指定したストリームはありません。ストリームを指定してください"
+ 
+-#: dnf/module/module_base.py:33
++#: dnf/module/exceptions.py:82
++msgid "No such profile: {}. No profiles available"
++msgstr ""
++"次のようなプロファイルはありません: {}。利用できるプロファイルはありません"
++
++#: dnf/module/exceptions.py:88
++msgid "No profile to remove for '{}'"
++msgstr "'{}' の削除するプロファイルがありません"
++
++#: dnf/module/module_base.py:35
+ msgid ""
+ "\n"
+ "\n"
+@@ -3754,7 +3901,7 @@ msgstr ""
+ "\n"
+ "ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled"
+ 
+-#: dnf/module/module_base.py:34
++#: dnf/module/module_base.py:36
+ msgid ""
+ "\n"
+ "\n"
+@@ -3764,80 +3911,110 @@ msgstr ""
+ "\n"
+ "ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive"
+ 
+-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
+-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
++#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
++#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
+ msgid "Ignoring unnecessary profile: '{}/{}'"
+ msgstr "不要なプロファイルを無視します: '{}/{}'"
+ 
+-#: dnf/module/module_base.py:84
++#: dnf/module/module_base.py:86
+ #, python-brace-format
+ msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
+-msgstr "モジュール '{1}:{2}' の引数 '{0}' に一致するものはすべて非アクティブです"
++msgstr ""
++"モジュール '{1}:{2}' の引数 '{0}' に一致するものはすべて非アクティブです"
+ 
+-#: dnf/module/module_base.py:92
++#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
+ #, python-brace-format
+ msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
+-msgstr "フェイルセーフレポジトリー {1} からのモジュール '{0}' インストールは許可されていません"
++msgstr ""
++"フェイルセーフレポジトリー {1} からのモジュール '{0}' インストールは許可され"
++"ていません"
+ 
+-#: dnf/module/module_base.py:102
++#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
+ msgid ""
+ "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
+-msgstr "引数 {} でプロファイルが見つかりません。利用可能プロファイル '{}:{}': {}"
++msgstr ""
++"引数 {} でプロファイルが見つかりません。利用可能プロファイル '{}:{}': {}"
+ 
+-#: dnf/module/module_base.py:106
++#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
+ msgid "Unable to match profile for argument {}"
+ msgstr "引数 {} でプロファイルが見つかりません"
+ 
+-#: dnf/module/module_base.py:118
++#: dnf/module/module_base.py:120
+ msgid "No default profiles for module {}:{}. Available profiles: {}"
+-msgstr "モジュール {}:{} にデフォルトのプロファイルがありません。利用可能プロファイル: {}"
++msgstr ""
++"モジュール {}:{} にデフォルトのプロファイルがありません。利用可能プロファイ"
++"ル: {}"
+ 
+-#: dnf/module/module_base.py:122
++#: dnf/module/module_base.py:124
+ msgid "No profiles for module {}:{}"
+ msgstr "モジュール {}:{} にプロファイルがありません"
+ 
+-#: dnf/module/module_base.py:129
++#: dnf/module/module_base.py:131
+ msgid "Default profile {} not available in module {}:{}"
+ msgstr "デフォルトのプロファイル {} はモジュール {}:{} で利用不可です"
+ 
+-#: dnf/module/module_base.py:142
++#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
+ msgid "Installing module from Fail-Safe repository is not allowed"
+-msgstr "フェイルセーフレポジトリーからのモジュールインストールは許可されていません"
++msgstr ""
++"フェイルセーフレポジトリーからのモジュールインストールは許可されていません"
++
++#: dnf/module/module_base.py:196
++#, python-brace-format
++msgid "No active matches for argument '{0}' in module '{1}:{2}'"
++msgstr "モジュール '{1}:{2}' の引数 '{0}' には、アクティブな一致がありません"
++
++#: dnf/module/module_base.py:228
++#, python-brace-format
++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
++msgstr ""
++"インストールされたプロファイル '{0}' は、モジュール '{1}' ストリーム '{2}' で"
++"は利用できません"
++
++#: dnf/module/module_base.py:267
++msgid "No packages available to distrosync for package name '{}'"
++msgstr "パッケージ名 '{}' 向けに distrosync するパッケージはありません"
+ 
+-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
+-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
+-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
+-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
++#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
++#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
++#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
++#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
+ msgid "Unable to resolve argument {}"
+ msgstr "引数 {} を解決できません"
+ 
+-#: dnf/module/module_base.py:160
+-msgid "No match for package {}"
+-msgstr "パッケージ {} に一致するものはありません"
+-
+-#: dnf/module/module_base.py:204
++#: dnf/module/module_base.py:321
+ #, python-brace-format
+ msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
+-msgstr "フェイルセーフレポジトリー {1} からのモジュール '{0}' アップグレードは許可されていません"
++msgstr ""
++"フェイルセーフレポジトリー {1} からのモジュール '{0}' アップグレードは許可さ"
++"れていません"
+ 
+-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
++#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
+ msgid "Unable to match profile in argument {}"
+ msgstr "引数 {} でプロファイルを一致できません"
+ 
+-#: dnf/module/module_base.py:231
++#: dnf/module/module_base.py:348
+ msgid "Upgrading module from Fail-Safe repository is not allowed"
+-msgstr "フェイルセーフレポジトリーからのモジュールアップグレードは許可されていません"
++msgstr ""
++"フェイルセーフレポジトリーからのモジュールアップグレードは許可されていません"
++
++#: dnf/module/module_base.py:422
++#, python-brace-format
++msgid ""
++"Argument '{argument}' matches {stream_count} streams ('{streams}') of module "
++"'{module}', but none of the streams are enabled or default"
++msgstr ""
++"引数 '{argument}' は、モジュール '{module}' の {stream_count} ストリーム "
++"('{streams}' と一致しますが、有効化されている、あるいはデフォルトのストリーム"
++"はありません"
+ 
+-#: dnf/module/module_base.py:367
++#: dnf/module/module_base.py:509
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'{}'"
++"Only module name is required. Ignoring unneeded information in argument: '{}'"
+ msgstr "モジュール名のみが必要です。引数で不必要な情報を無視します: '{}'"
+ 
+-#: dnf/package.py:298
+-#, python-format
+-msgid "%s: %s check failed: %s vs %s"
+-msgstr "%s: %s の確認に失敗しました: %s vs %s"
++#: dnf/module/module_base.py:841
++msgid "No match for package {}"
++msgstr "パッケージ {} に一致するものはありません"
+ 
+ #. empty file is invalid json format
+ #: dnf/persistor.py:54
+@@ -3848,12 +4025,12 @@ msgstr "%s は空のファイルです"
+ #: dnf/persistor.py:91
+ #, python-format
+ msgid "Failed to load expired repos cache: %s"
+-msgstr ""
++msgstr "期限切れのリポジトリーキャッシュのロードに失敗しました: %s"
+ 
+ #: dnf/persistor.py:99
+ #, python-format
+ msgid "Failed to store expired repos cache: %s"
+-msgstr ""
++msgstr "期限切れのリポジトリーキャッシュの保存に失敗しました: %s"
+ 
+ #: dnf/persistor.py:106
+ msgid "Failed storing last makecache time."
+@@ -3873,16 +4050,16 @@ msgstr "ファイルの解析に失敗しました: %s"
+ msgid "Loaded plugins: %s"
+ msgstr "ロードされたプラグイン: %s"
+ 
+-#: dnf/plugin.py:199
++#: dnf/plugin.py:211
+ #, python-format
+ msgid "Failed loading plugin \"%s\": %s"
+ msgstr "plugin \"%s\" のロードに失敗しました: %s"
+ 
+-#: dnf/plugin.py:231
++#: dnf/plugin.py:243
+ msgid "No matches found for the following enable plugin patterns: {}"
+ msgstr "以下有効プラグインパターンが見つかりません: {}"
+ 
+-#: dnf/plugin.py:235
++#: dnf/plugin.py:247
+ msgid "No matches found for the following disable plugin patterns: {}"
+ msgstr "以下無効プラグインパターンが見つかりません: {}"
+ 
+@@ -3896,7 +4073,7 @@ msgid "Already downloaded"
+ msgstr "ダウンロード済み"
+ 
+ #. pinging mirrors, this might take a while
+-#: dnf/repo.py:347
++#: dnf/repo.py:346
+ #, python-format
+ msgid "determining the fastest mirror (%s hosts).. "
+ msgstr "最速のミラーを確定しています (%s hosts).. "
+@@ -3911,10 +4088,27 @@ msgstr "%s リポジトリーの有効化"
+ msgid "Added %s repo from %s"
+ msgstr "%s から %s repo を追加しました"
+ 
++#: dnf/rpm/miscutils.py:32
++#, python-format
++msgid "Using rpmkeys executable at %s to verify signatures"
++msgstr "%s で rpmkeys 実行可能ファイルを使用して、署名を検証します"
++
++#: dnf/rpm/miscutils.py:66
++msgid "Cannot find rpmkeys executable to verify signatures."
++msgstr "署名を検証する rpmkeys 実行ファイルが見つかりません。"
++
+ #: dnf/rpm/transaction.py:119
+ msgid "Errors occurred during test transaction."
+ msgstr "テストトランザクション中にエラーが発生しました。"
+ 
++#: dnf/sack.py:47
++msgid ""
++"allow_vendor_change is disabled. This option is currently not supported for "
++"downgrade and distro-sync commands"
++msgstr ""
++"allow_vendor_change は無効になっています。このオプションは、downgrade コマン"
++"ドおよび distro-sync コマンドではサポートされていません"
++
+ #. TRANSLATORS: This is for a single package currently being downgraded.
+ #: dnf/transaction.py:80
+ msgctxt "currently"
+@@ -3961,168 +4155,231 @@ msgstr "scriptletの実行中"
+ msgid "Preparing"
+ msgstr "準備"
+ 
+-#: dnf/transaction_sr.py:60
++#: dnf/transaction_sr.py:66
+ #, python-brace-format
+-msgid "Errors in \"{filename}\":"
++msgid ""
++"The following problems occurred while replaying the transaction from file "
++"\"{filename}\":"
+ msgstr ""
++"ファイル \"{filename}\" からのトランザクションの再生中に以下の問題が発生しま"
++"した:"
+ 
+-#: dnf/transaction_sr.py:70
+-#, python-brace-format
+-msgid "Error in \"{filename}\": {error}"
+-msgstr ""
++#: dnf/transaction_sr.py:68
++msgid "The following problems occurred while running a transaction:"
++msgstr "トランザクションの実行中に以下の問題が発生しました:"
+ 
+-#: dnf/transaction_sr.py:87
++#: dnf/transaction_sr.py:89
+ #, python-brace-format
+ msgid "Invalid major version \"{major}\", number expected."
+-msgstr ""
++msgstr "無効なメジャーバージョン \"{major}\"。数字が必要です。"
+ 
+-#: dnf/transaction_sr.py:95
++#: dnf/transaction_sr.py:97
+ #, python-brace-format
+ msgid "Invalid minor version \"{minor}\", number expected."
+-msgstr ""
++msgstr "無効なマイナーバージョン \"{minor}\"。数字が必要です。"
+ 
+-#: dnf/transaction_sr.py:101
++#: dnf/transaction_sr.py:103
+ #, python-brace-format
+ msgid ""
+ "Incompatible major version \"{major}\", supported major version is "
+ "\"{major_supp}\"."
+ msgstr ""
++"互換性のないメジャーバージョン \"{major}\"。サポートされているメジャーバー"
++"ジョンは \"{major_supp}\" です。"
++
++#: dnf/transaction_sr.py:224
++msgid ""
++"Conflicting TransactionReplay arguments have been specified: filename, data"
++msgstr "競合する TransactionReplay 引数が指定されています。filename, data"
+ 
+-#: dnf/transaction_sr.py:244
++#: dnf/transaction_sr.py:265
+ #, python-brace-format
+ msgid "Unexpected type of \"{id}\", {exp} expected."
+-msgstr ""
++msgstr "予期しない {id}\" のタイプ。{exp} が必要です。"
+ 
+-#: dnf/transaction_sr.py:250
++#: dnf/transaction_sr.py:271
+ #, python-brace-format
+ msgid "Missing key \"{key}\"."
+-msgstr ""
++msgstr "\"{key}\" キーがありません。"
+ 
+-#: dnf/transaction_sr.py:263
++#: dnf/transaction_sr.py:285
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an rpm."
+-msgstr ""
++msgstr "オブジェクトキー \"{key}\" が rpm にありません。"
+ 
+-#: dnf/transaction_sr.py:267
++#: dnf/transaction_sr.py:289
+ #, python-brace-format
+-msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
+-msgstr ""
++msgid ""
++"Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
++msgstr "rpm nevra \"{nevra}\" の予期しないパッケージ理由 \"{reason}\" の値。"
+ 
+-#: dnf/transaction_sr.py:275
++#: dnf/transaction_sr.py:297
+ #, python-brace-format
+ msgid "Cannot parse NEVRA for package \"{nevra}\"."
+-msgstr ""
++msgstr "パッケージ \"{nevra}\" の NEVRA を解析できません。"
+ 
+-#: dnf/transaction_sr.py:286
++#: dnf/transaction_sr.py:321
+ #, python-brace-format
+ msgid "Cannot find rpm nevra \"{nevra}\"."
+-msgstr ""
++msgstr "rpm nevra \"{nevra}\" を見つけることはできません。"
+ 
+-#: dnf/transaction_sr.py:301
+-#, fuzzy, python-brace-format
+-#| msgid "Package %s is already installed."
++#: dnf/transaction_sr.py:336
++#, python-brace-format
+ msgid "Package \"{na}\" is already installed for action \"{action}\"."
+-msgstr "パッケージ %s は既にインストールされています。"
++msgstr ""
++"パッケージ \"{na}\" は、アクション \"{action}\" 用に既にインストールされてい"
++"ます。"
+ 
+-#: dnf/transaction_sr.py:311
++#: dnf/transaction_sr.py:345
+ #, python-brace-format
+ msgid ""
+ "Package nevra \"{nevra}\" not available in repositories for action "
+ "\"{action}\"."
+ msgstr ""
++"アクション \"{action}\" に利用できる パッケージ nevra \"{nevra}\" はレポジト"
++"リーにありません。"
+ 
+-#: dnf/transaction_sr.py:322
++#: dnf/transaction_sr.py:356
+ #, python-brace-format
+ msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
+ msgstr ""
++"アクション \"{action}\" には、パッケージ nevra \"{nevra}\" インストールされて"
++"いません。"
+ 
+-#: dnf/transaction_sr.py:336
++#: dnf/transaction_sr.py:370
+ #, python-brace-format
+-msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
++msgid ""
++"Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
++"rpm nevra \"{nevra}\" の、パッケージアクション \"{action}\" の予期しない値。"
+ 
+-#: dnf/transaction_sr.py:343
+-#, fuzzy, python-format
+-#| msgid "Module or Group '%s' is not available."
++#: dnf/transaction_sr.py:377
++#, python-format
+ msgid "Group id '%s' is not available."
+-msgstr "モジュールまたはグループ '%s' は利用不可です。"
++msgstr "グループ id '%s' は利用できません。"
+ 
+-#: dnf/transaction_sr.py:364
++#: dnf/transaction_sr.py:398
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in groups.packages."
+-msgstr ""
++msgstr "オブジェクトキー \"{key}\" が groups.packages に含まれません。"
+ 
+-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
+-#, fuzzy, python-format
+-#| msgid "Module or Group '%s' is not installed."
++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
++#, python-format
+ msgid "Group id '%s' is not installed."
+-msgstr "モジュールまたはグループ '%s' がインストールされていません。"
++msgstr "グループ id '%s' がインストールされていません。"
+ 
+-#: dnf/transaction_sr.py:398
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not available."
++#: dnf/transaction_sr.py:432
++#, python-format
+ msgid "Environment id '%s' is not available."
+-msgstr "環境 '%s' は利用不可です。"
++msgstr "環境 id '%s' は利用できません。"
+ 
+-#: dnf/transaction_sr.py:422
++#: dnf/transaction_sr.py:456
+ #, python-brace-format
+ msgid ""
+ "Invalid value \"{group_type}\" of environments.groups.group_type, only "
+ "\"mandatory\" or \"optional\" is supported."
+ msgstr ""
++"environments.groups.group_type の無効な値 \"{group_type}\"。\"mandatory\" ま"
++"たは \"optional\" のみに対応しています。"
+ 
+-#: dnf/transaction_sr.py:430
++#: dnf/transaction_sr.py:464
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in environments.groups."
+-msgstr ""
++msgstr "オブジェクトキー \"{key}\" が environments.groups に含まれません。"
+ 
+-#: dnf/transaction_sr.py:508
++#: dnf/transaction_sr.py:542
+ #, python-brace-format
+ msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
+ msgstr ""
++"グループ \"{group}\" の グループアクション \"{action}\" の予期しない値。"
+ 
+-#: dnf/transaction_sr.py:513
++#: dnf/transaction_sr.py:547
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in a group."
+-msgstr ""
++msgstr "オブジェクトキー \"{key}\" がグループ内にありません。"
+ 
+-#: dnf/transaction_sr.py:537
++#: dnf/transaction_sr.py:571
+ #, python-brace-format
+-msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
+-msgstr ""
++msgid ""
++"Unexpected value of environment action \"{action}\" for environment "
++"\"{env}\"."
++msgstr "環境 \"{env}\" の環境アクション \"{action}\" の予期しない値。"
+ 
+-#: dnf/transaction_sr.py:542
++#: dnf/transaction_sr.py:576
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an environment."
+-msgstr ""
++msgstr "オブジェクトキー \"{key}\" が環境にありません。"
+ 
+-#: dnf/transaction_sr.py:581
++#: dnf/transaction_sr.py:615
+ #, python-brace-format
+ msgid ""
+-"Package nevra \"{nevra}\", which is not present in the transaction file, was"
+-" pulled into the transaction."
++"Package nevra \"{nevra}\", which is not present in the transaction file, was "
++"pulled into the transaction."
+ msgstr ""
++"トランザクションファイルに存在しないパッケージ nevra \"{nevra}\" がトランザク"
++"ションにプルされていました。"
+ 
+ # translation auto-copied from project jbpm-designer, version 6.0.1, document
+ # org.jbpm/jbpm-designer-
+ # api/resources/org/jbpm/designer/resources/i18n/DesignerConstants, author
+ # nmirasch
+-#: dnf/util.py:391 dnf/util.py:393
++#: dnf/util.py:419 dnf/util.py:421
+ msgid "Problem"
+ msgstr "問題"
+ 
+-#: dnf/util.py:444
++#: dnf/util.py:472
+ msgid "TransactionItem not found for key: {}"
+ msgstr "TransactionItemが見つかりません鍵: {}"
+ 
+-#: dnf/util.py:454
++#: dnf/util.py:482
+ msgid "TransactionSWDBItem not found for key: {}"
+ msgstr "TransactionSWDBItemが見つかりません鍵: {}"
+ 
+-#: dnf/util.py:457
++#: dnf/util.py:485
+ msgid "Errors occurred during transaction."
+ msgstr "トランザクション中にエラーが発生しました。"
+ 
++#: dnf/util.py:621
++msgid "Reinstalled"
++msgstr "再インストール済み"
++
++#: dnf/util.py:622
++msgid "Skipped"
++msgstr "スキップ済み"
++
++#: dnf/util.py:623
++msgid "Removed"
++msgstr "削除しました"
++
++#: dnf/util.py:626
++msgid "Failed"
++msgstr "失敗しました"
++
++#~ msgid "skipping."
++#~ msgstr "スキップします。"
++
++#~ msgid ""
++#~ "Using rpmkeys executable from {path} to verify signature for package: "
++#~ "{package}."
++#~ msgstr ""
++#~ "{path} から実行可能ファイル rpmkeys を使用して、パッケージの署名を検証しま"
++#~ "す: {package}。"
++
++#~ msgid "%s: %s check failed: %s vs %s"
++#~ msgstr "%s: %s の確認に失敗しました: %s vs %s"
++
++#~ msgid "Action not handled: {}"
++#~ msgstr "動作は対処されていません: {}"
++
++#~ msgid "no package matched"
++#~ msgstr "一致したパッケージはありません。"
++
++#~ msgid "Not found given transaction ID"
++#~ msgstr "指定されたトランザクション ID は見つかりません"
++
++#~ msgid "Undoing transaction {}, from {}"
++#~ msgstr "トランザクション {} を {} から取り消しています"
++
+ #~ msgid "format for displaying found packages"
+ #~ msgstr "見つかったパッケージを表示する形式"
+ 
+@@ -4133,5 +4390,7 @@ msgstr "トランザクション中にエラーが発生しました。"
+ #~ msgstr "不正なトランザクション ID、またはパッケージが指定されました"
+ 
+ #~ msgid ""
+-#~ "Display capabilities that the package depends on for running a %%pre script."
+-#~ msgstr "%%pre スクリプトを実行するためにパッケージが依存する機能を表示します。"
++#~ "Display capabilities that the package depends on for running a %%pre "
++#~ "script."
++#~ msgstr ""
++#~ "%%pre スクリプトを実行するためにパッケージが依存する機能を表示します。"
+diff --git a/po/ko.po b/po/ko.po
+index 449f6130..cf15d9cf 100644
+--- a/po/ko.po
++++ b/po/ko.po
+@@ -1,68 +1,70 @@
+ # MinWoo Joh <igtzhsou@naver.com>, 2015. #zanata
+ # Eun-Ju Kim <eukim@redhat.com>, 2016. #zanata
+ # Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2020.
++# simmon <simmon@nplob.com>, 2021.
++# Kim InSoo <simmon@nplob.com>, 2022.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2020-10-05 09:18-0400\n"
+-"PO-Revision-Date: 2020-09-12 11:29+0000\n"
+-"Last-Translator: Ludek Janda <ljanda@redhat.com>\n"
+-"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/dnf-master/ko/>\n"
++"POT-Creation-Date: 2022-02-28 11:24+0100\n"
++"PO-Revision-Date: 2022-03-02 04:16+0000\n"
++"Last-Translator: Kim InSoo <simmon@nplob.com>\n"
++"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/"
++"dnf-rhel-8/ko/>\n"
+ "Language: ko\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+-"X-Generator: Weblate 4.2.2\n"
++"X-Generator: Weblate 4.11\n"
+ 
+ #: dnf/automatic/emitter.py:32
+ #, python-format
+ msgid "The following updates have been applied on '%s':"
+-msgstr "'%s'에 다음 업데이트가 적용되었습니다:"
++msgstr "다음 최신화가 '%s'에 적용되었습니다:"
+ 
+ #: dnf/automatic/emitter.py:33
+-#, fuzzy, python-format
+-#| msgid "Updates applied on '%s'."
++#, python-format
+ msgid "Updates completed at %s"
+-msgstr "'%s'에 업데이트가 적용 되었습니다."
++msgstr "'%s'에 최신화가 적용 되었습니다"
+ 
+ #: dnf/automatic/emitter.py:34
+ #, python-format
+ msgid "The following updates are available on '%s':"
+-msgstr "'%s'에서 다음 업데이트를 사용할 수 있습니다:"
++msgstr "다음 최신화가 '%s'에서 사용 할 수 있습니다:"
+ 
+ #: dnf/automatic/emitter.py:35
+ #, python-format
+ msgid "The following updates were downloaded on '%s':"
+-msgstr "'%s'에 다음 업데이트가 다운로드되었습니다:"
++msgstr "'%s'에 다음 최신화가 내려받기 되었습니다:"
+ 
+ #: dnf/automatic/emitter.py:83
+ #, python-format
+ msgid "Updates applied on '%s'."
+-msgstr "'%s'에 업데이트가 적용되었습니다."
++msgstr "'%s'에서 적용되어 최신화되었습니다."
+ 
+ #: dnf/automatic/emitter.py:85
+ #, python-format
+ msgid "Updates downloaded on '%s'."
+-msgstr "'%s'에 업데이트가 다운로드되었습니다."
++msgstr "'%s'에 최신화가 내려받기 되었습니다."
+ 
+ #: dnf/automatic/emitter.py:87
+ #, python-format
+ msgid "Updates available on '%s'."
+-msgstr "'%s'에서 업데이트가 가능합니다."
++msgstr "'%s'에서 가능한 최신화입니다."
+ 
+ #: dnf/automatic/emitter.py:110
+ #, python-format
+ msgid "Failed to send an email via '%s': %s"
+-msgstr "'%s'를 통한 이메일 전송을 실패했습니다: %s"
++msgstr "'%s'를 통한 전자우편 전송을 실패했습니다: %s"
+ 
+ #: dnf/automatic/emitter.py:140
+ #, python-format
+ msgid "Failed to execute command '%s': returned %d"
+ msgstr "명령’%s'을 실행하지 못했습니다: %d를 반환했습니다"
+ 
+-#: dnf/automatic/main.py:164 dnf/conf/config.py:151
++#: dnf/automatic/main.py:164
+ #, python-format
+ msgid "Unknown configuration value: %s=%s in %s; %s"
+ msgstr "알 수없는 설정: %s=%s in %s; %s"
+@@ -72,26 +74,26 @@ msgstr "알 수없는 설정: %s=%s in %s; %s"
+ msgid "Unknown configuration option: %s = %s in %s"
+ msgstr "알 수없는 옵션 : %s = %s in %s"
+ 
+-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
++#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
+ msgid "GPG check FAILED"
+ msgstr "GPG 확인 실패"
+ 
+ #: dnf/automatic/main.py:274
+ msgid "Waiting for internet connection..."
+-msgstr ""
++msgstr "인터넷 연결을 위한 대기..."
+ 
+ #: dnf/automatic/main.py:304
+ msgid "Started dnf-automatic."
+ msgstr "dnf-automatic을 시작했습니다."
+ 
+ #: dnf/automatic/main.py:308
+-#, python-format
+-msgid "Sleep for %s seconds"
+-msgstr "%s 초 동안 절전합니다"
++msgid "Sleep for {} second"
++msgid_plural "Sleep for {} seconds"
++msgstr[0] "{} 초 동안 절전합니다"
+ 
+ #: dnf/automatic/main.py:315
+ msgid "System is off-line."
+-msgstr ""
++msgstr "네트웍 끊김."
+ 
+ #: dnf/automatic/main.py:344 dnf/cli/main.py:59 dnf/cli/main.py:80
+ #: dnf/cli/main.py:83
+@@ -99,442 +101,436 @@ msgstr ""
+ msgid "Error: %s"
+ msgstr "오류: %s"
+ 
+-#: dnf/base.py:146
++#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
+ msgid "loading repo '{}' failure: {}"
+-msgstr "repo '{}'의 로드에 실패했습니다 : {}"
++msgstr "repo '{}'의 적재에 실패했습니다 : {}"
+ 
+-#: dnf/base.py:148
++#: dnf/base.py:150
+ msgid "Loading repository '{}' has failed"
+-msgstr "리포지토리 '{}'의 로드에 실패했습니다"
++msgstr "저장소 '{}'의 적재하기가 실패했습니다"
+ 
+-#: dnf/base.py:320
++#: dnf/base.py:327
+ msgid "Metadata timer caching disabled when running on metered connection."
+-msgstr "데이터 통신 연결을 사용할 때 메타 데이터 타이머 캐싱을 비활성화합니다."
++msgstr ""
++"데이터 통신 연결을 사용 할 때에 메타 자료 타이머 캐싱을 비활성화합니다."
+ 
+-#: dnf/base.py:325
++#: dnf/base.py:332
+ msgid "Metadata timer caching disabled when running on a battery."
+-msgstr "배터리를 사용할할 때 메타 데이터 타이머 캐싱을 비활성화합니다."
++msgstr "배터리에서 동작 할 때에 메타자료 타이머 캐싱을 비활성화합니다."
+ 
+-#: dnf/base.py:330
++#: dnf/base.py:337
+ msgid "Metadata timer caching disabled."
+-msgstr "메타 데이터 타이머 캐싱이 비활성화되었습니다."
++msgstr "메타자료 타이머 캐싱이 비활성화되었습니다."
+ 
+-#: dnf/base.py:335
++#: dnf/base.py:342
+ msgid "Metadata cache refreshed recently."
+-msgstr "최근에 메타 데이터 캐시가 새로 고쳐졌습니다."
++msgstr "최근에 메타 자료 캐쉬가 새로 고쳐졌습니다."
+ 
+-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
++#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
+ msgid "There are no enabled repositories in \"{}\"."
+ msgstr "\"{}\"에 사용 가능한 저장소가 없습니다."
+ 
+-#: dnf/base.py:348
++#: dnf/base.py:355
+ #, python-format
+ msgid "%s: will never be expired and will not be refreshed."
+ msgstr "%s: 만료되지 않고 새로 고침되지 않습니다."
+ 
+-#: dnf/base.py:350
++#: dnf/base.py:357
+ #, python-format
+ msgid "%s: has expired and will be refreshed."
+ msgstr "%s: 만료되어 새로 고침됩니다."
+ 
+ #. expires within the checking period:
+-#: dnf/base.py:354
++#: dnf/base.py:361
+ #, python-format
+ msgid "%s: metadata will expire after %d seconds and will be refreshed now"
+-msgstr "%s: 메타 데이터는 %d 초 이후에 만료되며 이제 새로 고침됩니다."
++msgstr "%s: 메타 데이터는 %d 초 이후에 만료되며 이제 새로 고침됩니다"
+ 
+-#: dnf/base.py:358
++#: dnf/base.py:365
+ #, python-format
+ msgid "%s: will expire after %d seconds."
+ msgstr "%s: %d 초 후에 만료됩니다."
+ 
+ #. performs the md sync
+-#: dnf/base.py:364
++#: dnf/base.py:371
+ msgid "Metadata cache created."
+-msgstr "메타 데이터 캐시가 생성되었습니다."
++msgstr "메타 자료 캐쉬가 생성되었습니다."
+ 
+-#: dnf/base.py:397
++#: dnf/base.py:404 dnf/base.py:471
+ #, python-format
+ msgid "%s: using metadata from %s."
+-msgstr "%s: %s에서 메타 데이터 사용 중"
++msgstr "%s: 메타 자료 사용 중 %s."
+ 
+-#: dnf/base.py:409
++#: dnf/base.py:416 dnf/base.py:484
+ #, python-format
+ msgid "Ignoring repositories: %s"
+-msgstr "리포지토리를 무시합니다: %s"
++msgstr "저장소를 무시합니다: %s"
+ 
+-#: dnf/base.py:412
++#: dnf/base.py:419
+ #, python-format
+ msgid "Last metadata expiration check: %s ago on %s."
+-msgstr "마지막 메타 데이터 만료 확인 :%s. %s 이전에 확인"
++msgstr "마지막 메타자료 만료확인 %s 이전인: %s."
+ 
+-#: dnf/base.py:443
++#: dnf/base.py:512
+ msgid ""
+ "The downloaded packages were saved in cache until the next successful "
+ "transaction."
+-msgstr "다운로드된 패키지는 다음 번 성공적인 트랜잭션까지 캐시에 저장됩니다."
++msgstr "내려받기된 꾸러미는 다음 번 성공적인 연결까지 캐쉬에 저장됩니다."
+ 
+-#: dnf/base.py:445
++#: dnf/base.py:514
+ #, python-format
+ msgid "You can remove cached packages by executing '%s'."
+-msgstr "'%s'을/를 실행하여 캐시 패키지를 삭제할 수 있습니다."
++msgstr "'%s' 를 실행하여 캐쉬 꾸러미를 삭제 할 수 있습니다."
+ 
+-#: dnf/base.py:535
++#: dnf/base.py:606
+ #, python-format
+ msgid "Invalid tsflag in config file: %s"
+ msgstr "설정 파일에서 tsflag 사용이 잘못되었습니다: %s"
+ 
+-#: dnf/base.py:591
++#: dnf/base.py:662
+ #, python-format
+ msgid "Failed to add groups file for repository: %s - %s"
+ msgstr "리포지토리의 그룹 파일을 추가하지 못했습니다. %s - %s"
+ 
+-#: dnf/base.py:823
++#: dnf/base.py:904
+ msgid "Running transaction check"
+-msgstr "트랜잭션 확인 실행 중"
++msgstr "연결 확인 실행 중"
+ 
+-#: dnf/base.py:831
++#: dnf/base.py:912
+ msgid "Error: transaction check vs depsolve:"
+-msgstr "오류 : 트랜잭션 확인 및 종속성 해결 오류"
++msgstr "오류: 연결 확인 및 종속성 해결 오류:"
+ 
+-#: dnf/base.py:837
++#: dnf/base.py:918
+ msgid "Transaction check succeeded."
+-msgstr "트랜잭션 확인에 성공했습니다."
++msgstr "연결 확인에 성공했습니다."
+ 
+-#: dnf/base.py:840
++#: dnf/base.py:921
+ msgid "Running transaction test"
+-msgstr "트랜잭션 테스트 실행 중"
++msgstr "연결 시험 실행 중"
+ 
+-#: dnf/base.py:850 dnf/base.py:992
++#: dnf/base.py:931 dnf/base.py:1082
+ msgid "RPM: {}"
+ msgstr "RPM: {}"
+ 
+-#: dnf/base.py:851
++#: dnf/base.py:932
+ msgid "Transaction test error:"
+-msgstr "트랜잭션 테스트 오류:"
++msgstr "연결 시험 오류:"
+ 
+-#: dnf/base.py:862
++#: dnf/base.py:943
+ msgid "Transaction test succeeded."
+-msgstr "트랜잭션 테스트에 성공했습니다."
++msgstr "연결 시험에 성공했습니다."
+ 
+-#: dnf/base.py:883
++#: dnf/base.py:964
+ msgid "Running transaction"
+-msgstr "트랜잭션 실행 중"
++msgstr "연결 실행 중"
+ 
+-#: dnf/base.py:911
++#: dnf/base.py:1001
+ msgid "Disk Requirements:"
+ msgstr "디스크 요구 사항 :"
+ 
+-#: dnf/base.py:914
++#: dnf/base.py:1004
+ #, python-brace-format
+ msgid "At least {0}MB more space needed on the {1} filesystem."
+ msgid_plural "At least {0}MB more space needed on the {1} filesystem."
+ msgstr[0] "{1} 파일 시스템에 최소 {0}MB의 공간이 더 필요합니다."
+ 
+-#: dnf/base.py:921
++#: dnf/base.py:1011
+ msgid "Error Summary"
+ msgstr "오류 요약"
+ 
+-#: dnf/base.py:947
++#: dnf/base.py:1037
+ #, python-brace-format
+ msgid "RPMDB altered outside of {prog}."
+ msgstr "RPMDB는 {prog} 외부에서 변경되었습니다."
+ 
+-#: dnf/base.py:993 dnf/base.py:1001
++#: dnf/base.py:1083 dnf/base.py:1091
+ msgid "Could not run transaction."
+-msgstr "트랜잭션을 실행할 수 없습니다."
++msgstr "연결를 실행 할 수 없습니다."
+ 
+-#: dnf/base.py:996
++#: dnf/base.py:1086
+ msgid "Transaction couldn't start:"
+-msgstr "트랜잭션을 시작할 수 없습니다 :"
++msgstr "연결을 시작 할 수 없습니다 :"
+ 
+-#: dnf/base.py:1010
++#: dnf/base.py:1100
+ #, python-format
+ msgid "Failed to remove transaction file %s"
+-msgstr "%s 트랜잭션 파일을 삭제하지 못했습니다"
++msgstr "%s 연결 파일을 삭제하지 못했습니다"
+ 
+-#: dnf/base.py:1092
++#: dnf/base.py:1182
+ msgid "Some packages were not downloaded. Retrying."
+-msgstr "일부 패키지가 다운로드되지 않았습니다. 다시 시도 중입니다."
++msgstr "일부 꾸러미를 내려받지 못했습니다. 다시 시도합니다."
+ 
+-#: dnf/base.py:1122
++#: dnf/base.py:1212
+ #, python-format
+ msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
+-msgstr "Delta RPM이 %.1f MB의 업데이트를 %.1f MB로 줄였습니다. (%d.1 %% 절약됨)"
++msgstr "델타 RPM이 %.1f MB의 최신화를 %.1f MB로 줄였습니다. (%d.1%% 절약됨)"
+ 
+-#: dnf/base.py:1125
++#: dnf/base.py:1215
+ #, python-format
+ msgid ""
+ "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
+-msgstr "Delta RPM은 %.1f MB의 업데이트를 %.1f MB로 줄이는데 실패했습니다. (%d.1 %% 손실됨)"
++msgstr ""
++"Delta RPM은 %.1f MB의 최신화를 %.1f MB로 줄이는데 실패했습니다. (%d.1 %% 손실"
++"됨)"
+ 
+-#: dnf/base.py:1167
++#: dnf/base.py:1257
+ msgid "Cannot add local packages, because transaction job already exists"
+-msgstr "트랜잭션 작업이 이미 존재하므로 로컬 패키지를 추가할 수 없습니다"
++msgstr "연결 작업이 이미 존재하므로 로컬 꾸러미를 추가할 수 없습니다"
+ 
+-#: dnf/base.py:1181
++#: dnf/base.py:1271
+ msgid "Could not open: {}"
+ msgstr "열 수 없음 : {}"
+ 
+-#: dnf/base.py:1219
++#: dnf/base.py:1309
+ #, python-format
+ msgid "Public key for %s is not installed"
+-msgstr "%s의 공개 키는 설치되어 있지 않습니다."
++msgstr "%s의 공개 키는 설치되어 있지 않습니다"
+ 
+-#: dnf/base.py:1223
++#: dnf/base.py:1313
+ #, python-format
+ msgid "Problem opening package %s"
+-msgstr "%s 패키지를 여는 중에 문제가 발생했습니다"
++msgstr "%s 꾸러미를 여는 중에 문제가 발생했습니다"
+ 
+-#: dnf/base.py:1231
++#: dnf/base.py:1321
+ #, python-format
+ msgid "Public key for %s is not trusted"
+-msgstr "%s의 공개 키는 신뢰할 수 없습니다"
++msgstr "%s의 공개 키는 신뢰 할 수 없습니다"
+ 
+-#: dnf/base.py:1235
++#: dnf/base.py:1325
+ #, python-format
+ msgid "Package %s is not signed"
+-msgstr "%s 패키지가 서명되지 않았습니다"
++msgstr "%s 꾸러미가 서명되지 않았습니다"
+ 
+-#: dnf/base.py:1265
++#: dnf/base.py:1355
+ #, python-format
+ msgid "Cannot remove %s"
+-msgstr "%s을/를 삭제할 수 없습니다."
++msgstr "%s를 삭제 할 수 없습니다"
+ 
+-#: dnf/base.py:1269
++#: dnf/base.py:1359
+ #, python-format
+ msgid "%s removed"
+ msgstr "%s가 삭제되었습니다"
+ 
+-#: dnf/base.py:1549
++#: dnf/base.py:1639
+ msgid "No match for group package \"{}\""
+-msgstr "그룹 패키지 \"{}\"에 일치하는 항목이 없습니다"
++msgstr "그룹 꾸러미 \"{}\"에 일치하는 항목이 없습니다"
+ 
+-#: dnf/base.py:1635
++#: dnf/base.py:1721
+ #, python-format
+ msgid "Adding packages from group '%s': %s"
+-msgstr "'%s' 그룹에서 패키지 추가: %s"
++msgstr "'%s' 그룹에서 꾸러미 추가: %s"
+ 
+-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
+-#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
+-#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
++#: dnf/base.py:1744 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
++#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
++#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
+ #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
+ msgid "Nothing to do."
+-msgstr "처리가 필요하지 않습니다"
++msgstr "처리가 필요하지 않습니다."
+ 
+-#: dnf/base.py:1676
++#: dnf/base.py:1762
+ msgid "No groups marked for removal."
+-msgstr "제거할 패키지 그룹이 없습니다"
++msgstr "제거할 꾸러미 그룹이 없습니다."
+ 
+-#: dnf/base.py:1710
++#: dnf/base.py:1796
+ msgid "No group marked for upgrade."
+-msgstr "업그레이드용으로 표시된 그룹이 없습니다."
++msgstr "향상을 위해 표시된 그룹이 없습니다."
+ 
+-#: dnf/base.py:1925
++#: dnf/base.py:2010
+ #, python-format
+ msgid "Package %s not installed, cannot downgrade it."
+-msgstr "%s 패키지가 설치되어 있지 않기 때문에 다운 그레이드할 수 없습니다."
++msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 하향설치 할 수 없습니다."
+ 
+-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
+-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
+-#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
+-#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
+-#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
++#: dnf/base.py:2012 dnf/base.py:2031 dnf/base.py:2044 dnf/base.py:2071
++#: dnf/base.py:2124 dnf/base.py:2132 dnf/base.py:2266 dnf/cli/cli.py:417
++#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
++#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
++#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
+ #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
+-#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
++#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
+ #, python-format
+ msgid "No match for argument: %s"
+-msgstr "일치하는 인수가 없습니다 : %s"
++msgstr "인수가 일치하지 않습니다: %s"
+ 
+-#: dnf/base.py:1934
++#: dnf/base.py:2019
+ #, python-format
+ msgid "Package %s of lower version already installed, cannot downgrade it."
+-msgstr "%s 패키지의 하위 버전이 이미 설치되어 있으므로 다운 그레이드할 수 없습니다."
++msgstr ""
++"%s 꾸러미의 하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
+ 
+-#: dnf/base.py:1957
++#: dnf/base.py:2042
+ #, python-format
+ msgid "Package %s not installed, cannot reinstall it."
+-msgstr "%s 패키지가 설치되어 있지 않기 때문에 다시 설치할 수 없습니다."
++msgstr "꾸러미 %s가 설치되지 않아서, 다시 설치 할 수 없습니다."
+ 
+-#: dnf/base.py:1972
++#: dnf/base.py:2057
+ #, python-format
+ msgid "File %s is a source package and cannot be updated, ignoring."
+-msgstr "%s 파일은 소스 패키지이며 업데이트할 수 없습니다. 무시합니다."
++msgstr "%s 파일은 소스 꾸러미이며 최신화 할 수 없습니다. 무시합니다."
+ 
+-#: dnf/base.py:1978
++#: dnf/base.py:2068
+ #, python-format
+ msgid "Package %s not installed, cannot update it."
+-msgstr "%s 패키지가 설치되어 있지 않기 때문에 업데이트할 수 없습니다."
++msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 최신화 할 수 없습니다."
+ 
+-#: dnf/base.py:1987
++#: dnf/base.py:2078
+ #, python-format
+ msgid ""
+ "The same or higher version of %s is already installed, cannot update it."
+-msgstr "%s 이상의 버전이 이미 설치되어 있으므로 업데이트할 수 없습니다."
++msgstr "%s 이상의 버전이 이미 설치되어 있으므로 최신화 할 수 없습니다."
+ 
+-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
++#: dnf/base.py:2121 dnf/cli/commands/reinstall.py:81
+ #, python-format
+ msgid "Package %s available, but not installed."
+-msgstr "%s 패키지는 사용할 수는 있지만 설치되어 있지 않습니다."
++msgstr "%s 꾸러미는 사용할 수는 있지만 설치되어 있지 않습니다."
+ 
+-#: dnf/base.py:2032
++#: dnf/base.py:2127
+ #, python-format
+ msgid "Package %s available, but installed for different architecture."
+-msgstr "%s 패키지는 사용 가능하지만 다른 아키텍처 용으로 설치되어 있습니다."
++msgstr "%s 꾸러미는 사용 가능하지만 다른 구조용으로 설치되어 있습니다."
+ 
+-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
++#: dnf/base.py:2152
+ #, python-format
+ msgid "No package %s installed."
+-msgstr "%s 패키지는 설치되어 있지 않습니다"
++msgstr "%s 꾸러미는 설치되어 있지 않습니다."
+ 
+-#: dnf/base.py:2075 dnf/cli/commands/install.py:136
++#: dnf/base.py:2170 dnf/cli/commands/install.py:136
+ #: dnf/cli/commands/remove.py:133
+ #, python-format
+ msgid "Not a valid form: %s"
+ msgstr "잘못된 형식: %s"
+ 
+-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
+-#: dnf/cli/commands/remove.py:163
++#: dnf/base.py:2185 dnf/cli/commands/__init__.py:676
++#: dnf/cli/commands/remove.py:162
+ msgid "No packages marked for removal."
+-msgstr "제거 대상 패키지가 없습니다."
++msgstr "제거 대상 꾸러미가 없습니다."
+ 
+-#: dnf/base.py:2179 dnf/cli/cli.py:422
++#: dnf/base.py:2273 dnf/cli/cli.py:428
+ #, python-format
+ msgid "Packages for argument %s available, but not installed."
+-msgstr "%s 인수에 대한 패키지를 사용할 수 있지만 설치되어 있지 않습니다."
++msgstr "%s 인수에 대한 꾸러미를 사용할 수 있지만 설치되어 있지 않습니다."
+ 
+-#: dnf/base.py:2184
++#: dnf/base.py:2278
+ #, python-format
+ msgid "Package %s of lowest version already installed, cannot downgrade it."
+-msgstr "%s 패키지의 최하위 버전이 이미 설치되어 있으므로 다운 그레이드할 수 없습니다."
+-
+-#: dnf/base.py:2242
+-msgid "Action not handled: {}"
+-msgstr "작업이 처리되지 않았습니다: {}"
+-
+-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
+-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
+-#, python-format
+-msgid "No package %s available."
+-msgstr "사용 가능한 패키지 %s가 없습니다."
+-
+-#: dnf/base.py:2269
+-msgid "no package matched"
+-msgstr "일치하는 패키지가 없습니다."
++msgstr ""
++"%s 꾸러미의 최하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
+ 
+-#: dnf/base.py:2290
++#: dnf/base.py:2378
+ msgid "No security updates needed, but {} update available"
+-msgstr "보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다"
++msgstr "보안 최신화가 필요하지 않지만, {} 최신화가 가능합니다"
+ 
+-#: dnf/base.py:2292
++#: dnf/base.py:2380
+ msgid "No security updates needed, but {} updates available"
+-msgstr "보안 업데이트는 필요하지 않지만 {} 업데이트가 가능합니다"
++msgstr "보안 최신화는 필요하지 않지만 {} 최신화는 가능합니다"
+ 
+-#: dnf/base.py:2296
++#: dnf/base.py:2384
+ msgid "No security updates needed for \"{}\", but {} update available"
+-msgstr "\"{}\"에는 보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다"
++msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다"
+ 
+-#: dnf/base.py:2298
++#: dnf/base.py:2386
+ msgid "No security updates needed for \"{}\", but {} updates available"
+-msgstr "\"{}\"에는 보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다"
++msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다"
+ 
+ #. raise an exception, because po.repoid is not in self.repos
+-#: dnf/base.py:2319
++#: dnf/base.py:2407
+ #, python-format
+ msgid "Unable to retrieve a key for a commandline package: %s"
+-msgstr ""
++msgstr "명령줄 꾸러미: %s 대한 키를 검색 할 수 없습니다"
+ 
+-#: dnf/base.py:2327
++#: dnf/base.py:2415
+ #, python-format
+ msgid ". Failing package is: %s"
+-msgstr "실패한 패키지는 다음과 같습니다. %s"
++msgstr "실패한 꾸러미는 다음과 같습니다. %s"
+ 
+-#: dnf/base.py:2328
++#: dnf/base.py:2416
+ #, python-format
+ msgid "GPG Keys are configured as: %s"
+ msgstr "GPG 키는 다음과 같이 설정되어 있습니다. %s"
+ 
+-#: dnf/base.py:2340
++#: dnf/base.py:2428
+ #, python-format
+ msgid "GPG key at %s (0x%s) is already installed"
+ msgstr "%s (0x%s)의 GPG 키가 이미 설치되어 있습니다"
+ 
+-#: dnf/base.py:2373
++#: dnf/base.py:2464
+ msgid "The key has been approved."
+ msgstr "키가 승인되었습니다."
+ 
+-#: dnf/base.py:2376
++#: dnf/base.py:2467
+ msgid "The key has been rejected."
+ msgstr "키가 거부되었습니다."
+ 
+-#: dnf/base.py:2409
++#: dnf/base.py:2500
+ #, python-format
+ msgid "Key import failed (code %d)"
+ msgstr "키 가져 오기에 실패했습니다 (코드 %d)"
+ 
+-#: dnf/base.py:2411
++#: dnf/base.py:2502
+ msgid "Key imported successfully"
+ msgstr "키 가져오기에 성공했습니다"
+ 
+-#: dnf/base.py:2415
++#: dnf/base.py:2506
+ msgid "Didn't install any keys"
+ msgstr "키를 하나도 설치하지 못했습니다"
+ 
+-#: dnf/base.py:2418
++#: dnf/base.py:2509
+ #, python-format
+ msgid ""
+-"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
++"The GPG keys listed for the \"%s\" repository are already installed but they "
++"are not correct for this package.\n"
+ "Check that the correct key URLs are configured for this repository."
+ msgstr ""
+-"해당 GPG 키는 \"%s\"저장소가 이미 설치되어 있지만이 패키지에 맞지 않습니다.\n"
++"해당 GPG 키는 \"%s\"저장소가 이미 설치되어 있지만이 꾸러미에 맞지 않습니다.\n"
+ "이 저장소에 대해 올바른 키 URL이 구성되었는지 확인하십시오."
+ 
+-#: dnf/base.py:2429
++#: dnf/base.py:2520
+ msgid "Import of key(s) didn't help, wrong key(s)?"
+ msgstr "가져온 키에 문제가 있습니다. 잘못된 키입니까?"
+ 
+-#: dnf/base.py:2482
++#: dnf/base.py:2573
+ msgid "  * Maybe you meant: {}"
+-msgstr "  * 다음을 의미할 수도 있습니다: {}"
++msgstr "  * 다음을 의미 할 수도 있습니다: {}"
+ 
+-#: dnf/base.py:2514
++#: dnf/base.py:2605
+ msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
+-msgstr "로컬 저장소 \"{}\"의 \"{}\"패키지에 잘못된 체크섬이 있습니다"
++msgstr "로컬 저장소 \"{}\"의 \"{}\"꾸러미에 잘못된 체크섬이 있습니다"
+ 
+-#: dnf/base.py:2517
++#: dnf/base.py:2608
+ msgid "Some packages from local repository have incorrect checksum"
+-msgstr "로컬 저장소의 일부 패키지에 잘못된 체크섬이 있습니다"
++msgstr "로컬 저장소의 일부 꾸러미에 잘못된 체크섬이 있습니다"
+ 
+-#: dnf/base.py:2520
++#: dnf/base.py:2611
+ msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
+-msgstr "저장소 \"{}\"의 패키지 \"{}\"에 잘못된 체크섬이 있습니다"
++msgstr "저장소 \"{}\"의 꾸러미 \"{}\"에 잘못된 체크섬이 있습니다"
+ 
+-#: dnf/base.py:2523
++#: dnf/base.py:2614
+ msgid ""
+ "Some packages have invalid cache, but cannot be downloaded due to \"--"
+ "cacheonly\" option"
+-msgstr "일부 패키지에는 유효하지 않은 캐시가 있지만 \"--cacheonly\"옵션으로 인해 다운로드할 수 없습니다"
++msgstr ""
++"일부 꾸러미에는 유효하지 않은 캐쉬가 있지만 \"--cacheonly\"옵션으로 인해 내려"
++"받기 할 수 없습니다"
+ 
+-#: dnf/base.py:2541 dnf/base.py:2561
++#: dnf/base.py:2632 dnf/base.py:2652
+ msgid "No match for argument"
+ msgstr "일치하는 인수가 없습니다"
+ 
+-#: dnf/base.py:2549 dnf/base.py:2569
++#: dnf/base.py:2640 dnf/base.py:2660
+ msgid "All matches were filtered out by exclude filtering for argument"
+ msgstr "모든 일치 항목이 인수의 제외 필터로 필터링되었습니다"
+ 
+-#: dnf/base.py:2551
++#: dnf/base.py:2642
+ msgid "All matches were filtered out by modular filtering for argument"
+ msgstr "모든 일치 항목이 인수의 모듈식 필터로 필터링되었습니다"
+ 
+-#: dnf/base.py:2567
++#: dnf/base.py:2658
+ msgid "All matches were installed from a different repository for argument"
+ msgstr "모든 일치 항목이 인수의 다른 리포지토리에서 설치되었습니다"
+ 
+-#: dnf/base.py:2583
++#: dnf/base.py:2705
+ #, python-format
+ msgid "Package %s is already installed."
+-msgstr "패키지 %s이/가 이미 설치되어 있습니다."
++msgstr "꾸러미 %s가 이미 설치되어 있습니다."
+ 
+ #: dnf/cli/aliases.py:96
+ #, python-format
+@@ -551,8 +547,8 @@ msgstr "\"%s\" 파일의 구문 분석에 실패했습니다 : %s"
+ msgid "Cannot read file \"%s\": %s"
+ msgstr "\"%s\" 파일을 읽을 수 없습니다: %s"
+ 
+-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
+-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
++#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
+ #, python-format
+ msgid "Config error: %s"
+ msgstr "설정 오류: %s"
+@@ -564,17 +560,17 @@ msgstr "별칭에는 무한 재귀가 포함되어 있습니다"
+ #: dnf/cli/aliases.py:209
+ #, python-format
+ msgid "%s, using original arguments."
+-msgstr "%s, 원래 인수를 사용하고 있습니다"
++msgstr "%s, 원래 인수를 사용."
+ 
+ #: dnf/cli/cli.py:137
+ #, python-format
+ msgid "  Installed: %s-%s at %s"
+-msgstr "  설치됨:  %s-%s (일시: %s)"
++msgstr "  설치되었습니다: %s-%s (일시: %s)"
+ 
+ #: dnf/cli/cli.py:139
+ #, python-format
+ msgid "  Built    : %s at %s"
+-msgstr "  빌드됨    :%s (일시: %s)"
++msgstr "  구성 :%s (일시: %s)"
+ 
+ #: dnf/cli/cli.py:147
+ #, python-brace-format
+@@ -583,44 +579,50 @@ msgid ""
+ "stream '{2}'"
+ msgstr "이 작업은 '{0}' 모듈을 '{1}' 스트림에서 ‘{2}' 스트림으로 전환합니다"
+ 
+-#: dnf/cli/cli.py:172
++#: dnf/cli/cli.py:173
+ #, python-brace-format
+ msgid ""
+-"It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
++"It is not possible to switch enabled streams of a module unless explicitly "
++"enabled via configuration option module_stream_switch.\n"
++"It is recommended to rather remove all installed content from the module, "
++"and reset the module using '{prog} module reset <module_name>' command. "
++"After you reset the module, you can install the other stream."
+ msgstr ""
+-"활성화된 모듈 스트림을 전환 할 수 없습니다.\n"
+-"설치된 모든 내용을 모듈에서 제거하고 ‘{prog} module reset <module_name>' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후 다른 스트림을 설치할 수 있습니다."
++"구성 옵션 module_stream_switch를 통해 명시적으로 활성화하지 않는 한 활성화된 "
++"모듈 스트림을 전환 할 수 없습니다.\n"
++"설치된 모든 내용을 모듈에서 제거하고 ‘{prog} module reset <module_name>' 명령"
++"을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후 다른 스트림"
++"을 설치 할 수 있습니다."
+ 
+-#: dnf/cli/cli.py:210
++#: dnf/cli/cli.py:212
+ #, python-brace-format
+ msgid "{prog} will only download packages for the transaction."
+-msgstr "{prog}은/는 트랜잭션용 패키지 만 다운로드합니다."
++msgstr "{prog}은/는 연결용 꾸러미만 내려받기합니다."
+ 
+-#: dnf/cli/cli.py:213
++#: dnf/cli/cli.py:215
+ #, python-brace-format
+ msgid ""
+ "{prog} will only download packages, install gpg keys, and check the "
+ "transaction."
+-msgstr "{prog}은/는 패키지 만 다운로드하고 gpg 키를 설치하며 트랜잭션을 확인합니다."
++msgstr "{prog}은/는 꾸러미만 내려받기하고 gpg 키를 설치하며 연결을 확인합니다."
+ 
+-#: dnf/cli/cli.py:217
++#: dnf/cli/cli.py:219
+ msgid "Operation aborted."
+-msgstr "작업이 중지됨."
++msgstr "작업이 중지됩니다."
+ 
+-#: dnf/cli/cli.py:224
++#: dnf/cli/cli.py:226
+ msgid "Downloading Packages:"
+-msgstr "패키지 다운로드중:"
++msgstr "꾸러미 내려받기 중:"
+ 
+-#: dnf/cli/cli.py:230
++#: dnf/cli/cli.py:232
+ msgid "Error downloading packages:"
+-msgstr "패키지 다운로드중 오류 발생:"
++msgstr "꾸러미 내려받기 중 오류 발생:"
+ 
+-#: dnf/cli/cli.py:258
++#: dnf/cli/cli.py:264
+ msgid "Transaction failed"
+-msgstr "트랜잭션 실패"
++msgstr "연결 실패"
+ 
+-#: dnf/cli/cli.py:281
++#: dnf/cli/cli.py:287
+ msgid ""
+ "Refusing to automatically import keys when running unattended.\n"
+ "Use \"-y\" to override."
+@@ -628,172 +630,156 @@ msgstr ""
+ "키를 자동으로 가져 오는 것을 거부합니다.\n"
+ "동작을 무시하려면 \"-y\"를 사용하십시오."
+ 
+-#: dnf/cli/cli.py:331
++#: dnf/cli/cli.py:337
+ msgid "Changelogs for {}"
+ msgstr "{}의 변경 사항"
+ 
+-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
++#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
+ msgid "Obsoleting Packages"
+-msgstr "더 이상 사용되지 않는 패키지"
++msgstr "더 이상 사용되지 않는 꾸러미"
+ 
+-#: dnf/cli/cli.py:393
++#: dnf/cli/cli.py:399
+ msgid "No packages marked for distribution synchronization."
+-msgstr "배포 동기화가 필요한 패키지가 없습니다."
++msgstr "배포 동기화가 필요한 꾸러미가 없습니다."
++
++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
++#, python-format
++msgid "No package %s available."
++msgstr "가용한 꾸러미(package) %s가 없습니다."
+ 
+-#: dnf/cli/cli.py:428
++#: dnf/cli/cli.py:434
+ msgid "No packages marked for downgrade."
+-msgstr "다운 그레이드 대상으로 표시된 패키지가 없습니다."
++msgstr "하향설치 대상으로 표시된 꾸러미가 없습니다."
+ 
+-#: dnf/cli/cli.py:479
++#: dnf/cli/cli.py:485
+ msgid "Installed Packages"
+-msgstr "설치된 패키지"
++msgstr "설치된 꾸러미"
+ 
+-#: dnf/cli/cli.py:487
++#: dnf/cli/cli.py:493
+ msgid "Available Packages"
+-msgstr "사용 가능한 패키지"
++msgstr "사용 가능한 꾸러미"
+ 
+-#: dnf/cli/cli.py:491
++#: dnf/cli/cli.py:497
+ msgid "Autoremove Packages"
+-msgstr "패키지 자동 삭제"
++msgstr "꾸러미 자동 삭제"
+ 
+ # ctx::sourcefile::Systems Navigation Menu
+-#: dnf/cli/cli.py:493
++#: dnf/cli/cli.py:499
+ msgid "Extra Packages"
+-msgstr "추가 패키지"
++msgstr "추가 꾸러미"
+ 
+-#: dnf/cli/cli.py:497
++#: dnf/cli/cli.py:503
+ msgid "Available Upgrades"
+-msgstr "사용 가능한 업그레이드"
++msgstr "사용 가능한 최신화"
+ 
+-#: dnf/cli/cli.py:513
++#: dnf/cli/cli.py:519
+ msgid "Recently Added Packages"
+-msgstr "최근에 추가 된 패키지"
++msgstr "최근에 추가 된 꾸러미"
+ 
+-#: dnf/cli/cli.py:518
++#: dnf/cli/cli.py:523
+ msgid "No matching Packages to list"
+-msgstr "목록과 일치하는 패키지가 없습니다"
++msgstr "목록과 일치하는 꾸러미가 없습니다"
+ 
+-#: dnf/cli/cli.py:599
++#: dnf/cli/cli.py:604
+ msgid "No Matches found"
+ msgstr "검색 결과가 없습니다"
+ 
+-#: dnf/cli/cli.py:609
+-msgid "No transaction ID given"
+-msgstr "지정된 트랜잭션 ID가 없습니다"
+-
+-#: dnf/cli/cli.py:614
+-msgid "Not found given transaction ID"
+-msgstr "주어진 트랜잭션 ID를 찾을 수 없습니다"
+-
+-#: dnf/cli/cli.py:623
+-msgid "Found more than one transaction ID!"
+-msgstr "두 개 이상의 트랜잭션 ID를 찾았습니다!"
+-
+-#: dnf/cli/cli.py:640
+-#, python-format
+-msgid "Transaction history is incomplete, before %u."
+-msgstr "%u이전 트랜잭션 내역이 불완전합니다."
+-
+-#: dnf/cli/cli.py:642
+-#, python-format
+-msgid "Transaction history is incomplete, after %u."
+-msgstr "%u이후 트랜잭션 내역이 불완전합니다."
+-
+-#: dnf/cli/cli.py:689
+-msgid "Undoing transaction {}, from {}"
+-msgstr "{}에서 {} 트랜잭션 실행을 취소하고 있습니다"
+-
+-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
++#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
+ #, python-format
+ msgid "Unknown repo: '%s'"
+ msgstr "알 수 없는 저장소: '%s'"
+ 
+-#: dnf/cli/cli.py:783
++#: dnf/cli/cli.py:685
+ #, python-format
+ msgid "No repository match: %s"
+ msgstr "일치하는 저장소가 없습니다 : %s"
+ 
+-#: dnf/cli/cli.py:817
++#: dnf/cli/cli.py:719
+ msgid ""
+-"This command has to be run with superuser privileges (under the root user on"
+-" most systems)."
+-msgstr "이 명령은 수퍼 유저 권한으로 실행해야합니다 (대부분의 시스템에서 root 사용자로 실행)."
++"This command has to be run with superuser privileges (under the root user on "
++"most systems)."
++msgstr ""
++"이 명령은 슈퍼유저 권한으로 실행해야합니다 (대부분의 시스템에서 root 사용자"
++"로 실행)."
+ 
+-#: dnf/cli/cli.py:847
++#: dnf/cli/cli.py:749
+ #, python-format
+ msgid "No such command: %s. Please use %s --help"
+ msgstr "명령을 찾을 수 없습니다: %s . %s --help를 사용하십시오"
+ 
+-#: dnf/cli/cli.py:850
++#: dnf/cli/cli.py:752
+ #, python-format, python-brace-format
+ msgid ""
+ "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
+ "command(%s)'\""
+ msgstr "{PROG} 플러그인 명령일 수 있습니다: \"{prog} 'dnf-command(%s)'\""
+ 
+-#: dnf/cli/cli.py:854
++#: dnf/cli/cli.py:756
+ #, python-brace-format
+ msgid ""
+ "It could be a {prog} plugin command, but loading of plugins is currently "
+ "disabled."
+-msgstr "{prog} 플러그인 명령일 수 있지만 플러그인 로딩은 현재 비활성화되어 있습니다."
++msgstr ""
++"{prog} 플러그인 명령일 수 있지만 플러그인 로딩은 현재 비활성화되어 있습니다."
+ 
+-#: dnf/cli/cli.py:912
++#: dnf/cli/cli.py:814
+ msgid ""
+ "--destdir or --downloaddir must be used with --downloadonly or download or "
+ "system-upgrade command."
+ msgstr ""
+-"--destdir 또는 --downloaddir은 --downloadonly 또는 download 또는 system-upgrade 명령과"
+-" 함께 사용해야합니다."
++"--destdir 또는 --downloaddir은 --downloadonly 또는 download 또는 system-"
++"upgrade 명령과 함께 사용해야합니다."
+ 
+-#: dnf/cli/cli.py:918
++#: dnf/cli/cli.py:820
+ msgid ""
+ "--enable, --set-enabled and --disable, --set-disabled must be used with "
+ "config-manager command."
+ msgstr ""
+-"--enable, --set-enabled 및 --disable, --set-disabled는 config-manager 명령과 함께 "
+-"사용해야합니다."
++"--enable, --set-enabled 및 --disable, --set-disabled는 config-manager 명령과 "
++"함께 사용해야합니다."
+ 
+-#: dnf/cli/cli.py:1000
++#: dnf/cli/cli.py:902
+ msgid ""
+ "Warning: Enforcing GPG signature check globally as per active RPM security "
+ "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
+ msgstr ""
+-"경고: 활성화된 RPM 보안 정책에 따라 GPG 서명 검사를 전체적으로 시행합니다 (이 메시지를 제거하는 방법은 dnf.conf (5)의"
+-" 'gpgcheck' 참조)"
++"경고: 활성화된 RPM 보안 정책에 따라 GPG 서명 검사를 전체적으로 시행합니다 "
++"(이 메시지를 제거하는 방법은 dnf.conf (5)의 'gpgcheck' 참조)"
+ 
+-#: dnf/cli/cli.py:1020
++#: dnf/cli/cli.py:922
+ msgid "Config file \"{}\" does not exist"
+-msgstr "\"{}\" 설정 파일이 존재하지 않습니다"
++msgstr "설정 파일 \"{}\" 이 존재하지 않습니다"
+ 
+-#: dnf/cli/cli.py:1040
++#: dnf/cli/cli.py:942
+ msgid ""
+ "Unable to detect release version (use '--releasever' to specify release "
+ "version)"
+-msgstr "릴리스 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 릴리스 버전을 지정하십시오)"
++msgstr ""
++"출시 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 출시 버전을 지정하십"
++"시오)"
+ 
+-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
++#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
+ msgid "argument {}: not allowed with argument {}"
+ msgstr "인수 {}: 인수 {}과 함께 사용할 수 없습니다"
+ 
+-#: dnf/cli/cli.py:1134
++#: dnf/cli/cli.py:1023
+ #, python-format
+ msgid "Command \"%s\" already defined"
+ msgstr "\"%s\" 명령이 이미 정의되어 있습니다"
+ 
+-#: dnf/cli/cli.py:1154
++#: dnf/cli/cli.py:1043
+ msgid "Excludes in dnf.conf: "
+ msgstr "dnf.conf에서 제외: "
+ 
+-#: dnf/cli/cli.py:1157
++#: dnf/cli/cli.py:1046
+ msgid "Includes in dnf.conf: "
+ msgstr "dnf.conf에 포함:. "
+ 
+-#: dnf/cli/cli.py:1160
++#: dnf/cli/cli.py:1049
+ msgid "Excludes in repo "
+ msgstr "리포지토리에서 제외 "
+ 
+-#: dnf/cli/cli.py:1163
++#: dnf/cli/cli.py:1052
+ msgid "Includes in repo "
+ msgstr "리포지토리에 포함 "
+ 
+@@ -805,13 +791,15 @@ msgstr "문제를 진단하려면 다음을 실행하십시오. '%s'."
+ #: dnf/cli/commands/__init__.py:40
+ #, python-format
+ msgid "You probably have corrupted RPMDB, running '%s' might fix the issue."
+-msgstr "RPMDB가 손상되었을 수 있습니다 '%s'를 실행하여 문제를 해결할 수 있습니다."
++msgstr ""
++"RPMDB가 손상되었을 수 있습니다 '%s'를 실행하여 문제를 해결할 수 있습니다."
+ 
+ #: dnf/cli/commands/__init__.py:44
+ #, python-brace-format
+ msgid ""
+ "You have enabled checking of packages via GPG keys. This is a good thing.\n"
+-"However, you do not have any GPG public keys installed. You need to download\n"
++"However, you do not have any GPG public keys installed. You need to "
++"download\n"
+ "the keys for packages you wish to install and install them.\n"
+ "You can do that by running the command:\n"
+ "    rpm --import public.gpg.key\n"
+@@ -823,17 +811,18 @@ msgid ""
+ "\n"
+ "For more information contact your distribution or package provider."
+ msgstr ""
+-"GPG 키를 통해 패키지 검사를 활성화했습니다. 이는 적절한 작업 실행입니다. \n"
+-"그러나 GPG 공개 키가 설치되어 있지 않습니다. 설치하려는 패키지의 키를 다운로드하여 설치해야합니다.\n"
++"GPG 키를 통해 꾸러미 검사를 활성화했습니다. 이는 적절한 작업 실행입니다.\n"
++"그러나 GPG 공개 키가 설치되어 있지 않습니다.\n"
++"설치하려는 꾸러미의 키를 내려 받기하여 설치해야 합니다.\n"
+ "다음 명령으로 이 작업을 수행할 수 있습니다:\n"
+-"    rpm --import public.gpg.key\n"
++"rpm --import public.gpg.key\n"
+ "\n"
+ "\n"
+-"또는 리포지토리 섹션의 'gpgkey' 옵션을 사용하여 \n"
+-"리포지토리에 사용할 키의 URL을 지정할 수 있으며 {prog}이/가 \n"
+-"이를 설치합니다 \n"
++"또는 저장소 부분의 'gpgkey' 옵션을 사용하여\n"
++"저장소에 사용할 키의 URL을 지정 할 수 있으며 {prog}가\n"
++"이를 설치합니다\n"
+ "\n"
+-"자세한 내용은 배포 또는 패키지 공급 업체에 문의하십시오."
++"자세한 내용은 배포 또는 꾸러미 공급 업체에 문의하십시오."
+ 
+ #: dnf/cli/commands/__init__.py:71
+ #, python-format
+@@ -842,56 +831,56 @@ msgstr "문제 저장소 : %s"
+ 
+ #: dnf/cli/commands/__init__.py:158
+ msgid "display details about a package or group of packages"
+-msgstr "패키지 또는 패키지 그룹에 대한 세부 정보 표시"
++msgstr "꾸러미 또는 꾸러미 그룹에 대한 세부 정보 표시"
+ 
+-#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
++#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
+ msgid "show all packages (default)"
+-msgstr "모든 패키지 표시 (기본값)"
++msgstr "모든 꾸러미 표시 (기본값)"
+ 
+-#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
+-#: dnf/cli/commands/module.py:351
++#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
++#: dnf/cli/commands/module.py:376
+ msgid "show only available packages"
+-msgstr "사용 가능한 패키지 만 표시"
++msgstr "사용 가능한 꾸러미만 표시"
+ 
+-#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
++#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
+ msgid "show only installed packages"
+-msgstr "설치된 패키지 만 표시"
++msgstr "설치된 꾸러미만 보여주기"
+ 
+-#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
++#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
+ msgid "show only extras packages"
+-msgstr "엑스트라 패키지 만 표시"
++msgstr "엑스트라 꾸러미만 표시"
+ 
+ #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
+-#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
++#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
+ msgid "show only upgrades packages"
+-msgstr "업그레이드 패키지 만 표시"
++msgstr "향상 꾸러미만 표시"
+ 
+-#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
++#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
+ msgid "show only autoremove packages"
+-msgstr "자동 삭제 패키지 만 표시"
++msgstr "자동 삭제 꾸러미만 표시"
+ 
+-#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
++#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
+ msgid "show only recently changed packages"
+-msgstr "최근에 변경된 패키지 만 표시"
++msgstr "최근에 변경된 꾸러미만 표시"
+ 
+ #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
+-#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
++#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
+ #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
+ #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
+ msgid "PACKAGE"
+-msgstr "패키지"
++msgstr "꾸러미(package)"
+ 
+ #: dnf/cli/commands/__init__.py:193
+ msgid "Package name specification"
+-msgstr "패키지 이름 사양"
++msgstr "꾸러미 이름 사양"
+ 
+ #: dnf/cli/commands/__init__.py:221
+ msgid "list a package or groups of packages"
+-msgstr "패키지 또는 패키지 그룹 나열"
++msgstr "꾸러미 또는 꾸러미 그룹 나열"
+ 
+ #: dnf/cli/commands/__init__.py:235
+ msgid "find what package provides the given value"
+-msgstr "지정된 컨텐츠를 제공하는 패키지 찾기"
++msgstr "지정된 내용을 제공하는 꾸러미 찾기"
+ 
+ #: dnf/cli/commands/__init__.py:239
+ msgid "PROVIDE"
+@@ -903,80 +892,80 @@ msgstr "검색할 사양 제공"
+ 
+ #: dnf/cli/commands/__init__.py:249 dnf/cli/commands/search.py:159
+ msgid "Searching Packages: "
+-msgstr "패키지 검색 : "
++msgstr "꾸러미 검색 : "
+ 
+ #: dnf/cli/commands/__init__.py:258
+ msgid "check for available package upgrades"
+-msgstr "사용 가능한 패키지 업그레이드 확인"
++msgstr "사용 가능한 꾸러미 향상 확인"
+ 
+ #: dnf/cli/commands/__init__.py:264
+ msgid "show changelogs before update"
+-msgstr "업데이트 전에 changelog 표시"
++msgstr "최신화 전에 변경기록 표시"
+ 
+-#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
+-#: dnf/cli/commands/__init__.py:470
++#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
++#: dnf/cli/commands/__init__.py:465
+ msgid "No package available."
+-msgstr "사용할 수 있는 패키지가 없습니다."
++msgstr "사용할 수 있는 꾸러미가 없습니다."
+ 
+-#: dnf/cli/commands/__init__.py:376
++#: dnf/cli/commands/__init__.py:371
+ msgid "No packages marked for install."
+-msgstr "설치용으로 표시된 패키지가 없습니다."
++msgstr "설치용으로 표시된 꾸러미 없습니다."
+ 
+-#: dnf/cli/commands/__init__.py:412
++#: dnf/cli/commands/__init__.py:407
+ msgid "No package installed."
+-msgstr "설치된 패키지가 없습니다."
++msgstr "설치된 꾸러미가 없습니다."
+ 
+-#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
++#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
+ #: dnf/cli/commands/reinstall.py:91
+ #, python-format
+ msgid " (from %s)"
+ msgstr " (%s에서)"
+ 
+-#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
++#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
+ #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
+ #, python-format
+ msgid "Installed package %s%s not available."
+-msgstr "설치된 패키지 %s%s 사용 불가."
++msgstr "설치된 꾸러미 %s%s 사용 불가."
+ 
+-#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
+-#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
++#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
++#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
+ msgid "No package installed from the repository."
+-msgstr "저장소에서 설치된 패키지가 없습니다."
++msgstr "저장소에서 설치된 꾸러미가 없습니다."
+ 
+-#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
++#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
+ msgid "No packages marked for reinstall."
+-msgstr "다시 설치하도록 표시된 패키지가 없습니다."
++msgstr "다시 설치하도록 표시된 꾸러미가 없습니다."
+ 
+-#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
++#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
+ msgid "No packages marked for upgrade."
+-msgstr "업그레이드할 패키지 없음."
++msgstr "최신화 할 꾸러미 없음."
+ 
+-#: dnf/cli/commands/__init__.py:726
++#: dnf/cli/commands/__init__.py:721
+ msgid "run commands on top of all packages in given repository"
+-msgstr "지정된 저장소의 모든 패키지에 대해 명령을 실행합니다"
++msgstr "지정된 저장소의 모든 꾸러미에 대해 명령을 실행합니다"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "REPOID"
+ msgstr "REPOID"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "Repository ID"
+-msgstr "리포지터리 ID"
++msgstr "저장소 ID"
+ 
+-#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
++#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
+ #: dnf/cli/commands/updateinfo.py:108
+ msgid "Package specification"
+-msgstr "패키지 사양"
++msgstr "꾸러미 사양"
+ 
+-#: dnf/cli/commands/__init__.py:801
++#: dnf/cli/commands/__init__.py:796
+ msgid "display a helpful usage message"
+ msgstr "유용한 사용법 메시지 표시"
+ 
+-#: dnf/cli/commands/__init__.py:805
++#: dnf/cli/commands/__init__.py:800
+ msgid "COMMAND"
+ msgstr "명령"
+ 
+-#: dnf/cli/commands/__init__.py:806
++#: dnf/cli/commands/__init__.py:801
+ #, python-brace-format
+ msgid "{prog} command to get help for"
+ msgstr "{prog} 명령 도움말 표시"
+@@ -1068,11 +1057,11 @@ msgstr "일치하는 별칭이 없습니다 : %s"
+ #: dnf/cli/commands/autoremove.py:41
+ msgid ""
+ "remove all unneeded packages that were originally installed as dependencies"
+-msgstr "종속성으로 설치된 불필요한 패키지를 모두 제거합니다"
++msgstr "종속성으로 설치된 불필요한 꾸러미를 모두 제거합니다"
+ 
+ #: dnf/cli/commands/autoremove.py:46 dnf/cli/commands/remove.py:59
+ msgid "Package to remove"
+-msgstr "제거할 패키지"
++msgstr "제거할 꾸러미"
+ 
+ #: dnf/cli/commands/check.py:34
+ msgid "check for problems in the packagedb"
+@@ -1092,7 +1081,7 @@ msgstr "중복된 문제를 표시"
+ 
+ #: dnf/cli/commands/check.py:49
+ msgid "show obsoleted packages"
+-msgstr "더 이상 사용되지 않는 패키지 표시"
++msgstr "더 이상 사용되지 않는꾸러미 표시"
+ 
+ #: dnf/cli/commands/check.py:52
+ msgid "show problems with provides"
+@@ -1121,7 +1110,7 @@ msgstr "%s 파일 제거 중"
+ 
+ #: dnf/cli/commands/clean.py:87
+ msgid "remove cached data"
+-msgstr "캐시된 데이터 제거"
++msgstr "캐쉬된 자료 제거"
+ 
+ #: dnf/cli/commands/clean.py:93
+ msgid "Metadata type to clean"
+@@ -1133,7 +1122,7 @@ msgstr "데이터 정리 중:  "
+ 
+ #: dnf/cli/commands/clean.py:111
+ msgid "Cache was expired"
+-msgstr "캐시가 만료되었습니다"
++msgstr "캐쉬가 만료되었습니다"
+ 
+ #: dnf/cli/commands/clean.py:115
+ #, python-format
+@@ -1147,24 +1136,28 @@ msgid "Waiting for process with pid %d to finish."
+ msgstr "PID %d 프로세스가 종료되기를 기다리고 있습니다."
+ 
+ #: dnf/cli/commands/deplist.py:32
+-msgid "List package's dependencies and what packages provide them"
+-msgstr "패키지의 종속성 및 패키지를 제공하는 소스 목록 나열"
++msgid ""
++"[deprecated, use repoquery --deplist] List package's dependencies and what "
++"packages provide them"
++msgstr ""
++"[더 이상 사용되지 않음, repoquery --deplist 사용] 꾸러미의 종속성과 이를 제공"
++"하는 꾸러미 목록 나열"
+ 
+ #: dnf/cli/commands/distrosync.py:32
+ msgid "synchronize installed packages to the latest available versions"
+-msgstr "설치된 패키지를 사용 가능한 최신 버전으로 동기화합니다"
++msgstr "설치된 꾸러미를 사용 가능한 최신 버전으로 동기화합니다"
+ 
+ #: dnf/cli/commands/distrosync.py:36
+ msgid "Package to synchronize"
+-msgstr "동기화할 패키지"
++msgstr "동기화할 꾸러미"
+ 
+ #: dnf/cli/commands/downgrade.py:34
+ msgid "Downgrade a package"
+-msgstr "패키지 다운그레이드"
++msgstr "꾸러미 하향설치"
+ 
+ #: dnf/cli/commands/downgrade.py:38
+ msgid "Package to downgrade"
+-msgstr "다운그레이드할 패키지"
++msgstr "하향설치 할 꾸러미"
+ 
+ #: dnf/cli/commands/group.py:46
+ msgid "display, or use, the groups information"
+@@ -1174,207 +1167,227 @@ msgstr "그룹 정보를 표시하거나 사용합니다"
+ msgid "No group data available for configured repositories."
+ msgstr "설정된 리포지토리에 사용할 수있는 그룹 데이터가 없습니다."
+ 
+-#: dnf/cli/commands/group.py:129
++#: dnf/cli/commands/group.py:126
+ #, python-format
+ msgid "Warning: Group %s does not exist."
+ msgstr "경고: %s 그룹이 존재하지 않습니다."
+ 
+-#: dnf/cli/commands/group.py:170
++#: dnf/cli/commands/group.py:167
+ msgid "Warning: No groups match:"
+-msgstr "경고: 일치하는 그룹이 없습니다"
++msgstr "경고: 일치하는 그룹이 없습니다:"
+ 
+-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
+-#: dnf/cli/output.py:1226
++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
++#: dnf/cli/output.py:1139
+ msgid "<name-unset>"
+ msgstr "<name-unset>"
+ 
+-#: dnf/cli/commands/group.py:199
++#: dnf/cli/commands/group.py:196
+ msgid "Available Environment Groups:"
+ msgstr "사용 가능한 환경 그룹 :"
+ 
+-#: dnf/cli/commands/group.py:201
++#: dnf/cli/commands/group.py:198
+ msgid "Installed Environment Groups:"
+ msgstr "설치된 환경 그룹 :"
+ 
+-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
+ msgid "Installed Groups:"
+ msgstr "설치된 그룹 :"
+ 
+-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
+ msgid "Installed Language Groups:"
+ msgstr "설치된 언어 그룹 :"
+ 
+-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
+ msgid "Available Groups:"
+ msgstr "사용 가능한 그룹 :"
+ 
+-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
+ msgid "Available Language Groups:"
+ msgstr "사용 가능한 언어 그룹 :"
+ 
+-#: dnf/cli/commands/group.py:322
++#: dnf/cli/commands/group.py:319
+ msgid "include optional packages from group"
+-msgstr "그룹의 선택 패키지를 포함합니다"
++msgstr "그룹의 선택 꾸러미를 포함합니다"
+ 
+-#: dnf/cli/commands/group.py:325
++#: dnf/cli/commands/group.py:322
+ msgid "show also hidden groups"
+ msgstr "숨겨진 그룹도 표시합니다"
+ 
+-#: dnf/cli/commands/group.py:327
++#: dnf/cli/commands/group.py:324
+ msgid "show only installed groups"
+ msgstr "설치된 그룹 만 표시합니다"
+ 
+-#: dnf/cli/commands/group.py:329
++#: dnf/cli/commands/group.py:326
+ msgid "show only available groups"
+ msgstr "사용 가능한 그룹 만 표시합니다"
+ 
+-#: dnf/cli/commands/group.py:331
++#: dnf/cli/commands/group.py:328
+ msgid "show also ID of groups"
+ msgstr "그룹 ID 표시"
+ 
+-#: dnf/cli/commands/group.py:333
++#: dnf/cli/commands/group.py:330
+ msgid "available subcommands: {} (default), {}"
+ msgstr "사용 가능한 하위 명령: {} (기본값), {}"
+ 
+-#: dnf/cli/commands/group.py:337
++#: dnf/cli/commands/group.py:334
+ msgid "argument for group subcommand"
+ msgstr "그룹 하위 명령의 인수"
+ 
+-#: dnf/cli/commands/group.py:346
++#: dnf/cli/commands/group.py:343
+ #, python-format
+ msgid "Invalid groups sub-command, use: %s."
+-msgstr "그룹 하위 명령이 잘못되었습니다. %s을/를 사용합니다."
++msgstr "그룹 하위 명령이 잘못되었습니다. %s를 사용합니다."
+ 
+-#: dnf/cli/commands/group.py:403
++#: dnf/cli/commands/group.py:398
+ msgid "Unable to find a mandatory group package."
+-msgstr "필수 그룹 패키지를 찾을 수 없습니다."
++msgstr "필수 그룹 꾸러미를 찾을 수 없습니다."
+ 
+ #: dnf/cli/commands/history.py:48
+ msgid "display, or use, the transaction history"
+-msgstr "트랜잭션 내역 표시 또는 사용"
++msgstr "연결 내역 표시 또는 사용"
+ 
+ #: dnf/cli/commands/history.py:66
+ msgid "For the store command, file path to store the transaction to"
+-msgstr ""
++msgstr "저장 명령을 위해, 트랜젝션을 저장할 파일 경로"
+ 
+ #: dnf/cli/commands/history.py:68
+ msgid ""
+-"For the replay command, don't check for installed packages matching those in"
+-" transaction"
++"For the replay command, don't check for installed packages matching those in "
++"transaction"
+ msgstr ""
++"재생명령을 위하여, 연결에 그것들과 일치하는 설치된 꾸러미를 확인하지 마세요"
+ 
+ #: dnf/cli/commands/history.py:71
+ msgid ""
+ "For the replay command, don't check for extra packages pulled into the "
+ "transaction"
+-msgstr ""
++msgstr "응답 명령을 위하여, 연결에 추가 된 꾸러미를 확인하지 마세요"
+ 
+ #: dnf/cli/commands/history.py:74
+ msgid ""
+-"For the replay command, skip packages that are not available or have missing"
+-" dependencies"
++"For the replay command, skip packages that are not available or have missing "
++"dependencies"
+ msgstr ""
++"지연 명령을 위하여, 사용 할 수 없는 또는 찾을 수 없는 의존성을 갖는 목록 건너"
++"띄기"
+ 
+ #: dnf/cli/commands/history.py:94
+ msgid ""
+ "Found more than one transaction ID.\n"
+ "'{}' requires one transaction ID or package name."
+ msgstr ""
+-"둘 이상의 트랜잭션 ID를 찾았습니다.\n"
+-"'{}'에는 하나의 트랜잭션 ID 또는 패키지 이름이 필요합니다."
++"둘 이상의 연결 ID를 찾았습니다.\n"
++"'{}'에는 하나의 연결 ID 또는 꾸러미 이름이 필요합니다."
+ 
+ #: dnf/cli/commands/history.py:101
+-#, fuzzy
+-#| msgid "No transaction ID given"
+ msgid "No transaction file name given."
+-msgstr "주어진 거래 ID가 없습니다."
++msgstr "제공된 트랜젝션 파일 이름이 없습니다."
+ 
+ #: dnf/cli/commands/history.py:103
+-#, fuzzy
+-#| msgid "Failed to remove transaction file %s"
+ msgid "More than one argument given as transaction file name."
+-msgstr "트랜잭션 파일을 제거하지 못했습니다. %s"
++msgstr "연결 파일 이름으로 주어진 하나 이상의 인수 이상."
+ 
+-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
+ msgid "No transaction ID or package name given."
+-msgstr "트랜잭션 ID 또는 패키지 이름이 없습니다."
++msgstr "연결 ID 또는 꾸러미 이름이 없습니다."
+ 
+-#: dnf/cli/commands/history.py:138
++#: dnf/cli/commands/history.py:142
+ #, python-format
+ msgid "You don't have access to the history DB: %s"
+ msgstr "기록 DB에 액세스할 수 없습니다: %s"
+ 
+-#: dnf/cli/commands/history.py:147
++#: dnf/cli/commands/history.py:151
+ #, python-format
+ msgid ""
+-"Cannot undo transaction %s, doing so would result in an inconsistent package"
+-" database."
+-msgstr "%s 트랜잭션을 취소할 수 없습니다. 취소하면 패키지 데이터베이스가 일치하지 않게 됩니다."
++"Cannot undo transaction %s, doing so would result in an inconsistent package "
++"database."
++msgstr ""
++"%s 연결을 취소 할 수 없습니다. 취소하면 꾸러미 자료 저장소가 일치하지 않게 됩"
++"니다."
+ 
+-#: dnf/cli/commands/history.py:152
++#: dnf/cli/commands/history.py:156
+ #, python-format
+ msgid ""
+ "Cannot rollback transaction %s, doing so would result in an inconsistent "
+ "package database."
+-msgstr "%s 트랜잭션을 롤백할 수 없습니다. 이렇게하면 패키지 데이터베이스가 일치하지 않게 됩니다."
++msgstr ""
++"%s 연결을 되돌릴 수 없습니다. 이렇게 하면 꾸러미 데이타베이스가 일치하지 않"
++"게 됩니다."
++
++#: dnf/cli/commands/history.py:175
++msgid "No transaction ID given"
++msgstr "지정된 연결 ID가 없습니다"
+ 
+-#: dnf/cli/commands/history.py:222
++#: dnf/cli/commands/history.py:179
++#, python-brace-format
++msgid "Transaction ID \"{0}\" not found."
++msgstr "Transaction ID \"{0}\" 를 찾을 수 없음."
++
++#: dnf/cli/commands/history.py:185
++msgid "Found more than one transaction ID!"
++msgstr "두 개 이상의 연결 ID를 찾았습니다!"
++
++#: dnf/cli/commands/history.py:203
++#, python-format
++msgid "Transaction history is incomplete, before %u."
++msgstr "%u이전 연결 내역이 불완전합니다."
++
++#: dnf/cli/commands/history.py:205
++#, python-format
++msgid "Transaction history is incomplete, after %u."
++msgstr "%u 이후 연결 내역이 불완전합니다."
++
++#: dnf/cli/commands/history.py:256
++msgid "No packages to list"
++msgstr "목록에 꾸러미가 없습니다"
++
++#: dnf/cli/commands/history.py:279
+ msgid ""
+ "Invalid transaction ID range definition '{}'.\n"
+ "Use '<transaction-id>..<transaction-id>'."
+ msgstr ""
+-"잘못된 트랜잭션 ID 범위 정의 '{}'. \n"
++"잘못된 연결 ID 범위 정의 '{}'.\n"
+ "'<transaction-id>..<transaction-id>' 사용."
+ 
+-#: dnf/cli/commands/history.py:226
++#: dnf/cli/commands/history.py:283
+ msgid ""
+ "Can't convert '{}' to transaction ID.\n"
+ "Use '<number>', 'last', 'last-<number>'."
+ msgstr ""
+-"'{}'을 (를) 트랜잭션 ID로 변환할 수 없습니다. \n"
++"'{}'을 (를) 연결 ID로 변환 할 수 없습니다.\n"
+ "'<number>', 'last', 'last-<number>' 사용."
+ 
+-#: dnf/cli/commands/history.py:255
++#: dnf/cli/commands/history.py:312
+ msgid "No transaction which manipulates package '{}' was found."
+-msgstr "패키지 '{}'을 (를) 사용하는 트랜잭션이 없습니다."
+-
+-#: dnf/cli/commands/history.py:305
+-#, python-brace-format
+-msgid "Transaction ID \"{id}\" not found."
+-msgstr ""
++msgstr "꾸러미 '{}'를 사용하는 연결이 없습니다."
+ 
+-#: dnf/cli/commands/history.py:313
++#: dnf/cli/commands/history.py:357
+ msgid "{} exists, overwrite?"
+-msgstr ""
++msgstr "{} 존재합니다, 덮어 쓸까요?"
+ 
+-#: dnf/cli/commands/history.py:316
++#: dnf/cli/commands/history.py:360
+ msgid "Not overwriting {}, exiting."
+-msgstr ""
++msgstr "존재하기 때문에, {} 덮어 쓸 수 없습니다."
+ 
+-#: dnf/cli/commands/history.py:323
+-#, fuzzy
+-#| msgid "Transaction test succeeded."
++#: dnf/cli/commands/history.py:367
+ msgid "Transaction saved to {}."
+-msgstr "트랜잭션 테스트가 완료되었습니다."
++msgstr "연결이 {}에 저장되었습니다."
+ 
+-#: dnf/cli/commands/history.py:326
+-#, fuzzy
+-#| msgid "Errors occurred during transaction."
++#: dnf/cli/commands/history.py:370
+ msgid "Error storing transaction: {}"
+-msgstr "거래 중에 오류가 발생했습니다."
++msgstr "저장 중 연결 오류: {}"
+ 
+-#: dnf/cli/commands/history.py:350
+-msgid ""
+-"Warning, the following problems occurred while replaying the transaction:"
+-msgstr ""
++#: dnf/cli/commands/history.py:386
++msgid "Warning, the following problems occurred while running a transaction:"
++msgstr "경고, 연결 동작 중에 다음 문제가 발생하였습니다:"
+ 
+ #: dnf/cli/commands/install.py:47
+ msgid "install a package or packages on your system"
+-msgstr "시스템에 패키지를 설치합니다"
++msgstr "시스템에 꾸러미를 설치합니다"
+ 
+ #: dnf/cli/commands/install.py:53
+ msgid "Package to install"
+-msgstr "설치할 패키지"
++msgstr "설치할 꾸러미"
+ 
+ #: dnf/cli/commands/install.py:118
+ msgid "Unable to find a match"
+@@ -1385,22 +1398,22 @@ msgstr "일치하는 항목을 찾을 수 없습니다"
+ msgid "Not a valid rpm file path: %s"
+ msgstr "올바른 rpm 파일 경로가 아닙니다. %s"
+ 
+-#: dnf/cli/commands/install.py:167
++#: dnf/cli/commands/install.py:166
+ #, python-brace-format
+ msgid "There are following alternatives for \"{0}\": {1}"
+ msgstr "다음은 “{0}\"의 대안입니다. {1}"
+ 
+ #: dnf/cli/commands/makecache.py:37
+ msgid "generate the metadata cache"
+-msgstr "메타 데이터 캐시를 생성합니다"
++msgstr "메타 자료 캐쉬를 생성합니다"
+ 
+ #: dnf/cli/commands/makecache.py:48
+ msgid "Making cache files for all metadata files."
+-msgstr "모든 메타 데이터 파일의 캐시 파일을 만듭니다."
++msgstr "모든 메타 자료 파일의 캐쉬 파일을 만듭니다."
+ 
+ #: dnf/cli/commands/mark.py:39
+ msgid "mark or unmark installed packages as installed by user."
+-msgstr "설치된 패키지를 사용자가 설치한 것으로 표시 또는 표시 해제합니다."
++msgstr "설치된 꾸러미를 사용자가 설치한 것으로 표시 또는 표시 해제합니다."
+ 
+ #: dnf/cli/commands/mark.py:44
+ msgid ""
+@@ -1415,7 +1428,7 @@ msgstr ""
+ #: dnf/cli/commands/mark.py:52
+ #, python-format
+ msgid "%s marked as user installed."
+-msgstr "%s은/는 사용자가 설치한 것으로 표시되었습니다"
++msgstr "%s은사용자가 설치한 것으로 표시."
+ 
+ #: dnf/cli/commands/mark.py:56
+ #, python-format
+@@ -1425,131 +1438,137 @@ msgstr "%s은/는 사용자가 설치한 것으로 표시되지 않았습니다.
+ #: dnf/cli/commands/mark.py:60
+ #, python-format
+ msgid "%s marked as group installed."
+-msgstr "%s은/는 그룹이 설치한 것으로 표시되었습니다"
++msgstr "%s은 그룹으로 설치된 것으로 표시."
+ 
+ #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
+-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
+ msgid "Error:"
+ msgstr "오류:"
+ 
+ #: dnf/cli/commands/mark.py:87
+ #, python-format
+ msgid "Package %s is not installed."
+-msgstr "%s 패키지가 설치되지 않았습니다."
++msgstr "꾸러미 %s가 설치되지 않았습니다."
+ 
+-#: dnf/cli/commands/module.py:51
++#: dnf/cli/commands/module.py:54
+ msgid ""
+-"Only module name, stream, architecture or profile is used. Ignoring unneeded"
+-" information in argument: '{}'"
+-msgstr "모듈 이름, 스트림, 아키텍처 또는 프로파일만 사용됩니다. '{}'인수에서 불필요한 정보는 무시하십시오"
++"Only module name, stream, architecture or profile is used. Ignoring unneeded "
++"information in argument: '{}'"
++msgstr ""
++"모듈 이름, 스트림, 구조 또는 프로파일만 사용됩니다. '{}'인수에서 불필요한 정"
++"보는 무시하십시오"
+ 
+-#: dnf/cli/commands/module.py:77
++#: dnf/cli/commands/module.py:80
+ msgid "list all module streams, profiles and states"
+ msgstr "모든 모듈 스트림, 프로파일 및 상태 나열"
+ 
+-#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
++#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
+ msgid "No matching Modules to list"
+ msgstr "일치하는 모듈을 나열할 수 없습니다"
+ 
+-#: dnf/cli/commands/module.py:111
++#: dnf/cli/commands/module.py:114
+ msgid "print detailed information about a module"
+ msgstr "모듈 세부 사항을 인쇄"
+ 
+-#: dnf/cli/commands/module.py:133
++#: dnf/cli/commands/module.py:136
+ msgid "enable a module stream"
+ msgstr "모듈 스트림을 활성화합니다"
+ 
+-#: dnf/cli/commands/module.py:157
++#: dnf/cli/commands/module.py:160
+ msgid "disable a module with all its streams"
+ msgstr "모듈의 모든 스트림을 비활성화합니다"
+ 
+-#: dnf/cli/commands/module.py:181
++#: dnf/cli/commands/module.py:184
+ msgid "reset a module"
+ msgstr "모듈 재설정"
+ 
+-#: dnf/cli/commands/module.py:202
++#: dnf/cli/commands/module.py:205
+ msgid "install a module profile including its packages"
+-msgstr "패키지를 포함한 모듈 프로파일 설치"
++msgstr "꾸러미를 포함한 모듈 프로파일 설치"
+ 
+-#: dnf/cli/commands/module.py:223
++#: dnf/cli/commands/module.py:226
+ msgid "update packages associated with an active stream"
+-msgstr "활성 스트림과 관련된 패키지 업데이트"
++msgstr "활성 스트림과 관련된 꾸러미 최신화"
+ 
+-#: dnf/cli/commands/module.py:240
++#: dnf/cli/commands/module.py:243
+ msgid "remove installed module profiles and their packages"
+-msgstr "설치된 모듈 프로파일과 패키지를 제거"
++msgstr "설치된 모듈 프로파일과 꾸러미를 제거"
+ 
+-#: dnf/cli/commands/module.py:264
++#: dnf/cli/commands/module.py:267
+ msgid "Package {} belongs to multiple modules, skipping"
+-msgstr "{} 패키지는 여러 모듈에 속합니다. 건너 뛰기"
++msgstr "{} 꾸러미는 여러 모듈에 속합니다. 건너 뛰기"
++
++#: dnf/cli/commands/module.py:280
++msgid "switch a module to a stream and distrosync rpm packages"
++msgstr "모듈을 스트림과 distrosync rpm 꾸러미로 전환합니다"
+ 
+-#: dnf/cli/commands/module.py:277
++#: dnf/cli/commands/module.py:302
+ msgid "list modular packages"
+-msgstr "모듈 패키지 목록"
++msgstr "모듈러 꾸러미지 목록"
+ 
+-#: dnf/cli/commands/module.py:292
++#: dnf/cli/commands/module.py:317
+ msgid "list packages belonging to a module"
+-msgstr "모듈에 속하는 패키지를 나열하십시오"
++msgstr "모듈에 속하는 꾸러미를 나열하십시오"
+ 
+-#: dnf/cli/commands/module.py:327
++#: dnf/cli/commands/module.py:352
+ msgid "Interact with Modules."
+ msgstr "모듈과 상호 작용합니다."
+ 
+-#: dnf/cli/commands/module.py:340
++#: dnf/cli/commands/module.py:365
+ msgid "show only enabled modules"
+ msgstr "활성화된 모듈 만 표시"
+ 
+-#: dnf/cli/commands/module.py:343
++#: dnf/cli/commands/module.py:368
+ msgid "show only disabled modules"
+ msgstr "비활성화된 모듈 만 표시"
+ 
+-#: dnf/cli/commands/module.py:346
++#: dnf/cli/commands/module.py:371
+ msgid "show only installed modules or packages"
+-msgstr "설치된 모듈 또는 패키지 만 표시"
++msgstr "설치된 모듈 또는 꾸러미만 표시"
+ 
+-#: dnf/cli/commands/module.py:349
++#: dnf/cli/commands/module.py:374
+ msgid "show profile content"
+ msgstr "프로파일 내용 표시"
+ 
+-#: dnf/cli/commands/module.py:354
++#: dnf/cli/commands/module.py:379
+ msgid "remove all modular packages"
+-msgstr "모든 모듈 패키지 삭제"
++msgstr "모든 모듈 꾸러미 삭제"
+ 
+-#: dnf/cli/commands/module.py:364
++#: dnf/cli/commands/module.py:389
+ msgid "Module specification"
+ msgstr "모듈 사양"
+ 
+-#: dnf/cli/commands/module.py:386
++#: dnf/cli/commands/module.py:411
+ msgid "{} {} {}: too few arguments"
+ msgstr "{} {} {}: 인수가 부족합니다"
+ 
+ #: dnf/cli/commands/reinstall.py:38
+ msgid "reinstall a package"
+-msgstr "패키지 다시 설치"
++msgstr "꾸러미 다시 설치"
+ 
+ #: dnf/cli/commands/reinstall.py:42
+ msgid "Package to reinstall"
+-msgstr "다시 설치할 패키지"
++msgstr "다시 설치할 꾸러미"
+ 
+ #: dnf/cli/commands/remove.py:46
+ msgid "remove a package or packages from your system"
+-msgstr "시스템에서 패키지를 제거합니다"
++msgstr "시스템에서 꾸러미를 제거합니다"
+ 
+ #: dnf/cli/commands/remove.py:53
+ msgid "remove duplicated packages"
+-msgstr "중복된 패키지 제거"
++msgstr "중복된 꾸러미 제거"
+ 
+ #: dnf/cli/commands/remove.py:58
+ msgid "remove installonly packages over the limit"
+-msgstr "오래된 설치 전용 패키지 제거"
++msgstr "오래된 설치 전용 꾸러미 제거"
+ 
+ #: dnf/cli/commands/remove.py:95
+ msgid "No duplicated packages found for removal."
+-msgstr "제거할 중복 패키지가 없습니다."
++msgstr "제거할 중복 꾸러미가 없습니다."
+ 
+ #: dnf/cli/commands/remove.py:127
+ msgid "No old installonly packages found for removal."
+-msgstr "제거할 오래된 설치 전용 패키지가 없습니다."
++msgstr "제거할 오래된 설치 전용 꾸러미가 없습니다."
+ 
+ #: dnf/cli/commands/repolist.py:38 dnf/cli/commands/updateinfo.py:47
+ #: dnf/cli/commands/updateinfo.py:318 dnf/cli/commands/updateinfo.py:364
+@@ -1593,7 +1612,7 @@ msgstr "리포지토리 사양"
+ 
+ #: dnf/cli/commands/repolist.py:125
+ msgid "No repositories available"
+-msgstr "사용 가능한 리포지토리가 없습니다"
++msgstr "사용 가능한 저장소가 없습니다"
+ 
+ #: dnf/cli/commands/repolist.py:143 dnf/cli/commands/repolist.py:144
+ msgid "enabled"
+@@ -1605,87 +1624,87 @@ msgstr "사용 안함"
+ 
+ #: dnf/cli/commands/repolist.py:162
+ msgid "Repo-id            : "
+-msgstr "Repo-id            : "
++msgstr "Repo-id : "
+ 
+ #: dnf/cli/commands/repolist.py:163
+ msgid "Repo-name          : "
+-msgstr "Repo-name          : "
++msgstr "Repo-name : "
+ 
+ #: dnf/cli/commands/repolist.py:166
+ msgid "Repo-status        : "
+-msgstr "Repo-status        : "
++msgstr "Repo-status : "
+ 
+ #: dnf/cli/commands/repolist.py:169
+ msgid "Repo-revision      : "
+-msgstr "Repo-revision      : "
++msgstr "Repo-revision : "
+ 
+ #: dnf/cli/commands/repolist.py:173
+ msgid "Repo-tags          : "
+-msgstr "Repo-tags          : "
++msgstr "Repo-tags  : "
+ 
+ #: dnf/cli/commands/repolist.py:180
+ msgid "Repo-distro-tags      : "
+-msgstr "Repo-distro-tags      : "
++msgstr "Repo-distro-tags : "
+ 
+ #: dnf/cli/commands/repolist.py:192
+ msgid "Repo-updated       : "
+-msgstr "Repo-updated       : "
++msgstr "Repo-updated : "
+ 
+ #: dnf/cli/commands/repolist.py:194
+ msgid "Repo-pkgs          : "
+-msgstr "Repo-pkgs          : "
++msgstr "Repo-pkgs : "
+ 
+ #: dnf/cli/commands/repolist.py:195
+ msgid "Repo-available-pkgs: "
+-msgstr "Repo-available-pkgs: "
++msgstr "저장소-이용 할 수 있는-꾸러미: "
+ 
+ #: dnf/cli/commands/repolist.py:196
+ msgid "Repo-size          : "
+-msgstr "Repo-size          : "
++msgstr "Repo-size : "
+ 
+ #: dnf/cli/commands/repolist.py:199
+ msgid "Repo-metalink      : "
+-msgstr "Repo-metalink      : "
++msgstr "Repo-metalink : "
+ 
+ #: dnf/cli/commands/repolist.py:204
+ msgid "  Updated          : "
+-msgstr "  Updated          : "
++msgstr "  Updated : "
+ 
+ #: dnf/cli/commands/repolist.py:206
+ msgid "Repo-mirrors       : "
+-msgstr "Repo-mirrors       : "
++msgstr "Repo-mirrors : "
+ 
+ #: dnf/cli/commands/repolist.py:210 dnf/cli/commands/repolist.py:216
+ msgid "Repo-baseurl       : "
+-msgstr "Repo-baseurl       : "
++msgstr "Repo-baseurl : "
+ 
+ #: dnf/cli/commands/repolist.py:219
+ msgid "Repo-expire        : "
+-msgstr "Repo-expire        : "
++msgstr "Repo-expire : "
+ 
+ #. TRANSLATORS: Packages that are excluded - their names like (dnf systemd)
+ #: dnf/cli/commands/repolist.py:223
+ msgid "Repo-exclude       : "
+-msgstr "Repo-exclude       : "
++msgstr "Repo-exclude : "
+ 
+ #: dnf/cli/commands/repolist.py:227
+ msgid "Repo-include       : "
+-msgstr "Repo-include       : "
++msgstr "Repo-include : "
+ 
+ #. TRANSLATORS: Number of packages that where excluded (5)
+ #: dnf/cli/commands/repolist.py:232
+ msgid "Repo-excluded      : "
+-msgstr "Repo-excluded      : "
++msgstr "Repo-excluded : "
+ 
+ #: dnf/cli/commands/repolist.py:236
+ msgid "Repo-filename      : "
+-msgstr "Repo-filename      : "
++msgstr "Repo-filename : "
+ 
+ #. Work out the first (id) and last (enabled/disabled/count),
+ #. then chop the middle (name)...
+ #: dnf/cli/commands/repolist.py:246 dnf/cli/commands/repolist.py:273
+ msgid "repo id"
+-msgstr "리포지터리 ID"
++msgstr "레포지터리 ID"
+ 
+ #: dnf/cli/commands/repolist.py:259 dnf/cli/commands/repolist.py:260
+ #: dnf/cli/commands/repolist.py:281
+@@ -1694,25 +1713,26 @@ msgstr "상태"
+ 
+ #: dnf/cli/commands/repolist.py:275 dnf/cli/commands/repolist.py:277
+ msgid "repo name"
+-msgstr "리포지터리 이름"
++msgstr "레포지터리 이름"
+ 
+ #: dnf/cli/commands/repolist.py:291
+ msgid "Total packages: {}"
+-msgstr "총 패키지: {}"
++msgstr "총 꾸러미: {}"
+ 
+ #: dnf/cli/commands/repoquery.py:107
+ msgid "search for packages matching keyword"
+-msgstr "키워드와 일치하는 패키지 검색"
++msgstr "키워드와 일치하는 꾸러미 검색"
+ 
+ #: dnf/cli/commands/repoquery.py:121
+ msgid ""
+ "Query all packages (shorthand for repoquery '*' or repoquery without "
+ "argument)"
+-msgstr "모든 패키지를 쿼리하십시오 (repoquery '*'의 축약형 또는 인수없는 repoquery)"
++msgstr ""
++"모든 꾸러미를 쿼리하십시오 (repoquery '*'의 축약형 또는 인수없는 repoquery)"
+ 
+ #: dnf/cli/commands/repoquery.py:124
+ msgid "Query all versions of packages (default)"
+-msgstr "패키지의 모든 버전 쿼리 (기본값)"
++msgstr "꾸러미의 모든 버전 질문 (기본값)"
+ 
+ #: dnf/cli/commands/repoquery.py:127
+ msgid "show only results from this ARCH"
+@@ -1730,7 +1750,9 @@ msgstr "REQ와 충돌하는 결과 만 표시"
+ msgid ""
+ "shows results that requires, suggests, supplements, enhances,or recommends "
+ "package provides and files REQ"
+-msgstr "REQ를 제공하고 파일 패키지를 요구, 제안, 보완, 개선, 권장하는 결과를 표시합니다."
++msgstr ""
++"꾸러미 제공과 파일 REQ를 요구, 제안, 보완, 향상 또는 권장하는 결과를 표시합니"
++"다"
+ 
+ #: dnf/cli/commands/repoquery.py:139
+ msgid "show only results that obsolete REQ"
+@@ -1742,7 +1764,7 @@ msgstr "REQ를 제공하는 결과 만 표시"
+ 
+ #: dnf/cli/commands/repoquery.py:145
+ msgid "shows results that requires package provides and files REQ"
+-msgstr "REQ를 제공 및 파일 패키지가 필요한 결과를 표시"
++msgstr "REQ를 제공 및 파일 꾸러미가 필요한 결과를 표시"
+ 
+ #: dnf/cli/commands/repoquery.py:148
+ msgid "show only results that recommend REQ"
+@@ -1772,19 +1794,21 @@ msgstr "지정된대로 종속성을 확인. --alldeps와 반대됩니다"
+ msgid ""
+ "used with --whatrequires, and --requires --resolve, query packages "
+ "recursively."
+-msgstr "--whatrequires, --requires --resolve와 함계 사용하여 패키지를 재귀적으로 쿼리합니다."
++msgstr ""
++"--whatrequires, --requires --resolve와 함계 사용하여 꾸러미를 재귀적으로 쿼리"
++"합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:166
+ msgid "show a list of all dependencies and what packages provide them"
+-msgstr "모든 종속성 목록과 이를 제공하는 패키지를 표시합니다"
++msgstr "모든 종속성 목록과 이를 제공하는꾸러미지를 표시합니다"
+ 
+ #: dnf/cli/commands/repoquery.py:168
+ msgid "resolve capabilities to originating package(s)"
+-msgstr "원래 패키지의 기능을 제공합니다"
++msgstr "원래 꾸러미의 기능을 제공합니다"
+ 
+ #: dnf/cli/commands/repoquery.py:170
+ msgid "show recursive tree for package(s)"
+-msgstr "패키지의 재귀 트리를 표시합니다"
++msgstr "꾸러미의 재귀 트리를 표시합니다"
+ 
+ #: dnf/cli/commands/repoquery.py:172
+ msgid "operate on corresponding source RPM"
+@@ -1794,34 +1818,38 @@ msgstr "해당 소스 RPM에서 작동합니다"
+ msgid ""
+ "show N latest packages for a given name.arch (or latest but N if N is "
+ "negative)"
+-msgstr "지정된 name.arch (또는 N이 음수인 경우 가장 오래된 패키지)에 대한 N 개의 최신 패키지를 표시합니다"
++msgstr ""
++"지정된 name.arch (또는 N이 음수인 경우 가장 오래된 꾸러미)에 대한 N 개의 최"
++"신 꾸러미를 표시합니다"
+ 
+ #: dnf/cli/commands/repoquery.py:177
+ msgid "list also packages of inactive module streams"
+-msgstr "비활성 모듈 스트림의 패키지 목록"
++msgstr "비활성 모듈 스트림의 꾸러미 목록"
+ 
+ #: dnf/cli/commands/repoquery.py:182
+ msgid "show detailed information about the package"
+-msgstr "패키지에 대한 자세한 정보 표시"
++msgstr "꾸러미에 대한 자세한 정보 표시"
+ 
+ #: dnf/cli/commands/repoquery.py:185
+ msgid "show list of files in the package"
+-msgstr "패키지에 있는 파일 목록 표시"
++msgstr "꾸러미에 있는 파일 목록 표시"
+ 
+ #: dnf/cli/commands/repoquery.py:188
+ msgid "show package source RPM name"
+-msgstr "패키지 소스 RPM 이름 표시"
++msgstr "꾸러미 소스 RPM 이름 표시"
+ 
+ #: dnf/cli/commands/repoquery.py:191
+ msgid "show changelogs of the package"
+-msgstr "패키지의 변경 로그 표시"
++msgstr "꾸러미의 변경 로그 표시"
+ 
+ #: dnf/cli/commands/repoquery.py:194
+ #, python-format, python-brace-format
+ msgid ""
+-"display format for listing packages: \"%%{name} %%{version} ...\", use "
+-"--querytags to view full tag list"
++"display format for listing packages: \"%%{name} %%{version} ...\", use --"
++"querytags to view full tag list"
+ msgstr ""
++"꾸러미 목록 표시형식 : \"%%{name} %%{version} ...\" 모든 태그 목록을 보여주"
++"기 위해 --querytags 사용합니다"
+ 
+ #: dnf/cli/commands/repoquery.py:198
+ msgid "show available tags to use with --queryformat"
+@@ -1831,65 +1859,73 @@ msgstr "--queryformat과 함께 사용할 수 있는 태그를 표시합니다"
+ msgid ""
+ "use name-epoch:version-release.architecture format for displaying found "
+ "packages (default)"
+-msgstr "name-epoch:version-release.architecture 형식을 사용하여 검색된 패키지를 표시합니다 (기본값)"
++msgstr ""
++"name-epoch:version-release.architecture 형식을 사용하여 검색된 꾸러미를 표시"
++"합니다 (기본값)"
+ 
+ #: dnf/cli/commands/repoquery.py:205
+ msgid ""
+ "use name-version-release format for displaying found packages (rpm query "
+ "default)"
+-msgstr "name-version-release 형식을 사용하여 검색된 패키지를 표시합니다 (rpm 쿼리 기본값)"
++msgstr ""
++"name-version-release 형식을 사용하여 검색된 꾸러미를 표시합니다 (rpm 쿼리 기"
++"본값)"
+ 
+ #: dnf/cli/commands/repoquery.py:211
+ msgid ""
+ "use epoch:name-version-release.architecture format for displaying found "
+ "packages"
+-msgstr "epoch : name-version-release.architecture 형식을 사용하여 검색된 패키지를 표시합니다"
++msgstr ""
++"epoch : name-version-release.architecture 형식을 사용하여 검색된 꾸러미를 표"
++"시합니다"
+ 
+ #: dnf/cli/commands/repoquery.py:214
+ msgid "Display in which comps groups are presented selected packages"
+-msgstr "선택한 패키지에 제시된 comps 그룹 표시"
++msgstr "선택한 꾸러미에 제시된 comps 그룹 표시"
+ 
+ #: dnf/cli/commands/repoquery.py:218
+ msgid "limit the query to installed duplicate packages"
+-msgstr "설치된 중복 패키지로 쿼리 제한"
++msgstr "설치된 중복 꾸러미로 쿼리 제한"
+ 
+ #: dnf/cli/commands/repoquery.py:225
+ msgid "limit the query to installed installonly packages"
+-msgstr "설치된 설치 전용 패키지로 쿼리 제한"
++msgstr "설치된 설치 전용 꾸러미로 쿼리 제한"
+ 
+ #: dnf/cli/commands/repoquery.py:228
+ msgid "limit the query to installed packages with unsatisfied dependencies"
+-msgstr "설치된 충족되지 않은 종속성이있는 패키지로 쿼리 제한"
++msgstr "설치된 충족되지 않은 종속성이있는 꾸러미로 쿼리 제한"
+ 
+ #: dnf/cli/commands/repoquery.py:230
+ msgid "show a location from where packages can be downloaded"
+-msgstr "패키지를 다운로드할 위치 표시"
++msgstr "꾸러미를 내려받기 할 위치 표시"
+ 
+ #: dnf/cli/commands/repoquery.py:233
+ msgid "Display capabilities that the package conflicts with."
+-msgstr "패키지와 충돌하는 기능을 표시합니다."
++msgstr "꾸러미와 충돌하는 기능을 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:234
+ msgid ""
+ "Display capabilities that the package can depend on, enhance, recommend, "
+ "suggest, and supplement."
+-msgstr "패키지가 종속 기능 강화, 개선, 권장, 제안 및 보완할 수 있는 기능을 표시합니다."
++msgstr ""
++"꾸러미가 종속 기능 강화, 개선, 권장, 제안 및 보완할 수 있는 기능을 표시합니"
++"다."
+ 
+ #: dnf/cli/commands/repoquery.py:236
+ msgid "Display capabilities that the package can enhance."
+-msgstr "패키지를 확장할 수 있는 기능을 표시합니다."
++msgstr "꾸러미를 확장 할 수 있는 기능을 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:237
+ msgid "Display capabilities provided by the package."
+-msgstr "패키지가 제공하는 기능을 표시합니다."
++msgstr "꾸러미가 제공하는 기능을 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:238
+ msgid "Display capabilities that the package recommends."
+-msgstr "패키지에서 권장하는 기능을 표시합니다."
++msgstr "꾸러미에서 권장하는 기능을 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:239
+ msgid "Display capabilities that the package depends on."
+-msgstr "패키지가 의존하는 기능을 표시합니다."
++msgstr "꾸러미가 의존하는 기능을 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:240
+ #, python-format
+@@ -1898,49 +1934,50 @@ msgid ""
+ "running %%pre and %%post scriptlets. If the package is installed display "
+ "capabilities that is depends for %%pre, %%post, %%preun and %%postun."
+ msgstr ""
+-"패키지가 설치되어 있지 않은 경우 %%pre 과 %%post 스크립트를 실행할 수 있는 기능이 표시됩니다. 패키지가 설치되어있는 경우 "
+-"%%pre, %%post , %%preun, %%postun에 종속된 기능이 표시됩니다."
++"꾸러미가 설치되어 있지 않은 경우 %%pre 과 %%post 스크립트를 실행할 수 있는 기"
++"능이 표시됩니다. 꾸러미가 설치 되어 있는 경우 %%pre, %%post , %%preun, "
++"%%postun에 종속된 기능이 표시됩니다."
+ 
+ #: dnf/cli/commands/repoquery.py:243
+ msgid "Display capabilities that the package suggests."
+-msgstr "패키지에서 제안하는 기능을 표시합니다."
++msgstr "꾸러미에서 제안하는 기능을 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:244
+ msgid "Display capabilities that the package can supplement."
+-msgstr "패키지가 보완할 수있는 기능을 표시합니다."
++msgstr "꾸러미가 보완할 수있는 기능을 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:250
+ msgid "Display only available packages."
+-msgstr "사용 가능한 패키지 만 표시합니다."
++msgstr "사용 가능한 꾸러미만 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:253
+ msgid "Display only installed packages."
+-msgstr "설치된 패키지 만 표시합니다."
++msgstr "설치된 꾸러미만 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:254
+ msgid ""
+ "Display only packages that are not present in any of available repositories."
+-msgstr "사용 가능한 리포지토리에없는 패키지 만 표시합니다."
++msgstr "사용 가능한 저장소에 없는 꾸러미만 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:255
+ msgid ""
+ "Display only packages that provide an upgrade for some already installed "
+ "package."
+-msgstr "이미 설치된 일부 패키지에 대한 업그레이드를 제공하는 패키지 만 표시합니다."
++msgstr "이미 설치된 일부 꾸러미에 대한 향상를 제공하는 꾸러미만 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:256
+ #, python-brace-format
+ msgid ""
+ "Display only packages that can be removed by \"{prog} autoremove\" command."
+-msgstr "\"{prog} autoremove\" 명령으로 제거할 수 있는 패키지 만 표시합니다."
++msgstr "\"{prog} autoremove\" 명령으로 제거할 수 있는 꾸러미만 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:258
+ msgid "Display only packages that were installed by user."
+-msgstr "사용자가 설치한 패키지 만 표시합니다."
++msgstr "사용자가 설치한 꾸러미만 표시합니다."
+ 
+ #: dnf/cli/commands/repoquery.py:270
+ msgid "Display only recently edited packages"
+-msgstr "최근에 수정한 패키지 만 표시합니다"
++msgstr "최근에 수정한 꾸러미만 표시합니다"
+ 
+ #: dnf/cli/commands/repoquery.py:273
+ msgid "the key to search for"
+@@ -1948,22 +1985,23 @@ msgstr "검색에 사용되는 키워드"
+ 
+ #: dnf/cli/commands/repoquery.py:295
+ msgid ""
+-"Option '--resolve' has to be used together with one of the '--conflicts', '"
+-"--depends', '--enhances', '--provides', '--recommends', '--requires', '--"
++"Option '--resolve' has to be used together with one of the '--conflicts', '--"
++"depends', '--enhances', '--provides', '--recommends', '--requires', '--"
+ "requires-pre', '--suggests' or '--supplements' options"
+ msgstr ""
+-"옵션 '--resolve'는 '--conflicts', '--depends', '--enhances', '--provides', '--"
+-"recommends', '--requires'중 하나와 함께 사용해야합니다. , '--requires-pre', '--"
+-"suggests'또는 '--supplements'옵션들"
++"옵션 '--resolve'는 '--conflicts', '--depends', '--enhances', '--provides', "
++"'--recommends', '--requires'중 하나와 함께 사용해야합니다. , '--requires-"
++"pre', '--suggests'또는 '--supplements'옵션들"
+ 
+ #: dnf/cli/commands/repoquery.py:305
+ msgid ""
+ "Option '--recursive' has to be used with '--whatrequires <REQ>' (optionally "
+-"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> "
+-"--resolve'"
++"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> --"
++"resolve'"
+ msgstr ""
+-"옵션 '--reative'를  '--whatrequires <REQ>' (선택 옵션으로 '--exactdeps' 대신 '--"
+-"alldeps'와 함께 사용), 또는 '--requires <REQ> --resolve'와 함께 사용해야 합니다."
++"옵션 '--reative'를 '--whatrequires <REQ>' (선택 옵션으로 '--exactdeps' 대신 "
++"'--alldeps'와 함께 사용), 또는 '--requires <REQ> --resolve'와 함께 사용해야 "
++"합니다"
+ 
+ #: dnf/cli/commands/repoquery.py:312
+ msgid "argument {} requires --whatrequires or --whatdepends option"
+@@ -1971,30 +2009,34 @@ msgstr "인수 {}에는 --whatrequires 또는 --whatdepends 옵션이 필요합
+ 
+ #: dnf/cli/commands/repoquery.py:344
+ msgid "Package {} contains no files"
+-msgstr "패키지 {}에 파일이 없습니다"
++msgstr "꾸러미 {}에 파일이 없습니다"
+ 
+ #: dnf/cli/commands/repoquery.py:561
+ #, python-brace-format
+ msgid ""
+ "No valid switch specified\n"
+-"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "description:\n"
+ "  For the given packages print a tree of thepackages."
+ msgstr ""
+ "유효한 매개 변수를 지정하지 않았습니다.\n"
+-"사용법: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"사용법: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "설명:\n"
+-"  지정된 패키지의 경우 패키지 트리를 출력하십시오."
++"  지정된 꾸러미의 경우 꾸러미 트리를 출력하십시오."
+ 
+ #: dnf/cli/commands/search.py:46
+ msgid "search package details for the given string"
+-msgstr "지정된 문자열의 패키지 정보를 검색합니다"
++msgstr "지정된 문자열의 꾸러미 정보를 검색합니다"
+ 
+ #: dnf/cli/commands/search.py:51
+ msgid "search also package description and URL"
+-msgstr "패키지 설명 및 URL 검색"
++msgstr "꾸러미 설명 및 URL 검색"
+ 
+ #: dnf/cli/commands/search.py:52
+ msgid "KEYWORD"
+@@ -2004,27 +2046,26 @@ msgstr "KEYWORD"
+ msgid "Keyword to search for"
+ msgstr "검색 키워드"
+ 
+-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
+ msgctxt "long"
+ msgid "Name"
+ msgstr "이름"
+ 
+-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
+ msgctxt "long"
+ msgid "Summary"
+ msgstr "요약"
+ 
+-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
+ msgctxt "long"
+ msgid "Description"
+ msgstr "설명"
+ 
+-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
+ msgid "URL"
+ msgstr "URL"
+ 
+-#. TRANSLATORS: separator used between package attributes (eg. Name & Summary
+-#. & URL)
++#. TRANSLATORS: separator used between package attributes (eg. Name & Summary & URL)
+ #: dnf/cli/commands/search.py:76
+ msgid " & "
+ msgstr " & "
+@@ -2034,18 +2075,18 @@ msgstr " & "
+ #: dnf/cli/commands/search.py:80
+ #, python-format
+ msgid "%s Exactly Matched: %%s"
+-msgstr "%s 정확히 일치하는 항목: %%s"
++msgstr "%s과 정확히 일치하는 항목: %%s"
+ 
+ #. TRANSLATORS: %s  - translated package attributes,
+ #. %%s - found keys (in listed attributes)
+ #: dnf/cli/commands/search.py:84
+ #, python-format
+ msgid "%s Matched: %%s"
+-msgstr "%s 일치하는 항목: %%s"
++msgstr "%s과 일치하는 항목: %%s"
+ 
+ #: dnf/cli/commands/search.py:134
+ msgid "No matches found."
+-msgstr "일치하는 항목이 없습니다."
++msgstr "일치 항목이 없습니다."
+ 
+ #: dnf/cli/commands/shell.py:47
+ #, python-brace-format
+@@ -2110,7 +2151,7 @@ msgid ""
+ "    resolve the transaction set"
+ msgstr ""
+ "{}\n"
+-"    트랜잭션 집합을 분석합니다"
++" 연결 집합을 분석합니다"
+ 
+ #: dnf/cli/commands/shell.py:195
+ msgid ""
+@@ -2120,9 +2161,9 @@ msgid ""
+ "  run: run the transaction"
+ msgstr ""
+ "{} arg\n"
+-"  list : 트랜잭션 내용을 나열합니다\n"
+-"  reset : 트랜잭션을 재설정합니다 (zero-out)\n"
+-"  run: 트랜잭션을 실행합니다"
++"  list : 연결 내용을 나열합니다\n"
++"  reset : 연결을 재설정합니다 (zero-out)\n"
++"  run: 연결을 실행합니다"
+ 
+ #: dnf/cli/commands/shell.py:201
+ msgid ""
+@@ -2130,7 +2171,7 @@ msgid ""
+ "    run the transaction"
+ msgstr ""
+ "{}\n"
+-"    트랜잭션을 실행합니다."
++"연결을 실행합니다"
+ 
+ #: dnf/cli/commands/shell.py:205
+ msgid ""
+@@ -2154,24 +2195,24 @@ msgid ""
+ msgstr ""
+ "쉘 관련 인수:\n"
+ "\n"
+-"config                   설정 옵션 설정\n"
+-"help                     도움말 인쇄\n"
+-"repository (or repo)     리포지토리 활성화,비활성화 또는 나열\n"
+-"resolvedep               트랜잭션 세트 분석\n"
+-"transaction (or ts)      트랜잭션 세트 목록,재설정 또는 실행\n"
+-"run                      트랜잭션 세트 분석 및 실행\n"
+-"exit (or quit)           쉘 종료"
++"config  설정 옵션 설정\n"
++"help  도움말 인쇄\n"
++"repository (or repo)  저장소 활성화,비활성화 또는 나열\n"
++"resolvedep  연결 구성 분석\n"
++"transaction (or ts)  연결 구성 목록,재설정 또는 실행\n"
++"run  연결 구성 분석 및 실행\n"
++"exit (or quit)  쉘 종료"
+ 
+-#: dnf/cli/commands/shell.py:259
++#: dnf/cli/commands/shell.py:262
+ #, python-format
+ msgid "Error: Cannot open %s for reading"
+ msgstr "오류: 읽기 전용 %s를 열 수 없습니다"
+ 
+-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
+ msgid "Complete!"
+ msgstr "완료되었습니다!"
+ 
+-#: dnf/cli/commands/shell.py:291
++#: dnf/cli/commands/shell.py:294
+ msgid "Leaving Shell"
+ msgstr "쉘 나가기"
+ 
+@@ -2202,45 +2243,45 @@ msgstr "보안"
+ 
+ #: dnf/cli/commands/updateinfo.py:48
+ msgid "newpackage"
+-msgstr "새 패키지"
++msgstr "새 꾸러미"
+ 
+ #: dnf/cli/commands/updateinfo.py:50
+ msgid "Critical/Sec."
+-msgstr "심각/보안 취약점"
++msgstr "심각/보안."
+ 
+ #: dnf/cli/commands/updateinfo.py:51
+ msgid "Important/Sec."
+-msgstr "중요/보안 취약점"
++msgstr "중요/보안."
+ 
+ #: dnf/cli/commands/updateinfo.py:52
+ msgid "Moderate/Sec."
+-msgstr "보통/보안 취약점"
++msgstr "보통/보안."
+ 
+ #: dnf/cli/commands/updateinfo.py:53
+ msgid "Low/Sec."
+-msgstr "낮음/보안 취약점"
++msgstr "낮음/보안."
+ 
+ #: dnf/cli/commands/updateinfo.py:63
+ msgid "display advisories about packages"
+-msgstr "패키지관련 권고 표시"
++msgstr "꾸러미관련 권고 표시"
+ 
+ #: dnf/cli/commands/updateinfo.py:77
+ msgid "advisories about newer versions of installed packages (default)"
+-msgstr "설치된 최신 버전의 패키지에 대한 권고 (기본값)"
++msgstr "설치된 최신 버전의 꾸러미에 대한 권고 (기본값)"
+ 
+ #: dnf/cli/commands/updateinfo.py:80
+ msgid "advisories about equal and older versions of installed packages"
+-msgstr "설치된 패키지의 동일한 버전 및 이전 버전에 대한 권고"
++msgstr "설치된 꾸러미의 동일한 버전 및 이전 버전에 대한 권고"
+ 
+ #: dnf/cli/commands/updateinfo.py:83
+ msgid ""
+ "advisories about newer versions of those installed packages for which a "
+ "newer version is available"
+-msgstr "최신 버전을 사용할 수있는 설치된 패키지의 최신 버전에 대한 권고"
++msgstr "최신 버전를 사용할 수 있는 설치된 꾸러미의 최신 버전에 대한 권고"
+ 
+ #: dnf/cli/commands/updateinfo.py:87
+ msgid "advisories about any versions of installed packages"
+-msgstr "설치된 패키지 모든 버전에 대한 권고"
++msgstr "설치된 꾸러미 모든 버전에 대한 권고"
+ 
+ #: dnf/cli/commands/updateinfo.py:92
+ msgid "show summary of advisories (default)"
+@@ -2264,11 +2305,11 @@ msgstr "bugzilla 참조가 있는 권고 만 표시"
+ 
+ #: dnf/cli/commands/updateinfo.py:168
+ msgid "installed"
+-msgstr "설치됨"
++msgstr "설치되었습니다"
+ 
+ #: dnf/cli/commands/updateinfo.py:171
+ msgid "updates"
+-msgstr "업데이트"
++msgstr "최신화"
+ 
+ #: dnf/cli/commands/updateinfo.py:174
+ msgid "all"
+@@ -2280,11 +2321,11 @@ msgstr "사용 가능"
+ 
+ #: dnf/cli/commands/updateinfo.py:278
+ msgid "Updates Information Summary: "
+-msgstr "업데이트 정보 요약 "
++msgstr "최신화 정보 요약: "
+ 
+ #: dnf/cli/commands/updateinfo.py:281
+ msgid "New Package notice(s)"
+-msgstr "새 패키지 알림"
++msgstr "새 꾸러미 알림"
+ 
+ #: dnf/cli/commands/updateinfo.py:282
+ msgid "Security notice(s)"
+@@ -2324,11 +2365,11 @@ msgstr "기타 다른 공지"
+ 
+ #: dnf/cli/commands/updateinfo.py:316
+ msgid "Unknown/Sec."
+-msgstr "알 수 없음 /보안 취약점"
++msgstr "알 수 없음/보안."
+ 
+ #: dnf/cli/commands/updateinfo.py:357
+ msgid "Bugs"
+-msgstr "버그"
++msgstr "결점"
+ 
+ #: dnf/cli/commands/updateinfo.py:357
+ msgid "Type"
+@@ -2336,11 +2377,11 @@ msgstr "유형"
+ 
+ #: dnf/cli/commands/updateinfo.py:357
+ msgid "Update ID"
+-msgstr "ID 업데이트"
++msgstr "ID 최신화"
+ 
+ #: dnf/cli/commands/updateinfo.py:357
+ msgid "Updated"
+-msgstr "업데이트됨"
++msgstr "최신화됨"
+ 
+ #: dnf/cli/commands/updateinfo.py:358
+ msgid "CVEs"
+@@ -2364,10 +2405,10 @@ msgstr "파일"
+ 
+ # translation auto-copied from project subscription-manager, version 1.11.X,
+ # document keys
+-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
+-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
++#: dnf/cli/output.py:1656 dnf/util.py:617
+ msgid "Installed"
+-msgstr "설치됨"
++msgstr "설치되었습니다"
+ 
+ #: dnf/cli/commands/updateinfo.py:385
+ msgid "false"
+@@ -2379,17 +2420,19 @@ msgstr "true"
+ 
+ #: dnf/cli/commands/upgrade.py:40
+ msgid "upgrade a package or packages on your system"
+-msgstr "시스템에서 패키지를 업그레이드하십시오."
++msgstr "시스템에서 꾸러미를 최신화하세요"
+ 
+ #: dnf/cli/commands/upgrade.py:44
+ msgid "Package to upgrade"
+-msgstr "업그레이드할 패키지"
++msgstr "최신화 할 꾸러미"
+ 
+ #: dnf/cli/commands/upgrademinimal.py:31
+ msgid ""
+ "upgrade, but only 'newest' package match which fixes a problem that affects "
+ "your system"
+-msgstr "업그레이드하지만 ‘최신' 패키지에만 시스템에 영향을 줄 수 있는 수정된 문제가 있습니다"
++msgstr ""
++"최신화 하지만 ‘최신' 꾸러미에만 시스템에 영향을 줄 수 있는 수정된 문제가 있습"
++"니다"
+ 
+ #: dnf/cli/main.py:88
+ msgid "Terminated."
+@@ -2401,23 +2444,23 @@ msgstr "현재 디렉토리에서 읽기 / 실행 액세스가 없습니다. /
+ 
+ #: dnf/cli/main.py:135
+ msgid "try to add '{}' to command line to replace conflicting packages"
+-msgstr "충돌하는 패키지를 바꾸려면 명령 줄에 '{}'을 (를) 추가하십시오."
++msgstr "충돌하는 꾸러미를 교체하려면 명령줄에 '{}'을 추가하세요"
+ 
+ #: dnf/cli/main.py:139
+ msgid "try to add '{}' to skip uninstallable packages"
+-msgstr "설치할 수 없는 패키지를 건너 뛰려면 '{}'을 (를) 추가하십시오."
++msgstr "설치 할 수 없는 꾸러미를 건너 뛰려면 '{}'을 (를) 추가하십시오"
+ 
+ #: dnf/cli/main.py:142
+ msgid " or '{}' to skip uninstallable packages"
+-msgstr " 또는 '{}'은/는 설치할 수 없는 패키지를 건너 뜁니다"
++msgstr " 또는 '{}'는 설치 할 수 없는 꾸러미를 건너 뜁니다"
+ 
+ #: dnf/cli/main.py:147
+ msgid "try to add '{}' to use not only best candidate packages"
+-msgstr "최적 후보의 패키지만을 사용하려면 '{}'을 (를) 추가하십시오."
++msgstr "최적 후보의 꾸러미만을 사용하려면 '{}'를 추가하세요"
+ 
+ #: dnf/cli/main.py:150
+ msgid " or '{}' to use not only best candidate packages"
+-msgstr " 또는 '{}'은/는 최적 후보의 패키지만 사용합니다"
++msgstr " 또는 '{}'는 최적 후보의 꾸러미만 사용합니다"
+ 
+ #: dnf/cli/main.py:167
+ msgid "Dependencies resolved."
+@@ -2493,11 +2536,11 @@ msgstr "설정 파일 및 리포지토리 파일에서 $releasever 값을 무시
+ 
+ #: dnf/cli/option_parser.py:207
+ msgid "set arbitrary config and repo options"
+-msgstr "임의의 설정 옵션 및 리포지토리 옵션 설정"
++msgstr "임의의 설정 옵션 과 저장소 옵션 설정"
+ 
+ #: dnf/cli/option_parser.py:210
+ msgid "resolve depsolve problems by skipping packages"
+-msgstr "패키지를 건너 뛰어 종속성 문제 해결"
++msgstr "꾸러미를 건너 뛰어 종속성 문제 해결"
+ 
+ #: dnf/cli/option_parser.py:213
+ msgid "show command help"
+@@ -2505,19 +2548,19 @@ msgstr "명령 도움말 표시"
+ 
+ #: dnf/cli/option_parser.py:217
+ msgid "allow erasing of installed packages to resolve dependencies"
+-msgstr "종속성을 해결하기 위해 설치된 패키지 지우기 허용"
++msgstr "종속성을 해결하기 위해 설치된 꾸러미 지우기 허용"
+ 
+ #: dnf/cli/option_parser.py:221
+ msgid "try the best available package versions in transactions."
+-msgstr "트랜잭션에서 사용 가능한 최상의 패키지 버전을 사용해보십시오."
++msgstr "연결에서 사용 가능한 최상의 꾸러미 버전을 사용해보십시오."
+ 
+ #: dnf/cli/option_parser.py:223
+ msgid "do not limit the transaction to the best candidate"
+-msgstr "트랜잭션을 최상의 선택 옵션으로 제한하지 마십시오"
++msgstr "연결을 최상의 선택 옵션으로 제한하지 마십시오"
+ 
+ #: dnf/cli/option_parser.py:226
+ msgid "run entirely from system cache, don't update cache"
+-msgstr "시스템 캐시에서 완전히 실행하고, 캐시를 업데이트하지 않습니다."
++msgstr "시스템 캐쉬에서 완전히 실행하고, 캐쉬를 최신화하지 않습니다"
+ 
+ #: dnf/cli/option_parser.py:230
+ msgid "maximum command wait time"
+@@ -2529,11 +2572,11 @@ msgstr "디버깅 출력 레벨"
+ 
+ #: dnf/cli/option_parser.py:236
+ msgid "dumps detailed solving results into files"
+-msgstr "자세한 해결 결과를 파일로 덤프합니다."
++msgstr "자세한 해결 결과를 파일로 덤프합니다"
+ 
+ #: dnf/cli/option_parser.py:240
+ msgid "show duplicates, in repos, in list/search commands"
+-msgstr "repos에 있는 중복 목록을 목록/검색 명령에 표시합니다."
++msgstr "repos에 있는 중복 목록을 목록/검색 명령에 표시합니다"
+ 
+ #: dnf/cli/option_parser.py:243
+ msgid "error output level"
+@@ -2545,8 +2588,8 @@ msgid ""
+ "enables {prog}'s obsoletes processing logic for upgrade or display "
+ "capabilities that the package obsoletes for info, list and repoquery"
+ msgstr ""
+-"패키지가 info, list, repoquery에 더 이상 사용하지 않는 업그레이드 또는 표시 기능을 위해 {prog}의 더 이상 "
+-"사용되지 않는 처리 로직을 활성화합니다."
++"꾸러미가 info, list, repoquery에 더 이상 사용하지 않는 최신화 또는 표시 기능"
++"을 위해 {prog}의 더 이상 사용되지 않는 처리 로직을 활성화합니다"
+ 
+ #: dnf/cli/option_parser.py:251
+ msgid "debugging output level for rpm"
+@@ -2564,19 +2607,25 @@ msgstr "모든 질문에 대해 \"아니오\"(no)로 자동 응답합니다"
+ msgid ""
+ "Enable additional repositories. List option. Supports globs, can be "
+ "specified multiple times."
+-msgstr "추가 리포지토리를 활성화하십시오. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정할 수 있습니다."
++msgstr ""
++"추가 저장소를 활성화하십시오. 옵션이 나열됩니다. glob를 지원하며 여러 번 지"
++"정 할 수 있습니다."
+ 
+ #: dnf/cli/option_parser.py:266
+ msgid ""
+-"Disable repositories. List option. Supports globs, can be specified multiple"
+-" times."
+-msgstr "리포지토리를 비활성화합니다. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정할 수 있습니다."
++"Disable repositories. List option. Supports globs, can be specified multiple "
++"times."
++msgstr ""
++"저장소를 비활성화 합니다. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정 할 "
++"수 있습니다."
+ 
+ #: dnf/cli/option_parser.py:270
+ msgid ""
+ "enable just specific repositories by an id or a glob, can be specified "
+ "multiple times"
+-msgstr "id 나 glob로 특정 리포지토리를 활성화할 수 있습니다. 여러 번 지정할 수 있습니다"
++msgstr ""
++"id 나 glob로 특정 리포지토리를 활성화할 수 있습니다. 여러 번 지정할 수 있습니"
++"다"
+ 
+ #: dnf/cli/option_parser.py:275
+ msgid "enable repos with config-manager command (automatically saves)"
+@@ -2588,7 +2637,7 @@ msgstr "config-manager 명령으로 repos를 비활성화합니다 (자동 저
+ 
+ #: dnf/cli/option_parser.py:283
+ msgid "exclude packages by name or glob"
+-msgstr "이름이나 glob로 패키지를 제거합니다"
++msgstr "이름이나 glob로 꾸러미를 제거합니다"
+ 
+ #: dnf/cli/option_parser.py:288
+ msgid "disable excludepkgs"
+@@ -2598,7 +2647,9 @@ msgstr "excludepkgs 비활성화"
+ msgid ""
+ "label and path to an additional repository to use (same path as in a "
+ "baseurl), can be specified multiple times."
+-msgstr "사용할 추가 리포지터리에 대한 레이블 및 경로 (baseurl과 동일한 경로)를 여러 번 지정할 수 있습니다."
++msgstr ""
++"사용 할 추가 레포지터리에 대한 이름표와 경로 (baseurl과 동일한 경로)를 여러 "
++"번 지정와 할 수 있습니다."
+ 
+ #: dnf/cli/option_parser.py:297
+ msgid "disable removal of dependencies that are no longer used"
+@@ -2626,51 +2677,51 @@ msgstr "IPv6 주소 만 확인"
+ 
+ #: dnf/cli/option_parser.py:314
+ msgid "set directory to copy packages to"
+-msgstr "패키지를 복사할 디렉토리를 설정하십시오"
++msgstr "꾸러미를 복사할 디렉토리를 설정하십시오"
+ 
+ #: dnf/cli/option_parser.py:317
+ msgid "only download packages"
+-msgstr "패키지 만 다운로드"
++msgstr "꾸러미만 내려받기"
+ 
+ #: dnf/cli/option_parser.py:319
+ msgid "add a comment to transaction"
+-msgstr "트랜잭션에 의견을 추가하십시오"
++msgstr "연결에 의견을 추가하십시오"
+ 
+ #: dnf/cli/option_parser.py:322
+ msgid "Include bugfix relevant packages, in updates"
+-msgstr "버그 수정 관련 패키지를 업데이트에 포함"
++msgstr "결점(bug) 수정 관련 꾸러미 최신화에 포함"
+ 
+ #: dnf/cli/option_parser.py:325
+ msgid "Include enhancement relevant packages, in updates"
+-msgstr "개선된 기능과 관련된 패키지를 업데이트에 포함"
++msgstr "개선된 기능과 관련된 꾸러미를 초신화에 포함"
+ 
+ #: dnf/cli/option_parser.py:328
+ msgid "Include newpackage relevant packages, in updates"
+-msgstr "새 패키지 관련 패키지를 업데이트에 포함"
++msgstr "새 꾸러미 관련 꾸러미 최신화에 포함"
+ 
+ #: dnf/cli/option_parser.py:331
+ msgid "Include security relevant packages, in updates"
+-msgstr "보안 관련 패키지 업데이트에 포함"
++msgstr "보안 관련 꾸러미 최신화에 포함"
+ 
+ #: dnf/cli/option_parser.py:335
+ msgid "Include packages needed to fix the given advisory, in updates"
+-msgstr "주어진 권고를 수정하는 데 필요한 패키지를 업데이트에 포함"
++msgstr "주어진 권고를 수정하는 데 필요한 꾸러미를 최신화에 포함"
+ 
+ #: dnf/cli/option_parser.py:339
+ msgid "Include packages needed to fix the given BZ, in updates"
+-msgstr "주어진 BZ를 수정하는 데 필요한 패키지를 업데이트에 포함"
++msgstr "주어진 BZ를 수정하는 데 필요한 꾸러미를 최신화에 포함"
+ 
+ #: dnf/cli/option_parser.py:342
+ msgid "Include packages needed to fix the given CVE, in updates"
+-msgstr "주어진 CVE를 수정하는 데 필요한 패키지를 업데이트에 포함"
++msgstr "주어진 CVE를 수정하는 데 필요한 꾸러미를 최신화에 포함"
+ 
+ #: dnf/cli/option_parser.py:347
+ msgid "Include security relevant packages matching the severity, in updates"
+-msgstr "심각도와 일치하는 보안 관련 패키지를 업데이트에 포함"
++msgstr "심각도와 일치하는 보안 관련 꾸러미를 최신화에 포함"
+ 
+ #: dnf/cli/option_parser.py:353
+ msgid "Force the use of an architecture"
+-msgstr "아키텍처의 사용을 강제합니다"
++msgstr "구조의 사용을 강제합니다"
+ 
+ #: dnf/cli/option_parser.py:375
+ msgid "List of Main Commands:"
+@@ -2688,13 +2739,13 @@ msgstr "‘%s' 인수를 인코딩할 수 없습니다: %s"
+ #. Translators: This is abbreviated 'Name'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:505
++#: dnf/cli/output.py:459
+ msgctxt "short"
+ msgid "Name"
+ msgstr "이름"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:511
++#: dnf/cli/output.py:465
+ msgid "Epoch"
+ msgstr "기간"
+ 
+@@ -2702,38 +2753,38 @@ msgstr "기간"
+ #. use the full (unabbreviated) term 'Version' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:512 dnf/cli/output.py:1335
++#: dnf/cli/output.py:466 dnf/cli/output.py:1248
+ msgctxt "short"
+ msgid "Version"
+ msgstr "버전"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Version'.
+-#: dnf/cli/output.py:513 dnf/cli/output.py:1337
++#: dnf/cli/output.py:467 dnf/cli/output.py:1250
+ msgctxt "long"
+ msgid "Version"
+ msgstr "버전"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:516
++#: dnf/cli/output.py:470
+ msgid "Release"
+ msgstr "릴리즈"
+ 
+ #. Translators: This is abbreviated 'Architecture', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:517 dnf/cli/output.py:1326
++#: dnf/cli/output.py:471 dnf/cli/output.py:1239
+ msgctxt "short"
+ msgid "Arch"
+-msgstr "아키텍처"
++msgstr "구조"
+ 
+ #. Translators: This is the full word 'Architecture', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:518 dnf/cli/output.py:1329
++#: dnf/cli/output.py:472 dnf/cli/output.py:1242
+ msgctxt "long"
+ msgid "Architecture"
+-msgstr "아키텍처"
++msgstr "구조"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Size'.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1352
++#: dnf/cli/output.py:474 dnf/cli/output.py:1265
+ msgctxt "long"
+ msgid "Size"
+ msgstr "크기"
+@@ -2742,361 +2793,357 @@ msgstr "크기"
+ #. not be longer than 5 characters. If the term 'Size' in your
+ #. language is not longer than 5 characters then you can use it
+ #. unabbreviated.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1350
++#: dnf/cli/output.py:474 dnf/cli/output.py:1263
+ msgctxt "short"
+ msgid "Size"
+ msgstr "크기"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:524
++#: dnf/cli/output.py:478
+ msgid "Source"
+ msgstr "소스"
+ 
+ #. Translators: This is abbreviated 'Repository', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:525 dnf/cli/output.py:1341
++#: dnf/cli/output.py:479 dnf/cli/output.py:1254
+ msgctxt "short"
+ msgid "Repo"
+-msgstr "리포지터리"
++msgstr "레포지터리"
+ 
+ #. Translators: This is the full word 'Repository', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:526 dnf/cli/output.py:1344
++#: dnf/cli/output.py:480 dnf/cli/output.py:1257
+ msgctxt "long"
+ msgid "Repository"
+-msgstr "리포지터리"
++msgstr "레포지터리"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:533
++#: dnf/cli/output.py:487
+ msgid "From repo"
+-msgstr "리포지터리에서"
++msgstr "레포지터리에서"
+ 
+ #. :hawkey does not support changelog information
+ #. print(_("Committer   : %s") % ucd(pkg.committer))
+ #. print(_("Committime  : %s") % time.ctime(pkg.committime))
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:539
++#: dnf/cli/output.py:493
+ msgid "Packager"
+-msgstr "패키지 프로그램"
++msgstr "꾸러미 생성자"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:541
++#: dnf/cli/output.py:495
+ msgid "Buildtime"
+ msgstr "빌드 시간"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:545
++#: dnf/cli/output.py:499
+ msgid "Install time"
+ msgstr "설치 시간"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:554
++#: dnf/cli/output.py:508
+ msgid "Installed by"
+ msgstr "설치자"
+ 
+ #. Translators: This is abbreviated 'Summary'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:558
++#: dnf/cli/output.py:512
+ msgctxt "short"
+ msgid "Summary"
+ msgstr "요약"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:564
++#: dnf/cli/output.py:518
+ msgid "License"
+-msgstr "라이센스"
++msgstr "저작권"
+ 
+ #. Translators: This is abbreviated 'Description'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:568
++#: dnf/cli/output.py:522
+ msgctxt "short"
+ msgid "Description"
+ msgstr "설명"
+ 
+-#: dnf/cli/output.py:695
+-msgid "No packages to list"
+-msgstr "목록에 패키지가 없습니다"
+-
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "y"
+ msgstr "y"
+ 
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "yes"
+ msgstr "예"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "n"
+ msgstr "n"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "no"
+-msgstr "아니요"
++msgstr "아니"
+ 
+-#: dnf/cli/output.py:711
++#: dnf/cli/output.py:655
+ msgid "Is this ok [y/N]: "
+-msgstr "정말입니까 [y/N]: "
++msgstr "진행 할 까요? [y/N]: "
+ 
+-#: dnf/cli/output.py:715
++#: dnf/cli/output.py:659
+ msgid "Is this ok [Y/n]: "
+-msgstr "정말입니까 [Y/n]: "
++msgstr "진행 할 까요? [Y/n]: "
+ 
+-#: dnf/cli/output.py:795
++#: dnf/cli/output.py:739
+ #, python-format
+ msgid "Group: %s"
+ msgstr "그룹 %s"
+ 
+-#: dnf/cli/output.py:799
++#: dnf/cli/output.py:743
+ #, python-format
+ msgid " Group-Id: %s"
+ msgstr " 그룹 ID: %s"
+ 
+-#: dnf/cli/output.py:801 dnf/cli/output.py:840
++#: dnf/cli/output.py:745 dnf/cli/output.py:784
+ #, python-format
+ msgid " Description: %s"
+ msgstr " 설명: %s"
+ 
+-#: dnf/cli/output.py:803
++#: dnf/cli/output.py:747
+ #, python-format
+ msgid " Language: %s"
+ msgstr " 언어: %s"
+ 
+-#: dnf/cli/output.py:806
++#: dnf/cli/output.py:750
+ msgid " Mandatory Packages:"
+-msgstr " 필수 패키지 :"
++msgstr " 필수 꾸러미 :"
+ 
+-#: dnf/cli/output.py:807
++#: dnf/cli/output.py:751
+ msgid " Default Packages:"
+-msgstr " 기본 패키지 :"
++msgstr " 기본 꾸러미 :"
+ 
+-#: dnf/cli/output.py:808
++#: dnf/cli/output.py:752
+ msgid " Optional Packages:"
+-msgstr " 선택적인 패키지 :"
++msgstr " 선택적인 꾸러미 :"
+ 
+-#: dnf/cli/output.py:809
++#: dnf/cli/output.py:753
+ msgid " Conditional Packages:"
+-msgstr " 추가 가능 패키지 :"
++msgstr " 추가 가능 꾸러미 :"
+ 
+-#: dnf/cli/output.py:834
++#: dnf/cli/output.py:778
+ #, python-format
+ msgid "Environment Group: %s"
+ msgstr "환경 그룹 : %s"
+ 
+-#: dnf/cli/output.py:837
++#: dnf/cli/output.py:781
+ #, python-format
+ msgid " Environment-Id: %s"
+ msgstr " 환경 -ID : %s"
+ 
+-#: dnf/cli/output.py:843
++#: dnf/cli/output.py:787
+ msgid " Mandatory Groups:"
+ msgstr " 필수 그룹 :"
+ 
+-#: dnf/cli/output.py:844
++#: dnf/cli/output.py:788
+ msgid " Optional Groups:"
+ msgstr " 선택적인 그룹 :"
+ 
+-#: dnf/cli/output.py:865
++#: dnf/cli/output.py:809
+ msgid "Matched from:"
+ msgstr "일치하는 항목 :"
+ 
+-#: dnf/cli/output.py:879
++#: dnf/cli/output.py:823
+ #, python-format
+ msgid "Filename    : %s"
+ msgstr "파일 이름 : %s"
+ 
+-#: dnf/cli/output.py:904
++#: dnf/cli/output.py:848
+ #, python-format
+ msgid "Repo        : %s"
+ msgstr "리포지토리      : %s"
+ 
+-#: dnf/cli/output.py:913
++#: dnf/cli/output.py:857
+ msgid "Description : "
+ msgstr "설명 : "
+ 
+-#: dnf/cli/output.py:917
++#: dnf/cli/output.py:861
+ #, python-format
+ msgid "URL         : %s"
+ msgstr "URL         : %s"
+ 
+-#: dnf/cli/output.py:921
++#: dnf/cli/output.py:865
+ #, python-format
+ msgid "License     : %s"
+-msgstr "라이센스    : %s"
++msgstr "저작권 : %s"
+ 
+-#: dnf/cli/output.py:927
++#: dnf/cli/output.py:871
+ #, python-format
+ msgid "Provide    : %s"
+ msgstr "제공        : %s"
+ 
+-#: dnf/cli/output.py:947
++#: dnf/cli/output.py:891
+ #, python-format
+ msgid "Other       : %s"
+ msgstr "기타       : %s"
+ 
+-#: dnf/cli/output.py:996
++#: dnf/cli/output.py:940
+ msgid "There was an error calculating total download size"
+-msgstr "총 다운로드 크기를 계산하는 중에 오류가 발생했습니다"
++msgstr "총 내려받기 크기를 계산하는 중에 오류가 발생했습니다"
+ 
+-#: dnf/cli/output.py:1002
++#: dnf/cli/output.py:946
+ #, python-format
+ msgid "Total size: %s"
+ msgstr "전체 크기: %s"
+ 
+-#: dnf/cli/output.py:1005
++#: dnf/cli/output.py:949
+ #, python-format
+ msgid "Total download size: %s"
+-msgstr "총 다운로드 크기 : %s"
++msgstr "총계 내려받기 크기: %s"
+ 
+-#: dnf/cli/output.py:1008
++#: dnf/cli/output.py:952
+ #, python-format
+ msgid "Installed size: %s"
+ msgstr "설치된 크기 : %s"
+ 
+-#: dnf/cli/output.py:1026
++#: dnf/cli/output.py:970
+ msgid "There was an error calculating installed size"
+ msgstr "설치된 크기를 계산하는 동안 오류가 발생했습니다"
+ 
+-#: dnf/cli/output.py:1030
++#: dnf/cli/output.py:974
+ #, python-format
+ msgid "Freed space: %s"
+ msgstr "사용 가능한 공간 : %s"
+ 
+-#: dnf/cli/output.py:1039
++#: dnf/cli/output.py:983
+ msgid "Marking packages as installed by the group:"
+-msgstr "그룹에 설치된 패키지 표시:"
++msgstr "그룹에 설치된 꾸러미 표시:"
+ 
+-#: dnf/cli/output.py:1046
++#: dnf/cli/output.py:990
+ msgid "Marking packages as removed by the group:"
+-msgstr "그룹에 의해 제거된 패키지 표시:"
++msgstr "그룹에 의해 제거된 꾸러미 표시:"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Group"
+ msgstr "그룹"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Packages"
+-msgstr "패키지"
++msgstr "꾸러미"
+ 
+-#: dnf/cli/output.py:1133
++#: dnf/cli/output.py:1046
+ msgid "Installing group/module packages"
+-msgstr "그룹 / 모듈 패키지 설치"
++msgstr "그룹/모듈 꾸러미 설치"
+ 
+-#: dnf/cli/output.py:1134
++#: dnf/cli/output.py:1047
+ msgid "Installing group packages"
+-msgstr "그룹 패키지 설치"
++msgstr "그룹 꾸러미 설치"
+ 
+ #. TRANSLATORS: This is for a list of packages to be installed.
+-#: dnf/cli/output.py:1138
++#: dnf/cli/output.py:1051
+ msgctxt "summary"
+ msgid "Installing"
+ msgstr "설치 중"
+ 
+ #. TRANSLATORS: This is for a list of packages to be upgraded.
+-#: dnf/cli/output.py:1140
++#: dnf/cli/output.py:1053
+ msgctxt "summary"
+ msgid "Upgrading"
+-msgstr "업그레이드 중"
++msgstr "향상 중"
+ 
+ #. TRANSLATORS: This is for a list of packages to be reinstalled.
+-#: dnf/cli/output.py:1142
++#: dnf/cli/output.py:1055
+ msgctxt "summary"
+ msgid "Reinstalling"
+ msgstr "재설치 중"
+ 
+-#: dnf/cli/output.py:1144
++#: dnf/cli/output.py:1057
+ msgid "Installing dependencies"
+-msgstr "종속 패키지 설치 중"
++msgstr "종속 꾸러미 설치 중"
+ 
+-#: dnf/cli/output.py:1145
++#: dnf/cli/output.py:1058
+ msgid "Installing weak dependencies"
+-msgstr "취약한 종속 패키지 설치 중"
++msgstr "취약한 종속 꾸러미 설치 중"
+ 
+-#. TRANSLATORS: This is for a list of packages to be removed.
+ # translation auto-copied from project subscription-manager, version 1.11.X,
+ # document keys
+-#: dnf/cli/output.py:1147
++#. TRANSLATORS: This is for a list of packages to be removed.
++#: dnf/cli/output.py:1060
+ msgid "Removing"
+ msgstr "삭제 중"
+ 
+-#: dnf/cli/output.py:1148
++#: dnf/cli/output.py:1061
+ msgid "Removing dependent packages"
+-msgstr "종속 패키지 제거"
++msgstr "종속 꾸러미지 제거"
+ 
+-#: dnf/cli/output.py:1149
++#: dnf/cli/output.py:1062
+ msgid "Removing unused dependencies"
+-msgstr "사용하지 않는 종속 패키지 제거"
++msgstr "사용하지 않는 종속 꾸러미 제거"
+ 
+ #. TRANSLATORS: This is for a list of packages to be downgraded.
+-#: dnf/cli/output.py:1151
++#: dnf/cli/output.py:1064
+ msgctxt "summary"
+ msgid "Downgrading"
+-msgstr "다운그레이드 중"
++msgstr "하향설치 중"
+ 
+-#: dnf/cli/output.py:1176
++#: dnf/cli/output.py:1089
+ msgid "Installing module profiles"
+ msgstr "모듈 프로파일 설치"
+ 
+-#: dnf/cli/output.py:1185
++#: dnf/cli/output.py:1098
+ msgid "Disabling module profiles"
+ msgstr "모듈 프로파일 비활성화"
+ 
+-#: dnf/cli/output.py:1194
++#: dnf/cli/output.py:1107
+ msgid "Enabling module streams"
+ msgstr "모듈 스트림 활성화"
+ 
+-#: dnf/cli/output.py:1202
++#: dnf/cli/output.py:1115
+ msgid "Switching module streams"
+ msgstr "모듈 스트림 전환"
+ 
+-#: dnf/cli/output.py:1210
++#: dnf/cli/output.py:1123
+ msgid "Disabling modules"
+ msgstr "모듈 비활성화"
+ 
+-#: dnf/cli/output.py:1218
++#: dnf/cli/output.py:1131
+ msgid "Resetting modules"
+ msgstr "모듈 재설정"
+ 
+-#: dnf/cli/output.py:1230
++#: dnf/cli/output.py:1143
+ msgid "Installing Environment Groups"
+-msgstr "환경 그룹 설치"
++msgstr "환경 그룹 설치 중"
+ 
+-#: dnf/cli/output.py:1237
++#: dnf/cli/output.py:1150
+ msgid "Upgrading Environment Groups"
+-msgstr "환경 그룹 업그레이드"
++msgstr "환경 그룹 향상"
+ 
+-#: dnf/cli/output.py:1244
++#: dnf/cli/output.py:1157
+ msgid "Removing Environment Groups"
+ msgstr "환경 그룹 제거"
+ 
+-#: dnf/cli/output.py:1251
++#: dnf/cli/output.py:1164
+ msgid "Installing Groups"
+ msgstr "그룹 설치"
+ 
+-#: dnf/cli/output.py:1258
++#: dnf/cli/output.py:1171
+ msgid "Upgrading Groups"
+-msgstr "그룹 업그레이드"
++msgstr "그룹 향상"
+ 
+-#: dnf/cli/output.py:1265
++#: dnf/cli/output.py:1178
+ msgid "Removing Groups"
+ msgstr "그룹 제거"
+ 
+-#: dnf/cli/output.py:1281
++#: dnf/cli/output.py:1194
+ #, python-format
+ msgid ""
+ "Skipping packages with conflicts:\n"
+ "(add '%s' to command line to force their upgrade)"
+ msgstr ""
+-"충돌 패키지 건너 뛰기 :\n"
+-"(업그레이드를 강제하려면 명령행에 '%s' 추가)"
++"충돌 꾸러미 건너 뛰기:\n"
++"(향상을 강제하려면 명령행에 '%s' 추가)"
+ 
+-#: dnf/cli/output.py:1291
++#: dnf/cli/output.py:1204
+ #, python-format
+ msgid "Skipping packages with broken dependencies%s"
+-msgstr "손상된 종속성이 있는 %s 패키지 건너 뛰기"
++msgstr "손상된 종속성이 있는 %s 꾸러미 건너 뛰기"
+ 
+-#: dnf/cli/output.py:1295
++#: dnf/cli/output.py:1208
+ msgid " or part of a group"
+ msgstr " 또는 그룹의 일부"
+ 
+@@ -3104,22 +3151,22 @@ msgstr " 또는 그룹의 일부"
+ #. use the full (unabbreviated) term 'Package' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:1320
++#: dnf/cli/output.py:1233
+ msgctxt "short"
+ msgid "Package"
+-msgstr "패키지"
++msgstr "꾸러미"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Package'.
+-#: dnf/cli/output.py:1322
++#: dnf/cli/output.py:1235
+ msgctxt "long"
+ msgid "Package"
+-msgstr "패키지"
++msgstr "꾸러미"
+ 
+-#: dnf/cli/output.py:1371
++#: dnf/cli/output.py:1284
+ msgid "replacing"
+ msgstr "교체"
+ 
+-#: dnf/cli/output.py:1378
++#: dnf/cli/output.py:1291
+ #, python-format
+ msgid ""
+ "\n"
+@@ -3127,296 +3174,280 @@ msgid ""
+ "%s\n"
+ msgstr ""
+ "\n"
+-"트랜잭션 요약\n"
++"연결 요약\n"
+ "%s\n"
+ 
+ #. TODO: remove
+-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
++#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
+ msgid "Install"
+ msgstr "설치"
+ 
+ # ctx::sourcefile::Navigation Menu
+-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
++#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
+ msgid "Upgrade"
+-msgstr "업그레이드"
++msgstr "향상"
+ 
+-#: dnf/cli/output.py:1388
++#: dnf/cli/output.py:1301
+ msgid "Remove"
+ msgstr "삭제"
+ 
+-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
++#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
+ msgid "Downgrade"
+-msgstr "다운 그레이드"
++msgstr "하향설치"
+ 
+-#: dnf/cli/output.py:1391
++#: dnf/cli/output.py:1304
+ msgid "Skip"
+ msgstr "건너뛰기"
+ 
+-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
+ msgid "Package"
+ msgid_plural "Packages"
+-msgstr[0] "패키지"
++msgstr[0] "꾸러미"
+ 
+-#: dnf/cli/output.py:1418
++#: dnf/cli/output.py:1331
+ msgid "Dependent package"
+ msgid_plural "Dependent packages"
+-msgstr[0] "종속 패키지"
+-
+-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
+-msgid "Upgraded"
+-msgstr "업그레이드 됨"
+-
+-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
+-msgid "Downgraded"
+-msgstr "다운 그레이드"
+-
+-#: dnf/cli/output.py:1503
+-msgid "Reinstalled"
+-msgstr "다시 설치됨"
+-
+-#: dnf/cli/output.py:1504
+-msgid "Skipped"
+-msgstr "건너 뛰기됨"
+-
+-#: dnf/cli/output.py:1505
+-msgid "Removed"
+-msgstr "제거됨"
+-
+-#: dnf/cli/output.py:1508
+-msgid "Failed"
+-msgstr "실패하였습니다"
++msgstr[0] "종속 꾸러미"
+ 
+ # auto translated by TM merge from project: RHOSP Director Installation and
+ # Usage , version: 11-Korean, DocId: master
+-#: dnf/cli/output.py:1559
++#: dnf/cli/output.py:1439
+ msgid "Total"
+ msgstr "합계"
+ 
+-#: dnf/cli/output.py:1587
++#: dnf/cli/output.py:1467
+ msgid "<unset>"
+ msgstr "<unset>"
+ 
+-#: dnf/cli/output.py:1588
++#: dnf/cli/output.py:1468
+ msgid "System"
+ msgstr "시스템"
+ 
+-#: dnf/cli/output.py:1638
++#: dnf/cli/output.py:1518
+ msgid "Command line"
+ msgstr "명령행"
+ 
+ #. TRANSLATORS: user names who executed transaction in history command output
+-#: dnf/cli/output.py:1649
++#: dnf/cli/output.py:1531
+ msgid "User name"
+ msgstr "사용자 이름"
+ 
+ # translation auto-copied from project subscription-manager, version 1.11.X,
+ # document keys
+-#: dnf/cli/output.py:1651
++#: dnf/cli/output.py:1533
+ msgid "ID"
+ msgstr "ID"
+ 
+-#: dnf/cli/output.py:1653
++#: dnf/cli/output.py:1535
+ msgid "Date and time"
+ msgstr "날짜와 시간"
+ 
+-#: dnf/cli/output.py:1654
++#: dnf/cli/output.py:1536
+ msgid "Action(s)"
+ msgstr "작업"
+ 
+-#: dnf/cli/output.py:1655
++#: dnf/cli/output.py:1537
+ msgid "Altered"
+ msgstr "변경됨"
+ 
+-#: dnf/cli/output.py:1698
++#: dnf/cli/output.py:1580
+ msgid "No transactions"
+-msgstr "트랜잭션 없음"
++msgstr "연결 없음"
+ 
+-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
++#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
+ msgid "Failed history info"
+ msgstr "실패 기록 정보"
+ 
+-#: dnf/cli/output.py:1714
++#: dnf/cli/output.py:1596
+ msgid "No transaction ID, or package, given"
+-msgstr "트랜잭션 ID 또는 패키지가 지정되지 않았습니다"
++msgstr "연결 ID 또는 꾸러미가 지정되지 않았습니다"
+ 
+-#: dnf/cli/output.py:1772
++#: dnf/cli/output.py:1654
+ msgid "Erased"
+-msgstr "삭제됨"
++msgstr "제거되었습니다"
+ 
+-#: dnf/cli/output.py:1774
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
++msgid "Downgraded"
++msgstr "하향설치됨"
++
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
++msgid "Upgraded"
++msgstr "향상되었습니다"
++
++#: dnf/cli/output.py:1656
+ msgid "Not installed"
+ msgstr "설치되지 않음"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Newer"
+ msgstr "최신"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Older"
+ msgstr "이전"
+ 
+-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
++#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
+ msgid "Transaction ID :"
+-msgstr "트랜잭션 ID :"
++msgstr "연결 ID :"
+ 
+-#: dnf/cli/output.py:1828
++#: dnf/cli/output.py:1710
+ msgid "Begin time     :"
+ msgstr "시작 시간 :"
+ 
+-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
++#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
+ msgid "Begin rpmdb    :"
+ msgstr "rpmdb 시작 :"
+ 
+-#: dnf/cli/output.py:1839
++#: dnf/cli/output.py:1721
+ #, python-format
+ msgid "(%u seconds)"
+ msgstr "(%u 초)"
+ 
+-#: dnf/cli/output.py:1841
++#: dnf/cli/output.py:1723
+ #, python-format
+ msgid "(%u minutes)"
+ msgstr "(%u 분)"
+ 
+-#: dnf/cli/output.py:1843
++#: dnf/cli/output.py:1725
+ #, python-format
+ msgid "(%u hours)"
+ msgstr "(%u 시간)"
+ 
+-#: dnf/cli/output.py:1845
++#: dnf/cli/output.py:1727
+ #, python-format
+ msgid "(%u days)"
+ msgstr "(%u 일)"
+ 
+-#: dnf/cli/output.py:1846
++#: dnf/cli/output.py:1728
+ msgid "End time       :"
+ msgstr "종료 시간 :"
+ 
+-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
++#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
+ msgid "End rpmdb      :"
+ msgstr "rpmdb 종료:"
+ 
+-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
++#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
+ msgid "User           :"
+ msgstr "사용자            :"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
+ msgid "Aborted"
+ msgstr "중지됨"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
+-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
++#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
+ msgid "Return-Code    :"
+ msgstr "반환 코드 :"
+ 
+-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
+ msgid "Success"
+ msgstr "성공"
+ 
+-#: dnf/cli/output.py:1869
++#: dnf/cli/output.py:1751
+ msgid "Failures:"
+ msgstr "실패 :"
+ 
+-#: dnf/cli/output.py:1873
++#: dnf/cli/output.py:1755
+ msgid "Failure:"
+ msgstr "실패:"
+ 
+-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
++#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
+ msgid "Releasever     :"
+-msgstr "Releasever     :"
++msgstr "Releasever :"
+ 
+-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
++#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
+ msgid "Command Line   :"
+ msgstr "명령 줄 :"
+ 
+-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
++#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
+ msgid "Comment        :"
+ msgstr "댓글 :"
+ 
+-#: dnf/cli/output.py:1903
++#: dnf/cli/output.py:1785
+ msgid "Transaction performed with:"
+-msgstr "실행된 트랜잭션:"
++msgstr "실행된 연결:"
+ 
+-#: dnf/cli/output.py:1912
++#: dnf/cli/output.py:1794
+ msgid "Packages Altered:"
+-msgstr "변경된 패키지 :"
++msgstr "변경된 꾸러미 :"
+ 
+-#: dnf/cli/output.py:1918
++#: dnf/cli/output.py:1800
+ msgid "Scriptlet output:"
+-msgstr "Scriptlet 출력 :"
++msgstr "스크립트릿 출력 :"
+ 
+-#: dnf/cli/output.py:1925
++#: dnf/cli/output.py:1807
+ msgid "Errors:"
+ msgstr "오류 :"
+ 
+-#: dnf/cli/output.py:1934
++#: dnf/cli/output.py:1816
+ msgid "Dep-Install"
+-msgstr "Dep-Install"
++msgstr "설치-시작"
+ 
+-#: dnf/cli/output.py:1935
++#: dnf/cli/output.py:1817
+ msgid "Obsoleted"
+ msgstr "사용 중지됨"
+ 
+-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
++#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
+ msgid "Obsoleting"
+ msgstr "사용 중지"
+ 
+-#: dnf/cli/output.py:1937
++#: dnf/cli/output.py:1819
+ msgid "Erase"
+ msgstr "삭제"
+ 
+-#: dnf/cli/output.py:1938
++#: dnf/cli/output.py:1820
+ msgid "Reinstall"
+ msgstr "재설치"
+ 
+-#: dnf/cli/output.py:2016
++#: dnf/cli/output.py:1894
+ #, python-format
+ msgid "---> Package %s.%s %s will be installed"
+-msgstr "---> 패키지 %s.%s %s이/가 설치됩니다"
++msgstr "---> 꾸러미 %s.%s %s가 설치됩니다"
+ 
+-#: dnf/cli/output.py:2018
++#: dnf/cli/output.py:1896
+ #, python-format
+ msgid "---> Package %s.%s %s will be an upgrade"
+-msgstr "---> 패키지 %s.%s %s이/가 업그레이드됩니다"
++msgstr "---> 꾸러미 %s.%s %s가 최신화됩니다"
+ 
+-#: dnf/cli/output.py:2020
++#: dnf/cli/output.py:1898
+ #, python-format
+ msgid "---> Package %s.%s %s will be erased"
+-msgstr "---> 패키지 %s.%s %s이/가 제거됩니다"
++msgstr "---> 꾸러미 %s.%s %s가 제거됩니다"
+ 
+-#: dnf/cli/output.py:2022
++#: dnf/cli/output.py:1900
+ #, python-format
+ msgid "---> Package %s.%s %s will be reinstalled"
+-msgstr "---> 패키지 %s.%s %s이/가 다시 설치됩니다"
++msgstr "---> 꾸러미 %s.%s %s가 다시 설치됩니다"
+ 
+-#: dnf/cli/output.py:2024
++#: dnf/cli/output.py:1902
+ #, python-format
+ msgid "---> Package %s.%s %s will be a downgrade"
+-msgstr "---> 패키지 %s.%s %s이/가 다운그레이드됩니다"
++msgstr "---> 꾸러미 %s.%s %s가 하향설치됩니다"
+ 
+-#: dnf/cli/output.py:2026
++#: dnf/cli/output.py:1904
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleting"
+-msgstr "---> 패키지 %s.%s %s이/가 더 이상 사용되지 않습니다"
++msgstr "---> 꾸러미 %s.%s %s가 더 이상 사용되지 않습니다"
+ 
+-#: dnf/cli/output.py:2028
++#: dnf/cli/output.py:1906
+ #, python-format
+ msgid "---> Package %s.%s %s will be upgraded"
+-msgstr "---> 패키지 %s.%s %s이/가 업그레이드됩니다"
++msgstr "---> 꾸러미 %s.%s %s가 최신화됩니다"
+ 
+-#: dnf/cli/output.py:2030
++#: dnf/cli/output.py:1908
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleted"
+-msgstr "---> 패키지 %s.%s %s이/가 더 이상 사용되지 않습니다"
++msgstr "---> 꾸러미 %s.%s %s가 더 이상 사용되지 않습니다"
+ 
+-#: dnf/cli/output.py:2039
++#: dnf/cli/output.py:1917
+ msgid "--> Starting dependency resolution"
+ msgstr "-> 종석성 해결 시작"
+ 
+-#: dnf/cli/output.py:2044
++#: dnf/cli/output.py:1921
+ msgid "--> Finished dependency resolution"
+ msgstr "-> 종속성 해결 완료"
+ 
+-#: dnf/cli/output.py:2058 dnf/crypto.py:132
++#: dnf/cli/output.py:1935 dnf/crypto.py:132
+ #, python-format
+ msgid ""
+ "Importing GPG key 0x%s:\n"
+@@ -3425,13 +3456,13 @@ msgid ""
+ " From       : %s"
+ msgstr ""
+ "GPG키 0x%s 가져오는 중:\n"
+-" 사용자 ID     : \"%s\"\n"
+-"  지문: %s\n"
+-" 출처        : %s"
++"사용자 ID : \"%s\"\n"
++"지문: %s\n"
++"출처 : %s"
+ 
+ #: dnf/cli/utils.py:98
+ msgid "Running"
+-msgstr "실행중"
++msgstr "실행 중"
+ 
+ #: dnf/cli/utils.py:99
+ msgid "Sleeping"
+@@ -3478,36 +3509,30 @@ msgstr "    시작됨: %s - %s 전"
+ msgid "    State  : %s"
+ msgstr "    상태  : %s"
+ 
+-#: dnf/comps.py:104
+-msgid "skipping."
+-msgstr "건너 뛰기."
+-
+ #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
+ #, python-format
+ msgid "Module or Group '%s' is not installed."
+-msgstr "모듈 또는 그룹 '%s'이/가 설치되지 않았습니다."
++msgstr "모듈 또는 그룹 '%s'가 설치되지 않았습니다."
+ 
+ #: dnf/comps.py:198 dnf/comps.py:708
+ #, python-format
+ msgid "Module or Group '%s' is not available."
+-msgstr "모듈 또는 그룹 '%s'을/를 사용할 수 없습니다."
++msgstr "모듈 또는 그룹 '%s'을 사용 할 수 없습니다."
+ 
+ #: dnf/comps.py:200
+ #, python-format
+ msgid "Module or Group '%s' does not exist."
+-msgstr "모듈 또는 그룹 '%s'이/가 존재하지 않습니다."
++msgstr "모듈 또는 그룹 '%s'가 존재하지 않습니다."
+ 
+ #: dnf/comps.py:599
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not installed."
++#, python-format
+ msgid "Environment id '%s' does not exist."
+-msgstr "환경 '%s'이 설치되지 않았습니다."
++msgstr "환경 id '%s' 가 존재하지 않습니다."
+ 
+-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not installed."
++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
++#, python-format
+ msgid "Environment id '%s' is not installed."
+-msgstr "환경 '%s'이 설치되지 않았습니다."
++msgstr "환경id '%s'가 설치되지 않았습니다."
+ 
+ #: dnf/comps.py:639
+ #, python-format
+@@ -3517,19 +3542,23 @@ msgstr "환경 '%s'이 설치되지 않았습니다."
+ #: dnf/comps.py:641
+ #, python-format
+ msgid "Environment '%s' is not available."
+-msgstr "환경 '%s'을/를 사용할 수 없습니다."
++msgstr "환경 '%s'을 사용 할 수 없습니다."
+ 
+ #: dnf/comps.py:673
+-#, fuzzy, python-format
+-#| msgid "Group_id '%s' does not exist."
++#, python-format
+ msgid "Group id '%s' does not exist."
+-msgstr "Group_id '%s' 존재하지 않는다."
++msgstr "Group id '%s' 가 존재하지 않습니다."
+ 
+ #: dnf/conf/config.py:136
+ #, python-format
+ msgid "Error parsing '%s': %s"
+ msgstr "'%s' 구문 분석 중 오류 발생: %s"
+ 
++#: dnf/conf/config.py:151
++#, python-format
++msgid "Invalid configuration value: %s=%s in %s; %s"
++msgstr "잘못된 구성 값: %s=%s (%s; %s에서)"
++
+ #: dnf/conf/config.py:226
+ msgid "Could not set cachedir: {}"
+ msgstr "cachedir를 설정할 수 없습니다: {}"
+@@ -3539,7 +3568,7 @@ msgid ""
+ "Configuration file URL \"{}\" could not be downloaded:\n"
+ "  {}"
+ msgstr ""
+-"구성 파일 URL \"{}\"을 (를) 다운로드 할 수 없습니다:\n"
++"구성 파일 URL \"{}\"를 내려받기 할 수 없습니다:\n"
+ "  {}"
+ 
+ #: dnf/conf/config.py:355 dnf/conf/config.py:391
+@@ -3550,7 +3579,7 @@ msgstr "알 수 없는 설정 옵션 : %s = %s"
+ #: dnf/conf/config.py:372
+ #, python-format
+ msgid "Error parsing --setopt with key '%s', value '%s': %s"
+-msgstr "키 ‘%s', 값 '%s'을/를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
++msgstr "키 ‘%s', 값 '%s'를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
+ 
+ #: dnf/conf/config.py:380
+ #, python-format
+@@ -3564,75 +3593,92 @@ msgstr "잘못되었거나 알 수 없음 \"{}\": {}"
+ #: dnf/conf/config.py:501
+ #, python-format
+ msgid "Error parsing --setopt with key '%s.%s', value '%s': %s"
+-msgstr "키 %s.%s', 값 '%s'을/를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
++msgstr "키 %s.%s', 값 '%s'를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
+ 
+ #: dnf/conf/config.py:504
+ #, python-format
+ msgid "Repo %s did not have a %s attr. before setopt"
+ msgstr "Repo %s에 setopt 이전에 %s attr이 없습니다"
+ 
+-#: dnf/conf/read.py:51
++#: dnf/conf/read.py:60
+ #, python-format
+ msgid "Warning: failed loading '%s', skipping."
+-msgstr "경고: '%s'을/를 로드하지 못했습니다, 건너 뛰기."
++msgstr "경고: '%s'을 적재하지 못했습니다, 건너 뛰기."
+ 
+-#: dnf/conf/read.py:63
++#: dnf/conf/read.py:72
+ msgid "Bad id for repo: {} ({}), byte = {} {}"
+-msgstr "리포지터리의 ID가 잘못되었습니다. {} ({}), byte = {} {}"
++msgstr "레포지터리의 ID가 잘못되었습니다. {} ({}), byte = {} {}"
+ 
+-#: dnf/conf/read.py:67
++#: dnf/conf/read.py:76
+ msgid "Bad id for repo: {}, byte = {} {}"
+-msgstr "리포지터리의 ID가 잘못되었습니다. {}, byte = {} {}"
++msgstr "레포지터리의 ID가 잘못되었습니다. {}, byte = {} {}"
+ 
+-#: dnf/conf/read.py:75
++#: dnf/conf/read.py:84
+ msgid "Repository '{}' ({}): Error parsing config: {}"
+ msgstr "Repository '{}' ({}): 구문 분석 설정 오류: {}"
+ 
+-#: dnf/conf/read.py:78
++#: dnf/conf/read.py:87
+ msgid "Repository '{}': Error parsing config: {}"
+ msgstr "Repository '{}' : 구문 분석 설정 오류: {}"
+ 
+-#: dnf/conf/read.py:84
++#: dnf/conf/read.py:93
+ msgid "Repository '{}' ({}) is missing name in configuration, using id."
+-msgstr "Repository '{}' ({})의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
++msgstr ""
++"Repository '{}' ({})의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
+ 
+-#: dnf/conf/read.py:87
++#: dnf/conf/read.py:96
+ msgid "Repository '{}' is missing name in configuration, using id."
+ msgstr "Repository '{}'의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
+ 
+-#: dnf/conf/read.py:104
++#: dnf/conf/read.py:113
+ msgid "Parsing file \"{}\" failed: {}"
+ msgstr "\"{}\" 파일을 구문 분석하지 못했습니다: {}"
+ 
+ #: dnf/crypto.py:108
+ #, python-format
+ msgid "repo %s: 0x%s already imported"
+-msgstr "repo %s: 0x%s을/를 이미 가져왔습니다"
++msgstr "repo %s: 0x%s를 이미 가져왔습니다"
+ 
+ #: dnf/crypto.py:115
+ #, python-format
+ msgid "repo %s: imported key 0x%s."
+ msgstr "repo %s: 0x%s 키를 가져왔습니다."
+ 
+-#: dnf/db/group.py:293
++#: dnf/crypto.py:145
++msgid "Verified using DNS record with DNSSEC signature."
++msgstr "DNSSEC 서명이 있는 DNS 레코드를 사용하여 확인됨."
++
++#: dnf/crypto.py:147
++msgid "NOT verified using DNS record."
++msgstr "DNS 레코드를 사용하여 확인되지 않음."
++
++#: dnf/crypto.py:184
++#, python-format
++msgid "retrieving repo key for %s unencrypted from %s"
++msgstr "%s에서 암호화 하지 않은 %s를 위한 저장소 키 검색"
++
++#: dnf/db/group.py:301
+ msgid ""
+ "No available modular metadata for modular package '{}', it cannot be "
+ "installed on the system"
+-msgstr "모듈 패키지 '{}'에 사용 가능한 메타 데이터가 없으며 시스템에 설치할 수 없습니다"
++msgstr ""
++"모듈 꾸러미 '{}'에 사용 가능한 메타 자료가 없으며 시스템에 설치 할 수 없습니"
++"다"
+ 
+-#: dnf/db/group.py:343
++#: dnf/db/group.py:351
+ msgid "No available modular metadata for modular package"
+-msgstr "모듈 패키지에 사용 가능한 모듈 메타 데이터가 없습니다"
++msgstr "모듈 꾸러미에 사용 가능한 모듈 메타 자료가 없습니다"
+ 
+-#: dnf/db/group.py:377
++#: dnf/db/group.py:385
+ #, python-format
+ msgid "Will not install a source rpm package (%s)."
+-msgstr "소스 RPM패키지를 설치하지 않습니다 (%s)."
++msgstr "소스 RPM 꾸러미를 설치하지 않습니다 (%s)."
+ 
+ #: dnf/dnssec.py:168
+ msgid ""
+-"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
+-msgstr "설정 옵션 'gpgkey_dns_verification'에는 libunbound ({})가 필요합니다"
++"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
++msgstr ""
++"구성 선택 'gpgkey_dns_verification'에는 python3-unbound ({})가 필요합니다"
+ 
+ #: dnf/dnssec.py:239
+ msgid "DNSSEC extension: Key for user "
+@@ -3654,7 +3700,7 @@ msgstr "DNSSEC 확장: "
+ msgid "Testing already imported keys for their validity."
+ msgstr "유효성 검사를 위해 이미 가져온 키를 테스트 중입니다."
+ 
+-#: dnf/drpm.py:62 dnf/repo.py:268
++#: dnf/drpm.py:62 dnf/repo.py:267
+ #, python-format
+ msgid "unsupported checksum type: %s"
+ msgstr "지원되지 않는 검사 유형: %s"
+@@ -3679,11 +3725,11 @@ msgstr "요청 중인 문제 :"
+ 
+ #: dnf/exceptions.py:115
+ msgid "missing packages: "
+-msgstr "누락된 패키지: "
++msgstr "누락된 꾸러미: "
+ 
+ #: dnf/exceptions.py:117
+ msgid "broken packages: "
+-msgstr "잘못된 패키지: "
++msgstr "잘못된 꾸러미: "
+ 
+ #: dnf/exceptions.py:119
+ msgid "missing groups or modules: "
+@@ -3698,7 +3744,7 @@ msgid "Modular dependency problem with Defaults:"
+ msgid_plural "Modular dependency problems with Defaults:"
+ msgstr[0] "기본값의 모듈 종속성 문제 :"
+ 
+-#: dnf/exceptions.py:131 dnf/module/module_base.py:686
++#: dnf/exceptions.py:131 dnf/module/module_base.py:854
+ msgid "Modular dependency problem:"
+ msgid_plural "Modular dependency problems:"
+ msgstr[0] "모듈 종속성 문제 :"
+@@ -3707,10 +3753,12 @@ msgstr[0] "모듈 종속성 문제 :"
+ #, python-format
+ msgid ""
+ "Malformed lock file found: %s.\n"
+-"Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf."
++"Ensure no other dnf/yum process is running and remove the lock file manually "
++"or run systemd-tmpfiles --remove dnf.conf."
+ msgstr ""
+ "잘못된 잠금 파일이 발견되었습니다. %s \n"
+-"다른 dnf / yum 프로세스가 실행되고 있는지 확인하고 잠금 파일을 수동으로 제거하거나 systemd-tmpfiles --remove dnf.conf를 실행하십시오."
++"다른 dnf / yum 프로세스가 실행되고 있는지 확인하고 잠금 파일을 수동으로 제거"
++"하거나 systemd-tmpfiles --remove dnf.conf를 실행하십시오."
+ 
+ #: dnf/module/__init__.py:26
+ msgid "Enabling different stream for '{}'."
+@@ -3722,7 +3770,7 @@ msgstr "표시할 것이 없습니다."
+ 
+ #: dnf/module/__init__.py:28
+ msgid "Installing newer version of '{}' than specified. Reason: {}"
+-msgstr "지정된 버전보다 새 버전의 '{}'을/를 설치합니다. 이유 : {}"
++msgstr "지정된 버전 보다 새로운 버전의 '{}'를 설치합니다. 이유 : {}"
+ 
+ #: dnf/module/__init__.py:29
+ msgid "Enabled modules: {}."
+@@ -3732,7 +3780,47 @@ msgstr "사용 설정된 모듈 : {}."
+ msgid "No profile specified for '{}', please specify profile."
+ msgstr "'{}'에 지정된 프로필이 없습니다. 프로필을 지정하십시오."
+ 
+-#: dnf/module/module_base.py:33
++#: dnf/module/exceptions.py:27
++msgid "No such module: {}"
++msgstr "그런 모듈이 없습니다: {}"
++
++#: dnf/module/exceptions.py:33
++msgid "No such stream: {}"
++msgstr "그런 스트림이 없습니다: {}"
++
++#: dnf/module/exceptions.py:39
++msgid "No enabled stream for module: {}"
++msgstr "모듈에 대한 활성화된 스트림이 없습니다: {}"
++
++#: dnf/module/exceptions.py:46
++msgid "Cannot enable more streams from module '{}' at the same time"
++msgstr "동시에 모듈 '{}'에서 더 많은 스트림을 활성화 할 수 없습니다"
++
++#: dnf/module/exceptions.py:52
++msgid "Different stream enabled for module: {}"
++msgstr "모듈에 대해 활성화된 다른 스트림: {}"
++
++#: dnf/module/exceptions.py:58
++msgid "No such profile: {}"
++msgstr "그런 프로파일이 없습니다: {}"
++
++#: dnf/module/exceptions.py:64
++msgid "Specified profile not installed for {}"
++msgstr "{}를 위한 지정된 프로필이 설치되지 않았습니다"
++
++#: dnf/module/exceptions.py:70
++msgid "No stream specified for '{}', please specify stream"
++msgstr "'{}'을 위한 지정된 스트림이 없으며, 스트림을 지정해주세요"
++
++#: dnf/module/exceptions.py:82
++msgid "No such profile: {}. No profiles available"
++msgstr "그런 프로파일이 없습니다: {}. 사용 가능한 프로파일이 없습니다"
++
++#: dnf/module/exceptions.py:88
++msgid "No profile to remove for '{}'"
++msgstr "제거되는 프로파일이 없습니다('{}'를 위해 )"
++
++#: dnf/module/module_base.py:35
+ msgid ""
+ "\n"
+ "\n"
+@@ -3742,7 +3830,7 @@ msgstr ""
+ "\n"
+ "힌트 : [d] efault, [e] nabled, [x] disabled, [i] stalled"
+ 
+-#: dnf/module/module_base.py:34
++#: dnf/module/module_base.py:36
+ msgid ""
+ "\n"
+ "\n"
+@@ -3752,80 +3840,99 @@ msgstr ""
+ "\n"
+ "힌트 : [d] efault, [e] nabled, [x] disabled, [i] stalled, [a] ctive"
+ 
+-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
+-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
++#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
++#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
+ msgid "Ignoring unnecessary profile: '{}/{}'"
+ msgstr "불필요한 프로파일을 무시합니다: '{}/{}'"
+ 
+-#: dnf/module/module_base.py:84
++#: dnf/module/module_base.py:86
+ #, python-brace-format
+ msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
+-msgstr "모듈 '{1}:{2}'의 인수 '{0}'에 대한 모든 일치 항목이 활성화되지 않았습니다"
++msgstr ""
++"모듈 '{1}:{2}'의 인수 '{0}'에 대한 모든 일치 항목이 활성화되지 않았습니다"
+ 
+-#: dnf/module/module_base.py:92
++#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
+ #, python-brace-format
+ msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
+-msgstr "Fail-Safe 리포지토리 {1}에서 모듈 '{0}’을/를 설치할 수 없습니다"
++msgstr "실패 방지 저장소 {1}에서 모듈 '{0}’를 설치 할 수 없습니다"
+ 
+-#: dnf/module/module_base.py:102
++#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
+ msgid ""
+ "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
+-msgstr "인수 {}의 프로파일을 찾을 수 없습니다. '{}:{}'에 사용 가능한 프로파일: {}"
++msgstr ""
++"인수 {}의 프로파일을 찾을 수 없습니다. '{}:{}': {} 에 사용 가능한 프로파일"
+ 
+-#: dnf/module/module_base.py:106
++#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
+ msgid "Unable to match profile for argument {}"
+ msgstr "인수 {}의 프로파일을 찾을 수 없습니다"
+ 
+-#: dnf/module/module_base.py:118
++#: dnf/module/module_base.py:120
+ msgid "No default profiles for module {}:{}. Available profiles: {}"
+ msgstr "{} : {} 모듈에 대한 기본 프로파일이 없습니다. 사용 가능한 프로파일: {}"
+ 
+-#: dnf/module/module_base.py:122
++#: dnf/module/module_base.py:124
+ msgid "No profiles for module {}:{}"
+ msgstr "{} : {} 모듈에 대한 프로파일이 없습니다"
+ 
+-#: dnf/module/module_base.py:129
++#: dnf/module/module_base.py:131
+ msgid "Default profile {} not available in module {}:{}"
+ msgstr "{} 모듈에서 기본 프로필 {}을 (를) 사용할 수 없음 : {}"
+ 
+-#: dnf/module/module_base.py:142
++#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
+ msgid "Installing module from Fail-Safe repository is not allowed"
+-msgstr "Fail-Safe 리포지토리에서 모듈을 설치할 수 없습니다"
++msgstr "실패-방지 저장소에서 설치된 모듈은 허용하지 않습니다"
+ 
+-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
+-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
+-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
+-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
++#: dnf/module/module_base.py:196
++#, python-brace-format
++msgid "No active matches for argument '{0}' in module '{1}:{2}'"
++msgstr "모듈 '{1}:{2}'의 인수 '{0}'에 대한 일치 항목 없음"
++
++#: dnf/module/module_base.py:228
++#, python-brace-format
++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
++msgstr "설치 프로파일'{0}'은 모듈 '{1} 스트림 '{2}'에서 사용 할 수 없습니다"
++
++#: dnf/module/module_base.py:267
++msgid "No packages available to distrosync for package name '{}'"
++msgstr "꾸러미 이름 '{}'를 위하여 배포판에서 사용 할 수 있는 꾸러미가 없습니다"
++
++#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
++#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
++#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
++#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
+ msgid "Unable to resolve argument {}"
+ msgstr "인수 {}을 (를) 구문 분석할 수 없습니다"
+ 
+-#: dnf/module/module_base.py:160
+-msgid "No match for package {}"
+-msgstr "{} 패키지와 일치하지 않습니다"
+-
+-#: dnf/module/module_base.py:204
++#: dnf/module/module_base.py:321
+ #, python-brace-format
+ msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
+-msgstr "Fail-Safe 리포지토리 {1}에서 모듈 '{0}’을/를 업그레이드할 수 없습니다"
++msgstr "실패방지 저장소 {1}에서 모듈 '{0}’를 향상 할 수 없습니다"
+ 
+-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
++#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
+ msgid "Unable to match profile in argument {}"
+ msgstr "인수 {}에서 프로파일이 일치하지 않습니다"
+ 
+-#: dnf/module/module_base.py:231
++#: dnf/module/module_base.py:348
+ msgid "Upgrading module from Fail-Safe repository is not allowed"
+-msgstr "Fail-Safe 리포지토리에서 모듈을 업그레이드할 수 없습니다"
++msgstr "실패-방지 저장소에서 모듈을 향상 할 수 없습니다"
++
++#: dnf/module/module_base.py:422
++#, python-brace-format
++msgid ""
++"Argument '{argument}' matches {stream_count} streams ('{streams}') of module "
++"'{module}', but none of the streams are enabled or default"
++msgstr ""
++"인수 '{argument}'는 {stream_count} 스트림 ('{streams}')과 일치합니다 (모듈의 "
++"'{module}'), 하지만 활성화 되었거나 지정된 스트림이 없습니다"
+ 
+-#: dnf/module/module_base.py:367
++#: dnf/module/module_base.py:509
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'{}'"
++"Only module name is required. Ignoring unneeded information in argument: '{}'"
+ msgstr "모듈 이름만 필요합니다. '{}'인수에서 불필요한 정보를 무시합니다"
+ 
+-#: dnf/package.py:298
+-#, python-format
+-msgid "%s: %s check failed: %s vs %s"
+-msgstr "%s: %s 확인 실패 : %s 대 %s"
++#: dnf/module/module_base.py:841
++msgid "No match for package {}"
++msgstr "{} 꾸러미와 일치하지 않습니다"
+ 
+ #. empty file is invalid json format
+ #: dnf/persistor.py:54
+@@ -3836,12 +3943,12 @@ msgstr "%s는 빈 파일입니다"
+ #: dnf/persistor.py:91
+ #, python-format
+ msgid "Failed to load expired repos cache: %s"
+-msgstr ""
++msgstr "만료된 저장소 cache:%s 를 적재하는데 실패하였습니다"
+ 
+ #: dnf/persistor.py:99
+ #, python-format
+ msgid "Failed to store expired repos cache: %s"
+-msgstr ""
++msgstr "만료된 저장소 캐쉬: %s 저장하는데 실패하였습니다"
+ 
+ #: dnf/persistor.py:106
+ msgid "Failed storing last makecache time."
+@@ -3861,30 +3968,30 @@ msgstr "구문 분석에 실패했습니다. %s"
+ msgid "Loaded plugins: %s"
+ msgstr "로드된 플러그인 : %s"
+ 
+-#: dnf/plugin.py:199
++#: dnf/plugin.py:211
+ #, python-format
+ msgid "Failed loading plugin \"%s\": %s"
+-msgstr "플러그인 \"%s\"을/를 불러오지 못했습니다: %s"
++msgstr "플러그인 \"%s\"를 불러오지 못했습니다: %s"
+ 
+-#: dnf/plugin.py:231
++#: dnf/plugin.py:243
+ msgid "No matches found for the following enable plugin patterns: {}"
+ msgstr "다음의 활성 플러그인 패턴과 일치하는 항목이 없습니다: {}"
+ 
+-#: dnf/plugin.py:235
++#: dnf/plugin.py:247
+ msgid "No matches found for the following disable plugin patterns: {}"
+ msgstr "다음의 비활성화 플러그인 패턴과 일치하는 항목이 없습니다: {}"
+ 
+ #: dnf/repo.py:84
+ #, python-format
+ msgid "no matching payload factory for %s"
+-msgstr "%s와 일치하는 payload factory가 없습니다."
++msgstr "%s와 일치하는 payload factory가 없습니다"
+ 
+ #: dnf/repo.py:111
+ msgid "Already downloaded"
+-msgstr "이미 다운로드 됨"
++msgstr "이미 내려받음"
+ 
+ #. pinging mirrors, this might take a while
+-#: dnf/repo.py:347
++#: dnf/repo.py:346
+ #, python-format
+ msgid "determining the fastest mirror (%s hosts).. "
+ msgstr "가장 빠른 미러 지정 (%s 호스트).. "
+@@ -3899,15 +4006,32 @@ msgstr "%s 리포지토리 활성화"
+ msgid "Added %s repo from %s"
+ msgstr "%s 에서 %s repo를 추가했습니다"
+ 
++#: dnf/rpm/miscutils.py:32
++#, python-format
++msgid "Using rpmkeys executable at %s to verify signatures"
++msgstr "%s에 실행 할 수 있는 rpmkey를 사용하여 서명을 확인합니다"
++
++#: dnf/rpm/miscutils.py:66
++msgid "Cannot find rpmkeys executable to verify signatures."
++msgstr "서명을 확인하기 위해 실행 할 수 있는 rpmkeys를 찾을 수 없습니다."
++
+ #: dnf/rpm/transaction.py:119
+ msgid "Errors occurred during test transaction."
+-msgstr "트랜잭션 테스트 중에 오류가 발생했습니다."
++msgstr "연결 시험 중에 오류가 발생했습니다."
++
++#: dnf/sack.py:47
++msgid ""
++"allow_vendor_change is disabled. This option is currently not supported for "
++"downgrade and distro-sync commands"
++msgstr ""
++"허용_공급업체_변화는 사용 할 수 없습니다. 이 선택은 현재 다운드레이드와 "
++"distro-sync 명령을 지원하지 않습니다"
+ 
+ #. TRANSLATORS: This is for a single package currently being downgraded.
+ #: dnf/transaction.py:80
+ msgctxt "currently"
+ msgid "Downgrading"
+-msgstr "다운그레이드 중"
++msgstr "하향 설치 중"
+ 
+ #: dnf/transaction.py:81 dnf/transaction.py:88 dnf/transaction.py:93
+ #: dnf/transaction.py:95
+@@ -3935,7 +4059,7 @@ msgstr "삭제 중"
+ #: dnf/transaction.py:92
+ msgctxt "currently"
+ msgid "Upgrading"
+-msgstr "업그레이드 중"
++msgstr "향상 중"
+ 
+ #: dnf/transaction.py:96
+ msgid "Verifying"
+@@ -3943,168 +4067,223 @@ msgstr "확인 중"
+ 
+ #: dnf/transaction.py:97
+ msgid "Running scriptlet"
+-msgstr "scriptlet 실행 중"
++msgstr "스크립트릿 실행 중"
+ 
+ #: dnf/transaction.py:99
+ msgid "Preparing"
+ msgstr "준비 중"
+ 
+-#: dnf/transaction_sr.py:60
++#: dnf/transaction_sr.py:66
+ #, python-brace-format
+-msgid "Errors in \"{filename}\":"
+-msgstr ""
++msgid ""
++"The following problems occurred while replaying the transaction from file "
++"\"{filename}\":"
++msgstr "다음 문제는 파일에서 연결 응답 할 때에 발생합니다 \"{filename}\":"
+ 
+-#: dnf/transaction_sr.py:70
+-#, python-brace-format
+-msgid "Error in \"{filename}\": {error}"
+-msgstr ""
++#: dnf/transaction_sr.py:68
++msgid "The following problems occurred while running a transaction:"
++msgstr "연결 중에 오류가 발생했습니다:"
+ 
+-#: dnf/transaction_sr.py:87
++#: dnf/transaction_sr.py:89
+ #, python-brace-format
+ msgid "Invalid major version \"{major}\", number expected."
+-msgstr ""
++msgstr "잘못된 주요 버전 \"{major}\", 번호가 예상됩니다."
+ 
+-#: dnf/transaction_sr.py:95
++#: dnf/transaction_sr.py:97
+ #, python-brace-format
+ msgid "Invalid minor version \"{minor}\", number expected."
+-msgstr ""
++msgstr "잘못된 하위 버전 \"{minor}\", 번호가 예상됩니다."
+ 
+-#: dnf/transaction_sr.py:101
++#: dnf/transaction_sr.py:103
+ #, python-brace-format
+ msgid ""
+ "Incompatible major version \"{major}\", supported major version is "
+ "\"{major_supp}\"."
+ msgstr ""
++"호환되지 않는 주요 버전 \"{major}\", 지원되는 주요 버전 \"{major_supp}\"."
+ 
+-#: dnf/transaction_sr.py:244
++#: dnf/transaction_sr.py:224
++msgid ""
++"Conflicting TransactionReplay arguments have been specified: filename, data"
++msgstr "연결 지연 인수의 충돌은 명시됩니다: 파일이름, 자료"
++
++#: dnf/transaction_sr.py:265
+ #, python-brace-format
+ msgid "Unexpected type of \"{id}\", {exp} expected."
+-msgstr ""
++msgstr "예상치 못한 유형 \"{id}\", {exp} 가 예상된다."
+ 
+-#: dnf/transaction_sr.py:250
++#: dnf/transaction_sr.py:271
+ #, python-brace-format
+ msgid "Missing key \"{key}\"."
+-msgstr ""
++msgstr "누락된 키 \"{key}\"."
+ 
+-#: dnf/transaction_sr.py:263
++#: dnf/transaction_sr.py:285
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an rpm."
+-msgstr ""
++msgstr "rpm안에 누락된 객체 키 \"{key}\"."
+ 
+-#: dnf/transaction_sr.py:267
++#: dnf/transaction_sr.py:289
+ #, python-brace-format
+-msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
++msgid ""
++"Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
++"rpm nevra \"{nevra}\"를 위한 예상되지 않은 꾸러미 이유\"{reason}\" 의 값."
+ 
+-#: dnf/transaction_sr.py:275
++#: dnf/transaction_sr.py:297
+ #, python-brace-format
+ msgid "Cannot parse NEVRA for package \"{nevra}\"."
+-msgstr ""
++msgstr "꾸러미 \"{nevra}\"를 위해 NEVRA를 구문 분석 할 수 없습니다."
+ 
+-#: dnf/transaction_sr.py:286
++#: dnf/transaction_sr.py:321
+ #, python-brace-format
+ msgid "Cannot find rpm nevra \"{nevra}\"."
+-msgstr ""
++msgstr "rpm nevra \"{nevra}\"를 찾을 수 없습니다."
+ 
+-#: dnf/transaction_sr.py:301
++#: dnf/transaction_sr.py:336
+ #, python-brace-format
+ msgid "Package \"{na}\" is already installed for action \"{action}\"."
+-msgstr ""
++msgstr "꾸러미 \"{na}\"는 활동 \"{action}\"를 위해 이미 설치되어 있습니다."
+ 
+-#: dnf/transaction_sr.py:311
++#: dnf/transaction_sr.py:345
+ #, python-brace-format
+ msgid ""
+ "Package nevra \"{nevra}\" not available in repositories for action "
+ "\"{action}\"."
+ msgstr ""
++"꾸러미 nervra \"{nevra}\"는 실행 \"{action}\"을 위한 저장소에서 사용 할 수 없"
++"음."
+ 
+-#: dnf/transaction_sr.py:322
++#: dnf/transaction_sr.py:356
+ #, python-brace-format
+ msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
+-msgstr ""
++msgstr "꾸러미 nevra\"{nevra}\"는 활동 \"{action}\"을 위해 설치되지 않음."
+ 
+-#: dnf/transaction_sr.py:336
++#: dnf/transaction_sr.py:370
+ #, python-brace-format
+-msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
++msgid ""
++"Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
++"rpm nevra \"{nevra}\"를 위해 기대하지 않는 꾸러미 활동 \"{action}\"의 값."
+ 
+-#: dnf/transaction_sr.py:343
+-#, fuzzy, python-format
+-#| msgid "Group_id '%s' does not exist."
++#: dnf/transaction_sr.py:377
++#, python-format
+ msgid "Group id '%s' is not available."
+-msgstr "Group_id '%s' 존재하지 않는다."
++msgstr "Group_id '%s'는 사용 할 수 없습니다."
+ 
+-#: dnf/transaction_sr.py:364
++#: dnf/transaction_sr.py:398
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in groups.packages."
+-msgstr ""
++msgstr "group.packages에 있는 객체 키 \"{key}\" 누락."
+ 
+-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not installed."
++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
++#, python-format
+ msgid "Group id '%s' is not installed."
+-msgstr "환경 '%s'이 설치되지 않았습니다."
++msgstr "그룹 '%s'는 설치되어 있지 않습니다."
+ 
+-#: dnf/transaction_sr.py:398
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not installed."
++#: dnf/transaction_sr.py:432
++#, python-format
+ msgid "Environment id '%s' is not available."
+-msgstr "환경 '%s'이 설치되지 않았습니다."
++msgstr "환경 id '%s'는 사용 할 수 없습니다."
+ 
+-#: dnf/transaction_sr.py:422
++#: dnf/transaction_sr.py:456
+ #, python-brace-format
+ msgid ""
+ "Invalid value \"{group_type}\" of environments.groups.group_type, only "
+ "\"mandatory\" or \"optional\" is supported."
+ msgstr ""
++"잘못된 environments.groups.group_type의 값 \"{group_type}\", \"필 수\" 또는 "
++"\"선택\"만 지원합니다."
+ 
+-#: dnf/transaction_sr.py:430
++#: dnf/transaction_sr.py:464
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in environments.groups."
+-msgstr ""
++msgstr "환경 그룹에서 누락된 객체 키 \"{key}\"."
+ 
+-#: dnf/transaction_sr.py:508
++#: dnf/transaction_sr.py:542
+ #, python-brace-format
+ msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
+-msgstr ""
++msgstr "그룹 \"{group}\"을 위해 예상치 못한 그룹 활동 \"{action}\"의 값."
+ 
+-#: dnf/transaction_sr.py:513
++#: dnf/transaction_sr.py:547
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in a group."
+-msgstr ""
++msgstr "그룹 안에 누락된 객체 키 \"{key}\"."
+ 
+-#: dnf/transaction_sr.py:537
++#: dnf/transaction_sr.py:571
+ #, python-brace-format
+-msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
+-msgstr ""
++msgid ""
++"Unexpected value of environment action \"{action}\" for environment "
++"\"{env}\"."
++msgstr "환경 \"{env}\"를 위해 예상하지 못한 환경 활동 \"{action}\"의 값."
+ 
+-#: dnf/transaction_sr.py:542
++#: dnf/transaction_sr.py:576
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an environment."
+-msgstr ""
++msgstr "환경에 누락된 객체 키 \"{key}\"."
+ 
+-#: dnf/transaction_sr.py:581
++#: dnf/transaction_sr.py:615
+ #, python-brace-format
+ msgid ""
+-"Package nevra \"{nevra}\", which is not present in the transaction file, was"
+-" pulled into the transaction."
++"Package nevra \"{nevra}\", which is not present in the transaction file, was "
++"pulled into the transaction."
+ msgstr ""
++"꾸러미 nevra \"{nevra}\", 연겨 파일에 존재하지 않는 것은 연결로 가져왔습니다."
+ 
+-#: dnf/util.py:391 dnf/util.py:393
++#: dnf/util.py:419 dnf/util.py:421
+ msgid "Problem"
+ msgstr "문제"
+ 
+-#: dnf/util.py:444
++#: dnf/util.py:472
+ msgid "TransactionItem not found for key: {}"
+ msgstr "{} 키에 대한 TransactionItem을 찾을 수 없습니다"
+ 
+-#: dnf/util.py:454
++#: dnf/util.py:482
+ msgid "TransactionSWDBItem not found for key: {}"
+ msgstr "{} 키에 대한 TransactionSWDBItem을 찾을 수 없습니다"
+ 
+-#: dnf/util.py:457
++#: dnf/util.py:485
+ msgid "Errors occurred during transaction."
+-msgstr "트랜잭션 중에 오류가 발생했습니다."
++msgstr "연결 중에 오류가 발생했습니다."
++
++#: dnf/util.py:621
++msgid "Reinstalled"
++msgstr "다시 설치되었습니다"
++
++#: dnf/util.py:622
++msgid "Skipped"
++msgstr "건너 뛰기됨"
++
++#: dnf/util.py:623
++msgid "Removed"
++msgstr "제거되었습니다"
++
++#: dnf/util.py:626
++msgid "Failed"
++msgstr "실패하였습니다"
++
++#~ msgid "skipping."
++#~ msgstr "건너 뛰기."
++
++#~ msgid ""
++#~ "Using rpmkeys executable from {path} to verify signature for package: "
++#~ "{package}."
++#~ msgstr ""
++#~ "{path}에서 실행 할 수 있는 rpmkeys를 사용하여 꾸러미 서명 확인: {package}."
++
++#~ msgid "%s: %s check failed: %s vs %s"
++#~ msgstr "%s: %s 확인 실패 : %s 대 %s"
++
++#~ msgid "Action not handled: {}"
++#~ msgstr "작업이 처리되지 않았습니다: {}"
++
++#~ msgid "no package matched"
++#~ msgstr "일치하는 패키지가 없습니다."
++
++#~ msgid "Not found given transaction ID"
++#~ msgstr "주어진 트랜잭션 ID를 찾을 수 없습니다"
++
++#~ msgid "Undoing transaction {}, from {}"
++#~ msgstr "{}에서 {} 트랜잭션 실행을 취소하고 있습니다"
+ 
+ #~ msgid "format for displaying found packages"
+ #~ msgstr "발견 된 패키지를 표시하기위한 형식"
+diff --git a/po/zh_CN.po b/po/zh_CN.po
+index 7ede4ed8..af6396c3 100644
+--- a/po/zh_CN.po
++++ b/po/zh_CN.po
+@@ -13,33 +13,37 @@
+ # Qi Fan <fun224@gmail.com>, 2016. #zanata
+ # Tommy He <lovenemesis@fedoraproject.org>, 2016. #zanata
+ # mosquito <sensor.wen@gmail.com>, 2016. #zanata
+-# Charles Lee <lchopn@gmail.com>, 2017. #zanata, 2020.
++# Charles Lee <lchopn@gmail.com>, 2017. #zanata, 2020, 2021.
+ # Pany <pany@fedoraproject.org>, 2017. #zanata
+ # cheng ye <18969068329@163.com>, 2017. #zanata
+ # lexuge <LEXUGEyky@outlook.com>, 2017. #zanata
+ # n0vad3v <jonasguo@fedoraproject.org>, 2017. #zanata
+ # zhouxiaobo <zhouxiaobo.500@gmail.com>, 2017. #zanata
+-# Ludek Janda <ljanda@redhat.com>, 2018. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
+ # Pany <pany@fedoraproject.org>, 2018. #zanata
+ # Qiyu Yan <yanqiyu01@gmail.com>, 2018. #zanata
+ # Qiyu Yan <yanqiyu01@gmail.com>, 2019. #zanata
+ # Anonymous <noreply@weblate.org>, 2020.
+ # Hongqiao Chen <harrychen0314@gmail.com>, 2020.
+ # Harry Chen <harrychen0314@gmail.com>, 2020.
++# Sundeep Anand <suanand@redhat.com>, 2021.
++# weidong <weidongkl@sina.com>, 2021.
++# Transtats <suanand@redhat.com>, 2022.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2020-10-05 09:18-0400\n"
+-"PO-Revision-Date: 2020-08-02 08:29+0000\n"
+-"Last-Translator: Charles Lee <lchopn@gmail.com>\n"
+-"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/dnf/dnf-master/zh_CN/>\n"
++"POT-Creation-Date: 2022-02-28 11:24+0100\n"
++"PO-Revision-Date: 2022-03-09 12:39+0000\n"
++"Last-Translator: Transtats <suanand@redhat.com>\n"
++"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
++"projects/dnf/dnf-rhel-8/zh_CN/>\n"
+ "Language: zh_CN\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+-"X-Generator: Weblate 4.1.1\n"
++"X-Generator: Weblate 4.11.2\n"
+ 
+ #: dnf/automatic/emitter.py:32
+ #, python-format
+@@ -86,7 +90,7 @@ msgstr "使用 '%s' 发送邮件失败: %s"
+ msgid "Failed to execute command '%s': returned %d"
+ msgstr "无法执行命令 '%s' :返回 %d"
+ 
+-#: dnf/automatic/main.py:164 dnf/conf/config.py:151
++#: dnf/automatic/main.py:164
+ #, python-format
+ msgid "Unknown configuration value: %s=%s in %s; %s"
+ msgstr "未知配置值: %s=%s 在 %s 中; %s"
+@@ -96,7 +100,7 @@ msgstr "未知配置值: %s=%s 在 %s 中; %s"
+ msgid "Unknown configuration option: %s = %s in %s"
+ msgstr "未知配置选项:%s = %s 在 %s 中"
+ 
+-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
++#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
+ msgid "GPG check FAILED"
+ msgstr "GPG 检查失败"
+ 
+@@ -109,9 +113,9 @@ msgid "Started dnf-automatic."
+ msgstr "启动的 dnf-automatic。"
+ 
+ #: dnf/automatic/main.py:308
+-#, python-format
+-msgid "Sleep for %s seconds"
+-msgstr "休眠 %s 秒"
++msgid "Sleep for {} second"
++msgid_plural "Sleep for {} seconds"
++msgstr[0] "休眠 {} 秒"
+ 
+ #: dnf/automatic/main.py:315
+ msgid "System is off-line."
+@@ -123,439 +127,426 @@ msgstr "系统离线。"
+ msgid "Error: %s"
+ msgstr "错误:%s"
+ 
+-#: dnf/base.py:146
++#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
+ msgid "loading repo '{}' failure: {}"
+ msgstr "加载仓库 '{}' 失败:{}"
+ 
+-#: dnf/base.py:148
++#: dnf/base.py:150
+ msgid "Loading repository '{}' has failed"
+ msgstr "加载仓库 '{}' 失败"
+ 
+-#: dnf/base.py:320
++#: dnf/base.py:327
+ msgid "Metadata timer caching disabled when running on metered connection."
+ msgstr "在使用按流量计费的连接时禁用元数据计时缓存。"
+ 
+-#: dnf/base.py:325
++#: dnf/base.py:332
+ msgid "Metadata timer caching disabled when running on a battery."
+ msgstr "在使用电池时禁用元数据计时缓存。"
+ 
+-#: dnf/base.py:330
++#: dnf/base.py:337
+ msgid "Metadata timer caching disabled."
+ msgstr "元数据计时缓存已禁用。"
+ 
+-#: dnf/base.py:335
++#: dnf/base.py:342
+ msgid "Metadata cache refreshed recently."
+ msgstr "元数据缓存近期已刷新。"
+ 
+-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
++#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
+ msgid "There are no enabled repositories in \"{}\"."
+ msgstr "在\"{}\"中没有被启用的仓库。"
+ 
+-#: dnf/base.py:348
++#: dnf/base.py:355
+ #, python-format
+ msgid "%s: will never be expired and will not be refreshed."
+ msgstr "%s: 永远不过期并不会被刷新。"
+ 
+-#: dnf/base.py:350
++#: dnf/base.py:357
+ #, python-format
+ msgid "%s: has expired and will be refreshed."
+ msgstr "%s: 已过期并不会被刷新。"
+ 
+ #. expires within the checking period:
+-#: dnf/base.py:354
++#: dnf/base.py:361
+ #, python-format
+ msgid "%s: metadata will expire after %d seconds and will be refreshed now"
+ msgstr "%s: 元数据将在 %d 秒后过期,现在将会被刷新"
+ 
+-#: dnf/base.py:358
++#: dnf/base.py:365
+ #, python-format
+ msgid "%s: will expire after %d seconds."
+ msgstr "%s: 将会在 %d 秒后过期。"
+ 
+ #. performs the md sync
+-#: dnf/base.py:364
++#: dnf/base.py:371
+ msgid "Metadata cache created."
+ msgstr "元数据缓存已建立。"
+ 
+-#: dnf/base.py:397
++#: dnf/base.py:404 dnf/base.py:471
+ #, python-format
+ msgid "%s: using metadata from %s."
+ msgstr "%s:正在使用截止于 %s 的元数据。"
+ 
+-#: dnf/base.py:409
++#: dnf/base.py:416 dnf/base.py:484
+ #, python-format
+ msgid "Ignoring repositories: %s"
+ msgstr "正在忽略仓库:%s"
+ 
+-#: dnf/base.py:412
++#: dnf/base.py:419
+ #, python-format
+ msgid "Last metadata expiration check: %s ago on %s."
+ msgstr "上次元数据过期检查:%s 前,执行于 %s。"
+ 
+-#: dnf/base.py:443
++#: dnf/base.py:512
+ msgid ""
+ "The downloaded packages were saved in cache until the next successful "
+ "transaction."
+ msgstr "下载的软件包保存在缓存中,直到下次成功执行事务。"
+ 
+-#: dnf/base.py:445
++#: dnf/base.py:514
+ #, python-format
+ msgid "You can remove cached packages by executing '%s'."
+ msgstr "您可以通过执行 '%s' 删除软件包缓存。"
+ 
+-#: dnf/base.py:535
++#: dnf/base.py:606
+ #, python-format
+ msgid "Invalid tsflag in config file: %s"
+ msgstr "配置文件 %s 中使用 tsflag 是错误的"
+ 
+-#: dnf/base.py:591
++#: dnf/base.py:662
+ #, python-format
+ msgid "Failed to add groups file for repository: %s - %s"
+ msgstr "为仓库 %s 添加组文件时失败:%s"
+ 
+-#: dnf/base.py:823
++#: dnf/base.py:904
+ msgid "Running transaction check"
+ msgstr "运行事务检查"
+ 
+-#: dnf/base.py:831
++#: dnf/base.py:912
+ msgid "Error: transaction check vs depsolve:"
+ msgstr "错误:事务检查与依赖解决错误:"
+ 
+-#: dnf/base.py:837
++#: dnf/base.py:918
+ msgid "Transaction check succeeded."
+ msgstr "事务检查成功。"
+ 
+-#: dnf/base.py:840
++#: dnf/base.py:921
+ msgid "Running transaction test"
+ msgstr "运行事务测试"
+ 
+-#: dnf/base.py:850 dnf/base.py:992
++#: dnf/base.py:931 dnf/base.py:1082
+ msgid "RPM: {}"
+ msgstr "RPM软件包: {}"
+ 
+-#: dnf/base.py:851
++#: dnf/base.py:932
+ msgid "Transaction test error:"
+ msgstr "事物测试失败:"
+ 
+-#: dnf/base.py:862
++#: dnf/base.py:943
+ msgid "Transaction test succeeded."
+ msgstr "事务测试成功。"
+ 
+-#: dnf/base.py:883
++#: dnf/base.py:964
+ msgid "Running transaction"
+ msgstr "运行事务"
+ 
+-#: dnf/base.py:911
++#: dnf/base.py:1001
+ msgid "Disk Requirements:"
+ msgstr "磁盘需求:"
+ 
+-#: dnf/base.py:914
++#: dnf/base.py:1004
+ #, python-brace-format
+ msgid "At least {0}MB more space needed on the {1} filesystem."
+ msgid_plural "At least {0}MB more space needed on the {1} filesystem."
+-msgstr[0] "在文件系统{1}上至少需要{0}MB的可用空间。"
++msgstr[0] "在 {1} 文件系统上至少需要 {0}MB 的空间。"
+ 
+-#: dnf/base.py:921
++#: dnf/base.py:1011
+ msgid "Error Summary"
+ msgstr "错误汇总"
+ 
+-#: dnf/base.py:947
++#: dnf/base.py:1037
+ #, python-brace-format
+ msgid "RPMDB altered outside of {prog}."
+ msgstr "RPMDB 在 {prog} 外被改动了。"
+ 
+-#: dnf/base.py:993 dnf/base.py:1001
++#: dnf/base.py:1083 dnf/base.py:1091
+ msgid "Could not run transaction."
+ msgstr "不能执行事务。"
+ 
+-#: dnf/base.py:996
++#: dnf/base.py:1086
+ msgid "Transaction couldn't start:"
+ msgstr "事务无法启动:"
+ 
+-#: dnf/base.py:1010
++#: dnf/base.py:1100
+ #, python-format
+ msgid "Failed to remove transaction file %s"
+ msgstr "移除事务文件 %s 失败"
+ 
+-#: dnf/base.py:1092
++#: dnf/base.py:1182
+ msgid "Some packages were not downloaded. Retrying."
+ msgstr "某些软件包没有被下载。正在重试。"
+ 
+-#: dnf/base.py:1122
++#: dnf/base.py:1212
+ #, python-format
+ msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
+ msgstr "增量 RPM 将 %.1f MB 的更新减少至 %.1f MB(已节省 %d.1%% )"
+ 
+-#: dnf/base.py:1125
++#: dnf/base.py:1215
+ #, python-format
+ msgid ""
+ "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
+ msgstr "增量 RPM 未能将 %.1f MB 的更新减少至 %.1f MB(已浪费 %d.1%% )"
+ 
+-#: dnf/base.py:1167
++#: dnf/base.py:1257
+ msgid "Cannot add local packages, because transaction job already exists"
+ msgstr "由于事物已经存在,无法添加本地软件包"
+ 
+-#: dnf/base.py:1181
++#: dnf/base.py:1271
+ msgid "Could not open: {}"
+ msgstr "无法打开: {}"
+ 
+-#: dnf/base.py:1219
++#: dnf/base.py:1309
+ #, python-format
+ msgid "Public key for %s is not installed"
+ msgstr "%s 的公钥没有安装"
+ 
+-#: dnf/base.py:1223
++#: dnf/base.py:1313
+ #, python-format
+ msgid "Problem opening package %s"
+ msgstr "打开软件包 %s 出现问题"
+ 
+-#: dnf/base.py:1231
++#: dnf/base.py:1321
+ #, python-format
+ msgid "Public key for %s is not trusted"
+ msgstr "%s 的公钥不可信任"
+ 
+-#: dnf/base.py:1235
++#: dnf/base.py:1325
+ #, python-format
+ msgid "Package %s is not signed"
+ msgstr "软件包 %s 没有签名"
+ 
+-#: dnf/base.py:1265
++#: dnf/base.py:1355
+ #, python-format
+ msgid "Cannot remove %s"
+ msgstr "无法删除 %s"
+ 
+-#: dnf/base.py:1269
++#: dnf/base.py:1359
+ #, python-format
+ msgid "%s removed"
+ msgstr "%s 已删除"
+ 
+-#: dnf/base.py:1549
++#: dnf/base.py:1639
+ msgid "No match for group package \"{}\""
+ msgstr "没有和组 \"{}\" 匹配的"
+ 
+-#: dnf/base.py:1635
++#: dnf/base.py:1721
+ #, python-format
+ msgid "Adding packages from group '%s': %s"
+ msgstr "从组 '%s': %s 添加软件包"
+ 
+-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
+-#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
+-#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
++#: dnf/base.py:1744 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
++#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
++#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
+ #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
+ msgid "Nothing to do."
+ msgstr "无需任何处理。"
+ 
+-#: dnf/base.py:1676
++#: dnf/base.py:1762
+ msgid "No groups marked for removal."
+ msgstr "没有软件包组需要移除。"
+ 
+-#: dnf/base.py:1710
++#: dnf/base.py:1796
+ msgid "No group marked for upgrade."
+ msgstr "没有标记为要升级的组。"
+ 
+-#: dnf/base.py:1925
++#: dnf/base.py:2010
+ #, python-format
+ msgid "Package %s not installed, cannot downgrade it."
+ msgstr "软件包 %s 并没有能够安装,无法进行降级操作。"
+ 
+-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
+-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
+-#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
+-#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
+-#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
++#: dnf/base.py:2012 dnf/base.py:2031 dnf/base.py:2044 dnf/base.py:2071
++#: dnf/base.py:2124 dnf/base.py:2132 dnf/base.py:2266 dnf/cli/cli.py:417
++#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
++#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
++#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
+ #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
+-#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
++#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
+ #, python-format
+ msgid "No match for argument: %s"
+ msgstr "未找到匹配的参数: %s"
+ 
+-#: dnf/base.py:1934
++#: dnf/base.py:2019
+ #, python-format
+ msgid "Package %s of lower version already installed, cannot downgrade it."
+ msgstr "软件包 %s 的低版本已经安装,无法进行降级。"
+ 
+-#: dnf/base.py:1957
++#: dnf/base.py:2042
+ #, python-format
+ msgid "Package %s not installed, cannot reinstall it."
+ msgstr "软件包 %s 未能够安装成功,无法进行重新安装。"
+ 
+-#: dnf/base.py:1972
++#: dnf/base.py:2057
+ #, python-format
+ msgid "File %s is a source package and cannot be updated, ignoring."
+ msgstr "%s 文件无法被升级,已忽略。"
+ 
+-#: dnf/base.py:1978
++#: dnf/base.py:2068
+ #, python-format
+ msgid "Package %s not installed, cannot update it."
+ msgstr "软件包 %s 未安装,无法更新。"
+ 
+-#: dnf/base.py:1987
++#: dnf/base.py:2078
+ #, python-format
+ msgid ""
+ "The same or higher version of %s is already installed, cannot update it."
+ msgstr "已经安装了软件包%s的相同或更高版本,无法更新。"
+ 
+-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
++#: dnf/base.py:2121 dnf/cli/commands/reinstall.py:81
+ #, python-format
+ msgid "Package %s available, but not installed."
+ msgstr "软件包 %s 可用,但没有被安装。"
+ 
+-#: dnf/base.py:2032
++#: dnf/base.py:2127
+ #, python-format
+ msgid "Package %s available, but installed for different architecture."
+ msgstr "软件包 %s 可用,当是为其它架构安装。"
+ 
+-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
++#: dnf/base.py:2152
+ #, python-format
+ msgid "No package %s installed."
+ msgstr "没有软件包 %s 安装。"
+ 
+-#: dnf/base.py:2075 dnf/cli/commands/install.py:136
++#: dnf/base.py:2170 dnf/cli/commands/install.py:136
+ #: dnf/cli/commands/remove.py:133
+ #, python-format
+ msgid "Not a valid form: %s"
+ msgstr "无效: %s"
+ 
+-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
+-#: dnf/cli/commands/remove.py:163
++#: dnf/base.py:2185 dnf/cli/commands/__init__.py:676
++#: dnf/cli/commands/remove.py:162
+ msgid "No packages marked for removal."
+ msgstr "没有软件包需要移除。"
+ 
+-#: dnf/base.py:2179 dnf/cli/cli.py:422
++#: dnf/base.py:2273 dnf/cli/cli.py:428
+ #, python-format
+ msgid "Packages for argument %s available, but not installed."
+ msgstr "针对于参数 %s 的软件包可用, 但是目前没有安装。"
+ 
+-#: dnf/base.py:2184
++#: dnf/base.py:2278
+ #, python-format
+ msgid "Package %s of lowest version already installed, cannot downgrade it."
+ msgstr "软件包 %s 的最低版本已经安装,无法再进行降级。"
+ 
+-#: dnf/base.py:2242
+-msgid "Action not handled: {}"
+-msgstr "操作没被处理:{}"
+-
+-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
+-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
+-#, python-format
+-msgid "No package %s available."
+-msgstr "没有可用的软件包 %s。"
+-
+-#: dnf/base.py:2269
+-msgid "no package matched"
+-msgstr "没有能够与之匹配的软件包"
+-
+-#: dnf/base.py:2290
++#: dnf/base.py:2378
+ msgid "No security updates needed, but {} update available"
+ msgstr "没有必须的安全更新, 但是 {} 的更新可用"
+ 
+-#: dnf/base.py:2292
++#: dnf/base.py:2380
+ msgid "No security updates needed, but {} updates available"
+ msgstr "没有必须的安全更新, 但是 {} 的更新可用"
+ 
+-#: dnf/base.py:2296
++#: dnf/base.py:2384
+ msgid "No security updates needed for \"{}\", but {} update available"
+ msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用"
+ 
+-#: dnf/base.py:2298
++#: dnf/base.py:2386
+ msgid "No security updates needed for \"{}\", but {} updates available"
+ msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用"
+ 
+ #. raise an exception, because po.repoid is not in self.repos
+-#: dnf/base.py:2319
++#: dnf/base.py:2407
+ #, python-format
+ msgid "Unable to retrieve a key for a commandline package: %s"
+-msgstr ""
++msgstr "无法获取来自命令行的软件包的密钥:%s"
+ 
+-#: dnf/base.py:2327
++#: dnf/base.py:2415
+ #, python-format
+ msgid ". Failing package is: %s"
+ msgstr ". 失败的软件包是:%s"
+ 
+-#: dnf/base.py:2328
++#: dnf/base.py:2416
+ #, python-format
+ msgid "GPG Keys are configured as: %s"
+ msgstr "GPG密钥配置为:%s"
+ 
+-#: dnf/base.py:2340
++#: dnf/base.py:2428
+ #, python-format
+ msgid "GPG key at %s (0x%s) is already installed"
+ msgstr "%s 的 GPG 公钥(0x%s)已安装"
+ 
+-#: dnf/base.py:2373
++#: dnf/base.py:2464
+ msgid "The key has been approved."
+ msgstr "密钥已被确认。"
+ 
+-#: dnf/base.py:2376
++#: dnf/base.py:2467
+ msgid "The key has been rejected."
+ msgstr "密钥已被拒绝。"
+ 
+-#: dnf/base.py:2409
++#: dnf/base.py:2500
+ #, python-format
+ msgid "Key import failed (code %d)"
+ msgstr "导入公钥失败(代码 %d)"
+ 
+-#: dnf/base.py:2411
++#: dnf/base.py:2502
+ msgid "Key imported successfully"
+ msgstr "导入公钥成功"
+ 
+-#: dnf/base.py:2415
++#: dnf/base.py:2506
+ msgid "Didn't install any keys"
+ msgstr "没有安装任何公钥"
+ 
+-#: dnf/base.py:2418
++#: dnf/base.py:2509
+ #, python-format
+ msgid ""
+-"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
++"The GPG keys listed for the \"%s\" repository are already installed but they "
++"are not correct for this package.\n"
+ "Check that the correct key URLs are configured for this repository."
+ msgstr ""
+ "仓库 \"%s\" 的 GPG 公钥已安装,但是不适用于此软件包。\n"
+ "请检查此仓库的公钥 URL 是否配置正确。"
+ 
+-#: dnf/base.py:2429
++#: dnf/base.py:2520
+ msgid "Import of key(s) didn't help, wrong key(s)?"
+ msgstr "导入的密钥没有公钥,错误的公钥?"
+ 
+-#: dnf/base.py:2482
++#: dnf/base.py:2573
+ msgid "  * Maybe you meant: {}"
+ msgstr "  * 可能您的意思是:{}"
+ 
+-#: dnf/base.py:2514
++#: dnf/base.py:2605
+ msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
+ msgstr "软件包 \"{}\"(来自于本地仓库 \"{}\")的 checksum 不正确"
+ 
+-#: dnf/base.py:2517
++#: dnf/base.py:2608
+ msgid "Some packages from local repository have incorrect checksum"
+ msgstr "本地仓库的一些软件包校验值(checksum)不正确,无法确定软件包完整"
+ 
+-#: dnf/base.py:2520
++#: dnf/base.py:2611
+ msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
+ msgstr "软件包 \"{}\"(来自仓库 \"{}\")的 checksum 不正确"
+ 
+-#: dnf/base.py:2523
++#: dnf/base.py:2614
+ msgid ""
+ "Some packages have invalid cache, but cannot be downloaded due to \"--"
+ "cacheonly\" option"
+ msgstr "以下软件包有无效缓存,因为使用了 \"--cacheonly\" 选项不能下载"
+ 
+-#: dnf/base.py:2541 dnf/base.py:2561
++#: dnf/base.py:2632 dnf/base.py:2652
+ msgid "No match for argument"
+ msgstr "未找到匹配的参数"
+ 
+-#: dnf/base.py:2549 dnf/base.py:2569
++#: dnf/base.py:2640 dnf/base.py:2660
+ msgid "All matches were filtered out by exclude filtering for argument"
+ msgstr "由于您的搜索参数,所有相关结果都已被滤掉"
+ 
+-#: dnf/base.py:2551
++#: dnf/base.py:2642
+ msgid "All matches were filtered out by modular filtering for argument"
+ msgstr "所有的匹配结果均已经被参数的模块化过滤条件筛除"
+ 
+-#: dnf/base.py:2567
++#: dnf/base.py:2658
+ msgid "All matches were installed from a different repository for argument"
+ msgstr "已从另一个仓库安装了参数的所有匹配"
+ 
+-#: dnf/base.py:2583
++#: dnf/base.py:2705
+ #, python-format
+ msgid "Package %s is already installed."
+ msgstr "软件包 %s 已安装。"
+@@ -575,8 +566,8 @@ msgstr "解析文件 \"%s\" 失败:%s"
+ msgid "Cannot read file \"%s\": %s"
+ msgstr "无法读取文件 \"%s\": %s"
+ 
+-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
+-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
++#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
+ #, python-format
+ msgid "Config error: %s"
+ msgstr "配置错误:%s"
+@@ -607,44 +598,48 @@ msgid ""
+ "stream '{2}'"
+ msgstr "这个操作会把模块 '{0}' 从流 '{1}' 切换到流 '{2}'"
+ 
+-#: dnf/cli/cli.py:172
++#: dnf/cli/cli.py:173
+ #, python-brace-format
+ msgid ""
+-"It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
++"It is not possible to switch enabled streams of a module unless explicitly "
++"enabled via configuration option module_stream_switch.\n"
++"It is recommended to rather remove all installed content from the module, "
++"and reset the module using '{prog} module reset <module_name>' command. "
++"After you reset the module, you can install the other stream."
+ msgstr ""
+-"无法切换已启用模块的流。\n"
+-"推荐移除来自模块的所有已安装内容,然后通过 '{prog} module reset <module_name>' 命令重置模块。在您重置模块之后,就可以安装其他的流。"
++"无法切换已启用模块的流,除非显式的通过配置选项 module_stream_switch 启用。\n"
++"推荐直接移除来自模块的所有已安装内容,然后通过 '{prog} module reset "
++"<module_name>' 命令重置模块。在您重置模块之后,就可以安装其他的流。"
+ 
+-#: dnf/cli/cli.py:210
++#: dnf/cli/cli.py:212
+ #, python-brace-format
+ msgid "{prog} will only download packages for the transaction."
+ msgstr "{prog}将仅会从事务下载软件包。"
+ 
+-#: dnf/cli/cli.py:213
++#: dnf/cli/cli.py:215
+ #, python-brace-format
+ msgid ""
+ "{prog} will only download packages, install gpg keys, and check the "
+ "transaction."
+ msgstr "{prog}将仅会下载软件包,导入gpg密钥并检查事务。"
+ 
+-#: dnf/cli/cli.py:217
++#: dnf/cli/cli.py:219
+ msgid "Operation aborted."
+ msgstr "操作中止。"
+ 
+-#: dnf/cli/cli.py:224
++#: dnf/cli/cli.py:226
+ msgid "Downloading Packages:"
+ msgstr "下载软件包:"
+ 
+-#: dnf/cli/cli.py:230
++#: dnf/cli/cli.py:232
+ msgid "Error downloading packages:"
+ msgstr "下载软件包出错 :"
+ 
+-#: dnf/cli/cli.py:258
++#: dnf/cli/cli.py:264
+ msgid "Transaction failed"
+ msgstr "事务失败"
+ 
+-#: dnf/cli/cli.py:281
++#: dnf/cli/cli.py:287
+ msgid ""
+ "Refusing to automatically import keys when running unattended.\n"
+ "Use \"-y\" to override."
+@@ -652,168 +647,150 @@ msgstr ""
+ "如果不加干预,拒绝自动导入公钥。\n"
+ "指定 \"-y\" 改变这个行为。"
+ 
+-#: dnf/cli/cli.py:331
++#: dnf/cli/cli.py:337
+ msgid "Changelogs for {}"
+ msgstr "{}的变更记录"
+ 
+-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
++#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
+ msgid "Obsoleting Packages"
+ msgstr "取代的软件包"
+ 
+-#: dnf/cli/cli.py:393
++#: dnf/cli/cli.py:399
+ msgid "No packages marked for distribution synchronization."
+ msgstr "没有软件包需要发行版同步。"
+ 
+-#: dnf/cli/cli.py:428
++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
++#, python-format
++msgid "No package %s available."
++msgstr "没有可用的软件包 %s。"
++
++#: dnf/cli/cli.py:434
+ msgid "No packages marked for downgrade."
+ msgstr "没有标记要降级的软件包。"
+ 
+-#: dnf/cli/cli.py:479
++#: dnf/cli/cli.py:485
+ msgid "Installed Packages"
+ msgstr "已安装的软件包"
+ 
+-#: dnf/cli/cli.py:487
++#: dnf/cli/cli.py:493
+ msgid "Available Packages"
+ msgstr "可安装的软件包"
+ 
+-#: dnf/cli/cli.py:491
++#: dnf/cli/cli.py:497
+ msgid "Autoremove Packages"
+ msgstr "自动移除软件包"
+ 
+-#: dnf/cli/cli.py:493
++#: dnf/cli/cli.py:499
+ msgid "Extra Packages"
+ msgstr "更多软件包"
+ 
+-#: dnf/cli/cli.py:497
++#: dnf/cli/cli.py:503
+ msgid "Available Upgrades"
+ msgstr "可用升级"
+ 
+-#: dnf/cli/cli.py:513
++#: dnf/cli/cli.py:519
+ msgid "Recently Added Packages"
+ msgstr "最近添加的软件包"
+ 
+-#: dnf/cli/cli.py:518
++#: dnf/cli/cli.py:523
+ msgid "No matching Packages to list"
+ msgstr "没有匹配的软件包可以列出"
+ 
+-#: dnf/cli/cli.py:599
++#: dnf/cli/cli.py:604
+ msgid "No Matches found"
+ msgstr "没有找到匹配的软件包"
+ 
+-#: dnf/cli/cli.py:609
+-msgid "No transaction ID given"
+-msgstr "没有事务 ID"
+-
+-#: dnf/cli/cli.py:614
+-msgid "Not found given transaction ID"
+-msgstr "未找到指定事务 ID"
+-
+-#: dnf/cli/cli.py:623
+-msgid "Found more than one transaction ID!"
+-msgstr "找到多个事务 ID!"
+-
+-#: dnf/cli/cli.py:640
+-#, python-format
+-msgid "Transaction history is incomplete, before %u."
+-msgstr "在 %u 之前,事务历史不完整。"
+-
+-#: dnf/cli/cli.py:642
+-#, python-format
+-msgid "Transaction history is incomplete, after %u."
+-msgstr "在 %u 之后,事务历史不完整。"
+-
+-#: dnf/cli/cli.py:689
+-msgid "Undoing transaction {}, from {}"
+-msgstr "撤销事务 {},从 {}"
+-
+-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
++#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
+ #, python-format
+ msgid "Unknown repo: '%s'"
+ msgstr "未知仓库:'%s'"
+ 
+-#: dnf/cli/cli.py:783
++#: dnf/cli/cli.py:685
+ #, python-format
+ msgid "No repository match: %s"
+ msgstr "没有仓库匹配: %s"
+ 
+-#: dnf/cli/cli.py:817
++#: dnf/cli/cli.py:719
+ msgid ""
+-"This command has to be run with superuser privileges (under the root user on"
+-" most systems)."
++"This command has to be run with superuser privileges (under the root user on "
++"most systems)."
+ msgstr "运行此命令需要管理员特权(多数系统下是root用户)。"
+ 
+-#: dnf/cli/cli.py:847
++#: dnf/cli/cli.py:749
+ #, python-format
+ msgid "No such command: %s. Please use %s --help"
+ msgstr "未找到命令: %s。请使用 %s --help"
+ 
+-#: dnf/cli/cli.py:850
++#: dnf/cli/cli.py:752
+ #, python-format, python-brace-format
+ msgid ""
+ "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
+ "command(%s)'\""
+ msgstr "它可能是一个{PROG}插件命令,尝试:\"{prog} install 'dnf-command(%s)'\""
+ 
+-#: dnf/cli/cli.py:854
++#: dnf/cli/cli.py:756
+ #, python-brace-format
+ msgid ""
+ "It could be a {prog} plugin command, but loading of plugins is currently "
+ "disabled."
+ msgstr "这可能是一个 {prog} 插件的命令,但是插件的加载当前已经禁用。"
+ 
+-#: dnf/cli/cli.py:912
++#: dnf/cli/cli.py:814
+ msgid ""
+ "--destdir or --downloaddir must be used with --downloadonly or download or "
+ "system-upgrade command."
+ msgstr ""
+-"--destdir 或 --downloaddir 必须和 --downloadonly 或 download 或 system-upgrade "
+-"命令一起使用。"
++"--destdir 或 --downloaddir 必须和 --downloadonly 或 download 或 system-"
++"upgrade 命令一起使用。"
+ 
+-#: dnf/cli/cli.py:918
++#: dnf/cli/cli.py:820
+ msgid ""
+ "--enable, --set-enabled and --disable, --set-disabled must be used with "
+ "config-manager command."
+ msgstr ""
+-"--enable、--set-enabled 和 --disable、--set-disabled 必须和 config-manager 命令一起使用。"
++"--enable、--set-enabled 和 --disable、--set-disabled 必须和 config-manager 命"
++"令一起使用。"
+ 
+-#: dnf/cli/cli.py:1000
++#: dnf/cli/cli.py:902
+ msgid ""
+ "Warning: Enforcing GPG signature check globally as per active RPM security "
+ "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
+-msgstr "警告:由于活动的RPM安全策略,强制执行全局GPG签名检查 (请参照dnf.conf(5)中的'gpgcheck'以了解如何阻止这条信息)"
++msgstr ""
++"警告:由于活动的RPM安全策略,强制执行全局GPG签名检查 (请参照dnf.conf(5)中"
++"的'gpgcheck'以了解如何阻止这条信息)"
+ 
+-#: dnf/cli/cli.py:1020
++#: dnf/cli/cli.py:922
+ msgid "Config file \"{}\" does not exist"
+ msgstr "配置文件 \"{}\" 不存在"
+ 
+-#: dnf/cli/cli.py:1040
++#: dnf/cli/cli.py:942
+ msgid ""
+ "Unable to detect release version (use '--releasever' to specify release "
+ "version)"
+ msgstr "无法找到发布版本(可用 '--releasever' 指定版本)"
+ 
+-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
++#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
+ msgid "argument {}: not allowed with argument {}"
+ msgstr "参数 {}:不允许与参数 {} 一起使用"
+ 
+-#: dnf/cli/cli.py:1134
++#: dnf/cli/cli.py:1023
+ #, python-format
+ msgid "Command \"%s\" already defined"
+ msgstr "命令 \"%s\" 已有定义"
+ 
+-#: dnf/cli/cli.py:1154
++#: dnf/cli/cli.py:1043
+ msgid "Excludes in dnf.conf: "
+ msgstr "在 dnf.conf 中排除: "
+ 
+-#: dnf/cli/cli.py:1157
++#: dnf/cli/cli.py:1046
+ msgid "Includes in dnf.conf: "
+ msgstr "在 dnf.conf 中包括: "
+ 
+-#: dnf/cli/cli.py:1160
++#: dnf/cli/cli.py:1049
+ msgid "Excludes in repo "
+ msgstr "在 repo 中排除 "
+ 
+-#: dnf/cli/cli.py:1163
++#: dnf/cli/cli.py:1052
+ msgid "Includes in repo "
+ msgstr "在 repo 中包括 "
+ 
+@@ -831,7 +808,8 @@ msgstr "RPM 数据库可能出错,请尝试运行'%s'进行恢复。"
+ #, python-brace-format
+ msgid ""
+ "You have enabled checking of packages via GPG keys. This is a good thing.\n"
+-"However, you do not have any GPG public keys installed. You need to download\n"
++"However, you do not have any GPG public keys installed. You need to "
++"download\n"
+ "the keys for packages you wish to install and install them.\n"
+ "You can do that by running the command:\n"
+ "    rpm --import public.gpg.key\n"
+@@ -865,38 +843,38 @@ msgstr "问题仓库:%s"
+ msgid "display details about a package or group of packages"
+ msgstr "显示关于软件包或软件包组的详细信息"
+ 
+-#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
++#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
+ msgid "show all packages (default)"
+ msgstr "显示所有的软件包(默认)"
+ 
+-#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
+-#: dnf/cli/commands/module.py:351
++#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
++#: dnf/cli/commands/module.py:376
+ msgid "show only available packages"
+ msgstr "只显示可用的软件包"
+ 
+-#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
++#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
+ msgid "show only installed packages"
+ msgstr "只显示已安装的软件包"
+ 
+-#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
++#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
+ msgid "show only extras packages"
+ msgstr "只显示额外的软件包"
+ 
+ #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
+-#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
++#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
+ msgid "show only upgrades packages"
+ msgstr "只显示需要被升级的软件包"
+ 
+-#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
++#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
+ msgid "show only autoremove packages"
+ msgstr "只显示需要被删除的软件包"
+ 
+-#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
++#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
+ msgid "show only recently changed packages"
+ msgstr "限制最近被改变的软件包"
+ 
+ #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
+-#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
++#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
+ #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
+ #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
+ msgid "PACKAGE"
+@@ -934,70 +912,70 @@ msgstr "检查是否有软件包升级"
+ msgid "show changelogs before update"
+ msgstr "在更新前显示Changelog"
+ 
+-#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
+-#: dnf/cli/commands/__init__.py:470
++#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
++#: dnf/cli/commands/__init__.py:465
+ msgid "No package available."
+ msgstr "没有可用软件包。"
+ 
+-#: dnf/cli/commands/__init__.py:376
++#: dnf/cli/commands/__init__.py:371
+ msgid "No packages marked for install."
+ msgstr "没有标记要安装的软件包。"
+ 
+-#: dnf/cli/commands/__init__.py:412
++#: dnf/cli/commands/__init__.py:407
+ msgid "No package installed."
+ msgstr "没有软件包安装。"
+ 
+-#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
++#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
+ #: dnf/cli/commands/reinstall.py:91
+ #, python-format
+ msgid " (from %s)"
+ msgstr " (来自 %s)"
+ 
+-#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
++#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
+ #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
+ #, python-format
+ msgid "Installed package %s%s not available."
+ msgstr "已安装的软件包%s%s已不可用。"
+ 
+-#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
+-#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
++#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
++#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
+ msgid "No package installed from the repository."
+ msgstr "没有从仓库安装任何软件包。"
+ 
+-#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
++#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
+ msgid "No packages marked for reinstall."
+ msgstr "没有标记要重新安装的软件包。"
+ 
+-#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
++#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
+ msgid "No packages marked for upgrade."
+ msgstr "没有软件包需要升级。"
+ 
+-#: dnf/cli/commands/__init__.py:726
++#: dnf/cli/commands/__init__.py:721
+ msgid "run commands on top of all packages in given repository"
+ msgstr "对指定仓库中的所有软件包运行命令"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "REPOID"
+ msgstr "REPOID"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "Repository ID"
+ msgstr "仓库ID"
+ 
+-#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
++#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
+ #: dnf/cli/commands/updateinfo.py:108
+ msgid "Package specification"
+ msgstr "软件包规格"
+ 
+-#: dnf/cli/commands/__init__.py:801
++#: dnf/cli/commands/__init__.py:796
+ msgid "display a helpful usage message"
+ msgstr "显示一个有帮助的用法信息"
+ 
+-#: dnf/cli/commands/__init__.py:805
++#: dnf/cli/commands/__init__.py:800
+ msgid "COMMAND"
+ msgstr "命令"
+ 
+-#: dnf/cli/commands/__init__.py:806
++#: dnf/cli/commands/__init__.py:801
+ #, python-brace-format
+ msgid "{prog} command to get help for"
+ msgstr "要获得帮助的 {prog} 命令"
+@@ -1168,8 +1146,11 @@ msgid "Waiting for process with pid %d to finish."
+ msgstr "正在等待 pid 为%d的进程退出。"
+ 
+ #: dnf/cli/commands/deplist.py:32
+-msgid "List package's dependencies and what packages provide them"
+-msgstr "列出软件包的依赖关系和提供这些软件包的源"
++msgid ""
++"[deprecated, use repoquery --deplist] List package's dependencies and what "
++"packages provide them"
++msgstr ""
++"[已弃用,请使用 repoquery --deplist] 列出软件包的依赖关系和提供这些软件包的源"
+ 
+ #: dnf/cli/commands/distrosync.py:32
+ msgid "synchronize installed packages to the latest available versions"
+@@ -1195,78 +1176,78 @@ msgstr "显示或使用组信息"
+ msgid "No group data available for configured repositories."
+ msgstr "配置的软件源不包含组数据。"
+ 
+-#: dnf/cli/commands/group.py:129
++#: dnf/cli/commands/group.py:126
+ #, python-format
+ msgid "Warning: Group %s does not exist."
+ msgstr "警告:组 %s 不存在。"
+ 
+-#: dnf/cli/commands/group.py:170
++#: dnf/cli/commands/group.py:167
+ msgid "Warning: No groups match:"
+ msgstr "警告:没有匹配的组:"
+ 
+-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
+-#: dnf/cli/output.py:1226
++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
++#: dnf/cli/output.py:1139
+ msgid "<name-unset>"
+-msgstr "<名称-未设定>"
++msgstr "<name-unset>"
+ 
+-#: dnf/cli/commands/group.py:199
++#: dnf/cli/commands/group.py:196
+ msgid "Available Environment Groups:"
+ msgstr "可用环境组:"
+ 
+-#: dnf/cli/commands/group.py:201
++#: dnf/cli/commands/group.py:198
+ msgid "Installed Environment Groups:"
+ msgstr "已安装的环境组:"
+ 
+-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
+ msgid "Installed Groups:"
+ msgstr "已安装组:"
+ 
+-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
+ msgid "Installed Language Groups:"
+ msgstr "已安装语言组:"
+ 
+-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
+ msgid "Available Groups:"
+ msgstr "可用组:"
+ 
+-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
+ msgid "Available Language Groups:"
+ msgstr "可用语言组:"
+ 
+-#: dnf/cli/commands/group.py:322
++#: dnf/cli/commands/group.py:319
+ msgid "include optional packages from group"
+ msgstr "包含可选软件包"
+ 
+-#: dnf/cli/commands/group.py:325
++#: dnf/cli/commands/group.py:322
+ msgid "show also hidden groups"
+ msgstr "同时显示已隐藏的软件组"
+ 
+-#: dnf/cli/commands/group.py:327
++#: dnf/cli/commands/group.py:324
+ msgid "show only installed groups"
+ msgstr "只显示已安装的软件组"
+ 
+-#: dnf/cli/commands/group.py:329
++#: dnf/cli/commands/group.py:326
+ msgid "show only available groups"
+ msgstr "只显示可获得的团队"
+ 
+-#: dnf/cli/commands/group.py:331
++#: dnf/cli/commands/group.py:328
+ msgid "show also ID of groups"
+ msgstr "同时显示组的 ID"
+ 
+-#: dnf/cli/commands/group.py:333
++#: dnf/cli/commands/group.py:330
+ msgid "available subcommands: {} (default), {}"
+ msgstr "可用的子命令:{} (默认), {}"
+ 
+-#: dnf/cli/commands/group.py:337
++#: dnf/cli/commands/group.py:334
+ msgid "argument for group subcommand"
+ msgstr "组子命令的参数"
+ 
+-#: dnf/cli/commands/group.py:346
++#: dnf/cli/commands/group.py:343
+ #, python-format
+ msgid "Invalid groups sub-command, use: %s."
+ msgstr "无效的组子命令,请使用:%s 。"
+ 
+-#: dnf/cli/commands/group.py:403
++#: dnf/cli/commands/group.py:398
+ msgid "Unable to find a mandatory group package."
+ msgstr "无法找到一个必须的组软件包。"
+ 
+@@ -1276,25 +1257,25 @@ msgstr "显示或使用事务历史"
+ 
+ #: dnf/cli/commands/history.py:66
+ msgid "For the store command, file path to store the transaction to"
+-msgstr ""
++msgstr "对于 store 命令,要将事务保存到的文件路径"
+ 
+ #: dnf/cli/commands/history.py:68
+ msgid ""
+-"For the replay command, don't check for installed packages matching those in"
+-" transaction"
+-msgstr ""
++"For the replay command, don't check for installed packages matching those in "
++"transaction"
++msgstr "对于 replay 命令,不要检查已安装的包是否与事务中符合"
+ 
+ #: dnf/cli/commands/history.py:71
+ msgid ""
+ "For the replay command, don't check for extra packages pulled into the "
+ "transaction"
+-msgstr ""
++msgstr "对于 replay 命令,不要检查被拉入事务的额外的包"
+ 
+ #: dnf/cli/commands/history.py:74
+ msgid ""
+-"For the replay command, skip packages that are not available or have missing"
+-" dependencies"
+-msgstr ""
++"For the replay command, skip packages that are not available or have missing "
++"dependencies"
++msgstr "对于 replay 命令,跳过不可用或者缺少依赖项的软件包"
+ 
+ #: dnf/cli/commands/history.py:94
+ msgid ""
+@@ -1305,41 +1286,64 @@ msgstr ""
+ "'{}' 需要一个事务 ID 或软件包名。"
+ 
+ #: dnf/cli/commands/history.py:101
+-#, fuzzy
+-#| msgid "No transaction ID or package name given."
+ msgid "No transaction file name given."
+-msgstr "没有提供事务 ID 或软件包名。"
++msgstr "没有指定事务文件名。"
+ 
+ #: dnf/cli/commands/history.py:103
+-#, fuzzy
+-#| msgid "Failed to remove transaction file %s"
+ msgid "More than one argument given as transaction file name."
+-msgstr "移除事务文件 %s 失败"
++msgstr "提供了多于一个的作为事务文件名的参数。"
+ 
+-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
+ msgid "No transaction ID or package name given."
+ msgstr "没有提供事务 ID 或软件包名。"
+ 
+-#: dnf/cli/commands/history.py:138
++#: dnf/cli/commands/history.py:142
+ #, python-format
+ msgid "You don't have access to the history DB: %s"
+ msgstr "你没有权限访问历史数据库:%s"
+ 
+-#: dnf/cli/commands/history.py:147
++#: dnf/cli/commands/history.py:151
+ #, python-format
+ msgid ""
+-"Cannot undo transaction %s, doing so would result in an inconsistent package"
+-" database."
++"Cannot undo transaction %s, doing so would result in an inconsistent package "
++"database."
+ msgstr "无法撤销事务 %s,这样做将可能导致不一致的软件包数据库。"
+ 
+-#: dnf/cli/commands/history.py:152
++#: dnf/cli/commands/history.py:156
+ #, python-format
+ msgid ""
+ "Cannot rollback transaction %s, doing so would result in an inconsistent "
+ "package database."
+ msgstr "无法回滚事务 %s,这样做将可能导致不一致的软件包数据库。"
+ 
+-#: dnf/cli/commands/history.py:222
++#: dnf/cli/commands/history.py:175
++msgid "No transaction ID given"
++msgstr "没有事务 ID"
++
++#: dnf/cli/commands/history.py:179
++#, python-brace-format
++msgid "Transaction ID \"{0}\" not found."
++msgstr "事务 ID \"{0}\" 未找到。"
++
++#: dnf/cli/commands/history.py:185
++msgid "Found more than one transaction ID!"
++msgstr "找到多个事务 ID!"
++
++#: dnf/cli/commands/history.py:203
++#, python-format
++msgid "Transaction history is incomplete, before %u."
++msgstr "在 %u 之前,事务历史不完整。"
++
++#: dnf/cli/commands/history.py:205
++#, python-format
++msgid "Transaction history is incomplete, after %u."
++msgstr "在 %u 之后,事务历史不完整。"
++
++#: dnf/cli/commands/history.py:256
++msgid "No packages to list"
++msgstr "没有可以列出的软件包"
++
++#: dnf/cli/commands/history.py:279
+ msgid ""
+ "Invalid transaction ID range definition '{}'.\n"
+ "Use '<transaction-id>..<transaction-id>'."
+@@ -1347,7 +1351,7 @@ msgstr ""
+ "无效的事务 ID 范围定义 '{}'。\n"
+ "使用 '<transaction-id>..<transaction-id>'。"
+ 
+-#: dnf/cli/commands/history.py:226
++#: dnf/cli/commands/history.py:283
+ msgid ""
+ "Can't convert '{}' to transaction ID.\n"
+ "Use '<number>', 'last', 'last-<number>'."
+@@ -1355,40 +1359,29 @@ msgstr ""
+ "无法将 '{}' 转换为事务 ID。\n"
+ "请使用 '<number>'、'last'、'last-<number>'。"
+ 
+-#: dnf/cli/commands/history.py:255
++#: dnf/cli/commands/history.py:312
+ msgid "No transaction which manipulates package '{}' was found."
+ msgstr "没有找到操作软件包 '{}' 的事务。"
+ 
+-#: dnf/cli/commands/history.py:305
+-#, fuzzy, python-brace-format
+-#| msgid "TransactionItem not found for key: {}"
+-msgid "Transaction ID \"{id}\" not found."
+-msgstr "找不到键的 TransactionItem: {}"
+-
+-#: dnf/cli/commands/history.py:313
++#: dnf/cli/commands/history.py:357
+ msgid "{} exists, overwrite?"
+-msgstr ""
++msgstr "{} 已存在,是否覆盖?"
+ 
+-#: dnf/cli/commands/history.py:316
++#: dnf/cli/commands/history.py:360
+ msgid "Not overwriting {}, exiting."
+-msgstr ""
++msgstr "不覆盖 {},退出。"
+ 
+-#: dnf/cli/commands/history.py:323
+-#, fuzzy
+-#| msgid "Transaction failed"
++#: dnf/cli/commands/history.py:367
+ msgid "Transaction saved to {}."
+-msgstr "事务失败"
++msgstr "事务已保存至 {}。"
+ 
+-#: dnf/cli/commands/history.py:326
+-#, fuzzy
+-#| msgid "Errors occurred during transaction."
++#: dnf/cli/commands/history.py:370
+ msgid "Error storing transaction: {}"
+-msgstr "事务过程中出现错误。"
++msgstr "存储事务时出现错误:{}"
+ 
+-#: dnf/cli/commands/history.py:350
+-msgid ""
+-"Warning, the following problems occurred while replaying the transaction:"
+-msgstr ""
++#: dnf/cli/commands/history.py:386
++msgid "Warning, the following problems occurred while running a transaction:"
++msgstr "警告,在运行事务时出现了下列问题:"
+ 
+ #: dnf/cli/commands/install.py:47
+ msgid "install a package or packages on your system"
+@@ -1407,7 +1400,7 @@ msgstr "没有任何匹配"
+ msgid "Not a valid rpm file path: %s"
+ msgstr "RPM文件路径错误:%s"
+ 
+-#: dnf/cli/commands/install.py:167
++#: dnf/cli/commands/install.py:166
+ #, python-brace-format
+ msgid "There are following alternatives for \"{0}\": {1}"
+ msgstr "以下是 \"{0}\" 的替代 : {1}"
+@@ -1450,7 +1443,7 @@ msgid "%s marked as group installed."
+ msgstr "%s 已标记为已安装软件组。"
+ 
+ #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
+-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
+ msgid "Error:"
+ msgstr "错误:"
+ 
+@@ -1459,89 +1452,93 @@ msgstr "错误:"
+ msgid "Package %s is not installed."
+ msgstr "软件包 %s 尚未安装。"
+ 
+-#: dnf/cli/commands/module.py:51
++#: dnf/cli/commands/module.py:54
+ msgid ""
+-"Only module name, stream, architecture or profile is used. Ignoring unneeded"
+-" information in argument: '{}'"
++"Only module name, stream, architecture or profile is used. Ignoring unneeded "
++"information in argument: '{}'"
+ msgstr "仅使用模块名称、流、架构或者配置文件。忽略参数中不需要的信息:'{}'"
+ 
+-#: dnf/cli/commands/module.py:77
++#: dnf/cli/commands/module.py:80
+ msgid "list all module streams, profiles and states"
+ msgstr "列出所有模块流、配置文件以及状态"
+ 
+-#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
++#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
+ msgid "No matching Modules to list"
+ msgstr "没有匹配的模块可以列出"
+ 
+-#: dnf/cli/commands/module.py:111
++#: dnf/cli/commands/module.py:114
+ msgid "print detailed information about a module"
+ msgstr "打印关于一个模块的详细信息"
+ 
+-#: dnf/cli/commands/module.py:133
++#: dnf/cli/commands/module.py:136
+ msgid "enable a module stream"
+ msgstr "启用一个模块流"
+ 
+-#: dnf/cli/commands/module.py:157
++#: dnf/cli/commands/module.py:160
+ msgid "disable a module with all its streams"
+ msgstr "停用一个模块及其所有的流"
+ 
+-#: dnf/cli/commands/module.py:181
++#: dnf/cli/commands/module.py:184
+ msgid "reset a module"
+ msgstr "重置一个模块"
+ 
+-#: dnf/cli/commands/module.py:202
++#: dnf/cli/commands/module.py:205
+ msgid "install a module profile including its packages"
+ msgstr "安装一个包含其软件包的模块配置文件"
+ 
+-#: dnf/cli/commands/module.py:223
++#: dnf/cli/commands/module.py:226
+ msgid "update packages associated with an active stream"
+ msgstr "升级与一个已激活的流相关联的软件包"
+ 
+-#: dnf/cli/commands/module.py:240
++#: dnf/cli/commands/module.py:243
+ msgid "remove installed module profiles and their packages"
+ msgstr "移除已经安装的模块配置文件及其软件包"
+ 
+-#: dnf/cli/commands/module.py:264
++#: dnf/cli/commands/module.py:267
+ msgid "Package {} belongs to multiple modules, skipping"
+ msgstr "软件包 {} 属于多个模块,正在跳过"
+ 
+-#: dnf/cli/commands/module.py:277
++#: dnf/cli/commands/module.py:280
++msgid "switch a module to a stream and distrosync rpm packages"
++msgstr "切换一个模块到某个流并且对 rpm 软件包进行 distrosync"
++
++#: dnf/cli/commands/module.py:302
+ msgid "list modular packages"
+ msgstr "列出模块包"
+ 
+-#: dnf/cli/commands/module.py:292
++#: dnf/cli/commands/module.py:317
+ msgid "list packages belonging to a module"
+ msgstr "列出属于一个模块的软件包"
+ 
+-#: dnf/cli/commands/module.py:327
++#: dnf/cli/commands/module.py:352
+ msgid "Interact with Modules."
+ msgstr "与模块交互。"
+ 
+-#: dnf/cli/commands/module.py:340
++#: dnf/cli/commands/module.py:365
+ msgid "show only enabled modules"
+ msgstr "只显示启用的模块"
+ 
+-#: dnf/cli/commands/module.py:343
++#: dnf/cli/commands/module.py:368
+ msgid "show only disabled modules"
+ msgstr "只显示禁用的模块"
+ 
+-#: dnf/cli/commands/module.py:346
++#: dnf/cli/commands/module.py:371
+ msgid "show only installed modules or packages"
+ msgstr "只显示已安装的模块或者软件包"
+ 
+-#: dnf/cli/commands/module.py:349
++#: dnf/cli/commands/module.py:374
+ msgid "show profile content"
+ msgstr "显示档案内容"
+ 
+-#: dnf/cli/commands/module.py:354
++#: dnf/cli/commands/module.py:379
+ msgid "remove all modular packages"
+ msgstr "移除所有模块包"
+ 
+-#: dnf/cli/commands/module.py:364
++#: dnf/cli/commands/module.py:389
+ msgid "Module specification"
+ msgstr "模块规格"
+ 
+-#: dnf/cli/commands/module.py:386
++#: dnf/cli/commands/module.py:411
+ msgid "{} {} {}: too few arguments"
+ msgstr "{} {} {}: 参数太少"
+ 
+@@ -1627,15 +1624,15 @@ msgstr "禁用"
+ 
+ #: dnf/cli/commands/repolist.py:162
+ msgid "Repo-id            : "
+-msgstr "Repo-id            : "
++msgstr "仓库ID            : "
+ 
+ #: dnf/cli/commands/repolist.py:163
+ msgid "Repo-name          : "
+-msgstr "Repo-name          : "
++msgstr "仓库名称          : "
+ 
+ #: dnf/cli/commands/repolist.py:166
+ msgid "Repo-status        : "
+-msgstr "Repo-status        : "
++msgstr "仓库状态        : "
+ 
+ #: dnf/cli/commands/repolist.py:169
+ msgid "Repo-revision      : "
+@@ -1697,11 +1694,11 @@ msgstr "Repo-include       : "
+ #. TRANSLATORS: Number of packages that where excluded (5)
+ #: dnf/cli/commands/repolist.py:232
+ msgid "Repo-excluded      : "
+-msgstr "Repo-excluded      : "
++msgstr "排除的仓库      : "
+ 
+ #: dnf/cli/commands/repolist.py:236
+ msgid "Repo-filename      : "
+-msgstr "Repo-filename      : "
++msgstr "仓库文件名      : "
+ 
+ #. Work out the first (id) and last (enabled/disabled/count),
+ #. then chop the middle (name)...
+@@ -1752,7 +1749,9 @@ msgstr "只显示与 REQ 冲突的结果"
+ msgid ""
+ "shows results that requires, suggests, supplements, enhances,or recommends "
+ "package provides and files REQ"
+-msgstr "选择 requires、suggest、supplement、enhance 或 recommend 软件包提供和文件 REQ 的结果"
++msgstr ""
++"选择 requires、suggest、supplement、enhance 或 recommend 软件包提供和文件 "
++"REQ 的结果"
+ 
+ #: dnf/cli/commands/repoquery.py:139
+ msgid "show only results that obsolete REQ"
+@@ -1841,9 +1840,11 @@ msgstr "显示软件包的 changelogs"
+ #: dnf/cli/commands/repoquery.py:194
+ #, python-format, python-brace-format
+ msgid ""
+-"display format for listing packages: \"%%{name} %%{version} ...\", use "
+-"--querytags to view full tag list"
+-msgstr "软件包列表的显示格式 : \"%%{name} %%{version} ...\", 使用 --querytags 参数来查看完整的标签列表"
++"display format for listing packages: \"%%{name} %%{version} ...\", use --"
++"querytags to view full tag list"
++msgstr ""
++"软件包列表的显示格式 : \"%%{name} %%{version} ...\", 使用 --querytags 参数来"
++"查看完整的标签列表"
+ 
+ #: dnf/cli/commands/repoquery.py:198
+ msgid "show available tags to use with --queryformat"
+@@ -1853,13 +1854,16 @@ msgstr "显示可被 --queryformat 使用的标签"
+ msgid ""
+ "use name-epoch:version-release.architecture format for displaying found "
+ "packages (default)"
+-msgstr "使用 name-epoch:version-release.architecture 的格式来输出找到的软件包(默认格式)"
++msgstr ""
++"使用 name-epoch:version-release.architecture 的格式来输出找到的软件包(默认格"
++"式)"
+ 
+ #: dnf/cli/commands/repoquery.py:205
+ msgid ""
+ "use name-version-release format for displaying found packages (rpm query "
+ "default)"
+-msgstr "使用 name-version-release 的格式来输出找到的软件包(rpm 查询的默认格式)"
++msgstr ""
++"使用 name-version-release 的格式来输出找到的软件包(rpm 查询的默认格式)"
+ 
+ #: dnf/cli/commands/repoquery.py:211
+ msgid ""
+@@ -1895,7 +1899,9 @@ msgstr "显示与该软件包冲突的功能。"
+ msgid ""
+ "Display capabilities that the package can depend on, enhance, recommend, "
+ "suggest, and supplement."
+-msgstr "显示软件包可用在其中 depend on、enhance、recommend、suggest 和 supplement 的功能。"
++msgstr ""
++"显示软件包可用在其中 depend on、enhance、recommend、suggest 和 supplement 的"
++"功能。"
+ 
+ #: dnf/cli/commands/repoquery.py:236
+ msgid "Display capabilities that the package can enhance."
+@@ -1920,8 +1926,8 @@ msgid ""
+ "running %%pre and %%post scriptlets. If the package is installed display "
+ "capabilities that is depends for %%pre, %%post, %%preun and %%postun."
+ msgstr ""
+-"如果未安装软件包,则显示执行 %%pre 和 %%post 脚本所依赖的功能。如果已经了安装软件包,则显示执行 %%pre、%%post、%%preun"
+-" 和 %%postun 脚本所依赖的功能。"
++"如果未安装软件包,则显示执行 %%pre 和 %%post 脚本所依赖的功能。如果已经了安装"
++"软件包,则显示执行 %%pre、%%post、%%preun 和 %%postun 脚本所依赖的功能。"
+ 
+ #: dnf/cli/commands/repoquery.py:243
+ msgid "Display capabilities that the package suggests."
+@@ -1970,22 +1976,23 @@ msgstr "搜索所用的关键词"
+ 
+ #: dnf/cli/commands/repoquery.py:295
+ msgid ""
+-"Option '--resolve' has to be used together with one of the '--conflicts', '"
+-"--depends', '--enhances', '--provides', '--recommends', '--requires', '--"
++"Option '--resolve' has to be used together with one of the '--conflicts', '--"
++"depends', '--enhances', '--provides', '--recommends', '--requires', '--"
+ "requires-pre', '--suggests' or '--supplements' options"
+ msgstr ""
+-"选项 '--resolve' 需要和 '--conflicts'、'--depends'、'--enhances'、'--provides'、'--"
+-"recommends'、'--requires'、'--requires-pre'、'--suggests' 或 '--supplements' "
+-"选项之一一起使用"
++"选项 '--resolve' 需要和 '--conflicts'、'--depends'、'--enhances'、'--"
++"provides'、'--recommends'、'--requires'、'--requires-pre'、'--suggests' 或 "
++"'--supplements' 选项之一一起使用"
+ 
+ #: dnf/cli/commands/repoquery.py:305
+ msgid ""
+ "Option '--recursive' has to be used with '--whatrequires <REQ>' (optionally "
+-"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> "
+-"--resolve'"
++"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> --"
++"resolve'"
+ msgstr ""
+-"选项 '--recursive' 需要和 '--whatrequires <REQ>' 一起使用(以及可选的 '--alldeps',但不能是 '--"
+-"exactdeps'),或和 '--requires <REQ> --resolve' 一起使用"
++"选项 '--recursive' 需要和 '--whatrequires <REQ>' 一起使用(以及可选的 '--"
++"alldeps',但不能是 '--exactdeps'),或和 '--requires <REQ> --resolve' 一起使"
++"用"
+ 
+ #: dnf/cli/commands/repoquery.py:312
+ msgid "argument {} requires --whatrequires or --whatdepends option"
+@@ -1999,13 +2006,17 @@ msgstr "软件包 {} 不包含文件"
+ #, python-brace-format
+ msgid ""
+ "No valid switch specified\n"
+-"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "description:\n"
+ "  For the given packages print a tree of thepackages."
+ msgstr ""
+ "没有指定有效参数\n"
+-"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "描述:\n"
+ "  对于指定的软件包,打印此软件包的树状图。"
+@@ -2026,27 +2037,26 @@ msgstr "KEYWORD"
+ msgid "Keyword to search for"
+ msgstr "要搜索的关键字"
+ 
+-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
+ msgctxt "long"
+ msgid "Name"
+ msgstr "名称"
+ 
+-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
+ msgctxt "long"
+ msgid "Summary"
+ msgstr "概况"
+ 
+-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
+ msgctxt "long"
+ msgid "Description"
+ msgstr "描述"
+ 
+-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
+ msgid "URL"
+ msgstr "URL"
+ 
+-#. TRANSLATORS: separator used between package attributes (eg. Name & Summary
+-#. & URL)
++#. TRANSLATORS: separator used between package attributes (eg. Name & Summary & URL)
+ #: dnf/cli/commands/search.py:76
+ msgid " & "
+ msgstr " 和 "
+@@ -2184,16 +2194,16 @@ msgstr ""
+ "run                      解析以及运行事务集\n"
+ "exit (或 quit)           退出 shell"
+ 
+-#: dnf/cli/commands/shell.py:259
++#: dnf/cli/commands/shell.py:262
+ #, python-format
+ msgid "Error: Cannot open %s for reading"
+ msgstr "错误:无法打开%s来读取"
+ 
+-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
+ msgid "Complete!"
+ msgstr "完毕!"
+ 
+-#: dnf/cli/commands/shell.py:291
++#: dnf/cli/commands/shell.py:294
+ msgid "Leaving Shell"
+ msgstr "离开终端"
+ 
+@@ -2384,8 +2394,8 @@ msgstr "严重性"
+ msgid "Files"
+ msgstr "文件"
+ 
+-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
+-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
++#: dnf/cli/output.py:1656 dnf/util.py:617
+ msgid "Installed"
+ msgstr "已安装"
+ 
+@@ -2564,7 +2574,9 @@ msgstr "错误输出级别"
+ msgid ""
+ "enables {prog}'s obsoletes processing logic for upgrade or display "
+ "capabilities that the package obsoletes for info, list and repoquery"
+-msgstr "对 upgrade 启用 {prog} 的过期处理逻辑,或对 info、list 和 repoquery 启用软件包过期的显示功能"
++msgstr ""
++"对 upgrade 启用 {prog} 的过期处理逻辑,或对 info、list 和 repoquery 启用软件"
++"包过期的显示功能"
+ 
+ #: dnf/cli/option_parser.py:251
+ msgid "debugging output level for rpm"
+@@ -2586,8 +2598,8 @@ msgstr "启用附加仓库。列出选项。支持通配符,可以指定多次
+ 
+ #: dnf/cli/option_parser.py:266
+ msgid ""
+-"Disable repositories. List option. Supports globs, can be specified multiple"
+-" times."
++"Disable repositories. List option. Supports globs, can be specified multiple "
++"times."
+ msgstr "停用仓库。列出选项。支持通配符,可指定多次。"
+ 
+ #: dnf/cli/option_parser.py:270
+@@ -2616,7 +2628,8 @@ msgstr "禁用 excludepkgs"
+ msgid ""
+ "label and path to an additional repository to use (same path as in a "
+ "baseurl), can be specified multiple times."
+-msgstr "附加仓库所要使用的标签和路径(与 baseurl 中的路径一致),可以指定多次。"
++msgstr ""
++"附加仓库所要使用的标签和路径(与 baseurl 中的路径一致),可以指定多次。"
+ 
+ #: dnf/cli/option_parser.py:297
+ msgid "disable removal of dependencies that are no longer used"
+@@ -2706,13 +2719,13 @@ msgstr "无法编码参数 '%s': %s"
+ #. Translators: This is abbreviated 'Name'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:505
++#: dnf/cli/output.py:459
+ msgctxt "short"
+ msgid "Name"
+ msgstr "名称"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:511
++#: dnf/cli/output.py:465
+ msgid "Epoch"
+ msgstr "时期"
+ 
+@@ -2720,38 +2733,38 @@ msgstr "时期"
+ #. use the full (unabbreviated) term 'Version' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:512 dnf/cli/output.py:1335
++#: dnf/cli/output.py:466 dnf/cli/output.py:1248
+ msgctxt "short"
+ msgid "Version"
+ msgstr "版本"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Version'.
+-#: dnf/cli/output.py:513 dnf/cli/output.py:1337
++#: dnf/cli/output.py:467 dnf/cli/output.py:1250
+ msgctxt "long"
+ msgid "Version"
+ msgstr "版本"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:516
++#: dnf/cli/output.py:470
+ msgid "Release"
+ msgstr "发布"
+ 
+ #. Translators: This is abbreviated 'Architecture', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:517 dnf/cli/output.py:1326
++#: dnf/cli/output.py:471 dnf/cli/output.py:1239
+ msgctxt "short"
+ msgid "Arch"
+ msgstr "架构"
+ 
+ #. Translators: This is the full word 'Architecture', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:518 dnf/cli/output.py:1329
++#: dnf/cli/output.py:472 dnf/cli/output.py:1242
+ msgctxt "long"
+ msgid "Architecture"
+ msgstr "架构"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Size'.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1352
++#: dnf/cli/output.py:474 dnf/cli/output.py:1265
+ msgctxt "long"
+ msgid "Size"
+ msgstr "大小"
+@@ -2760,32 +2773,32 @@ msgstr "大小"
+ #. not be longer than 5 characters. If the term 'Size' in your
+ #. language is not longer than 5 characters then you can use it
+ #. unabbreviated.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1350
++#: dnf/cli/output.py:474 dnf/cli/output.py:1263
+ msgctxt "short"
+ msgid "Size"
+ msgstr "大小"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:524
++#: dnf/cli/output.py:478
+ msgid "Source"
+ msgstr "源"
+ 
+ #. Translators: This is abbreviated 'Repository', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:525 dnf/cli/output.py:1341
++#: dnf/cli/output.py:479 dnf/cli/output.py:1254
+ msgctxt "short"
+ msgid "Repo"
+ msgstr "仓库"
+ 
+ #. Translators: This is the full word 'Repository', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:526 dnf/cli/output.py:1344
++#: dnf/cli/output.py:480 dnf/cli/output.py:1257
+ msgctxt "long"
+ msgid "Repository"
+ msgstr "仓库"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:533
++#: dnf/cli/output.py:487
+ msgid "From repo"
+ msgstr "来自仓库"
+ 
+@@ -2793,312 +2806,308 @@ msgstr "来自仓库"
+ #. print(_("Committer   : %s") % ucd(pkg.committer))
+ #. print(_("Committime  : %s") % time.ctime(pkg.committime))
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:539
++#: dnf/cli/output.py:493
+ msgid "Packager"
+ msgstr "打包者"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:541
++#: dnf/cli/output.py:495
+ msgid "Buildtime"
+ msgstr "构建时间"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:545
++#: dnf/cli/output.py:499
+ msgid "Install time"
+ msgstr "安装时间"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:554
++#: dnf/cli/output.py:508
+ msgid "Installed by"
+ msgstr "安装者"
+ 
+ #. Translators: This is abbreviated 'Summary'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:558
++#: dnf/cli/output.py:512
+ msgctxt "short"
+ msgid "Summary"
+ msgstr "概况"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:564
++#: dnf/cli/output.py:518
+ msgid "License"
+ msgstr "协议"
+ 
+ #. Translators: This is abbreviated 'Description'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:568
++#: dnf/cli/output.py:522
+ msgctxt "short"
+ msgid "Description"
+ msgstr "描述"
+ 
+-#: dnf/cli/output.py:695
+-msgid "No packages to list"
+-msgstr "没有可以列出的软件包"
+-
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "y"
+ msgstr "y"
+ 
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "yes"
+ msgstr "是"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "n"
+ msgstr "n"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "no"
+ msgstr "否"
+ 
+-#: dnf/cli/output.py:711
++#: dnf/cli/output.py:655
+ msgid "Is this ok [y/N]: "
+ msgstr "确定吗?[y/N]: "
+ 
+-#: dnf/cli/output.py:715
++#: dnf/cli/output.py:659
+ msgid "Is this ok [Y/n]: "
+ msgstr "确定吗?[Y/n]: "
+ 
+-#: dnf/cli/output.py:795
++#: dnf/cli/output.py:739
+ #, python-format
+ msgid "Group: %s"
+ msgstr "组:%s"
+ 
+-#: dnf/cli/output.py:799
++#: dnf/cli/output.py:743
+ #, python-format
+ msgid " Group-Id: %s"
+ msgstr " 组编号:%s"
+ 
+-#: dnf/cli/output.py:801 dnf/cli/output.py:840
++#: dnf/cli/output.py:745 dnf/cli/output.py:784
+ #, python-format
+ msgid " Description: %s"
+ msgstr " 描述:%s"
+ 
+-#: dnf/cli/output.py:803
++#: dnf/cli/output.py:747
+ #, python-format
+ msgid " Language: %s"
+ msgstr " 语言:%s"
+ 
+-#: dnf/cli/output.py:806
++#: dnf/cli/output.py:750
+ msgid " Mandatory Packages:"
+ msgstr " 必要的软件包:"
+ 
+-#: dnf/cli/output.py:807
++#: dnf/cli/output.py:751
+ msgid " Default Packages:"
+ msgstr " 默认的软件包:"
+ 
+-#: dnf/cli/output.py:808
++#: dnf/cli/output.py:752
+ msgid " Optional Packages:"
+ msgstr " 可选的软件包:"
+ 
+-#: dnf/cli/output.py:809
++#: dnf/cli/output.py:753
+ msgid " Conditional Packages:"
+ msgstr " 可能的软件包:"
+ 
+-#: dnf/cli/output.py:834
++#: dnf/cli/output.py:778
+ #, python-format
+ msgid "Environment Group: %s"
+ msgstr "环境组:%s"
+ 
+-#: dnf/cli/output.py:837
++#: dnf/cli/output.py:781
+ #, python-format
+ msgid " Environment-Id: %s"
+ msgstr " 环境-Id:%s"
+ 
+-#: dnf/cli/output.py:843
++#: dnf/cli/output.py:787
+ msgid " Mandatory Groups:"
+ msgstr " 必选软件包组:"
+ 
+-#: dnf/cli/output.py:844
++#: dnf/cli/output.py:788
+ msgid " Optional Groups:"
+ msgstr " 可选软件包组:"
+ 
+-#: dnf/cli/output.py:865
++#: dnf/cli/output.py:809
+ msgid "Matched from:"
+ msgstr "匹配来源:"
+ 
+-#: dnf/cli/output.py:879
++#: dnf/cli/output.py:823
+ #, python-format
+ msgid "Filename    : %s"
+ msgstr "文件名    :%s"
+ 
+-#: dnf/cli/output.py:904
++#: dnf/cli/output.py:848
+ #, python-format
+ msgid "Repo        : %s"
+ msgstr "仓库        :%s"
+ 
+-#: dnf/cli/output.py:913
++#: dnf/cli/output.py:857
+ msgid "Description : "
+ msgstr "描述: "
+ 
+-#: dnf/cli/output.py:917
++#: dnf/cli/output.py:861
+ #, python-format
+ msgid "URL         : %s"
+ msgstr "网址         :%s"
+ 
+-#: dnf/cli/output.py:921
++#: dnf/cli/output.py:865
+ #, python-format
+ msgid "License     : %s"
+ msgstr "协议     :%s"
+ 
+-#: dnf/cli/output.py:927
++#: dnf/cli/output.py:871
+ #, python-format
+ msgid "Provide    : %s"
+ msgstr "提供    : %s"
+ 
+-#: dnf/cli/output.py:947
++#: dnf/cli/output.py:891
+ #, python-format
+ msgid "Other       : %s"
+ msgstr "其它       : %s"
+ 
+-#: dnf/cli/output.py:996
++#: dnf/cli/output.py:940
+ msgid "There was an error calculating total download size"
+ msgstr "计算总下载量时出错"
+ 
+-#: dnf/cli/output.py:1002
++#: dnf/cli/output.py:946
+ #, python-format
+ msgid "Total size: %s"
+ msgstr "总计:%s"
+ 
+-#: dnf/cli/output.py:1005
++#: dnf/cli/output.py:949
+ #, python-format
+ msgid "Total download size: %s"
+ msgstr "总下载:%s"
+ 
+-#: dnf/cli/output.py:1008
++#: dnf/cli/output.py:952
+ #, python-format
+ msgid "Installed size: %s"
+ msgstr "安装大小:%s"
+ 
+-#: dnf/cli/output.py:1026
++#: dnf/cli/output.py:970
+ msgid "There was an error calculating installed size"
+ msgstr "计算安装大小时出错"
+ 
+-#: dnf/cli/output.py:1030
++#: dnf/cli/output.py:974
+ #, python-format
+ msgid "Freed space: %s"
+ msgstr "将会释放空间:%s"
+ 
+-#: dnf/cli/output.py:1039
++#: dnf/cli/output.py:983
+ msgid "Marking packages as installed by the group:"
+ msgstr "标记软件包为遵循软件包组安装的:"
+ 
+-#: dnf/cli/output.py:1046
++#: dnf/cli/output.py:990
+ msgid "Marking packages as removed by the group:"
+ msgstr "标记软件包为遵循软件包组移除的:"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Group"
+ msgstr "组"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Packages"
+ msgstr "软件包"
+ 
+-#: dnf/cli/output.py:1133
++#: dnf/cli/output.py:1046
+ msgid "Installing group/module packages"
+ msgstr "安装组/模块包"
+ 
+-#: dnf/cli/output.py:1134
++#: dnf/cli/output.py:1047
+ msgid "Installing group packages"
+ msgstr "安装软件包组"
+ 
+ #. TRANSLATORS: This is for a list of packages to be installed.
+-#: dnf/cli/output.py:1138
++#: dnf/cli/output.py:1051
+ msgctxt "summary"
+ msgid "Installing"
+ msgstr "安装"
+ 
+ #. TRANSLATORS: This is for a list of packages to be upgraded.
+-#: dnf/cli/output.py:1140
++#: dnf/cli/output.py:1053
+ msgctxt "summary"
+ msgid "Upgrading"
+ msgstr "升级"
+ 
+ #. TRANSLATORS: This is for a list of packages to be reinstalled.
+-#: dnf/cli/output.py:1142
++#: dnf/cli/output.py:1055
+ msgctxt "summary"
+ msgid "Reinstalling"
+ msgstr "重新安装"
+ 
+-#: dnf/cli/output.py:1144
++#: dnf/cli/output.py:1057
+ msgid "Installing dependencies"
+ msgstr "安装依赖关系"
+ 
+-#: dnf/cli/output.py:1145
++#: dnf/cli/output.py:1058
+ msgid "Installing weak dependencies"
+ msgstr "安装弱的依赖"
+ 
+ #. TRANSLATORS: This is for a list of packages to be removed.
+-#: dnf/cli/output.py:1147
++#: dnf/cli/output.py:1060
+ msgid "Removing"
+ msgstr "移除"
+ 
+-#: dnf/cli/output.py:1148
++#: dnf/cli/output.py:1061
+ msgid "Removing dependent packages"
+ msgstr "移除依赖的软件包"
+ 
+-#: dnf/cli/output.py:1149
++#: dnf/cli/output.py:1062
+ msgid "Removing unused dependencies"
+ msgstr "清除未被使用的依赖关系"
+ 
+ #. TRANSLATORS: This is for a list of packages to be downgraded.
+-#: dnf/cli/output.py:1151
++#: dnf/cli/output.py:1064
+ msgctxt "summary"
+ msgid "Downgrading"
+ msgstr "降级"
+ 
+-#: dnf/cli/output.py:1176
++#: dnf/cli/output.py:1089
+ msgid "Installing module profiles"
+ msgstr "安装模块配置档案"
+ 
+-#: dnf/cli/output.py:1185
++#: dnf/cli/output.py:1098
+ msgid "Disabling module profiles"
+ msgstr "禁用模块配置档案"
+ 
+-#: dnf/cli/output.py:1194
++#: dnf/cli/output.py:1107
+ msgid "Enabling module streams"
+ msgstr "启用模块流"
+ 
+-#: dnf/cli/output.py:1202
++#: dnf/cli/output.py:1115
+ msgid "Switching module streams"
+ msgstr "切换模块流"
+ 
+-#: dnf/cli/output.py:1210
++#: dnf/cli/output.py:1123
+ msgid "Disabling modules"
+ msgstr "禁用模块"
+ 
+-#: dnf/cli/output.py:1218
++#: dnf/cli/output.py:1131
+ msgid "Resetting modules"
+ msgstr "重置模块"
+ 
+-#: dnf/cli/output.py:1230
++#: dnf/cli/output.py:1143
+ msgid "Installing Environment Groups"
+ msgstr "安装环境组"
+ 
+-#: dnf/cli/output.py:1237
++#: dnf/cli/output.py:1150
+ msgid "Upgrading Environment Groups"
+ msgstr "升级环境组"
+ 
+-#: dnf/cli/output.py:1244
++#: dnf/cli/output.py:1157
+ msgid "Removing Environment Groups"
+ msgstr "删除环境组"
+ 
+-#: dnf/cli/output.py:1251
++#: dnf/cli/output.py:1164
+ msgid "Installing Groups"
+ msgstr "安装组"
+ 
+-#: dnf/cli/output.py:1258
++#: dnf/cli/output.py:1171
+ msgid "Upgrading Groups"
+ msgstr "升级组"
+ 
+-#: dnf/cli/output.py:1265
++#: dnf/cli/output.py:1178
+ msgid "Removing Groups"
+ msgstr "删除组"
+ 
+-#: dnf/cli/output.py:1281
++#: dnf/cli/output.py:1194
+ #, python-format
+ msgid ""
+ "Skipping packages with conflicts:\n"
+@@ -3107,12 +3116,12 @@ msgstr ""
+ "跳过有冲突的软件包:\n"
+ "(添加 '%s' 至命令行来强制升级)"
+ 
+-#: dnf/cli/output.py:1291
++#: dnf/cli/output.py:1204
+ #, python-format
+ msgid "Skipping packages with broken dependencies%s"
+ msgstr "跳过存在损坏依赖关系的软件包 %s"
+ 
+-#: dnf/cli/output.py:1295
++#: dnf/cli/output.py:1208
+ msgid " or part of a group"
+ msgstr " 或一个组的一部分"
+ 
+@@ -3120,22 +3129,22 @@ msgstr " 或一个组的一部分"
+ #. use the full (unabbreviated) term 'Package' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:1320
++#: dnf/cli/output.py:1233
+ msgctxt "short"
+ msgid "Package"
+ msgstr "软件包"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Package'.
+-#: dnf/cli/output.py:1322
++#: dnf/cli/output.py:1235
+ msgctxt "long"
+ msgid "Package"
+ msgstr "软件包"
+ 
+-#: dnf/cli/output.py:1371
++#: dnf/cli/output.py:1284
+ msgid "replacing"
+ msgstr "替换"
+ 
+-#: dnf/cli/output.py:1378
++#: dnf/cli/output.py:1291
+ #, python-format
+ msgid ""
+ "\n"
+@@ -3147,287 +3156,271 @@ msgstr ""
+ "%s\n"
+ 
+ #. TODO: remove
+-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
++#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
+ msgid "Install"
+ msgstr "安装"
+ 
+-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
++#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
+ msgid "Upgrade"
+ msgstr "升级"
+ 
+-#: dnf/cli/output.py:1388
++#: dnf/cli/output.py:1301
+ msgid "Remove"
+ msgstr "移除"
+ 
+-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
++#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
+ msgid "Downgrade"
+ msgstr "降级"
+ 
+-#: dnf/cli/output.py:1391
++#: dnf/cli/output.py:1304
+ msgid "Skip"
+ msgstr "跳过"
+ 
+-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
+ msgid "Package"
+ msgid_plural "Packages"
+ msgstr[0] "软件包"
+ 
+-#: dnf/cli/output.py:1418
++#: dnf/cli/output.py:1331
+ msgid "Dependent package"
+ msgid_plural "Dependent packages"
+ msgstr[0] "依赖软件包"
+ 
+-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
+-msgid "Upgraded"
+-msgstr "已升级"
+-
+-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
+-msgid "Downgraded"
+-msgstr "已降级"
+-
+-#: dnf/cli/output.py:1503
+-msgid "Reinstalled"
+-msgstr "已重装"
+-
+-#: dnf/cli/output.py:1504
+-msgid "Skipped"
+-msgstr "已跳过"
+-
+-#: dnf/cli/output.py:1505
+-msgid "Removed"
+-msgstr "已移除"
+-
+-#: dnf/cli/output.py:1508
+-msgid "Failed"
+-msgstr "失败"
+-
+-#: dnf/cli/output.py:1559
++#: dnf/cli/output.py:1439
+ msgid "Total"
+ msgstr "总计"
+ 
+-#: dnf/cli/output.py:1587
++#: dnf/cli/output.py:1467
+ msgid "<unset>"
+-msgstr "<空>"
++msgstr "<unset>"
+ 
+-#: dnf/cli/output.py:1588
++#: dnf/cli/output.py:1468
+ msgid "System"
+ msgstr "系统"
+ 
+-#: dnf/cli/output.py:1638
++#: dnf/cli/output.py:1518
+ msgid "Command line"
+ msgstr "命令行"
+ 
+ #. TRANSLATORS: user names who executed transaction in history command output
+-#: dnf/cli/output.py:1649
++#: dnf/cli/output.py:1531
+ msgid "User name"
+ msgstr "用户名"
+ 
+-#: dnf/cli/output.py:1651
++#: dnf/cli/output.py:1533
+ msgid "ID"
+ msgstr "ID"
+ 
+-#: dnf/cli/output.py:1653
++#: dnf/cli/output.py:1535
+ msgid "Date and time"
+ msgstr "日期和时间"
+ 
+-#: dnf/cli/output.py:1654
++#: dnf/cli/output.py:1536
+ msgid "Action(s)"
+ msgstr "操作"
+ 
+-#: dnf/cli/output.py:1655
++#: dnf/cli/output.py:1537
+ msgid "Altered"
+ msgstr "更改"
+ 
+-#: dnf/cli/output.py:1698
++#: dnf/cli/output.py:1580
+ msgid "No transactions"
+ msgstr "没有事务"
+ 
+-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
++#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
+ msgid "Failed history info"
+ msgstr "失败的历史信息"
+ 
+-#: dnf/cli/output.py:1714
++#: dnf/cli/output.py:1596
+ msgid "No transaction ID, or package, given"
+ msgstr "未指定事务 ID、或者软件包"
+ 
+-#: dnf/cli/output.py:1772
++#: dnf/cli/output.py:1654
+ msgid "Erased"
+ msgstr "已删除"
+ 
+-#: dnf/cli/output.py:1774
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
++msgid "Downgraded"
++msgstr "已降级"
++
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
++msgid "Upgraded"
++msgstr "已升级"
++
++#: dnf/cli/output.py:1656
+ msgid "Not installed"
+ msgstr "未安装"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Newer"
+ msgstr "较早的"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Older"
+ msgstr "较老的"
+ 
+-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
++#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
+ msgid "Transaction ID :"
+ msgstr "事务 ID:"
+ 
+-#: dnf/cli/output.py:1828
++#: dnf/cli/output.py:1710
+ msgid "Begin time     :"
+ msgstr "起始时间    :"
+ 
+-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
++#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
+ msgid "Begin rpmdb    :"
+ msgstr "起始 RPM 数据库     :"
+ 
+-#: dnf/cli/output.py:1839
++#: dnf/cli/output.py:1721
+ #, python-format
+ msgid "(%u seconds)"
+ msgstr "(%u 秒)"
+ 
+-#: dnf/cli/output.py:1841
++#: dnf/cli/output.py:1723
+ #, python-format
+ msgid "(%u minutes)"
+ msgstr "(%u 分钟)"
+ 
+-#: dnf/cli/output.py:1843
++#: dnf/cli/output.py:1725
+ #, python-format
+ msgid "(%u hours)"
+ msgstr "(%u 小时)"
+ 
+-#: dnf/cli/output.py:1845
++#: dnf/cli/output.py:1727
+ #, python-format
+ msgid "(%u days)"
+ msgstr "(%u 天)"
+ 
+-#: dnf/cli/output.py:1846
++#: dnf/cli/output.py:1728
+ msgid "End time       :"
+ msgstr "结束时间       :"
+ 
+-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
++#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
+ msgid "End rpmdb      :"
+ msgstr "结束 RPM 数据库      :"
+ 
+-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
++#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
+ msgid "User           :"
+ msgstr "用户           :"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
+ msgid "Aborted"
+ msgstr "已终止"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
+-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
++#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
+ msgid "Return-Code    :"
+ msgstr "返回码    :"
+ 
+-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
+ msgid "Success"
+ msgstr "成功"
+ 
+-#: dnf/cli/output.py:1869
++#: dnf/cli/output.py:1751
+ msgid "Failures:"
+ msgstr "失败:"
+ 
+-#: dnf/cli/output.py:1873
++#: dnf/cli/output.py:1755
+ msgid "Failure:"
+ msgstr "失败:"
+ 
+-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
++#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
+ msgid "Releasever     :"
+ msgstr "Releasever     :"
+ 
+-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
++#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
+ msgid "Command Line   :"
+ msgstr "命令行   :"
+ 
+-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
++#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
+ msgid "Comment        :"
+ msgstr "注释        :"
+ 
+-#: dnf/cli/output.py:1903
++#: dnf/cli/output.py:1785
+ msgid "Transaction performed with:"
+ msgstr "事务完成由:"
+ 
+-#: dnf/cli/output.py:1912
++#: dnf/cli/output.py:1794
+ msgid "Packages Altered:"
+ msgstr "已改变的包:"
+ 
+-#: dnf/cli/output.py:1918
++#: dnf/cli/output.py:1800
+ msgid "Scriptlet output:"
+ msgstr "Scriptlet 输出:"
+ 
+-#: dnf/cli/output.py:1925
++#: dnf/cli/output.py:1807
+ msgid "Errors:"
+ msgstr "错误:"
+ 
+-#: dnf/cli/output.py:1934
++#: dnf/cli/output.py:1816
+ msgid "Dep-Install"
+ msgstr "依赖安装"
+ 
+-#: dnf/cli/output.py:1935
++#: dnf/cli/output.py:1817
+ msgid "Obsoleted"
+ msgstr "已废弃"
+ 
+-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
++#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
+ msgid "Obsoleting"
+ msgstr "废弃"
+ 
+-#: dnf/cli/output.py:1937
++#: dnf/cli/output.py:1819
+ msgid "Erase"
+ msgstr "删除"
+ 
+-#: dnf/cli/output.py:1938
++#: dnf/cli/output.py:1820
+ msgid "Reinstall"
+ msgstr "重装"
+ 
+-#: dnf/cli/output.py:2016
++#: dnf/cli/output.py:1894
+ #, python-format
+ msgid "---> Package %s.%s %s will be installed"
+ msgstr "---> 软件包 %s.%s %s 将会被安装"
+ 
+-#: dnf/cli/output.py:2018
++#: dnf/cli/output.py:1896
+ #, python-format
+ msgid "---> Package %s.%s %s will be an upgrade"
+ msgstr "---> 软件包 %s.%s %s 将作为一个更新"
+ 
+-#: dnf/cli/output.py:2020
++#: dnf/cli/output.py:1898
+ #, python-format
+ msgid "---> Package %s.%s %s will be erased"
+ msgstr "---> 软件包 %s.%s %s 将会被清除"
+ 
+-#: dnf/cli/output.py:2022
++#: dnf/cli/output.py:1900
+ #, python-format
+ msgid "---> Package %s.%s %s will be reinstalled"
+ msgstr "---> 软件包 %s.%s %s 将会被重新安装"
+ 
+-#: dnf/cli/output.py:2024
++#: dnf/cli/output.py:1902
+ #, python-format
+ msgid "---> Package %s.%s %s will be a downgrade"
+ msgstr "---> 软件包 %s.%s %s 将会被降级"
+ 
+-#: dnf/cli/output.py:2026
++#: dnf/cli/output.py:1904
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleting"
+ msgstr "---> 软件包 %s.%s %s 将会废弃"
+ 
+-#: dnf/cli/output.py:2028
++#: dnf/cli/output.py:1906
+ #, python-format
+ msgid "---> Package %s.%s %s will be upgraded"
+ msgstr "---> 软件包 %s.%s %s 将会被升级"
+ 
+-#: dnf/cli/output.py:2030
++#: dnf/cli/output.py:1908
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleted"
+ msgstr "---> 软件包 %s.%s %s 将会被废弃"
+ 
+-#: dnf/cli/output.py:2039
++#: dnf/cli/output.py:1917
+ msgid "--> Starting dependency resolution"
+ msgstr "--> 开始解决依赖关系"
+ 
+-#: dnf/cli/output.py:2044
++#: dnf/cli/output.py:1921
+ msgid "--> Finished dependency resolution"
+ msgstr "--> 依赖关系解决完成"
+ 
+-#: dnf/cli/output.py:2058 dnf/crypto.py:132
++#: dnf/cli/output.py:1935 dnf/crypto.py:132
+ #, python-format
+ msgid ""
+ "Importing GPG key 0x%s:\n"
+@@ -3489,10 +3482,6 @@ msgstr "    已启动: %s - %s之前"
+ msgid "    State  : %s"
+ msgstr "    状态  : %s"
+ 
+-#: dnf/comps.py:104
+-msgid "skipping."
+-msgstr "正在跳过。"
+-
+ #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
+ #, python-format
+ msgid "Module or Group '%s' is not installed."
+@@ -3509,16 +3498,14 @@ msgid "Module or Group '%s' does not exist."
+ msgstr "模块或者组 '%s' 不存在。"
+ 
+ #: dnf/comps.py:599
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not installed."
++#, python-format
+ msgid "Environment id '%s' does not exist."
+-msgstr "环境组 '%s' 没有安装。"
++msgstr "环境 id '%s' 不存在。"
+ 
+-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not installed."
++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
++#, python-format
+ msgid "Environment id '%s' is not installed."
+-msgstr "环境组 '%s' 没有安装。"
++msgstr "环境 id '%s' 没有安装。"
+ 
+ #: dnf/comps.py:639
+ #, python-format
+@@ -3531,16 +3518,20 @@ msgid "Environment '%s' is not available."
+ msgstr "环境 '%s' 不可用。"
+ 
+ #: dnf/comps.py:673
+-#, fuzzy, python-format
+-#| msgid "Group_id '%s' does not exist."
++#, python-format
+ msgid "Group id '%s' does not exist."
+-msgstr "Group_id '%s' 不存在。"
++msgstr "组 id '%s' 不存在。"
+ 
+ #: dnf/conf/config.py:136
+ #, python-format
+ msgid "Error parsing '%s': %s"
+ msgstr "解析 “%s” 时错误: %s"
+ 
++#: dnf/conf/config.py:151
++#, python-format
++msgid "Invalid configuration value: %s=%s in %s; %s"
++msgstr "无效配置值: %s=%s 在 %s 中; %s"
++
+ #: dnf/conf/config.py:226
+ msgid "Could not set cachedir: {}"
+ msgstr "不能设置 cachedir: {}"
+@@ -3582,36 +3573,36 @@ msgstr "解析 --setopt 时出现错误,键为 '%s.%s', 值是 '%s': %s"
+ msgid "Repo %s did not have a %s attr. before setopt"
+ msgstr "Repo %s 在 setopt 前没有一个 %s 属性"
+ 
+-#: dnf/conf/read.py:51
++#: dnf/conf/read.py:60
+ #, python-format
+ msgid "Warning: failed loading '%s', skipping."
+ msgstr "警告:加载 '%s' 失败,跳过。"
+ 
+-#: dnf/conf/read.py:63
++#: dnf/conf/read.py:72
+ msgid "Bad id for repo: {} ({}), byte = {} {}"
+ msgstr "repo 的 id 无效: {} ({}), byte = {} {}"
+ 
+-#: dnf/conf/read.py:67
++#: dnf/conf/read.py:76
+ msgid "Bad id for repo: {}, byte = {} {}"
+-msgstr "repo 的 id 无效: %s, byte = %s %d"
++msgstr "repo 的 id 无效: {}, byte = {} {}"
+ 
+-#: dnf/conf/read.py:75
++#: dnf/conf/read.py:84
+ msgid "Repository '{}' ({}): Error parsing config: {}"
+ msgstr "仓库 '{}' ({}): 配置解析时出错: {}"
+ 
+-#: dnf/conf/read.py:78
++#: dnf/conf/read.py:87
+ msgid "Repository '{}': Error parsing config: {}"
+ msgstr "仓库 '{}': 配置解析时出错: {}"
+ 
+-#: dnf/conf/read.py:84
++#: dnf/conf/read.py:93
+ msgid "Repository '{}' ({}) is missing name in configuration, using id."
+ msgstr "仓库 '{}' ({}) 在配置中缺少名称,将使用 id。"
+ 
+-#: dnf/conf/read.py:87
++#: dnf/conf/read.py:96
+ msgid "Repository '{}' is missing name in configuration, using id."
+ msgstr "仓库 '{}' 在配置中缺少名称,将使用 id。"
+ 
+-#: dnf/conf/read.py:104
++#: dnf/conf/read.py:113
+ msgid "Parsing file \"{}\" failed: {}"
+ msgstr "解析文件 \"{}\" 失败:{}"
+ 
+@@ -3625,25 +3616,38 @@ msgstr "repo %s: 0x%s 已被导入"
+ msgid "repo %s: imported key 0x%s."
+ msgstr "repo %s: 已导入密钥 0x%s。"
+ 
+-#: dnf/db/group.py:293
++#: dnf/crypto.py:145
++msgid "Verified using DNS record with DNSSEC signature."
++msgstr "已经通过被 DNSSEC 签名的 DNS 记录验证。"
++
++#: dnf/crypto.py:147
++msgid "NOT verified using DNS record."
++msgstr "并未被 DNS 记录验证。"
++
++#: dnf/crypto.py:184
++#, python-format
++msgid "retrieving repo key for %s unencrypted from %s"
++msgstr "为 %s 从 %s 获取的 repo 密钥未加密"
++
++#: dnf/db/group.py:301
+ msgid ""
+ "No available modular metadata for modular package '{}', it cannot be "
+ "installed on the system"
+ msgstr "对于模块软件包 '{}' 没有可用的模块元数据,它将不能被安装至此系统上"
+ 
+-#: dnf/db/group.py:343
++#: dnf/db/group.py:351
+ msgid "No available modular metadata for modular package"
+ msgstr "对于模块软件包没有可用的模块元数据"
+ 
+-#: dnf/db/group.py:377
++#: dnf/db/group.py:385
+ #, python-format
+ msgid "Will not install a source rpm package (%s)."
+ msgstr "将不安装一个源码 RPM 软件包 (%s)。"
+ 
+ #: dnf/dnssec.py:168
+ msgid ""
+-"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
+-msgstr "配置文件选项 'gpgkey_dns_verification' 要求 libunbound ({})"
++"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
++msgstr "配置文件选项 'gpgkey_dns_verification' 要求 python3-unbound ({})"
+ 
+ #: dnf/dnssec.py:239
+ msgid "DNSSEC extension: Key for user "
+@@ -3665,7 +3669,7 @@ msgstr "DNSSEC 扩展 : "
+ msgid "Testing already imported keys for their validity."
+ msgstr "测试已导入的密钥以检查有效性。"
+ 
+-#: dnf/drpm.py:62 dnf/repo.py:268
++#: dnf/drpm.py:62 dnf/repo.py:267
+ #, python-format
+ msgid "unsupported checksum type: %s"
+ msgstr "不支持的校验类型: %s"
+@@ -3707,7 +3711,7 @@ msgid "Modular dependency problem with Defaults:"
+ msgid_plural "Modular dependency problems with Defaults:"
+ msgstr[0] "默认设置中的模块依赖问题 :"
+ 
+-#: dnf/exceptions.py:131 dnf/module/module_base.py:686
++#: dnf/exceptions.py:131 dnf/module/module_base.py:854
+ msgid "Modular dependency problem:"
+ msgid_plural "Modular dependency problems:"
+ msgstr[0] "模块依赖问题:"
+@@ -3716,10 +3720,12 @@ msgstr[0] "模块依赖问题:"
+ #, python-format
+ msgid ""
+ "Malformed lock file found: %s.\n"
+-"Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf."
++"Ensure no other dnf/yum process is running and remove the lock file manually "
++"or run systemd-tmpfiles --remove dnf.conf."
+ msgstr ""
+ "发现损坏的锁文件 : %s。\n"
+-"请确保没有其他 dnf/yum 进程正在运行,并手工删除锁文件,或执行 systemd-tmpfiles --remove dnf.conf 。"
++"请确保没有其他 dnf/yum 进程正在运行,并手工删除锁文件,或执行 systemd-"
++"tmpfiles --remove dnf.conf 。"
+ 
+ #: dnf/module/__init__.py:26
+ msgid "Enabling different stream for '{}'."
+@@ -3741,7 +3747,47 @@ msgstr "启用的模板:{}。"
+ msgid "No profile specified for '{}', please specify profile."
+ msgstr "没有为 '{}' 指定档案。请指定档案。"
+ 
+-#: dnf/module/module_base.py:33
++#: dnf/module/exceptions.py:27
++msgid "No such module: {}"
++msgstr "不存在模块:{}"
++
++#: dnf/module/exceptions.py:33
++msgid "No such stream: {}"
++msgstr "没有对应的流:{}"
++
++#: dnf/module/exceptions.py:39
++msgid "No enabled stream for module: {}"
++msgstr "该模块没有已启用的流: {}"
++
++#: dnf/module/exceptions.py:46
++msgid "Cannot enable more streams from module '{}' at the same time"
++msgstr "不能同时启用模块:{} 中的多个流"
++
++#: dnf/module/exceptions.py:52
++msgid "Different stream enabled for module: {}"
++msgstr "模块中已启用的其他流:{}"
++
++#: dnf/module/exceptions.py:58
++msgid "No such profile: {}"
++msgstr "没有这个配置:{}"
++
++#: dnf/module/exceptions.py:64
++msgid "Specified profile not installed for {}"
++msgstr "指定的配置没有为 {} 安装"
++
++#: dnf/module/exceptions.py:70
++msgid "No stream specified for '{}', please specify stream"
++msgstr "没有为 '{}' 指定流。请指定流"
++
++#: dnf/module/exceptions.py:82
++msgid "No such profile: {}. No profiles available"
++msgstr "没有这个配置:{}。无配置可用"
++
++#: dnf/module/exceptions.py:88
++msgid "No profile to remove for '{}'"
++msgstr "'{}' 没有可以移除的配置"
++
++#: dnf/module/module_base.py:35
+ msgid ""
+ "\n"
+ "\n"
+@@ -3751,7 +3797,7 @@ msgstr ""
+ "\n"
+ "提示:[d]默认,[e]已启用,[x]已禁用,[i]已安装"
+ 
+-#: dnf/module/module_base.py:34
++#: dnf/module/module_base.py:36
+ msgid ""
+ "\n"
+ "\n"
+@@ -3761,80 +3807,97 @@ msgstr ""
+ "\n"
+ "提示 : [d]默认, [e]启用, [x]禁用, [i]已安装的, [a]活跃的"
+ 
+-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
+-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
++#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
++#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
+ msgid "Ignoring unnecessary profile: '{}/{}'"
+ msgstr "正在忽略无用的配置文件'{}/{}'"
+ 
+-#: dnf/module/module_base.py:84
++#: dnf/module/module_base.py:86
+ #, python-brace-format
+ msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
+-msgstr "模块 '{1}:{2}' 中参数 '{0}' 的所有匹配项目都未激活"
++msgstr "模块 '{1}:{2}' 中参数 '{0}' 的所有匹配项都未处于活动状态"
+ 
+-#: dnf/module/module_base.py:92
++#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
+ #, python-brace-format
+ msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
+-msgstr "不允许从失效保险仓库 {1} 安装模块 '{0}'"
++msgstr "不允许从自动防故障仓库 {1} 安装模块 '{0}'"
+ 
+-#: dnf/module/module_base.py:102
++#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
+ msgid ""
+ "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
+ msgstr "不能为参数 {} 匹配配置文件。'{}:{}' 可用的配置文件为 : {}"
+ 
+-#: dnf/module/module_base.py:106
++#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
+ msgid "Unable to match profile for argument {}"
+ msgstr "无法配置参数 {} 中的配置档案"
+ 
+-#: dnf/module/module_base.py:118
++#: dnf/module/module_base.py:120
+ msgid "No default profiles for module {}:{}. Available profiles: {}"
+ msgstr "模块 {}:{} 没有默认的配置文件。可用的配置为 : {}"
+ 
+-#: dnf/module/module_base.py:122
++#: dnf/module/module_base.py:124
+ msgid "No profiles for module {}:{}"
+ msgstr "没有模块 {}:{} 的配置文件"
+ 
+-#: dnf/module/module_base.py:129
++#: dnf/module/module_base.py:131
+ msgid "Default profile {} not available in module {}:{}"
+ msgstr "默认配置文件 {} 在模块 {}:{} 中不可用"
+ 
+-#: dnf/module/module_base.py:142
++#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
+ msgid "Installing module from Fail-Safe repository is not allowed"
+-msgstr "不允许从失效保险仓库中安装模块"
++msgstr "不允许从自动防故障仓库安装模块"
++
++#: dnf/module/module_base.py:196
++#, python-brace-format
++msgid "No active matches for argument '{0}' in module '{1}:{2}'"
++msgstr "模块 '{1}:{2}' 中的参数 '{0}' 没有活动匹配项"
++
++#: dnf/module/module_base.py:228
++#, python-brace-format
++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
++msgstr "在模块 '{1}' 流 '{2}' 中没有安装的配置文件 '{0}'"
+ 
+-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
+-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
+-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
+-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
++#: dnf/module/module_base.py:267
++msgid "No packages available to distrosync for package name '{}'"
++msgstr "软件包名称 '{}' 没有可用的软件包用于 distrosync"
++
++#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
++#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
++#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
++#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
+ msgid "Unable to resolve argument {}"
+ msgstr "无法解析参数 {}"
+ 
+-#: dnf/module/module_base.py:160
+-msgid "No match for package {}"
+-msgstr "没有和{}匹配的软件包"
+-
+-#: dnf/module/module_base.py:204
++#: dnf/module/module_base.py:321
+ #, python-brace-format
+ msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
+-msgstr "不允许从失效保险仓库 {1} 中升级模块 '{0}'"
++msgstr "不允许从自动防故障仓库 {1} 升级模块 '{0}'"
+ 
+-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
++#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
+ msgid "Unable to match profile in argument {}"
+ msgstr "无法匹配参数 {} 中的配置档案"
+ 
+-#: dnf/module/module_base.py:231
++#: dnf/module/module_base.py:348
+ msgid "Upgrading module from Fail-Safe repository is not allowed"
+-msgstr "不允许从失效保险仓库中升级模块"
++msgstr "不允许从自动防故障仓库升级模块"
++
++#: dnf/module/module_base.py:422
++#, python-brace-format
++msgid ""
++"Argument '{argument}' matches {stream_count} streams ('{streams}') of module "
++"'{module}', but none of the streams are enabled or default"
++msgstr ""
++"参数 '{argument}' 匹配模块 '{module}' 的 {stream_count} 流 ('{streams}') "
++",但是这些流都未被启用或为默认"
+ 
+-#: dnf/module/module_base.py:367
++#: dnf/module/module_base.py:509
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'{}'"
++"Only module name is required. Ignoring unneeded information in argument: '{}'"
+ msgstr "只需要模块名。正在忽略'{}'中的无用信息"
+ 
+-#: dnf/package.py:298
+-#, python-format
+-msgid "%s: %s check failed: %s vs %s"
+-msgstr "%s: %s 检查失败:%s vs %s"
++#: dnf/module/module_base.py:841
++msgid "No match for package {}"
++msgstr "没有和{}匹配的软件包"
+ 
+ #. empty file is invalid json format
+ #: dnf/persistor.py:54
+@@ -3845,12 +3908,12 @@ msgstr "%s 为空文件"
+ #: dnf/persistor.py:91
+ #, python-format
+ msgid "Failed to load expired repos cache: %s"
+-msgstr ""
++msgstr "加载过期的仓库缓存失败: %s"
+ 
+ #: dnf/persistor.py:99
+ #, python-format
+ msgid "Failed to store expired repos cache: %s"
+-msgstr ""
++msgstr "存储已过期的仓库缓存失败: %s"
+ 
+ #: dnf/persistor.py:106
+ msgid "Failed storing last makecache time."
+@@ -3870,16 +3933,16 @@ msgstr "解析文件失败:%s"
+ msgid "Loaded plugins: %s"
+ msgstr "加载插件:%s"
+ 
+-#: dnf/plugin.py:199
++#: dnf/plugin.py:211
+ #, python-format
+ msgid "Failed loading plugin \"%s\": %s"
+ msgstr "加载插件 \"%s\" 失败 : %s"
+ 
+-#: dnf/plugin.py:231
++#: dnf/plugin.py:243
+ msgid "No matches found for the following enable plugin patterns: {}"
+ msgstr "没有以下已启用插件模式的匹配项 : {}"
+ 
+-#: dnf/plugin.py:235
++#: dnf/plugin.py:247
+ msgid "No matches found for the following disable plugin patterns: {}"
+ msgstr "没有以下已停用插件模式的匹配项 : {}"
+ 
+@@ -3893,7 +3956,7 @@ msgid "Already downloaded"
+ msgstr "已下载"
+ 
+ #. pinging mirrors, this might take a while
+-#: dnf/repo.py:347
++#: dnf/repo.py:346
+ #, python-format
+ msgid "determining the fastest mirror (%s hosts).. "
+ msgstr "正在查找最快的镜像(%s 的主机) "
+@@ -3908,10 +3971,26 @@ msgstr "正在启用 %s 仓库"
+ msgid "Added %s repo from %s"
+ msgstr "已添加 %s 仓库来自 %s"
+ 
++#: dnf/rpm/miscutils.py:32
++#, python-format
++msgid "Using rpmkeys executable at %s to verify signatures"
++msgstr "使用 %s 处的 rpmkeys 可执行文件来验证签名"
++
++#: dnf/rpm/miscutils.py:66
++msgid "Cannot find rpmkeys executable to verify signatures."
++msgstr "无法找到 rpmkeys 的可执行文件以验证签名。"
++
+ #: dnf/rpm/transaction.py:119
+ msgid "Errors occurred during test transaction."
+ msgstr "测试事务过程中出现错误。"
+ 
++#: dnf/sack.py:47
++msgid ""
++"allow_vendor_change is disabled. This option is currently not supported for "
++"downgrade and distro-sync commands"
++msgstr ""
++"allow_vendor_change 被禁用。此选项目前不支持 downgrade 和 distro-sync 命令"
++
+ #. TRANSLATORS: This is for a single package currently being downgraded.
+ #: dnf/transaction.py:80
+ msgctxt "currently"
+@@ -3958,164 +4037,211 @@ msgstr "运行脚本"
+ msgid "Preparing"
+ msgstr "准备中"
+ 
+-#: dnf/transaction_sr.py:60
++#: dnf/transaction_sr.py:66
+ #, python-brace-format
+-msgid "Errors in \"{filename}\":"
+-msgstr ""
++msgid ""
++"The following problems occurred while replaying the transaction from file "
++"\"{filename}\":"
++msgstr "在重放来自文件 \"{filename}\" 的事务时出现了下列问题:"
+ 
+-#: dnf/transaction_sr.py:70
+-#, python-brace-format
+-msgid "Error in \"{filename}\": {error}"
+-msgstr ""
++#: dnf/transaction_sr.py:68
++msgid "The following problems occurred while running a transaction:"
++msgstr "运行事务时发生以下问题:"
+ 
+-#: dnf/transaction_sr.py:87
++#: dnf/transaction_sr.py:89
+ #, python-brace-format
+ msgid "Invalid major version \"{major}\", number expected."
+-msgstr ""
++msgstr "无效的主版本 \"{major}\",需要是数字。"
+ 
+-#: dnf/transaction_sr.py:95
++#: dnf/transaction_sr.py:97
+ #, python-brace-format
+ msgid "Invalid minor version \"{minor}\", number expected."
+-msgstr ""
++msgstr "无效的次版本 \"{minor}\",需要是数字。"
+ 
+-#: dnf/transaction_sr.py:101
++#: dnf/transaction_sr.py:103
+ #, python-brace-format
+ msgid ""
+ "Incompatible major version \"{major}\", supported major version is "
+ "\"{major_supp}\"."
+-msgstr ""
++msgstr "不兼容的主版本 \"{major}\",支持的主版本是 \"{major_supp}\"。"
+ 
+-#: dnf/transaction_sr.py:244
++#: dnf/transaction_sr.py:224
++msgid ""
++"Conflicting TransactionReplay arguments have been specified: filename, data"
++msgstr "指定了有冲突的 TransactionReplay 参数: filename、data"
++
++#: dnf/transaction_sr.py:265
+ #, python-brace-format
+ msgid "Unexpected type of \"{id}\", {exp} expected."
+-msgstr ""
++msgstr "意外类型 \"{id}\",需要是 {exp}。"
+ 
+-#: dnf/transaction_sr.py:250
++#: dnf/transaction_sr.py:271
+ #, python-brace-format
+ msgid "Missing key \"{key}\"."
+-msgstr ""
++msgstr "缺少键 \"{key}\"。"
+ 
+-#: dnf/transaction_sr.py:263
++#: dnf/transaction_sr.py:285
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an rpm."
+-msgstr ""
++msgstr "在 rpm 中缺少对象键 \"{key}\"。"
+ 
+-#: dnf/transaction_sr.py:267
++#: dnf/transaction_sr.py:289
+ #, python-brace-format
+-msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
+-msgstr ""
++msgid ""
++"Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
++msgstr "rpm nevra \"{nevra}\" 的软件包原因 \"{reason}\" 的意外值。"
+ 
+-#: dnf/transaction_sr.py:275
++#: dnf/transaction_sr.py:297
+ #, python-brace-format
+ msgid "Cannot parse NEVRA for package \"{nevra}\"."
+-msgstr ""
++msgstr "无法为软件包 \"{nevra}\" 解析 NEVRA。"
+ 
+-#: dnf/transaction_sr.py:286
++#: dnf/transaction_sr.py:321
+ #, python-brace-format
+ msgid "Cannot find rpm nevra \"{nevra}\"."
+-msgstr ""
++msgstr "无法找到 rpm nevra \"{nevra}\"。"
+ 
+-#: dnf/transaction_sr.py:301
+-#, fuzzy, python-brace-format
+-#| msgid "Package %s is already installed."
++#: dnf/transaction_sr.py:336
++#, python-brace-format
+ msgid "Package \"{na}\" is already installed for action \"{action}\"."
+-msgstr "软件包 %s 已安装。"
++msgstr "操作 \"{action}\" 的软件包 \"{na}\"已安装。"
+ 
+-#: dnf/transaction_sr.py:311
++#: dnf/transaction_sr.py:345
+ #, python-brace-format
+ msgid ""
+ "Package nevra \"{nevra}\" not available in repositories for action "
+ "\"{action}\"."
+-msgstr ""
++msgstr "对于操作 \"{action}\",软件包 nevra \"{nevra}\" 未在软件仓库中提供。"
+ 
+-#: dnf/transaction_sr.py:322
++#: dnf/transaction_sr.py:356
+ #, python-brace-format
+ msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
+-msgstr ""
++msgstr "没有为操作 \"{action}\" 安装软件包 nevra \"{nevra}\" 。"
+ 
+-#: dnf/transaction_sr.py:336
++#: dnf/transaction_sr.py:370
+ #, python-brace-format
+-msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
+-msgstr ""
++msgid ""
++"Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
++msgstr "rpm nevra \"{nevra}\" 的软件包操作 \"{action}\" 的意外值。"
+ 
+-#: dnf/transaction_sr.py:343
+-#, fuzzy, python-format
+-#| msgid "Module or Group '%s' is not available."
++#: dnf/transaction_sr.py:377
++#, python-format
+ msgid "Group id '%s' is not available."
+-msgstr "模块或者组 '%s' 不可用。"
++msgstr "组 id '%s' 不可用。"
+ 
+-#: dnf/transaction_sr.py:364
++#: dnf/transaction_sr.py:398
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in groups.packages."
+-msgstr ""
++msgstr "在 groups.packages 中缺少对象键 \"{key}\"。"
+ 
+-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
+-#, fuzzy, python-format
+-#| msgid "Module or Group '%s' is not installed."
++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
++#, python-format
+ msgid "Group id '%s' is not installed."
+-msgstr "模块或者组 '%s' 未安装。"
++msgstr "组 id '%s' 未安装。"
+ 
+-#: dnf/transaction_sr.py:398
+-#, fuzzy, python-format
+-#| msgid "Environment '%s' is not available."
++#: dnf/transaction_sr.py:432
++#, python-format
+ msgid "Environment id '%s' is not available."
+-msgstr "环境 '%s' 不可用。"
++msgstr "环境 id '%s' 不可用。"
+ 
+-#: dnf/transaction_sr.py:422
++#: dnf/transaction_sr.py:456
+ #, python-brace-format
+ msgid ""
+ "Invalid value \"{group_type}\" of environments.groups.group_type, only "
+ "\"mandatory\" or \"optional\" is supported."
+ msgstr ""
++"environments.groups.group_type 的值 \"{group_type}\" 无效,仅支持 \"mandatory"
++"\" 或者 \"optional\"。"
+ 
+-#: dnf/transaction_sr.py:430
++#: dnf/transaction_sr.py:464
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in environments.groups."
+-msgstr ""
++msgstr "在 environment.groups 中缺少对象键 \"{key}\"。"
+ 
+-#: dnf/transaction_sr.py:508
++#: dnf/transaction_sr.py:542
+ #, python-brace-format
+ msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
+-msgstr ""
++msgstr "对组 \"{group}\" 的组操作 \"{action}\" 的意外值。"
+ 
+-#: dnf/transaction_sr.py:513
++#: dnf/transaction_sr.py:547
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in a group."
+-msgstr ""
++msgstr "在组中缺少对象键 \"{key}\"。"
+ 
+-#: dnf/transaction_sr.py:537
++#: dnf/transaction_sr.py:571
+ #, python-brace-format
+-msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
+-msgstr ""
++msgid ""
++"Unexpected value of environment action \"{action}\" for environment "
++"\"{env}\"."
++msgstr "对环境 \"{env}\" 的环境操作 \"{action}\" 的意外值。"
+ 
+-#: dnf/transaction_sr.py:542
++#: dnf/transaction_sr.py:576
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an environment."
+-msgstr ""
++msgstr "在环境中缺少对象键 \"{key}\"。"
+ 
+-#: dnf/transaction_sr.py:581
++#: dnf/transaction_sr.py:615
+ #, python-brace-format
+ msgid ""
+-"Package nevra \"{nevra}\", which is not present in the transaction file, was"
+-" pulled into the transaction."
+-msgstr ""
++"Package nevra \"{nevra}\", which is not present in the transaction file, was "
++"pulled into the transaction."
++msgstr "软件包 nevra \"{nevra}\" 没有包括在事务文件中,但它被拉取到事务中。"
+ 
+-#: dnf/util.py:391 dnf/util.py:393
++#: dnf/util.py:419 dnf/util.py:421
+ msgid "Problem"
+ msgstr "问题"
+ 
+-#: dnf/util.py:444
++#: dnf/util.py:472
+ msgid "TransactionItem not found for key: {}"
+ msgstr "找不到键的 TransactionItem: {}"
+ 
+-#: dnf/util.py:454
++#: dnf/util.py:482
+ msgid "TransactionSWDBItem not found for key: {}"
+ msgstr "找不到键的 TransactionSWDBItem: {}"
+ 
+-#: dnf/util.py:457
++#: dnf/util.py:485
+ msgid "Errors occurred during transaction."
+ msgstr "事务过程中出现错误。"
+ 
++#: dnf/util.py:621
++msgid "Reinstalled"
++msgstr "已重装"
++
++#: dnf/util.py:622
++msgid "Skipped"
++msgstr "已跳过"
++
++#: dnf/util.py:623
++msgid "Removed"
++msgstr "已移除"
++
++#: dnf/util.py:626
++msgid "Failed"
++msgstr "失败"
++
++#~ msgid "skipping."
++#~ msgstr "正在跳过。"
++
++#~ msgid ""
++#~ "Using rpmkeys executable from {path} to verify signature for package: "
++#~ "{package}."
++#~ msgstr "使用来自 {path} 的 rpmkeys 可执行代码验证软件包的签名:{package}。"
++
++#~ msgid "%s: %s check failed: %s vs %s"
++#~ msgstr "%s: %s 检查失败:%s vs %s"
++
++#~ msgid "Action not handled: {}"
++#~ msgstr "操作没被处理:{}"
++
++#~ msgid "no package matched"
++#~ msgstr "没有能够与之匹配的软件包"
++
++#~ msgid "Not found given transaction ID"
++#~ msgstr "未找到指定事务 ID"
++
++#~ msgid "Undoing transaction {}, from {}"
++#~ msgstr "撤销事务 {},从 {}"
++
+ #~ msgid "format for displaying found packages"
+ #~ msgstr "用于显示已查找到软件包的格式"
+ 
+@@ -4126,5 +4252,6 @@ msgstr "事务过程中出现错误。"
+ #~ msgstr "错误的事务 ID 或软件包"
+ 
+ #~ msgid ""
+-#~ "Display capabilities that the package depends on for running a %%pre script."
++#~ "Display capabilities that the package depends on for running a %%pre "
++#~ "script."
+ #~ msgstr "显示软件包运行一个 %%pre 脚本所依赖的功能"
+diff --git a/po/zh_TW.po b/po/zh_TW.po
+index b991c4f0..c43c0d5f 100644
+--- a/po/zh_TW.po
++++ b/po/zh_TW.po
+@@ -11,10 +11,11 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2020-10-05 09:18-0400\n"
++"POT-Creation-Date: 2022-02-28 11:24+0100\n"
+ "PO-Revision-Date: 2020-09-08 22:00+0000\n"
+ "Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
+-"Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/projects/dnf/dnf-master/zh_TW/>\n"
++"Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/"
++"projects/dnf/dnf-master/zh_TW/>\n"
+ "Language: zh_TW\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+@@ -67,7 +68,7 @@ msgstr "無法透過「%s」發送電子郵件:%s"
+ msgid "Failed to execute command '%s': returned %d"
+ msgstr "無法執行「%s」指令:已回傳 %d"
+ 
+-#: dnf/automatic/main.py:164 dnf/conf/config.py:151
++#: dnf/automatic/main.py:164
+ #, python-format
+ msgid "Unknown configuration value: %s=%s in %s; %s"
+ msgstr "未知的設定值:%s = %s 於 %s;%s"
+@@ -77,7 +78,7 @@ msgstr "未知的設定值:%s = %s 於 %s;%s"
+ msgid "Unknown configuration option: %s = %s in %s"
+ msgstr "未知的設定選項:%s = %s 於 %s"
+ 
+-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299
++#: dnf/automatic/main.py:237 dnf/cli/cli.py:305
+ msgid "GPG check FAILED"
+ msgstr "GPG 檢查失敗"
+ 
+@@ -90,9 +91,11 @@ msgid "Started dnf-automatic."
+ msgstr "已啟動 dnf-automatic。"
+ 
+ #: dnf/automatic/main.py:308
+-#, python-format
+-msgid "Sleep for %s seconds"
+-msgstr "睡眠 %s 秒"
++#, fuzzy
++#| msgid "Sleep for %s seconds"
++msgid "Sleep for {} second"
++msgid_plural "Sleep for {} seconds"
++msgstr[0] "睡眠 %s 秒"
+ 
+ #: dnf/automatic/main.py:315
+ msgid "System is off-line."
+@@ -104,439 +107,426 @@ msgstr "系統離線。"
+ msgid "Error: %s"
+ msgstr "錯誤:%s"
+ 
+-#: dnf/base.py:146
++#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479
+ msgid "loading repo '{}' failure: {}"
+ msgstr "載入「{}」軟體庫失敗:{}"
+ 
+-#: dnf/base.py:148
++#: dnf/base.py:150
+ msgid "Loading repository '{}' has failed"
+ msgstr "載入「{}」軟體庫時發生錯誤"
+ 
+-#: dnf/base.py:320
++#: dnf/base.py:327
+ msgid "Metadata timer caching disabled when running on metered connection."
+ msgstr "當以計費網路連線時,停用中介資料定時快取。"
+ 
+-#: dnf/base.py:325
++#: dnf/base.py:332
+ msgid "Metadata timer caching disabled when running on a battery."
+ msgstr "當使用電池時,停用中介資料定時快取。"
+ 
+-#: dnf/base.py:330
++#: dnf/base.py:337
+ msgid "Metadata timer caching disabled."
+ msgstr "已停用中介資料定時快取。"
+ 
+-#: dnf/base.py:335
++#: dnf/base.py:342
+ msgid "Metadata cache refreshed recently."
+ msgstr "中介資料的快取已於最近重新整理。"
+ 
+-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91
++#: dnf/base.py:348 dnf/cli/commands/__init__.py:91
+ msgid "There are no enabled repositories in \"{}\"."
+ msgstr "「{}」中沒有啟用的軟體庫。"
+ 
+-#: dnf/base.py:348
++#: dnf/base.py:355
+ #, python-format
+ msgid "%s: will never be expired and will not be refreshed."
+ msgstr "%s:將永遠不會過期,且不會重新整理。"
+ 
+-#: dnf/base.py:350
++#: dnf/base.py:357
+ #, python-format
+ msgid "%s: has expired and will be refreshed."
+ msgstr "%s:已經過期,並將重新整理。"
+ 
+ #. expires within the checking period:
+-#: dnf/base.py:354
++#: dnf/base.py:361
+ #, python-format
+ msgid "%s: metadata will expire after %d seconds and will be refreshed now"
+ msgstr "%s:中介資料將會在 %d 秒後過期,現在將立刻重新整理"
+ 
+-#: dnf/base.py:358
++#: dnf/base.py:365
+ #, python-format
+ msgid "%s: will expire after %d seconds."
+ msgstr "%s:將會在 %d 秒後過期。"
+ 
+ #. performs the md sync
+-#: dnf/base.py:364
++#: dnf/base.py:371
+ msgid "Metadata cache created."
+ msgstr "已建立中介資料快取。"
+ 
+-#: dnf/base.py:397
++#: dnf/base.py:404 dnf/base.py:471
+ #, python-format
+ msgid "%s: using metadata from %s."
+ msgstr "%s:從 %s 使用中介資料。"
+ 
+-#: dnf/base.py:409
++#: dnf/base.py:416 dnf/base.py:484
+ #, python-format
+ msgid "Ignoring repositories: %s"
+ msgstr "忽略軟體庫:%s"
+ 
+-#: dnf/base.py:412
++#: dnf/base.py:419
+ #, python-format
+ msgid "Last metadata expiration check: %s ago on %s."
+ msgstr "上次中介資料過期檢查:%s 前,時間點為%s。"
+ 
+-#: dnf/base.py:443
++#: dnf/base.py:512
+ msgid ""
+ "The downloaded packages were saved in cache until the next successful "
+ "transaction."
+ msgstr "直到有下個成功處理事項為止,下載的軟體包會存在快取中。"
+ 
+-#: dnf/base.py:445
++#: dnf/base.py:514
+ #, python-format
+ msgid "You can remove cached packages by executing '%s'."
+ msgstr "您可以透過執行「%s」移除軟體包快取。"
+ 
+-#: dnf/base.py:535
++#: dnf/base.py:606
+ #, python-format
+ msgid "Invalid tsflag in config file: %s"
+ msgstr "在 config 檔案中無效的 tsflag:%s"
+ 
+-#: dnf/base.py:591
++#: dnf/base.py:662
+ #, python-format
+ msgid "Failed to add groups file for repository: %s - %s"
+ msgstr "為軟體庫建立群組檔案時失敗:%s - %s"
+ 
+-#: dnf/base.py:823
++#: dnf/base.py:904
+ msgid "Running transaction check"
+ msgstr "執行處理事項檢查"
+ 
+-#: dnf/base.py:831
++#: dnf/base.py:912
+ msgid "Error: transaction check vs depsolve:"
+ msgstr "錯誤:處理事項 check vs depsolve:"
+ 
+-#: dnf/base.py:837
++#: dnf/base.py:918
+ msgid "Transaction check succeeded."
+ msgstr "處理事項檢查成功。"
+ 
+-#: dnf/base.py:840
++#: dnf/base.py:921
+ msgid "Running transaction test"
+ msgstr "執行處理事項測試"
+ 
+-#: dnf/base.py:850 dnf/base.py:992
++#: dnf/base.py:931 dnf/base.py:1082
+ msgid "RPM: {}"
+ msgstr "RPM:{}"
+ 
+-#: dnf/base.py:851
++#: dnf/base.py:932
+ msgid "Transaction test error:"
+ msgstr "處理事項測試錯誤:"
+ 
+-#: dnf/base.py:862
++#: dnf/base.py:943
+ msgid "Transaction test succeeded."
+ msgstr "處理事項測試成功。"
+ 
+-#: dnf/base.py:883
++#: dnf/base.py:964
+ msgid "Running transaction"
+ msgstr "執行處理事項"
+ 
+-#: dnf/base.py:911
++#: dnf/base.py:1001
+ msgid "Disk Requirements:"
+ msgstr "需要磁碟:"
+ 
+-#: dnf/base.py:914
++#: dnf/base.py:1004
+ #, python-brace-format
+ msgid "At least {0}MB more space needed on the {1} filesystem."
+ msgid_plural "At least {0}MB more space needed on the {1} filesystem."
+ msgstr[0] "{1} 檔案系統需要至少 {0}MB 以上的空間。"
+ 
+-#: dnf/base.py:921
++#: dnf/base.py:1011
+ msgid "Error Summary"
+ msgstr "錯誤摘要"
+ 
+-#: dnf/base.py:947
++#: dnf/base.py:1037
+ #, python-brace-format
+ msgid "RPMDB altered outside of {prog}."
+ msgstr "RPMDB 在 {prog} 外有變動。"
+ 
+-#: dnf/base.py:993 dnf/base.py:1001
++#: dnf/base.py:1083 dnf/base.py:1091
+ msgid "Could not run transaction."
+ msgstr "無法執行處理事項。"
+ 
+-#: dnf/base.py:996
++#: dnf/base.py:1086
+ msgid "Transaction couldn't start:"
+ msgstr "無法啓動處理事項:"
+ 
+-#: dnf/base.py:1010
++#: dnf/base.py:1100
+ #, python-format
+ msgid "Failed to remove transaction file %s"
+ msgstr "移除處理事項檔案 %s 失敗"
+ 
+-#: dnf/base.py:1092
++#: dnf/base.py:1182
+ msgid "Some packages were not downloaded. Retrying."
+ msgstr "有些軟體包未下載。重試。"
+ 
+-#: dnf/base.py:1122
++#: dnf/base.py:1212
+ #, python-format
+ msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
+ msgstr "Delta RPM 已將更新所需從 %.1f MB 減少為 %.1f MB(節省 %d.1%%)"
+ 
+-#: dnf/base.py:1125
++#: dnf/base.py:1215
+ #, python-format
+ msgid ""
+ "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
+ msgstr "失敗的 Delta RPM 已將更新所需從 %.1f MB 增加為 %.1f MB(浪費 %d.1%%)"
+ 
+-#: dnf/base.py:1167
++#: dnf/base.py:1257
+ msgid "Cannot add local packages, because transaction job already exists"
+ msgstr "因為已經有處理事項工作,無法加入本機軟體包"
+ 
+-#: dnf/base.py:1181
++#: dnf/base.py:1271
+ msgid "Could not open: {}"
+ msgstr "無法開啟:{}"
+ 
+-#: dnf/base.py:1219
++#: dnf/base.py:1309
+ #, python-format
+ msgid "Public key for %s is not installed"
+ msgstr "%s 的公鑰尚未安裝"
+ 
+-#: dnf/base.py:1223
++#: dnf/base.py:1313
+ #, python-format
+ msgid "Problem opening package %s"
+ msgstr "開啟 %s 軟體包時發生問題"
+ 
+-#: dnf/base.py:1231
++#: dnf/base.py:1321
+ #, python-format
+ msgid "Public key for %s is not trusted"
+ msgstr "%s 的公鑰未被信任"
+ 
+-#: dnf/base.py:1235
++#: dnf/base.py:1325
+ #, python-format
+ msgid "Package %s is not signed"
+ msgstr "%s 軟體包尚未簽名"
+ 
+-#: dnf/base.py:1265
++#: dnf/base.py:1355
+ #, python-format
+ msgid "Cannot remove %s"
+ msgstr "無法移除 %s"
+ 
+-#: dnf/base.py:1269
++#: dnf/base.py:1359
+ #, python-format
+ msgid "%s removed"
+ msgstr "已移除 %s"
+ 
+-#: dnf/base.py:1549
++#: dnf/base.py:1639
+ msgid "No match for group package \"{}\""
+ msgstr "找不到符合「{}」軟體包群組的項目"
+ 
+-#: dnf/base.py:1635
++#: dnf/base.py:1721
+ #, python-format
+ msgid "Adding packages from group '%s': %s"
+ msgstr "正在從群組「%s」加入軟體包:%s"
+ 
+-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442
+-#: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592
+-#: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80
++#: dnf/base.py:1744 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
++#: dnf/cli/commands/__init__.py:494 dnf/cli/commands/__init__.py:587
++#: dnf/cli/commands/__init__.py:636 dnf/cli/commands/install.py:80
+ #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110
+ msgid "Nothing to do."
+ msgstr "無事可做。"
+ 
+-#: dnf/base.py:1676
++#: dnf/base.py:1762
+ msgid "No groups marked for removal."
+ msgstr "沒有標記為移除的群組。"
+ 
+-#: dnf/base.py:1710
++#: dnf/base.py:1796
+ msgid "No group marked for upgrade."
+ msgstr "沒有標記為升級的群組。"
+ 
+-#: dnf/base.py:1925
++#: dnf/base.py:2010
+ #, python-format
+ msgid "Package %s not installed, cannot downgrade it."
+ msgstr "尚未安裝軟體包 %s,所以無法降級。"
+ 
+-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980
+-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411
+-#: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482
+-#: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633
+-#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147
++#: dnf/base.py:2012 dnf/base.py:2031 dnf/base.py:2044 dnf/base.py:2071
++#: dnf/base.py:2124 dnf/base.py:2132 dnf/base.py:2266 dnf/cli/cli.py:417
++#: dnf/cli/commands/__init__.py:420 dnf/cli/commands/__init__.py:477
++#: dnf/cli/commands/__init__.py:581 dnf/cli/commands/__init__.py:628
++#: dnf/cli/commands/__init__.py:706 dnf/cli/commands/install.py:147
+ #: dnf/cli/commands/reinstall.py:70 dnf/cli/commands/reinstall.py:84
+-#: dnf/cli/commands/upgrade.py:110 dnf/cli/commands/upgrade.py:121
++#: dnf/cli/commands/upgrade.py:105 dnf/cli/commands/upgrade.py:116
+ #, python-format
+ msgid "No match for argument: %s"
+ msgstr "引數不符:%s"
+ 
+-#: dnf/base.py:1934
++#: dnf/base.py:2019
+ #, python-format
+ msgid "Package %s of lower version already installed, cannot downgrade it."
+ msgstr "已經安裝較舊版本的軟體包 %s,所以無法降級。"
+ 
+-#: dnf/base.py:1957
++#: dnf/base.py:2042
+ #, python-format
+ msgid "Package %s not installed, cannot reinstall it."
+ msgstr "尚未安裝軟體包 %s,所以無法重新安裝。"
+ 
+-#: dnf/base.py:1972
++#: dnf/base.py:2057
+ #, python-format
+ msgid "File %s is a source package and cannot be updated, ignoring."
+ msgstr "檔案 %s 為來源軟體包且無法更新,忽略。"
+ 
+-#: dnf/base.py:1978
++#: dnf/base.py:2068
+ #, python-format
+ msgid "Package %s not installed, cannot update it."
+ msgstr "尚未安裝軟體包 %s,所以無法更新。"
+ 
+-#: dnf/base.py:1987
++#: dnf/base.py:2078
+ #, python-format
+ msgid ""
+ "The same or higher version of %s is already installed, cannot update it."
+ msgstr "已經安裝同版或更新版的 %s,無法更新。"
+ 
+-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81
++#: dnf/base.py:2121 dnf/cli/commands/reinstall.py:81
+ #, python-format
+ msgid "Package %s available, but not installed."
+ msgstr "軟體包 %s 可用,但尚未安裝。"
+ 
+-#: dnf/base.py:2032
++#: dnf/base.py:2127
+ #, python-format
+ msgid "Package %s available, but installed for different architecture."
+ msgstr "軟體包 %s 可用,但是針對不同架構安裝。"
+ 
+-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699
++#: dnf/base.py:2152
+ #, python-format
+ msgid "No package %s installed."
+ msgstr "軟體包 %s 未安裝。"
+ 
+-#: dnf/base.py:2075 dnf/cli/commands/install.py:136
++#: dnf/base.py:2170 dnf/cli/commands/install.py:136
+ #: dnf/cli/commands/remove.py:133
+ #, python-format
+ msgid "Not a valid form: %s"
+ msgstr "非有效格式:%s"
+ 
+-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681
+-#: dnf/cli/commands/remove.py:163
++#: dnf/base.py:2185 dnf/cli/commands/__init__.py:676
++#: dnf/cli/commands/remove.py:162
+ msgid "No packages marked for removal."
+ msgstr "沒有軟體包標記為要移除。"
+ 
+-#: dnf/base.py:2179 dnf/cli/cli.py:422
++#: dnf/base.py:2273 dnf/cli/cli.py:428
+ #, python-format
+ msgid "Packages for argument %s available, but not installed."
+ msgstr "%s 引數的軟體包可用,但尚未安裝。"
+ 
+-#: dnf/base.py:2184
++#: dnf/base.py:2278
+ #, python-format
+ msgid "Package %s of lowest version already installed, cannot downgrade it."
+ msgstr "已經安裝最舊版本的軟體包 %s,所以無法降級。"
+ 
+-#: dnf/base.py:2242
+-msgid "Action not handled: {}"
+-msgstr "未處理動作:{}"
+-
+-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703
+-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169
+-#, python-format
+-msgid "No package %s available."
+-msgstr "沒有 %s 軟體包可用。"
+-
+-#: dnf/base.py:2269
+-msgid "no package matched"
+-msgstr "沒有符合的軟體包"
+-
+-#: dnf/base.py:2290
++#: dnf/base.py:2378
+ msgid "No security updates needed, but {} update available"
+ msgstr "不需要任何的安全性更新,但有 {} 個更新可用"
+ 
+-#: dnf/base.py:2292
++#: dnf/base.py:2380
+ msgid "No security updates needed, but {} updates available"
+ msgstr "不需要任何的安全性更新,但有 {} 個更新可用"
+ 
+-#: dnf/base.py:2296
++#: dnf/base.py:2384
+ msgid "No security updates needed for \"{}\", but {} update available"
+ msgstr "不需要「{}」的任何安全性更新,但有 {} 個更新可用"
+ 
+-#: dnf/base.py:2298
++#: dnf/base.py:2386
+ msgid "No security updates needed for \"{}\", but {} updates available"
+ msgstr "不需要「{}」的任何安全性更新,但有 {} 個更新可用"
+ 
+ #. raise an exception, because po.repoid is not in self.repos
+-#: dnf/base.py:2319
++#: dnf/base.py:2407
+ #, python-format
+ msgid "Unable to retrieve a key for a commandline package: %s"
+ msgstr "無法擷取命令列軟體包的金鑰:%s"
+ 
+-#: dnf/base.py:2327
++#: dnf/base.py:2415
+ #, python-format
+ msgid ". Failing package is: %s"
+ msgstr "失敗的軟體包為:%s"
+ 
+-#: dnf/base.py:2328
++#: dnf/base.py:2416
+ #, python-format
+ msgid "GPG Keys are configured as: %s"
+ msgstr "GPG 金鑰已經設定為:%s"
+ 
+-#: dnf/base.py:2340
++#: dnf/base.py:2428
+ #, python-format
+ msgid "GPG key at %s (0x%s) is already installed"
+ msgstr "於 %s (0x%s) 的 GPG 密鑰已經安裝"
+ 
+-#: dnf/base.py:2373
++#: dnf/base.py:2464
+ msgid "The key has been approved."
+ msgstr "金鑰已經核可。"
+ 
+-#: dnf/base.py:2376
++#: dnf/base.py:2467
+ msgid "The key has been rejected."
+ msgstr "金鑰已被拒絕。"
+ 
+-#: dnf/base.py:2409
++#: dnf/base.py:2500
+ #, python-format
+ msgid "Key import failed (code %d)"
+ msgstr "密鑰匯入失敗(錯誤代碼 %d)"
+ 
+-#: dnf/base.py:2411
++#: dnf/base.py:2502
+ msgid "Key imported successfully"
+ msgstr "密鑰匯入成功"
+ 
+-#: dnf/base.py:2415
++#: dnf/base.py:2506
+ msgid "Didn't install any keys"
+ msgstr "無法安裝任何密鑰"
+ 
+-#: dnf/base.py:2418
++#: dnf/base.py:2509
+ #, python-format
+ msgid ""
+-"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
++"The GPG keys listed for the \"%s\" repository are already installed but they "
++"are not correct for this package.\n"
+ "Check that the correct key URLs are configured for this repository."
+ msgstr ""
+ "列出的「%s」軟體庫 GPG 金鑰已經安裝,但這些金鑰對這個軟體包都不正確。\n"
+ "檢查這個軟體庫的不正確金鑰之網址設定。"
+ 
+-#: dnf/base.py:2429
++#: dnf/base.py:2520
+ msgid "Import of key(s) didn't help, wrong key(s)?"
+ msgstr "匯入的金鑰沒有作用,可能是因為金鑰是錯誤的?"
+ 
+-#: dnf/base.py:2482
++#: dnf/base.py:2573
+ msgid "  * Maybe you meant: {}"
+ msgstr "  * 或許您想要:{}"
+ 
+-#: dnf/base.py:2514
++#: dnf/base.py:2605
+ msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
+ msgstr "「{}」軟體包來自本機「{}」軟體庫有不正確的 checksum"
+ 
+-#: dnf/base.py:2517
++#: dnf/base.py:2608
+ msgid "Some packages from local repository have incorrect checksum"
+ msgstr "來自本機軟體庫的部份軟體包有不正確的 checksum"
+ 
+-#: dnf/base.py:2520
++#: dnf/base.py:2611
+ msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
+ msgstr "「{}」軟體包來自「{}」軟體庫有不正確的 checksum"
+ 
+-#: dnf/base.py:2523
++#: dnf/base.py:2614
+ msgid ""
+ "Some packages have invalid cache, but cannot be downloaded due to \"--"
+ "cacheonly\" option"
+ msgstr "部份的軟體包有無效的快取,但是因為「--cacheonly」選項而無法下載"
+ 
+-#: dnf/base.py:2541 dnf/base.py:2561
++#: dnf/base.py:2632 dnf/base.py:2652
+ msgid "No match for argument"
+ msgstr "沒有符合引數的項目"
+ 
+-#: dnf/base.py:2549 dnf/base.py:2569
++#: dnf/base.py:2640 dnf/base.py:2660
+ msgid "All matches were filtered out by exclude filtering for argument"
+ msgstr "所有符合項目皆被引數的排除過濾器濾掉"
+ 
+-#: dnf/base.py:2551
++#: dnf/base.py:2642
+ msgid "All matches were filtered out by modular filtering for argument"
+ msgstr "所有符合項目皆被引數的模組化過濾器濾掉"
+ 
+-#: dnf/base.py:2567
++#: dnf/base.py:2658
+ msgid "All matches were installed from a different repository for argument"
+ msgstr "所有符合項目皆從引數的不同軟體庫安裝"
+ 
+-#: dnf/base.py:2583
++#: dnf/base.py:2705
+ #, python-format
+ msgid "Package %s is already installed."
+ msgstr "已安裝 %s 軟體包。"
+@@ -556,8 +546,8 @@ msgstr "解析「%s」檔案失敗:%s"
+ msgid "Cannot read file \"%s\": %s"
+ msgstr "無法讀取「%s」檔案:%s"
+ 
+-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902
+-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108
++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804
++#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108
+ #, python-format
+ msgid "Config error: %s"
+ msgstr "設定檔錯誤:%s"
+@@ -588,44 +578,53 @@ msgid ""
+ "stream '{2}'"
+ msgstr "動作可能會導致「{0}」模組的「{1}」串流被切換到「{2}」串流"
+ 
+-#: dnf/cli/cli.py:172
+-#, python-brace-format
++#: dnf/cli/cli.py:173
++#, fuzzy, python-brace-format
++#| msgid ""
++#| "It is not possible to switch enabled streams of a module.\n"
++#| "It is recommended to remove all installed content from the module, and "
++#| "reset the module using '{prog} module reset <module_name>' command. After "
++#| "you reset the module, you can install the other stream."
+ msgid ""
+-"It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
++"It is not possible to switch enabled streams of a module unless explicitly "
++"enabled via configuration option module_stream_switch.\n"
++"It is recommended to rather remove all installed content from the module, "
++"and reset the module using '{prog} module reset <module_name>' command. "
++"After you reset the module, you can install the other stream."
+ msgstr ""
+ "無法切換模組的已啟用串流。\n"
+-"建議移除模組的所有已安裝內容,並使用 '{prog} module reset <module_name>' 命令重設模組。重設完模組後,就可以安裝其他串流。"
++"建議移除模組的所有已安裝內容,並使用 '{prog} module reset <module_name>' 命令"
++"重設模組。重設完模組後,就可以安裝其他串流。"
+ 
+-#: dnf/cli/cli.py:210
++#: dnf/cli/cli.py:212
+ #, python-brace-format
+ msgid "{prog} will only download packages for the transaction."
+ msgstr "{prog} 將只會下載處理事項需要的軟體包。"
+ 
+-#: dnf/cli/cli.py:213
++#: dnf/cli/cli.py:215
+ #, python-brace-format
+ msgid ""
+ "{prog} will only download packages, install gpg keys, and check the "
+ "transaction."
+ msgstr "{prog} 只會下載軟體包、匯入 GPG 金鑰並檢查處理事項。"
+ 
+-#: dnf/cli/cli.py:217
++#: dnf/cli/cli.py:219
+ msgid "Operation aborted."
+ msgstr "取消作業。"
+ 
+-#: dnf/cli/cli.py:224
++#: dnf/cli/cli.py:226
+ msgid "Downloading Packages:"
+ msgstr "下載軟體包:"
+ 
+-#: dnf/cli/cli.py:230
++#: dnf/cli/cli.py:232
+ msgid "Error downloading packages:"
+ msgstr "下載軟體包時失敗:"
+ 
+-#: dnf/cli/cli.py:258
++#: dnf/cli/cli.py:264
+ msgid "Transaction failed"
+ msgstr "處理事項失敗"
+ 
+-#: dnf/cli/cli.py:281
++#: dnf/cli/cli.py:287
+ msgid ""
+ "Refusing to automatically import keys when running unattended.\n"
+ "Use \"-y\" to override."
+@@ -633,116 +632,96 @@ msgstr ""
+ "當無人職守時,拒絕自動匯入密鑰。\n"
+ "使用「-y」覆蓋。"
+ 
+-#: dnf/cli/cli.py:331
++#: dnf/cli/cli.py:337
+ msgid "Changelogs for {}"
+ msgstr "{} 的變更記錄"
+ 
+-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511
++#: dnf/cli/cli.py:370 dnf/cli/cli.py:511 dnf/cli/cli.py:517
+ msgid "Obsoleting Packages"
+ msgstr "棄用軟體包"
+ 
+-#: dnf/cli/cli.py:393
++#: dnf/cli/cli.py:399
+ msgid "No packages marked for distribution synchronization."
+ msgstr "沒有標記為與散布版同步的軟體包。"
+ 
+-#: dnf/cli/cli.py:428
++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
++#, python-format
++msgid "No package %s available."
++msgstr "沒有 %s 軟體包可用。"
++
++#: dnf/cli/cli.py:434
+ msgid "No packages marked for downgrade."
+ msgstr "沒有軟體包標記為降級。"
+ 
+-#: dnf/cli/cli.py:479
++#: dnf/cli/cli.py:485
+ msgid "Installed Packages"
+ msgstr "已安裝軟體包"
+ 
+-#: dnf/cli/cli.py:487
++#: dnf/cli/cli.py:493
+ msgid "Available Packages"
+ msgstr "可用的軟體包"
+ 
+-#: dnf/cli/cli.py:491
++#: dnf/cli/cli.py:497
+ msgid "Autoremove Packages"
+ msgstr "自動移除軟體包"
+ 
+-#: dnf/cli/cli.py:493
++#: dnf/cli/cli.py:499
+ msgid "Extra Packages"
+ msgstr "額外的軟體包"
+ 
+-#: dnf/cli/cli.py:497
++#: dnf/cli/cli.py:503
+ msgid "Available Upgrades"
+ msgstr "可用的升級"
+ 
+-#: dnf/cli/cli.py:513
++#: dnf/cli/cli.py:519
+ msgid "Recently Added Packages"
+ msgstr "最近加入的軟體包"
+ 
+-#: dnf/cli/cli.py:518
++#: dnf/cli/cli.py:523
+ msgid "No matching Packages to list"
+ msgstr "沒有符合的軟體包可列出"
+ 
+-#: dnf/cli/cli.py:599
++#: dnf/cli/cli.py:604
+ msgid "No Matches found"
+ msgstr "沒有符合項目"
+ 
+-#: dnf/cli/cli.py:609
+-msgid "No transaction ID given"
+-msgstr "沒有提供處理事項識別碼"
+-
+-#: dnf/cli/cli.py:614
+-msgid "Not found given transaction ID"
+-msgstr "找不到提供的處理事項識別碼"
+-
+-#: dnf/cli/cli.py:623
+-msgid "Found more than one transaction ID!"
+-msgstr "找到超過一個處理事項識別碼!"
+-
+-#: dnf/cli/cli.py:640
+-#, python-format
+-msgid "Transaction history is incomplete, before %u."
+-msgstr "在 %u 之前,處理事項歷史紀錄不完整。"
+-
+-#: dnf/cli/cli.py:642
+-#, python-format
+-msgid "Transaction history is incomplete, after %u."
+-msgstr "在 %u 之後,處理事項歷史紀錄不完整。"
+-
+-#: dnf/cli/cli.py:689
+-msgid "Undoing transaction {}, from {}"
+-msgstr "取消變更處理事項 {},從 {}"
+-
+-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237
++#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237
+ #, python-format
+ msgid "Unknown repo: '%s'"
+ msgstr "未知的軟體庫:「%s」"
+ 
+-#: dnf/cli/cli.py:783
++#: dnf/cli/cli.py:685
+ #, python-format
+ msgid "No repository match: %s"
+ msgstr "沒有軟體庫符合:%s"
+ 
+-#: dnf/cli/cli.py:817
++#: dnf/cli/cli.py:719
+ msgid ""
+-"This command has to be run with superuser privileges (under the root user on"
+-" most systems)."
++"This command has to be run with superuser privileges (under the root user on "
++"most systems)."
+ msgstr "此命令需要以超級使用者權限執行(大部分系統是在 root 使用者下)。"
+ 
+-#: dnf/cli/cli.py:847
++#: dnf/cli/cli.py:749
+ #, python-format
+ msgid "No such command: %s. Please use %s --help"
+ msgstr "未知的指令:%s。請使用 %s --help"
+ 
+-#: dnf/cli/cli.py:850
++#: dnf/cli/cli.py:752
+ #, python-format, python-brace-format
+ msgid ""
+ "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
+ "command(%s)'\""
+-msgstr "其可能是 {PROG} 插件的命令,請試試:「{prog} install 'dnf-command(%s)'」"
++msgstr ""
++"其可能是 {PROG} 插件的命令,請試試:「{prog} install 'dnf-command(%s)'」"
+ 
+-#: dnf/cli/cli.py:854
++#: dnf/cli/cli.py:756
+ #, python-brace-format
+ msgid ""
+ "It could be a {prog} plugin command, but loading of plugins is currently "
+ "disabled."
+ msgstr "其可能是 {prog} 插件的命令,但目前載入插件的功能處於停用狀態。"
+ 
+-#: dnf/cli/cli.py:912
++#: dnf/cli/cli.py:814
+ msgid ""
+ "--destdir or --downloaddir must be used with --downloadonly or download or "
+ "system-upgrade command."
+@@ -750,52 +729,54 @@ msgstr ""
+ "--destdir 或 --downloaddir 必須與 --downloadonly、download 或 system-upgrade "
+ "指令一起使用。"
+ 
+-#: dnf/cli/cli.py:918
++#: dnf/cli/cli.py:820
+ msgid ""
+ "--enable, --set-enabled and --disable, --set-disabled must be used with "
+ "config-manager command."
+ msgstr ""
+-"--enable、--set-enabled 及 --disable、--set-disabled 必須與 config-manager 命令一起使用。"
++"--enable、--set-enabled 及 --disable、--set-disabled 必須與 config-manager 命"
++"令一起使用。"
+ 
+-#: dnf/cli/cli.py:1000
++#: dnf/cli/cli.py:902
+ msgid ""
+ "Warning: Enforcing GPG signature check globally as per active RPM security "
+ "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
+ msgstr ""
+-"警告:因為作用中的 RPM 安全性策略,已強制執行全域 GPG 簽名檢查(請參閱 dnf.conf(5) 的「gpgcheck」以了解如何隱藏此則訊息)"
++"警告:因為作用中的 RPM 安全性策略,已強制執行全域 GPG 簽名檢查(請參閱 dnf."
++"conf(5) 的「gpgcheck」以了解如何隱藏此則訊息)"
+ 
+-#: dnf/cli/cli.py:1020
++#: dnf/cli/cli.py:922
+ msgid "Config file \"{}\" does not exist"
+ msgstr "「{}」組態檔不存在"
+ 
+-#: dnf/cli/cli.py:1040
++#: dnf/cli/cli.py:942
+ msgid ""
+ "Unable to detect release version (use '--releasever' to specify release "
+ "version)"
+ msgstr "無法偵測發行版本(使用「--releasever」指定發行版本)"
+ 
+-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471
++#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
+ msgid "argument {}: not allowed with argument {}"
+ msgstr "引數 {}:不允許與 {} 引數使用"
+ 
+-#: dnf/cli/cli.py:1134
++#: dnf/cli/cli.py:1023
+ #, python-format
+ msgid "Command \"%s\" already defined"
+ msgstr "指令「%s」已經定義"
+ 
+-#: dnf/cli/cli.py:1154
++#: dnf/cli/cli.py:1043
+ msgid "Excludes in dnf.conf: "
+ msgstr "排除於 dnf.conf: "
+ 
+-#: dnf/cli/cli.py:1157
++#: dnf/cli/cli.py:1046
+ msgid "Includes in dnf.conf: "
+ msgstr "包含於 dnf.conf: "
+ 
+-#: dnf/cli/cli.py:1160
++#: dnf/cli/cli.py:1049
+ msgid "Excludes in repo "
+ msgstr "排除於軟體庫 "
+ 
+-#: dnf/cli/cli.py:1163
++#: dnf/cli/cli.py:1052
+ msgid "Includes in repo "
+ msgstr "包含於軟體庫 "
+ 
+@@ -813,7 +794,8 @@ msgstr "您的 RPMDB 可能損壞,可執行「%s」可能會修復這個問題
+ #, python-brace-format
+ msgid ""
+ "You have enabled checking of packages via GPG keys. This is a good thing.\n"
+-"However, you do not have any GPG public keys installed. You need to download\n"
++"However, you do not have any GPG public keys installed. You need to "
++"download\n"
+ "the keys for packages you wish to install and install them.\n"
+ "You can do that by running the command:\n"
+ "    rpm --import public.gpg.key\n"
+@@ -847,38 +829,38 @@ msgstr "有問題的軟體庫:%s"
+ msgid "display details about a package or group of packages"
+ msgstr "顯示軟體包中的軟體包或群組詳細資訊"
+ 
+-#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:740
++#: dnf/cli/commands/__init__.py:168 dnf/cli/commands/__init__.py:735
+ msgid "show all packages (default)"
+ msgstr "顯示所有軟體包(預設值)"
+ 
+-#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743
+-#: dnf/cli/commands/module.py:351
++#: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:738
++#: dnf/cli/commands/module.py:376
+ msgid "show only available packages"
+ msgstr "只顯示可用的軟體包"
+ 
+-#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:746
++#: dnf/cli/commands/__init__.py:174 dnf/cli/commands/__init__.py:741
+ msgid "show only installed packages"
+ msgstr "只顯示已安裝的軟體包"
+ 
+-#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:749
++#: dnf/cli/commands/__init__.py:177 dnf/cli/commands/__init__.py:744
+ msgid "show only extras packages"
+ msgstr "只顯示附加的軟體包"
+ 
+ #: dnf/cli/commands/__init__.py:180 dnf/cli/commands/__init__.py:183
+-#: dnf/cli/commands/__init__.py:752 dnf/cli/commands/__init__.py:755
++#: dnf/cli/commands/__init__.py:747 dnf/cli/commands/__init__.py:750
+ msgid "show only upgrades packages"
+ msgstr "只顯示要升級的軟體包"
+ 
+-#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:758
++#: dnf/cli/commands/__init__.py:186 dnf/cli/commands/__init__.py:753
+ msgid "show only autoremove packages"
+ msgstr "只顯示要被自動移除的軟體包"
+ 
+-#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:761
++#: dnf/cli/commands/__init__.py:189 dnf/cli/commands/__init__.py:756
+ msgid "show only recently changed packages"
+ msgstr "只顯示最近變動的軟體包"
+ 
+ #: dnf/cli/commands/__init__.py:190 dnf/cli/commands/__init__.py:265
+-#: dnf/cli/commands/__init__.py:774 dnf/cli/commands/autoremove.py:48
++#: dnf/cli/commands/__init__.py:769 dnf/cli/commands/autoremove.py:48
+ #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44
+ #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46
+ msgid "PACKAGE"
+@@ -916,70 +898,70 @@ msgstr "檢查可用的軟體包升級"
+ msgid "show changelogs before update"
+ msgstr "更新前顯示變更記錄"
+ 
+-#: dnf/cli/commands/__init__.py:361 dnf/cli/commands/__init__.py:414
+-#: dnf/cli/commands/__init__.py:470
++#: dnf/cli/commands/__init__.py:356 dnf/cli/commands/__init__.py:409
++#: dnf/cli/commands/__init__.py:465
+ msgid "No package available."
+ msgstr "沒有可用的軟體包。"
+ 
+-#: dnf/cli/commands/__init__.py:376
++#: dnf/cli/commands/__init__.py:371
+ msgid "No packages marked for install."
+ msgstr "沒有軟體包標記為安裝。"
+ 
+-#: dnf/cli/commands/__init__.py:412
++#: dnf/cli/commands/__init__.py:407
+ msgid "No package installed."
+ msgstr "沒有已安裝的軟體包。"
+ 
+-#: dnf/cli/commands/__init__.py:432 dnf/cli/commands/__init__.py:489
++#: dnf/cli/commands/__init__.py:427 dnf/cli/commands/__init__.py:484
+ #: dnf/cli/commands/reinstall.py:91
+ #, python-format
+ msgid " (from %s)"
+ msgstr " (來自 %s)"
+ 
+-#: dnf/cli/commands/__init__.py:433 dnf/cli/commands/__init__.py:490
++#: dnf/cli/commands/__init__.py:428 dnf/cli/commands/__init__.py:485
+ #: dnf/cli/commands/reinstall.py:92 dnf/cli/commands/remove.py:105
+ #, python-format
+ msgid "Installed package %s%s not available."
+ msgstr "已安裝的軟體包 %s%s 不可用。"
+ 
+-#: dnf/cli/commands/__init__.py:467 dnf/cli/commands/__init__.py:576
+-#: dnf/cli/commands/__init__.py:619 dnf/cli/commands/__init__.py:666
++#: dnf/cli/commands/__init__.py:462 dnf/cli/commands/__init__.py:571
++#: dnf/cli/commands/__init__.py:614 dnf/cli/commands/__init__.py:661
+ msgid "No package installed from the repository."
+ msgstr "沒有來自這個軟體庫的已安裝軟體包。"
+ 
+-#: dnf/cli/commands/__init__.py:530 dnf/cli/commands/reinstall.py:101
++#: dnf/cli/commands/__init__.py:525 dnf/cli/commands/reinstall.py:101
+ msgid "No packages marked for reinstall."
+ msgstr "沒有軟體包標記為要重新安裝。"
+ 
+-#: dnf/cli/commands/__init__.py:716 dnf/cli/commands/upgrade.py:89
++#: dnf/cli/commands/__init__.py:711 dnf/cli/commands/upgrade.py:84
+ msgid "No packages marked for upgrade."
+ msgstr "沒有軟體包為升級標記。"
+ 
+-#: dnf/cli/commands/__init__.py:726
++#: dnf/cli/commands/__init__.py:721
+ msgid "run commands on top of all packages in given repository"
+ msgstr "在提供的軟體庫於所有軟體包的頂端執行指令"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "REPOID"
+ msgstr "REPOID"
+ 
+-#: dnf/cli/commands/__init__.py:765
++#: dnf/cli/commands/__init__.py:760
+ msgid "Repository ID"
+ msgstr "軟體庫 ID"
+ 
+-#: dnf/cli/commands/__init__.py:777 dnf/cli/commands/mark.py:48
++#: dnf/cli/commands/__init__.py:772 dnf/cli/commands/mark.py:48
+ #: dnf/cli/commands/updateinfo.py:108
+ msgid "Package specification"
+ msgstr "軟體包規格"
+ 
+-#: dnf/cli/commands/__init__.py:801
++#: dnf/cli/commands/__init__.py:796
+ msgid "display a helpful usage message"
+ msgstr "顯示用法說明訊息"
+ 
+-#: dnf/cli/commands/__init__.py:805
++#: dnf/cli/commands/__init__.py:800
+ msgid "COMMAND"
+ msgstr "指令"
+ 
+-#: dnf/cli/commands/__init__.py:806
++#: dnf/cli/commands/__init__.py:801
+ #, python-brace-format
+ msgid "{prog} command to get help for"
+ msgstr "要取得說明的 {prog} 命令"
+@@ -1150,7 +1132,11 @@ msgid "Waiting for process with pid %d to finish."
+ msgstr "正在等候 PID %d 處理程序完成。"
+ 
+ #: dnf/cli/commands/deplist.py:32
+-msgid "List package's dependencies and what packages provide them"
++#, fuzzy
++#| msgid "List package's dependencies and what packages provide them"
++msgid ""
++"[deprecated, use repoquery --deplist] List package's dependencies and what "
++"packages provide them"
+ msgstr "列出軟體包的依賴關係以及由何軟體包提供"
+ 
+ #: dnf/cli/commands/distrosync.py:32
+@@ -1177,78 +1163,78 @@ msgstr "顯示或使用群組資訊"
+ msgid "No group data available for configured repositories."
+ msgstr "設定的軟體庫沒有可用的群組資料。"
+ 
+-#: dnf/cli/commands/group.py:129
++#: dnf/cli/commands/group.py:126
+ #, python-format
+ msgid "Warning: Group %s does not exist."
+ msgstr "警告: %s 群組不存在。"
+ 
+-#: dnf/cli/commands/group.py:170
++#: dnf/cli/commands/group.py:167
+ msgid "Warning: No groups match:"
+ msgstr "警告:沒有符合的群組:"
+ 
+-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193
+-#: dnf/cli/output.py:1226
++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190
++#: dnf/cli/output.py:1139
+ msgid "<name-unset>"
+ msgstr "<名稱未設定>"
+ 
+-#: dnf/cli/commands/group.py:199
++#: dnf/cli/commands/group.py:196
+ msgid "Available Environment Groups:"
+ msgstr "可用的環境群組:"
+ 
+-#: dnf/cli/commands/group.py:201
++#: dnf/cli/commands/group.py:198
+ msgid "Installed Environment Groups:"
+ msgstr "已安裝的環境群組:"
+ 
+-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294
++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291
+ msgid "Installed Groups:"
+ msgstr "已安裝的群組:"
+ 
+-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301
++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298
+ msgid "Installed Language Groups:"
+ msgstr "已安裝的語言群組:"
+ 
+-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308
++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305
+ msgid "Available Groups:"
+ msgstr "可用的群組:"
+ 
+-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315
++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312
+ msgid "Available Language Groups:"
+ msgstr "可用的語言群組:"
+ 
+-#: dnf/cli/commands/group.py:322
++#: dnf/cli/commands/group.py:319
+ msgid "include optional packages from group"
+ msgstr "包含群組提供的選用軟體包"
+ 
+-#: dnf/cli/commands/group.py:325
++#: dnf/cli/commands/group.py:322
+ msgid "show also hidden groups"
+ msgstr "也顯示隱藏群組"
+ 
+-#: dnf/cli/commands/group.py:327
++#: dnf/cli/commands/group.py:324
+ msgid "show only installed groups"
+ msgstr "僅顯示已安裝的群組"
+ 
+-#: dnf/cli/commands/group.py:329
++#: dnf/cli/commands/group.py:326
+ msgid "show only available groups"
+ msgstr "僅顯示可用的群組"
+ 
+-#: dnf/cli/commands/group.py:331
++#: dnf/cli/commands/group.py:328
+ msgid "show also ID of groups"
+ msgstr "亦顯示群組 ID"
+ 
+-#: dnf/cli/commands/group.py:333
++#: dnf/cli/commands/group.py:330
+ msgid "available subcommands: {} (default), {}"
+ msgstr "可用的子命令:{} (預設)、{}"
+ 
+-#: dnf/cli/commands/group.py:337
++#: dnf/cli/commands/group.py:334
+ msgid "argument for group subcommand"
+ msgstr "群組子命令的引數"
+ 
+-#: dnf/cli/commands/group.py:346
++#: dnf/cli/commands/group.py:343
+ #, python-format
+ msgid "Invalid groups sub-command, use: %s."
+ msgstr "無效的群組子指令,請用:%s。"
+ 
+-#: dnf/cli/commands/group.py:403
++#: dnf/cli/commands/group.py:398
+ msgid "Unable to find a mandatory group package."
+ msgstr "找不到強制群組軟體包。"
+ 
+@@ -1262,8 +1248,8 @@ msgstr ""
+ 
+ #: dnf/cli/commands/history.py:68
+ msgid ""
+-"For the replay command, don't check for installed packages matching those in"
+-" transaction"
++"For the replay command, don't check for installed packages matching those in "
++"transaction"
+ msgstr ""
+ 
+ #: dnf/cli/commands/history.py:71
+@@ -1274,8 +1260,8 @@ msgstr ""
+ 
+ #: dnf/cli/commands/history.py:74
+ msgid ""
+-"For the replay command, skip packages that are not available or have missing"
+-" dependencies"
++"For the replay command, skip packages that are not available or have missing "
++"dependencies"
+ msgstr ""
+ 
+ #: dnf/cli/commands/history.py:94
+@@ -1298,30 +1284,58 @@ msgstr "沒有提供處理事項識別碼或軟體包名稱。"
+ msgid "More than one argument given as transaction file name."
+ msgstr "移除處理事項檔案 %s 失敗"
+ 
+-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126
++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
+ msgid "No transaction ID or package name given."
+ msgstr "沒有提供處理事項識別碼或軟體包名稱。"
+ 
+-#: dnf/cli/commands/history.py:138
++#: dnf/cli/commands/history.py:142
+ #, python-format
+ msgid "You don't have access to the history DB: %s"
+ msgstr "您沒有權限存取歷史紀錄資料庫:%s"
+ 
+-#: dnf/cli/commands/history.py:147
++#: dnf/cli/commands/history.py:151
+ #, python-format
+ msgid ""
+-"Cannot undo transaction %s, doing so would result in an inconsistent package"
+-" database."
++"Cannot undo transaction %s, doing so would result in an inconsistent package "
++"database."
+ msgstr "無法復原處理事項 %s,這樣做會導致軟體包資料庫不一致。"
+ 
+-#: dnf/cli/commands/history.py:152
++#: dnf/cli/commands/history.py:156
+ #, python-format
+ msgid ""
+ "Cannot rollback transaction %s, doing so would result in an inconsistent "
+ "package database."
+ msgstr "無法回滾處理事項 %s,這樣做會導致軟體包資料庫不一致。"
+ 
+-#: dnf/cli/commands/history.py:222
++#: dnf/cli/commands/history.py:175
++msgid "No transaction ID given"
++msgstr "沒有提供處理事項識別碼"
++
++#: dnf/cli/commands/history.py:179
++#, fuzzy, python-brace-format
++#| msgid "TransactionItem not found for key: {}"
++msgid "Transaction ID \"{0}\" not found."
++msgstr "找不到下述鍵的 TransactionItem:{}"
++
++#: dnf/cli/commands/history.py:185
++msgid "Found more than one transaction ID!"
++msgstr "找到超過一個處理事項識別碼!"
++
++#: dnf/cli/commands/history.py:203
++#, python-format
++msgid "Transaction history is incomplete, before %u."
++msgstr "在 %u 之前,處理事項歷史紀錄不完整。"
++
++#: dnf/cli/commands/history.py:205
++#, python-format
++msgid "Transaction history is incomplete, after %u."
++msgstr "在 %u 之後,處理事項歷史紀錄不完整。"
++
++#: dnf/cli/commands/history.py:256
++msgid "No packages to list"
++msgstr "沒有要列出的軟體包"
++
++#: dnf/cli/commands/history.py:279
+ msgid ""
+ "Invalid transaction ID range definition '{}'.\n"
+ "Use '<transaction-id>..<transaction-id>'."
+@@ -1329,7 +1343,7 @@ msgstr ""
+ "無效的處理事項識別碼範圍定義「{}」。\n"
+ "使用「<transaction-id>..<transaction-id>」。"
+ 
+-#: dnf/cli/commands/history.py:226
++#: dnf/cli/commands/history.py:283
+ msgid ""
+ "Can't convert '{}' to transaction ID.\n"
+ "Use '<number>', 'last', 'last-<number>'."
+@@ -1337,39 +1351,32 @@ msgstr ""
+ "無法將「{}」轉為處理事項 ID。\n"
+ "請使用 '<數字>'、'last'、'last-<數字>'。"
+ 
+-#: dnf/cli/commands/history.py:255
++#: dnf/cli/commands/history.py:312
+ msgid "No transaction which manipulates package '{}' was found."
+ msgstr "找不到操作「{}」軟體包的處理事項。"
+ 
+-#: dnf/cli/commands/history.py:305
+-#, fuzzy, python-brace-format
+-#| msgid "TransactionItem not found for key: {}"
+-msgid "Transaction ID \"{id}\" not found."
+-msgstr "找不到下述鍵的 TransactionItem:{}"
+-
+-#: dnf/cli/commands/history.py:313
++#: dnf/cli/commands/history.py:357
+ msgid "{} exists, overwrite?"
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:316
++#: dnf/cli/commands/history.py:360
+ msgid "Not overwriting {}, exiting."
+ msgstr ""
+ 
+-#: dnf/cli/commands/history.py:323
++#: dnf/cli/commands/history.py:367
+ #, fuzzy
+ #| msgid "Transaction failed"
+ msgid "Transaction saved to {}."
+ msgstr "處理事項失敗"
+ 
+-#: dnf/cli/commands/history.py:326
++#: dnf/cli/commands/history.py:370
+ #, fuzzy
+ #| msgid "Errors occurred during transaction."
+ msgid "Error storing transaction: {}"
+ msgstr "在處理事項時發生錯誤。"
+ 
+-#: dnf/cli/commands/history.py:350
+-msgid ""
+-"Warning, the following problems occurred while replaying the transaction:"
++#: dnf/cli/commands/history.py:386
++msgid "Warning, the following problems occurred while running a transaction:"
+ msgstr ""
+ 
+ #: dnf/cli/commands/install.py:47
+@@ -1389,7 +1396,7 @@ msgstr "找不到符合項目"
+ msgid "Not a valid rpm file path: %s"
+ msgstr "無效 RPM 檔案位址:%s"
+ 
+-#: dnf/cli/commands/install.py:167
++#: dnf/cli/commands/install.py:166
+ #, python-brace-format
+ msgid "There are following alternatives for \"{0}\": {1}"
+ msgstr "以下可以用來替代「{0}」:{1}"
+@@ -1432,7 +1439,7 @@ msgid "%s marked as group installed."
+ msgstr "%s 標記為群組安裝。"
+ 
+ #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129
+-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279
++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282
+ msgid "Error:"
+ msgstr "錯誤:"
+ 
+@@ -1441,89 +1448,93 @@ msgstr "錯誤:"
+ msgid "Package %s is not installed."
+ msgstr "%s 軟體包尚未安裝。"
+ 
+-#: dnf/cli/commands/module.py:51
++#: dnf/cli/commands/module.py:54
+ msgid ""
+-"Only module name, stream, architecture or profile is used. Ignoring unneeded"
+-" information in argument: '{}'"
++"Only module name, stream, architecture or profile is used. Ignoring unneeded "
++"information in argument: '{}'"
+ msgstr "只使用模組名稱、串流、架構或設定檔。忽略引數中的非必要資訊:「{}」"
+ 
+-#: dnf/cli/commands/module.py:77
++#: dnf/cli/commands/module.py:80
+ msgid "list all module streams, profiles and states"
+ msgstr "列出所有的模組串流、設定檔及狀態"
+ 
+-#: dnf/cli/commands/module.py:105 dnf/cli/commands/module.py:128
++#: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
+ msgid "No matching Modules to list"
+ msgstr "沒有要列出的符合模組"
+ 
+-#: dnf/cli/commands/module.py:111
++#: dnf/cli/commands/module.py:114
+ msgid "print detailed information about a module"
+ msgstr "輸出詳細模組資訊"
+ 
+-#: dnf/cli/commands/module.py:133
++#: dnf/cli/commands/module.py:136
+ msgid "enable a module stream"
+ msgstr "啟用模組串流"
+ 
+-#: dnf/cli/commands/module.py:157
++#: dnf/cli/commands/module.py:160
+ msgid "disable a module with all its streams"
+ msgstr "停用模組及其所有串流"
+ 
+-#: dnf/cli/commands/module.py:181
++#: dnf/cli/commands/module.py:184
+ msgid "reset a module"
+ msgstr "重設模組"
+ 
+-#: dnf/cli/commands/module.py:202
++#: dnf/cli/commands/module.py:205
+ msgid "install a module profile including its packages"
+ msgstr "安裝包含其軟體的模組設定檔"
+ 
+-#: dnf/cli/commands/module.py:223
++#: dnf/cli/commands/module.py:226
+ msgid "update packages associated with an active stream"
+ msgstr "更新與作用中串流關聯的軟體包"
+ 
+-#: dnf/cli/commands/module.py:240
++#: dnf/cli/commands/module.py:243
+ msgid "remove installed module profiles and their packages"
+ msgstr "移除安裝的模組設定檔及其軟體包"
+ 
+-#: dnf/cli/commands/module.py:264
++#: dnf/cli/commands/module.py:267
+ msgid "Package {} belongs to multiple modules, skipping"
+ msgstr "{} 軟體包屬於多個模組,跳過"
+ 
+-#: dnf/cli/commands/module.py:277
++#: dnf/cli/commands/module.py:280
++msgid "switch a module to a stream and distrosync rpm packages"
++msgstr ""
++
++#: dnf/cli/commands/module.py:302
+ msgid "list modular packages"
+ msgstr "列出模組化軟體包"
+ 
+-#: dnf/cli/commands/module.py:292
++#: dnf/cli/commands/module.py:317
+ msgid "list packages belonging to a module"
+ msgstr "列出屬於模組的軟體包"
+ 
+-#: dnf/cli/commands/module.py:327
++#: dnf/cli/commands/module.py:352
+ msgid "Interact with Modules."
+ msgstr "與模組互動。"
+ 
+-#: dnf/cli/commands/module.py:340
++#: dnf/cli/commands/module.py:365
+ msgid "show only enabled modules"
+ msgstr "只顯示已啟用的模組"
+ 
+-#: dnf/cli/commands/module.py:343
++#: dnf/cli/commands/module.py:368
+ msgid "show only disabled modules"
+ msgstr "只顯示已停用的模組"
+ 
+-#: dnf/cli/commands/module.py:346
++#: dnf/cli/commands/module.py:371
+ msgid "show only installed modules or packages"
+ msgstr "只顯示安裝的模組或軟體包"
+ 
+-#: dnf/cli/commands/module.py:349
++#: dnf/cli/commands/module.py:374
+ msgid "show profile content"
+ msgstr "顯示設定檔內容"
+ 
+-#: dnf/cli/commands/module.py:354
++#: dnf/cli/commands/module.py:379
+ msgid "remove all modular packages"
+ msgstr "移除所有模組化軟體包"
+ 
+-#: dnf/cli/commands/module.py:364
++#: dnf/cli/commands/module.py:389
+ msgid "Module specification"
+ msgstr "模組規格"
+ 
+-#: dnf/cli/commands/module.py:386
++#: dnf/cli/commands/module.py:411
+ msgid "{} {} {}: too few arguments"
+ msgstr "{} {} {}:引數過少"
+ 
+@@ -1712,7 +1723,8 @@ msgstr "搜尋軟體包符合的關鍵詞"
+ msgid ""
+ "Query all packages (shorthand for repoquery '*' or repoquery without "
+ "argument)"
+-msgstr "查詢所有軟體包(為軟體包查詢「*」或不包含引數的軟體包查詢的 shorthand)"
++msgstr ""
++"查詢所有軟體包(為軟體包查詢「*」或不包含引數的軟體包查詢的 shorthand)"
+ 
+ #: dnf/cli/commands/repoquery.py:124
+ msgid "Query all versions of packages (default)"
+@@ -1798,7 +1810,8 @@ msgstr "在相應的來源 RPM 上執行"
+ msgid ""
+ "show N latest packages for a given name.arch (or latest but N if N is "
+ "negative)"
+-msgstr "為提供的 name.arch 顯示 N 個最新的軟體包(或最新、除了 N 如果 N 是否定的)"
++msgstr ""
++"為提供的 name.arch 顯示 N 個最新的軟體包(或最新、除了 N 如果 N 是否定的)"
+ 
+ #: dnf/cli/commands/repoquery.py:177
+ msgid "list also packages of inactive module streams"
+@@ -1823,9 +1836,11 @@ msgstr "顯示軟體包的變更紀錄"
+ #: dnf/cli/commands/repoquery.py:194
+ #, python-format, python-brace-format
+ msgid ""
+-"display format for listing packages: \"%%{name} %%{version} ...\", use "
+-"--querytags to view full tag list"
+-msgstr "軟體包清單的顯示格式:「%%{name} %%{version} ...」,使用 --querytags 檢視完整標籤清單"
++"display format for listing packages: \"%%{name} %%{version} ...\", use --"
++"querytags to view full tag list"
++msgstr ""
++"軟體包清單的顯示格式:「%%{name} %%{version} ...」,使用 --querytags 檢視完整"
++"標籤清單"
+ 
+ #: dnf/cli/commands/repoquery.py:198
+ msgid "show available tags to use with --queryformat"
+@@ -1835,7 +1850,8 @@ msgstr "與 --queryformat 顯示可供使用的標籤"
+ msgid ""
+ "use name-epoch:version-release.architecture format for displaying found "
+ "packages (default)"
+-msgstr "使用 name-epoch:version-release.architecture 格式來顯示找到的軟體包(預設值)"
++msgstr ""
++"使用 name-epoch:version-release.architecture 格式來顯示找到的軟體包(預設值)"
+ 
+ #: dnf/cli/commands/repoquery.py:205
+ msgid ""
+@@ -1902,8 +1918,8 @@ msgid ""
+ "running %%pre and %%post scriptlets. If the package is installed display "
+ "capabilities that is depends for %%pre, %%post, %%preun and %%postun."
+ msgstr ""
+-"如果未安裝軟體包,則顯示執行 %%pre 及 %%post 小令稿所依賴的功能。如果已安裝軟體包,則顯示執行 %%pre、%%post、%%preun "
+-"以及 %%postun 小令稿所依賴的功能。"
++"如果未安裝軟體包,則顯示執行 %%pre 及 %%post 小令稿所依賴的功能。如果已安裝軟"
++"體包,則顯示執行 %%pre、%%post、%%preun 以及 %%postun 小令稿所依賴的功能。"
+ 
+ #: dnf/cli/commands/repoquery.py:243
+ msgid "Display capabilities that the package suggests."
+@@ -1952,23 +1968,23 @@ msgstr "要搜尋的關鍵詞:"
+ 
+ #: dnf/cli/commands/repoquery.py:295
+ msgid ""
+-"Option '--resolve' has to be used together with one of the '--conflicts', '"
+-"--depends', '--enhances', '--provides', '--recommends', '--requires', '--"
++"Option '--resolve' has to be used together with one of the '--conflicts', '--"
++"depends', '--enhances', '--provides', '--recommends', '--requires', '--"
+ "requires-pre', '--suggests' or '--supplements' options"
+ msgstr ""
+-"選項 '--resolve' 需要與 '--conflicts', '--depends', '--enhances', '--provides', '"
+-"--recommends', '--requires', '--requires-pre', '--suggests' 或 '--"
+-"supplements' 選項一起使用"
++"選項 '--resolve' 需要與 '--conflicts', '--depends', '--enhances', '--"
++"provides', '--recommends', '--requires', '--requires-pre', '--suggests' 或 "
++"'--supplements' 選項一起使用"
+ 
+ #: dnf/cli/commands/repoquery.py:305
+ msgid ""
+ "Option '--recursive' has to be used with '--whatrequires <REQ>' (optionally "
+-"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> "
+-"--resolve'"
++"with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> --"
++"resolve'"
+ msgstr ""
+-"「--recursive」選項必須與「--whatrequires "
+-"<REQ>」一起使用(可以選擇與「--alldeps」一起使用,但不可以是「--exactdeps」),或是與「--requires <REQ> "
+-"--resolve」一起使用"
++"「--recursive」選項必須與「--whatrequires <REQ>」一起使用(可以選擇與「--"
++"alldeps」一起使用,但不可以是「--exactdeps」),或是與「--requires <REQ> --"
++"resolve」一起使用"
+ 
+ #: dnf/cli/commands/repoquery.py:312
+ msgid "argument {} requires --whatrequires or --whatdepends option"
+@@ -1982,13 +1998,17 @@ msgstr "軟體包 {} 不包含任何檔案"
+ #, python-brace-format
+ msgid ""
+ "No valid switch specified\n"
+-"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "description:\n"
+ "  For the given packages print a tree of thepackages."
+ msgstr ""
+ "未指定有效的開關選項\n"
+-"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
++"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
++"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
++"tree]\n"
+ "\n"
+ "描述:\n"
+ "  列出提供軟體包的樹狀圖。"
+@@ -2009,27 +2029,26 @@ msgstr "KEYWORD"
+ msgid "Keyword to search for"
+ msgstr "要搜尋的關鍵字"
+ 
+-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506
++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
+ msgctxt "long"
+ msgid "Name"
+ msgstr "名稱"
+ 
+-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559
++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513
+ msgctxt "long"
+ msgid "Summary"
+ msgstr "摘要"
+ 
+-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569
++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523
+ msgctxt "long"
+ msgid "Description"
+ msgstr "描述"
+ 
+-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562
++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516
+ msgid "URL"
+ msgstr "URL"
+ 
+-#. TRANSLATORS: separator used between package attributes (eg. Name & Summary
+-#. & URL)
++#. TRANSLATORS: separator used between package attributes (eg. Name & Summary & URL)
+ #: dnf/cli/commands/search.py:76
+ msgid " & "
+ msgstr " & "
+@@ -2167,16 +2186,16 @@ msgstr ""
+ "run                      解析並執行處理事項集\n"
+ "exit (or quit)           離開 Shell"
+ 
+-#: dnf/cli/commands/shell.py:259
++#: dnf/cli/commands/shell.py:262
+ #, python-format
+ msgid "Error: Cannot open %s for reading"
+ msgstr "錯誤:無法開啟 %s 供讀取"
+ 
+-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187
++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187
+ msgid "Complete!"
+ msgstr "完成!"
+ 
+-#: dnf/cli/commands/shell.py:291
++#: dnf/cli/commands/shell.py:294
+ msgid "Leaving Shell"
+ msgstr "離開 Shell"
+ 
+@@ -2367,8 +2386,8 @@ msgstr "嚴重"
+ msgid "Files"
+ msgstr "檔案"
+ 
+-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499
+-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1654
++#: dnf/cli/output.py:1656 dnf/util.py:617
+ msgid "Installed"
+ msgstr "已安裝"
+ 
+@@ -2547,7 +2566,9 @@ msgstr "錯誤輸出等級"
+ msgid ""
+ "enables {prog}'s obsoletes processing logic for upgrade or display "
+ "capabilities that the package obsoletes for info, list and repoquery"
+-msgstr "啟用 {prog} 中 upgrade 的棄用處理邏輯,或啟用 info、list 和 repoquery 顯示軟體包棄用的功能"
++msgstr ""
++"啟用 {prog} 中 upgrade 的棄用處理邏輯,或啟用 info、list 和 repoquery 顯示軟"
++"體包棄用的功能"
+ 
+ #: dnf/cli/option_parser.py:251
+ msgid "debugging output level for rpm"
+@@ -2569,8 +2590,8 @@ msgstr "啟用額外軟體庫。列出選項。支援 Glob,可多次指定。"
+ 
+ #: dnf/cli/option_parser.py:266
+ msgid ""
+-"Disable repositories. List option. Supports globs, can be specified multiple"
+-" times."
++"Disable repositories. List option. Supports globs, can be specified multiple "
++"times."
+ msgstr "停用軟體庫。列出選項。支援 Glob,可多次指定。"
+ 
+ #: dnf/cli/option_parser.py:270
+@@ -2599,7 +2620,8 @@ msgstr "停用 excludepkgs"
+ msgid ""
+ "label and path to an additional repository to use (same path as in a "
+ "baseurl), can be specified multiple times."
+-msgstr "要使用之額外軟體庫的標籤與路徑(跟基礎 URL 中的路徑一致),可多次指定。"
++msgstr ""
++"要使用之額外軟體庫的標籤與路徑(跟基礎 URL 中的路徑一致),可多次指定。"
+ 
+ #: dnf/cli/option_parser.py:297
+ msgid "disable removal of dependencies that are no longer used"
+@@ -2689,13 +2711,13 @@ msgstr "無法編碼「%s」引數:%s"
+ #. Translators: This is abbreviated 'Name'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:505
++#: dnf/cli/output.py:459
+ msgctxt "short"
+ msgid "Name"
+ msgstr "名稱"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:511
++#: dnf/cli/output.py:465
+ msgid "Epoch"
+ msgstr "Epoch"
+ 
+@@ -2703,38 +2725,38 @@ msgstr "Epoch"
+ #. use the full (unabbreviated) term 'Version' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:512 dnf/cli/output.py:1335
++#: dnf/cli/output.py:466 dnf/cli/output.py:1248
+ msgctxt "short"
+ msgid "Version"
+ msgstr "版本"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Version'.
+-#: dnf/cli/output.py:513 dnf/cli/output.py:1337
++#: dnf/cli/output.py:467 dnf/cli/output.py:1250
+ msgctxt "long"
+ msgid "Version"
+ msgstr "版本"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:516
++#: dnf/cli/output.py:470
+ msgid "Release"
+ msgstr "發行版"
+ 
+ #. Translators: This is abbreviated 'Architecture', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:517 dnf/cli/output.py:1326
++#: dnf/cli/output.py:471 dnf/cli/output.py:1239
+ msgctxt "short"
+ msgid "Arch"
+ msgstr "架構"
+ 
+ #. Translators: This is the full word 'Architecture', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:518 dnf/cli/output.py:1329
++#: dnf/cli/output.py:472 dnf/cli/output.py:1242
+ msgctxt "long"
+ msgid "Architecture"
+ msgstr "架構"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Size'.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1352
++#: dnf/cli/output.py:474 dnf/cli/output.py:1265
+ msgctxt "long"
+ msgid "Size"
+ msgstr "大小"
+@@ -2743,32 +2765,32 @@ msgstr "大小"
+ #. not be longer than 5 characters. If the term 'Size' in your
+ #. language is not longer than 5 characters then you can use it
+ #. unabbreviated.
+-#: dnf/cli/output.py:520 dnf/cli/output.py:1350
++#: dnf/cli/output.py:474 dnf/cli/output.py:1263
+ msgctxt "short"
+ msgid "Size"
+ msgstr "大小"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:524
++#: dnf/cli/output.py:478
+ msgid "Source"
+ msgstr "來源"
+ 
+ #. Translators: This is abbreviated 'Repository', used when
+ #. we have not enough space to display the full word.
+-#: dnf/cli/output.py:525 dnf/cli/output.py:1341
++#: dnf/cli/output.py:479 dnf/cli/output.py:1254
+ msgctxt "short"
+ msgid "Repo"
+ msgstr "軟體庫"
+ 
+ #. Translators: This is the full word 'Repository', used when
+ #. we have enough space.
+-#: dnf/cli/output.py:526 dnf/cli/output.py:1344
++#: dnf/cli/output.py:480 dnf/cli/output.py:1257
+ msgctxt "long"
+ msgid "Repository"
+ msgstr "軟體庫"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:533
++#: dnf/cli/output.py:487
+ msgid "From repo"
+ msgstr "來源軟體庫"
+ 
+@@ -2776,312 +2798,308 @@ msgstr "來源軟體庫"
+ #. print(_("Committer   : %s") % ucd(pkg.committer))
+ #. print(_("Committime  : %s") % time.ctime(pkg.committime))
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:539
++#: dnf/cli/output.py:493
+ msgid "Packager"
+ msgstr "打包者"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:541
++#: dnf/cli/output.py:495
+ msgid "Buildtime"
+ msgstr "組建時間"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:545
++#: dnf/cli/output.py:499
+ msgid "Install time"
+ msgstr "安裝時間"
+ 
+ #. Translators: This message should be no longer than 12 chars.
+-#: dnf/cli/output.py:554
++#: dnf/cli/output.py:508
+ msgid "Installed by"
+ msgstr "安裝內容"
+ 
+ #. Translators: This is abbreviated 'Summary'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:558
++#: dnf/cli/output.py:512
+ msgctxt "short"
+ msgid "Summary"
+ msgstr "摘要"
+ 
+ #. Translators: This message should be no longer than 12 characters.
+-#: dnf/cli/output.py:564
++#: dnf/cli/output.py:518
+ msgid "License"
+ msgstr "授權"
+ 
+ #. Translators: This is abbreviated 'Description'. Should be no longer
+ #. than 12 characters. You can use the full version if it is short
+ #. enough in your language.
+-#: dnf/cli/output.py:568
++#: dnf/cli/output.py:522
+ msgctxt "short"
+ msgid "Description"
+ msgstr "描述"
+ 
+-#: dnf/cli/output.py:695
+-msgid "No packages to list"
+-msgstr "沒有要列出的軟體包"
+-
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "y"
+ msgstr "y"
+ 
+-#: dnf/cli/output.py:706
++#: dnf/cli/output.py:650
+ msgid "yes"
+ msgstr "yes"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "n"
+ msgstr "n"
+ 
+-#: dnf/cli/output.py:707
++#: dnf/cli/output.py:651
+ msgid "no"
+ msgstr "no"
+ 
+-#: dnf/cli/output.py:711
++#: dnf/cli/output.py:655
+ msgid "Is this ok [y/N]: "
+ msgstr "這樣可以嗎 [y/N]: "
+ 
+-#: dnf/cli/output.py:715
++#: dnf/cli/output.py:659
+ msgid "Is this ok [Y/n]: "
+ msgstr "這樣可以嗎 [Y/n]: "
+ 
+-#: dnf/cli/output.py:795
++#: dnf/cli/output.py:739
+ #, python-format
+ msgid "Group: %s"
+ msgstr "群組:%s"
+ 
+-#: dnf/cli/output.py:799
++#: dnf/cli/output.py:743
+ #, python-format
+ msgid " Group-Id: %s"
+ msgstr " 群組 ID:%s"
+ 
+-#: dnf/cli/output.py:801 dnf/cli/output.py:840
++#: dnf/cli/output.py:745 dnf/cli/output.py:784
+ #, python-format
+ msgid " Description: %s"
+ msgstr " 描述:%s"
+ 
+-#: dnf/cli/output.py:803
++#: dnf/cli/output.py:747
+ #, python-format
+ msgid " Language: %s"
+ msgstr " 語言:%s"
+ 
+-#: dnf/cli/output.py:806
++#: dnf/cli/output.py:750
+ msgid " Mandatory Packages:"
+ msgstr " 必備軟體包:"
+ 
+-#: dnf/cli/output.py:807
++#: dnf/cli/output.py:751
+ msgid " Default Packages:"
+ msgstr " 預設軟體包:"
+ 
+-#: dnf/cli/output.py:808
++#: dnf/cli/output.py:752
+ msgid " Optional Packages:"
+ msgstr " 選用軟體包:"
+ 
+-#: dnf/cli/output.py:809
++#: dnf/cli/output.py:753
+ msgid " Conditional Packages:"
+ msgstr " 條件軟體包:"
+ 
+-#: dnf/cli/output.py:834
++#: dnf/cli/output.py:778
+ #, python-format
+ msgid "Environment Group: %s"
+ msgstr "環境群組:%s"
+ 
+-#: dnf/cli/output.py:837
++#: dnf/cli/output.py:781
+ #, python-format
+ msgid " Environment-Id: %s"
+ msgstr " 環境 ID:%s"
+ 
+-#: dnf/cli/output.py:843
++#: dnf/cli/output.py:787
+ msgid " Mandatory Groups:"
+ msgstr " 必備群組:"
+ 
+-#: dnf/cli/output.py:844
++#: dnf/cli/output.py:788
+ msgid " Optional Groups:"
+ msgstr " 選用群組:"
+ 
+-#: dnf/cli/output.py:865
++#: dnf/cli/output.py:809
+ msgid "Matched from:"
+ msgstr "符合來源:"
+ 
+-#: dnf/cli/output.py:879
++#: dnf/cli/output.py:823
+ #, python-format
+ msgid "Filename    : %s"
+ msgstr "檔案名稱:%s"
+ 
+-#: dnf/cli/output.py:904
++#: dnf/cli/output.py:848
+ #, python-format
+ msgid "Repo        : %s"
+ msgstr "軟體庫  :%s"
+ 
+-#: dnf/cli/output.py:913
++#: dnf/cli/output.py:857
+ msgid "Description : "
+ msgstr "描述    : "
+ 
+-#: dnf/cli/output.py:917
++#: dnf/cli/output.py:861
+ #, python-format
+ msgid "URL         : %s"
+ msgstr "URL     :%s"
+ 
+-#: dnf/cli/output.py:921
++#: dnf/cli/output.py:865
+ #, python-format
+ msgid "License     : %s"
+ msgstr "授權    :%s"
+ 
+-#: dnf/cli/output.py:927
++#: dnf/cli/output.py:871
+ #, python-format
+ msgid "Provide    : %s"
+ msgstr "提供    :%s"
+ 
+-#: dnf/cli/output.py:947
++#: dnf/cli/output.py:891
+ #, python-format
+ msgid "Other       : %s"
+ msgstr "其他    :%s"
+ 
+-#: dnf/cli/output.py:996
++#: dnf/cli/output.py:940
+ msgid "There was an error calculating total download size"
+ msgstr "計算總下載大小時發生錯誤"
+ 
+-#: dnf/cli/output.py:1002
++#: dnf/cli/output.py:946
+ #, python-format
+ msgid "Total size: %s"
+ msgstr "總大小:%s"
+ 
+-#: dnf/cli/output.py:1005
++#: dnf/cli/output.py:949
+ #, python-format
+ msgid "Total download size: %s"
+ msgstr "總下載大小:%s"
+ 
+-#: dnf/cli/output.py:1008
++#: dnf/cli/output.py:952
+ #, python-format
+ msgid "Installed size: %s"
+ msgstr "安裝的大小:%s"
+ 
+-#: dnf/cli/output.py:1026
++#: dnf/cli/output.py:970
+ msgid "There was an error calculating installed size"
+ msgstr "計算安裝大小時發生錯誤"
+ 
+-#: dnf/cli/output.py:1030
++#: dnf/cli/output.py:974
+ #, python-format
+ msgid "Freed space: %s"
+ msgstr "釋放空間:%s"
+ 
+-#: dnf/cli/output.py:1039
++#: dnf/cli/output.py:983
+ msgid "Marking packages as installed by the group:"
+ msgstr "依據群組將軟體包標記為安裝:"
+ 
+-#: dnf/cli/output.py:1046
++#: dnf/cli/output.py:990
+ msgid "Marking packages as removed by the group:"
+ msgstr "依據群組將軟體包標記為移除:"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Group"
+ msgstr "群組"
+ 
+-#: dnf/cli/output.py:1056
++#: dnf/cli/output.py:1000
+ msgid "Packages"
+ msgstr "軟體包"
+ 
+-#: dnf/cli/output.py:1133
++#: dnf/cli/output.py:1046
+ msgid "Installing group/module packages"
+ msgstr "將安裝群組/模組軟體包"
+ 
+-#: dnf/cli/output.py:1134
++#: dnf/cli/output.py:1047
+ msgid "Installing group packages"
+ msgstr "將安裝軟體包群組"
+ 
+ #. TRANSLATORS: This is for a list of packages to be installed.
+-#: dnf/cli/output.py:1138
++#: dnf/cli/output.py:1051
+ msgctxt "summary"
+ msgid "Installing"
+ msgstr "安裝"
+ 
+ #. TRANSLATORS: This is for a list of packages to be upgraded.
+-#: dnf/cli/output.py:1140
++#: dnf/cli/output.py:1053
+ msgctxt "summary"
+ msgid "Upgrading"
+ msgstr "升級"
+ 
+ #. TRANSLATORS: This is for a list of packages to be reinstalled.
+-#: dnf/cli/output.py:1142
++#: dnf/cli/output.py:1055
+ msgctxt "summary"
+ msgid "Reinstalling"
+ msgstr "重裝"
+ 
+-#: dnf/cli/output.py:1144
++#: dnf/cli/output.py:1057
+ msgid "Installing dependencies"
+ msgstr "將安裝依賴項目"
+ 
+-#: dnf/cli/output.py:1145
++#: dnf/cli/output.py:1058
+ msgid "Installing weak dependencies"
+ msgstr "將安裝弱依賴項目"
+ 
+ #. TRANSLATORS: This is for a list of packages to be removed.
+-#: dnf/cli/output.py:1147
++#: dnf/cli/output.py:1060
+ msgid "Removing"
+ msgstr "移除"
+ 
+-#: dnf/cli/output.py:1148
++#: dnf/cli/output.py:1061
+ msgid "Removing dependent packages"
+ msgstr "正在移除相關的軟體包"
+ 
+-#: dnf/cli/output.py:1149
++#: dnf/cli/output.py:1062
+ msgid "Removing unused dependencies"
+ msgstr "正在移除無用的依賴軟體包"
+ 
+ #. TRANSLATORS: This is for a list of packages to be downgraded.
+-#: dnf/cli/output.py:1151
++#: dnf/cli/output.py:1064
+ msgctxt "summary"
+ msgid "Downgrading"
+ msgstr "降級"
+ 
+-#: dnf/cli/output.py:1176
++#: dnf/cli/output.py:1089
+ msgid "Installing module profiles"
+ msgstr "正在安裝模組設定檔"
+ 
+-#: dnf/cli/output.py:1185
++#: dnf/cli/output.py:1098
+ msgid "Disabling module profiles"
+ msgstr "正在停用模組設定檔"
+ 
+-#: dnf/cli/output.py:1194
++#: dnf/cli/output.py:1107
+ msgid "Enabling module streams"
+ msgstr "正在啟用模組串流"
+ 
+-#: dnf/cli/output.py:1202
++#: dnf/cli/output.py:1115
+ msgid "Switching module streams"
+ msgstr "正在切換模組串流"
+ 
+-#: dnf/cli/output.py:1210
++#: dnf/cli/output.py:1123
+ msgid "Disabling modules"
+ msgstr "正在停用模組"
+ 
+-#: dnf/cli/output.py:1218
++#: dnf/cli/output.py:1131
+ msgid "Resetting modules"
+ msgstr "正在重設模組"
+ 
+-#: dnf/cli/output.py:1230
++#: dnf/cli/output.py:1143
+ msgid "Installing Environment Groups"
+ msgstr "正在安裝環境群組"
+ 
+-#: dnf/cli/output.py:1237
++#: dnf/cli/output.py:1150
+ msgid "Upgrading Environment Groups"
+ msgstr "正在升級環境群組"
+ 
+-#: dnf/cli/output.py:1244
++#: dnf/cli/output.py:1157
+ msgid "Removing Environment Groups"
+ msgstr "正在移除環境群組"
+ 
+-#: dnf/cli/output.py:1251
++#: dnf/cli/output.py:1164
+ msgid "Installing Groups"
+ msgstr "正在安裝群組"
+ 
+-#: dnf/cli/output.py:1258
++#: dnf/cli/output.py:1171
+ msgid "Upgrading Groups"
+ msgstr "正在升級群組"
+ 
+-#: dnf/cli/output.py:1265
++#: dnf/cli/output.py:1178
+ msgid "Removing Groups"
+ msgstr "正在移除群組"
+ 
+-#: dnf/cli/output.py:1281
++#: dnf/cli/output.py:1194
+ #, python-format
+ msgid ""
+ "Skipping packages with conflicts:\n"
+@@ -3090,12 +3108,12 @@ msgstr ""
+ "略過有衝突的軟體包:\n"
+ "(加入「%s」到指令列中來強制升級)"
+ 
+-#: dnf/cli/output.py:1291
++#: dnf/cli/output.py:1204
+ #, python-format
+ msgid "Skipping packages with broken dependencies%s"
+ msgstr "略過依賴關係損壞的軟體包%s"
+ 
+-#: dnf/cli/output.py:1295
++#: dnf/cli/output.py:1208
+ msgid " or part of a group"
+ msgstr " 或群組的一部分"
+ 
+@@ -3103,22 +3121,22 @@ msgstr " 或群組的一部分"
+ #. use the full (unabbreviated) term 'Package' if you think that
+ #. the translation to your language is not too long and will
+ #. always fit to limited space.
+-#: dnf/cli/output.py:1320
++#: dnf/cli/output.py:1233
+ msgctxt "short"
+ msgid "Package"
+ msgstr "軟體包"
+ 
+ #. Translators: This is the full (unabbreviated) term 'Package'.
+-#: dnf/cli/output.py:1322
++#: dnf/cli/output.py:1235
+ msgctxt "long"
+ msgid "Package"
+ msgstr "軟體包"
+ 
+-#: dnf/cli/output.py:1371
++#: dnf/cli/output.py:1284
+ msgid "replacing"
+ msgstr "替換"
+ 
+-#: dnf/cli/output.py:1378
++#: dnf/cli/output.py:1291
+ #, python-format
+ msgid ""
+ "\n"
+@@ -3130,287 +3148,271 @@ msgstr ""
+ "%s\n"
+ 
+ #. TODO: remove
+-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933
++#: dnf/cli/output.py:1296 dnf/cli/output.py:1814 dnf/cli/output.py:1815
+ msgid "Install"
+ msgstr "安裝"
+ 
+-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941
++#: dnf/cli/output.py:1300 dnf/cli/output.py:1823
+ msgid "Upgrade"
+ msgstr "升級"
+ 
+-#: dnf/cli/output.py:1388
++#: dnf/cli/output.py:1301
+ msgid "Remove"
+ msgstr "移除"
+ 
+-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939
++#: dnf/cli/output.py:1303 dnf/cli/output.py:1821
+ msgid "Downgrade"
+ msgstr "降級"
+ 
+-#: dnf/cli/output.py:1391
++#: dnf/cli/output.py:1304
+ msgid "Skip"
+ msgstr "略過"
+ 
+-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416
++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329
+ msgid "Package"
+ msgid_plural "Packages"
+ msgstr[0] "軟體包"
+ 
+-#: dnf/cli/output.py:1418
++#: dnf/cli/output.py:1331
+ msgid "Dependent package"
+ msgid_plural "Dependent packages"
+ msgstr[0] "依賴的軟體包"
+ 
+-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942
+-msgid "Upgraded"
+-msgstr "已升級"
+-
+-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940
+-msgid "Downgraded"
+-msgstr "已降級"
+-
+-#: dnf/cli/output.py:1503
+-msgid "Reinstalled"
+-msgstr "已重裝"
+-
+-#: dnf/cli/output.py:1504
+-msgid "Skipped"
+-msgstr "跳過"
+-
+-#: dnf/cli/output.py:1505
+-msgid "Removed"
+-msgstr "已移除"
+-
+-#: dnf/cli/output.py:1508
+-msgid "Failed"
+-msgstr "失敗"
+-
+-#: dnf/cli/output.py:1559
++#: dnf/cli/output.py:1439
+ msgid "Total"
+ msgstr "總計"
+ 
+-#: dnf/cli/output.py:1587
++#: dnf/cli/output.py:1467
+ msgid "<unset>"
+ msgstr "<未設定>"
+ 
+-#: dnf/cli/output.py:1588
++#: dnf/cli/output.py:1468
+ msgid "System"
+ msgstr "系統"
+ 
+-#: dnf/cli/output.py:1638
++#: dnf/cli/output.py:1518
+ msgid "Command line"
+ msgstr "指令列"
+ 
+ #. TRANSLATORS: user names who executed transaction in history command output
+-#: dnf/cli/output.py:1649
++#: dnf/cli/output.py:1531
+ msgid "User name"
+ msgstr "使用者名稱"
+ 
+-#: dnf/cli/output.py:1651
++#: dnf/cli/output.py:1533
+ msgid "ID"
+ msgstr "ID"
+ 
+-#: dnf/cli/output.py:1653
++#: dnf/cli/output.py:1535
+ msgid "Date and time"
+ msgstr "日期與時間"
+ 
+-#: dnf/cli/output.py:1654
++#: dnf/cli/output.py:1536
+ msgid "Action(s)"
+ msgstr "動作"
+ 
+-#: dnf/cli/output.py:1655
++#: dnf/cli/output.py:1537
+ msgid "Altered"
+ msgstr "已變動"
+ 
+-#: dnf/cli/output.py:1698
++#: dnf/cli/output.py:1580
+ msgid "No transactions"
+ msgstr "無處理事項"
+ 
+-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715
++#: dnf/cli/output.py:1581 dnf/cli/output.py:1597
+ msgid "Failed history info"
+ msgstr "失敗的歷史資訊"
+ 
+-#: dnf/cli/output.py:1714
++#: dnf/cli/output.py:1596
+ msgid "No transaction ID, or package, given"
+ msgstr "沒有給予處理事項 ID、或軟體包"
+ 
+-#: dnf/cli/output.py:1772
++#: dnf/cli/output.py:1654
+ msgid "Erased"
+ msgstr "已抹除"
+ 
+-#: dnf/cli/output.py:1774
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1822 dnf/util.py:616
++msgid "Downgraded"
++msgstr "已降級"
++
++#: dnf/cli/output.py:1655 dnf/cli/output.py:1824 dnf/util.py:615
++msgid "Upgraded"
++msgstr "已升級"
++
++#: dnf/cli/output.py:1656
+ msgid "Not installed"
+ msgstr "未安裝"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Newer"
+ msgstr "新版"
+ 
+-#: dnf/cli/output.py:1775
++#: dnf/cli/output.py:1657
+ msgid "Older"
+ msgstr "舊版"
+ 
+-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825
++#: dnf/cli/output.py:1705 dnf/cli/output.py:1707
+ msgid "Transaction ID :"
+ msgstr "處理事項ID:"
+ 
+-#: dnf/cli/output.py:1828
++#: dnf/cli/output.py:1710
+ msgid "Begin time     :"
+ msgstr "開始時間  :"
+ 
+-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833
++#: dnf/cli/output.py:1713 dnf/cli/output.py:1715
+ msgid "Begin rpmdb    :"
+ msgstr "開始 rpmdb:"
+ 
+-#: dnf/cli/output.py:1839
++#: dnf/cli/output.py:1721
+ #, python-format
+ msgid "(%u seconds)"
+ msgstr "(%u 秒)"
+ 
+-#: dnf/cli/output.py:1841
++#: dnf/cli/output.py:1723
+ #, python-format
+ msgid "(%u minutes)"
+ msgstr "(%u 分鐘)"
+ 
+-#: dnf/cli/output.py:1843
++#: dnf/cli/output.py:1725
+ #, python-format
+ msgid "(%u hours)"
+ msgstr "(%u 小時)"
+ 
+-#: dnf/cli/output.py:1845
++#: dnf/cli/output.py:1727
+ #, python-format
+ msgid "(%u days)"
+ msgstr "(%u 天)"
+ 
+-#: dnf/cli/output.py:1846
++#: dnf/cli/output.py:1728
+ msgid "End time       :"
+ msgstr "結束時間  :"
+ 
+-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851
++#: dnf/cli/output.py:1731 dnf/cli/output.py:1733
+ msgid "End rpmdb      :"
+ msgstr "結束 rpmdb:"
+ 
+-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860
++#: dnf/cli/output.py:1740 dnf/cli/output.py:1742
+ msgid "User           :"
+ msgstr "使用者    :"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1753
+ msgid "Aborted"
+ msgstr "已中止"
+ 
+-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869
+-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1746 dnf/cli/output.py:1749 dnf/cli/output.py:1751
++#: dnf/cli/output.py:1753 dnf/cli/output.py:1755 dnf/cli/output.py:1757
+ msgid "Return-Code    :"
+ msgstr "回傳代碼  :"
+ 
+-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875
++#: dnf/cli/output.py:1749 dnf/cli/output.py:1757
+ msgid "Success"
+ msgstr "成功"
+ 
+-#: dnf/cli/output.py:1869
++#: dnf/cli/output.py:1751
+ msgid "Failures:"
+ msgstr "失敗:"
+ 
+-#: dnf/cli/output.py:1873
++#: dnf/cli/output.py:1755
+ msgid "Failure:"
+ msgstr "失敗:"
+ 
+-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885
++#: dnf/cli/output.py:1765 dnf/cli/output.py:1767
+ msgid "Releasever     :"
+ msgstr "發行版本  :"
+ 
+-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892
++#: dnf/cli/output.py:1772 dnf/cli/output.py:1774
+ msgid "Command Line   :"
+ msgstr "指令列    :"
+ 
+-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899
++#: dnf/cli/output.py:1779 dnf/cli/output.py:1781
+ msgid "Comment        :"
+ msgstr "備註      :"
+ 
+-#: dnf/cli/output.py:1903
++#: dnf/cli/output.py:1785
+ msgid "Transaction performed with:"
+ msgstr "處理事項執行者:"
+ 
+-#: dnf/cli/output.py:1912
++#: dnf/cli/output.py:1794
+ msgid "Packages Altered:"
+ msgstr "變動的軟體包:"
+ 
+-#: dnf/cli/output.py:1918
++#: dnf/cli/output.py:1800
+ msgid "Scriptlet output:"
+ msgstr "小令稿輸出:"
+ 
+-#: dnf/cli/output.py:1925
++#: dnf/cli/output.py:1807
+ msgid "Errors:"
+ msgstr "錯誤:"
+ 
+-#: dnf/cli/output.py:1934
++#: dnf/cli/output.py:1816
+ msgid "Dep-Install"
+ msgstr "依賴安裝"
+ 
+-#: dnf/cli/output.py:1935
++#: dnf/cli/output.py:1817
+ msgid "Obsoleted"
+ msgstr "已棄用"
+ 
+-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85
++#: dnf/cli/output.py:1818 dnf/transaction.py:84 dnf/transaction.py:85
+ msgid "Obsoleting"
+ msgstr "棄用"
+ 
+-#: dnf/cli/output.py:1937
++#: dnf/cli/output.py:1819
+ msgid "Erase"
+ msgstr "抹除"
+ 
+-#: dnf/cli/output.py:1938
++#: dnf/cli/output.py:1820
+ msgid "Reinstall"
+ msgstr "重裝"
+ 
+-#: dnf/cli/output.py:2016
++#: dnf/cli/output.py:1894
+ #, python-format
+ msgid "---> Package %s.%s %s will be installed"
+ msgstr "---> %s.%s %s 軟體包將會安裝"
+ 
+-#: dnf/cli/output.py:2018
++#: dnf/cli/output.py:1896
+ #, python-format
+ msgid "---> Package %s.%s %s will be an upgrade"
+ msgstr "---> %s.%s %s 軟體包將會升級"
+ 
+-#: dnf/cli/output.py:2020
++#: dnf/cli/output.py:1898
+ #, python-format
+ msgid "---> Package %s.%s %s will be erased"
+ msgstr "---> %s.%s %s 軟體包將被抹除"
+ 
+-#: dnf/cli/output.py:2022
++#: dnf/cli/output.py:1900
+ #, python-format
+ msgid "---> Package %s.%s %s will be reinstalled"
+ msgstr "---> %s.%s %s 軟體包將會重裝"
+ 
+-#: dnf/cli/output.py:2024
++#: dnf/cli/output.py:1902
+ #, python-format
+ msgid "---> Package %s.%s %s will be a downgrade"
+ msgstr "---> %s.%s %s 軟體包將被降級"
+ 
+-#: dnf/cli/output.py:2026
++#: dnf/cli/output.py:1904
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleting"
+ msgstr "---> %s.%s %s 軟體包將會棄用"
+ 
+-#: dnf/cli/output.py:2028
++#: dnf/cli/output.py:1906
+ #, python-format
+ msgid "---> Package %s.%s %s will be upgraded"
+ msgstr "---> %s.%s %s 軟體包將被升級"
+ 
+-#: dnf/cli/output.py:2030
++#: dnf/cli/output.py:1908
+ #, python-format
+ msgid "---> Package %s.%s %s will be obsoleted"
+ msgstr "---> %s.%s %s 軟體包將被棄用"
+ 
+-#: dnf/cli/output.py:2039
++#: dnf/cli/output.py:1917
+ msgid "--> Starting dependency resolution"
+ msgstr "--> 開始解決依賴關係問題"
+ 
+-#: dnf/cli/output.py:2044
++#: dnf/cli/output.py:1921
+ msgid "--> Finished dependency resolution"
+ msgstr "--> 完成解決依賴關係問題"
+ 
+-#: dnf/cli/output.py:2058 dnf/crypto.py:132
++#: dnf/cli/output.py:1935 dnf/crypto.py:132
+ #, python-format
+ msgid ""
+ "Importing GPG key 0x%s:\n"
+@@ -3472,10 +3474,6 @@ msgstr "    開始於:%s - %s 之前"
+ msgid "    State  : %s"
+ msgstr "    狀態:%s"
+ 
+-#: dnf/comps.py:104
+-msgid "skipping."
+-msgstr "略過。"
+-
+ #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
+ #, python-format
+ msgid "Module or Group '%s' is not installed."
+@@ -3497,7 +3495,7 @@ msgstr "沒有「%s」模組或群組。"
+ msgid "Environment id '%s' does not exist."
+ msgstr "尚未安裝「%s」環境。"
+ 
+-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453
++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
+ #, fuzzy, python-format
+ #| msgid "Environment '%s' is not installed."
+ msgid "Environment id '%s' is not installed."
+@@ -3524,6 +3522,12 @@ msgstr "Group_id「%s」不存在。"
+ msgid "Error parsing '%s': %s"
+ msgstr "無法解析「%s」:%s"
+ 
++#: dnf/conf/config.py:151
++#, fuzzy, python-format
++#| msgid "Unknown configuration value: %s=%s in %s; %s"
++msgid "Invalid configuration value: %s=%s in %s; %s"
++msgstr "未知的設定值:%s = %s 於 %s;%s"
++
+ #: dnf/conf/config.py:226
+ msgid "Could not set cachedir: {}"
+ msgstr "無法設定 cachedir:{}"
+@@ -3565,36 +3569,36 @@ msgstr "以「%s.%s」鍵,「%s」值解析 --setopt 時發生錯誤:%s"
+ msgid "Repo %s did not have a %s attr. before setopt"
+ msgstr "%s 軟體庫未在 setopt 之前設定 %s 屬性"
+ 
+-#: dnf/conf/read.py:51
++#: dnf/conf/read.py:60
+ #, python-format
+ msgid "Warning: failed loading '%s', skipping."
+ msgstr "警告:「%s」載入失敗,略過。"
+ 
+-#: dnf/conf/read.py:63
++#: dnf/conf/read.py:72
+ msgid "Bad id for repo: {} ({}), byte = {} {}"
+ msgstr "軟體庫的 ID 無效:{} ({}),位元組 = {} {}"
+ 
+-#: dnf/conf/read.py:67
++#: dnf/conf/read.py:76
+ msgid "Bad id for repo: {}, byte = {} {}"
+ msgstr "軟體庫的 ID 無效:{},位元組 = {} {}"
+ 
+-#: dnf/conf/read.py:75
++#: dnf/conf/read.py:84
+ msgid "Repository '{}' ({}): Error parsing config: {}"
+ msgstr "「{}」({}) 軟體庫:解析組態時發生錯誤:{}"
+ 
+-#: dnf/conf/read.py:78
++#: dnf/conf/read.py:87
+ msgid "Repository '{}': Error parsing config: {}"
+ msgstr "「{}」軟體庫:解析組態時發生錯誤:{}"
+ 
+-#: dnf/conf/read.py:84
++#: dnf/conf/read.py:93
+ msgid "Repository '{}' ({}) is missing name in configuration, using id."
+ msgstr "設定檔中缺少「{}」({}) 軟體庫的名稱,使用 ID。"
+ 
+-#: dnf/conf/read.py:87
++#: dnf/conf/read.py:96
+ msgid "Repository '{}' is missing name in configuration, using id."
+ msgstr "設定檔中缺少「{}」軟體庫的名稱,使用 ID。"
+ 
+-#: dnf/conf/read.py:104
++#: dnf/conf/read.py:113
+ msgid "Parsing file \"{}\" failed: {}"
+ msgstr "解析「{}」檔案失敗:{}"
+ 
+@@ -3608,24 +3612,40 @@ msgstr "%s 軟體庫:0x%s 早已匯入"
+ msgid "repo %s: imported key 0x%s."
+ msgstr "%s 軟體庫:已匯入 0x%s 金鑰。"
+ 
+-#: dnf/db/group.py:293
++#: dnf/crypto.py:145
++msgid "Verified using DNS record with DNSSEC signature."
++msgstr ""
++
++#: dnf/crypto.py:147
++msgid "NOT verified using DNS record."
++msgstr ""
++
++#: dnf/crypto.py:184
++#, python-format
++msgid "retrieving repo key for %s unencrypted from %s"
++msgstr ""
++
++#: dnf/db/group.py:301
+ msgid ""
+ "No available modular metadata for modular package '{}', it cannot be "
+ "installed on the system"
+ msgstr "沒有「{}」模組化軟體包可用的模組化中介資料,無法安裝至系統"
+ 
+-#: dnf/db/group.py:343
++#: dnf/db/group.py:351
+ msgid "No available modular metadata for modular package"
+ msgstr "沒有「{}」模組化軟體包可用的模組化中介資料"
+ 
+-#: dnf/db/group.py:377
++#: dnf/db/group.py:385
+ #, python-format
+ msgid "Will not install a source rpm package (%s)."
+ msgstr "將不會安裝 RPM 原始檔(%s)。"
+ 
+ #: dnf/dnssec.py:168
++#, fuzzy
++#| msgid ""
++#| "Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
+ msgid ""
+-"Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
++"Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
+ msgstr "「gpgkey_dns_verification」設定選項需要 libunbound ({})"
+ 
+ #: dnf/dnssec.py:239
+@@ -3648,7 +3668,7 @@ msgstr "DNSSEC 擴充: "
+ msgid "Testing already imported keys for their validity."
+ msgstr "測試已經匯入的金鑰其有效性。"
+ 
+-#: dnf/drpm.py:62 dnf/repo.py:268
++#: dnf/drpm.py:62 dnf/repo.py:267
+ #, python-format
+ msgid "unsupported checksum type: %s"
+ msgstr "未支援的查核碼類型:%s"
+@@ -3690,7 +3710,7 @@ msgid "Modular dependency problem with Defaults:"
+ msgid_plural "Modular dependency problems with Defaults:"
+ msgstr[0] "預設值發生模組依賴關係問題:"
+ 
+-#: dnf/exceptions.py:131 dnf/module/module_base.py:686
++#: dnf/exceptions.py:131 dnf/module/module_base.py:854
+ msgid "Modular dependency problem:"
+ msgid_plural "Modular dependency problems:"
+ msgstr[0] "模組化的依賴關係問題:"
+@@ -3699,10 +3719,12 @@ msgstr[0] "模組化的依賴關係問題:"
+ #, python-format
+ msgid ""
+ "Malformed lock file found: %s.\n"
+-"Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf."
++"Ensure no other dnf/yum process is running and remove the lock file manually "
++"or run systemd-tmpfiles --remove dnf.conf."
+ msgstr ""
+ "發現格式錯誤的鎖定檔:%s。\n"
+-"請確定沒有其他正在執行的 dnf/yum 處理程序,然後手動移除鎖定檔或執行 systemd-tmpfiles --remove dnf.conf。"
++"請確定沒有其他正在執行的 dnf/yum 處理程序,然後手動移除鎖定檔或執行 systemd-"
++"tmpfiles --remove dnf.conf。"
+ 
+ #: dnf/module/__init__.py:26
+ msgid "Enabling different stream for '{}'."
+@@ -3724,7 +3746,57 @@ msgstr "已啟用模組:{}。"
+ msgid "No profile specified for '{}', please specify profile."
+ msgstr "沒有為 {} 指定的設定檔,請指定設定檔。"
+ 
+-#: dnf/module/module_base.py:33
++#: dnf/module/exceptions.py:27
++#, fuzzy
++#| msgid "No profiles for module {}:{}"
++msgid "No such module: {}"
++msgstr "沒有 {}:{} 模組的設定檔"
++
++#: dnf/module/exceptions.py:33
++msgid "No such stream: {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:39
++#, fuzzy
++#| msgid "No profiles for module {}:{}"
++msgid "No enabled stream for module: {}"
++msgstr "沒有 {}:{} 模組的設定檔"
++
++#: dnf/module/exceptions.py:46
++msgid "Cannot enable more streams from module '{}' at the same time"
++msgstr ""
++
++#: dnf/module/exceptions.py:52
++msgid "Different stream enabled for module: {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:58
++msgid "No such profile: {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:64
++msgid "Specified profile not installed for {}"
++msgstr ""
++
++#: dnf/module/exceptions.py:70
++#, fuzzy
++#| msgid "No profile specified for '{}', please specify profile."
++msgid "No stream specified for '{}', please specify stream"
++msgstr "沒有為 {} 指定的設定檔,請指定設定檔。"
++
++#: dnf/module/exceptions.py:82
++#, fuzzy
++#| msgid "No repositories available"
++msgid "No such profile: {}. No profiles available"
++msgstr "沒有可用的軟體庫"
++
++#: dnf/module/exceptions.py:88
++#, fuzzy
++#| msgid "No profiles for module {}:{}"
++msgid "No profile to remove for '{}'"
++msgstr "沒有 {}:{} 模組的設定檔"
++
++#: dnf/module/module_base.py:35
+ msgid ""
+ "\n"
+ "\n"
+@@ -3734,7 +3806,7 @@ msgstr ""
+ "\n"
+ "提示:預設[d]、已啟用[e]、已停用[x]、已安裝[i]"
+ 
+-#: dnf/module/module_base.py:34
++#: dnf/module/module_base.py:36
+ msgid ""
+ "\n"
+ "\n"
+@@ -3744,80 +3816,97 @@ msgstr ""
+ "\n"
+ "提示:[d] 預設、[e] 已啟用, [x] 已停用, [i] 已安裝, [a] 作用中"
+ 
+-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421
+-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543
++#: dnf/module/module_base.py:56 dnf/module/module_base.py:556
++#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
+ msgid "Ignoring unnecessary profile: '{}/{}'"
+ msgstr "忽略不必要的設定檔:「{}/{}」"
+ 
+-#: dnf/module/module_base.py:84
++#: dnf/module/module_base.py:86
+ #, python-brace-format
+ msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
+ msgstr "所有「{1}:{2}」模組中的「{0}」引數符合項目皆未作用中"
+ 
+-#: dnf/module/module_base.py:92
++#: dnf/module/module_base.py:94 dnf/module/module_base.py:204
+ #, python-brace-format
+ msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed"
+ msgstr "不允許從 {1} 防故障軟體庫安裝「{0}」模組"
+ 
+-#: dnf/module/module_base.py:102
++#: dnf/module/module_base.py:104 dnf/module/module_base.py:214
+ msgid ""
+ "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
+ msgstr "無法符合 {} 引數的設定檔。「{}:{}」可用設定檔:{}"
+ 
+-#: dnf/module/module_base.py:106
++#: dnf/module/module_base.py:108 dnf/module/module_base.py:218
+ msgid "Unable to match profile for argument {}"
+ msgstr "無法符合 {} 引數的設定檔"
+ 
+-#: dnf/module/module_base.py:118
++#: dnf/module/module_base.py:120
+ msgid "No default profiles for module {}:{}. Available profiles: {}"
+ msgstr "沒有 {}:{} 模組的預設設定檔。可用設定檔:{}"
+ 
+-#: dnf/module/module_base.py:122
++#: dnf/module/module_base.py:124
+ msgid "No profiles for module {}:{}"
+ msgstr "沒有 {}:{} 模組的設定檔"
+ 
+-#: dnf/module/module_base.py:129
++#: dnf/module/module_base.py:131
+ msgid "Default profile {} not available in module {}:{}"
+ msgstr "{} 預設設定檔無法在 {}:{} 模組使用"
+ 
+-#: dnf/module/module_base.py:142
++#: dnf/module/module_base.py:144 dnf/module/module_base.py:247
+ msgid "Installing module from Fail-Safe repository is not allowed"
+ msgstr "不允許從防故障軟體庫安裝模組"
+ 
+-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193
+-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355
+-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417
+-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539
++#: dnf/module/module_base.py:196
++#, fuzzy, python-brace-format
++#| msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
++msgid "No active matches for argument '{0}' in module '{1}:{2}'"
++msgstr "所有「{1}:{2}」模組中的「{0}」引數符合項目皆未作用中"
++
++#: dnf/module/module_base.py:228
++#, fuzzy, python-brace-format
++#| msgid "Default profile {} not available in module {}:{}"
++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
++msgstr "{} 預設設定檔無法在 {}:{} 模組使用"
++
++#: dnf/module/module_base.py:267
++msgid "No packages available to distrosync for package name '{}'"
++msgstr ""
++
++#: dnf/module/module_base.py:310 dnf/module/module_base.py:461
++#: dnf/module/module_base.py:486 dnf/module/module_base.py:505
++#: dnf/module/module_base.py:552 dnf/module/module_base.py:611
++#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
+ msgid "Unable to resolve argument {}"
+ msgstr "無法解析 {} 引數"
+ 
+-#: dnf/module/module_base.py:160
+-msgid "No match for package {}"
+-msgstr "找不到符合的軟體包 {}"
+-
+-#: dnf/module/module_base.py:204
++#: dnf/module/module_base.py:321
+ #, python-brace-format
+ msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
+ msgstr "不允許從 {1} 防故障軟體庫升級「{0}」模組"
+ 
+-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251
++#: dnf/module/module_base.py:340 dnf/module/module_base.py:368
+ msgid "Unable to match profile in argument {}"
+ msgstr "無法在 {} 引數中找到符合的設定檔"
+ 
+-#: dnf/module/module_base.py:231
++#: dnf/module/module_base.py:348
+ msgid "Upgrading module from Fail-Safe repository is not allowed"
+ msgstr "不允許從防故障軟體庫升級模組"
+ 
+-#: dnf/module/module_base.py:367
++#: dnf/module/module_base.py:422
++#, python-brace-format
++msgid ""
++"Argument '{argument}' matches {stream_count} streams ('{streams}') of module "
++"'{module}', but none of the streams are enabled or default"
++msgstr ""
++
++#: dnf/module/module_base.py:509
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'{}'"
++"Only module name is required. Ignoring unneeded information in argument: '{}'"
+ msgstr "只需要模組名稱。忽略引數中的非必要資訊:「{}」"
+ 
+-#: dnf/package.py:298
+-#, python-format
+-msgid "%s: %s check failed: %s vs %s"
+-msgstr "%s:%s 檢查失敗:%s 比對 %s"
++#: dnf/module/module_base.py:841
++msgid "No match for package {}"
++msgstr "找不到符合的軟體包 {}"
+ 
+ #. empty file is invalid json format
+ #: dnf/persistor.py:54
+@@ -3853,16 +3942,16 @@ msgstr "解析檔案失敗:%s"
+ msgid "Loaded plugins: %s"
+ msgstr "已載入的外掛:%s"
+ 
+-#: dnf/plugin.py:199
++#: dnf/plugin.py:211
+ #, python-format
+ msgid "Failed loading plugin \"%s\": %s"
+ msgstr "無法載入「%s」插件:%s"
+ 
+-#: dnf/plugin.py:231
++#: dnf/plugin.py:243
+ msgid "No matches found for the following enable plugin patterns: {}"
+ msgstr "找不到下述啟用之插件模式的符合項目:{}"
+ 
+-#: dnf/plugin.py:235
++#: dnf/plugin.py:247
+ msgid "No matches found for the following disable plugin patterns: {}"
+ msgstr "找不到下述停用之插件模式的符合項目:{}"
+ 
+@@ -3876,7 +3965,7 @@ msgid "Already downloaded"
+ msgstr "已經下載"
+ 
+ #. pinging mirrors, this might take a while
+-#: dnf/repo.py:347
++#: dnf/repo.py:346
+ #, python-format
+ msgid "determining the fastest mirror (%s hosts).. "
+ msgstr "正在決定最快速的鏡像站 (%s 主機)… "
+@@ -3891,10 +3980,25 @@ msgstr "正在啟用 %s 軟體庫"
+ msgid "Added %s repo from %s"
+ msgstr "已從 %s 增加 %s 軟體庫"
+ 
++#: dnf/rpm/miscutils.py:32
++#, python-format
++msgid "Using rpmkeys executable at %s to verify signatures"
++msgstr ""
++
++#: dnf/rpm/miscutils.py:66
++msgid "Cannot find rpmkeys executable to verify signatures."
++msgstr ""
++
+ #: dnf/rpm/transaction.py:119
+ msgid "Errors occurred during test transaction."
+ msgstr "測試處理事項時發生錯誤。"
+ 
++#: dnf/sack.py:47
++msgid ""
++"allow_vendor_change is disabled. This option is currently not supported for "
++"downgrade and distro-sync commands"
++msgstr ""
++
+ #. TRANSLATORS: This is for a single package currently being downgraded.
+ #: dnf/transaction.py:80
+ msgctxt "currently"
+@@ -3941,164 +4045,210 @@ msgstr "執行小令稿"
+ msgid "Preparing"
+ msgstr "準備"
+ 
+-#: dnf/transaction_sr.py:60
++#: dnf/transaction_sr.py:66
+ #, python-brace-format
+-msgid "Errors in \"{filename}\":"
++msgid ""
++"The following problems occurred while replaying the transaction from file "
++"\"{filename}\":"
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:70
+-#, python-brace-format
+-msgid "Error in \"{filename}\": {error}"
+-msgstr ""
++#: dnf/transaction_sr.py:68
++#, fuzzy
++#| msgid "Errors occurred during transaction."
++msgid "The following problems occurred while running a transaction:"
++msgstr "在處理事項時發生錯誤。"
+ 
+-#: dnf/transaction_sr.py:87
++#: dnf/transaction_sr.py:89
+ #, python-brace-format
+ msgid "Invalid major version \"{major}\", number expected."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:95
++#: dnf/transaction_sr.py:97
+ #, python-brace-format
+ msgid "Invalid minor version \"{minor}\", number expected."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:101
++#: dnf/transaction_sr.py:103
+ #, python-brace-format
+ msgid ""
+ "Incompatible major version \"{major}\", supported major version is "
+ "\"{major_supp}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:244
++#: dnf/transaction_sr.py:224
++msgid ""
++"Conflicting TransactionReplay arguments have been specified: filename, data"
++msgstr ""
++
++#: dnf/transaction_sr.py:265
+ #, python-brace-format
+ msgid "Unexpected type of \"{id}\", {exp} expected."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:250
++#: dnf/transaction_sr.py:271
+ #, python-brace-format
+ msgid "Missing key \"{key}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:263
++#: dnf/transaction_sr.py:285
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an rpm."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:267
++#: dnf/transaction_sr.py:289
+ #, python-brace-format
+-msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
++msgid ""
++"Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:275
++#: dnf/transaction_sr.py:297
+ #, python-brace-format
+ msgid "Cannot parse NEVRA for package \"{nevra}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:286
++#: dnf/transaction_sr.py:321
+ #, python-brace-format
+ msgid "Cannot find rpm nevra \"{nevra}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:301
++#: dnf/transaction_sr.py:336
+ #, fuzzy, python-brace-format
+ #| msgid "Package %s is already installed."
+ msgid "Package \"{na}\" is already installed for action \"{action}\"."
+ msgstr "已安裝 %s 軟體包。"
+ 
+-#: dnf/transaction_sr.py:311
++#: dnf/transaction_sr.py:345
+ #, python-brace-format
+ msgid ""
+ "Package nevra \"{nevra}\" not available in repositories for action "
+ "\"{action}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:322
++#: dnf/transaction_sr.py:356
+ #, python-brace-format
+ msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:336
++#: dnf/transaction_sr.py:370
+ #, python-brace-format
+-msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
++msgid ""
++"Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:343
++#: dnf/transaction_sr.py:377
+ #, fuzzy, python-format
+ #| msgid "Module or Group '%s' is not available."
+ msgid "Group id '%s' is not available."
+ msgstr "無法使用「%s」模組或群組。"
+ 
+-#: dnf/transaction_sr.py:364
++#: dnf/transaction_sr.py:398
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in groups.packages."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387
++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
+ #, fuzzy, python-format
+ #| msgid "Module or Group '%s' is not installed."
+ msgid "Group id '%s' is not installed."
+ msgstr "未安裝「%s」模組或群組。"
+ 
+-#: dnf/transaction_sr.py:398
++#: dnf/transaction_sr.py:432
+ #, fuzzy, python-format
+ #| msgid "Environment '%s' is not available."
+ msgid "Environment id '%s' is not available."
+ msgstr "無法使用「%s」環境。"
+ 
+-#: dnf/transaction_sr.py:422
++#: dnf/transaction_sr.py:456
+ #, python-brace-format
+ msgid ""
+ "Invalid value \"{group_type}\" of environments.groups.group_type, only "
+ "\"mandatory\" or \"optional\" is supported."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:430
++#: dnf/transaction_sr.py:464
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in environments.groups."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:508
++#: dnf/transaction_sr.py:542
+ #, python-brace-format
+ msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:513
++#: dnf/transaction_sr.py:547
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in a group."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:537
++#: dnf/transaction_sr.py:571
+ #, python-brace-format
+-msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
++msgid ""
++"Unexpected value of environment action \"{action}\" for environment "
++"\"{env}\"."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:542
++#: dnf/transaction_sr.py:576
+ #, python-brace-format
+ msgid "Missing object key \"{key}\" in an environment."
+ msgstr ""
+ 
+-#: dnf/transaction_sr.py:581
++#: dnf/transaction_sr.py:615
+ #, python-brace-format
+ msgid ""
+-"Package nevra \"{nevra}\", which is not present in the transaction file, was"
+-" pulled into the transaction."
++"Package nevra \"{nevra}\", which is not present in the transaction file, was "
++"pulled into the transaction."
+ msgstr ""
+ 
+-#: dnf/util.py:391 dnf/util.py:393
++#: dnf/util.py:419 dnf/util.py:421
+ msgid "Problem"
+ msgstr "問題"
+ 
+-#: dnf/util.py:444
++#: dnf/util.py:472
+ msgid "TransactionItem not found for key: {}"
+ msgstr "找不到下述鍵的 TransactionItem:{}"
+ 
+-#: dnf/util.py:454
++#: dnf/util.py:482
+ msgid "TransactionSWDBItem not found for key: {}"
+ msgstr "找不到下述鍵的 TransactionSWDBItem:{}"
+ 
+-#: dnf/util.py:457
++#: dnf/util.py:485
+ msgid "Errors occurred during transaction."
+ msgstr "在處理事項時發生錯誤。"
+ 
++#: dnf/util.py:621
++msgid "Reinstalled"
++msgstr "已重裝"
++
++#: dnf/util.py:622
++msgid "Skipped"
++msgstr "跳過"
++
++#: dnf/util.py:623
++msgid "Removed"
++msgstr "已移除"
++
++#: dnf/util.py:626
++msgid "Failed"
++msgstr "失敗"
++
++#~ msgid "skipping."
++#~ msgstr "略過。"
++
++#~ msgid "%s: %s check failed: %s vs %s"
++#~ msgstr "%s:%s 檢查失敗:%s 比對 %s"
++
++#~ msgid "Action not handled: {}"
++#~ msgstr "未處理動作:{}"
++
++#~ msgid "no package matched"
++#~ msgstr "沒有符合的軟體包"
++
++#~ msgid "Not found given transaction ID"
++#~ msgstr "找不到提供的處理事項識別碼"
++
++#~ msgid "Undoing transaction {}, from {}"
++#~ msgstr "取消變更處理事項 {},從 {}"
++
+ #~ msgid "format for displaying found packages"
+ #~ msgstr "顯示找到的軟體包格式"
+ 
+@@ -4109,5 +4259,6 @@ msgstr "在處理事項時發生錯誤。"
+ #~ msgstr "給予的處理事項 ID、或軟體包不良"
+ 
+ #~ msgid ""
+-#~ "Display capabilities that the package depends on for running a %%pre script."
++#~ "Display capabilities that the package depends on for running a %%pre "
++#~ "script."
+ #~ msgstr "顯示軟體包執行在 %%pre 指令上的功能。"
+-- 
+2.35.1
+
diff --git a/SPECS/dnf.spec b/SPECS/dnf.spec
index f4a9d29..4c13c26 100644
--- a/SPECS/dnf.spec
+++ b/SPECS/dnf.spec
@@ -66,7 +66,7 @@ It supports RPMs, modules and comps groups & environments.
 
 Name:           dnf
 Version:        4.7.0
-Release:        4%{?dist}
+Release:        8%{?dist}
 Summary:        %{pkg_summary}
 # For a breakdown of the licensing, see PACKAGE-LICENSING
 License:        GPLv2+
@@ -77,7 +77,15 @@ Patch2:         0002-dnfrpmmiscutilspy-fix-usage-of-_.patch
 Patch3:         0003-Pass-the-package-to-rpmkeys-stdin.patch
 Patch4:         0004-Use-rpmkeys-alone-to-verify-signature.patch
 Patch5:         0005-Lower-_pkgverify_level-to-signature-for-signature-checking-with-rpmkeys.patch
-Patch6:         0006-Update-translations.patch
+Patch6:         0006-Add-default-colors-to-documentation.patch
+Patch7:         0007-Fix-reporting-irrecoverable-errors-on-packages-download.patch
+Patch8:         0008-Add-fail_fast-parameter-to-download_payloads-methods.patch
+Patch9:         0009-comps-Make-the-install_or_skip-method-not-catch-CompsError-anymore.patch
+Patch10:        0010-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch
+Patch11:        0011-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch
+Patch12:        0012-Documentation-API-notes-for-cacheonly.patch
+Patch13:        0013-Allow-destdir-option-with-modulesync-command.patch
+Patch14:        0014-Update-translations-RhBug-2017270.patch
 
 BuildArch:      noarch
 BuildRequires:  cmake
@@ -377,8 +385,24 @@ popd
 %{python3_sitelib}/%{name}/automatic/
 
 %changelog
-* Mon Sep 13 2021 Marek Blaha <mblaha@redhat.com> - 4.7.0-4
-- Update translations (RhBug:1961632)
+* Fri Mar 18 2022 Marek Blaha <mblaha@redhat.com> - 4.7.0-8
+- Update translations
+
+* Fri Jan 14 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.7.0-7
+- Rebuild with new release number
+
+* Tue Jan 11 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.7.0-6
+- Allow destdir option with modulesync command
+
+* Tue Nov 09 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.7.0-5
+- Bump release number because of conflicting version of 8.5 build
+
+* Tue Nov 09 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.7.0-4
+- Add fail_fast parameter to _download_remote_payloads() method
+- Throw CompsError when a group or environment is not found for the install methods
+- Respect cacheonly in python dnf API (RhBug:1862970)
+- [doc] Improve description of multilib_policy=all (RhBug:1996681,1995630)
+- [doc] Document default colors
 
 * Mon Aug 16 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 4.7.0-3
 - Improve signature checking using rpmkeys (RhBug:1967454)