diff --git a/.dnf.metadata b/.dnf.metadata
index 1976ca8..2c26a84 100644
--- a/.dnf.metadata
+++ b/.dnf.metadata
@@ -1 +1 @@
-cad8de377a20b5cf6668eb4c4150248bfaa1ed20 SOURCES/dnf-4.10.0.tar.gz
+71cc8d130f8f7327f57e9b96a271a0f9a18e7e0e SOURCES/dnf-4.12.0.tar.gz
diff --git a/.gitignore b/.gitignore
index 133a3d1..6838c8a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/dnf-4.10.0.tar.gz
+SOURCES/dnf-4.12.0.tar.gz
diff --git a/SOURCES/0001-Base.reset-plug-temporary-leak-of-libsolv-s-page-fil.patch b/SOURCES/0001-Base.reset-plug-temporary-leak-of-libsolv-s-page-fil.patch
new file mode 100644
index 0000000..2162232
--- /dev/null
+++ b/SOURCES/0001-Base.reset-plug-temporary-leak-of-libsolv-s-page-fil.patch
@@ -0,0 +1,317 @@
+From 5ce5ed1ea08ad6e198c1c1642c4d9ea2db6eab86 Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Sun, 24 Apr 2022 09:08:28 +0200
+Subject: [PATCH] Base.reset: plug (temporary) leak of libsolv's page file
+ descriptors
+
+Consider the following call paths (mixed Python and C), extending from
+livecd-creator down to libsolv:
+
+  main                                                [livecd-tools/tools/livecd-creator]
+    install()                                         [livecd-tools/imgcreate/creator.py]
+      fill_sack()                                     [dnf/dnf/base.py]
+        _add_repo_to_sack()                           [dnf/dnf/base.py]
+          load_repo()                                 [libdnf/python/hawkey/sack-py.cpp]
+            dnf_sack_load_repo()                      [libdnf/libdnf/dnf-sack.cpp]
+              write_main()                            [libdnf/libdnf/dnf-sack.cpp]
+                repo_add_solv()                       [libsolv/src/repo_solv.c]
+                  repopagestore_read_or_setup_pages() [libsolv/src/repopage.c]
+                    dup()
+              write_ext()                             [libdnf/libdnf/dnf-sack.cpp]
+                repo_add_solv()                       [libsolv/src/repo_solv.c]
+                  repopagestore_read_or_setup_pages() [libsolv/src/repopage.c]
+                    dup()
+
+The dup() calls create the following file descriptors (output from
+"lsof"):
+
+> COMMAND  PID USER FD  TYPE DEVICE SIZE/OFF   NODE NAME
+> python3 6500 root  7r  REG    8,1 25320727 395438 /var/tmp/imgcreate-mytcghah/install_root/var/cache/dnf/fedora.solv (deleted)
+> python3 6500 root  8r  REG    8,1 52531426 395450 /var/tmp/imgcreate-mytcghah/install_root/var/cache/dnf/fedora-filenames.solvx
+
+These file descriptors are *owned* by the DnfSack object (which is derived
+from GObject), as follows:
+
+  sack->priv->pool->repos[1]->repodata[1]->store.pagefd = 7
+  sack->priv->pool->repos[1]->repodata[2]->store.pagefd = 8
+  ^     ^     ^     ^         ^            ^      ^
+  |     |     |     |         |            |      |
+  |     |     |     |         |            |      int
+  |     |     |     |         |            Repopagestore [libsolv/src/repopage.h]
+  |     |     |     |         Repodata                   [libsolv/src/repodata.h]
+  |     |     |     struct s_Repo                        [libsolv/src/repo.h]
+  |     |     struct s_Pool (aka Pool)                   [libsolv/src/pool.h]
+  |     DnfSackPrivate                                   [libdnf/libdnf/dnf-sack.cpp]
+  DnfSack                                                [libdnf/libdnf/dnf-sack.h]
+
+The file descriptors are *supposed* to be closed on the following call
+path:
+
+  main                                         [livecd-tools/tools/livecd-creator]
+    install()                                  [livecd-tools/imgcreate/creator.py]
+      close()                                  [livecd-tools/imgcreate/dnfinst.py]
+        close()                                [dnf/dnf/base.py]
+          reset()                              [dnf/dnf/base.py]
+            _sack = None
+            _goal = None
+            _transaction = None
+              ...
+                dnf_sack_finalize()            [libdnf/libdnf/dnf-sack.cpp]
+                  pool_free()                  [libsolv/src/pool.c]
+                    pool_freeallrepos()        [libsolv/src/pool.c]
+                      repo_freedata()          [libsolv/src/repo.c]
+                        repodata_freedata()    [libsolv/src/repodata.c]
+                          repopagestore_free() [libsolv/src/repopage.c]
+                            close()
+
+Namely, when dnf.Base.reset() [dnf/dnf/base.py] is called with (sack=True,
+goal=True), the reference counts of the objects pointed to by the "_sack",
+"_goal" and "_transaction" fields are supposed to reach zero, and then, as
+part of the DnfSack object's finalization, the libsolv file descriptors
+are supposed to be closed.
+
+Now, while this *may* happen immediately in dnf.Base.reset(), it may as
+well not. The reason is that there is a multitude of *circular references*
+between DnfSack and the packages that it contains. When dnf.Base.reset()
+is entered, we have the following picture:
+
+     _sack                   _goal
+        |                      |
+        v                      v
+   +----------------+      +-------------+
+   | DnfSack object | <--- | Goal object |
+   +----------------+      +-------------+
+     |^    |^    |^
+     ||    ||    ||
+     ||    ||    ||
+  +--||----||----||---+
+  |  v|    v|    v|   | <-- _transaction
+  | Pkg1  Pkg2  PkgN  |
+  |                   |
+  | Transaction oject |
+  +-------------------+
+
+That is, the reference count of the DnfSack object is (1 + 1 + N), where N
+is the number of packages in the transaction. Details:
+
+(a) The first reference comes from the "_sack" field, established like
+    this:
+
+      main                       [livecd-tools/tools/livecd-creator]
+        install()                [livecd-tools/imgcreate/creator.py]
+          fill_sack()            [dnf/dnf/base.py]
+            _build_sack()        [dnf/dnf/sack.py]
+              Sack()
+                sack_init()      [libdnf/python/hawkey/sack-py.cpp]
+                  dnf_sack_new() [libdnf/libdnf/dnf-sack.cpp]
+
+(b) The second reference on the DnfSack object comes from "_goal":
+
+      main                        [livecd-tools/tools/livecd-creator]
+        install()                 [livecd-tools/imgcreate/creator.py]
+          fill_sack()             [dnf/dnf/base.py]
+             _goal = Goal(_sack)
+               goal_init()        [libdnf/python/hawkey/goal-py.cpp]
+                 Py_INCREF(_sack)
+
+(c) Then there is one reference to "_sack" *per package* in the
+    transaction:
+
+      main                                  [livecd-tools/tools/livecd-creator]
+        install()                           [livecd-tools/imgcreate/creator.py]
+          runInstall()                      [livecd-tools/imgcreate/dnfinst.py]
+            resolve()                       [dnf/dnf/base.py]
+              _goal2transaction()           [dnf/dnf/base.py]
+                list_installs()             [libdnf/python/hawkey/goal-py.cpp]
+                  list_generic()            [libdnf/python/hawkey/goal-py.cpp]
+                    packagelist_to_pylist() [libdnf/python/hawkey/iutil-py.cpp]
+                      new_package()         [libdnf/python/hawkey/sack-py.cpp]
+                        Py_BuildValue()
+                ts.add_install()
+
+    list_installs() creates a list of packages that need to be installed
+    by DNF. Inside the loop in packagelist_to_pylist(), which constructs
+    the elements of that list, Py_BuildValue() is called with the "O"
+    format specifier, and that increases the reference count on "_sack".
+
+    Subsequently, in the _goal2transaction() method, we iterate over the
+    package list created by list_installs(), and add each package to the
+    transaction (ts.add_install()). After _goal2transaction() returns,
+    this transaction is assigned to "self._transaction" in resolve(). This
+    is where the last N (back-)references on the DnfSack object come from.
+
+(d) Now, to quote the defintion of the DnfSack object
+    ("libdnf/docs/hawkey/tutorial-py.rst"):
+
+> *Sack* is an abstraction for a collection of packages.
+
+    That's why the DnfSack object references all the Pkg1 through PkgN
+    packages.
+
+So, when the dnf.Base.reset() method completes, the picture changes like
+this:
+
+     _sack                     _goal
+        |                        |
+   -- [CUT] --              -- [CUT] --
+        |                        |
+        v                |       v
+   +----------------+   [C]  +-------------+
+   | DnfSack object | <-[U]- | Goal object |
+   +----------------+   [T]  +-------------+
+     |^    |^    |^      |
+     ||    ||    ||
+     ||    ||    ||         |
+  +--||----||----||---+    [C]
+  |  v|    v|    v|   | <--[U]-- _transaction
+  | Pkg1  Pkg2  PkgN  |    [T]
+  |                   |     |
+  | Transaction oject |
+  +-------------------+
+
+and we are left with N reference cycles (one between each package and the
+same DnfSack object).
+
+This set of cycles can only be cleaned up by Python's generational garbage
+collector <https://stackify.com/python-garbage-collection/>. The GC will
+collect the DnfSack object, and consequently close the libsolv page file
+descriptors via dnf_sack_finalize() -- but garbage collection will happen
+*only eventually*, unpredictably.
+
+This means that the dnf.Base.reset() method breaks its interface contract:
+
+> Make the Base object forget about various things.
+
+because the libsolv file descriptors can (and frequently do, in practice)
+survive dnf.Base.reset().
+
+In general, as long as the garbage collector only tracks process-private
+memory blocks, there's nothing wrong; however, file descriptors are
+visible to the kernel. When dnf.Base.reset() *temporarily* leaks file
+descriptors as explained above, then immediately subsequent operations
+that depend on those file descriptors having been closed, can fail.
+
+An example is livecd-creator's unmounting of:
+
+  /var/tmp/imgcreate-mytcghah/install_root/var/cache/dnf
+
+which the kernel refuses, due to libsolv's still open file descriptors
+pointing into that filesystem:
+
+> umount: /var/tmp/imgcreate-mytcghah/install_root/var/cache/dnf: target
+> is busy.
+> Unable to unmount /var/tmp/imgcreate-mytcghah/install_root/var/cache/dnf
+> normally, using lazy unmount
+
+(Unfortunately, the whole lazy umount idea is misguided in livecd-tools;
+it's a misfeature that should be removed, as it permits the corruption of
+the loop-backed filesystem. Now that the real bug is being fixed in DNF,
+lazy umount is not needed as a (broken) workaround in livecd-tools. But
+that's a separate patch for livecd-tools:
+<https://github.com/livecd-tools/livecd-tools/pull/227>.)
+
+Plug the fd leak by forcing a garbage collection in dnf.Base.reset()
+whenever we cut the "_sack", "_goal" and "_transaction" links -- that is,
+when the "sack" and "goal" parameters are True.
+
+Note that precisely due to the unpredictable behavior of the garbage
+collector, reproducing the bug may prove elusive. In order to reproduce it
+deterministically, through usage with livecd-creator, disabling automatic
+garbage collection with the following patch (for livecd-tools) is
+sufficient:
+
+> diff --git a/tools/livecd-creator b/tools/livecd-creator
+> index 291de10cbbf9..8d2c740c238b 100755
+> --- a/tools/livecd-creator
+> +++ b/tools/livecd-creator
+> @@ -31,6 +31,8 @@ from dnf.exceptions import Error as DnfBaseError
+>  import imgcreate
+>  from imgcreate.errors import KickstartError
+>
+> +import gc
+> +
+>  class Usage(Exception):
+>      def __init__(self, msg = None, no_error = False):
+>          Exception.__init__(self, msg, no_error)
+> @@ -261,5 +263,6 @@ def do_nss_libs_hack():
+>      return hack
+>
+>  if __name__ == "__main__":
+> +    gc.disable()
+>      hack = do_nss_libs_hack()
+>      sys.exit(main())
+
+Also note that you need to use livecd-tools at git commit 4afde9352e82 or
+later, for this fix to make any difference: said commit fixes a different
+(independent) bug in livecd-tools that produces identical symptoms, but
+from a different origin. In other words, if you don't have commit
+4afde9352e82 in your livecd-tools install, then said bug in livecd-tools
+will mask this DNF fix.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+---
+ dnf/base.py | 41 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+diff --git a/dnf/base.py b/dnf/base.py
+index caace028..520574b4 100644
+--- a/dnf/base.py
++++ b/dnf/base.py
+@@ -72,6 +72,7 @@ import dnf.transaction
+ import dnf.util
+ import dnf.yum.rpmtrans
+ import functools
++import gc
+ import hawkey
+ import itertools
+ import logging
+@@ -569,6 +570,46 @@ class Base(object):
+             self._comps_trans = dnf.comps.TransactionBunch()
+             self._transaction = None
+         self._update_security_filters = []
++        if sack and goal:
++            # We've just done this, above:
++            #
++            #      _sack                     _goal
++            #         |                        |
++            #    -- [CUT] --              -- [CUT] --
++            #         |                        |
++            #         v                |       v
++            #    +----------------+   [C]  +-------------+
++            #    | DnfSack object | <-[U]- | Goal object |
++            #    +----------------+   [T]  +-------------+
++            #      |^    |^    |^      |
++            #      ||    ||    ||
++            #      ||    ||    ||         |
++            #   +--||----||----||---+    [C]
++            #   |  v|    v|    v|   | <--[U]-- _transaction
++            #   | Pkg1  Pkg2  PkgN  |    [T]
++            #   |                   |     |
++            #   | Transaction oject |
++            #   +-------------------+
++            #
++            # At this point, the DnfSack object would be released only
++            # eventually, by Python's generational garbage collector, due to the
++            # cyclic references DnfSack<->Pkg1 ... DnfSack<->PkgN.
++            #
++            # The delayed release is a problem: the DnfSack object may
++            # (indirectly) own "page file" file descriptors in libsolv, via
++            # libdnf. For example,
++            #
++            #   sack->priv->pool->repos[1]->repodata[1]->store.pagefd = 7
++            #   sack->priv->pool->repos[1]->repodata[2]->store.pagefd = 8
++            #
++            # These file descriptors are closed when the DnfSack object is
++            # eventually released, that is, when dnf_sack_finalize() (in libdnf)
++            # calls pool_free() (in libsolv).
++            #
++            # We need that to happen right now, as callers may want to unmount
++            # the filesystems which those file descriptors refer to immediately
++            # after reset() returns. Therefore, force a garbage collection here.
++            gc.collect()
+ 
+     def _closeRpmDB(self):
+         """Closes down the instances of rpmdb that could be open."""
+-- 
+2.35.1
+
diff --git a/SOURCES/0001-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch b/SOURCES/0001-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch
deleted file mode 100644
index 0d1b07a..0000000
--- a/SOURCES/0001-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 39e759ae6afb046cf6d60fb91b3ee208cb150a2f Mon Sep 17 00:00:00 2001
-From: Jaroslav Mracek <jmracek@redhat.com>
-Date: Mon, 6 Sep 2021 12:40:59 +0200
-Subject: [PATCH] [doc] Improve description of multilib_policy=all (RhBug:1996681,1995630)
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1996681
-https://bugzilla.redhat.com/show_bug.cgi?id=1995630
----
- doc/conf_ref.rst | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/doc/conf_ref.rst b/doc/conf_ref.rst
-index fa310e3..60afc86 100644
---- a/doc/conf_ref.rst
-+++ b/doc/conf_ref.rst
-@@ -403,7 +403,9 @@ configuration file by your distribution to override the DNF defaults.
- ``multilib_policy``
-     :ref:`string <string-label>`
- 
--    Controls how multilib packages are treated during install operations. Can either be ``"best"`` (the default) for the depsolver to prefer packages which best match the system's architecture, or ``"all"`` to install all available packages with compatible architectures.
-+    Controls how multilib packages are treated during install operations. Can either be ``"best"`` (the default) for
-+    the depsolver to prefer packages which best match the system's architecture, or ``"all"`` to install packages for
-+    all available architectures.
- 
- .. _obsoletes_conf_option-label:
- 
---
-libgit2 1.1.0
-
diff --git a/SOURCES/0002-Add-only-relevant-pkgs-to-upgrade-transaction-RhBug-.patch b/SOURCES/0002-Add-only-relevant-pkgs-to-upgrade-transaction-RhBug-.patch
new file mode 100644
index 0000000..a0cdeb8
--- /dev/null
+++ b/SOURCES/0002-Add-only-relevant-pkgs-to-upgrade-transaction-RhBug-.patch
@@ -0,0 +1,64 @@
+From f32eff294aecaac0fd71cd8888a25fa7929460b9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
+Date: Mon, 4 Jul 2022 09:43:25 +0200
+Subject: [PATCH] Add only relevant pkgs to upgrade transaction (RhBug:2097757)
+
+https://bugzilla.redhat.com/show_bug.cgi?id=2097757
+
+Without this patch dnf can create the following transaction during dnf upgrade --security when there is an advisory for B-2-2:
+
+```
+repo @System 0 testtags <inline>
+#>=Pkg: A 1 1 x86_64
+#>=Pkg: B 1 1 x86_64
+#>=Req: A = 1-1
+
+repo available 0 testtags <inline>
+#>=Pkg: A 2 2 x86_64
+#>=Pkg: B 2 2 x86_64
+#>=Req: A = 2-2
+system x86_64 rpm @System
+job update oneof A-1-1.x86_64@@System B-2-2.x86_64@available [targeted,setevr,setarch]
+result transaction,problems
+```
+
+Problem is that without forcebest nothing gets upgraded despite the available advisory and --security switch.
+
+This can also be seen in CI test case: rpm-software-management/ci-dnf-stack#1130
+---
+ dnf/base.py | 19 ++++++++++++++++++-
+ 1 file changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/dnf/base.py b/dnf/base.py
+index caace028..92fb3bd0 100644
+--- a/dnf/base.py
++++ b/dnf/base.py
+@@ -2118,7 +2118,24 @@ class Base(object):
+             query.filterm(reponame=reponame)
+         query = self._merge_update_filters(query, pkg_spec=pkg_spec, upgrade=True)
+         if query:
+-            query = query.union(installed_query.latest())
++            # Given that we use libsolv's targeted transactions, we need to ensure that the transaction contains both
++            # the new targeted version and also the current installed version (for the upgraded package). This is
++            # because if it only contained the new version, libsolv would decide to reinstall the package even if it
++            # had just a different buildtime or vendor but the same version
++            # (https://github.com/openSUSE/libsolv/issues/287)
++            #   - In general, the query already contains both the new and installed versions but not always.
++            #     If repository-packages command is used, the installed packages are filtered out because they are from
++            #     the @system repo. We need to add them back in.
++            #   - However we need to add installed versions of just the packages that are being upgraded. We don't want
++            #     to add all installed packages because it could increase the number of solutions for the transaction
++            #     (especially without --best) and since libsolv prefers the smallest possible upgrade it could result
++            #     in no upgrade even if there is one available. This is a problem in general but its critical with
++            #     --security transactions (https://bugzilla.redhat.com/show_bug.cgi?id=2097757)
++            #   - We want to add only the latest versions of installed packages, this is specifically for installonly
++            #     packages. Otherwise if for example kernel-1 and kernel-3 were installed and present in the
++            #     transaction libsolv could decide to install kernel-2 because it is an upgrade for kernel-1 even
++            #     though we don't want it because there already is a newer version present.
++            query = query.union(installed_query.latest().filter(name=[pkg.name for pkg in query]))
+             sltr = dnf.selector.Selector(self.sack)
+             sltr.set(pkg=query)
+             self._goal.upgrade(select=sltr)
+-- 
+2.36.1
+
diff --git a/SOURCES/0002-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch b/SOURCES/0002-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch
deleted file mode 100644
index 30c4395..0000000
--- a/SOURCES/0002-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9ce65d8575494887a08506583d9d4f05df404fac Mon Sep 17 00:00:00 2001
-From: Jaroslav Rohel <jrohel@redhat.com>
-Date: Wed, 20 Oct 2021 09:20:03 +0200
-Subject: [PATCH] Fix: Python dnf API does not respect cacheonly (RhBug:1862970)
-
-`Repo` object has always been constructed with default synchronization
-strategy. The configuration option `cacheonly` was ignored. DNF
-application set synchronization strategy later in the `Cli` object
-during processing demands.
-
-The fix takes into account the `cacheonly` option during the construction
-of the `Repo` object. Synchronization strategy may still be overriden
-during demand processing.
----
- dnf/repo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dnf/repo.py b/dnf/repo.py
-index bb42230..1822cf0 100644
---- a/dnf/repo.py
-+++ b/dnf/repo.py
-@@ -434,7 +434,7 @@ class Repo(dnf.conf.RepoConf):
-         self._pkgdir = None
-         self._key_import = _NullKeyImport()
-         self.metadata = None  # :api
--        self._repo.setSyncStrategy(self.DEFAULT_SYNC)
-+        self._repo.setSyncStrategy(SYNC_ONLY_CACHE if parent_conf and parent_conf.cacheonly else self.DEFAULT_SYNC)
-         if parent_conf:
-             self._repo.setSubstitutions(parent_conf.substitutions)
-         self._substitutions = dnf.conf.substitutions.Substitutions()
---
-libgit2 1.1.0
-
diff --git a/SOURCES/0003-Documentation-API-notes-for-cacheonly.patch b/SOURCES/0003-Documentation-API-notes-for-cacheonly.patch
deleted file mode 100644
index 6628678..0000000
--- a/SOURCES/0003-Documentation-API-notes-for-cacheonly.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 5c598df3541c21d5c2758c42bd2eb0df8c74eddc Mon Sep 17 00:00:00 2001
-From: Jaroslav Rohel <jrohel@redhat.com>
-Date: Fri, 5 Nov 2021 08:52:56 +0100
-Subject: [PATCH] Documentation: API notes for cacheonly
-
----
- doc/conf_ref.rst | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/doc/conf_ref.rst b/doc/conf_ref.rst
-index 60afc86..1a593a1 100644
---- a/doc/conf_ref.rst
-+++ b/doc/conf_ref.rst
-@@ -137,6 +137,9 @@ configuration file by your distribution to override the DNF defaults.
-     If set to ``True`` DNF will run entirely from system cache, will not update
-     the cache and will use it even in case it is expired. Default is ``False``.
- 
-+    API Notes: Must be set before repository objects are created. Plugins must set
-+    this in the pre_config hook. Later changes are ignored.
-+
- .. _check_config_file_age-label:
- 
- ``check_config_file_age``
---
-libgit2 1.1.0
-
diff --git a/SOURCES/0003-Use-installed_all-because-installed_query-is-filtere.patch b/SOURCES/0003-Use-installed_all-because-installed_query-is-filtere.patch
new file mode 100644
index 0000000..e5de647
--- /dev/null
+++ b/SOURCES/0003-Use-installed_all-because-installed_query-is-filtere.patch
@@ -0,0 +1,37 @@
+From 776241568cb10e3a671c574b25e06b63d86e7ac0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
+Date: Mon, 4 Jul 2022 09:46:29 +0200
+Subject: [PATCH] Use `installed_all` because `installed_query` is filtered
+ user input
+
+`installed_query` could be missing packages. If we specify we want to
+upgrade a specific nevra that is not yet installed, then `installed_query`
+is empty because it is based on user input, but there could be other
+versions of the pkg installed.
+
+Eg: if kernel-1 and kernel-3 are installed and we specify we want to
+upgrade kernel-2, nothing should be done because we already have higher
+version, but now `installed_query` would be empty and kernel-2 would be
+installed.
+
+Therefore, we need to use `installed_all`.
+---
+ dnf/base.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dnf/base.py b/dnf/base.py
+index 92fb3bd0..1b0f07ed 100644
+--- a/dnf/base.py
++++ b/dnf/base.py
+@@ -2135,7 +2135,7 @@ class Base(object):
+             #     packages. Otherwise if for example kernel-1 and kernel-3 were installed and present in the
+             #     transaction libsolv could decide to install kernel-2 because it is an upgrade for kernel-1 even
+             #     though we don't want it because there already is a newer version present.
+-            query = query.union(installed_query.latest().filter(name=[pkg.name for pkg in query]))
++            query = query.union(installed_all.latest().filter(name=[pkg.name for pkg in query]))
+             sltr = dnf.selector.Selector(self.sack)
+             sltr.set(pkg=query)
+             self._goal.upgrade(select=sltr)
+-- 
+2.36.1
+
diff --git a/SOURCES/0004-Use-rpm.TransactionSet.dbCookie-to-determining-if-rp.patch b/SOURCES/0004-Use-rpm.TransactionSet.dbCookie-to-determining-if-rp.patch
deleted file mode 100644
index b5d94c9..0000000
--- a/SOURCES/0004-Use-rpm.TransactionSet.dbCookie-to-determining-if-rp.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From 087ad3d12ba307355dd66aba54faea97d227a3dd Mon Sep 17 00:00:00 2001
-From: zhanghaolian <65838930+iWhy98@users.noreply.github.com>
-Date: Tue, 25 Jan 2022 15:41:16 +0800
-Subject: [PATCH 1/2] dnf:fix dnf mark error when history sqlite missing
-
----
- dnf/cli/commands/mark.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dnf/cli/commands/mark.py b/dnf/cli/commands/mark.py
-index ec16b738d..cb1f91c13 100644
---- a/dnf/cli/commands/mark.py
-+++ b/dnf/cli/commands/mark.py
-@@ -89,7 +89,7 @@ class MarkCommand(commands.Command):
- 
-         old = self.base.history.last()
-         if old is None:
--            rpmdb_version = self.sack._rpmdb_version()
-+            rpmdb_version = self.base.sack._rpmdb_version()
-         else:
-             rpmdb_version = old.end_rpmdb_version
- 
--- 
-2.34.1
-
-
-From bee5b97ad159af019deda4de0d80d0011dba4f7a Mon Sep 17 00:00:00 2001
-From: Jaroslav Rohel <jrohel@redhat.com>
-Date: Fri, 28 Jan 2022 16:53:50 +0100
-Subject: [PATCH 2/2] Use rpm.TransactionSet.dbCookie() to determining if rpmdb
- has changed
-
-DNF was using private method `hawkey.Sack._rpmdb_version()` from libdnf.
-The method computes SHA1 hash from sorted list of hashes stored in
-the headers of the instaled packages. And it adds prefix of the number
-of installed packages to the computed hash. The result was stored
-to the history database and used to detect changes in the rpm database.
-
-The patch uses new oficial librpm API function
-`rpm.TransactionSet.dbCookie()`. This is a cleaner solution.
-It is also a step to remove the `._rpmdb_version()` method from libdnf.
-It is an attempt to remove SHA1 calculations from libdnf.
-Troubleshooting FIPS compatibility.
-
-= changelog =
-msg: Use rpm.TransactionSet.dbCookie() to determining if rpmdb has changed
-type: bugfix
-resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2043476
----
- dnf/base.py              |  6 +++---
- dnf/cli/commands/mark.py |  2 +-
- dnf/cli/output.py        |  2 +-
- dnf/rpm/transaction.py   | 16 ++++++++++++++++
- tests/test_sack.py       |  6 ------
- 5 files changed, 21 insertions(+), 11 deletions(-)
-
-diff --git a/dnf/base.py b/dnf/base.py
-index b0a536f7f..574e80f66 100644
---- a/dnf/base.py
-+++ b/dnf/base.py
-@@ -907,7 +907,7 @@ class Base(object):
-                     cmdline = ' '.join(self.cmds)
-                 old = self.history.last()
-                 if old is None:
--                    rpmdb_version = self.sack._rpmdb_version()
-+                    rpmdb_version = self._ts.dbCookie()
-                 else:
-                     rpmdb_version = old.end_rpmdb_version
- 
-@@ -1046,7 +1046,7 @@ class Base(object):
-             using_pkgs_pats = list(self.conf.history_record_packages)
-             installed_query = self.sack.query().installed()
-             using_pkgs = installed_query.filter(name=using_pkgs_pats).run()
--            rpmdbv = self.sack._rpmdb_version()
-+            rpmdbv = self._ts.dbCookie()
-             lastdbv = self.history.last()
-             if lastdbv is not None:
-                 lastdbv = lastdbv.end_rpmdb_version
-@@ -1163,7 +1163,7 @@ class Base(object):
-         for tsi in transaction_items:
-             count = display_banner(tsi.pkg, count)
- 
--        rpmdbv = rpmdb_sack._rpmdb_version()
-+        rpmdbv = self._ts.dbCookie()
-         self.history.end(rpmdbv)
- 
-         timer()
-diff --git a/dnf/cli/commands/mark.py b/dnf/cli/commands/mark.py
-index cb1f91c13..36bf9d436 100644
---- a/dnf/cli/commands/mark.py
-+++ b/dnf/cli/commands/mark.py
-@@ -89,7 +89,7 @@ class MarkCommand(commands.Command):
- 
-         old = self.base.history.last()
-         if old is None:
--            rpmdb_version = self.base.sack._rpmdb_version()
-+            rpmdb_version = self.base._ts.dbCookie()
-         else:
-             rpmdb_version = old.end_rpmdb_version
- 
-diff --git a/dnf/cli/output.py b/dnf/cli/output.py
-index a4e9f6c8e..ecf05c2b0 100644
---- a/dnf/cli/output.py
-+++ b/dnf/cli/output.py
-@@ -1607,7 +1607,7 @@ Transaction Summary
-             if lastdbv is not None and trans.tid == lasttid:
-                 #  If this is the last transaction, is good and it doesn't
-                 # match the current rpmdb ... then mark it as bad.
--                rpmdbv = self.sack._rpmdb_version()
-+                rpmdbv = self.base._ts.dbCookie()
-                 trans.compare_rpmdbv(str(rpmdbv))
-             lastdbv = None
- 
-diff --git a/dnf/rpm/transaction.py b/dnf/rpm/transaction.py
-index bcc2a7024..a11f36e7e 100644
---- a/dnf/rpm/transaction.py
-+++ b/dnf/rpm/transaction.py
-@@ -12,8 +12,10 @@
- from __future__ import absolute_import
- from __future__ import unicode_literals
- from dnf.i18n import _
-+import logging
- import rpm
- 
-+_logger = logging.getLogger('dnf')
- read_ts = None
- ts = None
- 
-@@ -61,6 +63,20 @@ class TransactionWrapper(object):
-             mi.pattern(tag, tp, pat)
-         return mi
- 
-+    def dbCookie(self):
-+        # dbCookie() does not support lazy opening of rpm database.
-+        # The following line opens the database if it is not already open.
-+        if self.ts.openDB() != 0:
-+            _logger.error(_('The openDB() function connot open rpm database.'))
-+            return ''
-+
-+        cookie = self.ts.dbCookie()
-+        if not cookie:
-+            _logger.error(_('The dbCookie() function did not return cookie of rpm database.'))
-+            return ''
-+
-+        return cookie
-+
-     def __getattr__(self, attr):
-         if attr in self._methods:
-             return self.getMethod(attr)
-diff --git a/tests/test_sack.py b/tests/test_sack.py
-index 49a715924..2c6fe8e01 100644
---- a/tests/test_sack.py
-+++ b/tests/test_sack.py
-@@ -32,12 +32,6 @@ class SackTest(tests.support.DnfBaseTestCase):
- 
-     REPOS = []
- 
--    def test_rpmdb_version(self):
--        version = self.sack._rpmdb_version()
--        self.assertIsNotNone(version)
--        expected = "%s:%s" % (tests.support.TOTAL_RPMDB_COUNT, tests.support.RPMDB_CHECKSUM)
--        self.assertEqual(version, expected)
--
-     def test_excludepkgs(self):
-         self.base.conf.excludepkgs = ['pepper']
-         self.base._setup_excludes_includes()
--- 
-2.34.1
-
diff --git a/SOURCES/0005-Update-translations-RhBug-2017347.patch b/SOURCES/0005-Update-translations-RhBug-2017347.patch
deleted file mode 100644
index e071bf5..0000000
--- a/SOURCES/0005-Update-translations-RhBug-2017347.patch
+++ /dev/null
@@ -1,7726 +0,0 @@
-From 8b7fb547e6938b91e5e158cfe21813bc59eff704 Mon Sep 17 00:00:00 2001
-From: Marek Blaha <mblaha@redhat.com>
-Date: Mon, 21 Mar 2022 10:28:46 +0100
-Subject: [PATCH] Update translations (RhBug:2017347)
-
----
- po/dnf.pot  | 204 +++++++------
- po/fr.po    | 513 ++++++++++++++++---------------
- po/ja.po    | 867 ++++++++++++++++++++++++++++++----------------------
- po/ko.po    | 590 ++++++++++++++++++++---------------
- po/zh_CN.po | 449 +++++++++++++++------------
- po/zh_TW.po | 358 ++++++++++++----------
- 6 files changed, 1669 insertions(+), 1312 deletions(-)
-
-diff --git a/po/dnf.pot b/po/dnf.pot
-index d7612013..8d98a664 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: 2021-06-13 09:18-0400\n"
-+"POT-Creation-Date: 2022-02-28 11:37+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"
-@@ -191,155 +191,155 @@ msgstr ""
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr ""
- 
--#: dnf/base.py:904
-+#: dnf/base.py:922
- msgid "Running transaction check"
- msgstr ""
- 
--#: dnf/base.py:912
-+#: dnf/base.py:930
- msgid "Error: transaction check vs depsolve:"
- msgstr ""
- 
--#: dnf/base.py:918
-+#: dnf/base.py:936
- msgid "Transaction check succeeded."
- msgstr ""
- 
--#: dnf/base.py:921
-+#: dnf/base.py:939
- msgid "Running transaction test"
- msgstr ""
- 
--#: dnf/base.py:931 dnf/base.py:1082
-+#: dnf/base.py:949 dnf/base.py:1100
- msgid "RPM: {}"
- msgstr ""
- 
--#: dnf/base.py:932
-+#: dnf/base.py:950
- msgid "Transaction test error:"
- msgstr ""
- 
--#: dnf/base.py:943
-+#: dnf/base.py:961
- msgid "Transaction test succeeded."
- msgstr ""
- 
--#: dnf/base.py:964
-+#: dnf/base.py:982
- msgid "Running transaction"
- msgstr ""
- 
--#: dnf/base.py:1001
-+#: dnf/base.py:1019
- msgid "Disk Requirements:"
- msgstr ""
- 
--#: dnf/base.py:1004
-+#: dnf/base.py:1022
- #, 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:1011
-+#: dnf/base.py:1029
- msgid "Error Summary"
- msgstr ""
- 
--#: dnf/base.py:1037
-+#: dnf/base.py:1055
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr ""
- 
--#: dnf/base.py:1083 dnf/base.py:1091
-+#: dnf/base.py:1101 dnf/base.py:1109
- msgid "Could not run transaction."
- msgstr ""
- 
--#: dnf/base.py:1086
-+#: dnf/base.py:1104
- msgid "Transaction couldn't start:"
- msgstr ""
- 
--#: dnf/base.py:1100
-+#: dnf/base.py:1118
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr ""
- 
--#: dnf/base.py:1182
-+#: dnf/base.py:1200
- msgid "Some packages were not downloaded. Retrying."
- msgstr ""
- 
--#: dnf/base.py:1212
-+#: dnf/base.py:1230
- #, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
- msgstr ""
- 
--#: dnf/base.py:1216
-+#: dnf/base.py:1234
- #, python-format
- msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
- msgstr ""
- 
--#: dnf/base.py:1258
-+#: dnf/base.py:1276
- msgid "Cannot add local packages, because transaction job already exists"
- msgstr ""
- 
--#: dnf/base.py:1272
-+#: dnf/base.py:1290
- msgid "Could not open: {}"
- msgstr ""
- 
--#: dnf/base.py:1310
-+#: dnf/base.py:1328
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr ""
- 
--#: dnf/base.py:1314
-+#: dnf/base.py:1332
- #, python-format
- msgid "Problem opening package %s"
- msgstr ""
- 
--#: dnf/base.py:1322
-+#: dnf/base.py:1340
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr ""
- 
--#: dnf/base.py:1326
-+#: dnf/base.py:1344
- #, python-format
- msgid "Package %s is not signed"
- msgstr ""
- 
--#: dnf/base.py:1356
-+#: dnf/base.py:1374
- #, python-format
- msgid "Cannot remove %s"
- msgstr ""
- 
--#: dnf/base.py:1360
-+#: dnf/base.py:1378
- #, python-format
- msgid "%s removed"
- msgstr ""
- 
--#: dnf/base.py:1640
-+#: dnf/base.py:1658
- msgid "No match for group package \"{}\""
- msgstr ""
- 
--#: dnf/base.py:1726
-+#: dnf/base.py:1740
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr ""
- 
--#: dnf/base.py:1749 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/base.py:1763 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:1767
-+#: dnf/base.py:1781
- msgid "No groups marked for removal."
- msgstr ""
- 
--#: dnf/base.py:1801
-+#: dnf/base.py:1815
- msgid "No group marked for upgrade."
- msgstr ""
- 
--#: dnf/base.py:2015
-+#: dnf/base.py:2029
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
- msgstr ""
- 
--#: dnf/base.py:2017 dnf/base.py:2036 dnf/base.py:2049 dnf/base.py:2076
--#: dnf/base.py:2129 dnf/base.py:2137 dnf/base.py:2271 dnf/cli/cli.py:417
-+#: dnf/base.py:2031 dnf/base.py:2050 dnf/base.py:2063 dnf/base.py:2090
-+#: dnf/base.py:2143 dnf/base.py:2151 dnf/base.py:2285 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:2024
-+#: dnf/base.py:2038
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
- msgstr ""
- 
--#: dnf/base.py:2047
-+#: dnf/base.py:2061
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
- msgstr ""
- 
--#: dnf/base.py:2062
-+#: dnf/base.py:2076
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
- msgstr ""
- 
--#: dnf/base.py:2073
-+#: dnf/base.py:2087
- #, python-format
- msgid "Package %s not installed, cannot update it."
- msgstr ""
- 
--#: dnf/base.py:2083
-+#: dnf/base.py:2097
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
- msgstr ""
- 
--#: dnf/base.py:2126 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
- msgstr ""
- 
--#: dnf/base.py:2132
-+#: dnf/base.py:2146
- #, python-format
- msgid "Package %s available, but installed for different architecture."
- msgstr ""
- 
--#: dnf/base.py:2157
-+#: dnf/base.py:2171
- #, python-format
- msgid "No package %s installed."
- msgstr ""
- 
--#: dnf/base.py:2175 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2189 dnf/cli/commands/install.py:136
- #: dnf/cli/commands/remove.py:133
- #, python-format
- msgid "Not a valid form: %s"
- msgstr ""
- 
--#: dnf/base.py:2190 dnf/cli/commands/__init__.py:676
-+#: dnf/base.py:2204 dnf/cli/commands/__init__.py:676
- #: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
- msgstr ""
- 
--#: dnf/base.py:2278 dnf/cli/cli.py:428
-+#: dnf/base.py:2292 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
- msgstr ""
- 
--#: dnf/base.py:2283
-+#: dnf/base.py:2297
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
- msgstr ""
- 
--#: dnf/base.py:2383
-+#: dnf/base.py:2397
- msgid "No security updates needed, but {} update available"
- msgstr ""
- 
--#: dnf/base.py:2385
-+#: dnf/base.py:2399
- msgid "No security updates needed, but {} updates available"
- msgstr ""
- 
--#: dnf/base.py:2389
-+#: dnf/base.py:2403
- msgid "No security updates needed for \"{}\", but {} update available"
- msgstr ""
- 
--#: dnf/base.py:2391
-+#: dnf/base.py:2405
- msgid "No security updates needed for \"{}\", but {} updates available"
- msgstr ""
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2412
-+#: dnf/base.py:2426
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
- msgstr ""
- 
--#: dnf/base.py:2420
-+#: dnf/base.py:2434
- #, python-format
- msgid ". Failing package is: %s"
- msgstr ""
- 
--#: dnf/base.py:2421
-+#: dnf/base.py:2435
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr ""
- 
--#: dnf/base.py:2433
-+#: dnf/base.py:2447
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr ""
- 
--#: dnf/base.py:2469
-+#: dnf/base.py:2483
- msgid "The key has been approved."
- msgstr ""
- 
--#: dnf/base.py:2472
-+#: dnf/base.py:2486
- msgid "The key has been rejected."
- msgstr ""
- 
--#: dnf/base.py:2505
-+#: dnf/base.py:2519
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr ""
- 
--#: dnf/base.py:2507
-+#: dnf/base.py:2521
- msgid "Key imported successfully"
- msgstr ""
- 
--#: dnf/base.py:2511
-+#: dnf/base.py:2525
- msgid "Didn't install any keys"
- msgstr ""
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2528
- #, 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:2525
-+#: dnf/base.py:2539
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr ""
- 
--#: dnf/base.py:2578
-+#: dnf/base.py:2592
- msgid "  * Maybe you meant: {}"
- msgstr ""
- 
--#: dnf/base.py:2610
-+#: dnf/base.py:2624
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
- msgstr ""
- 
--#: dnf/base.py:2613
-+#: dnf/base.py:2627
- msgid "Some packages from local repository have incorrect checksum"
- msgstr ""
- 
--#: dnf/base.py:2616
-+#: dnf/base.py:2630
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
- msgstr ""
- 
--#: dnf/base.py:2619
-+#: dnf/base.py:2633
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
- msgstr ""
- 
--#: dnf/base.py:2637 dnf/base.py:2657
-+#: dnf/base.py:2651 dnf/base.py:2671
- msgid "No match for argument"
- msgstr ""
- 
--#: dnf/base.py:2645 dnf/base.py:2665
-+#: dnf/base.py:2659 dnf/base.py:2679
- msgid "All matches were filtered out by exclude filtering for argument"
- msgstr ""
- 
--#: dnf/base.py:2647
-+#: dnf/base.py:2661
- msgid "All matches were filtered out by modular filtering for argument"
- msgstr ""
- 
--#: dnf/base.py:2663
-+#: dnf/base.py:2677
- msgid "All matches were installed from a different repository for argument"
- msgstr ""
- 
--#: dnf/base.py:2710
-+#: dnf/base.py:2724
- #, python-format
- msgid "Package %s is already installed."
- msgstr ""
-@@ -529,7 +529,7 @@ msgstr ""
- msgid "Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s"
- msgstr ""
- 
--#: dnf/cli/aliases.py:105 dnf/conf/config.py:457
-+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475
- #, python-format
- msgid "Parsing file \"%s\" failed: %s"
- msgstr ""
-@@ -3354,10 +3354,6 @@ msgstr ""
- msgid "    State  : %s"
- msgstr ""
- 
--#: dnf/comps.py:104
--msgid "skipping."
--msgstr ""
--
- #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
- #, python-format
- msgid "Module or Group '%s' is not installed."
-@@ -3408,41 +3404,45 @@ msgstr ""
- msgid "Invalid configuration value: %s=%s in %s; %s"
- msgstr ""
- 
--#: dnf/conf/config.py:226
-+#: dnf/conf/config.py:194
-+msgid "Cannot set \"{}\" to \"{}\": {}"
-+msgstr ""
-+
-+#: dnf/conf/config.py:244
- msgid "Could not set cachedir: {}"
- msgstr ""
- 
--#: dnf/conf/config.py:275
-+#: dnf/conf/config.py:293
- msgid ""
- "Configuration file URL \"{}\" could not be downloaded:\n"
- "  {}"
- msgstr ""
- 
--#: dnf/conf/config.py:355 dnf/conf/config.py:391
-+#: dnf/conf/config.py:373 dnf/conf/config.py:409
- #, python-format
- msgid "Unknown configuration option: %s = %s"
- msgstr ""
- 
--#: dnf/conf/config.py:372
-+#: dnf/conf/config.py:390
- #, python-format
- msgid "Error parsing --setopt with key '%s', value '%s': %s"
- msgstr ""
- 
--#: dnf/conf/config.py:380
-+#: dnf/conf/config.py:398
- #, python-format
- msgid "Main config did not have a %s attr. before setopt"
- msgstr ""
- 
--#: dnf/conf/config.py:427 dnf/conf/config.py:445
-+#: dnf/conf/config.py:445 dnf/conf/config.py:463
- msgid "Incorrect or unknown \"{}\": {}"
- msgstr ""
- 
--#: dnf/conf/config.py:501
-+#: dnf/conf/config.py:519
- #, python-format
- msgid "Error parsing --setopt with key '%s.%s', value '%s': %s"
- msgstr ""
- 
--#: dnf/conf/config.py:504
-+#: dnf/conf/config.py:522
- #, python-format
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr ""
-@@ -3523,32 +3523,32 @@ msgstr ""
- msgid "Will not install a source rpm package (%s)."
- msgstr ""
- 
--#: dnf/dnssec.py:168
-+#: dnf/dnssec.py:171
- msgid ""
- "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
- msgstr ""
- 
--#: dnf/dnssec.py:239
-+#: dnf/dnssec.py:243
- msgid "DNSSEC extension: Key for user "
- msgstr ""
- 
--#: dnf/dnssec.py:241
-+#: dnf/dnssec.py:245
- msgid "is valid."
- msgstr ""
- 
--#: dnf/dnssec.py:243
-+#: dnf/dnssec.py:247
- msgid "has unknown status."
- msgstr ""
- 
--#: dnf/dnssec.py:251
-+#: dnf/dnssec.py:255
- msgid "DNSSEC extension: "
- msgstr ""
- 
--#: dnf/dnssec.py:283
-+#: dnf/dnssec.py:287
- msgid "Testing already imported keys for their validity."
- msgstr ""
- 
--#: dnf/drpm.py:62 dnf/repo.py:268
-+#: dnf/drpm.py:62 dnf/repo.py:267
- #, python-format
- msgid "unsupported checksum type: %s"
- msgstr ""
-@@ -3591,7 +3591,7 @@ msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] ""
- msgstr[1] ""
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:854
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:857
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] ""
-@@ -3680,7 +3680,7 @@ msgid ""
- msgstr ""
- 
- #: dnf/module/module_base.py:56 dnf/module/module_base.py:556
--#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:684
- msgid "Ignoring unnecessary profile: '{}/{}'"
- msgstr ""
- 
-@@ -3736,7 +3736,7 @@ msgstr ""
- #: dnf/module/module_base.py:310 dnf/module/module_base.py:461
- #: dnf/module/module_base.py:486 dnf/module/module_base.py:505
- #: dnf/module/module_base.py:552 dnf/module/module_base.py:611
--#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
-+#: dnf/module/module_base.py:680 dnf/module/module_base.py:843
- msgid "Unable to resolve argument {}"
- msgstr ""
- 
-@@ -3765,7 +3765,7 @@ msgid ""
- "Only module name is required. Ignoring unneeded information in argument: '{}'"
- msgstr ""
- 
--#: dnf/module/module_base.py:841
-+#: dnf/module/module_base.py:844
- msgid "No match for package {}"
- msgstr ""
- 
-@@ -3826,7 +3826,7 @@ msgid "Already downloaded"
- msgstr ""
- 
- #. pinging mirrors, this might take a while
--#: dnf/repo.py:347
-+#: dnf/repo.py:346
- #, python-format
- msgid "determining the fastest mirror (%s hosts).. "
- msgstr ""
-@@ -3850,7 +3850,15 @@ msgstr ""
- msgid "Cannot find rpmkeys executable to verify signatures."
- msgstr ""
- 
--#: dnf/rpm/transaction.py:119
-+#: dnf/rpm/transaction.py:70
-+msgid "The openDB() function connot open rpm database."
-+msgstr ""
-+
-+#: dnf/rpm/transaction.py:75
-+msgid "The dbCookie() function did not return cookie of rpm database."
-+msgstr ""
-+
-+#: dnf/rpm/transaction.py:135
- msgid "Errors occurred during test transaction."
- msgstr ""
- 
-diff --git a/po/fr.po b/po/fr.po
-index 15841a45..a1a64a39 100644
---- a/po/fr.po
-+++ b/po/fr.po
-@@ -9,32 +9,34 @@
- # 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.
-+# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2018. #zanata, 2020.
- # 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>, 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.
-+# Sundeep Anand <suanand@redhat.com>, 2021.
- # Guillaume Jacob <abun.lp@gmail.com>, 2021.
-+# Titouan Bénard <itotutona@evta.fr>, 2021.
-+# Transtats <suanand@redhat.com>, 2022.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2021-06-13 09:18-0400\n"
--"PO-Revision-Date: 2021-05-17 03:02+0000\n"
--"Last-Translator: Julien Humbert <julroy67@gmail.com>\n"
--"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/dnf-master/fr/>\n"
-+"POT-Creation-Date: 2022-02-28 11:37+0100\n"
-+"PO-Revision-Date: 2022-03-09 12:39+0000\n"
-+"Last-Translator: Transtats <suanand@redhat.com>\n"
-+"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/"
-+"dnf-rhel-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.6.2\n"
-+"X-Generator: Weblate 4.11.2\n"
- 
- #: dnf/automatic/emitter.py:32
- #, python-format
-@@ -97,7 +99,7 @@ msgstr "La vérification GPG a ÉCHOUÉ"
- 
- #: dnf/automatic/main.py:274
- msgid "Waiting for internet connection..."
--msgstr "En attente d'une connexion Internet…"
-+msgstr "En attente d'une connexion Internet..."
- 
- #: dnf/automatic/main.py:304
- msgid "Started dnf-automatic."
-@@ -193,8 +195,8 @@ msgstr "Dépôts ignorés : %s"
- #, 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:512
- msgid ""
-@@ -219,44 +221,44 @@ msgstr "tsflag invalide dans le fichier de configuration : %s"
- 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:904
-+#: dnf/base.py:922
- msgid "Running transaction check"
- msgstr "Test de la transaction"
- 
--#: dnf/base.py:912
-+#: dnf/base.py:930
- msgid "Error: transaction check vs depsolve:"
- msgstr ""
- "Erreur : vérification de transaction contre résolution des dépendances :"
- 
--#: dnf/base.py:918
-+#: dnf/base.py:936
- msgid "Transaction check succeeded."
- msgstr "La vérification de la transaction a réussi."
- 
--#: dnf/base.py:921
-+#: dnf/base.py:939
- msgid "Running transaction test"
- msgstr "Lancement de la transaction de test"
- 
--#: dnf/base.py:931 dnf/base.py:1082
-+#: dnf/base.py:949 dnf/base.py:1100
- msgid "RPM: {}"
- msgstr "RPM : {}"
- 
--#: dnf/base.py:932
-+#: dnf/base.py:950
- msgid "Transaction test error:"
- msgstr "Erreur de la transaction de test :"
- 
--#: dnf/base.py:943
-+#: dnf/base.py:961
- msgid "Transaction test succeeded."
- msgstr "Transaction de test réussie."
- 
--#: dnf/base.py:964
-+#: dnf/base.py:982
- msgid "Running transaction"
- msgstr "Exécution de la transaction"
- 
--#: dnf/base.py:1001
-+#: dnf/base.py:1019
- msgid "Disk Requirements:"
- msgstr "Besoins en espace disque :"
- 
--#: dnf/base.py:1004
-+#: dnf/base.py:1022
- #, 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."
-@@ -264,125 +266,121 @@ 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:1011
-+#: dnf/base.py:1029
- msgid "Error Summary"
- msgstr "Résumé des erreurs"
- 
--#: dnf/base.py:1037
-+#: dnf/base.py:1055
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDB modifié en dehors de {prog}."
- 
--#: dnf/base.py:1083 dnf/base.py:1091
-+#: dnf/base.py:1101 dnf/base.py:1109
- msgid "Could not run transaction."
- msgstr "Impossible d’exécuter la transaction."
- 
--#: dnf/base.py:1086
-+#: dnf/base.py:1104
- msgid "Transaction couldn't start:"
- msgstr "La transaction n’a pas pu démarrer :"
- 
--#: dnf/base.py:1100
-+#: dnf/base.py:1118
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr "Échec de la suppression du fichier de transaction %s"
- 
--#: dnf/base.py:1182
-+#: dnf/base.py:1200
- msgid "Some packages were not downloaded. Retrying."
- msgstr "Certains paquets n’ont pas été téléchargés. Nouvel essai."
- 
--#: dnf/base.py:1212
--#, fuzzy, python-format
--#| msgid ""
--#| "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
-+#: dnf/base.py:1230
-+#, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
- msgstr ""
--"Les Delta RPM ont réduit la taille des mises à jour de %.1f Mio à %.1f Mio "
--"(%d.1%% économisés)"
-+"Les RPM Delta ont réduit les mises à jour de %.1f Mo à %.1f Mo (%.1f%% "
-+"économisé)"
- 
--#: dnf/base.py:1216
--#, fuzzy, python-format
--#| msgid ""
--#| "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
-+#: dnf/base.py:1234
-+#, python-format
- msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
- msgstr ""
--"Les Delta RPMs en échec ont fait augmenter la taille des mises à jour de "
--"%.1f Mio à %.1f Mio (%d.1%% gaspillés)"
-+"Les échecs des RPM Delta ont augmenté les mises à jour de %.1f Mo à %.1f Mo ("
-+"%.1f%% gaspillés)"
- 
--#: dnf/base.py:1258
-+#: dnf/base.py:1276
- 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:1272
-+#: dnf/base.py:1290
- msgid "Could not open: {}"
- msgstr "Impossible d’ouvrir : {}"
- 
--#: dnf/base.py:1310
-+#: dnf/base.py:1328
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr "La clé publique pour %s n’est pas installée"
- 
--#: dnf/base.py:1314
-+#: dnf/base.py:1332
- #, python-format
- msgid "Problem opening package %s"
- msgstr "Problème à l’ouverture du paquet %s"
- 
--#: dnf/base.py:1322
-+#: dnf/base.py:1340
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr "La clé publique pour %s n’est pas de confiance"
- 
--#: dnf/base.py:1326
-+#: dnf/base.py:1344
- #, python-format
- msgid "Package %s is not signed"
- msgstr "Le paquet %s n’est pas signé"
- 
--#: dnf/base.py:1356
-+#: dnf/base.py:1374
- #, python-format
- msgid "Cannot remove %s"
- msgstr "Impossible de supprimer %s"
- 
--#: dnf/base.py:1360
-+#: dnf/base.py:1378
- #, python-format
- msgid "%s removed"
- msgstr "%s supprimé"
- 
--#: dnf/base.py:1640
-+#: dnf/base.py:1658
- msgid "No match for group package \"{}\""
- msgstr "Aucune correspondance pour le paquet du groupe « {} »"
- 
--#: dnf/base.py:1726
-+#: dnf/base.py:1740
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr "Ajout de paquets en provenance du groupe « %s » : %s"
- 
--#: dnf/base.py:1749 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/base.py:1763 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:1767
-+#: dnf/base.py:1781
- msgid "No groups marked for removal."
- msgstr "Aucun groupe marqué pour suppression."
- 
--#: dnf/base.py:1801
-+#: dnf/base.py:1815
- msgid "No group marked for upgrade."
- msgstr "Aucun groupe marqué pour mise à jour."
- 
--#: dnf/base.py:2015
-+#: dnf/base.py:2029
- #, 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:2017 dnf/base.py:2036 dnf/base.py:2049 dnf/base.py:2076
--#: dnf/base.py:2129 dnf/base.py:2137 dnf/base.py:2271 dnf/cli/cli.py:417
-+#: dnf/base.py:2031 dnf/base.py:2050 dnf/base.py:2063 dnf/base.py:2090
-+#: dnf/base.py:2143 dnf/base.py:2151 dnf/base.py:2285 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
-@@ -392,30 +390,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:2024
-+#: dnf/base.py:2038
- #, 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:2047
-+#: dnf/base.py:2061
- #, 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:2062
-+#: dnf/base.py:2076
- #, 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:2073
-+#: dnf/base.py:2087
- #, 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:2083
-+#: dnf/base.py:2097
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
-@@ -423,173 +421,176 @@ msgstr ""
- "La même une ou version supérieure de %s est déjà installée, mise à jour "
- "impossible."
- 
--#: dnf/base.py:2126 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2140 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:2132
-+#: dnf/base.py:2146
- #, 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:2157
-+#: dnf/base.py:2171
- #, python-format
- msgid "No package %s installed."
- msgstr "Aucun paquet %s installé."
- 
--#: dnf/base.py:2175 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2189 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:2190 dnf/cli/commands/__init__.py:676
-+#: dnf/base.py:2204 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:2278 dnf/cli/cli.py:428
-+#: dnf/base.py:2292 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:2283
-+#: dnf/base.py:2297
- #, 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:2383
-+#: dnf/base.py:2397
- 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:2385
-+#: dnf/base.py:2399
- 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:2389
-+#: dnf/base.py:2403
- 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:2391
-+#: dnf/base.py:2405
- 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:2412
-+#: dnf/base.py:2426
- #, 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:2420
-+#: dnf/base.py:2434
- #, python-format
- msgid ". Failing package is: %s"
- msgstr ". Le paquet en erreur est : %s"
- 
--#: dnf/base.py:2421
-+#: dnf/base.py:2435
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "Les clés GPG sont configurées comme : %s"
- 
--#: dnf/base.py:2433
-+#: dnf/base.py:2447
- #, 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:2469
-+#: dnf/base.py:2483
- msgid "The key has been approved."
- msgstr "La clef a été approuvée."
- 
--#: dnf/base.py:2472
-+#: dnf/base.py:2486
- msgid "The key has been rejected."
- msgstr "La clef a été rejetée."
- 
--#: dnf/base.py:2505
-+#: dnf/base.py:2519
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "L’import de la clé a échoué (code %d)"
- 
--#: dnf/base.py:2507
-+#: dnf/base.py:2521
- msgid "Key imported successfully"
- msgstr "La clé a bien été importée"
- 
--#: dnf/base.py:2511
-+#: dnf/base.py:2525
- msgid "Didn't install any keys"
- msgstr "Toutes les clés n’ont pas été installées"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2528
- #, 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:2525
-+#: dnf/base.py:2539
- 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:2578
-+#: dnf/base.py:2592
- msgid "  * Maybe you meant: {}"
- msgstr "  * Peut-être vouliez-vous dire : {}"
- 
--#: dnf/base.py:2610
-+#: dnf/base.py:2624
- 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:2613
-+#: dnf/base.py:2627
- 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:2616
-+#: dnf/base.py:2630
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
- msgstr "Le paquet \"{}\" du dépôt \"{}\" a une somme de contrôle incorrecte"
- 
--#: dnf/base.py:2619
-+#: dnf/base.py:2633
- 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:2637 dnf/base.py:2657
-+#: dnf/base.py:2651 dnf/base.py:2671
- msgid "No match for argument"
- msgstr "Aucune correspondance pour le paramètre"
- 
--#: dnf/base.py:2645 dnf/base.py:2665
-+#: dnf/base.py:2659 dnf/base.py:2679
- 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:2647
-+#: dnf/base.py:2661
- 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:2663
-+#: dnf/base.py:2677
- 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:2710
-+#: dnf/base.py:2724
- #, python-format
- msgid "Package %s is already installed."
- msgstr "Le paquet %s est déjà installé."
-@@ -600,7 +601,7 @@ msgid "Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s"
- msgstr ""
- "Valeur inattendue de la variable d’environnement : DNF_DISABLE_ALIASES=%s"
- 
--#: dnf/cli/aliases.py:105 dnf/conf/config.py:457
-+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475
- #, python-format
- msgid "Parsing file \"%s\" failed: %s"
- msgstr "La lecture du fichier « %s » a échoué : %s"
-@@ -641,17 +642,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 "
-+"<nom_du_module> ». Après la réinitialisation, vous pouvez installer les "
-+"autres flux."
- 
- #: dnf/cli/cli.py:212
- #, python-brace-format
-@@ -688,7 +697,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
-@@ -756,8 +766,8 @@ msgstr "Aucun dépôt ne correspond à %s"
- 
- #: dnf/cli/cli.py:719
- msgid ""
--"This command has to be run with superuser privileges (under the root user on"
--" most systems)."
-+"This command has to be run with superuser privileges (under the root user on "
-+"most systems)."
- msgstr ""
- "Cette commande doit être exécutée avec les privilèges super-utilisateur "
- "(sous l’utilisateur root sur la plupart des systèmes)."
-@@ -790,8 +800,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:820
- msgid ""
-@@ -863,7 +873,8 @@ msgstr ""
- #, python-brace-format
- msgid ""
- "You have enabled checking of packages via GPG keys. This is a good thing.\n"
--"However, you do not have any GPG public keys installed. You need to download\n"
-+"However, you do not have any GPG public keys installed. You need to "
-+"download\n"
- "the keys for packages you wish to install and install them.\n"
- "You can do that by running the command:\n"
- "    rpm --import public.gpg.key\n"
-@@ -875,8 +886,10 @@ msgid ""
- "\n"
- "For more information contact your distribution or package provider."
- msgstr ""
--"Vous avez activé la vérification des paquets par clés GPG. C’est une bonne chose.\n"
--"Cependant, vous n’avez aucune clé GPG publique installée. Vous devez télécharger\n"
-+"Vous avez activé la vérification des paquets par clés GPG. C’est une bonne "
-+"chose.\n"
-+"Cependant, vous n’avez aucune clé GPG publique installée. Vous devez "
-+"télécharger\n"
- "et installer les clés pour les paquets que vous souhaitez installer..\n"
- "Vous pouvez le faire en lançant la commande :\n"
- "rpm --import public. gpg. key\n"
-@@ -886,7 +899,8 @@ msgstr ""
- "pour un dépôt dans l’option « gpgkey » dans une section de configuration du\n"
- "dépôt et {prog} l’installera pour vous.\n"
- "\n"
--"Pour plus de renseignements, contactez votre distribution ou le fournisseur du paquet."
-+"Pour plus de renseignements, contactez votre distribution ou le fournisseur "
-+"du paquet."
- 
- #: dnf/cli/commands/__init__.py:71
- #, python-format
-@@ -1318,8 +1332,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"
-@@ -1334,8 +1348,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"
-@@ -1368,8 +1382,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."
-@@ -1415,7 +1429,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:283
-@@ -1485,8 +1500,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 ""
-@@ -1525,11 +1539,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"
-@@ -1864,8 +1878,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 ""
-@@ -1923,8 +1937,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"
-@@ -2072,23 +2086,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"
-@@ -2102,13 +2116,17 @@ msgstr "Le paquet {} ne contient aucun fichier"
- #, python-brace-format
- msgid ""
- "No valid switch specified\n"
--"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
-+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
-+"tree]\n"
- "\n"
- "description:\n"
- "  For the given packages print a tree of thepackages."
- msgstr ""
- "Aucune option valide spécifiée\n"
--"utilisation : {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"utilisation : {prog} repoquery [--conflicts|--enhances|--obsoletes|--"
-+"provides|--recommends|--requires|--suggest|--supplements|--whatrequires] "
-+"[key] [--tree]\n"
- "\n"
- "description :\n"
- " Afficher une arborescence des paquets pour le paquet donné."
-@@ -2148,8 +2166,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 " & "
-@@ -2283,7 +2300,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"
- 
-@@ -2333,19 +2351,19 @@ msgstr "nouveau paquet"
- 
- #: dnf/cli/commands/updateinfo.py:50
- msgid "Critical/Sec."
--msgstr "Sécurité/Niveau critique"
-+msgstr "Sécurité/Niveau critique."
- 
- #: dnf/cli/commands/updateinfo.py:51
- msgid "Important/Sec."
--msgstr "Sécurité/Niveau important"
-+msgstr "Sécurité/Niveau important."
- 
- #: dnf/cli/commands/updateinfo.py:52
- msgid "Moderate/Sec."
--msgstr "Sécurité/niveau modéré"
-+msgstr "Sécurité/niveau modéré."
- 
- #: dnf/cli/commands/updateinfo.py:53
- msgid "Low/Sec."
--msgstr "Sécurité/Niveau bas"
-+msgstr "Sécurité/Niveau bas."
- 
- #: dnf/cli/commands/updateinfo.py:63
- msgid "display advisories about packages"
-@@ -2358,8 +2376,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 ""
-@@ -2455,7 +2472,7 @@ msgstr "autre(s) alertes)"
- 
- #: dnf/cli/commands/updateinfo.py:316
- msgid "Unknown/Sec."
--msgstr "Sécurité/Niveau inconnu"
-+msgstr "Sécurité/Niveau inconnu."
- 
- #: dnf/cli/commands/updateinfo.py:357
- msgid "Bugs"
-@@ -2529,8 +2546,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"
-@@ -2673,8 +2690,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"
-@@ -2691,8 +2707,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"
-@@ -2716,8 +2732,8 @@ msgstr ""
- 
- #: dnf/cli/option_parser.py:266
- msgid ""
--"Disable repositories. List option. Supports globs, can be specified multiple"
--" times."
-+"Disable repositories. List option. Supports globs, can be specified multiple "
-+"times."
- msgstr ""
- "Désactive les dépôts. Option de liste. Prend en charge les globs, peut être "
- "renseigné plusieurs fois."
-@@ -2727,8 +2743,8 @@ msgid ""
- "enable just specific repositories by an id or a glob, can be specified "
- "multiple times"
- msgstr ""
--"active seulement des dépôts spécifiques par id ou par le caractère générique"
--" (*), peut être spécifié plusieurs fois"
-+"active seulement des dépôts spécifiques par id ou par le caractère générique "
-+"(*), peut être spécifié plusieurs fois"
- 
- #: dnf/cli/option_parser.py:275
- msgid "enable repos with config-manager command (automatically saves)"
-@@ -2823,8 +2839,8 @@ msgstr ""
- #: dnf/cli/option_parser.py:339
- msgid "Include packages needed to fix the given BZ, in updates"
- msgstr ""
--"Inclut dans les mises à jour les paquets nécessaires pour résoudre le ticket"
--" BugZilla cité"
-+"Inclut dans les mises à jour les paquets nécessaires pour résoudre le ticket "
-+"BugZilla cité"
- 
- #: dnf/cli/option_parser.py:342
- msgid "Include packages needed to fix the given CVE, in updates"
-@@ -3094,7 +3110,7 @@ msgstr "Licence        : %s"
- #: dnf/cli/output.py:871
- #, python-format
- msgid "Provide    : %s"
--msgstr "Provide    : %s"
-+msgstr "Fournir : %s"
- 
- #: dnf/cli/output.py:891
- #, python-format
-@@ -3125,8 +3141,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
-@@ -3471,7 +3486,7 @@ msgstr "Échec :"
- 
- #: dnf/cli/output.py:1764 dnf/cli/output.py:1766
- msgid "Releasever     :"
--msgstr "Releasever     :"
-+msgstr "Version      :"
- 
- #: dnf/cli/output.py:1771 dnf/cli/output.py:1773
- msgid "Command Line   :"
-@@ -3606,8 +3621,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
-@@ -3629,10 +3644,6 @@ msgstr "    A débuté  : %s - il y a %s"
- msgid "    State  : %s"
- msgstr "    État : %s"
- 
--#: dnf/comps.py:104
--msgid "skipping."
--msgstr "ignorer."
--
- #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
- #, python-format
- msgid "Module or Group '%s' is not installed."
-@@ -3683,11 +3694,15 @@ msgstr "Erreur lors l’analyse de « %s » : %s"
- msgid "Invalid configuration value: %s=%s in %s; %s"
- msgstr "Valeur de configuration non valide : %s=%s dans %s ; %s"
- 
--#: dnf/conf/config.py:226
-+#: dnf/conf/config.py:194
-+msgid "Cannot set \"{}\" to \"{}\": {}"
-+msgstr "Impossible de définir \"{}\" à \"{}\" : {}"
-+
-+#: dnf/conf/config.py:244
- msgid "Could not set cachedir: {}"
- msgstr "N’a pas pu définir cachedir : {}"
- 
--#: dnf/conf/config.py:275
-+#: dnf/conf/config.py:293
- msgid ""
- "Configuration file URL \"{}\" could not be downloaded:\n"
- "  {}"
-@@ -3695,33 +3710,33 @@ msgstr ""
- "L’URL du fichier de configuration « {} » n’a pas pu être téléchargée :\n"
- "  {}"
- 
--#: dnf/conf/config.py:355 dnf/conf/config.py:391
-+#: dnf/conf/config.py:373 dnf/conf/config.py:409
- #, python-format
- msgid "Unknown configuration option: %s = %s"
- msgstr "Option de configuration inconnue : %s=%s"
- 
--#: dnf/conf/config.py:372
-+#: dnf/conf/config.py:390
- #, python-format
- msgid "Error parsing --setopt with key '%s', value '%s': %s"
- msgstr ""
- "Erreur lors l’analyse de --setopt avec la clef « %s », valeur « %s » : %s"
- 
--#: dnf/conf/config.py:380
-+#: dnf/conf/config.py:398
- #, python-format
- msgid "Main config did not have a %s attr. before setopt"
- msgstr "La config principale n’avait pas d’attr. %s avant setopt"
- 
--#: dnf/conf/config.py:427 dnf/conf/config.py:445
-+#: dnf/conf/config.py:445 dnf/conf/config.py:463
- msgid "Incorrect or unknown \"{}\": {}"
- msgstr "Incorrect ou inconnu « {} » : {}"
- 
--#: dnf/conf/config.py:501
-+#: dnf/conf/config.py:519
- #, python-format
- msgid "Error parsing --setopt with key '%s.%s', value '%s': %s"
- msgstr ""
- "Erreur lors l’analyse de --setopt avec la clef « %s.%s », valeur « %s » : %s"
- 
--#: dnf/conf/config.py:504
-+#: dnf/conf/config.py:522
- #, python-format
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "Le dépôt « %s » n’avait pas d’attr. %s avant setopt"
-@@ -3796,7 +3811,7 @@ msgstr ""
- #: dnf/db/group.py:353
- #, python-format
- msgid "An rpm exception occurred: %s"
--msgstr "Une exception rpm s’est produite : %s"
-+msgstr "Une exception rpm s'est produite : %s"
- 
- #: dnf/db/group.py:355
- msgid "No available modular metadata for modular package"
-@@ -3807,34 +3822,34 @@ msgstr "Aucune métadonnée de module disponible pour le paquet modulaire"
- msgid "Will not install a source rpm package (%s)."
- msgstr "Un paquet source rpm ne sera pas installé (%s)."
- 
--#: dnf/dnssec.py:168
-+#: dnf/dnssec.py:171
- 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:239
-+#: dnf/dnssec.py:243
- msgid "DNSSEC extension: Key for user "
- msgstr "Extension DNSSEC : clef pour l’utilisateur "
- 
--#: dnf/dnssec.py:241
-+#: dnf/dnssec.py:245
- msgid "is valid."
- msgstr "est valide."
- 
--#: dnf/dnssec.py:243
-+#: dnf/dnssec.py:247
- msgid "has unknown status."
- msgstr "a un statut inconnu."
- 
--#: dnf/dnssec.py:251
-+#: dnf/dnssec.py:255
- msgid "DNSSEC extension: "
- msgstr "extension DNSSEC : "
- 
--#: dnf/dnssec.py:283
-+#: dnf/dnssec.py:287
- msgid "Testing already imported keys for their validity."
- msgstr "Test de validité des clefs déjà importées."
- 
--#: dnf/drpm.py:62 dnf/repo.py:268
-+#: dnf/drpm.py:62 dnf/repo.py:267
- #, python-format
- msgid "unsupported checksum type: %s"
- msgstr "type de somme de contrôle non pris en charge : %s"
-@@ -3877,7 +3892,7 @@ msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "Problème de dépendance modulaire avec les valeurs par défaut :"
- msgstr[1] "Problèmes de dépendance modulaire avec les valeurs par défaut :"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:854
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:857
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "Problème de dépendance modulaire :"
-@@ -3887,10 +3902,12 @@ msgstr[1] "Problèmes de dépendance modulaire :"
- #, python-format
- msgid ""
- "Malformed lock file found: %s.\n"
--"Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf."
-+"Ensure no other dnf/yum process is running and remove the lock file manually "
-+"or run systemd-tmpfiles --remove dnf.conf."
- msgstr ""
- "Fichier verrou malformé trouvé : %s.\n"
--"Assurez-vous qu’aucun autre processus {prog} n’est en cours d’exécution et supprimez le fichier verrou, ou exécutez systemd-tmpfiles --remove dnf.conf."
-+"Assurez-vous qu’aucun autre processus {prog} n’est en cours d’exécution et "
-+"supprimez le fichier verrou, ou exécutez systemd-tmpfiles --remove dnf.conf."
- 
- #: dnf/module/__init__.py:26
- msgid "Enabling different stream for '{}'."
-@@ -3975,7 +3992,7 @@ msgstr ""
- "Aide : [d]éfaut, [e]activé, [x]désactivé, [i]nstallé, [a]ctivé"
- 
- #: dnf/module/module_base.py:56 dnf/module/module_base.py:556
--#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:684
- msgid "Ignoring unnecessary profile: '{}/{}'"
- msgstr "Profil inutile ignoré : {}/{}"
- 
-@@ -3983,8 +4000,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
-@@ -4006,8 +4023,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 {}:{}"
-@@ -4019,15 +4035,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
-@@ -4043,7 +4058,7 @@ msgstr "Aucun paquet distrosync disponible pour le nom de paquet « {} »"
- #: dnf/module/module_base.py:310 dnf/module/module_base.py:461
- #: dnf/module/module_base.py:486 dnf/module/module_base.py:505
- #: dnf/module/module_base.py:552 dnf/module/module_base.py:611
--#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
-+#: dnf/module/module_base.py:680 dnf/module/module_base.py:843
- msgid "Unable to resolve argument {}"
- msgstr "Impossible de résoudre le paramètre {}"
- 
-@@ -4051,8 +4066,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 {}"
-@@ -4066,21 +4081,20 @@ 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 : « {} »"
- 
--#: dnf/module/module_base.py:841
-+#: dnf/module/module_base.py:844
- msgid "No match for package {}"
- msgstr "Aucune correspondance pour le paquet {}"
- 
-@@ -4131,8 +4145,8 @@ msgstr ""
- #: dnf/plugin.py:247
- msgid "No matches found for the following disable plugin patterns: {}"
- msgstr ""
--"Aucun élément correspondant aux modèles de plugin de désactivation suivants "
--": {}"
-+"Aucun élément correspondant aux modèles de plugin de désactivation "
-+"suivants : {}"
- 
- #: dnf/repo.py:84
- #, python-format
-@@ -4144,7 +4158,7 @@ msgid "Already downloaded"
- msgstr "Déjà téléchargé"
- 
- #. pinging mirrors, this might take a while
--#: dnf/repo.py:347
-+#: dnf/repo.py:346
- #, python-format
- msgid "determining the fastest mirror (%s hosts).. "
- msgstr "détermination du miroir le plus rapide (%s hôtes).. "
-@@ -4160,18 +4174,26 @@ msgid "Added %s repo from %s"
- msgstr "Ajout du dépôt %s depuis le %s"
- 
- #: dnf/rpm/miscutils.py:32
--#, fuzzy, python-format
--#| msgid "Cannot find rpmkeys executable to verify signatures."
-+#, python-format
- msgid "Using rpmkeys executable at %s to verify signatures"
- msgstr ""
--"Impossible de trouver l’exécutable rpmkeys pour vérifier les signatures."
-+"Utilisation de l'exécutable rpmkeys dans %s pour vérifier les signatures"
- 
- #: dnf/rpm/miscutils.py:66
- msgid "Cannot find rpmkeys executable to verify signatures."
- msgstr ""
- "Impossible de trouver l’exécutable rpmkeys pour vérifier les signatures."
- 
--#: dnf/rpm/transaction.py:119
-+#: dnf/rpm/transaction.py:70
-+msgid "The openDB() function connot open rpm database."
-+msgstr "La fonction openDB() n'ouvre pas de base de données rpm."
-+
-+#: dnf/rpm/transaction.py:75
-+msgid "The dbCookie() function did not return cookie of rpm database."
-+msgstr ""
-+"La fonction dbCookie() n'a pas retourné le cookie de la base de données rpm."
-+
-+#: dnf/rpm/transaction.py:135
- msgid "Errors occurred during test transaction."
- msgstr "Des erreurs sont survenues lors de la transaction de test."
- 
-@@ -4180,8 +4202,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
-@@ -4259,8 +4281,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 ""
-@@ -4286,7 +4308,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} »."
-@@ -4323,7 +4346,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} »."
-@@ -4376,7 +4400,9 @@ msgstr "Clé d’objet « {key} » manquante dans un groupe."
- 
- #: dnf/transaction_sr.py:571
- #, python-brace-format
--msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
-+msgid ""
-+"Unexpected value of environment action \"{action}\" for environment "
-+"\"{env}\"."
- msgstr ""
- "Valeur inattendue pour l’action d’environnement « {action} » pour "
- "l’environnement « {env} »."
-@@ -4389,8 +4415,8 @@ msgstr "Clé d’objet « {key} » manquante dans un environnement."
- #: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
--"Package nevra \"{nevra}\", which is not present in the transaction file, was"
--" pulled into the transaction."
-+"Package nevra \"{nevra}\", which is not present in the transaction file, was "
-+"pulled into the transaction."
- msgstr ""
- "Le paquet nevra « {nevra} », qui n’est pas présent dans le fichier de "
- "transaction, a été retiré de la transaction."
-@@ -4432,12 +4458,15 @@ msgstr "Échec"
- msgid "<name-unset>"
- msgstr "<name-unset>"
- 
-+#~ msgid "skipping."
-+#~ msgstr "ignorer."
-+
- #~ msgid ""
- #~ "Using rpmkeys executable from {path} to verify signature for package: "
- #~ "{package}."
- #~ msgstr ""
--#~ "Utilisation de l’exécutable rpmkeys de {path} pour vérifier la signature du "
--#~ "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"
-@@ -4452,7 +4481,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} » :"
-@@ -4464,13 +4493,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 e81d5ceb..e1f463ce 100644
---- a/po/ja.po
-+++ b/po/ja.po
-@@ -14,7 +14,7 @@
- # Hajime Taira <htaira@fedoraproject.org>, 2017. #zanata
- # Ooyama Yosiyuki <qqke6wd9k@apricot.ocn.ne.jp>, 2017. #zanata
- # Casey Jones <nahareport@live.com>, 2018. #zanata
--# Ludek Janda <ljanda@redhat.com>, 2018. #zanata
-+# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
- # Noriko Mizumoto <noriko.mizumoto@gmail.com>, 2018. #zanata
- # Ooyama Yosiyuki <qqke6wd9k@apricot.ocn.ne.jp>, 2018. #zanata
- # Hajime Taira <htaira@fedoraproject.org>, 2019. #zanata
-@@ -22,20 +22,23 @@
- # Julien Humbert <julroy67@gmail.com>, 2020.
- # Casey Jones <nahareport@yahoo.com>, 2020.
- # Hajime Taira <htaira@pantora.net>, 2020.
-+# Sundeep Anand <suanand@redhat.com>, 2021.
-+# Transtats <suanand@redhat.com>, 2022.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2021-06-13 09:18-0400\n"
--"PO-Revision-Date: 2020-07-27 05:29+0000\n"
--"Last-Translator: Hajime Taira <htaira@pantora.net>\n"
--"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/dnf-master/ja/>\n"
-+"POT-Creation-Date: 2022-02-28 11:37+0100\n"
-+"PO-Revision-Date: 2022-03-09 12:39+0000\n"
-+"Last-Translator: Transtats <suanand@redhat.com>\n"
-+"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/"
-+"dnf-rhel-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.1.1\n"
-+"X-Generator: Weblate 4.11.2\n"
- 
- #: dnf/automatic/emitter.py:32
- #, python-format
-@@ -45,7 +48,7 @@ msgstr "'%s' に以下の更新が適用されました:"
- #: dnf/automatic/emitter.py:33
- #, python-format
- msgid "Updates completed at %s"
--msgstr "'%s' に更新が適用されました。"
-+msgstr "'%s' に更新が適用されました"
- 
- #: dnf/automatic/emitter.py:34
- #, python-format
-@@ -105,11 +108,9 @@ msgid "Started dnf-automatic."
- msgstr "dnf-automatic を開始しました。"
- 
- #: dnf/automatic/main.py:308
--#, fuzzy
--#| msgid "Sleep for %s seconds"
- msgid "Sleep for {} second"
- msgid_plural "Sleep for {} seconds"
--msgstr[0] "%s 秒スリープします"
-+msgstr[0] "{} 秒スリープします"
- 
- #: dnf/automatic/main.py:315
- msgid "System is off-line."
-@@ -131,11 +132,13 @@ msgstr "repository '{}' のロードに失敗しました"
- 
- #: dnf/base.py:327
- msgid "Metadata timer caching disabled when running on metered connection."
--msgstr "metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。"
-+msgstr ""
-+"metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。"
- 
- #: dnf/base.py:332
- msgid "Metadata timer caching disabled when running on a battery."
--msgstr "バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。"
-+msgstr ""
-+"バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。"
- 
- #: dnf/base.py:337
- msgid "Metadata timer caching disabled."
-@@ -178,7 +181,7 @@ msgstr "メタデータキャッシュを作成しました。"
- #: dnf/base.py:404 dnf/base.py:471
- #, python-format
- msgid "%s: using metadata from %s."
--msgstr "%s: は %s から取得したメタデータを使用中"
-+msgstr "%s: は %s から取得したメタデータを使用中。"
- 
- #: dnf/base.py:416 dnf/base.py:484
- #, python-format
-@@ -194,7 +197,9 @@ msgstr "メタデータの期限切れの最終確認: %s 時間前の %s に実
- msgid ""
- "The downloaded packages were saved in cache until the next successful "
- "transaction."
--msgstr "ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。"
-+msgstr ""
-+"ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保"
-+"存されました。"
- 
- #: dnf/base.py:514
- #, python-format
-@@ -211,158 +216,159 @@ msgstr "設定ファイルの tsflag が無効です: %s"
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr "リポジトリーのグループファイルを追加できませんでした: %s - %s"
- 
--#: dnf/base.py:904
-+#: dnf/base.py:922
- msgid "Running transaction check"
- msgstr "トランザクションの確認を実行中"
- 
--#: dnf/base.py:912
-+#: dnf/base.py:930
- msgid "Error: transaction check vs depsolve:"
- msgstr "エラー: トランザクションの確認 vs depsolve:"
- 
--#: dnf/base.py:918
-+#: dnf/base.py:936
- msgid "Transaction check succeeded."
- msgstr "トランザクションの確認に成功しました。"
- 
--#: dnf/base.py:921
-+#: dnf/base.py:939
- msgid "Running transaction test"
- msgstr "トランザクションのテストを実行中"
- 
--#: dnf/base.py:931 dnf/base.py:1082
-+#: dnf/base.py:949 dnf/base.py:1100
- msgid "RPM: {}"
- msgstr "RPM: {}"
- 
--#: dnf/base.py:932
-+#: dnf/base.py:950
- msgid "Transaction test error:"
- msgstr "トランザクションテストエラー:"
- 
--#: dnf/base.py:943
-+#: dnf/base.py:961
- msgid "Transaction test succeeded."
- msgstr "トランザクションのテストに成功しました。"
- 
--#: dnf/base.py:964
-+#: dnf/base.py:982
- msgid "Running transaction"
- msgstr "トランザクションを実行中"
- 
--#: dnf/base.py:1001
-+#: dnf/base.py:1019
- msgid "Disk Requirements:"
--msgstr "ディスク要件"
-+msgstr "ディスク要件:"
- 
--#: dnf/base.py:1004
-+#: dnf/base.py:1022
- #, 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:1011
-+#: dnf/base.py:1029
- msgid "Error Summary"
- msgstr "エラーの概要"
- 
--#: dnf/base.py:1037
-+#: dnf/base.py:1055
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDBは {prog} のサポート外に変更されました。"
- 
--#: dnf/base.py:1083 dnf/base.py:1091
-+#: dnf/base.py:1101 dnf/base.py:1109
- msgid "Could not run transaction."
- msgstr "トランザクションを実行できませんでした。"
- 
--#: dnf/base.py:1086
-+#: dnf/base.py:1104
- msgid "Transaction couldn't start:"
- msgstr "トランザクションを開始できませんでした:"
- 
--#: dnf/base.py:1100
-+#: dnf/base.py:1118
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr "トランザクションファイル %s の削除に失敗しました"
- 
--#: dnf/base.py:1182
-+#: dnf/base.py:1200
- msgid "Some packages were not downloaded. Retrying."
- msgstr "一部のパッケージはダウンロードされませんでした。再試行中です。"
- 
--#: dnf/base.py:1212
--#, fuzzy, python-format
--#| msgid ""
--#| "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
-+#: dnf/base.py:1230
-+#, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
--msgstr "Delta RPM により %.1f MB の更新を %.1f MB に削減できました。(%d.1%% がキャッシュされていました)"
-+msgstr "デルタ RPM は、更新の %.1f MB を %.1f MB に削減しました (%.1f%% "
-+"節約しました)。"
- 
--#: dnf/base.py:1216
--#, fuzzy, python-format
--#| msgid ""
--#| "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
-+#: dnf/base.py:1234
-+#, python-format
- msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
--msgstr "非効率な Delta RPM により %.1f MB の更新が増加し、%.1f MB となりました。(%d.1%% が無駄になりました)"
-+msgstr "失敗した Delta RPMs は、更新の %.1f MB を %.1f MB に増加しました (%.1f%% "
-+"は無駄になりました)"
- 
--#: dnf/base.py:1258
-+#: dnf/base.py:1276
- msgid "Cannot add local packages, because transaction job already exists"
--msgstr "ローカルパッケージを追加できません、トランザクションジョブがすでに存在するためです"
-+msgstr ""
-+"ローカルパッケージを追加できません、トランザクションジョブがすでに存在するた"
-+"めです"
- 
--#: dnf/base.py:1272
-+#: dnf/base.py:1290
- msgid "Could not open: {}"
- msgstr "開くことができませんでした: {}"
- 
--#: dnf/base.py:1310
-+#: dnf/base.py:1328
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr "%s の公開鍵がインストールされていません"
- 
--#: dnf/base.py:1314
-+#: dnf/base.py:1332
- #, python-format
- msgid "Problem opening package %s"
- msgstr "パッケージ %s を開くことができません"
- 
--#: dnf/base.py:1322
-+#: dnf/base.py:1340
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr "%s の公開鍵は信頼されていません"
- 
--#: dnf/base.py:1326
-+#: dnf/base.py:1344
- #, python-format
- msgid "Package %s is not signed"
- msgstr "パッケージ %s は署名されていません"
- 
--#: dnf/base.py:1356
-+#: dnf/base.py:1374
- #, python-format
- msgid "Cannot remove %s"
- msgstr "%s を削除できません"
- 
--#: dnf/base.py:1360
-+#: dnf/base.py:1378
- #, python-format
- msgid "%s removed"
- msgstr "%s を削除しました"
- 
--#: dnf/base.py:1640
-+#: dnf/base.py:1658
- msgid "No match for group package \"{}\""
--msgstr "グループパッケージ  \"{}\" に一致するものはありません"
-+msgstr "グループパッケージ \"{}\" に一致するものはありません"
- 
--#: dnf/base.py:1726
-+#: dnf/base.py:1740
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr "グループ '%s' からのパッケージを追加します: %s"
- 
--#: dnf/base.py:1749 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/base.py:1763 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:1767
-+#: dnf/base.py:1781
- msgid "No groups marked for removal."
- msgstr "削除対象のパッケージはありません。"
- 
--#: dnf/base.py:1801
-+#: dnf/base.py:1815
- msgid "No group marked for upgrade."
- msgstr "アップグレード対象のグループはありません。"
- 
--#: dnf/base.py:2015
-+#: dnf/base.py:2029
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
--msgstr "パッケージ %s はインストールされていないので、ダウングレードできません。"
-+msgstr ""
-+"パッケージ %s はインストールされていないので、ダウングレードできません。"
- 
--#: dnf/base.py:2017 dnf/base.py:2036 dnf/base.py:2049 dnf/base.py:2076
--#: dnf/base.py:2129 dnf/base.py:2137 dnf/base.py:2271 dnf/cli/cli.py:417
-+#: dnf/base.py:2031 dnf/base.py:2050 dnf/base.py:2063 dnf/base.py:2090
-+#: dnf/base.py:2143 dnf/base.py:2151 dnf/base.py:2285 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
-@@ -372,178 +378,197 @@ msgstr "パッケージ %s はインストールされていないので、ダ
- msgid "No match for argument: %s"
- msgstr "一致した引数がありません: %s"
- 
--#: dnf/base.py:2024
-+#: dnf/base.py:2038
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
--msgstr "下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。"
-+msgstr ""
-+"下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできま"
-+"せん。"
- 
--#: dnf/base.py:2047
-+#: dnf/base.py:2061
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
--msgstr "パッケージ %s はインストールされていないのでの、再インストールできません。"
-+msgstr ""
-+"パッケージ %s はインストールされていないのでの、再インストールできません。"
- 
--#: dnf/base.py:2062
-+#: dnf/base.py:2076
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
- msgstr "ファイル %s はソースパッケージで更新できません。無視します。"
- 
--#: dnf/base.py:2073
-+#: dnf/base.py:2087
- #, python-format
- msgid "Package %s not installed, cannot update it."
- msgstr "パッケージ %s はインストールされていないので、更新できません。"
- 
--#: dnf/base.py:2083
-+#: dnf/base.py:2097
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
--msgstr "同じまたはさらに新しいバージョンの %s が既にインストールされています、アップデートできません。"
-+msgstr ""
-+"同じまたはさらに新しいバージョンの %s が既にインストールされています、アップ"
-+"デートできません。"
- 
--#: dnf/base.py:2126 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
- msgstr "パッケージ %s は利用可能ですが、インストールされていません。"
- 
--#: dnf/base.py:2132
-+#: dnf/base.py:2146
- #, python-format
- msgid "Package %s available, but installed for different architecture."
--msgstr "パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされています。"
-+msgstr ""
-+"パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされてい"
-+"ます。"
- 
--#: dnf/base.py:2157
-+#: dnf/base.py:2171
- #, python-format
- msgid "No package %s installed."
- msgstr "パッケージ %s はインストールされていません。"
- 
--#: dnf/base.py:2175 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2189 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:2190 dnf/cli/commands/__init__.py:676
-+#: dnf/base.py:2204 dnf/cli/commands/__init__.py:676
- #: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
- msgstr "削除対象のパッケージはありません。"
- 
--#: dnf/base.py:2278 dnf/cli/cli.py:428
-+#: dnf/base.py:2292 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
--msgstr "引数  %s のパッケージは利用可能ですが、インストールされていません。"
-+msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。"
- 
--#: dnf/base.py:2283
-+#: dnf/base.py:2297
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
--msgstr "最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。"
-+msgstr ""
-+"最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードでき"
-+"ません。"
- 
--#: dnf/base.py:2383
-+#: dnf/base.py:2397
- msgid "No security updates needed, but {} update available"
- msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です"
- 
--#: dnf/base.py:2385
-+#: dnf/base.py:2399
- msgid "No security updates needed, but {} updates available"
- msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です"
- 
--#: dnf/base.py:2389
-+#: dnf/base.py:2403
- msgid "No security updates needed for \"{}\", but {} update available"
- msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です"
- 
--#: dnf/base.py:2391
-+#: dnf/base.py:2405
- msgid "No security updates needed for \"{}\", but {} updates available"
- msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です"
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2412
-+#: dnf/base.py:2426
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
--msgstr ""
-+msgstr "コマンドラインパッケージのキーを取得できません: %s"
- 
--#: dnf/base.py:2420
-+#: dnf/base.py:2434
- #, python-format
- msgid ". Failing package is: %s"
- msgstr ". 失敗したパッケージは: %s"
- 
--#: dnf/base.py:2421
-+#: dnf/base.py:2435
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "GPG 鍵が設定されています: %s"
- 
--#: dnf/base.py:2433
-+#: dnf/base.py:2447
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr "%s (0x%s) の GPG 鍵はインストール済みです"
- 
--#: dnf/base.py:2469
-+#: dnf/base.py:2483
- msgid "The key has been approved."
- msgstr "鍵が承認されました。"
- 
--#: dnf/base.py:2472
-+#: dnf/base.py:2486
- msgid "The key has been rejected."
- msgstr "鍵が拒否されました。"
- 
--#: dnf/base.py:2505
-+#: dnf/base.py:2519
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "鍵のインポートに失敗しました (コード: %d)"
- 
--#: dnf/base.py:2507
-+#: dnf/base.py:2521
- msgid "Key imported successfully"
- msgstr "鍵のインポートに成功しました"
- 
--#: dnf/base.py:2511
-+#: dnf/base.py:2525
- msgid "Didn't install any keys"
- msgstr "鍵を 1 つもインストールしませんでした"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2528
- #, 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:2525
-+#: dnf/base.py:2539
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr "鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?"
- 
--#: dnf/base.py:2578
-+#: dnf/base.py:2592
- msgid "  * Maybe you meant: {}"
- msgstr "  * おそらく: {}"
- 
--#: dnf/base.py:2610
-+#: dnf/base.py:2624
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
--msgstr "ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
-+msgstr ""
-+"ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありま"
-+"せん"
- 
--#: dnf/base.py:2613
-+#: dnf/base.py:2627
- msgid "Some packages from local repository have incorrect checksum"
--msgstr "ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません"
-+msgstr ""
-+"ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません"
- 
--#: dnf/base.py:2616
-+#: dnf/base.py:2630
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
--msgstr "リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
-+msgstr ""
-+"リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません"
- 
--#: dnf/base.py:2619
-+#: dnf/base.py:2633
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
--msgstr "いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプションによりダウンロードできません"
-+msgstr ""
-+"いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプ"
-+"ションによりダウンロードできません"
- 
--#: dnf/base.py:2637 dnf/base.py:2657
-+#: dnf/base.py:2651 dnf/base.py:2671
- msgid "No match for argument"
- msgstr "一致した引数がありません"
- 
--#: dnf/base.py:2645 dnf/base.py:2665
-+#: dnf/base.py:2659 dnf/base.py:2679
- msgid "All matches were filtered out by exclude filtering for argument"
--msgstr "すべての検索結果は引数の除外フィルタリングに一致しません(filter out)"
-+msgstr "すべての検索結果は引数の除外フィルタリングに一致しません (filter out)"
- 
--#: dnf/base.py:2647
-+#: dnf/base.py:2661
- msgid "All matches were filtered out by modular filtering for argument"
--msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません(filter out)"
-+msgstr ""
-+"すべての検出結果は引数のモジュラーフィルタリングに一致しません (filter out)"
- 
--#: dnf/base.py:2663
-+#: dnf/base.py:2677
- msgid "All matches were installed from a different repository for argument"
--msgstr "すべての検索結果は引数に対し異なるレポジトリからインストールされたものです"
-+msgstr ""
-+"すべての検索結果は引数に対し異なるレポジトリからインストールされたものです"
- 
--#: dnf/base.py:2710
-+#: dnf/base.py:2724
- #, python-format
- msgid "Package %s is already installed."
- msgstr "パッケージ %s は既にインストールされています。"
-@@ -553,7 +578,7 @@ msgstr "パッケージ %s は既にインストールされています。"
- msgid "Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s"
- msgstr "環境変数の予期しない値: DNF_DISABLE_ALIASES=%s"
- 
--#: dnf/cli/aliases.py:105 dnf/conf/config.py:457
-+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475
- #, python-format
- msgid "Parsing file \"%s\" failed: %s"
- msgstr "ファイル \"%s\" の解析に失敗しました: %s"
-@@ -593,19 +618,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
--#, fuzzy, python-brace-format
--#| msgid ""
--#| "It is not possible to switch enabled streams of a module.\n"
--#| "It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
-+#, 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 ""
--"モジュールの有効なストリームを切り替えることはできません。\n"
--"モジュールからインストールされた全てのコンテンツを削除し、 '{prog} module reset <module_name>' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。"
-+"設定オプション module_stream_switch から明示的に有効化されていない限り、モ"
-+"ジュールの有効なストリームを切り替えることはできません。\n"
-+"モジュールからインストールされた全てのコンテンツを削除し、'{prog} module "
-+"reset <module_name>' コマンドを使用してリセットすることが推奨されます。モ"
-+"ジュールのリセット後、他のストリームをインストール可能です。"
- 
- #: dnf/cli/cli.py:212
- #, python-brace-format
-@@ -617,7 +647,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."
-@@ -653,12 +685,12 @@ msgstr "パッケージの廃止"
- 
- #: dnf/cli/cli.py:399
- msgid "No packages marked for distribution synchronization."
--msgstr "ディストリビューション同期対象のパッケージがありません"
-+msgstr "ディストリビューション同期対象のパッケージがありません。"
- 
- #: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395
- #, python-format
- msgid "No package %s available."
--msgstr "利用可能なパッケージ %s がありません。"
-+msgstr "利用可能なパッケージ %s はありません。"
- 
- #: dnf/cli/cli.py:434
- msgid "No packages marked for downgrade."
-@@ -708,52 +740,59 @@ msgstr "一致するリポジトリーがありません: %s"
- 
- #: dnf/cli/cli.py:719
- msgid ""
--"This command has to be run with superuser privileges (under the root user on"
--" most systems)."
--msgstr "このコマンドはスーパーユーザー特権(大概のシステムではrootユーザー)で実行しなければいけません。"
-+"This command has to be run with superuser privileges (under the root user on "
-+"most systems)."
-+msgstr ""
-+"このコマンドはスーパーユーザー特権(大概のシステムではrootユーザー)で実行しな"
-+"ければいけません。"
- 
- #: dnf/cli/cli.py:749
- #, python-format
- msgid "No such command: %s. Please use %s --help"
--msgstr "そのようなコマンドはありません: %s. %s --help を使用してください。"
-+msgstr "そのようなコマンドはありません: %s. %s --help を使用してください"
- 
- #: dnf/cli/cli.py:752
- #, python-format, python-brace-format
- msgid ""
- "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-"
- "command(%s)'\""
--msgstr "{PROG} プラグインコマンドを実行できません、試してください: \"{prog} install 'dnf-command(%s)'\""
-+msgstr ""
-+"{PROG} プラグインコマンドを実行できません、試してください: \"{prog} install "
-+"'dnf-command(%s)'\""
- 
- #: dnf/cli/cli.py:756
- #, python-brace-format
- msgid ""
- "It could be a {prog} plugin command, but loading of plugins is currently "
- "disabled."
--msgstr "{prog} プラグインコマンドを実行できません、プラグインのロードが現在無効になっているようです。"
-+msgstr ""
-+"{prog} プラグインコマンドを実行できません、プラグインのロードが現在無効になっ"
-+"ているようです。"
- 
- #: dnf/cli/cli.py:814
- msgid ""
- "--destdir or --downloaddir must be used with --downloadonly or download or "
- "system-upgrade command."
- msgstr ""
--"--destdir または --downloaddir は、--downloadonly、download あるいは system-upgrade "
--"コマンドと共に使用する必要があります。"
-+"--destdir または --downloaddir は、--downloadonly、download あるいは system-"
-+"upgrade コマンドと共に使用する必要があります。"
- 
- #: dnf/cli/cli.py:820
- msgid ""
- "--enable, --set-enabled and --disable, --set-disabled must be used with "
- "config-manager command."
- msgstr ""
--"--enable と --set-enabled および --disable と --set-disabled は、config-manager "
--"コマンドと共に使用しなければなりません。"
-+"--enable と --set-enabled および --disable と --set-disabled は、config-"
-+"manager コマンドと共に使用しなければなりません。"
- 
- #: dnf/cli/cli.py:902
- msgid ""
- "Warning: Enforcing GPG signature check globally as per active RPM security "
- "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
- msgstr ""
--"警告: アクティブな RPM セキュリティーポリシーにより、GPG 署名の確認をグローバルに強制します "
--"(このメッセージをスケルチするには、dnf.conf(5) の 'gpgcheck' を参照してください)"
-+"警告: アクティブな RPM セキュリティーポリシーにより、GPG 署名の確認をグローバ"
-+"ルに強制します (このメッセージをスケルチするには、dnf.conf(5) の 'gpgcheck' "
-+"を参照してください)"
- 
- #: dnf/cli/cli.py:922
- msgid "Config file \"{}\" does not exist"
-@@ -763,7 +802,9 @@ msgstr "設定ファイル \"{}\" は存在しません"
- msgid ""
- "Unable to detect release version (use '--releasever' to specify release "
- "version)"
--msgstr "リリースバージョンを検出できません (リリースバージョンを指定するには '--releasever' を使用してください)"
-+msgstr ""
-+"リリースバージョンを検出できません (リリースバージョンを指定するには '--"
-+"releasever' を使用してください)"
- 
- #: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
- msgid "argument {}: not allowed with argument {}"
-@@ -798,13 +839,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"
-@@ -823,11 +867,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
-@@ -1062,7 +1108,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"
-@@ -1141,12 +1188,12 @@ msgid "Waiting for process with pid %d to finish."
- msgstr "pid %d のプロセスが終了するのを待ちます。"
- 
- #: dnf/cli/commands/deplist.py:32
--#, fuzzy
--#| msgid "List package's dependencies and what packages provide them"
- msgid ""
- "[deprecated, use repoquery --deplist] List package's dependencies and what "
- "packages provide them"
--msgstr "パッケージの依存関係とこれを提供するパッケージがどれかを一覧表示します"
-+msgstr ""
-+"[非推奨、epoquery --deplist を使用] パッケージの依存関係とこれを提供するパッ"
-+"ケージがどれかを一覧表示します"
- 
- #: dnf/cli/commands/distrosync.py:32
- msgid "synchronize installed packages to the latest available versions"
-@@ -1236,7 +1283,7 @@ msgstr "グループサブコマンドの引数"
- #: dnf/cli/commands/group.py:343
- #, python-format
- msgid "Invalid groups sub-command, use: %s."
--msgstr "groups のサブコマンドが無効です: %s. を使用します"
-+msgstr "groups のサブコマンドが無効です: %s を使用します。"
- 
- #: dnf/cli/commands/group.py:398
- msgid "Unable to find a mandatory group package."
-@@ -1248,25 +1295,31 @@ msgstr "トランザクション履歴を表示、または使用します"
- 
- #: dnf/cli/commands/history.py:66
- msgid "For the store command, file path to store the transaction to"
--msgstr ""
-+msgstr "store コマンドの場合は、トランザクションを保存するファイルパス"
- 
- #: dnf/cli/commands/history.py:68
- msgid ""
--"For the replay command, don't check for installed packages matching those in"
--" transaction"
-+"For the replay command, don't check for installed packages matching those in "
-+"transaction"
- msgstr ""
-+"replay コマンドの場合は、トランザクション内のパッケージに一致するインストール"
-+"済みパッケージを確認しない"
- 
- #: dnf/cli/commands/history.py:71
- msgid ""
- "For the replay command, don't check for extra packages pulled into the "
- "transaction"
- msgstr ""
-+"replay コマンドの場合は、トランザクションにプルされた追加パッケージを確認しな"
-+"い"
- 
- #: dnf/cli/commands/history.py:74
- msgid ""
--"For the replay command, skip packages that are not available or have missing"
--" dependencies"
-+"For the replay command, skip packages that are not available or have missing "
-+"dependencies"
- msgstr ""
-+"replay コマンドの場合は、利用できないパッケージや、依存関係が不足しているパッ"
-+"ケージをスキップ"
- 
- #: dnf/cli/commands/history.py:94
- msgid ""
-@@ -1277,16 +1330,12 @@ msgstr ""
- "'{}' は 1 つのトランザクション ID またはパッケージ名が必要です。"
- 
- #: dnf/cli/commands/history.py:101
--#, fuzzy
--#| msgid "No transaction ID or package name given."
- msgid "No transaction file name given."
--msgstr "トランザクション ID、またはパッケージ名が指定されていません。"
-+msgstr "トランザクションファイル名が指定されていません。"
- 
- #: dnf/cli/commands/history.py:103
--#, fuzzy
--#| msgid "Failed to remove transaction file %s"
- msgid "More than one argument given as transaction file name."
--msgstr "トランザクションファイル %s の削除に失敗しました"
-+msgstr "トランザクションファイル名として指定された複数の引数。"
- 
- #: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130
- msgid "No transaction ID or package name given."
-@@ -1300,26 +1349,29 @@ 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"
- msgstr "トランザクション ID は指定されていません"
- 
- #: dnf/cli/commands/history.py:179
--#, fuzzy, python-brace-format
--#| msgid "TransactionItem not found for key: {}"
-+#, python-brace-format
- msgid "Transaction ID \"{0}\" not found."
--msgstr "TransactionItemが見つかりません鍵: {}"
-+msgstr "トランザクション ID \"{0}\" が見つかりません。"
- 
- #: dnf/cli/commands/history.py:185
- msgid "Found more than one transaction ID!"
-@@ -1361,27 +1413,23 @@ msgstr "パッケージ '{}' を操作するトランザクションが見つか
- 
- #: dnf/cli/commands/history.py:357
- msgid "{} exists, overwrite?"
--msgstr ""
-+msgstr "{} は存在します。上書きしますか?"
- 
- #: dnf/cli/commands/history.py:360
- msgid "Not overwriting {}, exiting."
--msgstr ""
-+msgstr "{} は存在するため上書きしません。"
- 
- #: dnf/cli/commands/history.py:367
--#, fuzzy
--#| msgid "Transaction failed"
- msgid "Transaction saved to {}."
--msgstr "トランザクションが失敗しました"
-+msgstr "{} に保存されているトランザクション。"
- 
- #: dnf/cli/commands/history.py:370
--#, fuzzy
--#| msgid "Errors occurred during transaction."
- msgid "Error storing transaction: {}"
--msgstr "トランザクション中にエラーが発生しました。"
-+msgstr "トランザクションの保存エラー: {}"
- 
- #: dnf/cli/commands/history.py:386
- msgid "Warning, the following problems occurred while running a transaction:"
--msgstr ""
-+msgstr "警告: トランザクションの実行中に以下の問題が発生しました:"
- 
- #: dnf/cli/commands/install.py:47
- msgid "install a package or packages on your system"
-@@ -1415,7 +1463,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 ""
-@@ -1454,9 +1504,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"
-@@ -1500,7 +1552,7 @@ msgstr "パッケージ {} は複数のモジュールに属しています、
- 
- #: dnf/cli/commands/module.py:280
- msgid "switch a module to a stream and distrosync rpm packages"
--msgstr ""
-+msgstr "モジュールをストリームに切り替え、rpm パッケージを distrosync します"
- 
- #: dnf/cli/commands/module.py:302
- msgid "list modular packages"
-@@ -1727,7 +1779,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)"
-@@ -1749,7 +1803,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"
-@@ -1791,7 +1847,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"
-@@ -1813,7 +1871,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"
-@@ -1838,9 +1898,11 @@ msgstr "パッケージの changelogs を表示します"
- #: dnf/cli/commands/repoquery.py:194
- #, python-format, python-brace-format
- msgid ""
--"display format for listing packages: \"%%{name} %%{version} ...\", use "
--"--querytags to view full tag list"
-+"display format for listing packages: \"%%{name} %%{version} ...\", use --"
-+"querytags to view full tag list"
- msgstr ""
-+"パッケージを一覧表示するための形式の表示: \"%%{name} %%{version} ...\"。--"
-+"querytags を指定して完全なタグリストを表示"
- 
- #: dnf/cli/commands/repoquery.py:198
- msgid "show available tags to use with --queryformat"
-@@ -1851,19 +1913,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"
-@@ -1879,7 +1946,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"
-@@ -1893,7 +1961,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."
-@@ -1918,9 +1987,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."
-@@ -1947,7 +2017,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
-@@ -1969,26 +2041,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"
-@@ -1998,13 +2072,17 @@ msgstr "パッケージ {} はファイルを含んでいません"
- #, python-brace-format
- msgid ""
- "No valid switch specified\n"
--"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
-+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
-+"tree]\n"
- "\n"
- "description:\n"
- "  For the given packages print a tree of thepackages."
- msgstr ""
- "正規のスイッチが特定されません\n"
--"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
-+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
-+"tree]\n"
- "\n"
- "説明:\n"
- "  与えられたパッケージではパッケージのツリーを表示します。"
-@@ -2044,8 +2122,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 " & "
-@@ -2121,7 +2198,8 @@ msgid ""
- "  disable: disable repositories. option = repository id"
- msgstr ""
- "{} arg [オプション]\n"
--" 一覧: リポジトリーとその状態を一覧表示します。オプション = [all | id | glob]\n"
-+" 一覧: リポジトリーとその状態を一覧表示します。オプション = [all | id | "
-+"glob]\n"
- "  有効化: リポジトリーの有効化。オプション = リポジトリー id\n"
- "  無効化: リポジトリーの無効化。オプション = リポジトリー id"
- 
-@@ -2179,7 +2257,8 @@ msgstr ""
- "ヘルプ                     ヘルプの印刷\n"
- "リポジトリー (または repo)     リポジトリーの有効化、無効化、または一覧表示\n"
- "resolvedep               トランザクションセットの解決\n"
--"トランザクション (または ts)      トランザクションセットの一覧表示、再設定、または実行\n"
-+"トランザクション (または ts)      トランザクションセットの一覧表示、再設定、"
-+"または実行\n"
- "実行                      トランザクションセットの解決および実行\n"
- "終了 (または 中止)           シェルの終了"
- 
-@@ -2199,7 +2278,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"
-@@ -2251,13 +2332,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"
-@@ -2398,7 +2482,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"
-@@ -2408,7 +2493,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."
-@@ -2420,23 +2507,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."
-@@ -2528,7 +2621,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"
-@@ -2564,8 +2659,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"
-@@ -2583,19 +2678,25 @@ msgstr "すべての質問に「いいえ」(no) と自動的に答えます"
- msgid ""
- "Enable additional repositories. List option. Supports globs, can be "
- "specified multiple times."
--msgstr "追加レポジトリを有効化、オプションのリスト、globsのサポートは何度でも指定可能です。"
-+msgstr ""
-+"追加レポジトリを有効化、オプションのリスト、globsのサポートは何度でも指定可能"
-+"です。"
- 
- #: dnf/cli/option_parser.py:266
- msgid ""
--"Disable repositories. List option. Supports globs, can be specified multiple"
--" times."
--msgstr "追加レポジトリを無効化、オプションのリスト、globsのサポートは何度でも指定可能です。"
-+"Disable repositories. List option. Supports globs, can be specified multiple "
-+"times."
-+msgstr ""
-+"追加レポジトリを無効化、オプションのリスト、globsのサポートは何度でも指定可能"
-+"です。"
- 
- #: dnf/cli/option_parser.py:270
- msgid ""
- "enable just specific repositories by an id or a glob, can be specified "
- "multiple times"
--msgstr "id または glob により特定のリポジトリーだけを有効にします。複数回指定することが可能です"
-+msgstr ""
-+"id または glob により特定のリポジトリーだけを有効にします。複数回指定すること"
-+"が可能です"
- 
- #: dnf/cli/option_parser.py:275
- msgid "enable repos with config-manager command (automatically saves)"
-@@ -2617,7 +2718,9 @@ msgstr "excludepkgs を無効にします"
- msgid ""
- "label and path to an additional repository to use (same path as in a "
- "baseurl), can be specified multiple times."
--msgstr "利用する追加レポジトリ(baseurlと同じパス)のラベルとパスは何度でも指定可能です。"
-+msgstr ""
-+"利用する追加レポジトリ(baseurlと同じパス)のラベルとパスは何度でも指定可能で"
-+"す。"
- 
- #: dnf/cli/option_parser.py:297
- msgid "disable removal of dependencies that are no longer used"
-@@ -2697,7 +2800,7 @@ msgstr "主要コマンドの一覧:"
- 
- #: dnf/cli/option_parser.py:376
- msgid "List of Plugin Commands:"
--msgstr "プラグインコマンドの一覧"
-+msgstr "プラグインコマンドの一覧:"
- 
- #: dnf/cli/option_parser.py:413
- #, python-format
-@@ -2928,7 +3031,7 @@ msgstr "Repo        : %s"
- 
- #: dnf/cli/output.py:857
- msgid "Description : "
--msgstr "説明                : "
-+msgstr "説明: "
- 
- #: dnf/cli/output.py:861
- #, python-format
-@@ -3470,10 +3573,6 @@ msgstr "    開始しました   : %s - %s 秒経過"
- msgid "    State  : %s"
- msgstr "    状態  : %s"
- 
--#: dnf/comps.py:104
--msgid "skipping."
--msgstr "スキップします。"
--
- #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
- #, python-format
- msgid "Module or Group '%s' is not installed."
-@@ -3490,16 +3589,14 @@ msgid "Module or Group '%s' does not exist."
- msgstr "モジュールまたはグループ '%s' は存在しません。"
- 
- #: dnf/comps.py:599
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#, python-format
- msgid "Environment id '%s' does not exist."
--msgstr "環境 '%s' はインストールされていません。"
-+msgstr "環境 id '%s' は存在しません。"
- 
- #: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not installed."
-+#, python-format
- msgid "Environment id '%s' is not installed."
--msgstr "環境 '%s' はインストールされていません。"
-+msgstr "環境 id '%s' はインストールされていません。"
- 
- #: dnf/comps.py:639
- #, python-format
-@@ -3512,10 +3609,9 @@ msgid "Environment '%s' is not available."
- msgstr "環境 '%s' は利用不可です。"
- 
- #: dnf/comps.py:673
--#, fuzzy, python-format
--#| msgid "Group_id '%s' does not exist."
-+#, python-format
- msgid "Group id '%s' does not exist."
--msgstr "Group_id '%s' は存在しません。"
-+msgstr "グループ id '%s' は存在しません。"
- 
- #: dnf/conf/config.py:136
- #, python-format
-@@ -3523,16 +3619,19 @@ msgid "Error parsing '%s': %s"
- msgstr "'%s' の解析中にエラーが発生しました: %s"
- 
- #: dnf/conf/config.py:151
--#, fuzzy, python-format
--#| msgid "Unknown configuration value: %s=%s in %s; %s"
-+#, python-format
- msgid "Invalid configuration value: %s=%s in %s; %s"
--msgstr "不明な設定値: %s=%s in %s; %s"
-+msgstr "正しくない設定値: %s=%s in %s; %s"
-+
-+#: dnf/conf/config.py:194
-+msgid "Cannot set \"{}\" to \"{}\": {}"
-+msgstr "\"{}\" を \"{}\": {} に設定できません。"
- 
--#: dnf/conf/config.py:226
-+#: dnf/conf/config.py:244
- msgid "Could not set cachedir: {}"
- msgstr "cachedir を設定できませんでした: {}"
- 
--#: dnf/conf/config.py:275
-+#: dnf/conf/config.py:293
- msgid ""
- "Configuration file URL \"{}\" could not be downloaded:\n"
- "  {}"
-@@ -3540,31 +3639,31 @@ msgstr ""
- "設定ファイル URL \"{}\" はダウンロードできませんでした:\n"
- "  {}"
- 
--#: dnf/conf/config.py:355 dnf/conf/config.py:391
-+#: dnf/conf/config.py:373 dnf/conf/config.py:409
- #, python-format
- msgid "Unknown configuration option: %s = %s"
- msgstr "不明な設定オプション: %s = %s"
- 
--#: dnf/conf/config.py:372
-+#: dnf/conf/config.py:390
- #, python-format
- msgid "Error parsing --setopt with key '%s', value '%s': %s"
- msgstr "鍵 '%s'、値 '%s' の --setopt を解析中にエラーが発生しました: %s"
- 
--#: dnf/conf/config.py:380
-+#: dnf/conf/config.py:398
- #, python-format
- msgid "Main config did not have a %s attr. before setopt"
- msgstr "主要設定には setopt の前に %s attr. がありませんでした"
- 
--#: dnf/conf/config.py:427 dnf/conf/config.py:445
-+#: dnf/conf/config.py:445 dnf/conf/config.py:463
- msgid "Incorrect or unknown \"{}\": {}"
- msgstr "誤りかまたは不明な \"{}\": {}"
- 
--#: dnf/conf/config.py:501
-+#: dnf/conf/config.py:519
- #, python-format
- msgid "Error parsing --setopt with key '%s.%s', value '%s': %s"
- msgstr "鍵 '%s.%s'、値 '%s' の --setopt を解析中にエラーが発生しました: %s"
- 
--#: dnf/conf/config.py:504
-+#: dnf/conf/config.py:522
- #, python-format
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "repo %s には setopt の前に %s attr. がありませんでした"
-@@ -3572,7 +3671,7 @@ msgstr "repo %s には setopt の前に %s attr. がありませんでした"
- #: dnf/conf/read.py:60
- #, python-format
- msgid "Warning: failed loading '%s', skipping."
--msgstr "警告:  '%s' のロードに失敗、スキップします。"
-+msgstr "警告: '%s' のロードに失敗、スキップします。"
- 
- #: dnf/conf/read.py:72
- msgid "Bad id for repo: {} ({}), byte = {} {}"
-@@ -3610,31 +3709,33 @@ msgstr "repo %s: 0x%s はインポート済みです"
- #: dnf/crypto.py:115
- #, python-format
- msgid "repo %s: imported key 0x%s."
--msgstr "repo %s: インポート済みの鍵 0x%s。"
-+msgstr "repo %s: インポート済みのキー 0x%s。"
- 
- #: dnf/crypto.py:145
- msgid "Verified using DNS record with DNSSEC signature."
--msgstr ""
-+msgstr "DNSSEC 署名付きの DNS レコードを使用して検証しました。"
- 
- #: dnf/crypto.py:147
- msgid "NOT verified using DNS record."
--msgstr ""
-+msgstr "DNS レコードを使用して検証されませんでした。"
- 
- #: dnf/crypto.py:184
- #, python-format
- msgid "retrieving repo key for %s unencrypted from %s"
--msgstr ""
-+msgstr "%s から暗号化されていない %s の repo キーを取得しています"
- 
- #: dnf/db/group.py:302
- msgid ""
- "No available modular metadata for modular package '{}', it cannot be "
- "installed on the system"
--msgstr "モジュラーパッケージ '{}' のモジュラーメタデータは利用不可です、システムにインストールはできません"
-+msgstr ""
-+"モジュラーパッケージ '{}' のモジュラーメタデータは利用不可です、システムにイ"
-+"ンストールはできません"
- 
- #: dnf/db/group.py:353
- #, python-format
- msgid "An rpm exception occurred: %s"
--msgstr ""
-+msgstr "rpm 例外が発生しました: %s"
- 
- #: dnf/db/group.py:355
- msgid "No available modular metadata for modular package"
-@@ -3645,35 +3746,33 @@ msgstr "モジュラーパッケージ のモジュラーメタデータは利
- msgid "Will not install a source rpm package (%s)."
- msgstr "ソース rpm パッケージ (%s) をインストールしません。"
- 
--#: dnf/dnssec.py:168
--#, fuzzy
--#| msgid ""
--#| "Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
-+#: dnf/dnssec.py:171
- msgid ""
- "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
--msgstr "設定オプション 'gpgkey_dns_verification' は libunbound ({}) が必要です"
-+msgstr ""
-+"設定オプション 'gpgkey_dns_verification' は python3-unbound ({}) が必要です"
- 
--#: dnf/dnssec.py:239
-+#: dnf/dnssec.py:243
- msgid "DNSSEC extension: Key for user "
- msgstr "DNSSEC 拡張: ユーザー用の鍵 "
- 
--#: dnf/dnssec.py:241
-+#: dnf/dnssec.py:245
- msgid "is valid."
- msgstr "は有効です。"
- 
--#: dnf/dnssec.py:243
-+#: dnf/dnssec.py:247
- msgid "has unknown status."
- msgstr "の状態は不明です。"
- 
--#: dnf/dnssec.py:251
-+#: dnf/dnssec.py:255
- msgid "DNSSEC extension: "
- msgstr "DNSSEC 拡張: "
- 
--#: dnf/dnssec.py:283
-+#: dnf/dnssec.py:287
- msgid "Testing already imported keys for their validity."
- msgstr "すでにインポートされた鍵の有効性をテストします。"
- 
--#: dnf/drpm.py:62 dnf/repo.py:268
-+#: dnf/drpm.py:62 dnf/repo.py:267
- #, python-format
- msgid "unsupported checksum type: %s"
- msgstr "サポートされていないチェックサム形式: %s"
-@@ -3715,7 +3814,7 @@ msgid "Modular dependency problem with Defaults:"
- msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "デフォルトのモジュラー依存問題:"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:854
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:857
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "モジュラーの依存に関する問題:"
-@@ -3724,10 +3823,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 '{}'."
-@@ -3739,7 +3840,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: {}."
-@@ -3747,57 +3849,49 @@ msgstr "有効なモジュール: {}."
- 
- #: dnf/module/__init__.py:30
- msgid "No profile specified for '{}', please specify profile."
--msgstr "'{}' に指定したプロファイルはありません。プロファイルを指定してください。"
-+msgstr ""
-+"'{}' に指定したプロファイルはありません。プロファイルを指定してください。"
- 
- #: dnf/module/exceptions.py:27
--#, fuzzy
--#| msgid "No profiles for module {}:{}"
- msgid "No such module: {}"
--msgstr "モジュール {}:{} にプロファイルがありません"
-+msgstr "次のようなモジュールはありません: {}"
- 
- #: dnf/module/exceptions.py:33
- msgid "No such stream: {}"
--msgstr ""
-+msgstr "次のようなストリームはありません: {}"
- 
- #: dnf/module/exceptions.py:39
--#, fuzzy
--#| msgid "No profiles for module {}:{}"
- msgid "No enabled stream for module: {}"
--msgstr "モジュール {}:{} にプロファイルがありません"
-+msgstr "次のモジュールに有効化されたストリームはありません: {}"
- 
- #: dnf/module/exceptions.py:46
- msgid "Cannot enable more streams from module '{}' at the same time"
--msgstr ""
-+msgstr "モジュール '{}' から、さらにストリームを同時に有効にできません"
- 
- #: dnf/module/exceptions.py:52
- msgid "Different stream enabled for module: {}"
--msgstr ""
-+msgstr "次のモジュールに有効化された異なるストリーム: {}"
- 
- #: dnf/module/exceptions.py:58
- msgid "No such profile: {}"
--msgstr ""
-+msgstr "次ようなプロファイルはありません: {}"
- 
- #: dnf/module/exceptions.py:64
- msgid "Specified profile not installed for {}"
--msgstr ""
-+msgstr "指定のプロファイルは次にインストールされていません: {}"
- 
- #: dnf/module/exceptions.py:70
--#, fuzzy
--#| msgid "No profile specified for '{}', please specify profile."
- msgid "No stream specified for '{}', please specify stream"
--msgstr "'{}' に指定したプロファイルはありません。プロファイルを指定してください。"
-+msgstr "'{}' に指定したストリームはありません。ストリームを指定してください"
- 
- #: dnf/module/exceptions.py:82
--#, fuzzy
--#| msgid "No repositories available"
- msgid "No such profile: {}. No profiles available"
--msgstr "利用できるリポジトリーがありません"
-+msgstr ""
-+"次のようなプロファイルはありません: {}。利用できるプロファイルはありません"
- 
- #: dnf/module/exceptions.py:88
--#, fuzzy
--#| msgid "No profiles for module {}:{}"
- msgid "No profile to remove for '{}'"
--msgstr "モジュール {}:{} にプロファイルがありません"
-+msgstr "'{}' の削除するプロファイルがありません"
- 
- #: dnf/module/module_base.py:35
- msgid ""
-@@ -3820,24 +3914,28 @@ msgstr ""
- "ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive"
- 
- #: dnf/module/module_base.py:56 dnf/module/module_base.py:556
--#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:684
- msgid "Ignoring unnecessary profile: '{}/{}'"
- 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 {}"
-@@ -3845,7 +3943,9 @@ 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 {}:{}"
-@@ -3857,36 +3957,38 @@ 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
--#, fuzzy, python-brace-format
--#| msgid ""
--#| "All matches for argument '{0}' in module '{1}:{2}' are not active"
-+#, python-brace-format
- msgid "No active matches for argument '{0}' in module '{1}:{2}'"
--msgstr "モジュール '{1}:{2}' の引数 '{0}' に一致するものはすべて非アクティブです"
-+msgstr "モジュール '{1}:{2}' の引数 '{0}' には、アクティブな一致がありません"
- 
- #: dnf/module/module_base.py:228
--#, fuzzy, python-brace-format
--#| msgid "Default profile {} not available in module {}:{}"
-+#, python-brace-format
- msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'"
--msgstr "デフォルトのプロファイル {} はモジュール {}:{} で利用不可です"
-+msgstr ""
-+"インストールされたプロファイル '{0}' は、モジュール '{1}' ストリーム '{2}' で"
-+"は利用できません"
- 
- #: dnf/module/module_base.py:267
- msgid "No packages available to distrosync for package name '{}'"
--msgstr ""
-+msgstr "パッケージ名 '{}' 向けに distrosync するパッケージはありません"
- 
- #: dnf/module/module_base.py:310 dnf/module/module_base.py:461
- #: dnf/module/module_base.py:486 dnf/module/module_base.py:505
- #: dnf/module/module_base.py:552 dnf/module/module_base.py:611
--#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
-+#: dnf/module/module_base.py:680 dnf/module/module_base.py:843
- msgid "Unable to resolve argument {}"
- msgstr "引数 {} を解決できません"
- 
- #: dnf/module/module_base.py:321
- #, python-brace-format
- msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
--msgstr "フェイルセーフレポジトリー {1} からのモジュール '{0}' アップグレードは許可されていません"
-+msgstr ""
-+"フェイルセーフレポジトリー {1} からのモジュール '{0}' アップグレードは許可さ"
-+"れていません"
- 
- #: dnf/module/module_base.py:340 dnf/module/module_base.py:368
- msgid "Unable to match profile in argument {}"
-@@ -3894,22 +3996,25 @@ 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}' と一致しますが、有効化されている、あるいはデフォルトのストリーム"
-+"はありません"
- 
- #: 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:841
-+#: dnf/module/module_base.py:844
- msgid "No match for package {}"
- msgstr "パッケージ {} に一致するものはありません"
- 
-@@ -3922,12 +4027,12 @@ msgstr "%s は空のファイルです"
- #: dnf/persistor.py:90
- #, python-format
- msgid "Failed to load expired repos cache: %s"
--msgstr ""
-+msgstr "期限切れのリポジトリーキャッシュのロードに失敗しました: %s"
- 
- #: dnf/persistor.py:98
- #, python-format
- msgid "Failed to store expired repos cache: %s"
--msgstr ""
-+msgstr "期限切れのリポジトリーキャッシュの保存に失敗しました: %s"
- 
- #: dnf/persistor.py:105
- msgid "Failed storing last makecache time."
-@@ -3970,7 +4075,7 @@ msgid "Already downloaded"
- msgstr "ダウンロード済み"
- 
- #. pinging mirrors, this might take a while
--#: dnf/repo.py:347
-+#: dnf/repo.py:346
- #, python-format
- msgid "determining the fastest mirror (%s hosts).. "
- msgstr "最速のミラーを確定しています (%s hosts).. "
-@@ -3988,13 +4093,21 @@ msgstr "%s から %s repo を追加しました"
- #: dnf/rpm/miscutils.py:32
- #, python-format
- msgid "Using rpmkeys executable at %s to verify signatures"
--msgstr ""
-+msgstr "%s で rpmkeys 実行可能ファイルを使用して、署名を検証します"
- 
- #: dnf/rpm/miscutils.py:66
- msgid "Cannot find rpmkeys executable to verify signatures."
--msgstr ""
-+msgstr "署名を検証する rpmkeys 実行ファイルが見つかりません。"
- 
--#: dnf/rpm/transaction.py:119
-+#: dnf/rpm/transaction.py:70
-+msgid "The openDB() function connot open rpm database."
-+msgstr "openDB() 関数は rpm データベースを開けません。"
-+
-+#: dnf/rpm/transaction.py:75
-+msgid "The dbCookie() function did not return cookie of rpm database."
-+msgstr "dbCookie() 関数は rpm データベースのクッキーを返しませんでした。"
-+
-+#: dnf/rpm/transaction.py:135
- msgid "Errors occurred during test transaction."
- msgstr "テストトランザクション中にエラーが発生しました。"
- 
-@@ -4003,6 +4116,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 コマンドではサポートされていません"
- 
- #. TRANSLATORS: This is for a single package currently being downgraded.
- #: dnf/transaction.py:80
-@@ -4056,22 +4171,22 @@ msgid ""
- "The following problems occurred while replaying the transaction from file "
- "\"{filename}\":"
- msgstr ""
-+"ファイル \"{filename}\" からのトランザクションの再生中に以下の問題が発生しま"
-+"した:"
- 
- #: dnf/transaction_sr.py:68
--#, fuzzy
--#| msgid "Errors occurred during transaction."
- msgid "The following problems occurred while running a transaction:"
--msgstr "トランザクション中にエラーが発生しました。"
-+msgstr "トランザクションの実行中に以下の問題が発生しました:"
- 
- #: dnf/transaction_sr.py:89
- #, python-brace-format
- msgid "Invalid major version \"{major}\", number expected."
--msgstr ""
-+msgstr "無効なメジャーバージョン \"{major}\"。数字が必要です。"
- 
- #: dnf/transaction_sr.py:97
- #, python-brace-format
- msgid "Invalid minor version \"{minor}\", number expected."
--msgstr ""
-+msgstr "無効なマイナーバージョン \"{minor}\"。数字が必要です。"
- 
- #: dnf/transaction_sr.py:103
- #, python-brace-format
-@@ -4079,47 +4194,51 @@ msgid ""
- "Incompatible major version \"{major}\", supported major version is "
- "\"{major_supp}\"."
- msgstr ""
-+"互換性のないメジャーバージョン \"{major}\"。サポートされているメジャーバー"
-+"ジョンは \"{major_supp}\" です。"
- 
- #: dnf/transaction_sr.py:224
- msgid ""
- "Conflicting TransactionReplay arguments have been specified: filename, data"
--msgstr ""
-+msgstr "競合する TransactionReplay 引数が指定されています。filename, data"
- 
- #: dnf/transaction_sr.py:265
- #, python-brace-format
- msgid "Unexpected type of \"{id}\", {exp} expected."
--msgstr ""
-+msgstr "予期しない {id}\" のタイプ。{exp} が必要です。"
- 
- #: dnf/transaction_sr.py:271
- #, python-brace-format
- msgid "Missing key \"{key}\"."
--msgstr ""
-+msgstr "\"{key}\" キーがありません。"
- 
- #: dnf/transaction_sr.py:285
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an rpm."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" が rpm にありません。"
- 
- #: dnf/transaction_sr.py:289
- #, python-brace-format
--msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
--msgstr ""
-+msgid ""
-+"Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
-+msgstr "rpm nevra \"{nevra}\" の予期しないパッケージ理由 \"{reason}\" の値。"
- 
- #: dnf/transaction_sr.py:297
- #, python-brace-format
- msgid "Cannot parse NEVRA for package \"{nevra}\"."
--msgstr ""
-+msgstr "パッケージ \"{nevra}\" の NEVRA を解析できません。"
- 
- #: dnf/transaction_sr.py:321
- #, python-brace-format
- msgid "Cannot find rpm nevra \"{nevra}\"."
--msgstr ""
-+msgstr "rpm nevra \"{nevra}\" を見つけることはできません。"
- 
- #: dnf/transaction_sr.py:336
--#, fuzzy, python-brace-format
--#| msgid "Package %s is already installed."
-+#, python-brace-format
- msgid "Package \"{na}\" is already installed for action \"{action}\"."
--msgstr "パッケージ %s は既にインストールされています。"
-+msgstr ""
-+"パッケージ \"{na}\" は、アクション \"{action}\" 用に既にインストールされてい"
-+"ます。"
- 
- #: dnf/transaction_sr.py:345
- #, python-brace-format
-@@ -4127,39 +4246,42 @@ msgid ""
- "Package nevra \"{nevra}\" not available in repositories for action "
- "\"{action}\"."
- 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}\" インストールされて"
-+"いません。"
- 
- #: 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
--#, fuzzy, python-format
--#| msgid "Module or Group '%s' is not available."
-+#, python-format
- msgid "Group id '%s' is not available."
--msgstr "モジュールまたはグループ '%s' は利用不可です。"
-+msgstr "グループ id '%s' は利用できません。"
- 
- #: dnf/transaction_sr.py:398
- #, python-brace-format
- msgid "Missing object key \"{key}\" in groups.packages."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" が groups.packages に含まれません。"
- 
- #: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421
--#, fuzzy, python-format
--#| msgid "Module or Group '%s' is not installed."
-+#, python-format
- msgid "Group id '%s' is not installed."
--msgstr "モジュールまたはグループ '%s' がインストールされていません。"
-+msgstr "グループ id '%s' がインストールされていません。"
- 
- #: dnf/transaction_sr.py:432
--#, fuzzy, python-format
--#| msgid "Environment '%s' is not available."
-+#, python-format
- msgid "Environment id '%s' is not available."
--msgstr "環境 '%s' は利用不可です。"
-+msgstr "環境 id '%s' は利用できません。"
- 
- #: dnf/transaction_sr.py:456
- #, python-brace-format
-@@ -4167,38 +4289,45 @@ msgid ""
- "Invalid value \"{group_type}\" of environments.groups.group_type, only "
- "\"mandatory\" or \"optional\" is supported."
- msgstr ""
-+"environments.groups.group_type の無効な値 \"{group_type}\"。\"mandatory\" ま"
-+"たは \"optional\" のみに対応しています。"
- 
- #: dnf/transaction_sr.py:464
- #, python-brace-format
- msgid "Missing object key \"{key}\" in environments.groups."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" が environments.groups に含まれません。"
- 
- #: dnf/transaction_sr.py:542
- #, python-brace-format
- msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
- msgstr ""
-+"グループ \"{group}\" の グループアクション \"{action}\" の予期しない値。"
- 
- #: dnf/transaction_sr.py:547
- #, python-brace-format
- msgid "Missing object key \"{key}\" in a group."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" がグループ内にありません。"
- 
- #: dnf/transaction_sr.py:571
- #, python-brace-format
--msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
--msgstr ""
-+msgid ""
-+"Unexpected value of environment action \"{action}\" for environment "
-+"\"{env}\"."
-+msgstr "環境 \"{env}\" の環境アクション \"{action}\" の予期しない値。"
- 
- #: dnf/transaction_sr.py:576
- #, python-brace-format
- msgid "Missing object key \"{key}\" in an environment."
--msgstr ""
-+msgstr "オブジェクトキー \"{key}\" が環境にありません。"
- 
- #: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
--"Package nevra \"{nevra}\", which is not present in the transaction file, was"
--" pulled into the transaction."
-+"Package nevra \"{nevra}\", which is not present in the transaction file, was "
-+"pulled into the transaction."
- msgstr ""
-+"トランザクションファイルに存在しないパッケージ nevra \"{nevra}\" がトランザク"
-+"ションにプルされていました。"
- 
- # translation auto-copied from project jbpm-designer, version 6.0.1, document
- # org.jbpm/jbpm-designer-
-@@ -4241,6 +4370,16 @@ msgstr "失敗しました"
- msgid "<name-unset>"
- msgstr "<name-unset>"
- 
-+#~ 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"
- 
-@@ -4266,5 +4405,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 6effd129..330b2b6d 100644
---- a/po/ko.po
-+++ b/po/ko.po
-@@ -2,20 +2,22 @@
- # Eun-Ju Kim <eukim@redhat.com>, 2016. #zanata
- # Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2020.
- # simmon <simmon@nplob.com>, 2021.
-+# Kim InSoo <simmon@nplob.com>, 2022.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2021-06-13 09:18-0400\n"
--"PO-Revision-Date: 2021-06-07 17:15+0000\n"
--"Last-Translator: simmon <simmon@nplob.com>\n"
--"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/dnf-master/ko/>\n"
-+"POT-Creation-Date: 2022-02-28 11:37+0100\n"
-+"PO-Revision-Date: 2022-03-02 04:16+0000\n"
-+"Last-Translator: Kim InSoo <simmon@nplob.com>\n"
-+"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/"
-+"dnf-rhel-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.6.2\n"
-+"X-Generator: Weblate 4.11\n"
- 
- #: dnf/automatic/emitter.py:32
- #, python-format
-@@ -109,7 +111,8 @@ msgstr "저장소 '{}'의 적재하기가 실패했습니다"
- 
- #: dnf/base.py:327
- msgid "Metadata timer caching disabled when running on metered connection."
--msgstr "데이터 통신 연결을 사용 할 때에 메타 자료 타이머 캐싱을 비활성화합니다."
-+msgstr ""
-+"데이터 통신 연결을 사용 할 때에 메타 자료 타이머 캐싱을 비활성화합니다."
- 
- #: dnf/base.py:332
- msgid "Metadata timer caching disabled when running on a battery."
-@@ -166,7 +169,7 @@ msgstr "저장소를 무시합니다: %s"
- #: dnf/base.py:419
- #, python-format
- msgid "Last metadata expiration check: %s ago on %s."
--msgstr "마지막 메타자료 만료 확인: %s 이전에 %s."
-+msgstr "마지막 메타자료 만료확인 %s 이전인: %s."
- 
- #: dnf/base.py:512
- msgid ""
-@@ -189,154 +192,155 @@ msgstr "설정 파일에서 tsflag 사용이 잘못되었습니다: %s"
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr "리포지토리의 그룹 파일을 추가하지 못했습니다. %s - %s"
- 
--#: dnf/base.py:904
-+#: dnf/base.py:922
- msgid "Running transaction check"
- msgstr "연결 확인 실행 중"
- 
--#: dnf/base.py:912
-+#: dnf/base.py:930
- msgid "Error: transaction check vs depsolve:"
--msgstr "오류 : 연결 확인 및 종속성 해결 오류:"
-+msgstr "오류: 연결 확인 및 종속성 해결 오류:"
- 
--#: dnf/base.py:918
-+#: dnf/base.py:936
- msgid "Transaction check succeeded."
- msgstr "연결 확인에 성공했습니다."
- 
--#: dnf/base.py:921
-+#: dnf/base.py:939
- msgid "Running transaction test"
- msgstr "연결 시험 실행 중"
- 
--#: dnf/base.py:931 dnf/base.py:1082
-+#: dnf/base.py:949 dnf/base.py:1100
- msgid "RPM: {}"
- msgstr "RPM: {}"
- 
--#: dnf/base.py:932
-+#: dnf/base.py:950
- msgid "Transaction test error:"
- msgstr "연결 시험 오류:"
- 
--#: dnf/base.py:943
-+#: dnf/base.py:961
- msgid "Transaction test succeeded."
- msgstr "연결 시험에 성공했습니다."
- 
--#: dnf/base.py:964
-+#: dnf/base.py:982
- msgid "Running transaction"
- msgstr "연결 실행 중"
- 
--#: dnf/base.py:1001
-+#: dnf/base.py:1019
- msgid "Disk Requirements:"
- msgstr "디스크 요구 사항 :"
- 
--#: dnf/base.py:1004
-+#: dnf/base.py:1022
- #, 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:1011
-+#: dnf/base.py:1029
- msgid "Error Summary"
- msgstr "오류 요약"
- 
--#: dnf/base.py:1037
-+#: dnf/base.py:1055
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDB는 {prog} 외부에서 변경되었습니다."
- 
--#: dnf/base.py:1083 dnf/base.py:1091
-+#: dnf/base.py:1101 dnf/base.py:1109
- msgid "Could not run transaction."
- msgstr "연결를 실행 할 수 없습니다."
- 
--#: dnf/base.py:1086
-+#: dnf/base.py:1104
- msgid "Transaction couldn't start:"
- msgstr "연결을 시작 할 수 없습니다 :"
- 
--#: dnf/base.py:1100
-+#: dnf/base.py:1118
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr "%s 연결 파일을 삭제하지 못했습니다"
- 
--#: dnf/base.py:1182
-+#: dnf/base.py:1200
- msgid "Some packages were not downloaded. Retrying."
--msgstr "일부 꾸러미가 내려받기되지 않았습니다. 다시 시도 중입니다."
-+msgstr "일부 꾸러미를 내려받지 못했습니다. 다시 시도합니다."
- 
--#: dnf/base.py:1212
-+#: dnf/base.py:1230
- #, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
--msgstr "델타 RPM이 %.1f MB의 최신화를 %.1f MB로 줄였습니다. (%.1%% 절약됨)"
-+msgstr "델타 RPM은 %.1f MB의 최신화를 %.1f MB으로 줄였습니다.(%.1f%% 절약됨)"
- 
--#: dnf/base.py:1216
-+#: dnf/base.py:1234
- #, 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 "Delta RPM은 %.1f MB의 최신화를 %.1f MB로 늘리는데 실패했습니다.(%.1f%% "
-+"낭비됨)"
- 
--#: dnf/base.py:1258
-+#: dnf/base.py:1276
- msgid "Cannot add local packages, because transaction job already exists"
- msgstr "연결 작업이 이미 존재하므로 로컬 꾸러미를 추가할 수 없습니다"
- 
--#: dnf/base.py:1272
-+#: dnf/base.py:1290
- msgid "Could not open: {}"
- msgstr "열 수 없음 : {}"
- 
--#: dnf/base.py:1310
-+#: dnf/base.py:1328
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr "%s의 공개 키는 설치되어 있지 않습니다"
- 
--#: dnf/base.py:1314
-+#: dnf/base.py:1332
- #, python-format
- msgid "Problem opening package %s"
- msgstr "%s 꾸러미를 여는 중에 문제가 발생했습니다"
- 
--#: dnf/base.py:1322
-+#: dnf/base.py:1340
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr "%s의 공개 키는 신뢰 할 수 없습니다"
- 
--#: dnf/base.py:1326
-+#: dnf/base.py:1344
- #, python-format
- msgid "Package %s is not signed"
- msgstr "%s 꾸러미가 서명되지 않았습니다"
- 
--#: dnf/base.py:1356
-+#: dnf/base.py:1374
- #, python-format
- msgid "Cannot remove %s"
- msgstr "%s를 삭제 할 수 없습니다"
- 
--#: dnf/base.py:1360
-+#: dnf/base.py:1378
- #, python-format
- msgid "%s removed"
- msgstr "%s가 삭제되었습니다"
- 
--#: dnf/base.py:1640
-+#: dnf/base.py:1658
- msgid "No match for group package \"{}\""
- msgstr "그룹 꾸러미 \"{}\"에 일치하는 항목이 없습니다"
- 
--#: dnf/base.py:1726
-+#: dnf/base.py:1740
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr "'%s' 그룹에서 꾸러미 추가: %s"
- 
--#: dnf/base.py:1749 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/base.py:1763 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:1767
-+#: dnf/base.py:1781
- msgid "No groups marked for removal."
- msgstr "제거할 꾸러미 그룹이 없습니다."
- 
--#: dnf/base.py:1801
-+#: dnf/base.py:1815
- msgid "No group marked for upgrade."
- msgstr "향상을 위해 표시된 그룹이 없습니다."
- 
--#: dnf/base.py:2015
-+#: dnf/base.py:2029
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
- msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 하향설치 할 수 없습니다."
- 
--#: dnf/base.py:2017 dnf/base.py:2036 dnf/base.py:2049 dnf/base.py:2076
--#: dnf/base.py:2129 dnf/base.py:2137 dnf/base.py:2271 dnf/cli/cli.py:417
-+#: dnf/base.py:2031 dnf/base.py:2050 dnf/base.py:2063 dnf/base.py:2090
-+#: dnf/base.py:2143 dnf/base.py:2151 dnf/base.py:2285 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
-@@ -346,188 +350,193 @@ msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 하향설치 할 
- msgid "No match for argument: %s"
- msgstr "인수가 일치하지 않습니다: %s"
- 
--#: dnf/base.py:2024
-+#: dnf/base.py:2038
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
--msgstr "%s 꾸러미의 하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
-+msgstr ""
-+"%s 꾸러미의 하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
- 
--#: dnf/base.py:2047
-+#: dnf/base.py:2061
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
--msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 다시 설치할 수 없습니다."
-+msgstr "꾸러미 %s가 설치되지 않아서, 다시 설치 할 수 없습니다."
- 
--#: dnf/base.py:2062
-+#: dnf/base.py:2076
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
- msgstr "%s 파일은 소스 꾸러미이며 최신화 할 수 없습니다. 무시합니다."
- 
--#: dnf/base.py:2073
-+#: dnf/base.py:2087
- #, python-format
- msgid "Package %s not installed, cannot update it."
- msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 최신화 할 수 없습니다."
- 
--#: dnf/base.py:2083
-+#: dnf/base.py:2097
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
- msgstr "%s 이상의 버전이 이미 설치되어 있으므로 최신화 할 수 없습니다."
- 
--#: dnf/base.py:2126 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
- msgstr "%s 꾸러미는 사용할 수는 있지만 설치되어 있지 않습니다."
- 
--#: dnf/base.py:2132
-+#: dnf/base.py:2146
- #, python-format
- msgid "Package %s available, but installed for different architecture."
- msgstr "%s 꾸러미는 사용 가능하지만 다른 구조용으로 설치되어 있습니다."
- 
--#: dnf/base.py:2157
-+#: dnf/base.py:2171
- #, python-format
- msgid "No package %s installed."
- msgstr "%s 꾸러미는 설치되어 있지 않습니다."
- 
--#: dnf/base.py:2175 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2189 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:2190 dnf/cli/commands/__init__.py:676
-+#: dnf/base.py:2204 dnf/cli/commands/__init__.py:676
- #: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
- msgstr "제거 대상 꾸러미가 없습니다."
- 
--#: dnf/base.py:2278 dnf/cli/cli.py:428
-+#: dnf/base.py:2292 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
- msgstr "%s 인수에 대한 꾸러미를 사용할 수 있지만 설치되어 있지 않습니다."
- 
--#: dnf/base.py:2283
-+#: dnf/base.py:2297
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
--msgstr "%s 꾸러미의 최하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
-+msgstr ""
-+"%s 꾸러미의 최하위 버전이 이미 설치되어 있으므로 다운그레이드 할 수 없습니다."
- 
--#: dnf/base.py:2383
-+#: dnf/base.py:2397
- msgid "No security updates needed, but {} update available"
- msgstr "보안 최신화가 필요하지 않지만, {} 최신화가 가능합니다"
- 
--#: dnf/base.py:2385
-+#: dnf/base.py:2399
- msgid "No security updates needed, but {} updates available"
- msgstr "보안 최신화는 필요하지 않지만 {} 최신화는 가능합니다"
- 
--#: dnf/base.py:2389
-+#: dnf/base.py:2403
- msgid "No security updates needed for \"{}\", but {} update available"
- msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다"
- 
--#: dnf/base.py:2391
-+#: dnf/base.py:2405
- msgid "No security updates needed for \"{}\", but {} updates available"
- msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다"
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2412
-+#: dnf/base.py:2426
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
- msgstr "명령줄 꾸러미: %s 대한 키를 검색 할 수 없습니다"
- 
--#: dnf/base.py:2420
-+#: dnf/base.py:2434
- #, python-format
- msgid ". Failing package is: %s"
- msgstr "실패한 꾸러미는 다음과 같습니다. %s"
- 
--#: dnf/base.py:2421
-+#: dnf/base.py:2435
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "GPG 키는 다음과 같이 설정되어 있습니다. %s"
- 
--#: dnf/base.py:2433
-+#: dnf/base.py:2447
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr "%s (0x%s)의 GPG 키가 이미 설치되어 있습니다"
- 
--#: dnf/base.py:2469
-+#: dnf/base.py:2483
- msgid "The key has been approved."
- msgstr "키가 승인되었습니다."
- 
--#: dnf/base.py:2472
-+#: dnf/base.py:2486
- msgid "The key has been rejected."
- msgstr "키가 거부되었습니다."
- 
--#: dnf/base.py:2505
-+#: dnf/base.py:2519
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "키 가져 오기에 실패했습니다 (코드 %d)"
- 
--#: dnf/base.py:2507
-+#: dnf/base.py:2521
- msgid "Key imported successfully"
- msgstr "키 가져오기에 성공했습니다"
- 
--#: dnf/base.py:2511
-+#: dnf/base.py:2525
- msgid "Didn't install any keys"
- msgstr "키를 하나도 설치하지 못했습니다"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2528
- #, 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:2525
-+#: dnf/base.py:2539
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr "가져온 키에 문제가 있습니다. 잘못된 키입니까?"
- 
--#: dnf/base.py:2578
-+#: dnf/base.py:2592
- msgid "  * Maybe you meant: {}"
- msgstr "  * 다음을 의미 할 수도 있습니다: {}"
- 
--#: dnf/base.py:2610
-+#: dnf/base.py:2624
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
- msgstr "로컬 저장소 \"{}\"의 \"{}\"꾸러미에 잘못된 체크섬이 있습니다"
- 
--#: dnf/base.py:2613
-+#: dnf/base.py:2627
- msgid "Some packages from local repository have incorrect checksum"
- msgstr "로컬 저장소의 일부 꾸러미에 잘못된 체크섬이 있습니다"
- 
--#: dnf/base.py:2616
-+#: dnf/base.py:2630
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
- msgstr "저장소 \"{}\"의 꾸러미 \"{}\"에 잘못된 체크섬이 있습니다"
- 
--#: dnf/base.py:2619
-+#: dnf/base.py:2633
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
--msgstr "일부 꾸러미에는 유효하지 않은 캐쉬가 있지만 \"--cacheonly\"옵션으로 인해 내려받기 할 수 없습니다"
-+msgstr ""
-+"일부 꾸러미에는 유효하지 않은 캐쉬가 있지만 \"--cacheonly\"옵션으로 인해 내려"
-+"받기 할 수 없습니다"
- 
--#: dnf/base.py:2637 dnf/base.py:2657
-+#: dnf/base.py:2651 dnf/base.py:2671
- msgid "No match for argument"
- msgstr "일치하는 인수가 없습니다"
- 
--#: dnf/base.py:2645 dnf/base.py:2665
-+#: dnf/base.py:2659 dnf/base.py:2679
- msgid "All matches were filtered out by exclude filtering for argument"
- msgstr "모든 일치 항목이 인수의 제외 필터로 필터링되었습니다"
- 
--#: dnf/base.py:2647
-+#: dnf/base.py:2661
- msgid "All matches were filtered out by modular filtering for argument"
- msgstr "모든 일치 항목이 인수의 모듈식 필터로 필터링되었습니다"
- 
--#: dnf/base.py:2663
-+#: dnf/base.py:2677
- msgid "All matches were installed from a different repository for argument"
- msgstr "모든 일치 항목이 인수의 다른 리포지토리에서 설치되었습니다"
- 
--#: dnf/base.py:2710
-+#: dnf/base.py:2724
- #, python-format
- msgid "Package %s is already installed."
--msgstr "꾸러미 %s 가 이미 설치되어 있습니다."
-+msgstr "꾸러미 %s가 이미 설치되어 있습니다."
- 
- #: dnf/cli/aliases.py:96
- #, python-format
- msgid "Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s"
- msgstr "예상치 못한 환경 변수 값 : DNF_DISABLE_ALIASES =%s"
- 
--#: dnf/cli/aliases.py:105 dnf/conf/config.py:457
-+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475
- #, python-format
- msgid "Parsing file \"%s\" failed: %s"
- msgstr "\"%s\" 파일의 구문 분석에 실패했습니다 : %s"
-@@ -572,11 +581,17 @@ 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
-@@ -596,7 +611,7 @@ msgstr "작업이 중지됩니다."
- 
- #: dnf/cli/cli.py:226
- msgid "Downloading Packages:"
--msgstr "꾸러미 내려받기중:"
-+msgstr "꾸러미 내려받기 중:"
- 
- #: dnf/cli/cli.py:232
- msgid "Error downloading packages:"
-@@ -680,9 +695,11 @@ msgstr "일치하는 저장소가 없습니다 : %s"
- 
- #: dnf/cli/cli.py:719
- msgid ""
--"This command has to be run with superuser privileges (under the root user on"
--" most systems)."
--msgstr "이 명령은 슈퍼유저 권한으로 실행해야합니다 (대부분의 시스템에서 root 사용자로 실행)."
-+"This command has to be run with superuser privileges (under the root user on "
-+"most systems)."
-+msgstr ""
-+"이 명령은 슈퍼유저 권한으로 실행해야합니다 (대부분의 시스템에서 root 사용자"
-+"로 실행)."
- 
- #: dnf/cli/cli.py:749
- #, python-format
-@@ -701,31 +718,32 @@ 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:814
- msgid ""
- "--destdir or --downloaddir must be used with --downloadonly or download or "
- "system-upgrade command."
- msgstr ""
--"--destdir 또는 --downloaddir은 --downloadonly 또는 download 또는 system-upgrade 명령과"
--" 함께 사용해야합니다."
-+"--destdir 또는 --downloaddir은 --downloadonly 또는 download 또는 system-"
-+"upgrade 명령과 함께 사용해야합니다."
- 
- #: dnf/cli/cli.py:820
- msgid ""
- "--enable, --set-enabled and --disable, --set-disabled must be used with "
- "config-manager command."
- msgstr ""
--"--enable, --set-enabled 및 --disable, --set-disabled는 config-manager 명령과 함께 "
--"사용해야합니다."
-+"--enable, --set-enabled 및 --disable, --set-disabled는 config-manager 명령과 "
-+"함께 사용해야합니다."
- 
- #: dnf/cli/cli.py:902
- msgid ""
- "Warning: Enforcing GPG signature check globally as per active RPM security "
- "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
- msgstr ""
--"경고: 활성화된 RPM 보안 정책에 따라 GPG 서명 검사를 전체적으로 시행합니다 (이 메시지를 제거하는 방법은 dnf.conf (5)의"
--" 'gpgcheck' 참조)"
-+"경고: 활성화된 RPM 보안 정책에 따라 GPG 서명 검사를 전체적으로 시행합니다 "
-+"(이 메시지를 제거하는 방법은 dnf.conf (5)의 'gpgcheck' 참조)"
- 
- #: dnf/cli/cli.py:922
- msgid "Config file \"{}\" does not exist"
-@@ -735,7 +753,9 @@ msgstr "설정 파일 \"{}\" 이 존재하지 않습니다"
- msgid ""
- "Unable to detect release version (use '--releasever' to specify release "
- "version)"
--msgstr "출시 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 출시 버전을 지정하십시오)"
-+msgstr ""
-+"출시 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 출시 버전을 지정하십"
-+"시오)"
- 
- #: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471
- msgid "argument {}: not allowed with argument {}"
-@@ -770,13 +790,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"
-@@ -790,13 +812,13 @@ msgid ""
- msgstr ""
- "GPG 키를 통해 꾸러미 검사를 활성화했습니다. 이는 적절한 작업 실행입니다.\n"
- "그러나 GPG 공개 키가 설치되어 있지 않습니다.\n"
--"설치하려는 꾸러미의 키를 내려받기하여 설치해야 합니다.\n"
-+"설치하려는 꾸러미의 키를 내려 받기하여 설치해야 합니다.\n"
- "다음 명령으로 이 작업을 수행할 수 있습니다:\n"
- "rpm --import public.gpg.key\n"
- "\n"
- "\n"
--"또는 저장소 섹션의 'gpgkey' 옵션을 사용하여\n"
--"저장소에 사용할 키의 URL을 지정할 수 있으며 {prog}가\n"
-+"또는 저장소 부분의 'gpgkey' 옵션을 사용하여\n"
-+"저장소에 사용할 키의 URL을 지정 할 수 있으며 {prog}가\n"
- "이를 설치합니다\n"
- "\n"
- "자세한 내용은 배포 또는 꾸러미 공급 업체에 문의하십시오."
-@@ -1116,7 +1138,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"
-@@ -1222,9 +1246,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 ""
-@@ -1234,9 +1259,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 ""
-@@ -1266,16 +1293,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"
-@@ -1415,9 +1446,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"
-@@ -1665,7 +1698,7 @@ msgstr "Repo-filename : "
- #. 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
-@@ -1674,7 +1707,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: {}"
-@@ -1688,7 +1721,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)"
-@@ -1710,7 +1744,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"
-@@ -1752,7 +1788,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,7 +1812,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 개의 최신 꾸러미를 표시합니다"
-+msgstr ""
-+"지정된 name.arch (또는 N이 음수인 경우 가장 오래된 꾸러미)에 대한 N 개의 최"
-+"신 꾸러미를 표시합니다"
- 
- #: dnf/cli/commands/repoquery.py:177
- msgid "list also packages of inactive module streams"
-@@ -1799,11 +1839,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"
-@@ -1813,19 +1853,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"
-@@ -1855,7 +1901,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."
-@@ -1880,8 +1928,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."
-@@ -1930,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 ""
--"옵션 '--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"
-@@ -1959,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 thepackages."
- msgstr ""
- "유효한 매개 변수를 지정하지 않았습니다.\n"
--"사용법: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"사용법: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
-+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
-+"tree]\n"
- "\n"
- "설명:\n"
- "  지정된 꾸러미의 경우 꾸러미 트리를 출력하십시오."
-@@ -2005,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 " & "
-@@ -2016,14 +2069,14 @@ msgstr " & "
- #: dnf/cli/commands/search.py:80
- #, python-format
- msgid "%s Exactly Matched: %%s"
--msgstr "%s 정확히 일치하는 항목: %%s"
-+msgstr "%s과 정확히 일치하는 항목: %%s"
- 
- #. TRANSLATORS: %s  - translated package attributes,
- #. %%s - found keys (in listed attributes)
- #: dnf/cli/commands/search.py:84
- #, python-format
- msgid "%s Matched: %%s"
--msgstr "%s 일치하는 항목: %%s"
-+msgstr "%s과 일치하는 항목: %%s"
- 
- #: dnf/cli/commands/search.py:134
- msgid "No matches found."
-@@ -2371,7 +2424,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."
-@@ -2383,7 +2438,7 @@ 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"
-@@ -2475,7 +2530,7 @@ 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"
-@@ -2495,7 +2550,7 @@ msgstr "연결에서 사용 가능한 최상의 꾸러미 버전을 사용해보
- 
- #: dnf/cli/option_parser.py:223
- msgid "do not limit the transaction to the best candidate"
--msgstr "연결를 최상의 선택 옵션으로 제한하지 마십시오"
-+msgstr "연결을 최상의 선택 옵션으로 제한하지 마십시오"
- 
- #: dnf/cli/option_parser.py:226
- msgid "run entirely from system cache, don't update cache"
-@@ -2527,8 +2582,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"
-@@ -2546,19 +2601,25 @@ msgstr "모든 질문에 대해 \"아니오\"(no)로 자동 응답합니다"
- msgid ""
- "Enable additional repositories. List option. Supports globs, can be "
- "specified multiple times."
--msgstr "추가 리포지토리를 활성화하십시오. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정할 수 있습니다."
-+msgstr ""
-+"추가 저장소를 활성화하십시오. 옵션이 나열됩니다. glob를 지원하며 여러 번 지"
-+"정 할 수 있습니다."
- 
- #: dnf/cli/option_parser.py:266
- msgid ""
--"Disable repositories. List option. Supports globs, can be specified multiple"
--" times."
--msgstr "리포지토리를 비활성화합니다. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정할 수 있습니다."
-+"Disable repositories. List option. Supports globs, can be specified multiple "
-+"times."
-+msgstr ""
-+"저장소를 비활성화 합니다. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정 할 "
-+"수 있습니다."
- 
- #: dnf/cli/option_parser.py:270
- msgid ""
- "enable just specific repositories by an id or a glob, can be specified "
- "multiple times"
--msgstr "id 나 glob로 특정 리포지토리를 활성화할 수 있습니다. 여러 번 지정할 수 있습니다"
-+msgstr ""
-+"id 나 glob로 특정 리포지토리를 활성화할 수 있습니다. 여러 번 지정할 수 있습니"
-+"다"
- 
- #: dnf/cli/option_parser.py:275
- msgid "enable repos with config-manager command (automatically saves)"
-@@ -2580,7 +2641,9 @@ msgstr "excludepkgs 비활성화"
- msgid ""
- "label and path to an additional repository to use (same path as in a "
- "baseurl), can be specified multiple times."
--msgstr "사용할 추가 리포지터리에 대한 레이블 및 경로 (baseurl과 동일한 경로)를 여러 번 지정할 수 있습니다."
-+msgstr ""
-+"사용 할 추가 레포지터리에 대한 이름표와 경로 (baseurl과 동일한 경로)를 여러 "
-+"번 지정와 할 수 있습니다."
- 
- #: dnf/cli/option_parser.py:297
- msgid "disable removal of dependencies that are no longer used"
-@@ -2739,19 +2802,19 @@ msgstr "소스"
- #: 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))
-@@ -2969,7 +3032,7 @@ msgstr "그룹 꾸러미 설치"
- #: dnf/cli/output.py:1051
- msgctxt "summary"
- msgid "Installing"
--msgstr "설치중"
-+msgstr "설치 중"
- 
- #. TRANSLATORS: This is for a list of packages to be upgraded.
- #: dnf/cli/output.py:1053
-@@ -2991,9 +3054,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 "삭제 중"
-@@ -3038,7 +3101,7 @@ msgstr "모듈 재설정"
- 
- #: dnf/cli/output.py:1142
- msgid "Installing Environment Groups"
--msgstr "환경 그룹 설치중"
-+msgstr "환경 그룹 설치 중"
- 
- #: dnf/cli/output.py:1149
- msgid "Upgrading Environment Groups"
-@@ -3066,8 +3129,8 @@ msgid ""
- "Skipping packages with conflicts:\n"
- "(add '%s' to command line to force their upgrade)"
- msgstr ""
--"충돌 꾸러미 건너 뛰기 :\n"
--"(최신화를 강제하려면 명령행에 '%s' 추가)"
-+"충돌 꾸러미 건너 뛰기:\n"
-+"(향상을 강제하려면 명령행에 '%s' 추가)"
- 
- #: dnf/cli/output.py:1203
- #, python-format
-@@ -3195,7 +3258,7 @@ msgstr "연결 ID 또는 꾸러미가 지정되지 않았습니다"
- 
- #: dnf/cli/output.py:1653
- msgid "Erased"
--msgstr "제거됨"
-+msgstr "제거되었습니다"
- 
- #: dnf/cli/output.py:1654 dnf/cli/output.py:1821 dnf/util.py:614
- msgid "Downgraded"
-@@ -3393,7 +3456,7 @@ msgstr ""
- 
- #: dnf/cli/utils.py:98
- msgid "Running"
--msgstr "실행중"
-+msgstr "실행 중"
- 
- #: dnf/cli/utils.py:99
- msgid "Sleeping"
-@@ -3440,10 +3503,6 @@ msgstr "    시작됨: %s - %s 전"
- msgid "    State  : %s"
- msgstr "    상태  : %s"
- 
--#: dnf/comps.py:104
--msgid "skipping."
--msgstr "건너 뛰기."
--
- #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
- #, python-format
- msgid "Module or Group '%s' is not installed."
-@@ -3492,13 +3551,17 @@ msgstr "'%s' 구문 분석 중 오류 발생: %s"
- #: dnf/conf/config.py:151
- #, python-format
- msgid "Invalid configuration value: %s=%s in %s; %s"
--msgstr "알 수없는 설정 값: %s; %s에서 %s=%s"
-+msgstr "잘못된 구성 값: %s=%s (%s; %s에서)"
-+
-+#: dnf/conf/config.py:194
-+msgid "Cannot set \"{}\" to \"{}\": {}"
-+msgstr "\"{}\"을 \"{}\" 으로 설정 할 수 없습니다: {}"
- 
--#: dnf/conf/config.py:226
-+#: dnf/conf/config.py:244
- msgid "Could not set cachedir: {}"
- msgstr "cachedir를 설정할 수 없습니다: {}"
- 
--#: dnf/conf/config.py:275
-+#: dnf/conf/config.py:293
- msgid ""
- "Configuration file URL \"{}\" could not be downloaded:\n"
- "  {}"
-@@ -3506,31 +3569,31 @@ msgstr ""
- "구성 파일 URL \"{}\"를 내려받기 할 수 없습니다:\n"
- "  {}"
- 
--#: dnf/conf/config.py:355 dnf/conf/config.py:391
-+#: dnf/conf/config.py:373 dnf/conf/config.py:409
- #, python-format
- msgid "Unknown configuration option: %s = %s"
- msgstr "알 수 없는 설정 옵션 : %s = %s"
- 
--#: dnf/conf/config.py:372
-+#: dnf/conf/config.py:390
- #, python-format
- msgid "Error parsing --setopt with key '%s', value '%s': %s"
- msgstr "키 ‘%s', 값 '%s'를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
- 
--#: dnf/conf/config.py:380
-+#: dnf/conf/config.py:398
- #, python-format
- msgid "Main config did not have a %s attr. before setopt"
- msgstr "기본 설정에는 setopt 이전에 %s attr이 없습니다"
- 
--#: dnf/conf/config.py:427 dnf/conf/config.py:445
-+#: dnf/conf/config.py:445 dnf/conf/config.py:463
- msgid "Incorrect or unknown \"{}\": {}"
- msgstr "잘못되었거나 알 수 없음 \"{}\": {}"
- 
--#: dnf/conf/config.py:501
-+#: dnf/conf/config.py:519
- #, python-format
- msgid "Error parsing --setopt with key '%s.%s', value '%s': %s"
- msgstr "키 %s.%s', 값 '%s'를 사용하여 --setopt 구문 분석 중 오류 발생: %s"
- 
--#: dnf/conf/config.py:504
-+#: dnf/conf/config.py:522
- #, python-format
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "Repo %s에 setopt 이전에 %s attr이 없습니다"
-@@ -3542,11 +3605,11 @@ 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: {}"
-@@ -3558,7 +3621,8 @@ msgstr "Repository '{}' : 구문 분석 설정 오류: {}"
- 
- #: dnf/conf/read.py:93
- msgid "Repository '{}' ({}) is missing name in configuration, using id."
--msgstr "Repository '{}' ({})의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
-+msgstr ""
-+"Repository '{}' ({})의 설정에 이름이 누락되어 있습니다. id를 사용하십시오."
- 
- #: dnf/conf/read.py:96
- msgid "Repository '{}' is missing name in configuration, using id."
-@@ -3580,11 +3644,11 @@ msgstr "repo %s: 0x%s 키를 가져왔습니다."
- 
- #: dnf/crypto.py:145
- msgid "Verified using DNS record with DNSSEC signature."
--msgstr "DNSSEC 서명과 함께 DNS 기록을 사용하여 확인되었습니다."
-+msgstr "DNSSEC 서명이 있는 DNS 레코드를 사용하여 확인됨."
- 
- #: dnf/crypto.py:147
- msgid "NOT verified using DNS record."
--msgstr "DNS 기록 사용은 검증되지 않았습니다."
-+msgstr "DNS 레코드를 사용하여 확인되지 않음."
- 
- #: dnf/crypto.py:184
- #, python-format
-@@ -3595,7 +3659,9 @@ msgstr "%s에서 암호화 하지 않은 %s를 위한 저장소 키 검색"
- msgid ""
- "No available modular metadata for modular package '{}', it cannot be "
- "installed on the system"
--msgstr "모듈 꾸러미 '{}'에 사용 가능한 메타 자료가 없으며 시스템에 설치 할 수 없습니다"
-+msgstr ""
-+"모듈 꾸러미 '{}'에 사용 가능한 메타 자료가 없으며 시스템에 설치 할 수 없습니"
-+"다"
- 
- #: dnf/db/group.py:353
- #, python-format
-@@ -3611,32 +3677,33 @@ msgstr "모듈 꾸러미에 사용 가능한 모듈 메타 자료가 없습니
- msgid "Will not install a source rpm package (%s)."
- msgstr "소스 RPM 꾸러미를 설치하지 않습니다 (%s)."
- 
--#: dnf/dnssec.py:168
-+#: 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:239
-+#: dnf/dnssec.py:243
- msgid "DNSSEC extension: Key for user "
- msgstr "DNSSEC 확장 : 사용자 키 "
- 
--#: dnf/dnssec.py:241
-+#: dnf/dnssec.py:245
- msgid "is valid."
- msgstr "유효합니다."
- 
--#: dnf/dnssec.py:243
-+#: dnf/dnssec.py:247
- msgid "has unknown status."
- msgstr "알 수 없는 상태입니다."
- 
--#: dnf/dnssec.py:251
-+#: dnf/dnssec.py:255
- msgid "DNSSEC extension: "
- msgstr "DNSSEC 확장: "
- 
--#: dnf/dnssec.py:283
-+#: dnf/dnssec.py:287
- msgid "Testing already imported keys for their validity."
- msgstr "유효성 검사를 위해 이미 가져온 키를 테스트 중입니다."
- 
--#: dnf/drpm.py:62 dnf/repo.py:268
-+#: dnf/drpm.py:62 dnf/repo.py:267
- #, python-format
- msgid "unsupported checksum type: %s"
- msgstr "지원되지 않는 검사 유형: %s"
-@@ -3680,7 +3747,7 @@ msgid "Modular dependency problem with Defaults:"
- msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "기본값의 모듈 종속성 문제 :"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:854
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:857
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "모듈 종속성 문제 :"
-@@ -3689,10 +3756,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 '{}'."
-@@ -3720,19 +3789,19 @@ msgstr "그런 모듈이 없습니다: {}"
- 
- #: dnf/module/exceptions.py:33
- msgid "No such stream: {}"
--msgstr "그런 스트림: {} 없습니다"
-+msgstr "그런 스트림이 없습니다: {}"
- 
- #: dnf/module/exceptions.py:39
- msgid "No enabled stream for module: {}"
--msgstr "모듈에 대한 스트림이 없습니다 : {}"
-+msgstr "모듈에 대한 활성화된 스트림이 없습니다: {}"
- 
- #: dnf/module/exceptions.py:46
- msgid "Cannot enable more streams from module '{}' at the same time"
--msgstr "동시에 모듈'{}'에서 더이상 스트림을 활성화 할 수 없습니다"
-+msgstr "동시에 모듈 '{}'에서 더 많은 스트림을 활성화 할 수 없습니다"
- 
- #: dnf/module/exceptions.py:52
- msgid "Different stream enabled for module: {}"
--msgstr "모듈: {} 을 위한 다른 스트림이 활성화되었습니다"
-+msgstr "모듈에 대해 활성화된 다른 스트림: {}"
- 
- #: dnf/module/exceptions.py:58
- msgid "No such profile: {}"
-@@ -3740,19 +3809,19 @@ msgstr "그런 프로파일이 없습니다: {}"
- 
- #: dnf/module/exceptions.py:64
- msgid "Specified profile not installed for {}"
--msgstr "{}을 위한 지정한 프로파일이 설치되어 있지 않습니다"
-+msgstr "{}를 위한 지정된 프로필이 설치되지 않았습니다"
- 
- #: dnf/module/exceptions.py:70
- msgid "No stream specified for '{}', please specify stream"
--msgstr "'{}'에 지정된 프로필이 없습니다. 프로필을 지정하십시오"
-+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 '{}'"
--msgstr "'{}' 위해 제거 할 프로파일이 없습니다"
-+msgstr "제거되는 프로파일이 없습니다('{}'를 위해 )"
- 
- #: dnf/module/module_base.py:35
- msgid ""
-@@ -3775,14 +3844,15 @@ msgstr ""
- "힌트 : [d] efault, [e] nabled, [x] disabled, [i] stalled, [a] ctive"
- 
- #: dnf/module/module_base.py:56 dnf/module/module_base.py:556
--#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:684
- msgid "Ignoring unnecessary profile: '{}/{}'"
- 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
-@@ -3792,7 +3862,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 {}"
-@@ -3812,7 +3883,7 @@ msgstr "{} 모듈에서 기본 프로필 {}을 (를) 사용할 수 없음 : {}"
- 
- #: dnf/module/module_base.py:144 dnf/module/module_base.py:247
- msgid "Installing module from Fail-Safe repository is not allowed"
--msgstr "Fail-Safe 리포지토리에서 모듈을 설치할 수 없습니다"
-+msgstr "실패-방지 저장소에서 설치된 모듈은 허용하지 않습니다"
- 
- #: dnf/module/module_base.py:196
- #, python-brace-format
-@@ -3831,7 +3902,7 @@ msgstr "꾸러미 이름 '{}'를 위하여 배포판에서 사용 할 수 있는
- #: dnf/module/module_base.py:310 dnf/module/module_base.py:461
- #: dnf/module/module_base.py:486 dnf/module/module_base.py:505
- #: dnf/module/module_base.py:552 dnf/module/module_base.py:611
--#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
-+#: dnf/module/module_base.py:680 dnf/module/module_base.py:843
- msgid "Unable to resolve argument {}"
- msgstr "인수 {}을 (를) 구문 분석할 수 없습니다"
- 
-@@ -3851,19 +3922,18 @@ 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}') of 모듈 '{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:841
-+#: dnf/module/module_base.py:844
- msgid "No match for package {}"
- msgstr "{} 꾸러미와 일치하지 않습니다"
- 
-@@ -3924,7 +3994,7 @@ msgid "Already downloaded"
- msgstr "이미 내려받음"
- 
- #. pinging mirrors, this might take a while
--#: dnf/repo.py:347
-+#: dnf/repo.py:346
- #, python-format
- msgid "determining the fastest mirror (%s hosts).. "
- msgstr "가장 빠른 미러 지정 (%s 호스트).. "
-@@ -3942,13 +4012,21 @@ msgstr "%s 에서 %s repo를 추가했습니다"
- #: dnf/rpm/miscutils.py:32
- #, python-format
- msgid "Using rpmkeys executable at %s to verify signatures"
--msgstr "%s에서 실행 가능한 rpmkey를 사용하여 서명 확인"
-+msgstr "%s에 실행 할 수 있는 rpmkey를 사용하여 서명을 확인합니다"
- 
- #: dnf/rpm/miscutils.py:66
- msgid "Cannot find rpmkeys executable to verify signatures."
--msgstr "서명 확인에서 실행 가능한 rpmkey를 찾을 수 없습니다."
-+msgstr "서명을 확인하기 위해 실행 할 수 있는 rpmkeys를 찾을 수 없습니다."
- 
--#: dnf/rpm/transaction.py:119
-+#: dnf/rpm/transaction.py:70
-+msgid "The openDB() function connot open rpm database."
-+msgstr "openDB() 함수는 rpm 데이타베이스를 열 수 없습니다."
-+
-+#: dnf/rpm/transaction.py:75
-+msgid "The dbCookie() function did not return cookie of rpm database."
-+msgstr "dbCookie() 함수는 rpm 데이타베이스의 쿠키를 반환 하지 않습니다."
-+
-+#: dnf/rpm/transaction.py:135
- msgid "Errors occurred during test transaction."
- msgstr "연결 시험 중에 오류가 발생했습니다."
- 
-@@ -3956,13 +4034,15 @@ 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
- msgctxt "currently"
- msgid "Downgrading"
--msgstr "하향설치중"
-+msgstr "하향 설치 중"
- 
- #: dnf/transaction.py:81 dnf/transaction.py:88 dnf/transaction.py:93
- #: dnf/transaction.py:95
-@@ -3973,7 +4053,7 @@ msgstr "정리"
- #: dnf/transaction.py:83
- msgctxt "currently"
- msgid "Installing"
--msgstr "설치중"
-+msgstr "설치 중"
- 
- #. TRANSLATORS: This is for a single package currently being reinstalled.
- #: dnf/transaction.py:87
-@@ -4030,7 +4110,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 ""
-@@ -4054,8 +4135,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
-@@ -4077,7 +4160,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
-@@ -4086,8 +4171,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
-@@ -4114,7 +4201,9 @@ msgstr "환경 id '%s'는 사용 할 수 없습니다."
- 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
- #, python-brace-format
-@@ -4133,7 +4222,9 @@ msgstr "그룹 안에 누락된 객체 키 \"{key}\"."
- 
- #: dnf/transaction_sr.py:571
- #, python-brace-format
--msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
-+msgid ""
-+"Unexpected value of environment action \"{action}\" for environment "
-+"\"{env}\"."
- msgstr "환경 \"{env}\"를 위해 예상하지 못한 환경 활동 \"{action}\"의 값."
- 
- #: dnf/transaction_sr.py:576
-@@ -4144,9 +4235,10 @@ msgstr "환경에 누락된 객체 키 \"{key}\"."
- #: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
--"Package nevra \"{nevra}\", which is not present in the transaction file, was"
--" pulled into the transaction."
--msgstr "꾸러미 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"
-@@ -4174,7 +4266,7 @@ msgstr "건너 뛰기됨"
- 
- #: dnf/util.py:621
- msgid "Removed"
--msgstr "제거됨"
-+msgstr "제거되었습니다"
- 
- #: dnf/util.py:624
- msgid "Failed"
-@@ -4185,10 +4277,14 @@ msgstr "실패하였습니다"
- msgid "<name-unset>"
- msgstr "<name-unset>"
- 
-+#~ msgid "skipping."
-+#~ msgstr "건너 뛰기."
-+
- #~ 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 dcde2037..65c5273b 100644
---- a/po/zh_CN.po
-+++ b/po/zh_CN.po
-@@ -21,25 +21,29 @@
- # 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.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2021-06-13 09:18-0400\n"
--"PO-Revision-Date: 2021-04-23 08:02+0000\n"
--"Last-Translator: Charles Lee <lchopn@gmail.com>\n"
--"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/dnf/dnf-master/zh_CN/>\n"
-+"POT-Creation-Date: 2022-02-28 11:37+0100\n"
-+"PO-Revision-Date: 2022-03-09 12:39+0000\n"
-+"Last-Translator: Transtats <suanand@redhat.com>\n"
-+"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
-+"projects/dnf/dnf-rhel-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.6\n"
-+"X-Generator: Weblate 4.11.2\n"
- 
- #: dnf/automatic/emitter.py:32
- #, python-format
-@@ -213,158 +217,154 @@ msgstr "配置文件 %s 中使用 tsflag 是错误的"
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr "为仓库 %s 添加组文件时失败:%s"
- 
--#: dnf/base.py:904
-+#: dnf/base.py:922
- msgid "Running transaction check"
- msgstr "运行事务检查"
- 
--#: dnf/base.py:912
-+#: dnf/base.py:930
- msgid "Error: transaction check vs depsolve:"
- msgstr "错误:事务检查与依赖解决错误:"
- 
--#: dnf/base.py:918
-+#: dnf/base.py:936
- msgid "Transaction check succeeded."
- msgstr "事务检查成功。"
- 
--#: dnf/base.py:921
-+#: dnf/base.py:939
- msgid "Running transaction test"
- msgstr "运行事务测试"
- 
--#: dnf/base.py:931 dnf/base.py:1082
-+#: dnf/base.py:949 dnf/base.py:1100
- msgid "RPM: {}"
- msgstr "RPM软件包: {}"
- 
--#: dnf/base.py:932
-+#: dnf/base.py:950
- msgid "Transaction test error:"
- msgstr "事物测试失败:"
- 
--#: dnf/base.py:943
-+#: dnf/base.py:961
- msgid "Transaction test succeeded."
- msgstr "事务测试成功。"
- 
--#: dnf/base.py:964
-+#: dnf/base.py:982
- msgid "Running transaction"
- msgstr "运行事务"
- 
--#: dnf/base.py:1001
-+#: dnf/base.py:1019
- msgid "Disk Requirements:"
- msgstr "磁盘需求:"
- 
--#: dnf/base.py:1004
-+#: dnf/base.py:1022
- #, python-brace-format
- msgid "At least {0}MB more space needed on the {1} filesystem."
- msgid_plural "At least {0}MB more space needed on the {1} filesystem."
--msgstr[0] "在文件系统{1}上至少需要{0}MB的可用空间。"
-+msgstr[0] "在 {1} 文件系统上至少需要 {0}MB 的空间。"
- 
--#: dnf/base.py:1011
-+#: dnf/base.py:1029
- msgid "Error Summary"
- msgstr "错误汇总"
- 
--#: dnf/base.py:1037
-+#: dnf/base.py:1055
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDB 在 {prog} 外被改动了。"
- 
--#: dnf/base.py:1083 dnf/base.py:1091
-+#: dnf/base.py:1101 dnf/base.py:1109
- msgid "Could not run transaction."
- msgstr "不能执行事务。"
- 
--#: dnf/base.py:1086
-+#: dnf/base.py:1104
- msgid "Transaction couldn't start:"
- msgstr "事务无法启动:"
- 
--#: dnf/base.py:1100
-+#: dnf/base.py:1118
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr "移除事务文件 %s 失败"
- 
--#: dnf/base.py:1182
-+#: dnf/base.py:1200
- msgid "Some packages were not downloaded. Retrying."
- msgstr "某些软件包没有被下载。正在重试。"
- 
--#: dnf/base.py:1212
--#, fuzzy, python-format
--#| msgid ""
--#| "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
-+#: dnf/base.py:1230
-+#, python-format
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
--msgstr "增量 RPM 将 %.1f MB 的更新减少至 %.1f MB(已节省 %d.1%% )"
-+msgstr "增量 RPM 将更新的 %.1f MB 减少到 %.1f MB(节省了 %.1f%%)"
- 
--#: dnf/base.py:1216
--#, fuzzy, python-format
--#| msgid ""
--#| "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
-+#: dnf/base.py:1234
-+#, python-format
- msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
--msgstr "增量 RPM 未能将 %.1f MB 的更新减少至 %.1f MB(已浪费 %d.1%% )"
-+msgstr "失败的增量 RPM 将更新的 %.1f MB 增加到 %.1f MB(浪费了 %.1f%%)"
- 
--#: dnf/base.py:1258
-+#: dnf/base.py:1276
- msgid "Cannot add local packages, because transaction job already exists"
- msgstr "由于事物已经存在,无法添加本地软件包"
- 
--#: dnf/base.py:1272
-+#: dnf/base.py:1290
- msgid "Could not open: {}"
- msgstr "无法打开: {}"
- 
--#: dnf/base.py:1310
-+#: dnf/base.py:1328
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr "%s 的公钥没有安装"
- 
--#: dnf/base.py:1314
-+#: dnf/base.py:1332
- #, python-format
- msgid "Problem opening package %s"
- msgstr "打开软件包 %s 出现问题"
- 
--#: dnf/base.py:1322
-+#: dnf/base.py:1340
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr "%s 的公钥不可信任"
- 
--#: dnf/base.py:1326
-+#: dnf/base.py:1344
- #, python-format
- msgid "Package %s is not signed"
- msgstr "软件包 %s 没有签名"
- 
--#: dnf/base.py:1356
-+#: dnf/base.py:1374
- #, python-format
- msgid "Cannot remove %s"
- msgstr "无法删除 %s"
- 
--#: dnf/base.py:1360
-+#: dnf/base.py:1378
- #, python-format
- msgid "%s removed"
- msgstr "%s 已删除"
- 
--#: dnf/base.py:1640
-+#: dnf/base.py:1658
- msgid "No match for group package \"{}\""
- msgstr "没有和组 \"{}\" 匹配的"
- 
--#: dnf/base.py:1726
-+#: dnf/base.py:1740
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr "从组 '%s': %s 添加软件包"
- 
--#: dnf/base.py:1749 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/base.py:1763 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:1767
-+#: dnf/base.py:1781
- msgid "No groups marked for removal."
- msgstr "没有软件包组需要移除。"
- 
--#: dnf/base.py:1801
-+#: dnf/base.py:1815
- msgid "No group marked for upgrade."
- msgstr "没有标记为要升级的组。"
- 
--#: dnf/base.py:2015
-+#: dnf/base.py:2029
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
- msgstr "软件包 %s 并没有能够安装,无法进行降级操作。"
- 
--#: dnf/base.py:2017 dnf/base.py:2036 dnf/base.py:2049 dnf/base.py:2076
--#: dnf/base.py:2129 dnf/base.py:2137 dnf/base.py:2271 dnf/cli/cli.py:417
-+#: dnf/base.py:2031 dnf/base.py:2050 dnf/base.py:2063 dnf/base.py:2090
-+#: dnf/base.py:2143 dnf/base.py:2151 dnf/base.py:2285 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 +374,179 @@ msgstr "软件包 %s 并没有能够安装,无法进行降级操作。"
- msgid "No match for argument: %s"
- msgstr "未找到匹配的参数: %s"
- 
--#: dnf/base.py:2024
-+#: dnf/base.py:2038
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
- msgstr "软件包 %s 的低版本已经安装,无法进行降级。"
- 
--#: dnf/base.py:2047
-+#: dnf/base.py:2061
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
- msgstr "软件包 %s 未能够安装成功,无法进行重新安装。"
- 
--#: dnf/base.py:2062
-+#: dnf/base.py:2076
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
- msgstr "%s 文件无法被升级,已忽略。"
- 
--#: dnf/base.py:2073
-+#: dnf/base.py:2087
- #, python-format
- msgid "Package %s not installed, cannot update it."
- msgstr "软件包 %s 未安装,无法更新。"
- 
--#: dnf/base.py:2083
-+#: dnf/base.py:2097
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
- msgstr "已经安装了软件包%s的相同或更高版本,无法更新。"
- 
--#: dnf/base.py:2126 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
- msgstr "软件包 %s 可用,但没有被安装。"
- 
--#: dnf/base.py:2132
-+#: dnf/base.py:2146
- #, python-format
- msgid "Package %s available, but installed for different architecture."
- msgstr "软件包 %s 可用,当是为其它架构安装。"
- 
--#: dnf/base.py:2157
-+#: dnf/base.py:2171
- #, python-format
- msgid "No package %s installed."
- msgstr "没有软件包 %s 安装。"
- 
--#: dnf/base.py:2175 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2189 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:2190 dnf/cli/commands/__init__.py:676
-+#: dnf/base.py:2204 dnf/cli/commands/__init__.py:676
- #: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
- msgstr "没有软件包需要移除。"
- 
--#: dnf/base.py:2278 dnf/cli/cli.py:428
-+#: dnf/base.py:2292 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
- msgstr "针对于参数 %s 的软件包可用, 但是目前没有安装。"
- 
--#: dnf/base.py:2283
-+#: dnf/base.py:2297
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
- msgstr "软件包 %s 的最低版本已经安装,无法再进行降级。"
- 
--#: dnf/base.py:2383
-+#: dnf/base.py:2397
- msgid "No security updates needed, but {} update available"
- msgstr "没有必须的安全更新, 但是 {} 的更新可用"
- 
--#: dnf/base.py:2385
-+#: dnf/base.py:2399
- msgid "No security updates needed, but {} updates available"
- msgstr "没有必须的安全更新, 但是 {} 的更新可用"
- 
--#: dnf/base.py:2389
-+#: dnf/base.py:2403
- msgid "No security updates needed for \"{}\", but {} update available"
- msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用"
- 
--#: dnf/base.py:2391
-+#: dnf/base.py:2405
- msgid "No security updates needed for \"{}\", but {} updates available"
- msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用"
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2412
-+#: dnf/base.py:2426
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
- msgstr "无法获取来自命令行的软件包的密钥:%s"
- 
--#: dnf/base.py:2420
-+#: dnf/base.py:2434
- #, python-format
- msgid ". Failing package is: %s"
- msgstr ". 失败的软件包是:%s"
- 
--#: dnf/base.py:2421
-+#: dnf/base.py:2435
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "GPG密钥配置为:%s"
- 
--#: dnf/base.py:2433
-+#: dnf/base.py:2447
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr "%s 的 GPG 公钥(0x%s)已安装"
- 
--#: dnf/base.py:2469
-+#: dnf/base.py:2483
- msgid "The key has been approved."
- msgstr "密钥已被确认。"
- 
--#: dnf/base.py:2472
-+#: dnf/base.py:2486
- msgid "The key has been rejected."
- msgstr "密钥已被拒绝。"
- 
--#: dnf/base.py:2505
-+#: dnf/base.py:2519
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "导入公钥失败(代码 %d)"
- 
--#: dnf/base.py:2507
-+#: dnf/base.py:2521
- msgid "Key imported successfully"
- msgstr "导入公钥成功"
- 
--#: dnf/base.py:2511
-+#: dnf/base.py:2525
- msgid "Didn't install any keys"
- msgstr "没有安装任何公钥"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2528
- #, 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:2525
-+#: dnf/base.py:2539
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr "导入的密钥没有公钥,错误的公钥?"
- 
--#: dnf/base.py:2578
-+#: dnf/base.py:2592
- msgid "  * Maybe you meant: {}"
- msgstr "  * 可能您的意思是:{}"
- 
--#: dnf/base.py:2610
-+#: dnf/base.py:2624
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
- msgstr "软件包 \"{}\"(来自于本地仓库 \"{}\")的 checksum 不正确"
- 
--#: dnf/base.py:2613
-+#: dnf/base.py:2627
- msgid "Some packages from local repository have incorrect checksum"
- msgstr "本地仓库的一些软件包校验值(checksum)不正确,无法确定软件包完整"
- 
--#: dnf/base.py:2616
-+#: dnf/base.py:2630
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
- msgstr "软件包 \"{}\"(来自仓库 \"{}\")的 checksum 不正确"
- 
--#: dnf/base.py:2619
-+#: dnf/base.py:2633
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
- msgstr "以下软件包有无效缓存,因为使用了 \"--cacheonly\" 选项不能下载"
- 
--#: dnf/base.py:2637 dnf/base.py:2657
-+#: dnf/base.py:2651 dnf/base.py:2671
- msgid "No match for argument"
- msgstr "未找到匹配的参数"
- 
--#: dnf/base.py:2645 dnf/base.py:2665
-+#: dnf/base.py:2659 dnf/base.py:2679
- msgid "All matches were filtered out by exclude filtering for argument"
- msgstr "由于您的搜索参数,所有相关结果都已被滤掉"
- 
--#: dnf/base.py:2647
-+#: dnf/base.py:2661
- msgid "All matches were filtered out by modular filtering for argument"
- msgstr "所有的匹配结果均已经被参数的模块化过滤条件筛除"
- 
--#: dnf/base.py:2663
-+#: dnf/base.py:2677
- msgid "All matches were installed from a different repository for argument"
- msgstr "已从另一个仓库安装了参数的所有匹配"
- 
--#: dnf/base.py:2710
-+#: dnf/base.py:2724
- #, python-format
- msgid "Package %s is already installed."
- msgstr "软件包 %s 已安装。"
-@@ -555,7 +556,7 @@ msgstr "软件包 %s 已安装。"
- msgid "Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s"
- msgstr "该环境变量具有错误的值:DNF_DISABLE_ALIASES=%s"
- 
--#: dnf/cli/aliases.py:105 dnf/conf/config.py:457
-+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475
- #, python-format
- msgid "Parsing file \"%s\" failed: %s"
- msgstr "解析文件 \"%s\" 失败:%s"
-@@ -600,11 +601,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
-@@ -707,8 +712,8 @@ msgstr "没有仓库匹配: %s"
- 
- #: dnf/cli/cli.py:719
- msgid ""
--"This command has to be run with superuser privileges (under the root user on"
--" most systems)."
-+"This command has to be run with superuser privileges (under the root user on "
-+"most systems)."
- msgstr "运行此命令需要管理员特权(多数系统下是root用户)。"
- 
- #: dnf/cli/cli.py:749
-@@ -735,21 +740,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:820
- msgid ""
- "--enable, --set-enabled and --disable, --set-disabled must be used with "
- "config-manager command."
- msgstr ""
--"--enable、--set-enabled 和 --disable、--set-disabled 必须和 config-manager 命令一起使用。"
-+"--enable、--set-enabled 和 --disable、--set-disabled 必须和 config-manager 命"
-+"令一起使用。"
- 
- #: dnf/cli/cli.py:902
- msgid ""
- "Warning: Enforcing GPG signature check globally as per active RPM security "
- "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
--msgstr "警告:由于活动的RPM安全策略,强制执行全局GPG签名检查 (请参照dnf.conf(5)中的'gpgcheck'以了解如何阻止这条信息)"
-+msgstr ""
-+"警告:由于活动的RPM安全策略,强制执行全局GPG签名检查 (请参照dnf.conf(5)中"
-+"的'gpgcheck'以了解如何阻止这条信息)"
- 
- #: dnf/cli/cli.py:922
- msgid "Config file \"{}\" does not exist"
-@@ -800,7 +808,8 @@ msgstr "RPM 数据库可能出错,请尝试运行'%s'进行恢复。"
- #, python-brace-format
- msgid ""
- "You have enabled checking of packages via GPG keys. This is a good thing.\n"
--"However, you do not have any GPG public keys installed. You need to download\n"
-+"However, you do not have any GPG public keys installed. You need to "
-+"download\n"
- "the keys for packages you wish to install and install them.\n"
- "You can do that by running the command:\n"
- "    rpm --import public.gpg.key\n"
-@@ -1140,7 +1149,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"
-@@ -1242,12 +1252,12 @@ msgstr "显示或使用事务历史"
- 
- #: dnf/cli/commands/history.py:66
- msgid "For the store command, file path to store the transaction to"
--msgstr "对于 store 命令,将事务保存到的文件路径"
-+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
-@@ -1258,8 +1268,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
-@@ -1290,8 +1300,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
-@@ -1439,8 +1449,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
-@@ -1609,15 +1619,15 @@ msgstr "禁用"
- 
- #: dnf/cli/commands/repolist.py:162
- msgid "Repo-id            : "
--msgstr "Repo-id            : "
-+msgstr "仓库ID            : "
- 
- #: dnf/cli/commands/repolist.py:163
- msgid "Repo-name          : "
--msgstr "Repo-name          : "
-+msgstr "仓库名称          : "
- 
- #: dnf/cli/commands/repolist.py:166
- msgid "Repo-status        : "
--msgstr "Repo-status        : "
-+msgstr "仓库状态        : "
- 
- #: dnf/cli/commands/repolist.py:169
- msgid "Repo-revision      : "
-@@ -1679,11 +1689,11 @@ msgstr "Repo-include       : "
- #. TRANSLATORS: Number of packages that where excluded (5)
- #: dnf/cli/commands/repolist.py:232
- msgid "Repo-excluded      : "
--msgstr "Repo-excluded      : "
-+msgstr "排除的仓库      : "
- 
- #: dnf/cli/commands/repolist.py:236
- msgid "Repo-filename      : "
--msgstr "Repo-filename      : "
-+msgstr "仓库文件名      : "
- 
- #. Work out the first (id) and last (enabled/disabled/count),
- #. then chop the middle (name)...
-@@ -1734,7 +1744,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"
-@@ -1823,9 +1835,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"
-@@ -1835,13 +1849,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 ""
-@@ -1877,7 +1894,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."
-@@ -1902,8 +1921,8 @@ msgid ""
- "running %%pre and %%post scriptlets. If the package is installed display "
- "capabilities that is depends for %%pre, %%post, %%preun and %%postun."
- msgstr ""
--"如果未安装软件包,则显示执行 %%pre 和 %%post 脚本所依赖的功能。如果已经了安装软件包,则显示执行 %%pre、%%post、%%preun"
--" 和 %%postun 脚本所依赖的功能。"
-+"如果未安装软件包,则显示执行 %%pre 和 %%post 脚本所依赖的功能。如果已经了安装"
-+"软件包,则显示执行 %%pre、%%post、%%preun 和 %%postun 脚本所依赖的功能。"
- 
- #: dnf/cli/commands/repoquery.py:243
- msgid "Display capabilities that the package suggests."
-@@ -1952,22 +1971,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"
-@@ -1981,13 +2001,17 @@ msgstr "软件包 {} 不包含文件"
- #, python-brace-format
- msgid ""
- "No valid switch specified\n"
--"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
-+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
-+"tree]\n"
- "\n"
- "description:\n"
- "  For the given packages print a tree of thepackages."
- msgstr ""
- "没有指定有效参数\n"
--"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
-+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
-+"tree]\n"
- "\n"
- "描述:\n"
- "  对于指定的软件包,打印此软件包的树状图。"
-@@ -2027,8 +2051,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 " 和 "
-@@ -2546,7 +2569,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"
-@@ -2568,8 +2593,8 @@ msgstr "启用附加仓库。列出选项。支持通配符,可以指定多次
- 
- #: dnf/cli/option_parser.py:266
- msgid ""
--"Disable repositories. List option. Supports globs, can be specified multiple"
--" times."
-+"Disable repositories. List option. Supports globs, can be specified multiple "
-+"times."
- msgstr "停用仓库。列出选项。支持通配符,可指定多次。"
- 
- #: dnf/cli/option_parser.py:270
-@@ -2598,7 +2623,8 @@ msgstr "禁用 excludepkgs"
- msgid ""
- "label and path to an additional repository to use (same path as in a "
- "baseurl), can be specified multiple times."
--msgstr "附加仓库所要使用的标签和路径(与 baseurl 中的路径一致),可以指定多次。"
-+msgstr ""
-+"附加仓库所要使用的标签和路径(与 baseurl 中的路径一致),可以指定多次。"
- 
- #: dnf/cli/option_parser.py:297
- msgid "disable removal of dependencies that are no longer used"
-@@ -3161,7 +3187,7 @@ msgstr "总计"
- 
- #: dnf/cli/output.py:1466
- msgid "<unset>"
--msgstr "<空>"
-+msgstr "<unset>"
- 
- #: dnf/cli/output.py:1467
- msgid "System"
-@@ -3451,10 +3477,6 @@ msgstr "    已启动: %s - %s之前"
- msgid "    State  : %s"
- msgstr "    状态  : %s"
- 
--#: dnf/comps.py:104
--msgid "skipping."
--msgstr "正在跳过。"
--
- #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
- #, python-format
- msgid "Module or Group '%s' is not installed."
-@@ -3505,11 +3527,15 @@ msgstr "解析 “%s” 时错误: %s"
- msgid "Invalid configuration value: %s=%s in %s; %s"
- msgstr "无效配置值: %s=%s 在 %s 中; %s"
- 
--#: dnf/conf/config.py:226
-+#: dnf/conf/config.py:194
-+msgid "Cannot set \"{}\" to \"{}\": {}"
-+msgstr "无法将 \"{}\" 设置为 \"{}\": {}"
-+
-+#: dnf/conf/config.py:244
- msgid "Could not set cachedir: {}"
- msgstr "不能设置 cachedir: {}"
- 
--#: dnf/conf/config.py:275
-+#: dnf/conf/config.py:293
- msgid ""
- "Configuration file URL \"{}\" could not be downloaded:\n"
- "  {}"
-@@ -3517,31 +3543,31 @@ msgstr ""
- "配置文件的 URL \"{}\" 无法下载:\n"
- "  {}"
- 
--#: dnf/conf/config.py:355 dnf/conf/config.py:391
-+#: dnf/conf/config.py:373 dnf/conf/config.py:409
- #, python-format
- msgid "Unknown configuration option: %s = %s"
- msgstr "未知配置选项: %s = %s"
- 
--#: dnf/conf/config.py:372
-+#: dnf/conf/config.py:390
- #, python-format
- msgid "Error parsing --setopt with key '%s', value '%s': %s"
- msgstr "解析 --setopt 时出现错误,键为 '%s',值是 '%s': %s"
- 
--#: dnf/conf/config.py:380
-+#: dnf/conf/config.py:398
- #, python-format
- msgid "Main config did not have a %s attr. before setopt"
- msgstr "主配置在 setopt 前没有一个 %s 属性"
- 
--#: dnf/conf/config.py:427 dnf/conf/config.py:445
-+#: dnf/conf/config.py:445 dnf/conf/config.py:463
- msgid "Incorrect or unknown \"{}\": {}"
- msgstr "不正确或未知的 \"{}\": {}"
- 
--#: dnf/conf/config.py:501
-+#: dnf/conf/config.py:519
- #, python-format
- msgid "Error parsing --setopt with key '%s.%s', value '%s': %s"
- msgstr "解析 --setopt 时出现错误,键为 '%s.%s', 值是 '%s': %s"
- 
--#: dnf/conf/config.py:504
-+#: dnf/conf/config.py:522
- #, python-format
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "Repo %s 在 setopt 前没有一个 %s 属性"
-@@ -3611,7 +3637,7 @@ msgstr "对于模块软件包 '{}' 没有可用的模块元数据,它将不能
- #: dnf/db/group.py:353
- #, python-format
- msgid "An rpm exception occurred: %s"
--msgstr "rpm 出现了一个异常:%s"
-+msgstr "发生了 rpm 异常:%s"
- 
- #: dnf/db/group.py:355
- msgid "No available modular metadata for modular package"
-@@ -3622,32 +3648,32 @@ msgstr "对于模块软件包没有可用的模块元数据"
- msgid "Will not install a source rpm package (%s)."
- msgstr "将不安装一个源码 RPM 软件包 (%s)。"
- 
--#: dnf/dnssec.py:168
-+#: dnf/dnssec.py:171
- msgid ""
- "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
- msgstr "配置文件选项 'gpgkey_dns_verification' 要求 python3-unbound ({})"
- 
--#: dnf/dnssec.py:239
-+#: dnf/dnssec.py:243
- msgid "DNSSEC extension: Key for user "
- msgstr "DNSSEC 扩展 : 用户的密钥 "
- 
--#: dnf/dnssec.py:241
-+#: dnf/dnssec.py:245
- msgid "is valid."
- msgstr "有效。"
- 
--#: dnf/dnssec.py:243
-+#: dnf/dnssec.py:247
- msgid "has unknown status."
- msgstr "具有未知的状态。"
- 
--#: dnf/dnssec.py:251
-+#: dnf/dnssec.py:255
- msgid "DNSSEC extension: "
- msgstr "DNSSEC 扩展 : "
- 
--#: dnf/dnssec.py:283
-+#: dnf/dnssec.py:287
- msgid "Testing already imported keys for their validity."
- msgstr "测试已导入的密钥以检查有效性。"
- 
--#: dnf/drpm.py:62 dnf/repo.py:268
-+#: dnf/drpm.py:62 dnf/repo.py:267
- #, python-format
- msgid "unsupported checksum type: %s"
- msgstr "不支持的校验类型: %s"
-@@ -3689,7 +3715,7 @@ msgid "Modular dependency problem with Defaults:"
- msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "默认设置中的模块依赖问题 :"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:854
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:857
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "模块依赖问题:"
-@@ -3698,10 +3724,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 '{}'."
-@@ -3784,19 +3812,19 @@ msgstr ""
- "提示 : [d]默认, [e]启用, [x]禁用, [i]已安装的, [a]活跃的"
- 
- #: dnf/module/module_base.py:56 dnf/module/module_base.py:556
--#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:684
- msgid "Ignoring unnecessary profile: '{}/{}'"
- 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 ""
-@@ -3821,12 +3849,12 @@ 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
- msgid "No active matches for argument '{0}' in module '{1}:{2}'"
--msgstr "模块 '{1}:{2}' 中的参数 '{0}' 没有已激活的匹配项目"
-+msgstr "模块 '{1}:{2}' 中的参数 '{0}' 没有活动匹配项"
- 
- #: dnf/module/module_base.py:228
- #, python-brace-format
-@@ -3840,14 +3868,14 @@ msgstr "软件包名称 '{}' 没有可用的软件包用于 distrosync"
- #: dnf/module/module_base.py:310 dnf/module/module_base.py:461
- #: dnf/module/module_base.py:486 dnf/module/module_base.py:505
- #: dnf/module/module_base.py:552 dnf/module/module_base.py:611
--#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
-+#: dnf/module/module_base.py:680 dnf/module/module_base.py:843
- msgid "Unable to resolve argument {}"
- msgstr "无法解析参数 {}"
- 
- #: dnf/module/module_base.py:321
- #, python-brace-format
- msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed"
--msgstr "不允许从失效保险仓库 {1} 中升级模块 '{0}'"
-+msgstr "不允许从自动防故障仓库 {1} 升级模块 '{0}'"
- 
- #: dnf/module/module_base.py:340 dnf/module/module_base.py:368
- msgid "Unable to match profile in argument {}"
-@@ -3855,24 +3883,23 @@ 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:841
-+#: dnf/module/module_base.py:844
- msgid "No match for package {}"
- msgstr "没有和{}匹配的软件包"
- 
-@@ -3933,7 +3960,7 @@ msgid "Already downloaded"
- msgstr "已下载"
- 
- #. pinging mirrors, this might take a while
--#: dnf/repo.py:347
-+#: dnf/repo.py:346
- #, python-format
- msgid "determining the fastest mirror (%s hosts).. "
- msgstr "正在查找最快的镜像(%s 的主机) "
-@@ -3949,16 +3976,23 @@ msgid "Added %s repo from %s"
- msgstr "已添加 %s 仓库来自 %s"
- 
- #: dnf/rpm/miscutils.py:32
--#, fuzzy, python-format
--#| msgid "Cannot find rpmkeys executable to verify signatures."
-+#, python-format
- msgid "Using rpmkeys executable at %s to verify signatures"
--msgstr "无法找到 rpmkeys 的可执行文件以验证签名。"
-+msgstr "使用 %s 处的 rpmkeys 可执行文件来验证签名"
- 
- #: dnf/rpm/miscutils.py:66
- msgid "Cannot find rpmkeys executable to verify signatures."
- msgstr "无法找到 rpmkeys 的可执行文件以验证签名。"
- 
--#: dnf/rpm/transaction.py:119
-+#: dnf/rpm/transaction.py:70
-+msgid "The openDB() function connot open rpm database."
-+msgstr "openDB()函数不能打开 rpm 数据库。"
-+
-+#: dnf/rpm/transaction.py:75
-+msgid "The dbCookie() function did not return cookie of rpm database."
-+msgstr "dbCookie()函数没有返回 rpm 数据库的 cookie。"
-+
-+#: dnf/rpm/transaction.py:135
- msgid "Errors occurred during test transaction."
- msgstr "测试事务过程中出现错误。"
- 
-@@ -3966,7 +4000,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
-@@ -4064,8 +4099,9 @@ 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
-@@ -4080,24 +4116,25 @@ msgstr "无法找到 rpm nevra \"{nevra}\"。"
- #: dnf/transaction_sr.py:336
- #, python-brace-format
- msgid "Package \"{na}\" is already installed for action \"{action}\"."
--msgstr "已为操作 \"{action}\" 安装了软件包 \"{na}\"。"
-+msgstr "操作 \"{action}\" 的软件包 \"{na}\"已安装。"
- 
- #: 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 "软件包 nevra \"{nevra}\" 没有为操作 \"{action}\" 安装。"
-+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
-@@ -4125,8 +4162,8 @@ 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
- #, python-brace-format
-@@ -4136,17 +4173,19 @@ msgstr "在 environment.groups 中缺少对象键 \"{key}\"。"
- #: dnf/transaction_sr.py:542
- #, python-brace-format
- msgid "Unexpected value of group action \"{action}\" for group \"{group}\"."
--msgstr "组 \"{group}\" 的组操作 \"{action}\" 的值无效。"
-+msgstr "对组 \"{group}\" 的组操作 \"{action}\" 的意外值。"
- 
- #: dnf/transaction_sr.py:547
- #, python-brace-format
- msgid "Missing object key \"{key}\" in a group."
--msgstr "在一个组中缺少对象键 \"{key}\"。"
-+msgstr "在组中缺少对象键 \"{key}\"。"
- 
- #: dnf/transaction_sr.py:571
- #, python-brace-format
--msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
--msgstr "环境 \"{env}\" 的环境操作 \"{action}\" 的值无效。"
-+msgid ""
-+"Unexpected value of environment action \"{action}\" for environment "
-+"\"{env}\"."
-+msgstr "对环境 \"{env}\" 的环境操作 \"{action}\" 的意外值。"
- 
- #: dnf/transaction_sr.py:576
- #, python-brace-format
-@@ -4156,8 +4195,8 @@ msgstr "在环境中缺少对象键 \"{key}\"。"
- #: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
--"Package nevra \"{nevra}\", which is not present in the transaction file, was"
--" pulled into the transaction."
-+"Package nevra \"{nevra}\", which is not present in the transaction file, was "
-+"pulled into the transaction."
- msgstr "软件包 nevra \"{nevra}\" 没有包括在事务文件中,但它被拉取到事务中。"
- 
- #: dnf/util.py:417 dnf/util.py:419
-@@ -4195,12 +4234,15 @@ msgstr "失败"
- #. returns <name-unset> for everything that evaluates to False (None, empty..)
- #: dnf/util.py:633
- msgid "<name-unset>"
--msgstr "<名称-未设定>"
-+msgstr "<name-unset>"
-+
-+#~ 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"
-@@ -4227,5 +4269,6 @@ msgstr "<名称-未设定>"
- #~ msgstr "错误的事务 ID 或软件包"
- 
- #~ msgid ""
--#~ "Display capabilities that the package depends on for running a %%pre script."
-+#~ "Display capabilities that the package depends on for running a %%pre "
-+#~ "script."
- #~ msgstr "显示软件包运行一个 %%pre 脚本所依赖的功能"
-diff --git a/po/zh_TW.po b/po/zh_TW.po
-index 8bf32e7d..d6f21e86 100644
---- a/po/zh_TW.po
-+++ b/po/zh_TW.po
-@@ -11,10 +11,11 @@ msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2021-06-13 09:18-0400\n"
-+"POT-Creation-Date: 2022-02-28 11:37+0100\n"
- "PO-Revision-Date: 2020-09-08 22:00+0000\n"
- "Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
--"Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/projects/dnf/dnf-master/zh_TW/>\n"
-+"Language-Team: Chinese (Traditional) <https://translate.fedoraproject.org/"
-+"projects/dnf/dnf-master/zh_TW/>\n"
- "Language: zh_TW\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
-@@ -196,82 +197,81 @@ msgstr "在 config 檔案中無效的 tsflag:%s"
- msgid "Failed to add groups file for repository: %s - %s"
- msgstr "為軟體庫建立群組檔案時失敗:%s - %s"
- 
--#: dnf/base.py:904
-+#: dnf/base.py:922
- msgid "Running transaction check"
- msgstr "執行處理事項檢查"
- 
--#: dnf/base.py:912
-+#: dnf/base.py:930
- msgid "Error: transaction check vs depsolve:"
- msgstr "錯誤:處理事項 check vs depsolve:"
- 
--#: dnf/base.py:918
-+#: dnf/base.py:936
- msgid "Transaction check succeeded."
- msgstr "處理事項檢查成功。"
- 
--#: dnf/base.py:921
-+#: dnf/base.py:939
- msgid "Running transaction test"
- msgstr "執行處理事項測試"
- 
--#: dnf/base.py:931 dnf/base.py:1082
-+#: dnf/base.py:949 dnf/base.py:1100
- msgid "RPM: {}"
- msgstr "RPM:{}"
- 
--#: dnf/base.py:932
-+#: dnf/base.py:950
- msgid "Transaction test error:"
- msgstr "處理事項測試錯誤:"
- 
--#: dnf/base.py:943
-+#: dnf/base.py:961
- msgid "Transaction test succeeded."
- msgstr "處理事項測試成功。"
- 
--#: dnf/base.py:964
-+#: dnf/base.py:982
- msgid "Running transaction"
- msgstr "執行處理事項"
- 
--#: dnf/base.py:1001
-+#: dnf/base.py:1019
- msgid "Disk Requirements:"
- msgstr "需要磁碟:"
- 
--#: dnf/base.py:1004
-+#: dnf/base.py:1022
- #, 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:1011
-+#: dnf/base.py:1029
- msgid "Error Summary"
- msgstr "錯誤摘要"
- 
--#: dnf/base.py:1037
-+#: dnf/base.py:1055
- #, python-brace-format
- msgid "RPMDB altered outside of {prog}."
- msgstr "RPMDB 在 {prog} 外有變動。"
- 
--#: dnf/base.py:1083 dnf/base.py:1091
-+#: dnf/base.py:1101 dnf/base.py:1109
- msgid "Could not run transaction."
- msgstr "無法執行處理事項。"
- 
--#: dnf/base.py:1086
-+#: dnf/base.py:1104
- msgid "Transaction couldn't start:"
- msgstr "無法啓動處理事項:"
- 
--#: dnf/base.py:1100
-+#: dnf/base.py:1118
- #, python-format
- msgid "Failed to remove transaction file %s"
- msgstr "移除處理事項檔案 %s 失敗"
- 
--#: dnf/base.py:1182
-+#: dnf/base.py:1200
- msgid "Some packages were not downloaded. Retrying."
- msgstr "有些軟體包未下載。重試。"
- 
--#: dnf/base.py:1212
-+#: dnf/base.py:1230
- #, fuzzy, python-format
--#| msgid ""
--#| "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
-+#| msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)"
- msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)"
- msgstr "Delta RPM 已將更新所需從 %.1f MB 減少為 %.1f MB(節省 %d.1%%)"
- 
--#: dnf/base.py:1216
-+#: dnf/base.py:1234
- #, fuzzy, python-format
- #| msgid ""
- #| "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)"
-@@ -279,75 +279,75 @@ msgid ""
- "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%.1f%% wasted)"
- msgstr "失敗的 Delta RPM 已將更新所需從 %.1f MB 增加為 %.1f MB(浪費 %d.1%%)"
- 
--#: dnf/base.py:1258
-+#: dnf/base.py:1276
- msgid "Cannot add local packages, because transaction job already exists"
- msgstr "因為已經有處理事項工作,無法加入本機軟體包"
- 
--#: dnf/base.py:1272
-+#: dnf/base.py:1290
- msgid "Could not open: {}"
- msgstr "無法開啟:{}"
- 
--#: dnf/base.py:1310
-+#: dnf/base.py:1328
- #, python-format
- msgid "Public key for %s is not installed"
- msgstr "%s 的公鑰尚未安裝"
- 
--#: dnf/base.py:1314
-+#: dnf/base.py:1332
- #, python-format
- msgid "Problem opening package %s"
- msgstr "開啟 %s 軟體包時發生問題"
- 
--#: dnf/base.py:1322
-+#: dnf/base.py:1340
- #, python-format
- msgid "Public key for %s is not trusted"
- msgstr "%s 的公鑰未被信任"
- 
--#: dnf/base.py:1326
-+#: dnf/base.py:1344
- #, python-format
- msgid "Package %s is not signed"
- msgstr "%s 軟體包尚未簽名"
- 
--#: dnf/base.py:1356
-+#: dnf/base.py:1374
- #, python-format
- msgid "Cannot remove %s"
- msgstr "無法移除 %s"
- 
--#: dnf/base.py:1360
-+#: dnf/base.py:1378
- #, python-format
- msgid "%s removed"
- msgstr "已移除 %s"
- 
--#: dnf/base.py:1640
-+#: dnf/base.py:1658
- msgid "No match for group package \"{}\""
- msgstr "找不到符合「{}」軟體包群組的項目"
- 
--#: dnf/base.py:1726
-+#: dnf/base.py:1740
- #, python-format
- msgid "Adding packages from group '%s': %s"
- msgstr "正在從群組「%s」加入軟體包:%s"
- 
--#: dnf/base.py:1749 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437
-+#: dnf/base.py:1763 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:1767
-+#: dnf/base.py:1781
- msgid "No groups marked for removal."
- msgstr "沒有標記為移除的群組。"
- 
--#: dnf/base.py:1801
-+#: dnf/base.py:1815
- msgid "No group marked for upgrade."
- msgstr "沒有標記為升級的群組。"
- 
--#: dnf/base.py:2015
-+#: dnf/base.py:2029
- #, python-format
- msgid "Package %s not installed, cannot downgrade it."
- msgstr "尚未安裝軟體包 %s,所以無法降級。"
- 
--#: dnf/base.py:2017 dnf/base.py:2036 dnf/base.py:2049 dnf/base.py:2076
--#: dnf/base.py:2129 dnf/base.py:2137 dnf/base.py:2271 dnf/cli/cli.py:417
-+#: dnf/base.py:2031 dnf/base.py:2050 dnf/base.py:2063 dnf/base.py:2090
-+#: dnf/base.py:2143 dnf/base.py:2151 dnf/base.py:2285 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
-@@ -357,178 +357,179 @@ msgstr "尚未安裝軟體包 %s,所以無法降級。"
- msgid "No match for argument: %s"
- msgstr "引數不符:%s"
- 
--#: dnf/base.py:2024
-+#: dnf/base.py:2038
- #, python-format
- msgid "Package %s of lower version already installed, cannot downgrade it."
- msgstr "已經安裝較舊版本的軟體包 %s,所以無法降級。"
- 
--#: dnf/base.py:2047
-+#: dnf/base.py:2061
- #, python-format
- msgid "Package %s not installed, cannot reinstall it."
- msgstr "尚未安裝軟體包 %s,所以無法重新安裝。"
- 
--#: dnf/base.py:2062
-+#: dnf/base.py:2076
- #, python-format
- msgid "File %s is a source package and cannot be updated, ignoring."
- msgstr "檔案 %s 為來源軟體包且無法更新,忽略。"
- 
--#: dnf/base.py:2073
-+#: dnf/base.py:2087
- #, python-format
- msgid "Package %s not installed, cannot update it."
- msgstr "尚未安裝軟體包 %s,所以無法更新。"
- 
--#: dnf/base.py:2083
-+#: dnf/base.py:2097
- #, python-format
- msgid ""
- "The same or higher version of %s is already installed, cannot update it."
- msgstr "已經安裝同版或更新版的 %s,無法更新。"
- 
--#: dnf/base.py:2126 dnf/cli/commands/reinstall.py:81
-+#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81
- #, python-format
- msgid "Package %s available, but not installed."
- msgstr "軟體包 %s 可用,但尚未安裝。"
- 
--#: dnf/base.py:2132
-+#: dnf/base.py:2146
- #, python-format
- msgid "Package %s available, but installed for different architecture."
- msgstr "軟體包 %s 可用,但是針對不同架構安裝。"
- 
--#: dnf/base.py:2157
-+#: dnf/base.py:2171
- #, python-format
- msgid "No package %s installed."
- msgstr "軟體包 %s 未安裝。"
- 
--#: dnf/base.py:2175 dnf/cli/commands/install.py:136
-+#: dnf/base.py:2189 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:2190 dnf/cli/commands/__init__.py:676
-+#: dnf/base.py:2204 dnf/cli/commands/__init__.py:676
- #: dnf/cli/commands/remove.py:162
- msgid "No packages marked for removal."
- msgstr "沒有軟體包標記為要移除。"
- 
--#: dnf/base.py:2278 dnf/cli/cli.py:428
-+#: dnf/base.py:2292 dnf/cli/cli.py:428
- #, python-format
- msgid "Packages for argument %s available, but not installed."
- msgstr "%s 引數的軟體包可用,但尚未安裝。"
- 
--#: dnf/base.py:2283
-+#: dnf/base.py:2297
- #, python-format
- msgid "Package %s of lowest version already installed, cannot downgrade it."
- msgstr "已經安裝最舊版本的軟體包 %s,所以無法降級。"
- 
--#: dnf/base.py:2383
-+#: dnf/base.py:2397
- msgid "No security updates needed, but {} update available"
- msgstr "不需要任何的安全性更新,但有 {} 個更新可用"
- 
--#: dnf/base.py:2385
-+#: dnf/base.py:2399
- msgid "No security updates needed, but {} updates available"
- msgstr "不需要任何的安全性更新,但有 {} 個更新可用"
- 
--#: dnf/base.py:2389
-+#: dnf/base.py:2403
- msgid "No security updates needed for \"{}\", but {} update available"
- msgstr "不需要「{}」的任何安全性更新,但有 {} 個更新可用"
- 
--#: dnf/base.py:2391
-+#: dnf/base.py:2405
- msgid "No security updates needed for \"{}\", but {} updates available"
- msgstr "不需要「{}」的任何安全性更新,但有 {} 個更新可用"
- 
- #. raise an exception, because po.repoid is not in self.repos
--#: dnf/base.py:2412
-+#: dnf/base.py:2426
- #, python-format
- msgid "Unable to retrieve a key for a commandline package: %s"
- msgstr "無法擷取命令列軟體包的金鑰:%s"
- 
--#: dnf/base.py:2420
-+#: dnf/base.py:2434
- #, python-format
- msgid ". Failing package is: %s"
- msgstr "失敗的軟體包為:%s"
- 
--#: dnf/base.py:2421
-+#: dnf/base.py:2435
- #, python-format
- msgid "GPG Keys are configured as: %s"
- msgstr "GPG 金鑰已經設定為:%s"
- 
--#: dnf/base.py:2433
-+#: dnf/base.py:2447
- #, python-format
- msgid "GPG key at %s (0x%s) is already installed"
- msgstr "於 %s (0x%s) 的 GPG 密鑰已經安裝"
- 
--#: dnf/base.py:2469
-+#: dnf/base.py:2483
- msgid "The key has been approved."
- msgstr "金鑰已經核可。"
- 
--#: dnf/base.py:2472
-+#: dnf/base.py:2486
- msgid "The key has been rejected."
- msgstr "金鑰已被拒絕。"
- 
--#: dnf/base.py:2505
-+#: dnf/base.py:2519
- #, python-format
- msgid "Key import failed (code %d)"
- msgstr "密鑰匯入失敗(錯誤代碼 %d)"
- 
--#: dnf/base.py:2507
-+#: dnf/base.py:2521
- msgid "Key imported successfully"
- msgstr "密鑰匯入成功"
- 
--#: dnf/base.py:2511
-+#: dnf/base.py:2525
- msgid "Didn't install any keys"
- msgstr "無法安裝任何密鑰"
- 
--#: dnf/base.py:2514
-+#: dnf/base.py:2528
- #, python-format
- msgid ""
--"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n"
-+"The GPG keys listed for the \"%s\" repository are already installed but they "
-+"are not correct for this package.\n"
- "Check that the correct key URLs are configured for this repository."
- msgstr ""
- "列出的「%s」軟體庫 GPG 金鑰已經安裝,但這些金鑰對這個軟體包都不正確。\n"
- "檢查這個軟體庫的不正確金鑰之網址設定。"
- 
--#: dnf/base.py:2525
-+#: dnf/base.py:2539
- msgid "Import of key(s) didn't help, wrong key(s)?"
- msgstr "匯入的金鑰沒有作用,可能是因為金鑰是錯誤的?"
- 
--#: dnf/base.py:2578
-+#: dnf/base.py:2592
- msgid "  * Maybe you meant: {}"
- msgstr "  * 或許您想要:{}"
- 
--#: dnf/base.py:2610
-+#: dnf/base.py:2624
- msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum"
- msgstr "「{}」軟體包來自本機「{}」軟體庫有不正確的 checksum"
- 
--#: dnf/base.py:2613
-+#: dnf/base.py:2627
- msgid "Some packages from local repository have incorrect checksum"
- msgstr "來自本機軟體庫的部份軟體包有不正確的 checksum"
- 
--#: dnf/base.py:2616
-+#: dnf/base.py:2630
- msgid "Package \"{}\" from repository \"{}\" has incorrect checksum"
- msgstr "「{}」軟體包來自「{}」軟體庫有不正確的 checksum"
- 
--#: dnf/base.py:2619
-+#: dnf/base.py:2633
- msgid ""
- "Some packages have invalid cache, but cannot be downloaded due to \"--"
- "cacheonly\" option"
- msgstr "部份的軟體包有無效的快取,但是因為「--cacheonly」選項而無法下載"
- 
--#: dnf/base.py:2637 dnf/base.py:2657
-+#: dnf/base.py:2651 dnf/base.py:2671
- msgid "No match for argument"
- msgstr "沒有符合引數的項目"
- 
--#: dnf/base.py:2645 dnf/base.py:2665
-+#: dnf/base.py:2659 dnf/base.py:2679
- msgid "All matches were filtered out by exclude filtering for argument"
- msgstr "所有符合項目皆被引數的排除過濾器濾掉"
- 
--#: dnf/base.py:2647
-+#: dnf/base.py:2661
- msgid "All matches were filtered out by modular filtering for argument"
- msgstr "所有符合項目皆被引數的模組化過濾器濾掉"
- 
--#: dnf/base.py:2663
-+#: dnf/base.py:2677
- msgid "All matches were installed from a different repository for argument"
- msgstr "所有符合項目皆從引數的不同軟體庫安裝"
- 
--#: dnf/base.py:2710
-+#: dnf/base.py:2724
- #, python-format
- msgid "Package %s is already installed."
- msgstr "已安裝 %s 軟體包。"
-@@ -538,7 +539,7 @@ msgstr "已安裝 %s 軟體包。"
- msgid "Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s"
- msgstr "未預期的環境變數值:DNF_DISABLE_ALIASES=%s"
- 
--#: dnf/cli/aliases.py:105 dnf/conf/config.py:457
-+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475
- #, python-format
- msgid "Parsing file \"%s\" failed: %s"
- msgstr "解析「%s」檔案失敗:%s"
-@@ -584,13 +585,19 @@ msgstr "動作可能會導致「{0}」模組的「{1}」串流被切換到「{2}
- #, fuzzy, python-brace-format
- #| msgid ""
- #| "It is not possible to switch enabled streams of a module.\n"
--#| "It is recommended to remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream."
-+#| "It is recommended to remove all installed content from the module, and "
-+#| "reset the module using '{prog} module reset <module_name>' command. After "
-+#| "you reset the module, you can install the other stream."
- msgid ""
--"It is not possible to switch enabled streams of a module 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 ""
- "無法切換模組的已啟用串流。\n"
--"建議移除模組的所有已安裝內容,並使用 '{prog} module reset <module_name>' 命令重設模組。重設完模組後,就可以安裝其他串流。"
-+"建議移除模組的所有已安裝內容,並使用 '{prog} module reset <module_name>' 命令"
-+"重設模組。重設完模組後,就可以安裝其他串流。"
- 
- #: dnf/cli/cli.py:212
- #, python-brace-format
-@@ -693,8 +700,8 @@ msgstr "沒有軟體庫符合:%s"
- 
- #: dnf/cli/cli.py:719
- msgid ""
--"This command has to be run with superuser privileges (under the root user on"
--" most systems)."
-+"This command has to be run with superuser privileges (under the root user on "
-+"most systems)."
- msgstr "此命令需要以超級使用者權限執行(大部分系統是在 root 使用者下)。"
- 
- #: dnf/cli/cli.py:749
-@@ -707,7 +714,8 @@ 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:756
- #, python-brace-format
-@@ -729,14 +737,16 @@ 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:902
- msgid ""
- "Warning: Enforcing GPG signature check globally as per active RPM security "
- "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)"
- msgstr ""
--"警告:因為作用中的 RPM 安全性策略,已強制執行全域 GPG 簽名檢查(請參閱 dnf.conf(5) 的「gpgcheck」以了解如何隱藏此則訊息)"
-+"警告:因為作用中的 RPM 安全性策略,已強制執行全域 GPG 簽名檢查(請參閱 dnf."
-+"conf(5) 的「gpgcheck」以了解如何隱藏此則訊息)"
- 
- #: dnf/cli/cli.py:922
- msgid "Config file \"{}\" does not exist"
-@@ -787,7 +797,8 @@ msgstr "您的 RPMDB 可能損壞,可執行「%s」可能會修復這個問題
- #, python-brace-format
- msgid ""
- "You have enabled checking of packages via GPG keys. This is a good thing.\n"
--"However, you do not have any GPG public keys installed. You need to download\n"
-+"However, you do not have any GPG public keys installed. You need to "
-+"download\n"
- "the keys for packages you wish to install and install them.\n"
- "You can do that by running the command:\n"
- "    rpm --import public.gpg.key\n"
-@@ -1235,8 +1246,8 @@ msgstr ""
- 
- #: dnf/cli/commands/history.py:68
- msgid ""
--"For the replay command, don't check for installed packages matching those in"
--" transaction"
-+"For the replay command, don't check for installed packages matching those in "
-+"transaction"
- msgstr ""
- 
- #: dnf/cli/commands/history.py:71
-@@ -1247,8 +1258,8 @@ msgstr ""
- 
- #: dnf/cli/commands/history.py:74
- msgid ""
--"For the replay command, skip packages that are not available or have missing"
--" dependencies"
-+"For the replay command, skip packages that are not available or have missing "
-+"dependencies"
- msgstr ""
- 
- #: dnf/cli/commands/history.py:94
-@@ -1283,8 +1294,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
-@@ -1437,8 +1448,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
-@@ -1710,7 +1721,8 @@ msgstr "搜尋軟體包符合的關鍵詞"
- msgid ""
- "Query all packages (shorthand for repoquery '*' or repoquery without "
- "argument)"
--msgstr "查詢所有軟體包(為軟體包查詢「*」或不包含引數的軟體包查詢的 shorthand)"
-+msgstr ""
-+"查詢所有軟體包(為軟體包查詢「*」或不包含引數的軟體包查詢的 shorthand)"
- 
- #: dnf/cli/commands/repoquery.py:124
- msgid "Query all versions of packages (default)"
-@@ -1796,7 +1808,8 @@ msgstr "在相應的來源 RPM 上執行"
- msgid ""
- "show N latest packages for a given name.arch (or latest but N if N is "
- "negative)"
--msgstr "為提供的 name.arch 顯示 N 個最新的軟體包(或最新、除了 N 如果 N 是否定的)"
-+msgstr ""
-+"為提供的 name.arch 顯示 N 個最新的軟體包(或最新、除了 N 如果 N 是否定的)"
- 
- #: dnf/cli/commands/repoquery.py:177
- msgid "list also packages of inactive module streams"
-@@ -1821,9 +1834,11 @@ msgstr "顯示軟體包的變更紀錄"
- #: dnf/cli/commands/repoquery.py:194
- #, python-format, python-brace-format
- msgid ""
--"display format for listing packages: \"%%{name} %%{version} ...\", use "
--"--querytags to view full tag list"
--msgstr "軟體包清單的顯示格式:「%%{name} %%{version} ...」,使用 --querytags 檢視完整標籤清單"
-+"display format for listing packages: \"%%{name} %%{version} ...\", use --"
-+"querytags to view full tag list"
-+msgstr ""
-+"軟體包清單的顯示格式:「%%{name} %%{version} ...」,使用 --querytags 檢視完整"
-+"標籤清單"
- 
- #: dnf/cli/commands/repoquery.py:198
- msgid "show available tags to use with --queryformat"
-@@ -1833,7 +1848,8 @@ msgstr "與 --queryformat 顯示可供使用的標籤"
- msgid ""
- "use name-epoch:version-release.architecture format for displaying found "
- "packages (default)"
--msgstr "使用 name-epoch:version-release.architecture 格式來顯示找到的軟體包(預設值)"
-+msgstr ""
-+"使用 name-epoch:version-release.architecture 格式來顯示找到的軟體包(預設值)"
- 
- #: dnf/cli/commands/repoquery.py:205
- msgid ""
-@@ -1900,8 +1916,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."
-@@ -1950,23 +1966,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"
-@@ -1980,13 +1996,17 @@ msgstr "軟體包 {} 不包含任何檔案"
- #, python-brace-format
- msgid ""
- "No valid switch specified\n"
--"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
-+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
-+"tree]\n"
- "\n"
- "description:\n"
- "  For the given packages print a tree of thepackages."
- msgstr ""
- "未指定有效的開關選項\n"
--"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n"
-+"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--"
-+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--"
-+"tree]\n"
- "\n"
- "描述:\n"
- "  列出提供軟體包的樹狀圖。"
-@@ -2026,8 +2046,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 " & "
-@@ -2545,7 +2564,9 @@ msgstr "錯誤輸出等級"
- msgid ""
- "enables {prog}'s obsoletes processing logic for upgrade or display "
- "capabilities that the package obsoletes for info, list and repoquery"
--msgstr "啟用 {prog} 中 upgrade 的棄用處理邏輯,或啟用 info、list 和 repoquery 顯示軟體包棄用的功能"
-+msgstr ""
-+"啟用 {prog} 中 upgrade 的棄用處理邏輯,或啟用 info、list 和 repoquery 顯示軟"
-+"體包棄用的功能"
- 
- #: dnf/cli/option_parser.py:251
- msgid "debugging output level for rpm"
-@@ -2567,8 +2588,8 @@ msgstr "啟用額外軟體庫。列出選項。支援 Glob,可多次指定。"
- 
- #: dnf/cli/option_parser.py:266
- msgid ""
--"Disable repositories. List option. Supports globs, can be specified multiple"
--" times."
-+"Disable repositories. List option. Supports globs, can be specified multiple "
-+"times."
- msgstr "停用軟體庫。列出選項。支援 Glob,可多次指定。"
- 
- #: dnf/cli/option_parser.py:270
-@@ -2597,7 +2618,8 @@ msgstr "停用 excludepkgs"
- msgid ""
- "label and path to an additional repository to use (same path as in a "
- "baseurl), can be specified multiple times."
--msgstr "要使用之額外軟體庫的標籤與路徑(跟基礎 URL 中的路徑一致),可多次指定。"
-+msgstr ""
-+"要使用之額外軟體庫的標籤與路徑(跟基礎 URL 中的路徑一致),可多次指定。"
- 
- #: dnf/cli/option_parser.py:297
- msgid "disable removal of dependencies that are no longer used"
-@@ -3450,10 +3472,6 @@ msgstr "    開始於:%s - %s 之前"
- msgid "    State  : %s"
- msgstr "    狀態:%s"
- 
--#: dnf/comps.py:104
--msgid "skipping."
--msgstr "略過。"
--
- #: dnf/comps.py:196 dnf/comps.py:692 dnf/comps.py:706
- #, python-format
- msgid "Module or Group '%s' is not installed."
-@@ -3508,11 +3526,15 @@ msgstr "無法解析「%s」:%s"
- msgid "Invalid configuration value: %s=%s in %s; %s"
- msgstr "未知的設定值:%s = %s 於 %s;%s"
- 
--#: dnf/conf/config.py:226
-+#: dnf/conf/config.py:194
-+msgid "Cannot set \"{}\" to \"{}\": {}"
-+msgstr ""
-+
-+#: dnf/conf/config.py:244
- msgid "Could not set cachedir: {}"
- msgstr "無法設定 cachedir:{}"
- 
--#: dnf/conf/config.py:275
-+#: dnf/conf/config.py:293
- msgid ""
- "Configuration file URL \"{}\" could not be downloaded:\n"
- "  {}"
-@@ -3520,31 +3542,31 @@ msgstr ""
- "無法下載「{}」設定檔 URL:\n"
- "  {}"
- 
--#: dnf/conf/config.py:355 dnf/conf/config.py:391
-+#: dnf/conf/config.py:373 dnf/conf/config.py:409
- #, python-format
- msgid "Unknown configuration option: %s = %s"
- msgstr "無效的設定選項:%s = %s"
- 
--#: dnf/conf/config.py:372
-+#: dnf/conf/config.py:390
- #, python-format
- msgid "Error parsing --setopt with key '%s', value '%s': %s"
- msgstr "以「%s」鍵,「%s」值解析 --setopt 時發生錯誤:%s"
- 
--#: dnf/conf/config.py:380
-+#: dnf/conf/config.py:398
- #, python-format
- msgid "Main config did not have a %s attr. before setopt"
- msgstr "主組態未在 setopt 之前設定 %s 屬性"
- 
--#: dnf/conf/config.py:427 dnf/conf/config.py:445
-+#: dnf/conf/config.py:445 dnf/conf/config.py:463
- msgid "Incorrect or unknown \"{}\": {}"
- msgstr "錯誤的或者是無效的 \"{}\": {}"
- 
--#: dnf/conf/config.py:501
-+#: dnf/conf/config.py:519
- #, python-format
- msgid "Error parsing --setopt with key '%s.%s', value '%s': %s"
- msgstr "以「%s.%s」鍵,「%s」值解析 --setopt 時發生錯誤:%s"
- 
--#: dnf/conf/config.py:504
-+#: dnf/conf/config.py:522
- #, python-format
- msgid "Repo %s did not have a %s attr. before setopt"
- msgstr "%s 軟體庫未在 setopt 之前設定 %s 屬性"
-@@ -3625,7 +3647,7 @@ msgstr "沒有「{}」模組化軟體包可用的模組化中介資料"
- msgid "Will not install a source rpm package (%s)."
- msgstr "將不會安裝 RPM 原始檔(%s)。"
- 
--#: dnf/dnssec.py:168
-+#: dnf/dnssec.py:171
- #, fuzzy
- #| msgid ""
- #| "Configuration option 'gpgkey_dns_verification' requires libunbound ({})"
-@@ -3633,27 +3655,27 @@ msgid ""
- "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})"
- msgstr "「gpgkey_dns_verification」設定選項需要 libunbound ({})"
- 
--#: dnf/dnssec.py:239
-+#: dnf/dnssec.py:243
- msgid "DNSSEC extension: Key for user "
- msgstr "DNSSEC 擴充:給使用者的金鑰 "
- 
--#: dnf/dnssec.py:241
-+#: dnf/dnssec.py:245
- msgid "is valid."
- msgstr "有效。"
- 
--#: dnf/dnssec.py:243
-+#: dnf/dnssec.py:247
- msgid "has unknown status."
- msgstr "狀態未知。"
- 
--#: dnf/dnssec.py:251
-+#: dnf/dnssec.py:255
- msgid "DNSSEC extension: "
- msgstr "DNSSEC 擴充: "
- 
--#: dnf/dnssec.py:283
-+#: dnf/dnssec.py:287
- msgid "Testing already imported keys for their validity."
- msgstr "測試已經匯入的金鑰其有效性。"
- 
--#: dnf/drpm.py:62 dnf/repo.py:268
-+#: dnf/drpm.py:62 dnf/repo.py:267
- #, python-format
- msgid "unsupported checksum type: %s"
- msgstr "未支援的查核碼類型:%s"
-@@ -3695,7 +3717,7 @@ msgid "Modular dependency problem with Defaults:"
- msgid_plural "Modular dependency problems with Defaults:"
- msgstr[0] "預設值發生模組依賴關係問題:"
- 
--#: dnf/exceptions.py:131 dnf/module/module_base.py:854
-+#: dnf/exceptions.py:131 dnf/module/module_base.py:857
- msgid "Modular dependency problem:"
- msgid_plural "Modular dependency problems:"
- msgstr[0] "模組化的依賴關係問題:"
-@@ -3704,10 +3726,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 '{}'."
-@@ -3800,7 +3824,7 @@ msgstr ""
- "提示:[d] 預設、[e] 已啟用, [x] 已停用, [i] 已安裝, [a] 作用中"
- 
- #: dnf/module/module_base.py:56 dnf/module/module_base.py:556
--#: dnf/module/module_base.py:615 dnf/module/module_base.py:681
-+#: dnf/module/module_base.py:615 dnf/module/module_base.py:684
- msgid "Ignoring unnecessary profile: '{}/{}'"
- msgstr "忽略不必要的設定檔:「{}/{}」"
- 
-@@ -3841,8 +3865,7 @@ msgstr "不允許從防故障軟體庫安裝模組"
- 
- #: dnf/module/module_base.py:196
- #, fuzzy, python-brace-format
--#| msgid ""
--#| "All matches for argument '{0}' in module '{1}:{2}' are not active"
-+#| msgid "All matches for argument '{0}' in module '{1}:{2}' are not active"
- msgid "No active matches for argument '{0}' in module '{1}:{2}'"
- msgstr "所有「{1}:{2}」模組中的「{0}」引數符合項目皆未作用中"
- 
-@@ -3859,7 +3882,7 @@ msgstr ""
- #: dnf/module/module_base.py:310 dnf/module/module_base.py:461
- #: dnf/module/module_base.py:486 dnf/module/module_base.py:505
- #: dnf/module/module_base.py:552 dnf/module/module_base.py:611
--#: dnf/module/module_base.py:677 dnf/module/module_base.py:840
-+#: dnf/module/module_base.py:680 dnf/module/module_base.py:843
- msgid "Unable to resolve argument {}"
- msgstr "無法解析 {} 引數"
- 
-@@ -3879,17 +3902,16 @@ 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 ""
- 
- #: 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:841
-+#: dnf/module/module_base.py:844
- msgid "No match for package {}"
- msgstr "找不到符合的軟體包 {}"
- 
-@@ -3950,7 +3972,7 @@ msgid "Already downloaded"
- msgstr "已經下載"
- 
- #. pinging mirrors, this might take a while
--#: dnf/repo.py:347
-+#: dnf/repo.py:346
- #, python-format
- msgid "determining the fastest mirror (%s hosts).. "
- msgstr "正在決定最快速的鏡像站 (%s 主機)… "
-@@ -3974,7 +3996,15 @@ msgstr ""
- msgid "Cannot find rpmkeys executable to verify signatures."
- msgstr ""
- 
--#: dnf/rpm/transaction.py:119
-+#: dnf/rpm/transaction.py:70
-+msgid "The openDB() function connot open rpm database."
-+msgstr ""
-+
-+#: dnf/rpm/transaction.py:75
-+msgid "The dbCookie() function did not return cookie of rpm database."
-+msgstr ""
-+
-+#: dnf/rpm/transaction.py:135
- msgid "Errors occurred during test transaction."
- msgstr "測試處理事項時發生錯誤。"
- 
-@@ -4082,7 +4112,8 @@ msgstr ""
- 
- #: dnf/transaction_sr.py:289
- #, python-brace-format
--msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
-+msgid ""
-+"Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"."
- msgstr ""
- 
- #: dnf/transaction_sr.py:297
-@@ -4115,7 +4146,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 ""
- 
- #: dnf/transaction_sr.py:377
-@@ -4165,7 +4197,9 @@ msgstr ""
- 
- #: dnf/transaction_sr.py:571
- #, python-brace-format
--msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"."
-+msgid ""
-+"Unexpected value of environment action \"{action}\" for environment "
-+"\"{env}\"."
- msgstr ""
- 
- #: dnf/transaction_sr.py:576
-@@ -4176,8 +4210,8 @@ msgstr ""
- #: dnf/transaction_sr.py:615
- #, python-brace-format
- msgid ""
--"Package nevra \"{nevra}\", which is not present in the transaction file, was"
--" pulled into the transaction."
-+"Package nevra \"{nevra}\", which is not present in the transaction file, was "
-+"pulled into the transaction."
- msgstr ""
- 
- #: dnf/util.py:417 dnf/util.py:419
-@@ -4217,6 +4251,9 @@ msgstr "失敗"
- msgid "<name-unset>"
- msgstr "<名稱未設定>"
- 
-+#~ msgid "skipping."
-+#~ msgstr "略過。"
-+
- #~ msgid "%s: %s check failed: %s vs %s"
- #~ msgstr "%s:%s 檢查失敗:%s 比對 %s"
- 
-@@ -4242,5 +4279,6 @@ msgstr "<名稱未設定>"
- #~ msgstr "給予的處理事項 ID、或軟體包不良"
- 
- #~ msgid ""
--#~ "Display capabilities that the package depends on for running a %%pre script."
-+#~ "Display capabilities that the package depends on for running a %%pre "
-+#~ "script."
- #~ msgstr "顯示軟體包執行在 %%pre 指令上的功能。"
--- 
-2.35.1
-
diff --git a/SPECS/dnf.spec b/SPECS/dnf.spec
index 9bafd9f..71738ac 100644
--- a/SPECS/dnf.spec
+++ b/SPECS/dnf.spec
@@ -2,7 +2,7 @@
 %define __cmake_in_source_build 1
 
 # default dependencies
