Blob Blame History Raw
From ef35e9d6d2a5857d724eb12dcb27f2b3a613368e Mon Sep 17 00:00:00 2001
From: Marek Blaha <mblaha@redhat.com>
Date: Wed, 15 Mar 2023 14:17:45 +0100
Subject: [PATCH] Update translations

---
 po/dnf.pot  | 227 +++++++--------
 po/fr.po    | 537 ++++++++++++++++++-----------------
 po/ja.po    | 768 +++++++++++++++++++++++++++++++-------------------
 po/ko.po    | 792 +++++++++++++++++++++++++++++-----------------------
 po/zh_CN.po | 466 +++++++++++++++++--------------
 5 files changed, 1571 insertions(+), 1219 deletions(-)

diff --git a/po/dnf.pot b/po/dnf.pot
index 339582da..92eb8509 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: 2022-08-19 03:04+0000\n"
+"POT-Creation-Date: 2023-02-28 10: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"
@@ -101,7 +101,7 @@ msgstr ""
 msgid "Error: %s"
 msgstr ""
 
-#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481
+#: dnf/base.py:150 dnf/base.py:484 dnf/base.py:486
 msgid "loading repo '{}' failure: {}"
 msgstr ""
 
@@ -109,237 +109,237 @@ msgstr ""
 msgid "Loading repository '{}' has failed"
 msgstr ""
 
-#: dnf/base.py:329
+#: dnf/base.py:334
 msgid "Metadata timer caching disabled when running on metered connection."
 msgstr ""
 
-#: dnf/base.py:334
+#: dnf/base.py:339
 msgid "Metadata timer caching disabled when running on a battery."
 msgstr ""
 
-#: dnf/base.py:339
+#: dnf/base.py:344
 msgid "Metadata timer caching disabled."
 msgstr ""
 
-#: dnf/base.py:344
+#: dnf/base.py:349
 msgid "Metadata cache refreshed recently."
 msgstr ""
 
-#: dnf/base.py:350 dnf/cli/commands/__init__.py:91
+#: dnf/base.py:355 dnf/cli/commands/__init__.py:91
 msgid "There are no enabled repositories in \"{}\"."
 msgstr ""
 
-#: dnf/base.py:357
+#: dnf/base.py:362
 #, python-format
 msgid "%s: will never be expired and will not be refreshed."
 msgstr ""
 
-#: dnf/base.py:359
+#: dnf/base.py:364
 #, python-format
 msgid "%s: has expired and will be refreshed."
 msgstr ""
 
 #. expires within the checking period:
-#: dnf/base.py:363
+#: dnf/base.py:368
 #, python-format
 msgid "%s: metadata will expire after %d seconds and will be refreshed now"
 msgstr ""
 
-#: dnf/base.py:367
+#: dnf/base.py:372
 #, python-format
 msgid "%s: will expire after %d seconds."
 msgstr ""
 
 #. performs the md sync
-#: dnf/base.py:373
+#: dnf/base.py:378
 msgid "Metadata cache created."
 msgstr ""
 
-#: dnf/base.py:406 dnf/base.py:473
+#: dnf/base.py:411 dnf/base.py:478
 #, python-format
 msgid "%s: using metadata from %s."
 msgstr ""
 
-#: dnf/base.py:418 dnf/base.py:486
+#: dnf/base.py:423 dnf/base.py:491
 #, python-format
 msgid "Ignoring repositories: %s"
 msgstr ""
 
-#: dnf/base.py:421
+#: dnf/base.py:426
 #, python-format
 msgid "Last metadata expiration check: %s ago on %s."
 msgstr ""
 
-#: dnf/base.py:514
+#: dnf/base.py:519
 msgid ""
 "The downloaded packages were saved in cache until the next successful "
 "transaction."
 msgstr ""
 
-#: dnf/base.py:516
+#: dnf/base.py:521
 #, python-format
 msgid "You can remove cached packages by executing '%s'."
 msgstr ""
 
-#: dnf/base.py:648
+#: dnf/base.py:653
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr ""
 
-#: dnf/base.py:706
+#: dnf/base.py:711
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr ""
 
-#: dnf/base.py:968
+#: dnf/base.py:973
 msgid "Running transaction check"
 msgstr ""
 
-#: dnf/base.py:976
+#: dnf/base.py:981
 msgid "Error: transaction check vs depsolve:"
 msgstr ""
 
-#: dnf/base.py:982
+#: dnf/base.py:987
 msgid "Transaction check succeeded."
 msgstr ""
 
-#: dnf/base.py:985
+#: dnf/base.py:990
 msgid "Running transaction test"
 msgstr ""
 
-#: dnf/base.py:995 dnf/base.py:1146
+#: dnf/base.py:1000 dnf/base.py:1151
 msgid "RPM: {}"
 msgstr ""
 
-#: dnf/base.py:996
+#: dnf/base.py:1001
 msgid "Transaction test error:"
 msgstr ""
 
-#: dnf/base.py:1007
+#: dnf/base.py:1012
 msgid "Transaction test succeeded."
 msgstr ""
 
-#: dnf/base.py:1028
+#: dnf/base.py:1033
 msgid "Running transaction"
 msgstr ""
 
-#: dnf/base.py:1065
+#: dnf/base.py:1070
 msgid "Disk Requirements:"
 msgstr ""
 
-#: dnf/base.py:1068
+#: dnf/base.py:1073
 #, 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:1075
+#: dnf/base.py:1080
 msgid "Error Summary"
 msgstr ""
 
-#: dnf/base.py:1101
+#: dnf/base.py:1106
 #, python-brace-format
 msgid "RPMDB altered outside of {prog}."
 msgstr ""
 
-#: dnf/base.py:1147 dnf/base.py:1155
+#: dnf/base.py:1152 dnf/base.py:1160
 msgid "Could not run transaction."
 msgstr ""
 
-#: dnf/base.py:1150
+#: dnf/base.py:1155
 msgid "Transaction couldn't start:"
 msgstr ""
 
-#: dnf/base.py:1164
+#: dnf/base.py:1169
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr ""
 
-#: dnf/base.py:1246
+#: dnf/base.py:1251
 msgid "Some packages were not downloaded. Retrying."
 msgstr ""
 
-#: dnf/base.py:1276
+#: dnf/base.py:1281
 #, python-format
 msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
 msgstr ""
 
-#: dnf/base.py:1280
+#: dnf/base.py:1285
 #, python-format
 msgid ""
 "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
 msgstr ""
 
-#: dnf/base.py:1322
+#: dnf/base.py:1327
 msgid "Cannot add local packages, because transaction job already exists"
 msgstr ""
 
-#: dnf/base.py:1336
+#: dnf/base.py:1341
 msgid "Could not open: {}"
 msgstr ""
 
-#: dnf/base.py:1374
+#: dnf/base.py:1379
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr ""
 
-#: dnf/base.py:1378
+#: dnf/base.py:1383
 #, python-format
 msgid "Problem opening package %s"
 msgstr ""
 
-#: dnf/base.py:1386
+#: dnf/base.py:1391
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr ""
 
-#: dnf/base.py:1390
+#: dnf/base.py:1395
 #, python-format
 msgid "Package %s is not signed"
 msgstr ""
 
-#: dnf/base.py:1420
+#: dnf/base.py:1425
 #, python-format
 msgid "Cannot remove %s"
 msgstr ""
 
-#: dnf/base.py:1424
+#: dnf/base.py:1429
 #, python-format
 msgid "%s removed"
 msgstr ""
 
-#: dnf/base.py:1704
+#: dnf/base.py:1709
 msgid "No match for group package \"{}\""
 msgstr ""
 
-#: dnf/base.py:1786
+#: dnf/base.py:1791
 #, python-format
 msgid "Adding packages from group '%s': %s"
 msgstr ""
 
-#: dnf/base.py:1809 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
+#: dnf/base.py:1814 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:1827
+#: dnf/base.py:1832
 msgid "No groups marked for removal."
 msgstr ""
 
-#: dnf/base.py:1861
+#: dnf/base.py:1866
 msgid "No group marked for upgrade."
 msgstr ""
 
-#: dnf/base.py:2075
+#: dnf/base.py:2080
 #, python-format
 msgid "Package %s not installed, cannot downgrade it."
 msgstr ""
 
-#: dnf/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2140
-#: dnf/base.py:2210 dnf/base.py:2218 dnf/base.py:2352 dnf/cli/cli.py:417
+#: dnf/base.py:2082 dnf/base.py:2101 dnf/base.py:2114 dnf/base.py:2145
+#: dnf/base.py:2215 dnf/base.py:2223 dnf/base.py:2357 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
@@ -349,127 +349,127 @@ msgstr ""
 msgid "No match for argument: %s"
 msgstr ""
 
-#: dnf/base.py:2084
+#: dnf/base.py:2089
 #, python-format
 msgid "Package %s of lower version already installed, cannot downgrade it."
 msgstr ""
 
-#: dnf/base.py:2107
+#: dnf/base.py:2112
 #, python-format
 msgid "Package %s not installed, cannot reinstall it."
 msgstr ""
 
-#: dnf/base.py:2122
+#: dnf/base.py:2127
 #, python-format
 msgid "File %s is a source package and cannot be updated, ignoring."
 msgstr ""
 
-#: dnf/base.py:2137
+#: dnf/base.py:2142
 #, python-format
 msgid "Package %s not installed, cannot update it."
 msgstr ""
 
-#: dnf/base.py:2147
+#: dnf/base.py:2152
 #, python-format
 msgid ""
 "The same or higher version of %s is already installed, cannot update it."
 msgstr ""
 
-#: dnf/base.py:2207 dnf/cli/commands/reinstall.py:81
+#: dnf/base.py:2212 dnf/cli/commands/reinstall.py:81
 #, python-format
 msgid "Package %s available, but not installed."
 msgstr ""
 
-#: dnf/base.py:2213
+#: dnf/base.py:2218
 #, python-format
 msgid "Package %s available, but installed for different architecture."
 msgstr ""
 
-#: dnf/base.py:2238
+#: dnf/base.py:2243
 #, python-format
 msgid "No package %s installed."
 msgstr ""
 
-#: dnf/base.py:2256 dnf/cli/commands/install.py:136
+#: dnf/base.py:2261 dnf/cli/commands/install.py:136
 #: dnf/cli/commands/remove.py:133
 #, python-format
 msgid "Not a valid form: %s"
 msgstr ""
 
-#: dnf/base.py:2271 dnf/cli/commands/__init__.py:676
+#: dnf/base.py:2276 dnf/cli/commands/__init__.py:676
 #: dnf/cli/commands/remove.py:162
 msgid "No packages marked for removal."
 msgstr ""
 
-#: dnf/base.py:2359 dnf/cli/cli.py:428
+#: dnf/base.py:2364 dnf/cli/cli.py:428
 #, python-format
 msgid "Packages for argument %s available, but not installed."
 msgstr ""
 
-#: dnf/base.py:2364
+#: dnf/base.py:2369
 #, python-format
 msgid "Package %s of lowest version already installed, cannot downgrade it."
 msgstr ""
 
-#: dnf/base.py:2464
+#: dnf/base.py:2469
 msgid "No security updates needed, but {} update available"
 msgstr ""
 
-#: dnf/base.py:2466
+#: dnf/base.py:2471
 msgid "No security updates needed, but {} updates available"
 msgstr ""
 
-#: dnf/base.py:2470
+#: dnf/base.py:2475
 msgid "No security updates needed for \"{}\", but {} update available"
 msgstr ""
 
-#: dnf/base.py:2472
+#: dnf/base.py:2477
 msgid "No security updates needed for \"{}\", but {} updates available"
 msgstr ""
 
 #. raise an exception, because po.repoid is not in self.repos
-#: dnf/base.py:2493
+#: dnf/base.py:2498
 #, python-format
 msgid "Unable to retrieve a key for a commandline package: %s"
 msgstr ""
 
-#: dnf/base.py:2501
+#: dnf/base.py:2506
 #, python-format
 msgid ". Failing package is: %s"
 msgstr ""
 
-#: dnf/base.py:2502
+#: dnf/base.py:2507
 #, python-format
 msgid "GPG Keys are configured as: %s"
 msgstr ""
 
-#: dnf/base.py:2514
+#: dnf/base.py:2519
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr ""
 
-#: dnf/base.py:2550
+#: dnf/base.py:2555
 msgid "The key has been approved."
 msgstr ""
 
-#: dnf/base.py:2553
+#: dnf/base.py:2558
 msgid "The key has been rejected."
 msgstr ""
 
-#: dnf/base.py:2586
+#: dnf/base.py:2591
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr ""
 
-#: dnf/base.py:2588
+#: dnf/base.py:2593
 msgid "Key imported successfully"
 msgstr ""
 
-#: dnf/base.py:2592
+#: dnf/base.py:2597
 msgid "Didn't install any keys"
 msgstr ""
 
-#: dnf/base.py:2595
+#: dnf/base.py:2600
 #, python-format
 msgid ""
 "The GPG keys listed for the \"%s\" repository are already installed but they "
@@ -477,49 +477,49 @@ msgid ""
 "Check that the correct key URLs are configured for this repository."
 msgstr ""
 
-#: dnf/base.py:2606
+#: dnf/base.py:2611
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr ""
 
-#: dnf/base.py:2659
+#: dnf/base.py:2664
 msgid "  * Maybe you meant: {}"
 msgstr ""
 
-#: dnf/base.py:2691
+#: dnf/base.py:2696
 msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
 msgstr ""
 
-#: dnf/base.py:2694
+#: dnf/base.py:2699
 msgid "Some packages from local repository have incorrect checksum"
 msgstr ""
 
-#: dnf/base.py:2697
+#: dnf/base.py:2702
 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
 msgstr ""
 
-#: dnf/base.py:2700
+#: dnf/base.py:2705
 msgid ""
 "Some packages have invalid cache, but cannot be downloaded due to \"--"
 "cacheonly\" option"
 msgstr ""
 
-#: dnf/base.py:2718 dnf/base.py:2738
+#: dnf/base.py:2723 dnf/base.py:2743
 msgid "No match for argument"
 msgstr ""
 
-#: dnf/base.py:2726 dnf/base.py:2746
+#: dnf/base.py:2731 dnf/base.py:2751
 msgid "All matches were filtered out by exclude filtering for argument"
 msgstr ""
 
-#: dnf/base.py:2728
+#: dnf/base.py:2733
 msgid "All matches were filtered out by modular filtering for argument"
 msgstr ""
 
-#: dnf/base.py:2744
+#: dnf/base.py:2749
 msgid "All matches were installed from a different repository for argument"
 msgstr ""
 
-#: dnf/base.py:2791
+#: dnf/base.py:2796
 #, python-format
 msgid "Package %s is already installed."
 msgstr ""
@@ -3379,7 +3379,8 @@ msgstr ""
 msgid "Environment id '%s' does not exist."
 msgstr ""
 
-#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
+#: dnf/comps.py:622 dnf/transaction_sr.py:487 dnf/transaction_sr.py:497
+#: dnf/transaction_sr.py:507
 #, python-format
 msgid "Environment id '%s' is not installed."
 msgstr ""
@@ -3485,6 +3486,11 @@ msgstr ""
 msgid "Parsing file \"{}\" failed: {}"
 msgstr ""
 
+#: dnf/conf/substitutions.py:66
+#, python-brace-format
+msgid "Error when parsing a variable from file '{0}': {1}"
+msgstr ""
+
 #: dnf/crypto.py:108
 #, python-format
 msgid "repo %s: 0x%s already imported"
@@ -3508,22 +3514,22 @@ msgstr ""
 msgid "retrieving repo key for %s unencrypted from %s"
 msgstr ""
 
-#: dnf/db/group.py:302
+#: dnf/db/group.py:308
 msgid ""
 "No available modular metadata for modular package '{}', it cannot be "
 "installed on the system"
 msgstr ""
 
-#: dnf/db/group.py:353
+#: dnf/db/group.py:359
 #, python-format
 msgid "An rpm exception occurred: %s"
 msgstr ""
 
-#: dnf/db/group.py:355
+#: dnf/db/group.py:361
 msgid "No available modular metadata for modular package"
 msgstr ""
 
-#: dnf/db/group.py:389
+#: dnf/db/group.py:395
 #, python-format
 msgid "Will not install a source rpm package (%s)."
 msgstr ""
@@ -3553,7 +3559,7 @@ msgstr ""
 msgid "Testing already imported keys for their validity."
 msgstr ""
 
-#: dnf/drpm.py:62 dnf/repo.py:267
+#: dnf/drpm.py:62 dnf/repo.py:268
 #, python-format
 msgid "unsupported checksum type: %s"
 msgstr ""
@@ -3803,31 +3809,31 @@ msgstr ""
 msgid "Parsing file failed: %s"
 msgstr ""
 
-#: dnf/plugin.py:141
+#: dnf/plugin.py:144
 #, python-format
 msgid "Loaded plugins: %s"
 msgstr ""
 
-#: dnf/plugin.py:211
+#: dnf/plugin.py:216
 #, python-format
 msgid "Failed loading plugin \"%s\": %s"
 msgstr ""
 
-#: dnf/plugin.py:243
+#: dnf/plugin.py:248
 msgid "No matches found for the following enable plugin patterns: {}"
 msgstr ""
 
-#: dnf/plugin.py:247
+#: dnf/plugin.py:252
 msgid "No matches found for the following disable plugin patterns: {}"
 msgstr ""
 
-#: dnf/repo.py:84
+#: dnf/repo.py:85
 #, python-format
 msgid "no matching payload factory for %s"
 msgstr ""
 
 #. pinging mirrors, this might take a while
-#: dnf/repo.py:346
+#: dnf/repo.py:347
 #, python-format
 msgid "determining the fastest mirror (%s hosts).. "
 msgstr ""
@@ -4013,50 +4019,51 @@ msgid "Missing object key \"{key}\" in groups.packages."
 msgstr ""
 
 #: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
+#: dnf/transaction_sr.py:431
 #, python-format
 msgid "Group id '%s' is not installed."
 msgstr ""
 
-#: dnf/transaction_sr.py:432
+#: dnf/transaction_sr.py:442
 #, python-format
 msgid "Environment id '%s' is not available."
 msgstr ""
 
-#: dnf/transaction_sr.py:456
+#: dnf/transaction_sr.py:466
 #, python-brace-format
 msgid ""
 "Invalid value \"{group_type}\" of environments.groups.group_type, only "
 "\"mandatory\" or \"optional\" is supported."
 msgstr ""
 
-#: dnf/transaction_sr.py:464
+#: dnf/transaction_sr.py:474
 #, python-brace-format
 msgid "Missing object key \"{key}\" in environments.groups."
 msgstr ""
 
-#: dnf/transaction_sr.py:542
+#: dnf/transaction_sr.py:564
 #, python-brace-format
 msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
 msgstr ""
 
-#: dnf/transaction_sr.py:547
+#: dnf/transaction_sr.py:569
 #, python-brace-format
 msgid "Missing object key \"{key}\" in a group."
 msgstr ""
 
-#: dnf/transaction_sr.py:571
+#: dnf/transaction_sr.py:595
 #, python-brace-format
 msgid ""
 "Unexpected value of environment action \"{action}\" for environment "
 "\"{env}\"."
 msgstr ""
 
-#: dnf/transaction_sr.py:576
+#: dnf/transaction_sr.py:600
 #, python-brace-format
 msgid "Missing object key \"{key}\" in an environment."
 msgstr ""
 
-#: dnf/transaction_sr.py:615
+#: dnf/transaction_sr.py:639
 #, python-brace-format
 msgid ""
 "Package nevra \"{nevra}\", which is not present in the transaction file, was "
diff --git a/po/fr.po b/po/fr.po
index d7b424b3..15c4a029 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,38 +9,35 @@
 # dominique bribanick <chepioq@gmail.com>, 2011
 # Jérôme Fenal <jfenal@gmail.com>, 2014
 # Kévin Raymond <shaiton@fedoraproject.org>, 2011
-# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2016. #zanata, 2020, 2021.
+# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2016. #zanata, 2020.
 # José Fournier <jaaf64@zoraldia.com>, 2016. #zanata
-# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2017. #zanata, 2020, 2021.
+# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2017. #zanata, 2020.
 # 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, 2021.
-# Ludek Janda <ljanda@redhat.com>, 2018. #zanata
-# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata, 2020, 2021.
+# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2018. #zanata, 2020.
+# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2022.
+# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata, 2020.
 # Julien Humbert <julroy67@gmail.com>, 2020, 2021.
-# Karim ALI ABDELMAKSOU ABDELHAMID <contact@maksoud-karim.net>, 2020.
-# Arnaud T. <listes.00@gmail.com>, 2020, 2021.
-# Guillaume Jacob <abun.lp@gmail.com>, 2021.
-# Côme Borsoi <fedora@borsoi.fr>, 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.
-# Alexandre GUIOT--VALENTIN <reach@42paris.fr>, 2022.
-# Arthur Tavernier <arthur.tavernier45@gmail.com>, 2022.
+# Transtats <suanand@redhat.com>, 2022, 2023.
+# blutch112 <vincent.lefebvre59@gmail.com>, 2022.
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-11 02:46+0000\n"
-"PO-Revision-Date: 2022-06-22 19:18+0000\n"
-"Last-Translator: Arthur Tavernier <arthur.tavernier45@gmail.com>\n"
-"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/dnf-master/fr/>\n"
+"POT-Creation-Date: 2023-02-28 10:24+0100\n"
+"PO-Revision-Date: 2023-03-06 13:20+0000\n"
+"Last-Translator: Transtats <suanand@redhat.com>\n"
+"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/"
+"dnf-rhel-9/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.13\n"
+"X-Generator: Weblate 4.15.2\n"
 
 #: dnf/automatic/emitter.py:32
 #, python-format
@@ -125,7 +122,7 @@ msgstr "Le système est hors-ligne."
 msgid "Error: %s"
 msgstr "Erreur : %s"
 
-#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481
+#: dnf/base.py:150 dnf/base.py:484 dnf/base.py:486
 msgid "loading repo '{}' failure: {}"
 msgstr "Erreur lors du chargement du dépôt « {} » : {}"
 
@@ -133,76 +130,76 @@ msgstr "Erreur lors du chargement du dépôt « {} » : {}"
 msgid "Loading repository '{}' has failed"
 msgstr "Échec du chargement du dépôt « {} »"
 
-#: dnf/base.py:329
+#: dnf/base.py:334
 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:334
+#: dnf/base.py:339
 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:339
+#: dnf/base.py:344
 msgid "Metadata timer caching disabled."
 msgstr "Mise en cache temporisée des métadonnées désactivée."
 
-#: dnf/base.py:344
+#: dnf/base.py:349
 msgid "Metadata cache refreshed recently."
 msgstr "Cache des métadonnées mis à jour récemment."
 
-#: dnf/base.py:350 dnf/cli/commands/__init__.py:91
+#: dnf/base.py:355 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:357
+#: dnf/base.py:362
 #, 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:359
+#: dnf/base.py:364
 #, 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:363
+#: dnf/base.py:368
 #, 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:367
+#: dnf/base.py:372
 #, python-format
 msgid "%s: will expire after %d seconds."
 msgstr "%s : expireront après %d secondes."
 
 #. performs the md sync
-#: dnf/base.py:373
+#: dnf/base.py:378
 msgid "Metadata cache created."
 msgstr "Cache des métadonnées créé."
 
-#: dnf/base.py:406 dnf/base.py:473
+#: dnf/base.py:411 dnf/base.py:478
 #, python-format
 msgid "%s: using metadata from %s."
 msgstr "%s : utilisation des métadonnées depuis le %s."
 
-#: dnf/base.py:418 dnf/base.py:486
+#: dnf/base.py:423 dnf/base.py:491
 #, python-format
 msgid "Ignoring repositories: %s"
 msgstr "Dépôts ignorés : %s"
 
-#: dnf/base.py:421
+#: dnf/base.py:426
 #, 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:514
+#: dnf/base.py:519
 msgid ""
 "The downloaded packages were saved in cache until the next successful "
 "transaction."
@@ -210,59 +207,59 @@ msgstr ""
 "Les paquets téléchargés ont été mis en cache jusqu’à la prochaine "
 "transaction réussie."
 
-#: dnf/base.py:516
+#: dnf/base.py:521
 #, 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:648
+#: dnf/base.py:653
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "tsflag invalide dans le fichier de configuration : %s"
 
-#: dnf/base.py:706
+#: dnf/base.py:711
 #, 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:968
+#: dnf/base.py:973
 msgid "Running transaction check"
 msgstr "Test de la transaction"
 
-#: dnf/base.py:976
+#: dnf/base.py:981
 msgid "Error: transaction check vs depsolve:"
 msgstr ""
 "Erreur : vérification de transaction contre résolution des dépendances :"
 
-#: dnf/base.py:982
+#: dnf/base.py:987
 msgid "Transaction check succeeded."
 msgstr "La vérification de la transaction a réussi."
 
-#: dnf/base.py:985
+#: dnf/base.py:990
 msgid "Running transaction test"
 msgstr "Lancement de la transaction de test"
 