-%global hawkey_version 0.65.0
+%global hawkey_version 0.66.0
 %global libcomps_version 0.1.8
 %global libmodulemd_version 2.9.3
 %global rpm_version 4.14.0
@@ -65,19 +65,19 @@
 It supports RPMs, modules and comps groups & environments.
 
 Name:           dnf
-Version:        4.10.0
-Release:        5%{?dist}
+Version:        4.12.0
+Release:        3%{?dist}
 Summary:        %{pkg_summary}
 # For a breakdown of the licensing, see PACKAGE-LICENSING
 License:        GPLv2+
 URL:            https://github.com/rpm-software-management/dnf
 Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
-Patch1:         0001-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch
-Patch2:         0002-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch
-Patch3:         0003-Documentation-API-notes-for-cacheonly.patch
-Patch4:         0004-Use-rpm.TransactionSet.dbCookie-to-determining-if-rp.patch
-Patch5:         0005-Update-translations-RhBug-2017347.patch
 
+# Upstream commit which fixes leak of libsolv's page file descriptors.
+# https://github.com/rpm-software-management/dnf/commit/5ce5ed1ea08ad6e198c1c1642c4d9ea2db6eab86
+Patch0001:      0001-Base.reset-plug-temporary-leak-of-libsolv-s-page-fil.patch
+Patch0002:      0002-Add-only-relevant-pkgs-to-upgrade-transaction-RhBug-.patch
+Patch0003:      0003-Use-installed_all-because-installed_query-is-filtere.patch
 BuildArch:      noarch
 BuildRequires:  cmake
 BuildRequires:  gettext