-#: dnf/base.py:995 dnf/base.py:1146
+#: dnf/base.py:1000 dnf/base.py:1151
 msgid "RPM: {}"
 msgstr "RPM : {}"
 
-#: dnf/base.py:996
+#: dnf/base.py:1001
 msgid "Transaction test error:"
 msgstr "Erreur de la transaction de test :"
 
-#: dnf/base.py:1007
+#: dnf/base.py:1012
 msgid "Transaction test succeeded."
 msgstr "Transaction de test réussie."
 
-#: dnf/base.py:1028
+#: dnf/base.py:1033
 msgid "Running transaction"
 msgstr "Exécution de la transaction"
 
-#: dnf/base.py:1065
+#: dnf/base.py:1070
 msgid "Disk Requirements:"
 msgstr "Besoins en espace disque :"
 
-#: dnf/base.py:1068
+#: dnf/base.py:1073
 #, 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."
@@ -270,43 +267,43 @@ 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:1075
+#: dnf/base.py:1080
 msgid "Error Summary"
 msgstr "Résumé des erreurs"
 
-#: dnf/base.py:1101
+#: dnf/base.py:1106
 #, python-brace-format
 msgid "RPMDB altered outside of {prog}."
 msgstr "RPMDB modifié en dehors de {prog}."
 
-#: dnf/base.py:1147 dnf/base.py:1155
+#: dnf/base.py:1152 dnf/base.py:1160
 msgid "Could not run transaction."
 msgstr "Impossible d’exécuter la transaction."
 
-#: dnf/base.py:1150
+#: dnf/base.py:1155
 msgid "Transaction couldn't start:"
 msgstr "La transaction n’a pas pu démarrer :"
 
-#: dnf/base.py:1164
+#: dnf/base.py:1169
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "Échec de la suppression du fichier de transaction %s"
 
-#: dnf/base.py:1246
+#: dnf/base.py:1251
 msgid "Some packages were not downloaded. Retrying."
 msgstr "Certains paquets n’ont pas été téléchargés. Nouvel essai."
 
-#: dnf/base.py:1276
+#: dnf/base.py:1281
 #, python-format
 msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
 msgstr ""
 "Les RPM Delta ont réduit les mises à jour de %.1f Mo à %.1f Mo (%.1f%% "
 "économisé)"
 
-#: dnf/base.py:1280
+#: dnf/base.py:1285
 #, python-format
 msgid ""
 "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
@@ -314,77 +311,77 @@ msgstr ""
 "Les échecs des RPM Delta ont augmenté les mises à jour de %.1f Mo à %.1f Mo "
 "(%.1f%% gaspillés)"
 
-#: dnf/base.py:1322
+#: dnf/base.py:1327
 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:1336
+#: dnf/base.py:1341
 msgid "Could not open: {}"
 msgstr "Impossible d’ouvrir : {}"
 
-#: dnf/base.py:1374
+#: dnf/base.py:1379
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "La clé publique pour %s n’est pas installée"
 
-#: dnf/base.py:1378
+#: dnf/base.py:1383
 #, python-format
 msgid "Problem opening package %s"
 msgstr "Problème à l’ouverture du paquet %s"
 
-#: dnf/base.py:1386
+#: dnf/base.py:1391
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "La clé publique pour %s n’est pas de confiance"
 
-#: dnf/base.py:1390
+#: dnf/base.py:1395
 #, python-format
 msgid "Package %s is not signed"
 msgstr "Le paquet %s n’est pas signé"
 
-#: dnf/base.py:1420
+#: dnf/base.py:1425
 #, python-format
 msgid "Cannot remove %s"
 msgstr "Impossible de supprimer %s"
 
-#: dnf/base.py:1424
+#: dnf/base.py:1429
 #, python-format
 msgid "%s removed"
 msgstr "%s supprimé"
 
-#: dnf/base.py:1704
+#: dnf/base.py:1709
 msgid "No match for group package \"{}\""
 msgstr "Aucune correspondance pour le paquet du groupe « {} »"
 
-#: dnf/base.py:1786
+#: dnf/base.py:1791
 #, python-format
 msgid "Adding packages from group '%s': %s"
 msgstr "Ajout de paquets en provenance du groupe « %s » : %s"
 
-#: dnf/base.py:1809 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
+#: dnf/base.py:1814 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:1827
+#: dnf/base.py:1832
 msgid "No groups marked for removal."
 msgstr "Aucun groupe marqué pour suppression."
 
-#: dnf/base.py:1861
+#: dnf/base.py:1866
 msgid "No group marked for upgrade."
 msgstr "Aucun groupe marqué pour mise à jour."
 
-#: dnf/base.py:2075
+#: dnf/base.py:2080
 #, 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:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136
-#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417
+#: dnf/base.py:2082 dnf/base.py:2101 dnf/base.py:2114 dnf/base.py:2145
+#: dnf/base.py:2215 dnf/base.py:2223 dnf/base.py:2357 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
@@ -394,30 +391,30 @@ msgstr "Le paquet %s n’est pas installé, impossible de le rétrograder."
 msgid "No match for argument: %s"
 msgstr "Aucune correspondance pour l’argument : %s"
 
-#: dnf/base.py:2084
+#: dnf/base.py:2089
 #, 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:2107
+#: dnf/base.py:2112
 #, 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:2122
+#: dnf/base.py:2127
 #, 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:2133
+#: dnf/base.py:2142
 #, 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:2143
+#: dnf/base.py:2152
 #, python-format
 msgid ""
 "The same or higher version of %s is already installed, cannot update it."
@@ -425,173 +422,176 @@ msgstr ""
 "La même une ou version supérieure de %s est déjà installée, mise à jour "
 "impossible."
 
-#: dnf/base.py:2203 dnf/cli/commands/reinstall.py:81
+#: dnf/base.py:2212 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:2209
+#: dnf/base.py:2218
 #, 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:2234
+#: dnf/base.py:2243
 #, python-format
 msgid "No package %s installed."
 msgstr "Aucun paquet %s installé."
 
-#: dnf/base.py:2252 dnf/cli/commands/install.py:136
+#: dnf/base.py:2261 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:2267 dnf/cli/commands/__init__.py:676
+#: dnf/base.py:2276 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:2355 dnf/cli/cli.py:428
+#: dnf/base.py:2364 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:2360
+#: dnf/base.py:2369
 #, 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:2460
+#: dnf/base.py:2469
 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:2462
+#: dnf/base.py:2471
 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:2466
+#: dnf/base.py:2475
 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:2468
+#: dnf/base.py:2477
 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:2489
+#: dnf/base.py:2498
 #, 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:2497
+#: dnf/base.py:2506
 #, python-format
 msgid ". Failing package is: %s"
 msgstr ". Le paquet en erreur est : %s"
 
-#: dnf/base.py:2498
+#: dnf/base.py:2507
 #, python-format
 msgid "GPG Keys are configured as: %s"
 msgstr "Les clés GPG sont configurées comme : %s"
 
-#: dnf/base.py:2510
+#: dnf/base.py:2519
 #, 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:2546
+#: dnf/base.py:2555
 msgid "The key has been approved."
 msgstr "La clef a été approuvée."
 
-#: dnf/base.py:2549
+#: dnf/base.py:2558
 msgid "The key has been rejected."
 msgstr "La clef a été rejetée."
 
-#: dnf/base.py:2582
+#: dnf/base.py:2591
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "L’import de la clé a échoué (code %d)"
 
-#: dnf/base.py:2584
+#: dnf/base.py:2593
 msgid "Key imported successfully"
 msgstr "La clé a bien été importée"
 
-#: dnf/base.py:2588
+#: dnf/base.py:2597
 msgid "Didn't install any keys"
 msgstr "Toutes les clés n’ont pas été installées"
 
-#: dnf/base.py:2591
+#: dnf/base.py:2600
 #, 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:2602
+#: dnf/base.py:2611
 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:2655
+#: dnf/base.py:2664
 msgid "  * Maybe you meant: {}"
 msgstr "  * Peut-être vouliez-vous dire : {}"
 
-#: dnf/base.py:2687
+#: dnf/base.py:2696
 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:2690
+#: dnf/base.py:2699
 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:2693
+#: dnf/base.py:2702
 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
 msgstr "Le paquet \"{}\" du dépôt \"{}\" a une somme de contrôle incorrecte"
 
-#: dnf/base.py:2696
+#: dnf/base.py:2705
 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:2714 dnf/base.py:2734
+#: dnf/base.py:2723 dnf/base.py:2743
 msgid "No match for argument"
 msgstr "Aucune correspondance pour le paramètre"
 
-#: dnf/base.py:2722 dnf/base.py:2742
+#: dnf/base.py:2731 dnf/base.py:2751
 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:2724
+#: dnf/base.py:2733
 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:2740
+#: dnf/base.py:2749
 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:2787
+#: dnf/base.py:2796
 #, python-format
 msgid "Package %s is already installed."
 msgstr "Le paquet %s est déjà installé."
@@ -643,17 +643,25 @@ 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:173
 #, python-brace-format
 msgid ""
-"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."
+"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 "
+"<module_name> ». Après la réinitialisation, vous pouvez installer les autres "
+"flux."
 
 #: dnf/cli/cli.py:212
 #, python-brace-format
@@ -690,7 +698,8 @@ 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:337
@@ -747,8 +756,9 @@ msgid ""
 "No matches found. If searching for a file, try specifying the full path or "
 "using a wildcard prefix (\"*/\") at the beginning."
 msgstr ""
-"Aucun résultat. Si vous cherchez un fichier, essayez le chemin absolu or un "
-"prefixe wildcard (\"*/\") au début."
+"Aucune correspondance trouvée. Si vous recherchez un fichier, essayez de "
+"spécifier le chemin d'accès complet ou d'utiliser un préfixe joker (\"*/\") "
+"au début."
 
 #: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237
 #, python-format
@@ -762,8 +772,8 @@ msgstr "Aucun dépôt ne correspond à %s"
 
 #: dnf/cli/cli.py:721
 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)."
@@ -796,8 +806,8 @@ 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:822
 msgid ""
@@ -869,7 +879,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"
@@ -881,8 +892,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"
@@ -892,7 +905,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
@@ -1324,8 +1338,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"
@@ -1340,8 +1354,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"
@@ -1374,8 +1388,8 @@ msgstr "Vous n’avez pas accès à la base de données de l’historique : %s"
 #: 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."
@@ -1421,7 +1435,8 @@ 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:294
@@ -1491,8 +1506,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 ""
@@ -1531,11 +1545,11 @@ msgstr "Le paquet %s n’est pas installé."
 
 #: 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:80
 msgid "list all module streams, profiles and states"
@@ -1831,8 +1845,8 @@ msgid ""
 "shows results that requires, suggests, supplements, enhances, or recommends "
 "package provides and files REQ"
 msgstr ""
-"affiche les résultats qui nécessitent, suggèrent, supplémentent, améliorent "
-"ou recommandent des paquets et des fichiers REQ"
+"montre des résultats qui requièrent, suggèrent, complètent, améliorent ou "
+"recommandent le paquet fournit et classe REQ"
 
 #: dnf/cli/commands/repoquery.py:139
 msgid "show only results that obsolete REQ"
@@ -1870,8 +1884,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 ""
@@ -1929,8 +1943,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"
@@ -2078,23 +2092,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"
@@ -2108,16 +2122,20 @@ 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 the packages."
 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 les paquets donnés."
+" Afficher une arborescence des paquets pour le paquet donné."
 
 #: dnf/cli/commands/search.py:46
 msgid "search package details for the given string"
@@ -2154,8 +2172,7 @@ msgstr "Description"
 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 " & "
@@ -2289,7 +2306,8 @@ 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"
 
@@ -2364,8 +2382,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 ""
@@ -2535,8 +2552,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"
@@ -2679,8 +2696,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"
@@ -2697,8 +2713,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"
@@ -2718,8 +2734,8 @@ msgid ""
 "Accepts an id, a comma-separated list of ids, or a glob of ids. This option "
 "can be specified multiple times."
 msgstr ""
-"Active temporairement les dépots lors de l'exécution de la commande dnf "
-"courante. Accepte un id, une liste d'ids séparés par des virgules, ou un "
+"Active temporairement les référentiels pour les besoins de la commande dnf "
+"actuelle. Accepte un id, une liste d'ids séparés par des virgules, ou un "
 "glob d'ids. Cette option peut être spécifiée plusieurs fois."
 
 #: dnf/cli/option_parser.py:268
@@ -2729,18 +2745,18 @@ msgid ""
 "This option can be specified multiple times, but is mutually exclusive with "
 "`--repo`."
 msgstr ""
-"Désactive temporairement les dépots actifs lors de l'exécution de la "
-"commande dnf courante. Accepte un id, une liste d'ids séparés par des "
-"virgules, ou un glob d'ids. Cette option peut être spécifiée plusieurs fois,"
-" mais est mutuellement exclusiver avec '--repo'."
+"Désactive temporairement les référentiels actifs pour les besoins de la "
+"commande dnf actuelle. Accepte un id, une liste d'ids séparés par des "
+"virgules, ou un glob d'ids. Cette option peut être spécifiée plusieurs fois, "
+"mais est mutuellement exclusive avec `--repo`."
 
 #: dnf/cli/option_parser.py:275
 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:280
 msgid "enable repos with config-manager command (automatically saves)"
@@ -2835,8 +2851,8 @@ msgstr ""
 #: dnf/cli/option_parser.py:344
 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:347
 msgid "Include packages needed to fix the given CVE, in updates"
@@ -3137,8 +3153,7 @@ msgstr "Taille des paquets installés : %s"
 #: 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:974
 #, python-format
@@ -3618,8 +3633,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
@@ -3661,7 +3676,8 @@ 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:477 dnf/transaction_sr.py:487
+#: dnf/comps.py:622 dnf/transaction_sr.py:487 dnf/transaction_sr.py:497
+#: dnf/transaction_sr.py:507
 #, python-format
 msgid "Environment id '%s' is not installed."
 msgstr "L’id d’environnement « %s » n’est pas installé."
@@ -3774,6 +3790,11 @@ msgstr ""
 msgid "Parsing file \"{}\" failed: {}"
 msgstr "La lecture du fichier « {} » a échoué : {}"
 
+#: dnf/conf/substitutions.py:66
+#, python-brace-format
+msgid "Error when parsing a variable from file '{0}': {1}"
+msgstr "Erreur lors de l'analyse d'une variable du fichier '{0}' : {1}"
+
 #: dnf/crypto.py:108
 #, python-format
 msgid "repo %s: 0x%s already imported"
@@ -3797,7 +3818,7 @@ msgstr "NON vérifié avec un enregistrement DNS."
 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:302
+#: dnf/db/group.py:308
 msgid ""
 "No available modular metadata for modular package '{}', it cannot be "
 "installed on the system"
@@ -3805,16 +3826,16 @@ 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:353
+#: dnf/db/group.py:359
 #, python-format
 msgid "An rpm exception occurred: %s"
 msgstr "Une exception rpm s'est produite : %s"
 
-#: dnf/db/group.py:355
+#: dnf/db/group.py:361
 msgid "No available modular metadata for modular package"
 msgstr "Aucune métadonnée de module disponible pour le paquet modulaire"
 
-#: dnf/db/group.py:389
+#: dnf/db/group.py:395
 #, python-format
 msgid "Will not install a source rpm package (%s)."
 msgstr "Un paquet source rpm ne sera pas installé (%s)."
@@ -3823,8 +3844,8 @@ msgstr "Un paquet source rpm ne sera pas installé (%s)."
 msgid ""
 "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
 msgstr ""
-"L’option de configuration « gpgkey_dns_verification » nécessite "
-"python3-unbound({})"
+"L’option de configuration « gpgkey_dns_verification » nécessite python3-"
+"unbound({})"
 
 #: dnf/dnssec.py:243
 msgid "DNSSEC extension: Key for user "
@@ -3846,7 +3867,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:267
+#: dnf/drpm.py:62 dnf/repo.py:268
 #, python-format
 msgid "unsupported checksum type: %s"
 msgstr "type de somme de contrôle non pris en charge : %s"
@@ -3899,10 +3920,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 dnf/yum 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 '{}'."
@@ -3995,8 +4018,8 @@ msgstr "Profil inutile ignoré : {}/{}"
 #, python-brace-format
 msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
 msgstr ""
-"Toutes les correspondances 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:94 dnf/module/module_base.py:204
 #, python-brace-format
@@ -4018,8 +4041,7 @@ msgstr "Impossible de faire correspondre le profil pour l’argument {}"
 
 #: 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:124
 msgid "No profiles for module {}:{}"
@@ -4031,15 +4053,14 @@ msgstr "Le profil par défaut {} n’est pas disponible dans le module {} : {}"
 
 #: 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"
+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} »"
+"Aucune correspondance active pour le paramètre « {0} » dans le module « {1}:"
+"{2} »"
 
 #: dnf/module/module_base.py:228
 #, python-brace-format
@@ -4063,8 +4084,8 @@ msgstr "Impossible de résoudre le paramètre {}"
 #, 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:340 dnf/module/module_base.py:368
 msgid "Unable to match profile in argument {}"
@@ -4078,16 +4099,15 @@ 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"
+"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: "
-"'{}'"
+"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 : « {} »"
@@ -4125,34 +4145,34 @@ msgstr "N’a pas pu déterminer l’heure du dernier makecache."
 msgid "Parsing file failed: %s"
 msgstr "La lecture du fichier a échoué : %s"
 
-#: dnf/plugin.py:141
+#: dnf/plugin.py:144
 #, python-format
 msgid "Loaded plugins: %s"
 msgstr "Plugins chargés : %s"
 
-#: dnf/plugin.py:211
+#: dnf/plugin.py:216
 #, python-format
 msgid "Failed loading plugin \"%s\": %s"
 msgstr "Échec lors du chargement du module « %s » : %s"
 
-#: dnf/plugin.py:243
+#: dnf/plugin.py:248
 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:247
+#: dnf/plugin.py:252
 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
+#: dnf/repo.py:85
 #, python-format
 msgid "no matching payload factory for %s"
 msgstr "aucune fabrique de contenu ne correspond à %s"
 
 #. pinging mirrors, this might take a while
-#: dnf/repo.py:346
+#: dnf/repo.py:347
 #, python-format
 msgid "determining the fastest mirror (%s hosts).. "
 msgstr "détermination du miroir le plus rapide (%s hôtes).. "
@@ -4196,8 +4216,8 @@ 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"
+"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
@@ -4275,8 +4295,8 @@ 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:224
 msgid ""
@@ -4302,7 +4322,8 @@ msgstr "Clé objet « {key} » manquante dans un rpm."
 
 #: 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} »."
@@ -4339,7 +4360,8 @@ msgstr ""
 
 #: 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} »."
@@ -4355,16 +4377,17 @@ msgid "Missing object key \"{key}\" in groups.packages."
 msgstr "Clé d’objet « {key} » manquante dans groups.packages."
 
 #: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
+#: dnf/transaction_sr.py:431
 #, python-format
 msgid "Group id '%s' is not installed."
 msgstr "ID de groupe « %s » non installé."
 
-#: dnf/transaction_sr.py:432
+#: dnf/transaction_sr.py:442
 #, python-format
 msgid "Environment id '%s' is not available."
 msgstr "ID d’environnement « %s » non disponible."
 
-#: dnf/transaction_sr.py:456
+#: dnf/transaction_sr.py:466
 #, python-brace-format
 msgid ""
 "Invalid value \"{group_type}\" of environments.groups.group_type, only "
@@ -4373,40 +4396,42 @@ msgstr ""
 "Valeur invalide « {group_type} » pour environments.groups.group_type, seuls "
 "« mandatory » ou « optional » sont pris en charge."
 
-#: dnf/transaction_sr.py:464
+#: dnf/transaction_sr.py:474
 #, python-brace-format
 msgid "Missing object key \"{key}\" in environments.groups."
 msgstr "Clé d’objet « {key} » manquante dans environments.groups."
 
-#: dnf/transaction_sr.py:542
+#: dnf/transaction_sr.py:564
 #, 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:547
+#: dnf/transaction_sr.py:569
 #, python-brace-format
 msgid "Missing object key \"{key}\" in a group."
 msgstr "Clé d’objet « {key} » manquante dans un groupe."
 
-#: dnf/transaction_sr.py:571
+#: dnf/transaction_sr.py:595
 #, 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:576
+#: dnf/transaction_sr.py:600
 #, python-brace-format
 msgid "Missing object key \"{key}\" in an environment."
 msgstr "Clé d’objet « {key} » manquante dans un environnement."
 
-#: dnf/transaction_sr.py:615
+#: dnf/transaction_sr.py:639
 #, 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."
@@ -4448,9 +4473,6 @@ msgstr "Échec"
 msgid "<name-unset>"
 msgstr "<name-unset>"
 
-#~ msgid "Already downloaded"
-#~ msgstr "Déjà téléchargé"
-
 #~ msgid "No Matches found"
 #~ msgstr "Aucune correspondance trouvée"
 
@@ -4458,15 +4480,18 @@ msgstr "<name-unset>"
 #~ "Enable additional repositories. List option. Supports globs, can be "
 #~ "specified multiple times."
 #~ msgstr ""
-#~ "Active les dépôts additionnels. Option de liste. Prend en charge les globs, "
-#~ "peut être renseigné plusieurs fois."
+#~ "Active les dépôts additionnels. Option de liste. Prend en charge les "
+#~ "globs, peut être renseigné plusieurs fois."
 
 #~ 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."
+#~ "Désactive les dépôts. Option de liste. Prend en charge les globs, peut "
+#~ "être renseigné plusieurs fois."
+
+#~ msgid "Already downloaded"
+#~ msgstr "Déjà téléchargé"
 
 #~ msgid "skipping."
 #~ msgstr "ignorer."
@@ -4475,8 +4500,8 @@ msgstr "<name-unset>"
 #~ "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 "
-#~ "paquet : {package}."
+#~ "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"
@@ -4491,7 +4516,7 @@ msgstr "<name-unset>"
 #~ msgstr "L’identifiant de transaction fourni est introuvable"
 
 #~ msgid "Undoing transaction {}, from {}"
-#~ msgstr "Révocation de la transaction {}, de {}"
+#~ msgstr "Révocation de lla transaction {}, de {}"
 
 #~ msgid "Errors in \"{filename}\":"
 #~ msgstr "Erreurs dans « {filename} » :"
@@ -4503,13 +4528,15 @@ msgstr "<name-unset>"
 #~ 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 ab2051c5..585f7c19 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, 2021.
+# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021, 2022.
 # Noriko Mizumoto <noriko.mizumoto@gmail.com>, 2018. #zanata
 # Ooyama Yosiyuki <qqke6wd9k@apricot.ocn.ne.jp>, 2018. #zanata
 # Hajime Taira <htaira@fedoraproject.org>, 2019. #zanata
@@ -23,22 +23,23 @@
 # Casey Jones <nahareport@yahoo.com>, 2020.
 # Hajime Taira <htaira@pantora.net>, 2020.
 # Sundeep Anand <suanand@redhat.com>, 2021.
-# Transtats <suanand@redhat.com>, 2022.
-# Yuto Nishiwaki <nishiwakiyuto.per@gmail.com>, 2022.
+# Transtats <suanand@redhat.com>, 2022, 2023.
+# middlingphys <middlingphys@users.noreply.translate.fedoraproject.org>, 2023.
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-11 02:46+0000\n"
-"PO-Revision-Date: 2022-03-22 05:16+0000\n"
-"Last-Translator: Yuto Nishiwaki <nishiwakiyuto.per@gmail.com>\n"
-"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/dnf-master/ja/>\n"
+"POT-Creation-Date: 2023-02-28 10:24+0100\n"
+"PO-Revision-Date: 2023-03-06 13:20+0000\n"
+"Last-Translator: Transtats <suanand@redhat.com>\n"
+"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/"
+"dnf-rhel-9/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.11.2\n"
+"X-Generator: Weblate 4.15.2\n"
 
 #: dnf/automatic/emitter.py:32
 #, python-format
@@ -122,7 +123,7 @@ msgstr "システムはオフラインです。"
 msgid "Error: %s"
 msgstr "エラー: %s"
 
-#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481
+#: dnf/base.py:150 dnf/base.py:484 dnf/base.py:486
 msgid "loading repo '{}' failure: {}"
 msgstr "repo '{}' のロードに失敗しました: {}"
 
@@ -130,236 +131,247 @@ msgstr "repo '{}' のロードに失敗しました: {}"
 msgid "Loading repository '{}' has failed"
 msgstr "repository '{}' のロードに失敗しました"
 
-#: dnf/base.py:329
+#: dnf/base.py:334
 msgid "Metadata timer caching disabled when running on metered connection."
-msgstr "metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。"
+msgstr ""
+"metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。"
 
-#: dnf/base.py:334
+#: dnf/base.py:339
 msgid "Metadata timer caching disabled when running on a battery."
-msgstr "バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。"
+msgstr ""
+"バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。"
 
-#: dnf/base.py:339
+#: dnf/base.py:344
 msgid "Metadata timer caching disabled."
 msgstr "メタデータタイマーキャッシュは無効化されました。"
 
-#: dnf/base.py:344
+#: dnf/base.py:349
 msgid "Metadata cache refreshed recently."
 msgstr "メタデータキャッシュは最近、リフレッシュされました。"
 
-#: dnf/base.py:350 dnf/cli/commands/__init__.py:91
+#: dnf/base.py:355 dnf/cli/commands/__init__.py:91
 msgid "There are no enabled repositories in \"{}\"."
 msgstr "\"{}\" には有効化されたリポジトリーがありません。"
 
-#: dnf/base.py:357
+#: dnf/base.py:362
 #, python-format
 msgid "%s: will never be expired and will not be refreshed."
 msgstr "%s: は期限切れになることはなく、リフレッシュされることもありません。"
 
-#: dnf/base.py:359
+#: dnf/base.py:364
 #, python-format
 msgid "%s: has expired and will be refreshed."
 msgstr "%s: は期限切れとなったのでリフレッシュされます。"
 
 #. expires within the checking period:
-#: dnf/base.py:363
+#: dnf/base.py:368
 #, python-format
 msgid "%s: metadata will expire after %d seconds and will be refreshed now"
 msgstr "%s: メタデータは %d 秒後に期限切れとなり、すぐにリフレッシュされます"
 
-#: dnf/base.py:367
+#: dnf/base.py:372
 #, python-format
 msgid "%s: will expire after %d seconds."
 msgstr "%s: は %d 秒後に期限切れとなります。"
 
 #. performs the md sync
-#: dnf/base.py:373
+#: dnf/base.py:378
 msgid "Metadata cache created."
 msgstr "メタデータキャッシュを作成しました。"
 
-#: dnf/base.py:406 dnf/base.py:473
+#: dnf/base.py:411 dnf/base.py:478
 #, python-format
 msgid "%s: using metadata from %s."
 msgstr "%s: は %s から取得したメタデータを使用中。"
 
-#: dnf/base.py:418 dnf/base.py:486
+#: dnf/base.py:423 dnf/base.py:491
 #, python-format
 msgid "Ignoring repositories: %s"
 msgstr "リポジトリーを無視します: %s"
 
-#: dnf/base.py:421
+#: dnf/base.py:426
 #, python-format
 msgid "Last metadata expiration check: %s ago on %s."
-msgstr "メタデータの期限切れの最終確認: %s 時間前の %s に実施しました。"
+msgstr "メタデータの期限切れの最終確認: %s 前の %s に実施しました。"
 
-#: dnf/base.py:514
+#: dnf/base.py:519
 msgid ""
 "The downloaded packages were saved in cache until the next successful "
 "transaction."
-msgstr "ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。"
+msgstr ""
+"ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保"
+"存されました。"
 
-#: dnf/base.py:516
+#: dnf/base.py:521
 #, python-format
 msgid "You can remove cached packages by executing '%s'."
 msgstr "'%s' を実行することでキャッシュパッケージを削除できます。"
 
-#: dnf/base.py:648
+#: dnf/base.py:653
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "設定ファイルの tsflag が無効です: %s"
 
-#: dnf/base.py:706
+#: dnf/base.py:711
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "リポジトリーのグループファイルを追加できませんでした: %s - %s"
 
-#: dnf/base.py:968
+#: dnf/base.py:973
 msgid "Running transaction check"
 msgstr "トランザクションの確認を実行中"
 
-#: dnf/base.py:976
+#: dnf/base.py:981
 msgid "Error: transaction check vs depsolve:"
 msgstr "エラー: トランザクションの確認 vs depsolve:"
 
-#: dnf/base.py:982
+#: dnf/base.py:987
 msgid "Transaction check succeeded."
 msgstr "トランザクションの確認に成功しました。"
 
-#: dnf/base.py:985
+#: dnf/base.py:990
 msgid "Running transaction test"
 msgstr "トランザクションのテストを実行中"
 
-#: dnf/base.py:995 dnf/base.py:1146
+#: dnf/base.py:1000 dnf/base.py:1151
 msgid "RPM: {}"
 msgstr "RPM: {}"
 
-#: dnf/base.py:996
+#: dnf/base.py:1001
 msgid "Transaction test error:"
 msgstr "トランザクションテストエラー:"
 
-#: dnf/base.py:1007
+#: dnf/base.py:1012
 msgid "Transaction test succeeded."
 msgstr "トランザクションのテストに成功しました。"
 
-#: dnf/base.py:1028
+#: dnf/base.py:1033
 msgid "Running transaction"
 msgstr "トランザクションを実行中"
 
-#: dnf/base.py:1065
+#: dnf/base.py:1070
 msgid "Disk Requirements:"
 msgstr "ディスク要件:"
 
-#: dnf/base.py:1068
+#: dnf/base.py:1073
 #, 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:1075
+#: dnf/base.py:1080
 msgid "Error Summary"
 msgstr "エラーの概要"
 
-#: dnf/base.py:1101
+#: dnf/base.py:1106
 #, python-brace-format
 msgid "RPMDB altered outside of {prog}."
 msgstr "RPMDBは {prog} のサポート外に変更されました。"
 
-#: dnf/base.py:1147 dnf/base.py:1155
+#: dnf/base.py:1152 dnf/base.py:1160
 msgid "Could not run transaction."
 msgstr "トランザクションを実行できませんでした。"
 
-#: dnf/base.py:1150
+#: dnf/base.py:1155
 msgid "Transaction couldn't start:"
 msgstr "トランザクションを開始できませんでした:"
 
-#: dnf/base.py:1164
+#: dnf/base.py:1169
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "トランザクションファイル %s の削除に失敗しました"
 
-#: dnf/base.py:1246
+#: dnf/base.py:1251
 msgid "Some packages were not downloaded. Retrying."
 msgstr "一部のパッケージはダウンロードされませんでした。再試行中です。"
 
-#: dnf/base.py:1276
+#: dnf/base.py:1281
 #, python-format
 msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
-msgstr "デルタ RPM は、更新の %.1f MB を %.1f MB に削減しました (%.1f%% 節約しました)。"
+msgstr ""
+"Delta RPM により %.1f MB の更新を %.1f MB に削減できました (%.1f%% 節約しまし"
+"た)"
 
-#: dnf/base.py:1280
+#: dnf/base.py:1285
 #, python-format
 msgid ""
 "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
-msgstr "失敗した Delta RPMs は、更新の %.1f MB を %.1f MB に増加しました (%.1f%% は無駄になりました)"
+msgstr ""
+"非効率な Delta RPM により %.1f MB の更新が増大して %.1f MB となりました (%.1f"
+"%% が無駄になりました)"
 
-#: dnf/base.py:1322
+#: dnf/base.py:1327
 msgid "Cannot add local packages, because transaction job already exists"
-msgstr "ローカルパッケージを追加できません、トランザクションジョブがすでに存在するためです"
+msgstr ""
+"ローカルパッケージを追加できません、トランザクションジョブがすでに存在するた"
+"めです"
 
-#: dnf/base.py:1336
+#: dnf/base.py:1341
 msgid "Could not open: {}"
 msgstr "開くことができませんでした: {}"
 
-#: dnf/base.py:1374
+#: dnf/base.py:1379
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "%s の公開鍵がインストールされていません"
 
-#: dnf/base.py:1378
+#: dnf/base.py:1383
 #, python-format
 msgid "Problem opening package %s"
 msgstr "パッケージ %s を開くことができません"
 
-#: dnf/base.py:1386
+#: dnf/base.py:1391
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "%s の公開鍵は信頼されていません"
 
-#: dnf/base.py:1390
+#: dnf/base.py:1395
 #, python-format
 msgid "Package %s is not signed"
 msgstr "パッケージ %s は署名されていません"
 
-#: dnf/base.py:1420
+#: dnf/base.py:1425
 #, python-format
 msgid "Cannot remove %s"
 msgstr "%s を削除できません"
 
-#: dnf/base.py:1424
+#: dnf/base.py:1429
 #, python-format
 msgid "%s removed"
 msgstr "%s を削除しました"
 
-#: dnf/base.py:1704
+#: dnf/base.py:1709
 msgid "No match for group package \"{}\""
 msgstr "グループパッケージ \"{}\" に一致するものはありません"
 
-#: dnf/base.py:1786
+#: dnf/base.py:1791
 #, python-format
 msgid "Adding packages from group '%s': %s"
 msgstr "グループ '%s' からのパッケージを追加します: %s"
 
-#: dnf/base.py:1809 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
+#: dnf/base.py:1814 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:1827
+#: dnf/base.py:1832
 msgid "No groups marked for removal."
 msgstr "削除対象のパッケージはありません。"
 
-#: dnf/base.py:1861
+#: dnf/base.py:1866
 msgid "No group marked for upgrade."
 msgstr "アップグレード対象のグループはありません。"
 
-#: dnf/base.py:2075
+#: dnf/base.py:2080
 #, python-format
 msgid "Package %s not installed, cannot downgrade it."
-msgstr "パッケージ %s はインストールされていないので、ダウングレードできません。"
+msgstr ""
+"パッケージ %s はインストールされていないので、ダウングレードできません。"
 
-#: dnf/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136
-#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417
+#: dnf/base.py:2082 dnf/base.py:2101 dnf/base.py:2114 dnf/base.py:2145
+#: dnf/base.py:2215 dnf/base.py:2223 dnf/base.py:2357 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
@@ -369,178 +381,196 @@ msgstr "パッケージ %s はインストールされていないので、ダ
 msgid "No match for argument: %s"
 msgstr "一致した引数がありません: %s"
 
-#: dnf/base.py:2084
+#: dnf/base.py:2089
 #, python-format
 msgid "Package %s of lower version already installed, cannot downgrade it."
-msgstr "下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。"
+msgstr ""
+"下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできま"
+"せん。"
 
-#: dnf/base.py:2107
+#: dnf/base.py:2112
 #, python-format
 msgid "Package %s not installed, cannot reinstall it."
-msgstr "パッケージ %s はインストールされていないのでの、再インストールできません。"
+msgstr ""
+"パッケージ %s はインストールされていないのでの、再インストールできません。"
 
-#: dnf/base.py:2122
+#: dnf/base.py:2127
 #, python-format
 msgid "File %s is a source package and cannot be updated, ignoring."
 msgstr "ファイル %s はソースパッケージで更新できません。無視します。"
 
-#: dnf/base.py:2133
+#: dnf/base.py:2142
 #, python-format
 msgid "Package %s not installed, cannot update it."
 msgstr "パッケージ %s はインストールされていないので、更新できません。"
 
-#: dnf/base.py:2143
+#: dnf/base.py:2152
 #, python-format
 msgid ""
 "The same or higher version of %s is already installed, cannot update it."
-msgstr "同じまたはさらに新しいバージョンの %s が既にインストールされています、アップデートできません。"
+msgstr ""
+"同じまたはさらに新しいバージョンの %s が既にインストールされています、アップ"
+"デートできません。"
 
-#: dnf/base.py:2203 dnf/cli/commands/reinstall.py:81
+#: dnf/base.py:2212 dnf/cli/commands/reinstall.py:81
 #, python-format
 msgid "Package %s available, but not installed."
 msgstr "パッケージ %s は利用可能ですが、インストールされていません。"
 
-#: dnf/base.py:2209
+#: dnf/base.py:2218
 #, python-format
 msgid "Package %s available, but installed for different architecture."
-msgstr "パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされています。"
+msgstr ""
+"パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされてい"
+"ます。"
 
-#: dnf/base.py:2234
+#: dnf/base.py:2243
 #, python-format
 msgid "No package %s installed."
 msgstr "パッケージ %s はインストールされていません。"
 
-#: dnf/base.py:2252 dnf/cli/commands/install.py:136
+#: dnf/base.py:2261 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:2267 dnf/cli/commands/__init__.py:676
+#: dnf/base.py:2276 dnf/cli/commands/__init__.py:676
 #: dnf/cli/commands/remove.py:162
 msgid "No packages marked for removal."
 msgstr "削除対象のパッケージはありません。"
 
-#: dnf/base.py:2355 dnf/cli/cli.py:428
+#: dnf/base.py:2364 dnf/cli/cli.py:428
 #, python-format
 msgid "Packages for argument %s available, but not installed."
 msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。"
 
-#: dnf/base.py:2360
+#: dnf/base.py:2369
 #, python-format
 msgid "Package %s of lowest version already installed, cannot downgrade it."
-msgstr "最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。"
+msgstr ""
+"最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードでき"
+"ません。"
 
-#: dnf/base.py:2460
+#: dnf/base.py:2469
 msgid "No security updates needed, but {} update available"
 msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です"
 
-#: dnf/base.py:2462
+#: dnf/base.py:2471
 msgid "No security updates needed, but {} updates available"
 msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です"
 
-#: dnf/base.py:2466
+#: dnf/base.py:2475
 msgid "No security updates needed for \"{}\", but {} update available"
 msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です"
 
-#: dnf/base.py:2468
+#: dnf/base.py:2477
 msgid "No security updates needed for \"{}\", but {} updates available"
 msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です"
 
 #. raise an exception, because po.repoid is not in self.repos
-#: dnf/base.py:2489
+#: dnf/base.py:2498
 #, python-format
 msgid "Unable to retrieve a key for a commandline package: %s"
 msgstr "コマンドラインパッケージのキーを取得できません: %s"
 
-#: dnf/base.py:2497
+#: dnf/base.py:2506
 #, python-format
 msgid ". Failing package is: %s"
 msgstr ". 失敗したパッケージは: %s"
 
-#: dnf/base.py:2498
+#: dnf/base.py:2507
 #, python-format
 msgid "GPG Keys are configured as: %s"
 msgstr "GPG 鍵が設定されています: %s"
 
-#: dnf/base.py:2510
+#: dnf/base.py:2519
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "%s (0x%s) の GPG 鍵はインストール済みです"
 
-#: dnf/base.py:2546
+#: dnf/base.py:2555
 msgid "The key has been approved."
 msgstr "鍵が承認されました。"
 
-#: dnf/base.py:2549
+#: dnf/base.py:2558
 msgid "The key has been rejected."
 msgstr "鍵が拒否されました。"
 
-#: dnf/base.py:2582
+#: dnf/base.py:2591
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "鍵のインポートに失敗しました (コード: %d)"
 
-#: dnf/base.py:2584
+#: dnf/base.py:2593
 msgid "Key imported successfully"
 msgstr "鍵のインポートに成功しました"
 
-#: dnf/base.py:2588
+#: dnf/base.py:2597
 msgid "Didn't install any keys"
 msgstr "鍵を 1 つもインストールしませんでした"
 
-#: dnf/base.py:2591
+#: dnf/base.py:2600
 #, 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:2602
+#: dnf/base.py:2611
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?"
 
-#: dnf/base.py:2655
+#: dnf/base.py:2664
 msgid "  * Maybe you meant: {}"
 msgstr "  * おそらく: {}"
 
-#: dnf/base.py:2687
+#: dnf/base.py:2696
 msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
-msgstr "ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
+msgstr ""
+"ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありま"
+"せん"
 
-#: dnf/base.py:2690
+#: dnf/base.py:2699
 msgid "Some packages from local repository have incorrect checksum"
-msgstr "ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません"
+msgstr ""
+"ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません"
 
-#: dnf/base.py:2693
+#: dnf/base.py:2702
 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
-msgstr "リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
+msgstr ""
+"リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
 
-#: dnf/base.py:2696
+#: dnf/base.py:2705
 msgid ""
 "Some packages have invalid cache, but cannot be downloaded due to \"--"
 "cacheonly\" option"
-msgstr "いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプションによりダウンロードできません"
+msgstr ""
+"いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプ"
+"ションによりダウンロードできません"
 
-#: dnf/base.py:2714 dnf/base.py:2734
+#: dnf/base.py:2723 dnf/base.py:2743
 msgid "No match for argument"
-msgstr "一致した引数がありません"
+msgstr "引数に一致する結果がありません"
 
-#: dnf/base.py:2722 dnf/base.py:2742
+#: dnf/base.py:2731 dnf/base.py:2751
 msgid "All matches were filtered out by exclude filtering for argument"
-msgstr "すべての検索結果は引数の除外フィルタリングに一致しません (filter out)"
+msgstr "引数に一致する結果はすべて除外フィルタによって除外されました"
 
-#: dnf/base.py:2724
+#: dnf/base.py:2733
 msgid "All matches were filtered out by modular filtering for argument"
-msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません (filter out)"
+msgstr "引数に一致する結果はすべてモジュールのフィルタによって除外されました"
 
-#: dnf/base.py:2740
+#: dnf/base.py:2749
 msgid "All matches were installed from a different repository for argument"
-msgstr "すべての検索結果は引数に対し異なるレポジトリからインストールされたものです"
+msgstr ""
+"引数に一致する結果はすべて異なるリポジトリーからインストールされたものです"
 
-#: dnf/base.py:2787
+#: dnf/base.py:2796
 #, python-format
 msgid "Package %s is already installed."
 msgstr "パッケージ %s は既にインストールされています。"
@@ -590,16 +620,24 @@ 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:173
 #, python-brace-format
 msgid ""
-"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."
+"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 ""
-"設定オプション module_stream_switch から明示的に有効化されていない限り、モジュールの有効なストリームを切り替えることはできません。\n"
-"モジュールからインストールされた全てのコンテンツを削除し、'{prog} module reset <module_name>' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。"
+"設定オプション module_stream_switch から明示的に有効化されていない限り、モ"
+"ジュールの有効なストリームを切り替えることはできません。\n"
+"モジュールからインストールされた全てのコンテンツを削除し、'{prog} module "
+"reset <module_name>' コマンドを使用してリセットすることが推奨されます。モ"
+"ジュールのリセット後、他のストリームをインストール可能です。"
 
 #: dnf/cli/cli.py:212
 #, python-brace-format
@@ -611,7 +649,9 @@ msgstr "{prog} はトランザクションでパッケージのダウンロー
 msgid ""
 "{prog} will only download packages, install gpg keys, and check the "
 "transaction."
-msgstr "{prog} はパッケージのダウンロード、gpgキーのインストール、トランザクションのチェックのみ行います。"
+msgstr ""
+"{prog} はパッケージのダウンロード、gpgキーのインストール、トランザクションの"
+"チェックのみ行います。"
 
 #: dnf/cli/cli.py:219
 msgid "Operation aborted."
@@ -690,7 +730,9 @@ msgstr "表示するための一致したパッケージはありません"
 msgid ""
 "No matches found. If searching for a file, try specifying the full path or "
 "using a wildcard prefix (\"*/\") at the beginning."
-msgstr "一致するものがありません。ファイルを検索している場合、絶対パスを指定するか文頭にワイルドカードプレフィックス(\"*/\")を使用してください。"
+msgstr ""
+"一致する項目はありませんでした。ファイルを検索する場合は、完全パスを指定する"
+"か、最初にワイルドカードの接頭辞 (「*/」) を使用してみてください。"
 
 #: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237
 #, python-format
@@ -704,9 +746,11 @@ msgstr "一致するリポジトリーがありません: %s"
 
 #: dnf/cli/cli.py:721
 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:751
 #, python-format
@@ -718,38 +762,43 @@ msgstr "そのようなコマンドはありません: %s. %s --help を使用
 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:758
 #, 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:816
 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:822
 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:904
 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:924
 msgid "Config file \"{}\" does not exist"
@@ -759,7 +808,9 @@ msgstr "設定ファイル \"{}\" は存在しません"
 msgid ""
 "Unable to detect release version (use '--releasever' to specify release "
 "version)"
-msgstr "リリースバージョンを検出できません (リリースバージョンを指定するには '--releasever' を使用してください)"
+msgstr ""
+"リリースバージョンを検出できません (リリースバージョンを指定するには '--"
+"releasever' を使用してください)"
 
 #: dnf/cli/cli.py:1018 dnf/cli/commands/repoquery.py:471
 msgid "argument {}: not allowed with argument {}"
@@ -794,13 +845,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"
@@ -819,11 +873,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
@@ -1058,7 +1114,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"
@@ -1140,7 +1197,9 @@ msgstr "pid %d のプロセスが終了するのを待ちます。"
 msgid ""
 "[deprecated, use repoquery --deplist] List package's dependencies and what "
 "packages provide them"
-msgstr "[非推奨、epoquery --deplist を使用] パッケージの依存関係とこれを提供するパッケージがどれかを一覧表示します"
+msgstr ""
+"[非推奨、epoquery --deplist を使用] パッケージの依存関係とこれを提供するパッ"
+"ケージがどれかを一覧表示します"
 
 #: dnf/cli/commands/distrosync.py:32
 msgid "synchronize installed packages to the latest available versions"
@@ -1246,21 +1305,27 @@ msgstr "store コマンドの場合は、トランザクションを保存する
 
 #: dnf/cli/commands/history.py:68
 msgid ""
-"For the replay command, don't check for installed packages matching those in"
-" transaction"
-msgstr "replay コマンドの場合は、トランザクション内のパッケージに一致するインストール済みパッケージを確認しない"
+"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 コマンドの場合は、トランザクションにプルされた追加パッケージを確認しない"
+msgstr ""
+"replay コマンドの場合は、トランザクションにプルされた追加パッケージを確認しな"
+"い"
 
 #: dnf/cli/commands/history.py:74
 msgid ""
-"For the replay command, skip packages that are not available or have missing"
-" dependencies"
-msgstr "replay コマンドの場合は、利用できないパッケージや、依存関係が不足しているパッケージをスキップ"
+"For the replay command, skip packages that are not available or have missing "
+"dependencies"
+msgstr ""
+"replay コマンドの場合は、利用できないパッケージや、依存関係が不足しているパッ"
+"ケージをスキップ"
 
 #: dnf/cli/commands/history.py:94
 msgid ""
@@ -1290,16 +1355,20 @@ msgstr "履歴 DB にアクセスできません: %s"
 #: 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: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"
@@ -1400,7 +1469,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 ""
@@ -1439,9 +1510,11 @@ msgstr "パッケージ %s はインストールされていません。"
 
 #: 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:80
 msgid "list all module streams, profiles and states"
@@ -1517,7 +1590,7 @@ msgstr "プロファイルコンテンツを表示します"
 
 #: dnf/cli/commands/module.py:379
 msgid "remove all modular packages"
-msgstr "すべてのモジュラーパッケージを削除"
+msgstr "モジュールに関連するすべてのパッケージを削除"
 
 #: dnf/cli/commands/module.py:389
 msgid "Module specification"
@@ -1712,7 +1785,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)"
@@ -1731,14 +1806,12 @@ msgid "show only results that conflict REQ"
 msgstr "REQ と競合する結果のみを表示します"
 
 #: dnf/cli/commands/repoquery.py:135
-#, fuzzy
-#| msgid ""
-#| "shows results that requires, suggests, supplements, enhances,or recommends "
-#| "package provides and files 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"
@@ -1780,7 +1853,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"
@@ -1802,7 +1877,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"
@@ -1827,11 +1904,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 "
-"を指定して完全なタグリストを表示"
+"パッケージを一覧表示するための形式の表示: \"%%{name} %%{version} ...\"。--"
+"querytags を指定して完全なタグリストを表示"
 
 #: dnf/cli/commands/repoquery.py:198
 msgid "show available tags to use with --queryformat"
@@ -1842,19 +1919,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"
@@ -1870,7 +1952,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"
@@ -1884,7 +1967,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."
@@ -1909,9 +1993,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."
@@ -1938,7 +2023,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
@@ -1960,26 +2047,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"
@@ -1989,16 +2078,20 @@ 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 the packages."
 msgstr ""
-"正規のスイッチが指定されていません\n"
-"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
+"有効なスイッチが指定されていません\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"
@@ -2035,8 +2128,7 @@ msgstr "説明"
 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 " & "
@@ -2112,7 +2204,8 @@ msgid ""
 "  disable: disable repositories. option = repository id"
 msgstr ""
 "{} arg [オプション]\n"
-" 一覧: リポジトリーとその状態を一覧表示します。オプション = [all | id | glob]\n"
+" 一覧: リポジトリーとその状態を一覧表示します。オプション = [all | id | "
+"glob]\n"
 "  有効化: リポジトリーの有効化。オプション = リポジトリー id\n"
 "  無効化: リポジトリーの無効化。オプション = リポジトリー id"
 
@@ -2170,7 +2263,8 @@ msgstr ""
 "ヘルプ                     ヘルプの印刷\n"
 "リポジトリー (または repo)     リポジトリーの有効化、無効化、または一覧表示\n"
 "resolvedep               トランザクションセットの解決\n"
-"トランザクション (または ts)      トランザクションセットの一覧表示、再設定、または実行\n"
+"トランザクション (または ts)      トランザクションセットの一覧表示、再設定、"
+"または実行\n"
 "実行                      トランザクションセットの解決および実行\n"
 "終了 (または 中止)           シェルの終了"
 
@@ -2190,7 +2284,9 @@ 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"
@@ -2214,7 +2310,7 @@ msgstr "セキュリティー"
 
 #: dnf/cli/commands/updateinfo.py:48
 msgid "newpackage"
-msgstr "newpackage"
+msgstr "新しいパッケージ"
 
 #: dnf/cli/commands/updateinfo.py:50
 msgid "Critical/Sec."