@@ -257,22 +257,13 @@ popd
 
 
 %post automatic
-%systemd_post dnf-automatic.timer
-%systemd_post dnf-automatic-notifyonly.timer
-%systemd_post dnf-automatic-download.timer
-%systemd_post dnf-automatic-install.timer
+%systemd_post dnf-automatic.timer dnf-automatic-notifyonly.timer dnf-automatic-download.timer dnf-automatic-install.timer
 
 %preun automatic
-%systemd_preun dnf-automatic.timer
-%systemd_preun dnf-automatic-notifyonly.timer
-%systemd_preun dnf-automatic-download.timer
-%systemd_preun dnf-automatic-install.timer
+%systemd_preun dnf-automatic.timer dnf-automatic-notifyonly.timer dnf-automatic-download.timer dnf-automatic-install.timer
 
 %postun automatic
-%systemd_postun_with_restart dnf-automatic.timer
-%systemd_postun_with_restart dnf-automatic-notifyonly.timer
-%systemd_postun_with_restart dnf-automatic-download.timer
-%systemd_postun_with_restart dnf-automatic-install.timer
+%systemd_postun_with_restart dnf-automatic.timer dnf-automatic-notifyonly.timer dnf-automatic-download.timer dnf-automatic-install.timer
 
 
 %files -f %{name}.lang
@@ -375,8 +366,32 @@ popd
 %{python3_sitelib}/%{name}/automatic/
 
 %changelog
-* Mon Mar 21 2022 Marek Blaha <mblaha@redhat.com> - 4.10.0-5
-- Update translations
+* Tue Jul 19 2022 Lukas Hrazky <lhrazky@redhat.com> - 4.12.0-3
+- Add only relevant pkgs to upgrade transaction (RhBug:2097757)
+
+* Thu Apr 28 2022 Richard W.M. Jones <rjones@redhat.com> - 4.12.0-2
+- Backport fix for leak of libsolv's page file descriptors
+
+* Thu Apr 28 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.12.0-1
+- Allow destdir option with modulesync command
+- Add documentation for query api flags (RhBug:2035577)
+- Fix swap command to work with local rpm files correctly (RhBug:2036434)
+- Fix regression in verifying signatures using rpmkeys
+- Fix decompression of groups.xml (RhBug:2030255)
+- Fix history undo on a Reason Change (RhBug:2010259,2053014)
+- Remove /usr/bin from sys.path to avoid accidentally importing garbage
+- Fix python3.11 build: remove deprecated, update traceback regex
+- fix dnf mark error when history sqlite missing
+- [doc] clarify effect of --enablerepo and --disablerepo options (RhBug:2031414)
+- [doc] default values for module_obsoletes and module_stream_switch (RhBug: 2051846)
+- dnf.conf: hint users where to find more info about defaults and other options
+- Fix unittests that relied on checksum being at the end of solvfiles
+- completion: remove unnecessary echo
+- Fix remove when no repos are enabled (RhBug:2064341)
+- Add loongarch support for dnf
+- Add spaces between words to fix typos (RhBug:2077296)
+- [doc] Improve "proxy" configuration option documentation (RhBug:2072332)
+- Fix download errors handling in non-english locales (RhBug:2024527)
 
 * Mon Feb 07 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 4.10.0-4
 - Use rpm.TransactionSet.dbCookie() to determining if rpmdb has changed (RhBug:2043476)