@@ -2242,13 +2338,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"
@@ -2389,7 +2488,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"
@@ -2399,7 +2499,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."
@@ -2411,23 +2513,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."
@@ -2519,7 +2627,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"
@@ -2555,8 +2665,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"
@@ -2576,6 +2686,9 @@ msgid ""
 "Accepts an id, a comma-separated list of ids, or a glob of ids. This option "
 "can be specified multiple times."
 msgstr ""
+"現在の dnf コマンドを機能させるため、リポジトリーを一時的に有効にします。ID、"
+"コンマ区切りの ID 一覧、または ID の glob を使用できます。このオプションは複"
+"数回指定できます。"
 
 #: dnf/cli/option_parser.py:268
 msgid ""
@@ -2584,12 +2697,17 @@ msgid ""
 "This option can be specified multiple times, but is mutually exclusive with "
 "`--repo`."
 msgstr ""
+"現在の dnf コマンドを機能させるため、アクティブなリポジトリーを一時的に無効に"
+"します。ID、コンマ区切りの ID 一覧、または ID の glob を受け入れます。このオ"
+"プションは複数回指定できますが、'-repo' と同時には使用できません。"
 
 #: dnf/cli/option_parser.py:275
 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:280
 msgid "enable repos with config-manager command (automatically saves)"
@@ -2611,7 +2729,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:302
 msgid "disable removal of dependencies that are no longer used"
@@ -2659,7 +2779,7 @@ msgstr "機能拡張関連パッケージを更新に含めます"
 
 #: dnf/cli/option_parser.py:333
 msgid "Include newpackage relevant packages, in updates"
-msgstr "newpackage の関連パッケージを更新に含めます"
+msgstr "新しいパッケージの関連パッケージを更新に含めます"
 
 #: dnf/cli/option_parser.py:336
 msgid "Include security relevant packages, in updates"
@@ -3308,7 +3428,7 @@ msgstr "失敗しました:"
 
 #: dnf/cli/output.py:1764 dnf/cli/output.py:1766
 msgid "Releasever     :"
-msgstr "Releasever     :"
+msgstr "リリースバージョン  :"
 
 #: dnf/cli/output.py:1771 dnf/cli/output.py:1773
 msgid "Command Line   :"
@@ -3316,7 +3436,7 @@ msgstr "コマンドライン      :"
 
 #: dnf/cli/output.py:1778 dnf/cli/output.py:1780
 msgid "Comment        :"
-msgstr "コメント        :"
+msgstr "コメント            :"
 
 #: dnf/cli/output.py:1784
 msgid "Transaction performed with:"
@@ -3336,7 +3456,7 @@ msgstr "エラー:"
 
 #: dnf/cli/output.py:1815
 msgid "Dep-Install"
-msgstr "Dep-Install"
+msgstr "依存先インストール"
 
 #: dnf/cli/output.py:1816
 msgid "Obsoleted"
@@ -3484,7 +3604,8 @@ msgstr "モジュールまたはグループ '%s' は存在しません。"
 msgid "Environment id '%s' does not exist."
 msgstr "環境 id '%s' は存在しません。"
 
-#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
+#: dnf/comps.py:622 dnf/transaction_sr.py:487 dnf/transaction_sr.py:497
+#: dnf/transaction_sr.py:507
 #, python-format
 msgid "Environment id '%s' is not installed."
 msgstr "環境 id '%s' はインストールされていません。"
@@ -3516,7 +3637,7 @@ msgstr "正しくない設定値: %s=%s in %s; %s"
 
 #: dnf/conf/config.py:194
 msgid "Cannot set \"{}\" to \"{}\": {}"
-msgstr "\"{}\" を \"{}\": {} に設定できません。"
+msgstr "\"{}\" を \"{}\": {} に設定できません"
 
 #: dnf/conf/config.py:244
 msgid "Could not set cachedir: {}"
@@ -3566,11 +3687,11 @@ msgstr "警告: '%s' のロードに失敗、スキップします。"
 
 #: dnf/conf/read.py:72
 msgid "Bad id for repo: {} ({}), byte = {} {}"
-msgstr "repo: {} ({}) に正しくないid、 byte = {} {}"
+msgstr "repo の id が不正: {} ({}), byte = {} {}"
 
 #: dnf/conf/read.py:76
 msgid "Bad id for repo: {}, byte = {} {}"
-msgstr "repo: {} に正しくないid、byte = {} {}"
+msgstr "repo の id が不正: {}, byte = {} {}"
 
 #: dnf/conf/read.py:84
 msgid "Repository '{}' ({}): Error parsing config: {}"
@@ -3592,6 +3713,11 @@ msgstr "レポジトリ '{}' idを使用した設定内に見つかりません
 msgid "Parsing file \"{}\" failed: {}"
 msgstr "ファイル \"{}\" の解析に失敗しました: {}"
 
+#: dnf/conf/substitutions.py:66
+#, python-brace-format
+msgid "Error when parsing a variable from file '{0}': {1}"
+msgstr "ファイル '{0}' の変数解析エラー: {1}"
+
 #: dnf/crypto.py:108
 #, python-format
 msgid "repo %s: 0x%s already imported"
@@ -3615,22 +3741,24 @@ msgstr "DNS レコードを使用して検証されませんでした。"
 msgid "retrieving repo key for %s unencrypted from %s"
 msgstr "%s から暗号化されていない %s の repo キーを取得しています"
 
-#: dnf/db/group.py:302
+#: dnf/db/group.py:308
 msgid ""
 "No available modular metadata for modular package '{}', it cannot be "
 "installed on the system"
-msgstr "モジュラーパッケージ '{}' のモジュラーメタデータは利用不可です、システムにインストールはできません"
+msgstr ""
+"モジュールのパッケージ '{}' のモジュールメタデータが利用不可です、システムに"
+"インストールできません"
 
-#: dnf/db/group.py:353
+#: dnf/db/group.py:359
 #, python-format
 msgid "An rpm exception occurred: %s"
 msgstr "rpm 例外が発生しました: %s"
 
-#: dnf/db/group.py:355
+#: dnf/db/group.py:361
 msgid "No available modular metadata for modular package"
-msgstr "モジュラーパッケージ のモジュラーメタデータは利用不可です"
+msgstr "モジュールのパッケージのモジュールメタデータが利用不可です"
 
-#: dnf/db/group.py:389
+#: dnf/db/group.py:395
 #, python-format
 msgid "Will not install a source rpm package (%s)."
 msgstr "ソース rpm パッケージ (%s) をインストールしません。"
@@ -3638,7 +3766,8 @@ msgstr "ソース rpm パッケージ (%s) をインストールしません。"
 #: dnf/dnssec.py:171
 msgid ""
 "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
-msgstr "設定オプション 'gpgkey_dns_verification' は python3-unbound ({}) が必要です"
+msgstr ""
+"設定オプション 'gpgkey_dns_verification' は python3-unbound ({}) が必要です"
 
 #: dnf/dnssec.py:243
 msgid "DNSSEC extension: Key for user "
@@ -3660,7 +3789,7 @@ msgstr "DNSSEC 拡張: "
 msgid "Testing already imported keys for their validity."
 msgstr "すでにインポートされた鍵の有効性をテストします。"
 
-#: dnf/drpm.py:62 dnf/repo.py:267
+#: dnf/drpm.py:62 dnf/repo.py:268
 #, python-format
 msgid "unsupported checksum type: %s"
 msgstr "サポートされていないチェックサム形式: %s"
@@ -3700,21 +3829,23 @@ msgstr "破損したグループまたはモジュール: "
 #: dnf/exceptions.py:126
 msgid "Modular dependency problem with Defaults:"
 msgid_plural "Modular dependency problems with Defaults:"
-msgstr[0] "デフォルトのモジュラー依存問題:"
+msgstr[0] "モジュールのデフォルトの依存関係問題:"
 
 #: dnf/exceptions.py:131 dnf/module/module_base.py:857
 msgid "Modular dependency problem:"
 msgid_plural "Modular dependency problems:"
-msgstr[0] "モジュラーの依存に関する問題:"
+msgstr[0] "モジュールの依存関係問題:"
 
 #: dnf/lock.py:100
 #, 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 '{}'."
@@ -3726,7 +3857,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: {}."
@@ -3734,7 +3866,8 @@ 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: {}"
@@ -3770,7 +3903,8 @@ msgstr "'{}' に指定したストリームはありません。ストリーム
 
 #: dnf/module/exceptions.py:82
 msgid "No such profile: {}. No profiles available"
-msgstr "次のようなプロファイルはありません: {}。利用できるプロファイルはありません"
+msgstr ""
+"次のようなプロファイルはありません: {}。利用できるプロファイルはありません"
 
 #: dnf/module/exceptions.py:88
 msgid "No profile to remove for '{}'"
@@ -3804,25 +3938,31 @@ msgstr "不要なプロファイルを無視します: '{}/{}'"
 #: 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: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:104 dnf/module/module_base.py:214
 msgid ""
 "Unable to match profile for argument {}. Available profiles for '{}:{}': {}"
-msgstr "引数 {} でプロファイルが見つかりません。利用可能プロファイル '{}:{}': {}"
+msgstr ""
+"引数 {} でプロファイルが見つかりません。利用可能プロファイル '{}:{}': {}"
 
 #: dnf/module/module_base.py:108 dnf/module/module_base.py:218
 msgid "Unable to match profile for argument {}"
-msgstr "引数 {} でプロファイルが見つかりません"
+msgstr "引数 {} に一致するプロファイルが見つかりません"
 
 #: dnf/module/module_base.py:120
 msgid "No default profiles for module {}:{}. Available profiles: {}"
-msgstr "モジュール {}:{} にデフォルトのプロファイルがありません。利用可能プロファイル: {}"
+msgstr ""
+"モジュール {}:{} にデフォルトのプロファイルがありません。利用可能プロファイ"
+"ル: {}"
 
 #: dnf/module/module_base.py:124
 msgid "No profiles for module {}:{}"
@@ -3834,7 +3974,8 @@ msgstr "デフォルトのプロファイル {} はモジュール {}:{} で利
 
 #: 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
@@ -3844,7 +3985,9 @@ 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}' では利用できません"
+msgstr ""
+"インストールされたプロファイル '{0}' は、モジュール '{1}' ストリーム '{2}' で"
+"は利用できません"
 
 #: dnf/module/module_base.py:267
 msgid "No packages available to distrosync for package name '{}'"
@@ -3860,7 +4003,9 @@ msgstr "引数 {} を解決できません"
 #: 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:340 dnf/module/module_base.py:368
 msgid "Unable to match profile in argument {}"
@@ -3868,21 +4013,22 @@ msgstr "引数 {} でプロファイルを一致できません"
 
 #: 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"
+"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}' "
-"と一致しますが、有効化されている、あるいはデフォルトのストリームはありません"
+"引数 '{argument}' は、モジュール '{module}' の {stream_count} ストリーム "
+"('{streams}' と一致しますが、有効化されている、あるいはデフォルトのストリーム"
+"はありません"
 
 #: 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/module/module_base.py:844
@@ -3918,31 +4064,31 @@ msgstr "最後の makecache 時間の決定に失敗しました。"
 msgid "Parsing file failed: %s"
 msgstr "ファイルの解析に失敗しました: %s"
 
-#: dnf/plugin.py:141
+#: dnf/plugin.py:144
 #, python-format
 msgid "Loaded plugins: %s"
 msgstr "ロードされたプラグイン: %s"
 
-#: dnf/plugin.py:211
+#: dnf/plugin.py:216
 #, python-format
 msgid "Failed loading plugin \"%s\": %s"
 msgstr "plugin \"%s\" のロードに失敗しました: %s"
 
-#: dnf/plugin.py:243
+#: dnf/plugin.py:248
 msgid "No matches found for the following enable plugin patterns: {}"
 msgstr "以下有効プラグインパターンが見つかりません: {}"
 
-#: dnf/plugin.py:247
+#: dnf/plugin.py:252
 msgid "No matches found for the following disable plugin patterns: {}"
 msgstr "以下無効プラグインパターンが見つかりません: {}"
 
-#: dnf/repo.py:84
+#: dnf/repo.py:85
 #, python-format
 msgid "no matching payload factory for %s"
 msgstr "%s と一致するペイロードファクトリーはありません"
 
 #. pinging mirrors, this might take a while
-#: dnf/repo.py:346
+#: dnf/repo.py:347
 #, python-format
 msgid "determining the fastest mirror (%s hosts).. "
 msgstr "最速のミラーを確定しています (%s hosts).. "
@@ -3968,7 +4114,7 @@ msgstr "署名を検証する rpmkeys 実行ファイルが見つかりません
 
 #: dnf/rpm/transaction.py:70
 msgid "The openDB() function cannot open rpm database."
-msgstr ""
+msgstr "openDB() 関数は rpm データベースを開けません。"
 
 #: dnf/rpm/transaction.py:75
 msgid "The dbCookie() function did not return cookie of rpm database."
@@ -3983,8 +4129,8 @@ 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 "
-"コマンドではサポートされていません"
+"allow_vendor_change は無効になっています。このオプションは、downgrade コマン"
+"ドおよび distro-sync コマンドではサポートされていません"
 
 #. TRANSLATORS: This is for a single package currently being downgraded.
 #: dnf/transaction.py:80
@@ -4037,7 +4183,9 @@ msgstr "準備"
 msgid ""
 "The following problems occurred while replaying the transaction from file "
 "\"{filename}\":"
-msgstr "ファイル \"{filename}\" からのトランザクションの再生中に以下の問題が発生しました:"
+msgstr ""
+"ファイル \"{filename}\" からのトランザクションの再生中に以下の問題が発生しま"
+"した:"
 
 #: dnf/transaction_sr.py:68
 msgid "The following problems occurred while running a transaction:"
@@ -4058,7 +4206,9 @@ msgstr "無効なマイナーバージョン \"{minor}\"。数字が必要です
 msgid ""
 "Incompatible major version \"{major}\", supported major version is "
 "\"{major_supp}\"."
-msgstr "互換性のないメジャーバージョン \"{major}\"。サポートされているメジャーバージョンは \"{major_supp}\" です。"
+msgstr ""
+"互換性のないメジャーバージョン \"{major}\"。サポートされているメジャーバー"
+"ジョンは \"{major_supp}\" です。"
 
 #: dnf/transaction_sr.py:224
 msgid ""
@@ -4082,7 +4232,8 @@ msgstr "オブジェクトキー \"{key}\" が rpm にありません。"
 
 #: 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:297
@@ -4098,24 +4249,32 @@ msgstr "rpm nevra \"{nevra}\" を見つけることはできません。"
 #: dnf/transaction_sr.py:336
 #, python-brace-format
 msgid "Package \"{na}\" is already installed for action \"{action}\"."
-msgstr "パッケージ \"{na}\" は、アクション \"{action}\" 用に既にインストールされています。"
+msgstr ""
+"パッケージ \"{na}\" は、アクション \"{action}\" 用に既にインストールされてい"
+"ます。"
 
 #: dnf/transaction_sr.py:345
 #, python-brace-format
 msgid ""
 "Package nevra \"{nevra}\" not available in repositories for action "
 "\"{action}\"."
-msgstr "アクション \"{action}\" に利用できる パッケージ nevra \"{nevra}\" はレポジトリーにありません。"
+msgstr ""
+"アクション \"{action}\" に利用できる パッケージ nevra \"{nevra}\" はレポジト"
+"リーにありません。"
 
 #: dnf/transaction_sr.py:356
 #, python-brace-format
 msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"."
-msgstr "アクション \"{action}\" には、パッケージ nevra \"{nevra}\" インストールされていません。"
+msgstr ""
+"アクション \"{action}\" には、パッケージ nevra \"{nevra}\" インストールされて"
+"いません。"
 
 #: dnf/transaction_sr.py:370
 #, python-brace-format
-msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
-msgstr "rpm nevra \"{nevra}\" の、パッケージアクション \"{action}\" の予期しない値。"
+msgid ""
+"Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
+msgstr ""
+"rpm nevra \"{nevra}\" の、パッケージアクション \"{action}\" の予期しない値。"
 
 #: dnf/transaction_sr.py:377
 #, python-format
@@ -4128,55 +4287,61 @@ msgid "Missing object key \"{key}\" in groups.packages."
 msgstr "オブジェクトキー \"{key}\" が groups.packages に含まれません。"
 
 #: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
+#: dnf/transaction_sr.py:431
 #, python-format
 msgid "Group id '%s' is not installed."
 msgstr "グループ id '%s' がインストールされていません。"
 
-#: dnf/transaction_sr.py:432
+#: dnf/transaction_sr.py:442
 #, python-format
 msgid "Environment id '%s' is not available."
 msgstr "環境 id '%s' は利用できません。"
 
-#: dnf/transaction_sr.py:456
+#: dnf/transaction_sr.py:466
 #, 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\" のみに対応しています。"
+"environments.groups.group_type の無効な値 \"{group_type}\"。\"mandatory\" ま"
+"たは \"optional\" のみに対応しています。"
 
-#: dnf/transaction_sr.py:464
+#: dnf/transaction_sr.py:474
 #, python-brace-format
 msgid "Missing object key \"{key}\" in environments.groups."
 msgstr "オブジェクトキー \"{key}\" が environments.groups に含まれません。"
 
-#: dnf/transaction_sr.py:542
+#: dnf/transaction_sr.py:564
 #, python-brace-format
 msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
-msgstr "グループ \"{group}\" の グループアクション \"{action}\" の予期しない値。"
+msgstr ""
+"グループ \"{group}\" の グループアクション \"{action}\" の予期しない値。"
 
-#: dnf/transaction_sr.py:547
+#: dnf/transaction_sr.py:569
 #, python-brace-format
 msgid "Missing object key \"{key}\" in a group."
 msgstr "オブジェクトキー \"{key}\" がグループ内にありません。"
 
-#: dnf/transaction_sr.py:571
+#: dnf/transaction_sr.py:595
 #, python-brace-format
-msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
+msgid ""
+"Unexpected value of environment action \"{action}\" for environment "
+"\"{env}\"."
 msgstr "環境 \"{env}\" の環境アクション \"{action}\" の予期しない値。"
 
-#: dnf/transaction_sr.py:576
+#: dnf/transaction_sr.py:600
 #, python-brace-format
 msgid "Missing object key \"{key}\" in an environment."
 msgstr "オブジェクトキー \"{key}\" が環境にありません。"
 
-#: dnf/transaction_sr.py:615
+#: dnf/transaction_sr.py:639
 #, python-brace-format
 msgid ""
-"Package nevra \"{nevra}\", which is not present in the transaction file, was"
-" pulled into the transaction."
-msgstr "トランザクションファイルに存在しないパッケージ nevra \"{nevra}\" がトランザクションにプルされていました。"
+"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-
@@ -4219,25 +4384,36 @@ msgstr "失敗しました"
 msgid "<name-unset>"
 msgstr "<name-unset>"
 
-#~ msgid "Already downloaded"
-#~ msgstr "ダウンロード済み"
-
 #~ msgid "No Matches found"
 #~ msgstr "一致したものは見つかりませんでした"
 
 #~ msgid ""
 #~ "Enable additional repositories. List option. Supports globs, can be "
 #~ "specified multiple times."
-#~ msgstr "追加レポジトリを有効化、オプションのリスト、globsのサポートは何度でも指定可能です。"
+#~ msgstr ""
+#~ "追加レポジトリを有効化、オプションのリスト、globsのサポートは何度でも指定"
+#~ "可能です。"
 
 #~ 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のサポートは何度でも指定"
+#~ "可能です。"
+
+#~ msgid "Already downloaded"
+#~ 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"
 
@@ -4263,5 +4439,7 @@ msgstr "<name-unset>"
 #~ 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 d94530ab..758b9832 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -1,23 +1,24 @@
 # 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, 2022.
+# simmon <simmon@nplob.com>, 2021.
 # Kim InSoo <simmon@nplob.com>, 2022.
-# 김인수 <simmon@nplob.com>, 2022.
+# 김인수 <simmon@nplob.com>, 2022, 2023.
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-11 02:46+0000\n"
-"PO-Revision-Date: 2022-05-25 10:18+0000\n"
+"POT-Creation-Date: 2023-02-28 10:24+0100\n"
+"PO-Revision-Date: 2023-03-03 22:20+0000\n"
 "Last-Translator: 김인수 <simmon@nplob.com>\n"
-"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/dnf-master/ko/>\n"
+"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/"
+"dnf-rhel-9/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.12.2\n"
+"X-Generator: Weblate 4.15.2\n"
 
 #: dnf/automatic/emitter.py:32
 #, python-format
@@ -101,7 +102,7 @@ msgstr "네트웍 끊김."
 msgid "Error: %s"
 msgstr "오류: %s"
 
-#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481
+#: dnf/base.py:150 dnf/base.py:484 dnf/base.py:486
 msgid "loading repo '{}' failure: {}"
 msgstr "repo '{}'의 적재에 실패했습니다 : {}"
 
@@ -109,236 +110,238 @@ msgstr "repo '{}'의 적재에 실패했습니다 : {}"
 msgid "Loading repository '{}' has failed"
 msgstr "저장소 '{}'의 적재하기가 실패했습니다"
 
-#: dnf/base.py:329
+#: dnf/base.py:334
 msgid "Metadata timer caching disabled when running on metered connection."
-msgstr "데이터 통신 연결을 사용 할 때에 메타 자료 타이머 캐싱을 비활성화합니다."
+msgstr ""
+"데이터 통신 연결을 사용 할 때에 메타 자료 타이머 캐싱을 비활성화합니다."
 
-#: dnf/base.py:334
+#: dnf/base.py:339
 msgid "Metadata timer caching disabled when running on a battery."
 msgstr "배터리에서 동작 할 때에 메타자료 타이머 캐싱을 비활성화합니다."
 
-#: dnf/base.py:339
+#: dnf/base.py:344
 msgid "Metadata timer caching disabled."
 msgstr "메타자료 타이머 캐싱이 비활성화되었습니다."
 
-#: dnf/base.py:344
+#: dnf/base.py:349
 msgid "Metadata cache refreshed recently."
 msgstr "최근에 메타 자료 캐쉬가 새로 고쳐졌습니다."
 
-#: dnf/base.py:350 dnf/cli/commands/__init__.py:91
+#: dnf/base.py:355 dnf/cli/commands/__init__.py:91
 msgid "There are no enabled repositories in \"{}\"."
 msgstr "\"{}\"에 사용 가능한 저장소가 없습니다."
 
-#: dnf/base.py:357
+#: dnf/base.py:362
 #, python-format
 msgid "%s: will never be expired and will not be refreshed."
 msgstr "%s: 만료되지 않고 새로 고침되지 않습니다."
 
-#: dnf/base.py:359
+#: dnf/base.py:364
 #, python-format
 msgid "%s: has expired and will be refreshed."
 msgstr "%s: 만료되어 새로 고침됩니다."
 
 #. expires within the checking period:
-#: dnf/base.py:363
+#: dnf/base.py:368
 #, python-format
 msgid "%s: metadata will expire after %d seconds and will be refreshed now"
 msgstr "%s: 메타 데이터는 %d 초 이후에 만료되며 이제 새로 고침됩니다"
 
-#: dnf/base.py:367
+#: dnf/base.py:372
 #, python-format
 msgid "%s: will expire after %d seconds."
 msgstr "%s: %d 초 후에 만료됩니다."
 
 #. performs the md sync
-#: dnf/base.py:373
+#: dnf/base.py:378
 msgid "Metadata cache created."
 msgstr "메타 자료 캐쉬가 생성되었습니다."
 
-#: dnf/base.py:406 dnf/base.py:473
+#: dnf/base.py:411 dnf/base.py:478
 #, python-format
 msgid "%s: using metadata from %s."
 msgstr "%s: 메타 자료 사용 중 %s."
 
-#: dnf/base.py:418 dnf/base.py:486
+#: dnf/base.py:423 dnf/base.py:491
 #, python-format
 msgid "Ignoring repositories: %s"
 msgstr "저장소를 무시합니다: %s"
 
-#: dnf/base.py:421
+#: dnf/base.py:426
 #, python-format
 msgid "Last metadata expiration check: %s ago on %s."
-msgstr "마지막 메타자료 만료확인 %s 이전인: %s."
+msgstr "마지막 메타자료 만료확인(%s 이전): %s."
 
-#: dnf/base.py:514
+#: dnf/base.py:519
 msgid ""
 "The downloaded packages were saved in cache until the next successful "
 "transaction."
 msgstr "내려받기된 꾸러미는 다음 번 성공적인 연결까지 캐쉬에 저장됩니다."
 
-#: dnf/base.py:516
+#: dnf/base.py:521
 #, python-format
 msgid "You can remove cached packages by executing '%s'."
 msgstr "'%s' 를 실행하여 캐쉬 꾸러미를 삭제 할 수 있습니다."
 
-#: dnf/base.py:648
+#: dnf/base.py:653
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "설정 파일에서 tsflag 사용이 잘못되었습니다: %s"
 
-#: dnf/base.py:706
+#: dnf/base.py:711
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "리포지토리의 그룹 파일을 추가하지 못했습니다. %s - %s"
 
-#: dnf/base.py:968
+#: dnf/base.py:973
 msgid "Running transaction check"
 msgstr "연결 확인 실행 중"
 
-#: dnf/base.py:976
+#: dnf/base.py:981
 msgid "Error: transaction check vs depsolve:"
 msgstr "오류: 연결 확인 및 종속성 해결 오류:"
 
-#: dnf/base.py:982
+#: dnf/base.py:987
 msgid "Transaction check succeeded."
 msgstr "연결 확인에 성공했습니다."
 
-#: dnf/base.py:985
+#: dnf/base.py:990
 msgid "Running transaction test"
 msgstr "연결 시험 실행 중"
 
-#: dnf/base.py:995 dnf/base.py:1146
+#: dnf/base.py:1000 dnf/base.py:1151
 msgid "RPM: {}"
 msgstr "RPM: {}"
 
-#: dnf/base.py:996
+#: dnf/base.py:1001
 msgid "Transaction test error:"
 msgstr "연결 시험 오류:"
 
-#: dnf/base.py:1007
+#: dnf/base.py:1012
 msgid "Transaction test succeeded."
 msgstr "연결 시험에 성공했습니다."
 
-#: dnf/base.py:1028
+#: dnf/base.py:1033
 msgid "Running transaction"
 msgstr "연결 실행 중"
 
-#: dnf/base.py:1065
+#: dnf/base.py:1070
 msgid "Disk Requirements:"
 msgstr "디스크 요구 사항 :"
 
-#: dnf/base.py:1068
+#: dnf/base.py:1073
 #, 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:1075
+#: dnf/base.py:1080
 msgid "Error Summary"
 msgstr "오류 요약"
 
-#: dnf/base.py:1101
+#: dnf/base.py:1106
 #, python-brace-format
 msgid "RPMDB altered outside of {prog}."
 msgstr "RPMDB는 {prog} 외부에서 변경되었습니다."
 
-#: dnf/base.py:1147 dnf/base.py:1155
+#: dnf/base.py:1152 dnf/base.py:1160
 msgid "Could not run transaction."
 msgstr "연결를 실행 할 수 없습니다."
 
-#: dnf/base.py:1150
+#: dnf/base.py:1155
 msgid "Transaction couldn't start:"
 msgstr "연결을 시작 할 수 없습니다 :"
 
-#: dnf/base.py:1164
+#: dnf/base.py:1169
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "%s 연결 파일을 삭제하지 못했습니다"
 
-#: dnf/base.py:1246
+#: dnf/base.py:1251
 msgid "Some packages were not downloaded. Retrying."
 msgstr "일부 꾸러미를 내려받지 못했습니다. 다시 시도합니다."
 
-#: dnf/base.py:1276
+#: dnf/base.py:1281
 #, python-format
 msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
 msgstr "델타 RPM은 %.1f MB의 최신화를 %.1f MB으로 줄였습니다.(%.1f%% 절약됨)"
 
-#: dnf/base.py:1280
+#: dnf/base.py:1285
 #, python-format
 msgid ""
 "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
-msgstr "Delta RPM은 %.1f MB의 최신화를 %.1f MB로 늘리는데 실패했습니다.(%.1f%% 낭비됨)"
+msgstr ""
+"델타 RPM은 %.1f MB의 최신화를 %.1f MB로 늘리는데 실패했습니다.(%.1f%% 낭비됨)"
 
-#: dnf/base.py:1322
+#: dnf/base.py:1327
 msgid "Cannot add local packages, because transaction job already exists"
 msgstr "연결 작업이 이미 존재하므로 로컬 꾸러미를 추가할 수 없습니다"
 
-#: dnf/base.py:1336
+#: dnf/base.py:1341
 msgid "Could not open: {}"
 msgstr "열 수 없음 : {}"
 
-#: dnf/base.py:1374
+#: dnf/base.py:1379
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "%s의 공개 키는 설치되어 있지 않습니다"
 
-#: dnf/base.py:1378
+#: dnf/base.py:1383
 #, python-format
 msgid "Problem opening package %s"
 msgstr "%s 꾸러미를 여는 중에 문제가 발생했습니다"
 
-#: dnf/base.py:1386
+#: dnf/base.py:1391
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "%s의 공개 키는 신뢰 할 수 없습니다"
 
-#: dnf/base.py:1390
+#: dnf/base.py:1395
 #, python-format
 msgid "Package %s is not signed"
 msgstr "%s 꾸러미가 서명되지 않았습니다"
 
-#: dnf/base.py:1420
+#: dnf/base.py:1425
 #, python-format
 msgid "Cannot remove %s"
 msgstr "%s를 삭제 할 수 없습니다"
 
-#: dnf/base.py:1424
+#: dnf/base.py:1429
 #, python-format
 msgid "%s removed"
 msgstr "%s가 삭제되었습니다"
 
-#: dnf/base.py:1704
+#: dnf/base.py:1709
 msgid "No match for group package \"{}\""
 msgstr "그룹 꾸러미 \"{}\"에 일치하는 항목이 없습니다"
 
-#: dnf/base.py:1786
+#: dnf/base.py:1791
 #, python-format
 msgid "Adding packages from group '%s': %s"
 msgstr "'%s' 그룹에서 꾸러미 추가: %s"
 
-#: dnf/base.py:1809 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
+#: dnf/base.py:1814 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:1827
+#: dnf/base.py:1832
 msgid "No groups marked for removal."
 msgstr "제거할 꾸러미 그룹이 없습니다."
 
-#: dnf/base.py:1861
+#: dnf/base.py:1866
 msgid "No group marked for upgrade."
 msgstr "향상을 위해 표시된 그룹이 없습니다."
 
-#: dnf/base.py:2075
+#: dnf/base.py:2080
 #, python-format
 msgid "Package %s not installed, cannot downgrade it."
 msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 하향설치 할 수 없습니다."
 
-#: dnf/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136
-#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417
+#: dnf/base.py:2082 dnf/base.py:2101 dnf/base.py:2114 dnf/base.py:2145
+#: dnf/base.py:2215 dnf/base.py:2223 dnf/base.py:2357 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
@@ -348,178 +351,182 @@ msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 하향설치 할 
 msgid "No match for argument: %s"
 msgstr "인수가 일치하지 않습니다: %s"
 
-#: dnf/base.py:2084
+#: dnf/base.py:2089
 #, python-format
 msgid "Package %s of lower version already installed, cannot downgrade it."
-msgstr "%s 꾸러미의 하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
+msgstr "하위 버전의 꾸러미 %s가 이미 설치되어 있어서, 버전을 내릴 수 없습니다."
 
-#: dnf/base.py:2107
+#: dnf/base.py:2112
 #, python-format
 msgid "Package %s not installed, cannot reinstall it."
 msgstr "꾸러미 %s가 설치되지 않아서, 다시 설치 할 수 없습니다."
 
-#: dnf/base.py:2122
+#: dnf/base.py:2127
 #, python-format
 msgid "File %s is a source package and cannot be updated, ignoring."
-msgstr "%s 파일은 소스 꾸러미이며 최신화 할 수 없습니다. 무시합니다."
+msgstr "파일 %s는 원천 꾸러미이며 최신화 할 수 없고, 무시합니다."
 
-#: dnf/base.py:2133
+#: dnf/base.py:2142
 #, python-format
 msgid "Package %s not installed, cannot update it."
 msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 최신화 할 수 없습니다."
 
-#: dnf/base.py:2143
+#: dnf/base.py:2152
 #, python-format
 msgid ""
 "The same or higher version of %s is already installed, cannot update it."
 msgstr "%s 이상의 버전이 이미 설치되어 있으므로 최신화 할 수 없습니다."
 
-#: dnf/base.py:2203 dnf/cli/commands/reinstall.py:81
+#: dnf/base.py:2212 dnf/cli/commands/reinstall.py:81
 #, python-format
 msgid "Package %s available, but not installed."
 msgstr "%s 꾸러미는 사용할 수는 있지만 설치되어 있지 않습니다."
 
-#: dnf/base.py:2209
+#: dnf/base.py:2218
 #, python-format
 msgid "Package %s available, but installed for different architecture."
 msgstr "%s 꾸러미는 사용 가능하지만 다른 구조용으로 설치되어 있습니다."
 
-#: dnf/base.py:2234
+#: dnf/base.py:2243
 #, python-format
 msgid "No package %s installed."
 msgstr "%s 꾸러미는 설치되어 있지 않습니다."
 
-#: dnf/base.py:2252 dnf/cli/commands/install.py:136
+#: dnf/base.py:2261 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:2267 dnf/cli/commands/__init__.py:676
+#: dnf/base.py:2276 dnf/cli/commands/__init__.py:676
 #: dnf/cli/commands/remove.py:162
 msgid "No packages marked for removal."
 msgstr "제거 대상 꾸러미가 없습니다."
 
-#: dnf/base.py:2355 dnf/cli/cli.py:428
+#: dnf/base.py:2364 dnf/cli/cli.py:428
 #, python-format
 msgid "Packages for argument %s available, but not installed."
 msgstr "%s 인수에 대한 꾸러미를 사용할 수 있지만 설치되어 있지 않습니다."
 
-#: dnf/base.py:2360
+#: dnf/base.py:2369
 #, python-format
 msgid "Package %s of lowest version already installed, cannot downgrade it."
-msgstr "%s 꾸러미의 최하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
+msgstr ""
+"%s 꾸러미의 최하위 버전이 이미 설치되어 있으므로, 버전을 내릴 수 없습니다."
 
-#: dnf/base.py:2460
+#: dnf/base.py:2469
 msgid "No security updates needed, but {} update available"
 msgstr "보안 최신화가 필요하지 않지만, {} 최신화가 가능합니다"
 
-#: dnf/base.py:2462
+#: dnf/base.py:2471
 msgid "No security updates needed, but {} updates available"
 msgstr "보안 최신화는 필요하지 않지만 {} 최신화는 가능합니다"
 
-#: dnf/base.py:2466
+#: dnf/base.py:2475
 msgid "No security updates needed for \"{}\", but {} update available"
 msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다"
 
-#: dnf/base.py:2468
+#: dnf/base.py:2477
 msgid "No security updates needed for \"{}\", but {} updates available"
 msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다"
 
 #. raise an exception, because po.repoid is not in self.repos
-#: dnf/base.py:2489
+#: dnf/base.py:2498
 #, python-format
 msgid "Unable to retrieve a key for a commandline package: %s"
 msgstr "명령줄 꾸러미: %s 대한 키를 검색 할 수 없습니다"
 
-#: dnf/base.py:2497
+#: dnf/base.py:2506
 #, python-format
 msgid ". Failing package is: %s"
 msgstr "실패한 꾸러미는 다음과 같습니다. %s"
 
-#: dnf/base.py:2498
+#: dnf/base.py:2507
 #, python-format
 msgid "GPG Keys are configured as: %s"
 msgstr "GPG 키는 다음과 같이 설정되어 있습니다. %s"
 
-#: dnf/base.py:2510
+#: dnf/base.py:2519
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "%s (0x%s)의 GPG 키가 이미 설치되어 있습니다"
 
-#: dnf/base.py:2546
+#: dnf/base.py:2555
 msgid "The key has been approved."
 msgstr "키가 승인되었습니다."
 
-#: dnf/base.py:2549
+#: dnf/base.py:2558
 msgid "The key has been rejected."
 msgstr "키가 거부되었습니다."
 
-#: dnf/base.py:2582
+#: dnf/base.py:2591
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "키 가져 오기에 실패했습니다 (코드 %d)"
 
-#: dnf/base.py:2584
+#: dnf/base.py:2593
 msgid "Key imported successfully"
 msgstr "키 가져오기에 성공했습니다"
 
-#: dnf/base.py:2588
+#: dnf/base.py:2597
 msgid "Didn't install any keys"
-msgstr "키를 하나도 설치하지 못했습니다"
+msgstr "키를 설치하지 않았습니다"
 
-#: dnf/base.py:2591
+#: dnf/base.py:2600
 #, 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"
 "이 저장소에 대해 올바른 키 URL이 구성되었는지 확인하십시오."
 
-#: dnf/base.py:2602
+#: dnf/base.py:2611
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "가져온 키에 문제가 있습니다. 잘못된 키입니까?"
 
-#: dnf/base.py:2655
+#: dnf/base.py:2664
 msgid "  * Maybe you meant: {}"
 msgstr "  * 다음을 의미 할 수도 있습니다: {}"
 
-#: dnf/base.py:2687
+#: dnf/base.py:2696
 msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
 msgstr "로컬 저장소 \"{}\"의 \"{}\"꾸러미에 잘못된 체크섬이 있습니다"
 
-#: dnf/base.py:2690
+#: dnf/base.py:2699
 msgid "Some packages from local repository have incorrect checksum"
 msgstr "로컬 저장소의 일부 꾸러미에 잘못된 체크섬이 있습니다"
 
-#: dnf/base.py:2693
+#: dnf/base.py:2702
 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
 msgstr "저장소 \"{}\"의 꾸러미 \"{}\"에 잘못된 체크섬이 있습니다"
 
-#: dnf/base.py:2696
+#: dnf/base.py:2705
 msgid ""
 "Some packages have invalid cache, but cannot be downloaded due to \"--"
 "cacheonly\" option"
-msgstr "일부 꾸러미에는 유효하지 않은 캐쉬가 있지만 \"--cacheonly\"옵션으로 인해 내려받기 할 수 없습니다"
+msgstr ""
+"일부 꾸러미에는 유효하지 않은 캐쉬가 있지만 \"--cacheonly\"옵션으로 인해 내려"
+"받기 할 수 없습니다"
 
-#: dnf/base.py:2714 dnf/base.py:2734
+#: dnf/base.py:2723 dnf/base.py:2743
 msgid "No match for argument"
 msgstr "일치하는 인수가 없습니다"
 
-#: dnf/base.py:2722 dnf/base.py:2742
+#: dnf/base.py:2731 dnf/base.py:2751
 msgid "All matches were filtered out by exclude filtering for argument"
 msgstr "모든 일치 항목이 인수의 제외 필터로 필터링되었습니다"
 
-#: dnf/base.py:2724
+#: dnf/base.py:2733
 msgid "All matches were filtered out by modular filtering for argument"
 msgstr "모든 일치 항목이 인수의 모듈식 필터로 필터링되었습니다"
 
-#: dnf/base.py:2740
+#: dnf/base.py:2749
 msgid "All matches were installed from a different repository for argument"
 msgstr "모든 일치 항목이 인수의 다른 리포지토리에서 설치되었습니다"
 
-#: dnf/base.py:2787
+#: dnf/base.py:2796
 #, python-format
 msgid "Package %s is already installed."
 msgstr "꾸러미 %s가 이미 설치되어 있습니다."
@@ -574,23 +581,29 @@ msgstr "이 작업은 '{0}' 모듈을 '{1}' 스트림에서 ‘{2}' 스트림으
 #: dnf/cli/cli.py:173
 #, python-brace-format
 msgid ""
-"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."
+"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 ""
-"구성 옵션 module_stream_switch를 통해 명시적으로 활성화하지 않는 한 활성화된 모듈 스트림을 전환 할 수 없습니다.\n"
-"설치된 모든 내용을 모듈에서 제거하고 ‘{prog} module reset <module_name>' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후 다른 스트림을 설치 할 수 있습니다."
+"구성 옵션 module_stream_switch를 통해 명시적으로 활성화하지 않는 한 활성화된 "
+"모듈 스트림을 전환 할 수 없습니다.\n"
+"설치된 모든 내용을 모듈에서 제거하고 ‘{prog} module reset <module_name>' 명령"
+"을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후 다른 스트림"
+"을 설치 할 수 있습니다."
 
 #: 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: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:219
 msgid "Operation aborted."
@@ -647,7 +660,7 @@ msgstr "사용 가능한 꾸러미"
 
 #: dnf/cli/cli.py:497
 msgid "Autoremove Packages"
-msgstr "꾸러미 자동 삭제"
+msgstr "꾸러미 자동제거"
 
 # ctx::sourcefile::Systems Navigation Menu
 #: dnf/cli/cli.py:499
@@ -671,8 +684,8 @@ msgid ""
 "No matches found. If searching for a file, try specifying the full path or "
 "using a wildcard prefix (\"*/\") at the beginning."
 msgstr ""
-"일치되는 점을 찾지 못했습니다. 만약 파일을 위해 검색하고자 한다면, 전체 경로를 지정 하거나 시작에서 와일드카드 접두사(\"*/\")를"
-" 사용하여 시도하세요."
+"일치되는 점을 찾지 못했습니다. 만약 파일을 위해 검색하고자 한다면, 전체 경로"
+"를 지정 하거나 시작에서 와일드카드 접두사 (\"*/\")를 사용하여 시도하세요."
 
 #: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237
 #, python-format
@@ -686,9 +699,11 @@ msgstr "일치하는 저장소가 없습니다 : %s"
 
 #: dnf/cli/cli.py:721
 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:751
 #, python-format
@@ -707,31 +722,33 @@ msgstr "{PROG} 플러그인 명령일 수 있습니다: \"{prog} 'dnf-command(%s
 msgid ""
 "It could be a {prog} plugin command, but loading of plugins is currently "
 "disabled."
-msgstr "{prog} 플러그인 명령일 수 있지만 플러그인 로딩은 현재 비활성화되어 있습니다."
+msgstr ""
+"{prog} 플러그인 명령일 수 있지만, 플러그인의 적재는 현재 비활성화되어 있습니"
+"다."
 
 #: dnf/cli/cli.py:816
 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:822
 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:904
 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:924
 msgid "Config file \"{}\" does not exist"
@@ -741,16 +758,18 @@ msgstr "설정 파일 \"{}\" 이 존재하지 않습니다"
 msgid ""
 "Unable to detect release version (use '--releasever' to specify release "
 "version)"
-msgstr "출시 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 출시 버전을 지정하십시오)"
+msgstr ""
+"출시 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 출시 버전을 지정하십"
+"시오)"
 
 #: dnf/cli/cli.py:1018 dnf/cli/commands/repoquery.py:471
 msgid "argument {}: not allowed with argument {}"
-msgstr "인수 {}: 인수 {}과 함께 사용할 수 없습니다"
+msgstr "인수 {}: 인수 {}를 허용하지 않음"
 
 #: dnf/cli/cli.py:1025
 #, python-format
 msgid "Command \"%s\" already defined"
-msgstr "\"%s\" 명령이 이미 정의되어 있습니다"
+msgstr "명령 \"%s\"가 이미 정의되었습니다"
 
 #: dnf/cli/cli.py:1045
 msgid "Excludes in dnf.conf: "
@@ -776,13 +795,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"
@@ -831,7 +852,7 @@ msgstr "설치된 꾸러미만 보여주기"
 
 #: 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:747 dnf/cli/commands/__init__.py:750
@@ -840,7 +861,7 @@ msgstr "향상 꾸러미만 표시"
 
 #: 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:756
 msgid "show only recently changed packages"
@@ -871,7 +892,7 @@ msgstr "PROVIDE"
 
 #: dnf/cli/commands/__init__.py:240
 msgid "Provide specification to search for"
-msgstr "검색할 사양 제공"
+msgstr "검색 할 사양 제공"
 
 #: dnf/cli/commands/__init__.py:249 dnf/cli/commands/search.py:159
 msgid "Searching Packages: "
@@ -888,11 +909,11 @@ msgstr "최신화 전에 변경기록 표시"
 #: 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:371
 msgid "No packages marked for install."
-msgstr "설치용으로 표시된 꾸러미 없습니다."
+msgstr "설치를 위해 표시된 꾸러미가 없습니다."
 
 #: dnf/cli/commands/__init__.py:407
 msgid "No package installed."
@@ -1044,7 +1065,7 @@ 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"
@@ -1097,11 +1118,11 @@ msgstr "캐쉬된 자료 제거"
 
 #: dnf/cli/commands/clean.py:93
 msgid "Metadata type to clean"
-msgstr "메타 데이터 지우기"
+msgstr "정리하려는 메타자료 유형"
 
 #: dnf/cli/commands/clean.py:105
 msgid "Cleaning data:  "
-msgstr "데이터 정리 중:  "
+msgstr "자료 정리 중:  "
 
 #: dnf/cli/commands/clean.py:111
 msgid "Cache was expired"
@@ -1122,7 +1143,9 @@ msgstr "PID %d 프로세스가 종료되기를 기다리고 있습니다."
 msgid ""
 "[deprecated, use repoquery --deplist] List package's dependencies and what "
 "packages provide them"
-msgstr "[더 이상 사용되지 않음, repoquery --deplist 사용] 꾸러미의 종속성과 이를 제공하는 꾸러미 목록 나열"
+msgstr ""
+"[더 이상 사용되지 않음, repoquery --deplist 사용] 꾸러미의 종속성과 이를 제공"
+"하는 꾸러미 목록 나열"
 
 #: dnf/cli/commands/distrosync.py:32
 msgid "synchronize installed packages to the latest available versions"
@@ -1130,7 +1153,7 @@ msgstr "설치된 꾸러미를 사용 가능한 최신 버전으로 동기화합
 
 #: dnf/cli/commands/distrosync.py:36
 msgid "Package to synchronize"
-msgstr "동기화할 꾸러미"
+msgstr "동기화 하려는 꾸러미"
 
 #: dnf/cli/commands/downgrade.py:34
 msgid "Downgrade a package"
@@ -1146,7 +1169,7 @@ msgstr "그룹 정보를 표시하거나 사용합니다"
 
 #: dnf/cli/commands/group.py:72
 msgid "No group data available for configured repositories."
-msgstr "설정된 리포지토리에 사용할 수있는 그룹 데이터가 없습니다."
+msgstr "구성된 저정소에 사용 할 수있는 그룹 자료가 없습니다."
 
 #: dnf/cli/commands/group.py:126
 #, python-format
@@ -1228,9 +1251,10 @@ msgstr "저장 명령을 위해, 트랜젝션을 저장할 파일 경로"
 
 #: 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 ""
+"재생명령을 위하여, 연결에 그것들과 일치하는 설치된 꾸러미를 확인하지 마세요"
 
 #: dnf/cli/commands/history.py:71
 msgid ""
@@ -1240,9 +1264,11 @@ msgstr "응답 명령을 위하여, 연결에 추가 된 꾸러미를 확인하
 
 #: 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 ""
+"지연 명령을 위하여, 사용 할 수 없는 또는 찾을 수 없는 의존성을 갖는 목록 건"
+"너 뛰기"
 
 #: dnf/cli/commands/history.py:94
 msgid ""
@@ -1254,7 +1280,7 @@ msgstr ""
 
 #: dnf/cli/commands/history.py:101
 msgid "No transaction file name given."
-msgstr "제공된 트랜젝션 파일 이름이 없습니다."
+msgstr "제공된 연결 파일 이름이 없습니다."
 
 #: dnf/cli/commands/history.py:103
 msgid "More than one argument given as transaction file name."
@@ -1267,21 +1293,25 @@ msgstr "연결 ID 또는 꾸러미 이름이 없습니다."
 #: dnf/cli/commands/history.py:142
 #, python-format
 msgid "You don't have access to the history DB: %s"
-msgstr "기록 DB에 액세스할 수 없습니다: %s"
+msgstr "기록 DB에 접근 할 수 없습니다: %s"
 
 #: 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: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"
@@ -1290,7 +1320,7 @@ msgstr "지정된 연결 ID가 없습니다"
 #: dnf/cli/commands/history.py:179
 #, python-brace-format
 msgid "Transaction ID \"{0}\" not found."
-msgstr "Transaction ID \"{0}\" 를 찾을 수 없음."
+msgstr "연결 ID \"{0}\" 를 찾을 수 없음."
 
 #: dnf/cli/commands/history.py:185
 msgid "Found more than one transaction ID!"
@@ -1323,7 +1353,7 @@ 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:323
@@ -1340,7 +1370,7 @@ msgstr "존재하기 때문에, {} 덮어 쓸 수 없습니다."
 
 #: dnf/cli/commands/history.py:378
 msgid "Transaction saved to {}."
-msgstr "연결이 {}에 저장되었습니다."
+msgstr "연결이 {}로 저장되었습니다."
 
 #: dnf/cli/commands/history.py:381
 msgid "Error storing transaction: {}"
@@ -1356,7 +1386,7 @@ 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"
@@ -1397,12 +1427,12 @@ 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
 msgid "%s unmarked as user installed."
-msgstr "%s은/는 사용자가 설치한 것으로 표시되지 않았습니다."
+msgstr "%s는 사용자가 설치한 것으로 표시되지 않았습니다."
 
 #: dnf/cli/commands/mark.py:60
 #, python-format
@@ -1421,9 +1451,11 @@ msgstr "꾸러미 %s가 설치되지 않았습니다."
 
 #: 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:80
 msgid "list all module streams, profiles and states"
@@ -1431,7 +1463,7 @@ msgstr "모든 모듈 스트림, 프로파일 및 상태 나열"
 
 #: dnf/cli/commands/module.py:108 dnf/cli/commands/module.py:131
 msgid "No matching Modules to list"
-msgstr "일치하는 모듈을 나열할 수 없습니다"
+msgstr "일치하는 모듈을 나열 할 수 없습니다"
 
 #: dnf/cli/commands/module.py:114
 msgid "print detailed information about a module"
@@ -1531,11 +1563,11 @@ 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
@@ -1545,37 +1577,37 @@ msgstr "알 수 없음"
 #: dnf/cli/commands/repolist.py:40
 #, python-format
 msgid "Never (last: %s)"
-msgstr "없음 (가장 최근: %s )"
+msgstr "없음 (최근: %s )"
 
 #: dnf/cli/commands/repolist.py:42
 #, python-format
 msgid "Instant (last: %s)"
-msgstr "인스턴트 (가장 최근: %s )"
+msgstr "즉시 (최근: %s )"
 
 #: dnf/cli/commands/repolist.py:45
 #, python-format
 msgid "%s second(s) (last: %s)"
-msgstr "%s 초 (가장 최근: %s )"
+msgstr "%s 초 (최근: %s )"
 
 #: dnf/cli/commands/repolist.py:76
 msgid "display the configured software repositories"
-msgstr "구성된 소프트웨어 리포지토리를 표시"
+msgstr "구성된 소프트웨어 저장소를 표시"
 
 #: dnf/cli/commands/repolist.py:83
 msgid "show all repos"
-msgstr "모든 리포지토리를 표시"
+msgstr "모든 저장소를 표시"
 
 #: dnf/cli/commands/repolist.py:86
 msgid "show enabled repos (default)"
-msgstr "활성화된 리포지토리를 표시 (기본값)"
+msgstr "활성화된 저장소를 표시 (기본값)"
 
 #: dnf/cli/commands/repolist.py:89
 msgid "show disabled repos"
-msgstr "비활성화된 리포지토리를 표시"
+msgstr "비활성화된 저장소를 표시"
 
 #: dnf/cli/commands/repolist.py:93
 msgid "Repository specification"
-msgstr "리포지토리 사양"
+msgstr "저장소 사양"
 
 #: dnf/cli/commands/repolist.py:125
 msgid "No repositories available"
@@ -1587,91 +1619,91 @@ msgstr "사용"
 
 #: dnf/cli/commands/repolist.py:151 dnf/cli/commands/repolist.py:152
 msgid "disabled"
-msgstr "사용 안함"
+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      : "
-msgstr "Repo-revision : "
+msgstr "저장소-정정      : "
 
 #: dnf/cli/commands/repolist.py:173
 msgid "Repo-tags          : "
-msgstr "Repo-tags  : "
+msgstr "저장소-꼬리표          : "
 
 #: dnf/cli/commands/repolist.py:180
 msgid "Repo-distro-tags      : "
-msgstr "Repo-distro-tags : "
+msgstr "저장소-배포-꼬리표      : "
 
 #: dnf/cli/commands/repolist.py:192
 msgid "Repo-updated       : "
-msgstr "Repo-updated : "
+msgstr "저장소-최신화됨       : "
 
 #: dnf/cli/commands/repolist.py:194
 msgid "Repo-pkgs          : "
-msgstr "Repo-pkgs : "
+msgstr "저장소-꾸러미          : "
 
 #: dnf/cli/commands/repolist.py:195
 msgid "Repo-available-pkgs: "
-msgstr "저장소-이용 할 수 있는-꾸러미: "
+msgstr "저장소-사용 가능한-꾸러미: "
 
 #: dnf/cli/commands/repolist.py:196
 msgid "Repo-size          : "
-msgstr "Repo-size : "
+msgstr "저장소-크기          : "
 
 #: dnf/cli/commands/repolist.py:199
 msgid "Repo-metalink      : "
-msgstr "Repo-metalink : "
+msgstr "저장소-메타링크      : "
 
 #: dnf/cli/commands/repolist.py:204
 msgid "  Updated          : "
-msgstr "  Updated : "
+msgstr "  최신화됨          : "
 
 #: dnf/cli/commands/repolist.py:206
 msgid "Repo-mirrors       : "
-msgstr "Repo-mirrors : "
+msgstr "저장소-연결목록       : "
 
 #: dnf/cli/commands/repolist.py:210 dnf/cli/commands/repolist.py:216
 msgid "Repo-baseurl       : "
-msgstr "Repo-baseurl : "
+msgstr "저장소-baseurl       : "
 
 #: dnf/cli/commands/repolist.py:219
 msgid "Repo-expire        : "
-msgstr "Repo-expire : "
+msgstr "저장소-만료        : "
 
 #. TRANSLATORS: Packages that are excluded - their names like (dnf systemd)
 #: dnf/cli/commands/repolist.py:223
 msgid "Repo-exclude       : "
-msgstr "Repo-exclude : "
+msgstr "저장소-제외       : "
 
 #: dnf/cli/commands/repolist.py:227
 msgid "Repo-include       : "
-msgstr "Repo-include : "
+msgstr "저장소-포함       : "
 
 #. 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)...
 #: 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
@@ -1680,7 +1712,7 @@ 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: {}"
@@ -1694,7 +1726,8 @@ 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)"
@@ -1716,7 +1749,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"
@@ -1758,7 +1793,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"
@@ -1774,13 +1811,15 @@ msgstr "꾸러미의 재귀 트리를 표시합니다"
 
 #: dnf/cli/commands/repoquery.py:172
 msgid "operate on corresponding source RPM"
-msgstr "해당 소스 RPM에서 작동합니다"
+msgstr "해당 원천 RPM에서 작동합니다"
 
 #: dnf/cli/commands/repoquery.py:174
 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"
@@ -1796,7 +1835,7 @@ 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"
@@ -1805,11 +1844,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"
+"display format for listing packages: \"%%{name} %%{version} ...\", use --"
+"querytags to view full tag list"
 msgstr ""
-"꾸러미 목록 표시형식 : \"%%{name} %%{version} ...\" 모든 태그 목록을 보여주기 위해 --querytags "
-"사용합니다"
+"꾸러미 목록 표시형식 : \"%%{name} %%{version} ...\" 모든 태그 목록을 보여주"
+"기 위해 --querytags 사용합니다"
 
 #: dnf/cli/commands/repoquery.py:198
 msgid "show available tags to use with --queryformat"
@@ -1819,19 +1858,25 @@ 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"
@@ -1861,7 +1906,9 @@ 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."
@@ -1886,8 +1933,9 @@ 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."
@@ -1895,7 +1943,7 @@ 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."
@@ -1920,7 +1968,7 @@ msgstr "이미 설치된 일부 꾸러미에 대한 향상를 제공하는 꾸
 #, 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."
@@ -1932,26 +1980,27 @@ msgstr "최근에 수정한 꾸러미만 표시합니다"
 
 #: dnf/cli/commands/repoquery.py:273
 msgid "the key to search for"
-msgstr "검색에 사용되는 키워드"
+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"
@@ -1965,15 +2014,19 @@ 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 the packages."
 msgstr ""
-"유효한 스위치가 지정되지 않았습니다.\n"
-"사용법: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-"\n"
-"설명:\n"
+"유효한 스위치가 지정되지 않았습니다 \n"
+"사용법: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
+"tree] \n"
+" \n"
+"설명: \n"
 "  지정된 꾸러미의 경우 꾸러미 트리를 출력합니다."
 
 #: dnf/cli/commands/search.py:46
@@ -1986,11 +2039,11 @@ msgstr "꾸러미 설명 및 URL 검색"
 
 #: dnf/cli/commands/search.py:52
 msgid "KEYWORD"
-msgstr "KEYWORD"
+msgstr "핵심어"
 
 #: dnf/cli/commands/search.py:55
 msgid "Keyword to search for"
-msgstr "검색 키워드"
+msgstr "검색 할 핵심어"
 
 #: dnf/cli/commands/search.py:61 dnf/cli/output.py:460
 msgctxt "long"
@@ -2011,8 +2064,7 @@ msgstr "설명"
 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 " & "
@@ -2047,7 +2099,7 @@ msgstr "스크립트"
 #: dnf/cli/commands/shell.py:69
 #, python-brace-format
 msgid "Script to run in {prog} shell"
-msgstr "{prog} 쉘에서 실행할 스크립트"
+msgstr "{prog} 쉘에서 실행 할 스크립트"
 
 #: dnf/cli/commands/shell.py:142
 msgid "Unsupported key value."
@@ -2087,10 +2139,10 @@ msgid ""
 "  enable: enable repositories. option = repository id\n"
 "  disable: disable repositories. option = repository id"
 msgstr ""
-"{} arg [option]\n"
-"  list: 리포지토리 및 상태를 나열합니다. option = [all | id | glob]\n"
-"enable : 리포지토리를 활성화합니다. option = repository id\n"
-"  disable : 리포지토리를 비활성화합니다. option = repository id"
+"{} arg [option] \n"
+"  list: 저장소 및 상태를 나열합니다. option = [all | id | glob] \n"
+"  enable : 저장소를 활성화합니다. option = repository id \n"
+"  disable : 저장소를 비활성화합니다. option = repository id"
 
 #: dnf/cli/commands/shell.py:191
 msgid ""
@@ -2098,7 +2150,7 @@ msgid ""
 "    resolve the transaction set"
 msgstr ""
 "{}\n"
-" 연결 집합을 분석합니다"
+"  연결 집합을 분석합니다"
 
 #: dnf/cli/commands/shell.py:195
 msgid ""
@@ -2170,15 +2222,15 @@ msgstr "대화 형 {prog} 모드를 실행하여 사양을 제거하거나 설
 
 #: dnf/cli/commands/swap.py:40
 msgid "The specs that will be removed"
-msgstr "삭제할 사양"
+msgstr "제거 되어야 할 사양"
 
 #: dnf/cli/commands/swap.py:42
 msgid "The specs that will be installed"
-msgstr "설치할 사양"
+msgstr "설치 되어야 할 사양"
 
 #: dnf/cli/commands/updateinfo.py:44
 msgid "bugfix"
-msgstr "버그 수정"
+msgstr "결점수정"
 
 #: dnf/cli/commands/updateinfo.py:45
 msgid "enhancement"
@@ -2300,7 +2352,7 @@ msgstr "알 수 없는 수준의 보안 공지"
 
 #: dnf/cli/commands/updateinfo.py:293
 msgid "Bugfix notice(s)"
-msgstr "버그 수정 공지"
+msgstr "결점수정 공지"
 
 #: dnf/cli/commands/updateinfo.py:294
 msgid "Enhancement notice(s)"
@@ -2359,11 +2411,11 @@ msgstr "설치되었습니다"
 
 #: dnf/cli/commands/updateinfo.py:385
 msgid "false"
-msgstr "false"
+msgstr "거짓"
 
 #: dnf/cli/commands/updateinfo.py:385
 msgid "true"
-msgstr "true"
+msgstr "참"
 
 #: dnf/cli/commands/upgrade.py:40
 msgid "upgrade a package or packages on your system"
@@ -2377,7 +2429,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."
@@ -2477,15 +2531,15 @@ msgstr "지정된 이름으로 플러그인 비활성화"
 
 #: dnf/cli/option_parser.py:203
 msgid "override the value of $releasever in config and repo files"
-msgstr "설정 파일 및 리포지토리 파일에서 $releasever 값을 무시합니다"
+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"
@@ -2533,8 +2587,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"
@@ -2554,8 +2608,9 @@ msgid ""
 "Accepts an id, a comma-separated list of ids, or a glob of ids. This option "
 "can be specified multiple times."
 msgstr ""
-"현재 dnf 명령을 위해 임시로 저장소를 활성화합니다. id, 쉼표로-구분된 ids 목록 또는 ids의 glob을 허용합니다. 이와 같은"
-" 옵션은 여러 번 지정 할 수 있습니다."
+"임시로 현재 dnf 명령의 용도를 위해 저장소를 활성화합니다. id, 쉼표로-구분된 "
+"ids 목록 또는 ids의 glob을 허용합니다. 이와 같은 옵션은 여러 번 지정 할 수 있"
+"습니다."
 
 #: dnf/cli/option_parser.py:268
 msgid ""
@@ -2564,22 +2619,25 @@ msgid ""
 "This option can be specified multiple times, but is mutually exclusive with "
 "`--repo`."
 msgstr ""
-"현재 dnf 명령을 위해 임시적으로 동적 저장소를 비활성화 할 수 있습니다. id, 쉼표로-구분된 ids의 목록 또는 ids의 glob를"
-" 허용합니다. 이와 같은 옵션은 여러 번 지정 할 수 있으나, 이는 `--repo`와 함께 상호 배타적입니다."
+"임시적으로 현재 dnf 명령의 용도를 위해 동적 저장소를 비활성화 합니다. id, 쉼"
+"표로-구분된 ids의 목록 또는 ids의 glob를 허용합니다. 이와 같은 옵션은 여러 "
+"번 지정 할 수 있으나, 이는 `--repo`와 함께 상호 배타적입니다."
 
 #: dnf/cli/option_parser.py:275
 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:280
 msgid "enable repos with config-manager command (automatically saves)"
-msgstr "config-manager 명령으로 repos를 활성화합니다 (자동 저장)"
+msgstr "config-manager 명령으로 저장소를 활성화합니다 (자동 저장)"
 
 #: dnf/cli/option_parser.py:284
 msgid "disable repos with config-manager command (automatically saves)"
-msgstr "config-manager 명령으로 repos를 비활성화합니다 (자동 저장)"
+msgstr "config-manager 명령으로 저장소를 비활성화합니다 (자동 저장)"
 
 #: dnf/cli/option_parser.py:288
 msgid "exclude packages by name or glob"
@@ -2593,7 +2651,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:302
 msgid "disable removal of dependencies that are no longer used"
@@ -2613,11 +2673,11 @@ msgstr "명령을 실행하기 전에 메타 데이터를 만료된 것으로 
 
 #: dnf/cli/option_parser.py:313
 msgid "resolve to IPv4 addresses only"
-msgstr "IPv4 주소 만 확인"
+msgstr "IPv4 주소만 확인"
 
 #: dnf/cli/option_parser.py:316
 msgid "resolve to IPv6 addresses only"
-msgstr "IPv6 주소 만 확인"
+msgstr "IPv6 주소만 확인"
 
 #: dnf/cli/option_parser.py:319
 msgid "set directory to copy packages to"
@@ -2633,7 +2693,7 @@ msgstr "연결에 의견을 추가하십시오"
 
 #: dnf/cli/option_parser.py:327
 msgid "Include bugfix relevant packages, in updates"
-msgstr "결점(bug) 수정 관련 꾸러미 최신화에 포함"
+msgstr "결점 수정 관련 꾸러미 최신화에 포함"
 
 #: dnf/cli/option_parser.py:330
 msgid "Include enhancement relevant packages, in updates"
@@ -2711,7 +2771,7 @@ msgstr "버전"
 #. Translators: This message should be no longer than 12 characters.
 #: dnf/cli/output.py:470
 msgid "Release"
-msgstr "릴리즈"
+msgstr "출시"
 
 #. Translators: This is abbreviated 'Architecture', used when
 #. we have not enough space to display the full word.
@@ -2745,26 +2805,26 @@ msgstr "크기"
 #. Translators: This message should be no longer than 12 characters.
 #: dnf/cli/output.py:478
 msgid "Source"
-msgstr "소스"
+msgstr "원천"
 
 #. Translators: This is abbreviated 'Repository', used when
 #. we have not enough space to display the full word.
 #: dnf/cli/output.py:479 dnf/cli/output.py:1253
 msgctxt "short"
 msgid "Repo"
-msgstr "레포지터리"
+msgstr "저장소"
 
 #. Translators: This is the full word 'Repository', used when
 #. we have enough space.
 #: dnf/cli/output.py:480 dnf/cli/output.py:1256
 msgctxt "long"
 msgid "Repository"
-msgstr "레포지터리"
+msgstr "저장소"
 
 #. Translators: This message should be no longer than 12 chars.
 #: dnf/cli/output.py:487
 msgid "From repo"
-msgstr "레포지터리에서"
+msgstr "저장소에서"
 
 #. :hawkey does not support changelog information
 #. print(_("Committer   : %s") % ucd(pkg.committer))
@@ -2777,7 +2837,7 @@ msgstr "꾸러미 생성자"
 #. Translators: This message should be no longer than 12 characters.
 #: dnf/cli/output.py:495
 msgid "Buildtime"
-msgstr "빌드 시간"
+msgstr "제작시간"
 
 #. Translators: This message should be no longer than 12 characters.
 #: dnf/cli/output.py:499
@@ -2868,7 +2928,7 @@ msgstr " 선택적인 꾸러미 :"
 
 #: dnf/cli/output.py:753
 msgid " Conditional Packages:"
-msgstr " 추가 가능 꾸러미 :"
+msgstr " 조건부 꾸러미 :"
 
 #: dnf/cli/output.py:778
 #, python-format
@@ -2886,7 +2946,7 @@ msgstr " 필수 그룹 :"
 
 #: dnf/cli/output.py:788
 msgid " Optional Groups:"
-msgstr " 선택적인 그룹 :"
+msgstr " 선택적 그룹 :"
 
 #: dnf/cli/output.py:809
 msgid "Matched from:"
@@ -2900,7 +2960,7 @@ msgstr "파일 이름 : %s"
 #: dnf/cli/output.py:848
 #, python-format
 msgid "Repo        : %s"
-msgstr "리포지토리      : %s"
+msgstr "저장소      : %s"
 
 #: dnf/cli/output.py:857
 msgid "Description : "
@@ -2928,7 +2988,7 @@ msgstr "기타       : %s"
 
 #: dnf/cli/output.py:940
 msgid "There was an error calculating total download size"
-msgstr "총 내려받기 크기를 계산하는 중에 오류가 발생했습니다"
+msgstr "전체 내려받기 크기를 계산하는 중에 오류가 발생했습니다"
 
 #: dnf/cli/output.py:946
 #, python-format
@@ -2938,7 +2998,7 @@ msgstr "전체 크기: %s"
 #: dnf/cli/output.py:949
 #, python-format
 msgid "Total download size: %s"
-msgstr "총계 내려받기 크기: %s"
+msgstr "전체 내려받기 크기: %s"
 
 #: dnf/cli/output.py:952
 #, python-format
@@ -3004,9 +3064,9 @@ msgstr "종속 꾸러미 설치 중"
 msgid "Installing weak dependencies"
 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
+#. TRANSLATORS: This is for a list of packages to be removed.
 #: dnf/cli/output.py:1060
 msgid "Removing"
 msgstr "삭제 중"
@@ -3161,7 +3221,7 @@ msgstr "합계"
 
 #: dnf/cli/output.py:1466
 msgid "<unset>"
-msgstr "<unset>"
+msgstr "<설정해제>"
 
 #: dnf/cli/output.py:1467
 msgid "System"
@@ -3297,15 +3357,15 @@ msgstr "실패:"
 
 #: dnf/cli/output.py:1764 dnf/cli/output.py:1766
 msgid "Releasever     :"
-msgstr "Releasever :"
+msgstr "배포버전     :"
 
 #: dnf/cli/output.py:1771 dnf/cli/output.py:1773
 msgid "Command Line   :"
-msgstr "명령 줄 :"
+msgstr "명령 줄   :"
 
 #: dnf/cli/output.py:1778 dnf/cli/output.py:1780
 msgid "Comment        :"
-msgstr "댓글 :"
+msgstr "댓글        :"
 
 #: dnf/cli/output.py:1784
 msgid "Transaction performed with:"
@@ -3317,7 +3377,7 @@ msgstr "변경된 꾸러미 :"
 
 #: dnf/cli/output.py:1799
 msgid "Scriptlet output:"
-msgstr "스크립트릿 출력 :"
+msgstr "구현 출력 :"
 
 #: dnf/cli/output.py:1806
 msgid "Errors:"
@@ -3410,7 +3470,7 @@ msgstr "실행 중"
 
 #: dnf/cli/utils.py:99
 msgid "Sleeping"
-msgstr "휴면중"
+msgstr "휴면 중"
 
 #: dnf/cli/utils.py:100
 msgid "Uninterruptible"
@@ -3473,7 +3533,8 @@ msgstr "모듈 또는 그룹 '%s'가 존재하지 않습니다."
 msgid "Environment id '%s' does not exist."
 msgstr "환경 id '%s' 가 존재하지 않습니다."
 
-#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
+#: dnf/comps.py:622 dnf/transaction_sr.py:487 dnf/transaction_sr.py:497
+#: dnf/transaction_sr.py:507
 #, python-format
 msgid "Environment id '%s' is not installed."
 msgstr "환경id '%s'가 설치되지 않았습니다."
@@ -3555,32 +3616,37 @@ msgstr "경고: '%s'을 적재하지 못했습니다, 건너 뛰기."
 
 #: dnf/conf/read.py:72
 msgid "Bad id for repo: {} ({}), byte = {} {}"
-msgstr "레포지터리의 ID가 잘못되었습니다. {} ({}), byte = {} {}"
+msgstr "저장소의 ID가 잘못되었습니다. {} ({}), byte = {} {}"
 
 #: dnf/conf/read.py:76
 msgid "Bad id for repo: {}, byte = {} {}"
-msgstr "레포지터리의 ID가 잘못되었습니다. {}, byte = {} {}"
+msgstr "저장소의 ID가 잘못되었습니다. {}, byte = {} {}"
 
 #: dnf/conf/read.py:84
 msgid "Repository '{}' ({}): Error parsing config: {}"
-msgstr "Repository '{}' ({}): 구문 분석 설정 오류: {}"
+msgstr "저장소 '{}' ({}): 구문 분석 설정 오류: {}"
 
 #: dnf/conf/read.py:87
 msgid "Repository '{}': Error parsing config: {}"
-msgstr "Repository '{}' : 구문 분석 설정 오류: {}"
+msgstr "저장소 '{}' : 구문 분석 설정 오류: {}"
 
 #: dnf/conf/read.py:93
 msgid "Repository '{}' ({}) is missing name in configuration, using id."
-msgstr "Repository '{}' ({})의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
+msgstr "저장소 '{}' ({})는 id를 사용하는 구성에 이름이 누락되어 있습니다."
 
 #: dnf/conf/read.py:96
 msgid "Repository '{}' is missing name in configuration, using id."
-msgstr "Repository '{}'의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
+msgstr "저장소 '{}'는 id를 사용하는 구성에 이름이 누락되어 있습니다."
 
 #: dnf/conf/read.py:113
 msgid "Parsing file \"{}\" failed: {}"
 msgstr "\"{}\" 파일을 구문 분석하지 못했습니다: {}"
 
+#: dnf/conf/substitutions.py:66
+#, python-brace-format
+msgid "Error when parsing a variable from file '{0}': {1}"
+msgstr "파일에서 변수 구문 분석 할 때에 오류 '{0}': {1}"
+
 #: dnf/crypto.py:108
 #, python-format
 msgid "repo %s: 0x%s already imported"
@@ -3604,30 +3670,33 @@ msgstr "DNS 레코드를 사용하여 확인되지 않음."
 msgid "retrieving repo key for %s unencrypted from %s"
 msgstr "%s에서 암호화 하지 않은 %s를 위한 저장소 키 검색"
 
-#: dnf/db/group.py:302
+#: dnf/db/group.py:308
 msgid ""
 "No available modular metadata for modular package '{}', it cannot be "
 "installed on the system"
-msgstr "모듈 꾸러미 '{}'에 사용 가능한 메타 자료가 없으며 시스템에 설치 할 수 없습니다"
+msgstr ""
+"모듈 꾸러미 '{}'에 사용 가능한 메타 자료가 없으며 시스템에 설치 할 수 없습니"
+"다"
 
-#: dnf/db/group.py:353
+#: dnf/db/group.py:359
 #, python-format
 msgid "An rpm exception occurred: %s"
 msgstr "rpm 예외가 발생했습니다: %s"
 
-#: dnf/db/group.py:355
+#: dnf/db/group.py:361
 msgid "No available modular metadata for modular package"
 msgstr "모듈 꾸러미에 사용 가능한 모듈 메타 자료가 없습니다"
 
-#: dnf/db/group.py:389
+#: dnf/db/group.py:395
 #, python-format
 msgid "Will not install a source rpm package (%s)."
-msgstr "소스 RPM 꾸러미를 설치하지 않습니다 (%s)."
+msgstr "원천 RPM 꾸러미를 설치하지 않습니다 (%s)."
 
 #: dnf/dnssec.py:171
 msgid ""
 "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
-msgstr "구성 선택 'gpgkey_dns_verification'에는 python3-unbound ({})가 필요합니다"
+msgstr ""
+"구성 선택 'gpgkey_dns_verification'에는 python3-unbound ({})가 필요합니다"
 
 #: dnf/dnssec.py:243
 msgid "DNSSEC extension: Key for user "
@@ -3649,18 +3718,18 @@ msgstr "DNSSEC 확장: "
 msgid "Testing already imported keys for their validity."
 msgstr "유효성 검사를 위해 이미 가져온 키를 테스트 중입니다."
 
-#: dnf/drpm.py:62 dnf/repo.py:267
+#: dnf/drpm.py:62 dnf/repo.py:268
 #, python-format
 msgid "unsupported checksum type: %s"
 msgstr "지원되지 않는 검사 유형: %s"
 
 #: dnf/drpm.py:144
 msgid "Delta RPM rebuild failed"
-msgstr "Delta RPM을 다시 빌드하지 못했습니다"
+msgstr "델타 RPM을 다시 제작하는데 실패함"
 
 #: dnf/drpm.py:146
 msgid "Checksum of the delta-rebuilt RPM failed"
-msgstr "delta-rebuilt RPM의 체크섬에 실패했습니다"
+msgstr "델타-재제작 RPM의 체크섬이 실패함"
 
 # translation auto-copied from project subscription-manager, version 1.9.X,
 # document keys
@@ -3702,10 +3771,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 '{}'."
@@ -3713,7 +3784,7 @@ msgstr "'{}'에 다른 스트림을 사용합니다."
 
 #: dnf/module/__init__.py:27
 msgid "Nothing to show."
-msgstr "표시할 것이 없습니다."
+msgstr "표시 할 것이 없습니다."
 
 #: dnf/module/__init__.py:28
 msgid "Installing newer version of '{}' than specified. Reason: {}"
@@ -3765,7 +3836,7 @@ msgstr "그런 프로파일이 없습니다: {}. 사용 가능한 프로파일
 
 #: dnf/module/exceptions.py:88
 msgid "No profile to remove for '{}'"
-msgstr "제거되는 프로파일이 없습니다('{}'를 위해 )"
+msgstr "'{}'를 제거하려는 프로파일이 없습니다"
 
 #: dnf/module/module_base.py:35
 msgid ""
@@ -3795,7 +3866,8 @@ msgstr "불필요한 프로파일을 무시합니다: '{}/{}'"
 #: 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:94 dnf/module/module_base.py:204
 #, python-brace-format
@@ -3805,7 +3877,8 @@ msgstr "실패 방지 저장소 {1}에서 모듈 '{0}’를 설치 할 수 없
 #: 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:108 dnf/module/module_base.py:218
 msgid "Unable to match profile for argument {}"
@@ -3846,7 +3919,7 @@ msgstr "꾸러미 이름 '{}'를 위하여 배포판에서 사용 할 수 있는
 #: dnf/module/module_base.py:552 dnf/module/module_base.py:611
 #: dnf/module/module_base.py:680 dnf/module/module_base.py:843
 msgid "Unable to resolve argument {}"
-msgstr "인수 {}을 (를) 구문 분석할 수 없습니다"
+msgstr "인수 {}를 해결 할 수 없습니다"
 
 #: dnf/module/module_base.py:321
 #, python-brace-format
@@ -3864,16 +3937,15 @@ 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"
+"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}'), "
-"하지만 활성화 되었거나 지정된 스트림이 없습니다"
+"인수 '{argument}'는 {stream_count} 스트림 ('{streams}')과 일치합니다 (모듈의 "
+"'{module}'), 하지만 활성화 되었거나 지정된 스트림이 없습니다"
 
 #: 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/module/module_base.py:844
@@ -3909,44 +3981,44 @@ msgstr "마지막 makecache 시간을 결정하지 못했습니다."
 msgid "Parsing file failed: %s"
 msgstr "구문 분석에 실패했습니다. %s"
 
-#: dnf/plugin.py:141
+#: dnf/plugin.py:144
 #, python-format
 msgid "Loaded plugins: %s"
-msgstr "로드된 플러그인 : %s"
+msgstr "적재된 플러그인: %s"
 
-#: dnf/plugin.py:211
+#: dnf/plugin.py:216
 #, python-format
 msgid "Failed loading plugin \"%s\": %s"
 msgstr "플러그인 \"%s\"를 불러오지 못했습니다: %s"
 
-#: dnf/plugin.py:243
+#: dnf/plugin.py:248
 msgid "No matches found for the following enable plugin patterns: {}"
 msgstr "다음의 활성 플러그인 패턴과 일치하는 항목이 없습니다: {}"
 
-#: dnf/plugin.py:247
+#: dnf/plugin.py:252
 msgid "No matches found for the following disable plugin patterns: {}"
-msgstr "다음의 비활성화 플러그인 패턴과 일치하는 항목이 없습니다: {}"
+msgstr "다음의 비활성화 플러그인 유형과 일치하는 항목이 없습니다: {}"
 
-#: dnf/repo.py:84
+#: dnf/repo.py:85
 #, python-format
 msgid "no matching payload factory for %s"
-msgstr "%s와 일치하는 payload factory가 없습니다"
+msgstr "%s와 일치하는 페이로드 팩토리가 없습니다"
 
 #. pinging mirrors, this might take a while
-#: dnf/repo.py:346
+#: dnf/repo.py:347
 #, python-format
 msgid "determining the fastest mirror (%s hosts).. "
-msgstr "가장 빠른 미러 지정 (%s 호스트).. "
+msgstr "가장 빠른 연결목록 지정 (%s 호스트).. "
 
 #: dnf/repodict.py:58
 #, python-format
 msgid "enabling %s repository"
-msgstr "%s 리포지토리 활성화"
+msgstr "%s 저장소 활성화"
 
 #: dnf/repodict.py:94
 #, python-format
 msgid "Added %s repo from %s"
-msgstr "%s 에서 %s repo를 추가했습니다"
+msgstr "%s에서 %s 저장소를 추가했습니다"
 
 #: dnf/rpm/miscutils.py:32
 #, python-format
@@ -3973,7 +4045,9 @@ msgstr "연결 시험 중에 오류가 발생했습니다."
 msgid ""
 "allow_vendor_change is disabled. This option is currently not supported for "
 "downgrade and distro-sync commands"
-msgstr "허용_공급업체_변화는 사용 할 수 없습니다. 이 선택은 현재 다운드레이드와 distro-sync 명령을 지원하지 않습니다"
+msgstr ""
+"허용_공급업체_변화는 사용 할 수 없습니다. 이 선택은 현재 다운드레이드와 "
+"distro-sync 명령을 지원하지 않습니다"
 
 #. TRANSLATORS: This is for a single package currently being downgraded.
 #: dnf/transaction.py:80
@@ -4015,7 +4089,7 @@ msgstr "확인 중"
 
 #: dnf/transaction.py:97
 msgid "Running scriptlet"
-msgstr "스크립트릿 실행 중"
+msgstr "구현 중"
 
 #: dnf/transaction.py:99
 msgid "Preparing"
@@ -4047,7 +4121,8 @@ msgstr "잘못된 하위 버전 \"{minor}\", 번호가 예상됩니다."
 msgid ""
 "Incompatible major version \"{major}\", supported major version is "
 "\"{major_supp}\"."
-msgstr "호환되지 않는 주요 버전 \"{major}\", 지원되는 주요 버전 \"{major_supp}\"."
+msgstr ""
+"호환되지 않는 주요 버전 \"{major}\", 지원되는 주요 버전 \"{major_supp}\"."
 
 #: dnf/transaction_sr.py:224
 msgid ""
@@ -4071,8 +4146,10 @@ msgstr "rpm안에 누락된 객체 키 \"{key}\"."
 
 #: dnf/transaction_sr.py:289
 #, python-brace-format
-msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
-msgstr "rpm nevra \"{nevra}\"를 위한 예상되지 않은 꾸러미 이유\"{reason}\" 의 값."
+msgid ""
+"Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
+msgstr ""
+"rpm nevra \"{nevra}\"를 위한 예상되지 않은 꾸러미 이유 \"{reason}\"의 값."
 
 #: dnf/transaction_sr.py:297
 #, python-brace-format
@@ -4094,7 +4171,9 @@ msgstr "꾸러미 \"{na}\"는 활동 \"{action}\"를 위해 이미 설치되어
 msgid ""
 "Package nevra \"{nevra}\" not available in repositories for action "
 "\"{action}\"."
-msgstr "꾸러미 nervra \"{nevra}\"는 실행 \"{action}\"을 위한 저장소에서 사용 할 수 없음."
+msgstr ""
+"꾸러미 nervra \"{nevra}\"는 실행 \"{action}\"을 위한 저장소에서 사용 할 수 없"
+"음."
 
 #: dnf/transaction_sr.py:356
 #, python-brace-format
@@ -4103,8 +4182,10 @@ msgstr "꾸러미 nevra\"{nevra}\"는 활동 \"{action}\"을 위해 설치되지
 
 #: dnf/transaction_sr.py:370
 #, python-brace-format
-msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
-msgstr "rpm nevra \"{nevra}\"를 위해 기대하지 않는 꾸러미 활동 \"{action}\"의 값."
+msgid ""
+"Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"."
+msgstr ""
+"rpm nevra \"{nevra}\"를 위해 기대하지 않는 꾸러미 활동 \"{action}\"의 값."
 
 #: dnf/transaction_sr.py:377
 #, python-format
@@ -4117,53 +4198,59 @@ msgid "Missing object key \"{key}\" in groups.packages."
 msgstr "group.packages에 있는 객체 키 \"{key}\" 누락."
 
 #: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
+#: dnf/transaction_sr.py:431
 #, python-format
 msgid "Group id '%s' is not installed."
 msgstr "그룹 '%s'는 설치되어 있지 않습니다."
 
-#: dnf/transaction_sr.py:432
+#: dnf/transaction_sr.py:442
 #, python-format
 msgid "Environment id '%s' is not available."
 msgstr "환경 id '%s'는 사용 할 수 없습니다."
 
-#: dnf/transaction_sr.py:456
+#: dnf/transaction_sr.py:466
 #, 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}\", \"필 수\" 또는 \"선택\"만 지원합니다."
+msgstr ""
+"잘못된 environments.groups.group_type의 값 \"{group_type}\", \"필 수\" 또는 "
+"\"선택\"만 지원합니다."
 
-#: dnf/transaction_sr.py:464
+#: dnf/transaction_sr.py:474
 #, python-brace-format
 msgid "Missing object key \"{key}\" in environments.groups."
 msgstr "환경 그룹에서 누락된 객체 키 \"{key}\"."
 
-#: dnf/transaction_sr.py:542
+#: dnf/transaction_sr.py:564
 #, python-brace-format
 msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
 msgstr "그룹 \"{group}\"을 위해 예상치 못한 그룹 활동 \"{action}\"의 값."
 
-#: dnf/transaction_sr.py:547
+#: dnf/transaction_sr.py:569
 #, python-brace-format
 msgid "Missing object key \"{key}\" in a group."
 msgstr "그룹 안에 누락된 객체 키 \"{key}\"."
 
-#: dnf/transaction_sr.py:571
+#: dnf/transaction_sr.py:595
 #, python-brace-format
-msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
+msgid ""
+"Unexpected value of environment action \"{action}\" for environment "
+"\"{env}\"."
 msgstr "환경 \"{env}\"를 위해 예상하지 못한 환경 활동 \"{action}\"의 값."
 
-#: dnf/transaction_sr.py:576
+#: dnf/transaction_sr.py:600
 #, python-brace-format
 msgid "Missing object key \"{key}\" in an environment."
 msgstr "환경에 누락된 객체 키 \"{key}\"."
 
-#: dnf/transaction_sr.py:615
+#: dnf/transaction_sr.py:639
 #, python-brace-format
 msgid ""
-"Package nevra \"{nevra}\", which is not present in the transaction file, was"
-" pulled into the transaction."
-msgstr "꾸러미 nevra \"{nevra}\", 연겨 파일에 존재하지 않는 것은 연결로 가져왔습니다."
+"Package nevra \"{nevra}\", which is not present in the transaction file, was "
+"pulled into the transaction."
+msgstr ""
+"꾸러미 nevra \"{nevra}\", 연겨 파일에 존재하지 않는 것은 연결로 가져왔습니다."
 
 #: dnf/util.py:417 dnf/util.py:419
 msgid "Problem"
@@ -4187,7 +4274,7 @@ msgstr "다시 설치되었습니다"
 
 #: dnf/util.py:620
 msgid "Skipped"
-msgstr "건너 뛰기됨"
+msgstr "건너뜀"
 
 #: dnf/util.py:621
 msgid "Removed"
@@ -4195,28 +4282,32 @@ msgstr "제거되었습니다"
 
 #: dnf/util.py:624
 msgid "Failed"
-msgstr "실패하였습니다"
+msgstr "실패함"
 
 #. returns <name-unset> for everything that evaluates to False (None, empty..)
 #: dnf/util.py:633
 msgid "<name-unset>"
 msgstr "<name-unset>"
 
-#~ msgid "Already downloaded"
-#~ msgstr "이미 내려받음"
-
 #~ msgid "No Matches found"
 #~ msgstr "검색 결과가 없습니다"
 
 #~ msgid ""
 #~ "Enable additional repositories. List option. Supports globs, can be "
 #~ "specified multiple times."
-#~ msgstr "추가 저장소를 활성화하십시오. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정 할 수 있습니다."
+#~ msgstr ""
+#~ "추가 저장소를 활성화하십시오. 옵션이 나열됩니다. glob를 지원하며 여러 번 "
+#~ "지정 할 수 있습니다."
 
 #~ 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를 지원하며 여러 번 지정 "
+#~ "할 수 있습니다."
+
+#~ msgid "Already downloaded"
+#~ msgstr "이미 내려받음"
 
 #~ msgid "skipping."
 #~ msgstr "건너 뛰기."
@@ -4224,7 +4315,8 @@ msgstr "<name-unset>"
 #~ msgid ""
 #~ "Using rpmkeys executable from {path} to verify signature for package: "
 #~ "{package}."
-#~ msgstr "{path}에서 실행 가능한 rpmkey를 사용하여 꾸러미: {package}을 위해 서명을 확인합니다."
+#~ msgstr ""
+#~ "{path}에서 실행 할 수 있는 rpmkeys를 사용하여 꾸러미 서명 확인: {package}."
 
 #~ msgid "%s: %s check failed: %s vs %s"
 #~ msgstr "%s: %s 확인 실패 : %s 대 %s"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 2f8b9f8e..4496ba43 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -21,29 +21,33 @@
 # zhouxiaobo <zhouxiaobo.500@gmail.com>, 2017. #zanata
 # Ludek Janda <ljanda@redhat.com>, 2018. #zanata
 # Pany <pany@fedoraproject.org>, 2018. #zanata
-# Qiyu Yan <yanqiyu01@gmail.com>, 2018. #zanata, 2021.
-# Qiyu Yan <yanqiyu01@gmail.com>, 2019. #zanata, 2021.
+# 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.
+# Transtats <suanand@redhat.com>, 2022, 2023.
 # Edward Zhang <edwardzcn98@gmail.com>, 2022.
 # Cheng Ming <chengming@bjuci.com.cn>, 2022.
+# Yang Yulin <yylteam@icloud.com>, 2022, 2023.
+# Jingge Chen <mariocanfly@hotmail.com>, 2022.
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-11 02:46+0000\n"
-"PO-Revision-Date: 2022-08-11 03:19+0000\n"
-"Last-Translator: Cheng Ming <chengming@bjuci.com.cn>\n"
-"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/dnf/dnf-master/zh_CN/>\n"
+"POT-Creation-Date: 2023-02-28 10:24+0100\n"
+"PO-Revision-Date: 2023-03-06 13:20+0000\n"
+"Last-Translator: Transtats <suanand@redhat.com>\n"
+"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
+"projects/dnf/dnf-rhel-9/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.13\n"
+"X-Generator: Weblate 4.15.2\n"
 
 #: dnf/automatic/emitter.py:32
 #, python-format
@@ -127,7 +131,7 @@ msgstr "系统离线。"
 msgid "Error: %s"
 msgstr "错误:%s"
 
-#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481
+#: dnf/base.py:150 dnf/base.py:484 dnf/base.py:486
 msgid "loading repo '{}' failure: {}"
 msgstr "加载仓库 '{}' 失败:{}"
 
@@ -135,236 +139,236 @@ msgstr "加载仓库 '{}' 失败:{}"
 msgid "Loading repository '{}' has failed"
 msgstr "加载仓库 '{}' 失败"
 
-#: dnf/base.py:329
+#: dnf/base.py:334
 msgid "Metadata timer caching disabled when running on metered connection."
 msgstr "在使用按流量计费的连接时禁用元数据计时缓存。"
 
-#: dnf/base.py:334
+#: dnf/base.py:339
 msgid "Metadata timer caching disabled when running on a battery."
 msgstr "在使用电池时禁用元数据计时缓存。"
 
-#: dnf/base.py:339
+#: dnf/base.py:344
 msgid "Metadata timer caching disabled."
 msgstr "元数据计时缓存已禁用。"
 
-#: dnf/base.py:344
+#: dnf/base.py:349
 msgid "Metadata cache refreshed recently."
 msgstr "元数据缓存近期已刷新。"
 
-#: dnf/base.py:350 dnf/cli/commands/__init__.py:91
+#: dnf/base.py:355 dnf/cli/commands/__init__.py:91
 msgid "There are no enabled repositories in \"{}\"."
 msgstr "在\"{}\"中没有被启用的仓库。"
 
-#: dnf/base.py:357
+#: dnf/base.py:362
 #, python-format
 msgid "%s: will never be expired and will not be refreshed."
 msgstr "%s: 永远不过期并不会被刷新。"
 
-#: dnf/base.py:359
+#: dnf/base.py:364
 #, python-format
 msgid "%s: has expired and will be refreshed."
 msgstr "%s: 已过期并不会被刷新。"
 
 #. expires within the checking period:
-#: dnf/base.py:363
+#: dnf/base.py:368
 #, python-format
 msgid "%s: metadata will expire after %d seconds and will be refreshed now"
 msgstr "%s: 元数据将在 %d 秒后过期,现在将会被刷新"
 
-#: dnf/base.py:367
+#: dnf/base.py:372
 #, python-format
 msgid "%s: will expire after %d seconds."
 msgstr "%s: 将会在 %d 秒后过期。"
 
 #. performs the md sync
-#: dnf/base.py:373
+#: dnf/base.py:378
 msgid "Metadata cache created."
 msgstr "元数据缓存已建立。"
 
-#: dnf/base.py:406 dnf/base.py:473
+#: dnf/base.py:411 dnf/base.py:478
 #, python-format
 msgid "%s: using metadata from %s."
 msgstr "%s:正在使用截止于 %s 的元数据。"
 
-#: dnf/base.py:418 dnf/base.py:486
+#: dnf/base.py:423 dnf/base.py:491
 #, python-format
 msgid "Ignoring repositories: %s"
 msgstr "正在忽略仓库:%s"
 
-#: dnf/base.py:421
+#: dnf/base.py:426
 #, python-format
 msgid "Last metadata expiration check: %s ago on %s."
 msgstr "上次元数据过期检查:%s 前,执行于 %s。"
 
-#: dnf/base.py:514
+#: dnf/base.py:519
 msgid ""
 "The downloaded packages were saved in cache until the next successful "
 "transaction."
 msgstr "下载的软件包保存在缓存中,直到下次成功执行事务。"
 
-#: dnf/base.py:516
+#: dnf/base.py:521
 #, python-format
 msgid "You can remove cached packages by executing '%s'."
 msgstr "您可以通过执行 '%s' 删除软件包缓存。"
 
-#: dnf/base.py:648
+#: dnf/base.py:653
 #, python-format
 msgid "Invalid tsflag in config file: %s"
 msgstr "配置文件 %s 中使用 tsflag 是错误的"
 
-#: dnf/base.py:706
+#: dnf/base.py:711
 #, python-format
 msgid "Failed to add groups file for repository: %s - %s"
 msgstr "为仓库 %s 添加组文件时失败:%s"
 
-#: dnf/base.py:968
+#: dnf/base.py:973
 msgid "Running transaction check"
 msgstr "运行事务检查"
 
-#: dnf/base.py:976
+#: dnf/base.py:981
 msgid "Error: transaction check vs depsolve:"
 msgstr "错误:事务检查与依赖解决错误:"
 
-#: dnf/base.py:982
+#: dnf/base.py:987
 msgid "Transaction check succeeded."
 msgstr "事务检查成功。"
 
-#: dnf/base.py:985
+#: dnf/base.py:990
 msgid "Running transaction test"
 msgstr "运行事务测试"
 
-#: dnf/base.py:995 dnf/base.py:1146
+#: dnf/base.py:1000 dnf/base.py:1151
 msgid "RPM: {}"
 msgstr "RPM软件包: {}"
 
-#: dnf/base.py:996
+#: dnf/base.py:1001
 msgid "Transaction test error:"
 msgstr "事务测试失败:"
 
-#: dnf/base.py:1007
+#: dnf/base.py:1012
 msgid "Transaction test succeeded."
 msgstr "事务测试成功。"
 
-#: dnf/base.py:1028
+#: dnf/base.py:1033
 msgid "Running transaction"
 msgstr "运行事务"
 
-#: dnf/base.py:1065
+#: dnf/base.py:1070
 msgid "Disk Requirements:"
 msgstr "磁盘需求:"
 
-#: dnf/base.py:1068
+#: dnf/base.py:1073
 #, 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:1075
+#: dnf/base.py:1080
 msgid "Error Summary"
 msgstr "错误汇总"
 
-#: dnf/base.py:1101
+#: dnf/base.py:1106
 #, python-brace-format
 msgid "RPMDB altered outside of {prog}."
 msgstr "RPMDB 在 {prog} 外被改动了。"
 
-#: dnf/base.py:1147 dnf/base.py:1155
+#: dnf/base.py:1152 dnf/base.py:1160
 msgid "Could not run transaction."
 msgstr "不能执行事务。"
 
-#: dnf/base.py:1150
+#: dnf/base.py:1155
 msgid "Transaction couldn't start:"
 msgstr "事务无法启动:"
 
-#: dnf/base.py:1164
+#: dnf/base.py:1169
 #, python-format
 msgid "Failed to remove transaction file %s"
 msgstr "移除事务文件 %s 失败"
 
-#: dnf/base.py:1246
+#: dnf/base.py:1251
 msgid "Some packages were not downloaded. Retrying."
 msgstr "某些软件包没有被下载。正在重试。"
 
-#: dnf/base.py:1276
+#: dnf/base.py:1281
 #, python-format
 msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
 msgstr "增量 RPM 将更新的 %.1f MB 减少到 %.1f MB(节省了 %.1f%%)"
 
-#: dnf/base.py:1280
+#: dnf/base.py:1285
 #, python-format
 msgid ""
 "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
 msgstr "失败的增量 RPM 将更新的 %.1f MB 增加到 %.1f MB(浪费了 %.1f%%)"
 
-#: dnf/base.py:1322
+#: dnf/base.py:1327
 msgid "Cannot add local packages, because transaction job already exists"
 msgstr "由于事务已经存在,无法添加本地软件包"
 
-#: dnf/base.py:1336
+#: dnf/base.py:1341
 msgid "Could not open: {}"
 msgstr "无法打开: {}"
 
-#: dnf/base.py:1374
+#: dnf/base.py:1379
 #, python-format
 msgid "Public key for %s is not installed"
 msgstr "%s 的公钥没有安装"
 
-#: dnf/base.py:1378
+#: dnf/base.py:1383
 #, python-format
 msgid "Problem opening package %s"
 msgstr "打开软件包 %s 出现问题"
 
-#: dnf/base.py:1386
+#: dnf/base.py:1391
 #, python-format
 msgid "Public key for %s is not trusted"
 msgstr "%s 的公钥不可信任"
 
-#: dnf/base.py:1390
+#: dnf/base.py:1395
 #, python-format
 msgid "Package %s is not signed"
 msgstr "软件包 %s 没有签名"
 
-#: dnf/base.py:1420
+#: dnf/base.py:1425
 #, python-format
 msgid "Cannot remove %s"
 msgstr "无法删除 %s"
 
-#: dnf/base.py:1424
+#: dnf/base.py:1429
 #, python-format
 msgid "%s removed"
 msgstr "%s 已删除"
 
-#: dnf/base.py:1704
+#: dnf/base.py:1709
 msgid "No match for group package \"{}\""
 msgstr "没有和组 \"{}\" 匹配的"
 
-#: dnf/base.py:1786
+#: dnf/base.py:1791
 #, python-format
 msgid "Adding packages from group '%s': %s"
 msgstr "从组 '%s': %s 添加软件包"
 
-#: dnf/base.py:1809 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
+#: dnf/base.py:1814 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:1827
+#: dnf/base.py:1832
 msgid "No groups marked for removal."
 msgstr "没有软件包组需要移除。"
 
-#: dnf/base.py:1861
+#: dnf/base.py:1866
 msgid "No group marked for upgrade."
 msgstr "没有标记为要升级的组。"
 
-#: dnf/base.py:2075
+#: dnf/base.py:2080
 #, python-format
 msgid "Package %s not installed, cannot downgrade it."
 msgstr "软件包 %s 并没有能够安装,无法进行降级操作。"
 
-#: dnf/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136
-#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417
+#: dnf/base.py:2082 dnf/base.py:2101 dnf/base.py:2114 dnf/base.py:2145
+#: dnf/base.py:2215 dnf/base.py:2223 dnf/base.py:2357 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
@@ -374,178 +378,179 @@ msgstr "软件包 %s 并没有能够安装,无法进行降级操作。"
 msgid "No match for argument: %s"
 msgstr "未找到匹配的参数: %s"
 
-#: dnf/base.py:2084
+#: dnf/base.py:2089
 #, python-format
 msgid "Package %s of lower version already installed, cannot downgrade it."
 msgstr "软件包 %s 的低版本已经安装,无法进行降级。"
 
-#: dnf/base.py:2107
+#: dnf/base.py:2112
 #, python-format
 msgid "Package %s not installed, cannot reinstall it."
 msgstr "软件包 %s 未能够安装成功,无法进行重新安装。"
 
-#: dnf/base.py:2122
+#: dnf/base.py:2127
 #, python-format
 msgid "File %s is a source package and cannot be updated, ignoring."
 msgstr "%s 文件无法被升级,已忽略。"
 
-#: dnf/base.py:2133
+#: dnf/base.py:2142
 #, python-format
 msgid "Package %s not installed, cannot update it."
 msgstr "软件包 %s 未安装,无法更新。"
 
-#: dnf/base.py:2143
+#: dnf/base.py:2152
 #, python-format
 msgid ""
 "The same or higher version of %s is already installed, cannot update it."
 msgstr "已经安装了软件包%s的相同或更高版本,无法更新。"
 
-#: dnf/base.py:2203 dnf/cli/commands/reinstall.py:81
+#: dnf/base.py:2212 dnf/cli/commands/reinstall.py:81
 #, python-format
 msgid "Package %s available, but not installed."
 msgstr "软件包 %s 可用,但没有被安装。"
 
-#: dnf/base.py:2209
+#: dnf/base.py:2218
 #, python-format
 msgid "Package %s available, but installed for different architecture."
 msgstr "软件包 %s 可用,当是为其它架构安装。"
 
-#: dnf/base.py:2234
+#: dnf/base.py:2243
 #, python-format
 msgid "No package %s installed."
 msgstr "没有软件包 %s 安装。"
 
-#: dnf/base.py:2252 dnf/cli/commands/install.py:136
+#: dnf/base.py:2261 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:2267 dnf/cli/commands/__init__.py:676
+#: dnf/base.py:2276 dnf/cli/commands/__init__.py:676
 #: dnf/cli/commands/remove.py:162
 msgid "No packages marked for removal."
 msgstr "没有软件包需要移除。"
 
-#: dnf/base.py:2355 dnf/cli/cli.py:428
+#: dnf/base.py:2364 dnf/cli/cli.py:428
 #, python-format
 msgid "Packages for argument %s available, but not installed."
 msgstr "针对于参数 %s 的软件包可用, 但是目前没有安装。"
 
-#: dnf/base.py:2360
+#: dnf/base.py:2369
 #, python-format
 msgid "Package %s of lowest version already installed, cannot downgrade it."
 msgstr "软件包 %s 的最低版本已经安装,无法再进行降级。"
 
-#: dnf/base.py:2460
+#: dnf/base.py:2469
 msgid "No security updates needed, but {} update available"
 msgstr "没有必须的安全更新, 但是 {} 的更新可用"
 
-#: dnf/base.py:2462
+#: dnf/base.py:2471
 msgid "No security updates needed, but {} updates available"
 msgstr "没有必须的安全更新, 但是 {} 的更新可用"
 
-#: dnf/base.py:2466
+#: dnf/base.py:2475
 msgid "No security updates needed for \"{}\", but {} update available"
 msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用"
 
-#: dnf/base.py:2468
+#: dnf/base.py:2477
 msgid "No security updates needed for \"{}\", but {} updates available"
 msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用"
 
 #. raise an exception, because po.repoid is not in self.repos
-#: dnf/base.py:2489
+#: dnf/base.py:2498
 #, python-format
 msgid "Unable to retrieve a key for a commandline package: %s"
 msgstr "无法获取来自命令行的软件包的密钥:%s"
 
-#: dnf/base.py:2497
+#: dnf/base.py:2506
 #, python-format
 msgid ". Failing package is: %s"
 msgstr ". 失败的软件包是:%s"
 
-#: dnf/base.py:2498
+#: dnf/base.py:2507
 #, python-format
 msgid "GPG Keys are configured as: %s"
 msgstr "GPG密钥配置为:%s"
 
-#: dnf/base.py:2510
+#: dnf/base.py:2519
 #, python-format
 msgid "GPG key at %s (0x%s) is already installed"
 msgstr "%s 的 GPG 公钥(0x%s)已安装"
 
-#: dnf/base.py:2546
+#: dnf/base.py:2555
 msgid "The key has been approved."
 msgstr "密钥已被确认。"
 
-#: dnf/base.py:2549
+#: dnf/base.py:2558
 msgid "The key has been rejected."
 msgstr "密钥已被拒绝。"
 
-#: dnf/base.py:2582
+#: dnf/base.py:2591
 #, python-format
 msgid "Key import failed (code %d)"
 msgstr "导入公钥失败(代码 %d)"
 
-#: dnf/base.py:2584
+#: dnf/base.py:2593
 msgid "Key imported successfully"
 msgstr "导入公钥成功"
 
-#: dnf/base.py:2588
+#: dnf/base.py:2597
 msgid "Didn't install any keys"
 msgstr "没有安装任何公钥"
 
-#: dnf/base.py:2591
+#: dnf/base.py:2600
 #, 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:2602
+#: dnf/base.py:2611
 msgid "Import of key(s) didn't help, wrong key(s)?"
 msgstr "导入的密钥没有公钥,错误的公钥?"
 
-#: dnf/base.py:2655
+#: dnf/base.py:2664
 msgid "  * Maybe you meant: {}"
 msgstr "  * 可能您的意思是:{}"
 
-#: dnf/base.py:2687
+#: dnf/base.py:2696
 msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
 msgstr "软件包 \"{}\"(来自于本地仓库 \"{}\")的 checksum 不正确"
 
-#: dnf/base.py:2690
+#: dnf/base.py:2699
 msgid "Some packages from local repository have incorrect checksum"
 msgstr "本地仓库的一些软件包校验值(checksum)不正确,无法确定软件包完整"
 
-#: dnf/base.py:2693
+#: dnf/base.py:2702
 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
 msgstr "软件包 \"{}\"(来自仓库 \"{}\")的 checksum 不正确"
 
-#: dnf/base.py:2696
+#: dnf/base.py:2705
 msgid ""
 "Some packages have invalid cache, but cannot be downloaded due to \"--"
 "cacheonly\" option"
 msgstr "以下软件包有无效缓存,因为使用了 \"--cacheonly\" 选项不能下载"
 
-#: dnf/base.py:2714 dnf/base.py:2734
+#: dnf/base.py:2723 dnf/base.py:2743
 msgid "No match for argument"
 msgstr "未找到匹配的参数"
 
-#: dnf/base.py:2722 dnf/base.py:2742
+#: dnf/base.py:2731 dnf/base.py:2751
 msgid "All matches were filtered out by exclude filtering for argument"
 msgstr "由于您的搜索参数,所有相关结果都已被滤掉"
 
-#: dnf/base.py:2724
+#: dnf/base.py:2733
 msgid "All matches were filtered out by modular filtering for argument"
 msgstr "所有的匹配结果均已经被参数的模块化过滤条件筛除"
 
-#: dnf/base.py:2740
+#: dnf/base.py:2749
 msgid "All matches were installed from a different repository for argument"
 msgstr "已从另一个仓库安装了参数的所有匹配"
 
-#: dnf/base.py:2787
+#: dnf/base.py:2796
 #, python-format
 msgid "Package %s is already installed."
 msgstr "软件包 %s 已安装。"
@@ -600,11 +605,15 @@ msgstr "这个操作会把模块 '{0}' 从流 '{1}' 切换到流 '{2}'"
 #: dnf/cli/cli.py:173
 #, python-brace-format
 msgid ""
-"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."
+"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 ""
 "无法切换已启用模块的流,除非显式的通过配置选项 module_stream_switch 启用。\n"
-"推荐直接移除来自模块的所有已安装内容,然后通过 '{prog} module reset <module_name>' 命令重置模块。在您重置模块之后,就可以安装其他的流。"
+"推荐直接移除来自模块的所有已安装内容,然后通过 '{prog} module reset "
+"<module_name>' 命令重置模块。在您重置模块之后,就可以安装其他的流。"
 
 #: dnf/cli/cli.py:212
 #, python-brace-format
@@ -695,7 +704,9 @@ msgstr "没有匹配的软件包可以列出"
 msgid ""
 "No matches found. If searching for a file, try specifying the full path or "
 "using a wildcard prefix (\"*/\") at the beginning."
-msgstr "未找到匹配项。如果搜索的是一个文件,尝试使用完整路径或者在开头使用通配符前缀(\"*/\")。"
+msgstr ""
+"未找到匹配项。如果搜索一个文件,请尝试使用完整路径或在开始使用通配符前缀 "
+"(\"*/\")。"
 
 #: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237
 #, python-format
@@ -709,8 +720,8 @@ msgstr "没有仓库匹配: %s"
 
 #: dnf/cli/cli.py:721
 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:751
@@ -737,21 +748,24 @@ 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:822
 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:904
 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:924
 msgid "Config file \"{}\" does not exist"
@@ -802,7 +816,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"
@@ -1131,7 +1146,7 @@ msgstr "缓存已过期"
 #, python-format
 msgid "%d file removed"
 msgid_plural "%d files removed"
-msgstr[0] "%d 文件已删除"
+msgstr[0] "%d 个文件已删除"
 
 #: dnf/cli/commands/clean.py:119 dnf/lock.py:139
 #, python-format
@@ -1142,7 +1157,8 @@ msgstr "正在等待 pid 为%d的进程退出。"
 msgid ""
 "[deprecated, use repoquery --deplist] List package's dependencies and what "
 "packages provide them"
-msgstr "[已弃用,请使用 repoquery --deplist] 列出软件包的依赖关系和提供这些软件包的源"
+msgstr ""
+"[已弃用,请使用 repoquery --deplist] 列出软件包的依赖关系和提供这些软件包的源"
 
 #: dnf/cli/commands/distrosync.py:32
 msgid "synchronize installed packages to the latest available versions"
@@ -1248,8 +1264,8 @@ 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
@@ -1260,8 +1276,8 @@ 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
@@ -1292,8 +1308,8 @@ msgstr "你没有权限访问历史数据库:%s"
 #: 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:156
@@ -1360,7 +1376,7 @@ msgstr "未覆盖 {},正在退出。"
 
 #: dnf/cli/commands/history.py:378
 msgid "Transaction saved to {}."
-msgstr "事务已保存至 {}。"
+msgstr "事务已保存到 {}。"
 
 #: dnf/cli/commands/history.py:381
 msgid "Error storing transaction: {}"
@@ -1441,8 +1457,8 @@ msgstr "软件包 %s 尚未安装。"
 
 #: 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:80
@@ -1623,60 +1639,60 @@ msgstr "仓库状态        : "
 
 #: dnf/cli/commands/repolist.py:169
 msgid "Repo-revision      : "
-msgstr "Repo-revision      : "
+msgstr "软件仓库修订版      : "
 
 #: dnf/cli/commands/repolist.py:173
 msgid "Repo-tags          : "
-msgstr "Repo-tags          : "
+msgstr "软件仓库标签          : "
 
 #: dnf/cli/commands/repolist.py:180
 msgid "Repo-distro-tags      : "
-msgstr "Repo-distro-tags      : "
+msgstr "软件仓库发行版标签      : "
 
 #: dnf/cli/commands/repolist.py:192
 msgid "Repo-updated       : "
-msgstr "Repo-updated       : "
+msgstr "更新的软件仓库       : "
 
 #: dnf/cli/commands/repolist.py:194
 msgid "Repo-pkgs          : "
-msgstr "Repo-pkgs          : "
+msgstr "软件仓库的软件包          : "
 
 #: 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 "软件仓库大小          : "
 
 #: dnf/cli/commands/repolist.py:199
 msgid "Repo-metalink      : "
-msgstr "Repo-metalink      : "
+msgstr "软件仓库元链接      : "
 
 #: dnf/cli/commands/repolist.py:204
 msgid "  Updated          : "
-msgstr "  Updated          : "
+msgstr "  更新于          : "
 
 #: dnf/cli/commands/repolist.py:206
 msgid "Repo-mirrors       : "
-msgstr "Repo-mirrors       : "
+msgstr "软件仓库镜像站       : "
 
 #: dnf/cli/commands/repolist.py:210 dnf/cli/commands/repolist.py:216
 msgid "Repo-baseurl       : "
-msgstr "Repo-baseurl       : "
+msgstr "软件仓库基本 URL       : "
 
 #: dnf/cli/commands/repolist.py:219
 msgid "Repo-expire        : "
-msgstr "Repo-expire        : "
+msgstr "软件仓库过期时间        : "
 
 #. TRANSLATORS: Packages that are excluded - their names like (dnf systemd)
 #: dnf/cli/commands/repolist.py:223
 msgid "Repo-exclude       : "
-msgstr "Repo-exclude       : "
+msgstr "软件仓库排除项       : "
 
 #: dnf/cli/commands/repolist.py:227
 msgid "Repo-include       : "
-msgstr "Repo-include       : "
+msgstr "软件仓库包含项       : "
 
 #. TRANSLATORS: Number of packages that where excluded (5)
 #: dnf/cli/commands/repolist.py:232
@@ -1736,7 +1752,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"
@@ -1825,9 +1843,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"
@@ -1837,13 +1857,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 ""
@@ -1879,7 +1902,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."
@@ -1904,8 +1929,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."
@@ -1954,22 +1979,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"
@@ -1983,13 +2009,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 the packages."
 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"
 "  对于指定的软件包,打印此软件包的树状图。"
@@ -2029,8 +2059,7 @@ msgstr "描述"
 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 " 和 "
@@ -2548,7 +2577,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"
@@ -2567,7 +2598,9 @@ msgid ""
 "Temporarily enable repositories for the purpose of the current dnf command. "
 "Accepts an id, a comma-separated list of ids, or a glob of ids. This option "
 "can be specified multiple times."
-msgstr "基于当前的dnf指令目前可用的仓库,可以接受一个id,一个由分隔符分割的id列表或一个id的glob。该选项可以被多次指定。"
+msgstr ""
+"为当前 dnf 命令临时启用仓库。接受一个 id、以逗号分隔的多个 id 列表,或 ids "
+"glob。此选项可多次指定。"
 
 #: dnf/cli/option_parser.py:268
 msgid ""
@@ -2576,8 +2609,8 @@ msgid ""
 "This option can be specified multiple times, but is mutually exclusive with "
 "`--repo`."
 msgstr ""
-"基于当前的dnf指令目前不可用的仓库,可以接受一个id,一个由分隔符分割的id列表或一个id的glob。该选项可以被多次指定,但使用\"--"
-"repo\"显式互斥。"
+"为当前 dnf 命令临时禁用仓库。接受一个 id、以逗号分隔的多个 id 列表,或 ids "
+"glob。此选项可多次指定,但它与 `--repo` 是相互排斥的。"
 
 #: dnf/cli/option_parser.py:275
 msgid ""
@@ -2605,7 +2638,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:302
 msgid "disable removal of dependencies that are no longer used"
@@ -3302,7 +3336,7 @@ msgstr "失败:"
 
 #: dnf/cli/output.py:1764 dnf/cli/output.py:1766
 msgid "Releasever     :"
-msgstr "Releasever     :"
+msgstr "发行版     :"
 
 #: dnf/cli/output.py:1771 dnf/cli/output.py:1773
 msgid "Command Line   :"
@@ -3478,7 +3512,8 @@ msgstr "模块或者组 '%s' 不存在。"
 msgid "Environment id '%s' does not exist."
 msgstr "环境 id '%s' 不存在。"
 
-#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
+#: dnf/comps.py:622 dnf/transaction_sr.py:487 dnf/transaction_sr.py:497
+#: dnf/transaction_sr.py:507
 #, python-format
 msgid "Environment id '%s' is not installed."
 msgstr "环境 id '%s' 没有安装。"
@@ -3586,15 +3621,20 @@ msgstr "仓库 '{}' 在配置中缺少名称,将使用 id。"
 msgid "Parsing file \"{}\" failed: {}"
 msgstr "解析文件 \"{}\" 失败:{}"
 
+#: dnf/conf/substitutions.py:66
+#, python-brace-format
+msgid "Error when parsing a variable from file '{0}': {1}"
+msgstr "从文件 '{0}' 解析变量时出错:{1}"
+
 #: dnf/crypto.py:108
 #, python-format
 msgid "repo %s: 0x%s already imported"
-msgstr "repo %s: 0x%s 已被导入"
+msgstr "存储库 %s: 0x%s 已被导入"
 
 #: dnf/crypto.py:115
 #, python-format
 msgid "repo %s: imported key 0x%s."
-msgstr "repo %s: 已导入密钥 0x%s。"
+msgstr "存储库 %s: 已导入密钥 0x%s。"
 
 #: dnf/crypto.py:145
 msgid "Verified using DNS record with DNSSEC signature."
@@ -3609,22 +3649,22 @@ msgstr "并未被 DNS 记录验证。"
 msgid "retrieving repo key for %s unencrypted from %s"
 msgstr "为 %s 从 %s 获取的 repo 密钥未加密"
 
-#: dnf/db/group.py:302
+#: dnf/db/group.py:308
 msgid ""
 "No available modular metadata for modular package '{}', it cannot be "
 "installed on the system"
 msgstr "对于模块软件包 '{}' 没有可用的模块元数据,它将不能被安装至此系统上"
 
-#: dnf/db/group.py:353
+#: dnf/db/group.py:359
 #, python-format
 msgid "An rpm exception occurred: %s"
 msgstr "发生了 rpm 异常:%s"
 
-#: dnf/db/group.py:355
+#: dnf/db/group.py:361
 msgid "No available modular metadata for modular package"
 msgstr "对于模块软件包没有可用的模块元数据"
 
-#: dnf/db/group.py:389
+#: dnf/db/group.py:395
 #, python-format
 msgid "Will not install a source rpm package (%s)."
 msgstr "将不安装一个源码 RPM 软件包 (%s)。"
@@ -3654,7 +3694,7 @@ msgstr "DNSSEC 扩展 : "
 msgid "Testing already imported keys for their validity."
 msgstr "测试已导入的密钥以检查有效性。"
 
-#: dnf/drpm.py:62 dnf/repo.py:267
+#: dnf/drpm.py:62 dnf/repo.py:268
 #, python-format
 msgid "unsupported checksum type: %s"
 msgstr "不支持的校验类型: %s"
@@ -3705,10 +3745,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 '{}'."
@@ -3867,16 +3909,15 @@ 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"
+"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}') "
-",但是这些流都未被启用或为默认"
+"参数 '{argument}' 匹配模块 '{module}' 的 {stream_count} 流 ('{streams}') ,但"
+"是这些流都未被启用或为默认"
 
 #: 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/module/module_base.py:844
@@ -3912,31 +3953,31 @@ msgstr "无法决定最后的 makecache 时间。"
 msgid "Parsing file failed: %s"
 msgstr "解析文件失败:%s"
 
-#: dnf/plugin.py:141
+#: dnf/plugin.py:144
 #, python-format
 msgid "Loaded plugins: %s"
 msgstr "加载插件:%s"
 
-#: dnf/plugin.py:211
+#: dnf/plugin.py:216
 #, python-format
 msgid "Failed loading plugin \"%s\": %s"
 msgstr "加载插件 \"%s\" 失败 : %s"
 
-#: dnf/plugin.py:243
+#: dnf/plugin.py:248
 msgid "No matches found for the following enable plugin patterns: {}"
 msgstr "没有以下已启用插件模式的匹配项 : {}"
 
-#: dnf/plugin.py:247
+#: dnf/plugin.py:252
 msgid "No matches found for the following disable plugin patterns: {}"
 msgstr "没有以下已停用插件模式的匹配项 : {}"
 
-#: dnf/repo.py:84
+#: dnf/repo.py:85
 #, python-format
 msgid "no matching payload factory for %s"
 msgstr "没有 %s 匹配的 payload factory"
 
 #. pinging mirrors, this might take a while
-#: dnf/repo.py:346
+#: dnf/repo.py:347
 #, python-format
 msgid "determining the fastest mirror (%s hosts).. "
 msgstr "正在查找最快的镜像(%s 的主机) "
@@ -3962,11 +4003,11 @@ msgstr "无法找到 rpmkeys 的可执行文件以验证签名。"
 
 #: dnf/rpm/transaction.py:70
 msgid "The openDB() function cannot open rpm database."
-msgstr "函数openDB()不能打开rpm数据库。"
+msgstr "openDB() 无法打开 rpm 数据库。"
 
 #: dnf/rpm/transaction.py:75
 msgid "The dbCookie() function did not return cookie of rpm database."
-msgstr "dbCookie()函数没有返回 rpm 数据库的 cookie。"
+msgstr "dbCookie() 函数没有返回 rpm 数据库的 cookie。"
 
 #: dnf/rpm/transaction.py:135
 msgid "Errors occurred during test transaction."
@@ -3976,7 +4017,8 @@ msgstr "测试事务过程中出现错误。"
 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 命令"
+msgstr ""
+"allow_vendor_change 被禁用。此选项目前不支持 downgrade 和 distro-sync 命令"
 
 #. TRANSLATORS: This is for a single package currently being downgraded.
 #: dnf/transaction.py:80
@@ -4074,7 +4116,8 @@ msgstr "在 rpm 中缺少对象键 \"{key}\"。"
 
 #: 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:297
@@ -4106,7 +4149,8 @@ msgstr "没有为操作 \"{action}\" 安装软件包 nevra \"{nevra}\" 。"
 
 #: 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:377
@@ -4120,54 +4164,57 @@ msgid "Missing object key \"{key}\" in groups.packages."
 msgstr "在 groups.packages 中缺少对象键 \"{key}\"。"
 
 #: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
+#: dnf/transaction_sr.py:431
 #, python-format
 msgid "Group id '%s' is not installed."
 msgstr "组 id '%s' 未安装。"
 
-#: dnf/transaction_sr.py:432
+#: dnf/transaction_sr.py:442
 #, python-format
 msgid "Environment id '%s' is not available."
 msgstr "环境 id '%s' 不可用。"
 
-#: dnf/transaction_sr.py:456
+#: dnf/transaction_sr.py:466
 #, 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\"。"
+"environments.groups.group_type 的值 \"{group_type}\" 无效,仅支持 \"mandatory"
+"\" 或者 \"optional\"。"
 
-#: dnf/transaction_sr.py:464
+#: dnf/transaction_sr.py:474
 #, python-brace-format
 msgid "Missing object key \"{key}\" in environments.groups."
 msgstr "在 environment.groups 中缺少对象键 \"{key}\"。"
 
-#: dnf/transaction_sr.py:542
+#: dnf/transaction_sr.py:564
 #, python-brace-format
 msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
 msgstr "对组 \"{group}\" 的组操作 \"{action}\" 的意外值。"
 
-#: dnf/transaction_sr.py:547
+#: dnf/transaction_sr.py:569
 #, python-brace-format
 msgid "Missing object key \"{key}\" in a group."
 msgstr "在组中缺少对象键 \"{key}\"。"
 
-#: dnf/transaction_sr.py:571
+#: dnf/transaction_sr.py:595
 #, python-brace-format
-msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
+msgid ""
+"Unexpected value of environment action \"{action}\" for environment "
+"\"{env}\"."
 msgstr "对环境 \"{env}\" 的环境操作 \"{action}\" 的意外值。"
 
-#: dnf/transaction_sr.py:576
+#: dnf/transaction_sr.py:600
 #, python-brace-format
 msgid "Missing object key \"{key}\" in an environment."
 msgstr "在环境中缺少对象键 \"{key}\"。"
 
-#: dnf/transaction_sr.py:615
+#: dnf/transaction_sr.py:639
 #, 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:417 dnf/util.py:419
@@ -4207,9 +4254,6 @@ msgstr "失败"
 msgid "<name-unset>"
 msgstr "<name-unset>"
 
-#~ msgid "Already downloaded"
-#~ msgstr "已下载"
-
 #~ msgid "No Matches found"
 #~ msgstr "没有找到匹配的软件包"
 
@@ -4219,17 +4263,20 @@ msgstr "<name-unset>"
 #~ msgstr "启用附加仓库。列出选项。支持通配符,可以指定多次。"
 
 #~ msgid ""
-#~ "Disable repositories. List option. Supports globs, can be specified multiple"
-#~ " times."
+#~ "Disable repositories. List option. Supports globs, can be specified "
+#~ "multiple times."
 #~ msgstr "停用仓库。列出选项。支持通配符,可指定多次。"
 
+#~ msgid "Already downloaded"
+#~ msgstr "已下载"
+
 #~ msgid "skipping."
 #~ msgstr "正在跳过。"
 
 #~ msgid ""
 #~ "Using rpmkeys executable from {path} to verify signature for package: "
 #~ "{package}."
-#~ msgstr "使用来自 {path} 的 rpmkeys 可执行文件以验证此包的签名:{package}。"
+#~ msgstr "使用来自 {path} 的 rpmkeys 可执行代码验证软件包的签名:{package}。"
 
 #~ msgid "%s: %s check failed: %s vs %s"
 #~ msgstr "%s: %s 检查失败:%s vs %s"
@@ -4256,5 +4303,6 @@ msgstr "<name-unset>"
 #~ 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.39.2