From 57f07d2586a9d3d38361cf4e92078c499965cf3d Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 15 Nov 2022 02:02:57 -0500 Subject: [PATCH] import dnf-4.12.0-4.el9 --- .dnf.metadata | 2 +- .gitignore | 2 +- ...temporary-leak-of-libsolv-s-page-fil.patch | 317 + ...ltilib_policyall-RhBug19966811995630.patch | 29 - ...t-pkgs-to-upgrade-transaction-RhBug-.patch | 64 + ...s-not-respect-cacheonly-RhBug1862970.patch | 33 - ...ocumentation-API-notes-for-cacheonly.patch | 26 - ...l-because-installed_query-is-filtere.patch | 37 + ...> 0004-Update-translations-RHEL-9.1.patch} | 6533 ++++++++--------- ...ionSet.dbCookie-to-determining-if-rp.patch | 169 - SPECS/dnf.spec | 61 +- 11 files changed, 3346 insertions(+), 3927 deletions(-) create mode 100644 SOURCES/0001-Base.reset-plug-temporary-leak-of-libsolv-s-page-fil.patch delete mode 100644 SOURCES/0001-doc-Improve-description-of-multilib_policyall-RhBug19966811995630.patch create mode 100644 SOURCES/0002-Add-only-relevant-pkgs-to-upgrade-transaction-RhBug-.patch delete mode 100644 SOURCES/0002-Fix-Python-dnf-API-does-not-respect-cacheonly-RhBug1862970.patch delete mode 100644 SOURCES/0003-Documentation-API-notes-for-cacheonly.patch create mode 100644 SOURCES/0003-Use-installed_all-because-installed_query-is-filtere.patch rename SOURCES/{0005-Update-translations-RhBug-2017347.patch => 0004-Update-translations-RHEL-9.1.patch} (58%) delete mode 100644 SOURCES/0004-Use-rpm.TransactionSet.dbCookie-to-determining-if-rp.patch 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 +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 . 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: +.) + +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 +--- + 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 -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 ` - -- 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?= +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 +#>=Pkg: A 1 1 x86_64 +#>=Pkg: B 1 1 x86_64 +#>=Req: A = 1-1 + +repo available 0 testtags +#>=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 -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 -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?= +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/0005-Update-translations-RhBug-2017347.patch b/SOURCES/0004-Update-translations-RHEL-9.1.patch similarity index 58% rename from SOURCES/0005-Update-translations-RhBug-2017347.patch rename to SOURCES/0004-Update-translations-RHEL-9.1.patch index e071bf5..e3df2ee 100644 --- a/SOURCES/0005-Update-translations-RhBug-2017347.patch +++ b/SOURCES/0004-Update-translations-RHEL-9.1.patch @@ -1,217 +1,325 @@ -From 8b7fb547e6938b91e5e158cfe21813bc59eff704 Mon Sep 17 00:00:00 2001 +From acef94b4552fba6ff788b8e4f041afedd9c7cde7 Mon Sep 17 00:00:00 2001 From: Marek Blaha -Date: Mon, 21 Mar 2022 10:28:46 +0100 -Subject: [PATCH] Update translations (RhBug:2017347) +Date: Thu, 15 Sep 2022 13:42:01 +0200 +Subject: [PATCH] Update translations RHEL 9.1 --- - 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(-) + po/dnf.pot | 272 +++++++++--------- + po/fr.po | 579 ++++++++++++++++++++------------------ + po/ja.po | 794 ++++++++++++++++++++++++++++++++-------------------- + po/ko.po | 605 ++++++++++++++++++++++----------------- + po/zh_CN.po | 518 +++++++++++++++++++--------------- + 5 files changed, 1571 insertions(+), 1197 deletions(-) diff --git a/po/dnf.pot b/po/dnf.pot -index d7612013..8d98a664 100644 +index a8d34d09..3104f8ac 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" +-"POT-Creation-Date: 2022-01-12 01:51+0000\n" ++"POT-Creation-Date: 2022-08-31 13:42+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -@@ -191,155 +191,155 @@ msgstr "" +@@ -101,245 +101,245 @@ msgstr "" + msgid "Error: %s" + msgstr "" + +-#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479 ++#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481 + msgid "loading repo '{}' failure: {}" + msgstr "" + +-#: dnf/base.py:150 ++#: dnf/base.py:152 + msgid "Loading repository '{}' has failed" + msgstr "" + +-#: dnf/base.py:327 ++#: dnf/base.py:329 + msgid "Metadata timer caching disabled when running on metered connection." + msgstr "" + +-#: dnf/base.py:332 ++#: dnf/base.py:334 + msgid "Metadata timer caching disabled when running on a battery." + msgstr "" + +-#: dnf/base.py:337 ++#: dnf/base.py:339 + msgid "Metadata timer caching disabled." + msgstr "" + +-#: dnf/base.py:342 ++#: dnf/base.py:344 + msgid "Metadata cache refreshed recently." + msgstr "" + +-#: dnf/base.py:348 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:350 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "" + +-#: dnf/base.py:355 ++#: dnf/base.py:357 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "" + +-#: dnf/base.py:357 ++#: dnf/base.py:359 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "" + + #. expires within the checking period: +-#: dnf/base.py:361 ++#: dnf/base.py:363 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "" + +-#: dnf/base.py:365 ++#: dnf/base.py:367 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "" + + #. performs the md sync +-#: dnf/base.py:371 ++#: dnf/base.py:373 + msgid "Metadata cache created." + msgstr "" + +-#: dnf/base.py:404 dnf/base.py:471 ++#: dnf/base.py:406 dnf/base.py:473 + #, python-format + msgid "%s: using metadata from %s." + msgstr "" + +-#: dnf/base.py:416 dnf/base.py:484 ++#: dnf/base.py:418 dnf/base.py:486 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "" + +-#: dnf/base.py:419 ++#: dnf/base.py:421 + #, python-format + msgid "Last metadata expiration check: %s ago on %s." + msgstr "" + +-#: dnf/base.py:512 ++#: dnf/base.py:514 + msgid "" + "The downloaded packages were saved in cache until the next successful " + "transaction." + msgstr "" + +-#: dnf/base.py:514 ++#: dnf/base.py:516 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "" + +-#: dnf/base.py:606 ++#: dnf/base.py:648 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "" + +-#: dnf/base.py:662 ++#: dnf/base.py:706 + #, python-format msgid "Failed to add groups file for repository: %s - %s" msgstr "" --#: dnf/base.py:904 -+#: dnf/base.py:922 +-#: dnf/base.py:922 ++#: dnf/base.py:968 msgid "Running transaction check" msgstr "" --#: dnf/base.py:912 -+#: dnf/base.py:930 +-#: dnf/base.py:930 ++#: dnf/base.py:976 msgid "Error: transaction check vs depsolve:" msgstr "" --#: dnf/base.py:918 -+#: dnf/base.py:936 +-#: dnf/base.py:936 ++#: dnf/base.py:982 msgid "Transaction check succeeded." msgstr "" --#: dnf/base.py:921 -+#: dnf/base.py:939 +-#: dnf/base.py:939 ++#: dnf/base.py:985 msgid "Running transaction test" msgstr "" --#: dnf/base.py:931 dnf/base.py:1082 -+#: dnf/base.py:949 dnf/base.py:1100 +-#: dnf/base.py:949 dnf/base.py:1100 ++#: dnf/base.py:995 dnf/base.py:1146 msgid "RPM: {}" msgstr "" --#: dnf/base.py:932 -+#: dnf/base.py:950 +-#: dnf/base.py:950 ++#: dnf/base.py:996 msgid "Transaction test error:" msgstr "" --#: dnf/base.py:943 -+#: dnf/base.py:961 +-#: dnf/base.py:961 ++#: dnf/base.py:1007 msgid "Transaction test succeeded." msgstr "" --#: dnf/base.py:964 -+#: dnf/base.py:982 +-#: dnf/base.py:982 ++#: dnf/base.py:1028 msgid "Running transaction" msgstr "" --#: dnf/base.py:1001 -+#: dnf/base.py:1019 +-#: dnf/base.py:1019 ++#: dnf/base.py:1065 msgid "Disk Requirements:" msgstr "" --#: dnf/base.py:1004 -+#: dnf/base.py:1022 +-#: dnf/base.py:1022 ++#: dnf/base.py:1068 #, 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 +-#: dnf/base.py:1029 ++#: dnf/base.py:1075 msgid "Error Summary" msgstr "" --#: dnf/base.py:1037 -+#: dnf/base.py:1055 +-#: dnf/base.py:1055 ++#: dnf/base.py:1101 #, 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 +-#: dnf/base.py:1101 dnf/base.py:1109 ++#: dnf/base.py:1147 dnf/base.py:1155 msgid "Could not run transaction." msgstr "" --#: dnf/base.py:1086 -+#: dnf/base.py:1104 +-#: dnf/base.py:1104 ++#: dnf/base.py:1150 msgid "Transaction couldn't start:" msgstr "" --#: dnf/base.py:1100 -+#: dnf/base.py:1118 +-#: dnf/base.py:1118 ++#: dnf/base.py:1164 #, python-format msgid "Failed to remove transaction file %s" msgstr "" --#: dnf/base.py:1182 -+#: dnf/base.py:1200 +-#: dnf/base.py:1200 ++#: dnf/base.py:1246 msgid "Some packages were not downloaded. Retrying." msgstr "" --#: dnf/base.py:1212 -+#: dnf/base.py:1230 +-#: dnf/base.py:1230 ++#: dnf/base.py:1276 #, python-format msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)" msgstr "" --#: dnf/base.py:1216 -+#: dnf/base.py:1234 +-#: dnf/base.py:1234 ++#: dnf/base.py:1280 #, 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 +-#: dnf/base.py:1276 ++#: dnf/base.py:1322 msgid "Cannot add local packages, because transaction job already exists" msgstr "" --#: dnf/base.py:1272 -+#: dnf/base.py:1290 +-#: dnf/base.py:1290 ++#: dnf/base.py:1336 msgid "Could not open: {}" msgstr "" --#: dnf/base.py:1310 -+#: dnf/base.py:1328 +-#: dnf/base.py:1328 ++#: dnf/base.py:1374 #, python-format msgid "Public key for %s is not installed" msgstr "" --#: dnf/base.py:1314 -+#: dnf/base.py:1332 +-#: dnf/base.py:1332 ++#: dnf/base.py:1378 #, python-format msgid "Problem opening package %s" msgstr "" --#: dnf/base.py:1322 -+#: dnf/base.py:1340 +-#: dnf/base.py:1340 ++#: dnf/base.py:1386 #, python-format msgid "Public key for %s is not trusted" msgstr "" --#: dnf/base.py:1326 -+#: dnf/base.py:1344 +-#: dnf/base.py:1344 ++#: dnf/base.py:1390 #, python-format msgid "Package %s is not signed" msgstr "" --#: dnf/base.py:1356 -+#: dnf/base.py:1374 +-#: dnf/base.py:1374 ++#: dnf/base.py:1420 #, python-format msgid "Cannot remove %s" msgstr "" --#: dnf/base.py:1360 -+#: dnf/base.py:1378 +-#: dnf/base.py:1378 ++#: dnf/base.py:1424 #, python-format msgid "%s removed" msgstr "" --#: dnf/base.py:1640 -+#: dnf/base.py:1658 +-#: dnf/base.py:1658 ++#: dnf/base.py:1704 msgid "No match for group package \"{}\"" msgstr "" --#: dnf/base.py:1726 -+#: dnf/base.py:1740 +-#: dnf/base.py:1740 ++#: dnf/base.py:1786 #, 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/base.py:1763 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437 ++#: dnf/base.py:1809 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 +-#: dnf/base.py:1781 ++#: dnf/base.py:1827 msgid "No groups marked for removal." msgstr "" --#: dnf/base.py:1801 -+#: dnf/base.py:1815 +-#: dnf/base.py:1815 ++#: dnf/base.py:1861 msgid "No group marked for upgrade." msgstr "" --#: dnf/base.py:2015 -+#: dnf/base.py:2029 +-#: dnf/base.py:2029 ++#: dnf/base.py:2075 #, 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/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/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136 ++#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417 #: dnf/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 @@ -219,153 +327,153 @@ index d7612013..8d98a664 100644 msgid "No match for argument: %s" msgstr "" --#: dnf/base.py:2024 -+#: dnf/base.py:2038 +-#: dnf/base.py:2038 ++#: dnf/base.py:2084 #, python-format msgid "Package %s of lower version already installed, cannot downgrade it." msgstr "" --#: dnf/base.py:2047 -+#: dnf/base.py:2061 +-#: dnf/base.py:2061 ++#: dnf/base.py:2107 #, python-format msgid "Package %s not installed, cannot reinstall it." msgstr "" --#: dnf/base.py:2062 -+#: dnf/base.py:2076 +-#: dnf/base.py:2076 ++#: dnf/base.py:2122 #, python-format msgid "File %s is a source package and cannot be updated, ignoring." msgstr "" --#: dnf/base.py:2073 -+#: dnf/base.py:2087 +-#: dnf/base.py:2087 ++#: dnf/base.py:2133 #, python-format msgid "Package %s not installed, cannot update it." msgstr "" --#: dnf/base.py:2083 -+#: dnf/base.py:2097 +-#: dnf/base.py:2097 ++#: dnf/base.py:2143 #, 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 +-#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2203 dnf/cli/commands/reinstall.py:81 #, python-format msgid "Package %s available, but not installed." msgstr "" --#: dnf/base.py:2132 -+#: dnf/base.py:2146 +-#: dnf/base.py:2146 ++#: dnf/base.py:2209 #, python-format msgid "Package %s available, but installed for different architecture." msgstr "" --#: dnf/base.py:2157 -+#: dnf/base.py:2171 +-#: dnf/base.py:2171 ++#: dnf/base.py:2234 #, 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/base.py:2189 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2252 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/base.py:2204 dnf/cli/commands/__init__.py:676 ++#: dnf/base.py:2267 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 +-#: dnf/base.py:2292 dnf/cli/cli.py:428 ++#: dnf/base.py:2355 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 +-#: dnf/base.py:2297 ++#: dnf/base.py:2360 #, python-format msgid "Package %s of lowest version already installed, cannot downgrade it." msgstr "" --#: dnf/base.py:2383 -+#: dnf/base.py:2397 +-#: dnf/base.py:2397 ++#: dnf/base.py:2460 msgid "No security updates needed, but {} update available" msgstr "" --#: dnf/base.py:2385 -+#: dnf/base.py:2399 +-#: dnf/base.py:2399 ++#: dnf/base.py:2462 msgid "No security updates needed, but {} updates available" msgstr "" --#: dnf/base.py:2389 -+#: dnf/base.py:2403 +-#: dnf/base.py:2403 ++#: dnf/base.py:2466 msgid "No security updates needed for \"{}\", but {} update available" msgstr "" --#: dnf/base.py:2391 -+#: dnf/base.py:2405 +-#: dnf/base.py:2405 ++#: dnf/base.py:2468 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 +-#: dnf/base.py:2426 ++#: dnf/base.py:2489 #, python-format msgid "Unable to retrieve a key for a commandline package: %s" msgstr "" --#: dnf/base.py:2420 -+#: dnf/base.py:2434 +-#: dnf/base.py:2434 ++#: dnf/base.py:2497 #, python-format msgid ". Failing package is: %s" msgstr "" --#: dnf/base.py:2421 -+#: dnf/base.py:2435 +-#: dnf/base.py:2435 ++#: dnf/base.py:2498 #, python-format msgid "GPG Keys are configured as: %s" msgstr "" --#: dnf/base.py:2433 -+#: dnf/base.py:2447 +-#: dnf/base.py:2447 ++#: dnf/base.py:2510 #, python-format msgid "GPG key at %s (0x%s) is already installed" msgstr "" --#: dnf/base.py:2469 -+#: dnf/base.py:2483 +-#: dnf/base.py:2483 ++#: dnf/base.py:2546 msgid "The key has been approved." msgstr "" --#: dnf/base.py:2472 -+#: dnf/base.py:2486 +-#: dnf/base.py:2486 ++#: dnf/base.py:2549 msgid "The key has been rejected." msgstr "" --#: dnf/base.py:2505 -+#: dnf/base.py:2519 +-#: dnf/base.py:2519 ++#: dnf/base.py:2582 #, python-format msgid "Key import failed (code %d)" msgstr "" --#: dnf/base.py:2507 -+#: dnf/base.py:2521 +-#: dnf/base.py:2521 ++#: dnf/base.py:2584 msgid "Key imported successfully" msgstr "" --#: dnf/base.py:2511 -+#: dnf/base.py:2525 +-#: dnf/base.py:2525 ++#: dnf/base.py:2588 msgid "Didn't install any keys" msgstr "" --#: dnf/base.py:2514 -+#: dnf/base.py:2528 +-#: dnf/base.py:2528 ++#: dnf/base.py:2591 #, python-format msgid "" "The GPG keys listed for the \"%s\" repository are already installed but they " @@ -373,229 +481,302 @@ index d7612013..8d98a664 100644 "Check that the correct key URLs are configured for this repository." msgstr "" --#: dnf/base.py:2525 -+#: dnf/base.py:2539 +-#: dnf/base.py:2539 ++#: dnf/base.py:2602 msgid "Import of key(s) didn't help, wrong key(s)?" msgstr "" --#: dnf/base.py:2578 -+#: dnf/base.py:2592 +-#: dnf/base.py:2592 ++#: dnf/base.py:2655 msgid " * Maybe you meant: {}" msgstr "" --#: dnf/base.py:2610 -+#: dnf/base.py:2624 +-#: dnf/base.py:2624 ++#: dnf/base.py:2687 msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" msgstr "" --#: dnf/base.py:2613 -+#: dnf/base.py:2627 +-#: dnf/base.py:2627 ++#: dnf/base.py:2690 msgid "Some packages from local repository have incorrect checksum" msgstr "" --#: dnf/base.py:2616 -+#: dnf/base.py:2630 +-#: dnf/base.py:2630 ++#: dnf/base.py:2693 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" msgstr "" --#: dnf/base.py:2619 -+#: dnf/base.py:2633 +-#: dnf/base.py:2633 ++#: dnf/base.py:2696 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 +-#: dnf/base.py:2651 dnf/base.py:2671 ++#: dnf/base.py:2714 dnf/base.py:2734 msgid "No match for argument" msgstr "" --#: dnf/base.py:2645 dnf/base.py:2665 -+#: dnf/base.py:2659 dnf/base.py:2679 +-#: dnf/base.py:2659 dnf/base.py:2679 ++#: dnf/base.py:2722 dnf/base.py:2742 msgid "All matches were filtered out by exclude filtering for argument" msgstr "" --#: dnf/base.py:2647 -+#: dnf/base.py:2661 +-#: dnf/base.py:2661 ++#: dnf/base.py:2724 msgid "All matches were filtered out by modular filtering for argument" msgstr "" --#: dnf/base.py:2663 -+#: dnf/base.py:2677 +-#: dnf/base.py:2677 ++#: dnf/base.py:2740 msgid "All matches were installed from a different repository for argument" msgstr "" --#: dnf/base.py:2710 -+#: dnf/base.py:2724 +-#: dnf/base.py:2724 ++#: dnf/base.py:2787 #, python-format msgid "Package %s is already installed." msgstr "" -@@ -529,7 +529,7 @@ msgstr "" - msgid "Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s" +@@ -539,8 +539,8 @@ msgstr "" + msgid "Cannot read file \"%s\": %s" msgstr "" --#: dnf/cli/aliases.py:105 dnf/conf/config.py:457 -+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475 +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804 +-#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:806 ++#: dnf/cli/cli.py:810 dnf/cli/commands/alias.py:108 #, python-format - msgid "Parsing file \"%s\" failed: %s" + msgid "Config error: %s" msgstr "" -@@ -3354,10 +3354,6 @@ msgstr "" - msgid " State : %s" +@@ -627,7 +627,7 @@ msgstr "" + msgid "No packages marked for distribution synchronization." msgstr "" --#: dnf/comps.py:104 --msgid "skipping." +-#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395 ++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:396 + #, python-format + msgid "No package %s available." + msgstr "" +@@ -665,94 +665,96 @@ msgid "No matching Packages to list" + msgstr "" + + #: dnf/cli/cli.py:604 +-msgid "No Matches found" ++msgid "" ++"No matches found. If searching for a file, try specifying the full path or " ++"using a wildcard prefix (\"*/\") at the beginning." + msgstr "" + +-#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "" + +-#: dnf/cli/cli.py:685 ++#: dnf/cli/cli.py:687 + #, python-format + msgid "No repository match: %s" + msgstr "" + +-#: dnf/cli/cli.py:719 ++#: dnf/cli/cli.py:721 + msgid "" + "This command has to be run with superuser privileges (under the root user on " + "most systems)." + msgstr "" + +-#: dnf/cli/cli.py:749 ++#: dnf/cli/cli.py:751 + #, python-format + msgid "No such command: %s. Please use %s --help" + msgstr "" + +-#: dnf/cli/cli.py:752 ++#: dnf/cli/cli.py:754 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" + "command(%s)'\"" + msgstr "" + +-#: dnf/cli/cli.py:756 ++#: dnf/cli/cli.py:758 + #, python-brace-format + msgid "" + "It could be a {prog} plugin command, but loading of plugins is currently " + "disabled." + msgstr "" + +-#: dnf/cli/cli.py:814 ++#: dnf/cli/cli.py:816 + msgid "" + "--destdir or --downloaddir must be used with --downloadonly or download or " + "system-upgrade command." + msgstr "" + +-#: dnf/cli/cli.py:820 ++#: dnf/cli/cli.py:822 + msgid "" + "--enable, --set-enabled and --disable, --set-disabled must be used with " + "config-manager command." + msgstr "" + +-#: dnf/cli/cli.py:902 ++#: dnf/cli/cli.py:904 + msgid "" + "Warning: Enforcing GPG signature check globally as per active RPM security " + "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" + msgstr "" + +-#: dnf/cli/cli.py:922 ++#: dnf/cli/cli.py:924 + msgid "Config file \"{}\" does not exist" + msgstr "" + +-#: dnf/cli/cli.py:942 ++#: dnf/cli/cli.py:944 + msgid "" + "Unable to detect release version (use '--releasever' to specify release " + "version)" + msgstr "" + +-#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1018 dnf/cli/commands/repoquery.py:471 + msgid "argument {}: not allowed with argument {}" + msgstr "" + +-#: dnf/cli/cli.py:1023 ++#: dnf/cli/cli.py:1025 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "" + +-#: dnf/cli/cli.py:1043 ++#: dnf/cli/cli.py:1045 + msgid "Excludes in dnf.conf: " + msgstr "" + +-#: dnf/cli/cli.py:1046 ++#: dnf/cli/cli.py:1048 + msgid "Includes in dnf.conf: " + msgstr "" + +-#: dnf/cli/cli.py:1049 ++#: dnf/cli/cli.py:1051 + msgid "Excludes in repo " + msgstr "" + +-#: dnf/cli/cli.py:1052 ++#: dnf/cli/cli.py:1054 + msgid "Includes in repo " + msgstr "" + +@@ -1192,7 +1194,7 @@ msgstr "" + msgid "Invalid groups sub-command, use: %s." + msgstr "" + +-#: dnf/cli/commands/group.py:398 ++#: dnf/cli/commands/group.py:399 + msgid "Unable to find a mandatory group package." + msgstr "" + +@@ -1282,43 +1284,43 @@ msgstr "" + msgid "Transaction history is incomplete, after %u." + msgstr "" + +-#: dnf/cli/commands/history.py:256 ++#: dnf/cli/commands/history.py:267 + msgid "No packages to list" + msgstr "" + +-#: dnf/cli/commands/history.py:279 ++#: dnf/cli/commands/history.py:290 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." + msgstr "" + +-#: dnf/cli/commands/history.py:283 ++#: dnf/cli/commands/history.py:294 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." + msgstr "" + +-#: dnf/cli/commands/history.py:312 ++#: dnf/cli/commands/history.py:323 + msgid "No transaction which manipulates package '{}' was found." + msgstr "" + +-#: dnf/cli/commands/history.py:357 ++#: dnf/cli/commands/history.py:368 + msgid "{} exists, overwrite?" + msgstr "" + +-#: dnf/cli/commands/history.py:360 ++#: dnf/cli/commands/history.py:371 + msgid "Not overwriting {}, exiting." + msgstr "" + +-#: dnf/cli/commands/history.py:367 ++#: dnf/cli/commands/history.py:378 + msgid "Transaction saved to {}." + msgstr "" + +-#: dnf/cli/commands/history.py:370 ++#: dnf/cli/commands/history.py:381 + msgid "Error storing transaction: {}" + msgstr "" + +-#: dnf/cli/commands/history.py:386 ++#: dnf/cli/commands/history.py:397 + msgid "Warning, the following problems occurred while running a transaction:" + msgstr "" + +@@ -2472,17 +2474,17 @@ msgstr "" + + #: dnf/cli/option_parser.py:261 + msgid "" +-"Temporarily enable repositories for the purposeof the current dnf command. " +-"Accepts an id, acomma-separated list of ids, or a glob of ids.This option " ++"Temporarily enable repositories for the purpose of the current dnf command. " ++"Accepts an id, a comma-separated list of ids, or a glob of ids. This option " + "can be specified multiple times." + msgstr "" + + #: dnf/cli/option_parser.py:268 + msgid "" +-"Temporarily disable active repositories for thepurpose of the current dnf " +-"command. Accepts an id,a comma-separated list of ids, or a glob of ids.This " +-"option can be specified multiple times, butis mutually exclusive with `--" +-"repo`." ++"Temporarily disable active repositories for the purpose of the current dnf " ++"command. Accepts an id, a comma-separated list of ids, or a glob of ids. " ++"This option can be specified multiple times, but is mutually exclusive with " ++"`--repo`." + msgstr "" + + #: dnf/cli/option_parser.py:275 +@@ -3824,10 +3826,6 @@ msgstr "" + msgid "no matching payload factory for %s" + msgstr "" + +-#: dnf/repo.py:111 +-msgid "Already downloaded" -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 + #: dnf/repo.py:346 #, python-format - msgid "determining the fastest mirror (%s hosts).. " - msgstr "" -@@ -3850,7 +3850,15 @@ msgstr "" +@@ -3853,7 +3851,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." ++msgid "The openDB() function cannot open rpm database." +msgstr "" + +#: dnf/rpm/transaction.py:75 @@ -607,10 +788,10 @@ index d7612013..8d98a664 100644 msgstr "" diff --git a/po/fr.po b/po/fr.po -index 15841a45..a1a64a39 100644 +index bee36530..ad14e560 100644 --- a/po/fr.po +++ b/po/fr.po -@@ -9,32 +9,34 @@ +@@ -9,35 +9,34 @@ # dominique bribanick , 2011 # Jérôme Fenal , 2014 # Kévin Raymond , 2011 @@ -629,43 +810,125 @@ index 15841a45..a1a64a39 100644 # Julien Humbert , 2020, 2021. -# Karim ALI ABDELMAKSOU ABDELHAMID , 2020. -# Arnaud T. , 2020, 2021. -+# Sundeep Anand , 2021. - # Guillaume Jacob , 2021. -+# Titouan Bénard , 2021. +-# Guillaume Jacob , 2021. +-# Côme Borsoi , 2021. + # Sundeep Anand , 2021. ++# Guillaume Jacob , 2021. + # Titouan Bénard , 2021. +# Transtats , 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 \n" +-"POT-Creation-Date: 2022-01-11 01:52+0000\n" +-"PO-Revision-Date: 2021-10-10 00:45+0000\n" +-"Last-Translator: Titouan Bénard \n" -"Language-Team: French \n" -+"POT-Creation-Date: 2022-02-28 11:37+0100\n" ++"POT-Creation-Date: 2022-08-31 13:42+0200\n" +"PO-Revision-Date: 2022-03-09 12:39+0000\n" +"Last-Translator: Transtats \n" -+"Language-Team: French \n" ++"Language-Team: French \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.8\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É" +@@ -122,84 +121,84 @@ msgstr "Le système est hors-ligne." + msgid "Error: %s" + msgstr "Erreur : %s" - #: 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/base.py:148 dnf/base.py:477 dnf/base.py:479 ++#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481 + msgid "loading repo '{}' failure: {}" + msgstr "Erreur lors du chargement du dépôt « {} » : {}" - #: dnf/automatic/main.py:304 - msgid "Started dnf-automatic." -@@ -193,8 +195,8 @@ msgstr "Dépôts ignorés : %s" +-#: dnf/base.py:150 ++#: dnf/base.py:152 + msgid "Loading repository '{}' has failed" + msgstr "Échec du chargement du dépôt « {} »" + +-#: dnf/base.py:327 ++#: dnf/base.py:329 + msgid "Metadata timer caching disabled when running on metered connection." + msgstr "" + "Mise en cache temporisée des métadonnées désactivée lors du fonctionnement " + "sur connexion limitée." + +-#: dnf/base.py:332 ++#: dnf/base.py:334 + msgid "Metadata timer caching disabled when running on a battery." + msgstr "" + "Mise en cache temporisée des métadonnées désactivée lors du fonctionnement " + "sur batterie." + +-#: dnf/base.py:337 ++#: dnf/base.py:339 + msgid "Metadata timer caching disabled." + msgstr "Mise en cache temporisée des métadonnées désactivée." + +-#: dnf/base.py:342 ++#: dnf/base.py:344 + msgid "Metadata cache refreshed recently." + msgstr "Cache des métadonnées mis à jour récemment." + +-#: dnf/base.py:348 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:350 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "Il n’y a pas de dépôts activés dans « {} »." + +-#: dnf/base.py:355 ++#: dnf/base.py:357 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "%s : n’expirera jamais et ne sera pas réinitialisé." + +-#: dnf/base.py:357 ++#: dnf/base.py:359 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "%s : a expiré et sera réinitialisé." + + #. expires within the checking period: +-#: dnf/base.py:361 ++#: dnf/base.py:363 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "" + "%s : métadonnées expireront après %d secondes et seront réinitialisées " + "maintenant" + +-#: dnf/base.py:365 ++#: dnf/base.py:367 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "%s : expireront après %d secondes." + + #. performs the md sync +-#: dnf/base.py:371 ++#: dnf/base.py:373 + msgid "Metadata cache created." + msgstr "Cache des métadonnées créé." + +-#: dnf/base.py:404 dnf/base.py:471 ++#: dnf/base.py:406 dnf/base.py:473 + #, python-format + msgid "%s: using metadata from %s." + msgstr "%s : utilisation des métadonnées depuis le %s." + +-#: dnf/base.py:416 dnf/base.py:484 ++#: dnf/base.py:418 dnf/base.py:486 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "Dépôts ignorés : %s" + +-#: dnf/base.py:419 ++#: dnf/base.py:421 #, python-format msgid "Last metadata expiration check: %s ago on %s." msgstr "" @@ -674,64 +937,85 @@ index 15841a45..a1a64a39 100644 +"Dernière vérification de l’expiration des métadonnées effectuée il y a %s le " +"%s." - #: dnf/base.py:512 +-#: dnf/base.py:512 ++#: dnf/base.py:514 msgid "" -@@ -219,44 +221,44 @@ msgstr "tsflag invalide dans le fichier de configuration : %s" + "The downloaded packages were saved in cache until the next successful " + "transaction." +@@ -207,59 +206,59 @@ msgstr "" + "Les paquets téléchargés ont été mis en cache jusqu’à la prochaine " + "transaction réussie." + +-#: dnf/base.py:514 ++#: dnf/base.py:516 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "Vous pouvez supprimer les paquets en cache en exécutant « %s »." + +-#: dnf/base.py:606 ++#: dnf/base.py:648 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "tsflag invalide dans le fichier de configuration : %s" + +-#: dnf/base.py:662 ++#: dnf/base.py:706 + #, python-format msgid "Failed to add groups file for repository: %s - %s" msgstr "Échec d’ajout du fichier de groupes pour le dépôt : %s - %s" --#: dnf/base.py:904 -+#: dnf/base.py:922 +-#: dnf/base.py:922 ++#: dnf/base.py:968 msgid "Running transaction check" msgstr "Test de la transaction" --#: dnf/base.py:912 -+#: dnf/base.py:930 +-#: dnf/base.py:930 ++#: dnf/base.py:976 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 +-#: dnf/base.py:936 ++#: dnf/base.py:982 msgid "Transaction check succeeded." msgstr "La vérification de la transaction a réussi." --#: dnf/base.py:921 -+#: dnf/base.py:939 +-#: dnf/base.py:939 ++#: dnf/base.py:985 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 +-#: dnf/base.py:949 dnf/base.py:1100 ++#: dnf/base.py:995 dnf/base.py:1146 msgid "RPM: {}" msgstr "RPM : {}" --#: dnf/base.py:932 -+#: dnf/base.py:950 +-#: dnf/base.py:950 ++#: dnf/base.py:996 msgid "Transaction test error:" msgstr "Erreur de la transaction de test :" --#: dnf/base.py:943 -+#: dnf/base.py:961 +-#: dnf/base.py:961 ++#: dnf/base.py:1007 msgid "Transaction test succeeded." msgstr "Transaction de test réussie." --#: dnf/base.py:964 -+#: dnf/base.py:982 +-#: dnf/base.py:982 ++#: dnf/base.py:1028 msgid "Running transaction" msgstr "Exécution de la transaction" --#: dnf/base.py:1001 -+#: dnf/base.py:1019 +-#: dnf/base.py:1019 ++#: dnf/base.py:1065 msgid "Disk Requirements:" msgstr "Besoins en espace disque :" --#: dnf/base.py:1004 -+#: dnf/base.py:1022 +-#: dnf/base.py:1022 ++#: dnf/base.py:1068 #, 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] "" +@@ -267,121 +266,121 @@ msgstr[0] "" "Au moins {0} Mio supplémentaire est nécessaire sur le système de fichiers " "{1}." msgstr[1] "" @@ -740,161 +1024,155 @@ index 15841a45..a1a64a39 100644 +"Au moins {0} Mio supplémentaires sont nécessaires sur le système de fichiers " +"{1}." --#: dnf/base.py:1011 -+#: dnf/base.py:1029 +-#: dnf/base.py:1029 ++#: dnf/base.py:1075 msgid "Error Summary" msgstr "Résumé des erreurs" --#: dnf/base.py:1037 -+#: dnf/base.py:1055 +-#: dnf/base.py:1055 ++#: dnf/base.py:1101 #, 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 +-#: dnf/base.py:1101 dnf/base.py:1109 ++#: dnf/base.py:1147 dnf/base.py:1155 msgid "Could not run transaction." msgstr "Impossible d’exécuter la transaction." --#: dnf/base.py:1086 -+#: dnf/base.py:1104 +-#: dnf/base.py:1104 ++#: dnf/base.py:1150 msgid "Transaction couldn't start:" msgstr "La transaction n’a pas pu démarrer :" --#: dnf/base.py:1100 -+#: dnf/base.py:1118 +-#: dnf/base.py:1118 ++#: dnf/base.py:1164 #, 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 +-#: dnf/base.py:1200 ++#: dnf/base.py:1246 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 +-#: dnf/base.py:1230 ++#: dnf/base.py:1276 + #, 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)" +-"(%.1f%% é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 +-#: dnf/base.py:1234 ++#: dnf/base.py:1280 + #, 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)" +-"L’échec des Delta RPMs ont fait augmenter les %.1f Mio de mises à jour de " +-"%.1f Mio (%.1f%% 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 +-#: dnf/base.py:1276 ++#: dnf/base.py:1322 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 +-#: dnf/base.py:1290 ++#: dnf/base.py:1336 msgid "Could not open: {}" msgstr "Impossible d’ouvrir : {}" --#: dnf/base.py:1310 -+#: dnf/base.py:1328 +-#: dnf/base.py:1328 ++#: dnf/base.py:1374 #, 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 +-#: dnf/base.py:1332 ++#: dnf/base.py:1378 #, python-format msgid "Problem opening package %s" msgstr "Problème à l’ouverture du paquet %s" --#: dnf/base.py:1322 -+#: dnf/base.py:1340 +-#: dnf/base.py:1340 ++#: dnf/base.py:1386 #, 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 +-#: dnf/base.py:1344 ++#: dnf/base.py:1390 #, python-format msgid "Package %s is not signed" msgstr "Le paquet %s n’est pas signé" --#: dnf/base.py:1356 -+#: dnf/base.py:1374 +-#: dnf/base.py:1374 ++#: dnf/base.py:1420 #, python-format msgid "Cannot remove %s" msgstr "Impossible de supprimer %s" --#: dnf/base.py:1360 -+#: dnf/base.py:1378 +-#: dnf/base.py:1378 ++#: dnf/base.py:1424 #, python-format msgid "%s removed" msgstr "%s supprimé" --#: dnf/base.py:1640 -+#: dnf/base.py:1658 +-#: dnf/base.py:1658 ++#: dnf/base.py:1704 msgid "No match for group package \"{}\"" msgstr "Aucune correspondance pour le paquet du groupe « {} »" --#: dnf/base.py:1726 -+#: dnf/base.py:1740 +-#: dnf/base.py:1740 ++#: dnf/base.py:1786 #, 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/base.py:1763 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437 ++#: dnf/base.py:1809 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 +-#: dnf/base.py:1781 ++#: dnf/base.py:1827 msgid "No groups marked for removal." msgstr "Aucun groupe marqué pour suppression." --#: dnf/base.py:1801 -+#: dnf/base.py:1815 +-#: dnf/base.py:1815 ++#: dnf/base.py:1861 msgid "No group marked for upgrade." msgstr "Aucun groupe marqué pour mise à jour." --#: dnf/base.py:2015 -+#: dnf/base.py:2029 +-#: dnf/base.py:2029 ++#: dnf/base.py:2075 #, 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/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/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136 ++#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417 #: dnf/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." +@@ -391,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 +-#: dnf/base.py:2038 ++#: dnf/base.py:2084 #, python-format msgid "Package %s of lower version already installed, cannot downgrade it." msgstr "" @@ -903,162 +1181,162 @@ index 15841a45..a1a64a39 100644 +"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 +-#: dnf/base.py:2061 ++#: dnf/base.py:2107 #, 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 +-#: dnf/base.py:2076 ++#: dnf/base.py:2122 #, 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 +-#: dnf/base.py:2087 ++#: dnf/base.py:2133 #, 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 +-#: dnf/base.py:2097 ++#: dnf/base.py:2143 #, python-format msgid "" "The same or higher version of %s is already installed, cannot update it." -@@ -423,173 +421,176 @@ msgstr "" +@@ -422,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 +-#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2203 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 +-#: dnf/base.py:2146 ++#: dnf/base.py:2209 #, 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 +-#: dnf/base.py:2171 ++#: dnf/base.py:2234 #, 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/base.py:2189 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2252 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/base.py:2204 dnf/cli/commands/__init__.py:676 ++#: dnf/base.py:2267 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 +-#: dnf/base.py:2292 dnf/cli/cli.py:428 ++#: dnf/base.py:2355 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 +-#: dnf/base.py:2297 ++#: dnf/base.py:2360 #, 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 +-#: dnf/base.py:2397 ++#: dnf/base.py:2460 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 +-#: dnf/base.py:2399 ++#: dnf/base.py:2462 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 +-#: dnf/base.py:2403 ++#: dnf/base.py:2466 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 +-#: dnf/base.py:2405 ++#: dnf/base.py:2468 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 +-#: dnf/base.py:2426 ++#: dnf/base.py:2489 #, 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 +-#: dnf/base.py:2434 ++#: dnf/base.py:2497 #, python-format msgid ". Failing package is: %s" msgstr ". Le paquet en erreur est : %s" --#: dnf/base.py:2421 -+#: dnf/base.py:2435 +-#: dnf/base.py:2435 ++#: dnf/base.py:2498 #, 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 +-#: dnf/base.py:2447 ++#: dnf/base.py:2510 #, 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 +-#: dnf/base.py:2483 ++#: dnf/base.py:2546 msgid "The key has been approved." msgstr "La clef a été approuvée." --#: dnf/base.py:2472 -+#: dnf/base.py:2486 +-#: dnf/base.py:2486 ++#: dnf/base.py:2549 msgid "The key has been rejected." msgstr "La clef a été rejetée." --#: dnf/base.py:2505 -+#: dnf/base.py:2519 +-#: dnf/base.py:2519 ++#: dnf/base.py:2582 #, 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 +-#: dnf/base.py:2521 ++#: dnf/base.py:2584 msgid "Key imported successfully" msgstr "La clé a bien été importée" --#: dnf/base.py:2511 -+#: dnf/base.py:2525 +-#: dnf/base.py:2525 ++#: dnf/base.py:2588 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 +-#: dnf/base.py:2528 ++#: dnf/base.py:2591 #, python-format msgid "" -"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n" @@ -1071,36 +1349,36 @@ index 15841a45..a1a64a39 100644 +"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 +-#: dnf/base.py:2539 ++#: dnf/base.py:2602 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 +-#: dnf/base.py:2592 ++#: dnf/base.py:2655 msgid " * Maybe you meant: {}" msgstr " * Peut-être vouliez-vous dire : {}" --#: dnf/base.py:2610 -+#: dnf/base.py:2624 +-#: dnf/base.py:2624 ++#: dnf/base.py:2687 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 +-#: dnf/base.py:2627 ++#: dnf/base.py:2690 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 +-#: dnf/base.py:2630 ++#: dnf/base.py:2693 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 +-#: dnf/base.py:2633 ++#: dnf/base.py:2696 msgid "" "Some packages have invalid cache, but cannot be downloaded due to \"--" "cacheonly\" option" @@ -1110,47 +1388,49 @@ index 15841a45..a1a64a39 100644 +"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 +-#: dnf/base.py:2651 dnf/base.py:2671 ++#: dnf/base.py:2714 dnf/base.py:2734 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 +-#: dnf/base.py:2659 dnf/base.py:2679 ++#: dnf/base.py:2722 dnf/base.py:2742 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 +-#: dnf/base.py:2661 ++#: dnf/base.py:2724 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 +-#: dnf/base.py:2677 ++#: dnf/base.py:2740 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 +-#: dnf/base.py:2724 ++#: dnf/base.py:2787 #, 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" +@@ -609,8 +611,8 @@ msgstr "La lecture du fichier « %s » a échoué : %s" + msgid "Cannot read file \"%s\": %s" + msgstr "Impossible de lire le fichier « %s » : %s" --#: dnf/cli/aliases.py:105 dnf/conf/config.py:457 -+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475 +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804 +-#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:806 ++#: dnf/cli/cli.py:810 dnf/cli/commands/alias.py:108 #, python-format - msgid "Parsing file \"%s\" failed: %s" - msgstr "La lecture du fichier « %s » a échoué : %s" -@@ -641,17 +642,25 @@ msgid "" + msgid "Config error: %s" + msgstr "Erreur de configuration : %s" +@@ -640,17 +642,25 @@ msgid "" "The operation would result in switching of module '{0}' stream '{1}' to " "stream '{2}'" msgstr "" @@ -1183,7 +1463,7 @@ index 15841a45..a1a64a39 100644 #: dnf/cli/cli.py:212 #, python-brace-format -@@ -688,7 +697,8 @@ msgid "" +@@ -687,7 +697,8 @@ msgid "" "Refusing to automatically import keys when running unattended.\n" "Use \"-y\" to override." msgstr "" @@ -1193,9 +1473,40 @@ index 15841a45..a1a64a39 100644 "Utilisez l’option « -y » pour passer outre." #: dnf/cli/cli.py:337 -@@ -756,8 +766,8 @@ msgstr "Aucun dépôt ne correspond à %s" +@@ -702,7 +713,7 @@ msgstr "Passage de paquets en obsolètes" + msgid "No packages marked for distribution synchronization." + msgstr "Aucun paquet marqué pour la synchronisation de la distribution." - #: dnf/cli/cli.py:719 +-#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395 ++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:396 + #, python-format + msgid "No package %s available." + msgstr "Aucun paquet %s n’est disponible." +@@ -740,33 +751,35 @@ msgid "No matching Packages to list" + msgstr "Aucun paquet correspondant à lister" + + #: dnf/cli/cli.py:604 +-msgid "No Matches found" +-msgstr "Aucune correspondance trouvée" ++msgid "" ++"No matches found. If searching for a file, try specifying the full path or " ++"using a wildcard prefix (\"*/\") at the beginning." ++msgstr "" + +-#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "Dépôt inconnu : « %s »" + +-#: dnf/cli/cli.py:685 ++#: dnf/cli/cli.py:687 + #, python-format + msgid "No repository match: %s" + msgstr "Aucun dépôt ne correspond à %s" + +-#: dnf/cli/cli.py:719 ++#: dnf/cli/cli.py:721 msgid "" -"This command has to be run with superuser privileges (under the root user on" -" most systems)." @@ -1204,7 +1515,34 @@ index 15841a45..a1a64a39 100644 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 "" + +-#: dnf/cli/cli.py:749 ++#: dnf/cli/cli.py:751 + #, python-format + msgid "No such command: %s. Please use %s --help" + msgstr "Aucune commande telle que : %s. Veuillez utiliser %s --help" + +-#: dnf/cli/cli.py:752 ++#: dnf/cli/cli.py:754 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" +@@ -775,7 +788,7 @@ msgstr "" + "Cela est peut-être une commande d’un module supplémentaire de {PROG}, " + "essayez : « {prog} install 'dnf-command(%s)' »" + +-#: dnf/cli/cli.py:756 ++#: dnf/cli/cli.py:758 + #, python-brace-format + msgid "" + "It could be a {prog} plugin command, but loading of plugins is currently " +@@ -784,15 +797,15 @@ msgstr "" + "Cela est peut-être une commande d’un module supplémentaire de {prog}, mais " + "le chargement de modules supplémentaires est actuellement désactivé." + +-#: dnf/cli/cli.py:814 ++#: dnf/cli/cli.py:816 + msgid "" "--destdir or --downloaddir must be used with --downloadonly or download or " "system-upgrade command." msgstr "" @@ -1213,9 +1551,70 @@ index 15841a45..a1a64a39 100644 +"--destdir ou --downloaddir doit être utilisé avec la commande --downloadonly " +"ou download ou system-upgrade command." - #: dnf/cli/cli.py:820 +-#: dnf/cli/cli.py:820 ++#: dnf/cli/cli.py:822 msgid "" -@@ -863,7 +873,8 @@ msgstr "" + "--enable, --set-enabled and --disable, --set-disabled must be used with " + "config-manager command." +@@ -800,7 +813,7 @@ msgstr "" + "--enable, --set-enabled et --disable, --set-disabled doit être utilisé avec " + "la commande config-manager." + +-#: dnf/cli/cli.py:902 ++#: dnf/cli/cli.py:904 + msgid "" + "Warning: Enforcing GPG signature check globally as per active RPM security " + "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" +@@ -809,11 +822,11 @@ msgstr "" + "politique de sécurité RPM active (voir « gpgcheck » dans dnf.conf(5) pour " + "savoir comment interpréter ce message)" + +-#: dnf/cli/cli.py:922 ++#: dnf/cli/cli.py:924 + msgid "Config file \"{}\" does not exist" + msgstr "Le fichier de configuration \"{}\" n’existe pas" + +-#: dnf/cli/cli.py:942 ++#: dnf/cli/cli.py:944 + msgid "" + "Unable to detect release version (use '--releasever' to specify release " + "version)" +@@ -821,28 +834,28 @@ msgstr "" + "Impossible de détecter le numéro de version (utilisez « --releasever » pour " + "spécifier une version)" + +-#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1018 dnf/cli/commands/repoquery.py:471 + msgid "argument {}: not allowed with argument {}" + msgstr "paramètre {} : non autorisé avec le paramètre {}" + +-#: dnf/cli/cli.py:1023 ++#: dnf/cli/cli.py:1025 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "Commande « %s » déjà définie" + +-#: dnf/cli/cli.py:1043 ++#: dnf/cli/cli.py:1045 + msgid "Excludes in dnf.conf: " + msgstr "Exclut dans dnf.conf : " + +-#: dnf/cli/cli.py:1046 ++#: dnf/cli/cli.py:1048 + msgid "Includes in dnf.conf: " + msgstr "Inclut dans dnf.conf : " + +-#: dnf/cli/cli.py:1049 ++#: dnf/cli/cli.py:1051 + msgid "Excludes in repo " + msgstr "Exclut dans dépôt " + +-#: dnf/cli/cli.py:1052 ++#: dnf/cli/cli.py:1054 + msgid "Includes in repo " + msgstr "Inclut dans dépôt " + +@@ -862,7 +875,8 @@ msgstr "" #, python-brace-format msgid "" "You have enabled checking of packages via GPG keys. This is a good thing.\n" @@ -1225,7 +1624,7 @@ index 15841a45..a1a64a39 100644 "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 "" +@@ -874,8 +888,10 @@ msgid "" "\n" "For more information contact your distribution or package provider." msgstr "" @@ -1238,7 +1637,7 @@ index 15841a45..a1a64a39 100644 "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 "" +@@ -885,7 +901,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" @@ -1248,7 +1647,16 @@ index 15841a45..a1a64a39 100644 #: dnf/cli/commands/__init__.py:71 #, python-format -@@ -1318,8 +1332,8 @@ msgstr "" +@@ -1301,7 +1318,7 @@ msgstr "paramètre pour la sous-commande group" + msgid "Invalid groups sub-command, use: %s." + msgstr "Sous-commande de groupes invalide, utilisez : %s." + +-#: dnf/cli/commands/group.py:398 ++#: dnf/cli/commands/group.py:399 + msgid "Unable to find a mandatory group package." + msgstr "Impossible de trouver un paquet obligatoire du groupe." + +@@ -1317,8 +1334,8 @@ msgstr "" #: dnf/cli/commands/history.py:68 msgid "" @@ -1259,7 +1667,7 @@ index 15841a45..a1a64a39 100644 msgstr "" "Pour la commande replay, ne vérifie pas si les paquets installés " "correspondent à ceux en transaction" -@@ -1334,8 +1348,8 @@ msgstr "" +@@ -1333,8 +1350,8 @@ msgstr "" #: dnf/cli/commands/history.py:74 msgid "" @@ -1270,7 +1678,7 @@ index 15841a45..a1a64a39 100644 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" +@@ -1367,8 +1384,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 "" @@ -1281,7 +1689,18 @@ index 15841a45..a1a64a39 100644 msgstr "" "Impossible de défaire la transaction %s ; cela aboutirait à une base de " "données des paquets incohérente." -@@ -1415,7 +1429,8 @@ msgid "" +@@ -1405,19 +1422,20 @@ msgstr "L’historique des transactions est incomplet, avant %u." + msgid "Transaction history is incomplete, after %u." + msgstr "L’historique des transactions est incomplet, après %u." + +-#: dnf/cli/commands/history.py:256 ++#: dnf/cli/commands/history.py:267 + msgid "No packages to list" + msgstr "Aucun paquet à lister" + +-#: dnf/cli/commands/history.py:279 ++#: dnf/cli/commands/history.py:290 + msgid "" "Invalid transaction ID range definition '{}'.\n" "Use '..'." msgstr "" @@ -1290,8 +1709,46 @@ index 15841a45..a1a64a39 100644 +"».\n" "Utilisez « .. »." - #: 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/history.py:283 ++#: dnf/cli/commands/history.py:294 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." +@@ -1425,27 +1443,27 @@ msgstr "" + "Impossible de convertir « {} » à ID transaction.\n" + "Utiliser « », « last », « last- »." + +-#: dnf/cli/commands/history.py:312 ++#: dnf/cli/commands/history.py:323 + msgid "No transaction which manipulates package '{}' was found." + msgstr "Aucune transaction manipulant le paquet « {} » n’a été trouvée." + +-#: dnf/cli/commands/history.py:357 ++#: dnf/cli/commands/history.py:368 + msgid "{} exists, overwrite?" + msgstr "{} existe, l’écraser ?" + +-#: dnf/cli/commands/history.py:360 ++#: dnf/cli/commands/history.py:371 + msgid "Not overwriting {}, exiting." + msgstr "{} non écrasé, sortie." + +-#: dnf/cli/commands/history.py:367 ++#: dnf/cli/commands/history.py:378 + msgid "Transaction saved to {}." + msgstr "Transaction enregistrée vers {}." + +-#: dnf/cli/commands/history.py:370 ++#: dnf/cli/commands/history.py:381 + msgid "Error storing transaction: {}" + msgstr "Erreur lors du stockage de la transaction : {}" + +-#: dnf/cli/commands/history.py:386 ++#: dnf/cli/commands/history.py:397 + msgid "Warning, the following problems occurred while running a transaction:" + msgstr "" + "Attention, les problèmes suivants sont survenus lors de l'exécution d’une " +@@ -1484,8 +1502,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 "" @@ -1301,7 +1758,7 @@ index 15841a45..a1a64a39 100644 #: dnf/cli/commands/mark.py:44 msgid "" -@@ -1525,11 +1539,11 @@ msgstr "Le paquet %s n’est pas installé." +@@ -1524,11 +1541,11 @@ msgstr "Le paquet %s n’est pas installé." #: dnf/cli/commands/module.py:54 msgid "" @@ -1317,7 +1774,18 @@ index 15841a45..a1a64a39 100644 #: dnf/cli/commands/module.py:80 msgid "list all module streams, profiles and states" -@@ -1864,8 +1878,8 @@ msgstr "" +@@ -1822,8 +1839,8 @@ msgstr "ne montre que les résultats en conflit avec REQ" + #: dnf/cli/commands/repoquery.py:135 + #, fuzzy + #| msgid "" +-#| "shows results that requires, suggests, supplements, enhances,or recommends " +-#| "package provides and files REQ" ++#| "shows results that requires, suggests, supplements, enhances,or " ++#| "recommends package provides and files REQ" + msgid "" + "shows results that requires, suggests, supplements, enhances, or recommends " + "package provides and files REQ" +@@ -1867,8 +1884,8 @@ msgstr "" #: dnf/cli/commands/repoquery.py:162 msgid "check dependencies exactly as given, opposite of --alldeps" msgstr "" @@ -1328,7 +1796,7 @@ index 15841a45..a1a64a39 100644 #: dnf/cli/commands/repoquery.py:164 msgid "" -@@ -1923,8 +1937,8 @@ msgstr "affiche les changelogs du paquet" +@@ -1926,8 +1943,8 @@ msgstr "affiche les changelogs du paquet" #: dnf/cli/commands/repoquery.py:194 #, python-format, python-brace-format msgid "" @@ -1339,7 +1807,7 @@ index 15841a45..a1a64a39 100644 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" +@@ -2075,23 +2092,23 @@ msgstr "la clé à chercher" #: dnf/cli/commands/repoquery.py:295 msgid "" @@ -1373,8 +1841,17 @@ index 15841a45..a1a64a39 100644 #: 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 +@@ -2105,19 +2122,25 @@ msgstr "Le paquet {} ne contient aucun fichier" + #, fuzzy, 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." msgid "" "No valid switch specified\n" -"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n" @@ -1383,7 +1860,7 @@ index 15841a45..a1a64a39 100644 +"tree]\n" "\n" "description:\n" - " For the given packages print a tree of thepackages." + " For the given packages print a tree of the packages." msgstr "" "Aucune option valide spécifiée\n" -"utilisation : {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n" @@ -1393,7 +1870,7 @@ index 15841a45..a1a64a39 100644 "\n" "description :\n" " Afficher une arborescence des paquets pour le paquet donné." -@@ -2148,8 +2166,7 @@ msgstr "Description" +@@ -2157,8 +2180,7 @@ msgstr "Description" msgid "URL" msgstr "URL" @@ -1403,7 +1880,7 @@ index 15841a45..a1a64a39 100644 #: dnf/cli/commands/search.py:76 msgid " & " msgstr " & " -@@ -2283,7 +2300,8 @@ msgstr "" +@@ -2292,7 +2314,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" @@ -1413,31 +1890,7 @@ index 15841a45..a1a64a39 100644 "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)" +@@ -2367,8 +2390,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 "" @@ -1447,16 +1900,7 @@ index 15841a45..a1a64a39 100644 #: 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é." +@@ -2538,8 +2560,8 @@ msgstr "Terminé." #: dnf/cli/main.py:116 msgid "No read/execute access in current directory, moving to /" msgstr "" @@ -1467,7 +1911,7 @@ index 15841a45..a1a64a39 100644 #: 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" +@@ -2682,8 +2704,7 @@ msgstr "niveau de déboguage pour la sortie" #: dnf/cli/option_parser.py:236 msgid "dumps detailed solving results into files" @@ -1477,7 +1921,7 @@ index 15841a45..a1a64a39 100644 #: dnf/cli/option_parser.py:240 msgid "show duplicates, in repos, in list/search commands" -@@ -2691,8 +2707,8 @@ msgid "" +@@ -2700,8 +2721,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 " @@ -1488,18 +1932,29 @@ index 15841a45..a1a64a39 100644 #: dnf/cli/option_parser.py:251 msgid "debugging output level for rpm" -@@ -2716,8 +2732,8 @@ msgstr "" +@@ -2717,16 +2738,16 @@ msgstr "répond automatiquement non à toutes les questions" - #: dnf/cli/option_parser.py:266 + #: dnf/cli/option_parser.py:261 msgid "" --"Disable repositories. List option. Supports globs, can be specified multiple" --" times." -+"Disable repositories. List option. Supports globs, can be specified multiple " -+"times." +-"Temporarily enable repositories for the purposeof the current dnf command. " +-"Accepts an id, acomma-separated list of ids, or a glob of ids.This option " ++"Temporarily enable repositories for the purpose of the current dnf command. " ++"Accepts an id, a comma-separated list of ids, or a glob of ids. This option " + "can be specified multiple times." msgstr "" - "Désactive les dépôts. Option de liste. Prend en charge les globs, peut être " - "renseigné plusieurs fois." -@@ -2727,8 +2743,8 @@ msgid "" + + #: dnf/cli/option_parser.py:268 + msgid "" +-"Temporarily disable active repositories for thepurpose of the current dnf " +-"command. Accepts an id,a comma-separated list of ids, or a glob of ids.This " +-"option can be specified multiple times, butis mutually exclusive with " ++"Temporarily disable active repositories for the purpose of the current dnf " ++"command. Accepts an id, a comma-separated list of ids, or a glob of ids. " ++"This option can be specified multiple times, but is mutually exclusive with " + "`--repo`." + msgstr "" + +@@ -2735,8 +2756,8 @@ msgid "" "enable just specific repositories by an id or a glob, can be specified " "multiple times" msgstr "" @@ -1508,10 +1963,10 @@ index 15841a45..a1a64a39 100644 +"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 + #: dnf/cli/option_parser.py:280 msgid "enable repos with config-manager command (automatically saves)" -@@ -2823,8 +2839,8 @@ msgstr "" - #: dnf/cli/option_parser.py:339 +@@ -2831,8 +2852,8 @@ msgstr "" + #: dnf/cli/option_parser.py:344 msgid "Include packages needed to fix the given BZ, in updates" msgstr "" -"Inclut dans les mises à jour les paquets nécessaires pour résoudre le ticket" @@ -1519,18 +1974,9 @@ index 15841a45..a1a64a39 100644 +"Inclut dans les mises à jour les paquets nécessaires pour résoudre le ticket " +"BugZilla cité" - #: dnf/cli/option_parser.py:342 + #: dnf/cli/option_parser.py:347 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" +@@ -3133,8 +3154,7 @@ msgstr "Taille des paquets installés : %s" #: dnf/cli/output.py:970 msgid "There was an error calculating installed size" msgstr "" @@ -1540,16 +1986,7 @@ index 15841a45..a1a64a39 100644 #: 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" +@@ -3614,8 +3634,8 @@ msgstr "Inconnu" #, python-format msgid "Unable to find information about the locking process (PID %d)" msgstr "" @@ -1560,76 +1997,16 @@ index 15841a45..a1a64a39 100644 #: 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" +@@ -3689,7 +3709,7 @@ msgstr "Valeur de configuration non valide : %s=%s dans %s ; %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 \"{}\": {}" + #: dnf/conf/config.py:194 + msgid "Cannot set \"{}\" to \"{}\": {}" +-msgstr "Impossible de définir \"{}\" sur \"{}\" : {}" +msgstr "Impossible de définir \"{}\" à \"{}\" : {}" -+ -+#: dnf/conf/config.py:244 + + #: 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 "" +@@ -3804,7 +3824,7 @@ msgstr "" #: dnf/db/group.py:353 #, python-format msgid "An rpm exception occurred: %s" @@ -1638,12 +2015,7 @@ index 15841a45..a1a64a39 100644 #: 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 +@@ -3819,8 +3839,8 @@ msgstr "Un paquet source rpm ne sera pas installé (%s)." msgid "" "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})" msgstr "" @@ -1652,46 +2024,9 @@ index 15841a45..a1a64a39 100644 +"L’option de configuration « gpgkey_dns_verification » nécessite python3-" +"unbound({})" --#: dnf/dnssec.py:239 -+#: dnf/dnssec.py:243 + #: 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 :" +@@ -3895,10 +3915,12 @@ msgstr[1] "Problèmes de dépendance modulaire :" #, python-format msgid "" "Malformed lock file found: %s.\n" @@ -1706,16 +2041,7 @@ index 15841a45..a1a64a39 100644 #: 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é : {}/{}" +@@ -3991,8 +4013,8 @@ msgstr "Profil inutile ignoré : {}/{}" #, python-brace-format msgid "All matches for argument '{0}' in module '{1}:{2}' are not active" msgstr "" @@ -1726,7 +2052,7 @@ index 15841a45..a1a64a39 100644 #: 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 {}" +@@ -4014,8 +4036,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: {}" @@ -1736,7 +2062,7 @@ index 15841a45..a1a64a39 100644 #: 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 {} : {}" +@@ -4027,15 +4048,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" @@ -1755,16 +2081,7 @@ index 15841a45..a1a64a39 100644 #: 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 {}" +@@ -4059,8 +4079,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 "" @@ -1775,7 +2092,7 @@ index 15841a45..a1a64a39 100644 #: dnf/module/module_base.py:340 dnf/module/module_base.py:368 msgid "Unable to match profile in argument {}" -@@ -4066,21 +4081,20 @@ msgstr "" +@@ -4074,16 +4094,15 @@ msgstr "" #: dnf/module/module_base.py:422 #, python-brace-format msgid "" @@ -1795,13 +2112,7 @@ index 15841a45..a1a64a39 100644 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 "" +@@ -4139,18 +4158,14 @@ msgstr "" #: dnf/plugin.py:247 msgid "No matches found for the following disable plugin patterns: {}" msgstr "" @@ -1812,25 +2123,22 @@ index 15841a45..a1a64a39 100644 #: dnf/repo.py:84 #, python-format -@@ -4144,7 +4158,7 @@ msgid "Already downloaded" - msgstr "Déjà téléchargé" + msgid "no matching payload factory for %s" + msgstr "aucune fabrique de contenu ne correspond à %s" +-#: dnf/repo.py:111 +-msgid "Already downloaded" +-msgstr "Déjà téléchargé" +- #. pinging mirrors, this might take a while --#: dnf/repo.py:347 -+#: dnf/repo.py:346 + #: 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" - +@@ -4170,14 +4185,26 @@ 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 + #, python-format msgid "Using rpmkeys executable at %s to verify signatures" - msgstr "" --"Impossible de trouver l’exécutable rpmkeys pour vérifier les signatures." +-msgstr "Utilisation de l'exécutable rpmkeys à %s pour vérifier les signatures" ++msgstr "" +"Utilisation de l'exécutable rpmkeys dans %s pour vérifier les signatures" #: dnf/rpm/miscutils.py:66 @@ -1840,7 +2148,9 @@ index 15841a45..a1a64a39 100644 -#: dnf/rpm/transaction.py:119 +#: dnf/rpm/transaction.py:70 -+msgid "The openDB() function connot open rpm database." ++#, fuzzy ++#| msgid "The openDB() function connot open rpm database." ++msgid "The openDB() function cannot open rpm database." +msgstr "La fonction openDB() n'ouvre pas de base de données rpm." + +#: dnf/rpm/transaction.py:75 @@ -1852,7 +2162,7 @@ index 15841a45..a1a64a39 100644 msgid "Errors occurred during test transaction." msgstr "Des erreurs sont survenues lors de la transaction de test." -@@ -4180,8 +4202,8 @@ msgid "" +@@ -4186,8 +4213,8 @@ msgid "" "allow_vendor_change is disabled. This option is currently not supported for " "downgrade and distro-sync commands" msgstr "" @@ -1863,7 +2173,7 @@ index 15841a45..a1a64a39 100644 #. TRANSLATORS: This is for a single package currently being downgraded. #: dnf/transaction.py:80 -@@ -4259,8 +4281,8 @@ msgid "" +@@ -4265,8 +4292,8 @@ msgid "" "Incompatible major version \"{major}\", supported major version is " "\"{major_supp}\"." msgstr "" @@ -1874,7 +2184,7 @@ index 15841a45..a1a64a39 100644 #: dnf/transaction_sr.py:224 msgid "" -@@ -4286,7 +4308,8 @@ msgstr "Clé objet « {key} » manquante dans un rpm." +@@ -4292,7 +4319,8 @@ msgstr "Clé objet « {key} » manquante dans un rpm." #: dnf/transaction_sr.py:289 #, python-brace-format @@ -1884,7 +2194,7 @@ index 15841a45..a1a64a39 100644 msgstr "" "Valeur inattendue pour le paquet de raison « {reason} » pour le rpm nevra " "« {nevra} »." -@@ -4323,7 +4346,8 @@ msgstr "" +@@ -4329,7 +4357,8 @@ msgstr "" #: dnf/transaction_sr.py:370 #, python-brace-format @@ -1894,7 +2204,7 @@ index 15841a45..a1a64a39 100644 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." +@@ -4382,7 +4411,9 @@ msgstr "Clé d’objet « {key} » manquante dans un groupe." #: dnf/transaction_sr.py:571 #, python-brace-format @@ -1905,7 +2215,7 @@ index 15841a45..a1a64a39 100644 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." +@@ -4395,8 +4426,8 @@ msgstr "Clé d’objet « {key} » manquante dans un environnement." #: dnf/transaction_sr.py:615 #, python-brace-format msgid "" @@ -1916,14 +2226,39 @@ index 15841a45..a1a64a39 100644 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" +@@ -4438,19 +4469,25 @@ msgstr "Échec" msgid "" msgstr "" -+#~ msgid "skipping." -+#~ msgstr "ignorer." ++#~ msgid "No Matches found" ++#~ msgstr "Aucune correspondance trouvée" + #~ msgid "" + #~ "Enable additional repositories. List option. Supports globs, can be " + #~ "specified multiple times." + #~ msgstr "" +-#~ "Active les dépôts additionnels. Option de liste. Prend en charge les globs, " +-#~ "peut être renseigné plusieurs fois." ++#~ "Active les dépôts additionnels. Option de liste. Prend en charge les " ++#~ "globs, peut être renseigné plusieurs fois." + + #~ msgid "" +-#~ "Disable repositories. List option. Supports globs, can be specified multiple" +-#~ " times." ++#~ "Disable repositories. List option. Supports globs, can be specified " ++#~ "multiple times." + #~ msgstr "" +-#~ "Désactive les dépôts. Option de liste. Prend en charge les globs, peut être " +-#~ "renseigné plusieurs fois." ++#~ "Désactive les dépôts. Option de liste. Prend en charge les globs, peut " ++#~ "être renseigné plusieurs fois." ++ ++#~ msgid "Already downloaded" ++#~ msgstr "Déjà téléchargé" + + #~ msgid "skipping." + #~ msgstr "ignorer." +@@ -4459,8 +4496,8 @@ msgstr "" #~ "Using rpmkeys executable from {path} to verify signature for package: " #~ "{package}." #~ msgstr "" @@ -1934,7 +2269,7 @@ index 15841a45..a1a64a39 100644 #~ msgid "%s: %s check failed: %s vs %s" #~ msgstr "%s : %s vérification a échoué : %s vs %s" -@@ -4452,7 +4481,7 @@ msgstr "" +@@ -4475,7 +4512,7 @@ msgstr "" #~ msgstr "L’identifiant de transaction fourni est introuvable" #~ msgid "Undoing transaction {}, from {}" @@ -1943,7 +2278,7 @@ index 15841a45..a1a64a39 100644 #~ msgid "Errors in \"{filename}\":" #~ msgstr "Erreurs dans « {filename} » :" -@@ -4464,13 +4493,15 @@ msgstr "" +@@ -4487,13 +4524,15 @@ msgstr "" #~ msgstr "format d’affichage des paquets trouvés" #~ msgid "Available query-tags: use --queryformat \".. %{tag} ..\"" @@ -1962,34 +2297,33 @@ index 15841a45..a1a64a39 100644 #~ "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 +index eda4c8c5..00512f61 100644 --- a/po/ja.po +++ b/po/ja.po @@ -14,7 +14,7 @@ # Hajime Taira , 2017. #zanata # Ooyama Yosiyuki , 2017. #zanata # Casey Jones , 2018. #zanata --# Ludek Janda , 2018. #zanata -+# Ludek Janda , 2018. #zanata, 2021. +-# Ludek Janda , 2018. #zanata, 2021. ++# Ludek Janda , 2018. #zanata, 2021, 2022. # Noriko Mizumoto , 2018. #zanata # Ooyama Yosiyuki , 2018. #zanata # Hajime Taira , 2019. #zanata -@@ -22,20 +22,23 @@ - # Julien Humbert , 2020. +@@ -23,20 +23,22 @@ # Casey Jones , 2020. # Hajime Taira , 2020. -+# Sundeep Anand , 2021. + # Sundeep Anand , 2021. +# Transtats , 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 \n" +-"POT-Creation-Date: 2022-01-11 01:52+0000\n" +-"PO-Revision-Date: 2021-09-06 17:24+0000\n" +-"Last-Translator: Sundeep Anand \n" -"Language-Team: Japanese \n" -+"POT-Creation-Date: 2022-02-28 11:37+0100\n" -+"PO-Revision-Date: 2022-03-09 12:39+0000\n" ++"POT-Creation-Date: 2022-08-31 13:42+0200\n" ++"PO-Revision-Date: 2022-09-06 07:19+0000\n" +"Last-Translator: Transtats \n" +"Language-Team: Japanese \n" @@ -1998,59 +2332,105 @@ index e81d5ceb..e1f463ce 100644 "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" +-"X-Generator: Weblate 4.8\n" ++"X-Generator: Weblate 4.14\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' に更新が適用されました" +@@ -120,248 +122,253 @@ msgstr "システムはオフラインです。" + msgid "Error: %s" + msgstr "エラー: %s" - #: dnf/automatic/emitter.py:34 - #, python-format -@@ -105,11 +108,9 @@ msgid "Started dnf-automatic." - msgstr "dnf-automatic を開始しました。" +-#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479 ++#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481 + msgid "loading repo '{}' failure: {}" + msgstr "repo '{}' のロードに失敗しました: {}" - #: 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/base.py:150 ++#: dnf/base.py:152 + msgid "Loading repository '{}' has failed" + msgstr "repository '{}' のロードに失敗しました" - #: dnf/automatic/main.py:315 - msgid "System is off-line." -@@ -131,11 +132,13 @@ msgstr "repository '{}' のロードに失敗しました" - - #: dnf/base.py:327 +-#: dnf/base.py:327 ++#: dnf/base.py:329 msgid "Metadata timer caching disabled when running on metered connection." -msgstr "metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。" +msgstr "" +"metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。" - #: dnf/base.py:332 +-#: dnf/base.py:332 ++#: dnf/base.py:334 msgid "Metadata timer caching disabled when running on a battery." -msgstr "バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。" +msgstr "" +"バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。" - #: dnf/base.py:337 +-#: dnf/base.py:337 ++#: dnf/base.py:339 msgid "Metadata timer caching disabled." -@@ -178,7 +181,7 @@ msgstr "メタデータキャッシュを作成しました。" - #: dnf/base.py:404 dnf/base.py:471 + msgstr "メタデータタイマーキャッシュは無効化されました。" + +-#: dnf/base.py:342 ++#: dnf/base.py:344 + msgid "Metadata cache refreshed recently." + msgstr "メタデータキャッシュは最近、リフレッシュされました。" + +-#: dnf/base.py:348 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:350 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "\"{}\" には有効化されたリポジトリーがありません。" + +-#: dnf/base.py:355 ++#: dnf/base.py:357 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "%s: は期限切れになることはなく、リフレッシュされることもありません。" + +-#: dnf/base.py:357 ++#: dnf/base.py:359 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "%s: は期限切れとなったのでリフレッシュされます。" + + #. expires within the checking period: +-#: dnf/base.py:361 ++#: dnf/base.py:363 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "%s: メタデータは %d 秒後に期限切れとなり、すぐにリフレッシュされます" + +-#: dnf/base.py:365 ++#: dnf/base.py:367 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "%s: は %d 秒後に期限切れとなります。" + + #. performs the md sync +-#: dnf/base.py:371 ++#: dnf/base.py:373 + msgid "Metadata cache created." + msgstr "メタデータキャッシュを作成しました。" + +-#: dnf/base.py:404 dnf/base.py:471 ++#: dnf/base.py:406 dnf/base.py:473 #, python-format msgid "%s: using metadata from %s." --msgstr "%s: は %s から取得したメタデータを使用中" -+msgstr "%s: は %s から取得したメタデータを使用中。" + msgstr "%s: は %s から取得したメタデータを使用中。" - #: dnf/base.py:416 dnf/base.py:484 +-#: dnf/base.py:416 dnf/base.py:484 ++#: dnf/base.py:418 dnf/base.py:486 #, python-format -@@ -194,7 +197,9 @@ msgstr "メタデータの期限切れの最終確認: %s 時間前の %s に実 + msgid "Ignoring repositories: %s" + msgstr "リポジトリーを無視します: %s" + +-#: dnf/base.py:419 ++#: dnf/base.py:421 + #, python-format + msgid "Last metadata expiration check: %s ago on %s." + msgstr "メタデータの期限切れの最終確認: %s 時間前の %s に実施しました。" + +-#: dnf/base.py:512 ++#: dnf/base.py:514 msgid "" "The downloaded packages were saved in cache until the next successful " "transaction." @@ -2059,220 +2439,230 @@ index e81d5ceb..e1f463ce 100644 +"ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保" +"存されました。" - #: dnf/base.py:514 +-#: dnf/base.py:514 ++#: dnf/base.py:516 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "'%s' を実行することでキャッシュパッケージを削除できます。" + +-#: dnf/base.py:606 ++#: dnf/base.py:648 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "設定ファイルの tsflag が無効です: %s" + +-#: dnf/base.py:662 ++#: dnf/base.py:706 #, 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 +-#: dnf/base.py:922 ++#: dnf/base.py:968 msgid "Running transaction check" msgstr "トランザクションの確認を実行中" --#: dnf/base.py:912 -+#: dnf/base.py:930 +-#: dnf/base.py:930 ++#: dnf/base.py:976 msgid "Error: transaction check vs depsolve:" msgstr "エラー: トランザクションの確認 vs depsolve:" --#: dnf/base.py:918 -+#: dnf/base.py:936 +-#: dnf/base.py:936 ++#: dnf/base.py:982 msgid "Transaction check succeeded." msgstr "トランザクションの確認に成功しました。" --#: dnf/base.py:921 -+#: dnf/base.py:939 +-#: dnf/base.py:939 ++#: dnf/base.py:985 msgid "Running transaction test" msgstr "トランザクションのテストを実行中" --#: dnf/base.py:931 dnf/base.py:1082 -+#: dnf/base.py:949 dnf/base.py:1100 +-#: dnf/base.py:949 dnf/base.py:1100 ++#: dnf/base.py:995 dnf/base.py:1146 msgid "RPM: {}" msgstr "RPM: {}" --#: dnf/base.py:932 -+#: dnf/base.py:950 +-#: dnf/base.py:950 ++#: dnf/base.py:996 msgid "Transaction test error:" msgstr "トランザクションテストエラー:" --#: dnf/base.py:943 -+#: dnf/base.py:961 +-#: dnf/base.py:961 ++#: dnf/base.py:1007 msgid "Transaction test succeeded." msgstr "トランザクションのテストに成功しました。" --#: dnf/base.py:964 -+#: dnf/base.py:982 +-#: dnf/base.py:982 ++#: dnf/base.py:1028 msgid "Running transaction" msgstr "トランザクションを実行中" --#: dnf/base.py:1001 -+#: dnf/base.py:1019 +-#: dnf/base.py:1019 ++#: dnf/base.py:1065 msgid "Disk Requirements:" --msgstr "ディスク要件" -+msgstr "ディスク要件:" + msgstr "ディスク要件:" --#: dnf/base.py:1004 -+#: dnf/base.py:1022 +-#: dnf/base.py:1022 ++#: dnf/base.py:1068 #, 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 +-#: dnf/base.py:1029 ++#: dnf/base.py:1075 msgid "Error Summary" msgstr "エラーの概要" --#: dnf/base.py:1037 -+#: dnf/base.py:1055 +-#: dnf/base.py:1055 ++#: dnf/base.py:1101 #, 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 +-#: dnf/base.py:1101 dnf/base.py:1109 ++#: dnf/base.py:1147 dnf/base.py:1155 msgid "Could not run transaction." msgstr "トランザクションを実行できませんでした。" --#: dnf/base.py:1086 -+#: dnf/base.py:1104 +-#: dnf/base.py:1104 ++#: dnf/base.py:1150 msgid "Transaction couldn't start:" msgstr "トランザクションを開始できませんでした:" --#: dnf/base.py:1100 -+#: dnf/base.py:1118 +-#: dnf/base.py:1118 ++#: dnf/base.py:1164 #, python-format msgid "Failed to remove transaction file %s" msgstr "トランザクションファイル %s の削除に失敗しました" --#: dnf/base.py:1182 -+#: dnf/base.py:1200 +-#: dnf/base.py:1200 ++#: dnf/base.py:1246 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)" -+#: dnf/base.py:1230 ++#: dnf/base.py:1276 +#, 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%% " -+"節約しました)。" ++msgstr "デルタ RPM は、更新の %.1f MB を %.1f MB に削減しました (%.1f%% 節約しました)" --#: 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)" -+#: dnf/base.py:1234 ++#: dnf/base.py:1280 +#, 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%% " -+"は無駄になりました)" ++msgstr "" ++"失敗した Delta RPMs は、更新の %.1f MB を %.1f MB に増加しました (%.1f%% は無" ++"駄になりました)" --#: dnf/base.py:1258 -+#: dnf/base.py:1276 +-#: dnf/base.py:1276 ++#: dnf/base.py:1322 msgid "Cannot add local packages, because transaction job already exists" -msgstr "ローカルパッケージを追加できません、トランザクションジョブがすでに存在するためです" +msgstr "" +"ローカルパッケージを追加できません、トランザクションジョブがすでに存在するた" +"めです" --#: dnf/base.py:1272 -+#: dnf/base.py:1290 +-#: dnf/base.py:1290 ++#: dnf/base.py:1336 msgid "Could not open: {}" msgstr "開くことができませんでした: {}" --#: dnf/base.py:1310 -+#: dnf/base.py:1328 +-#: dnf/base.py:1328 ++#: dnf/base.py:1374 #, python-format msgid "Public key for %s is not installed" msgstr "%s の公開鍵がインストールされていません" --#: dnf/base.py:1314 -+#: dnf/base.py:1332 +-#: dnf/base.py:1332 ++#: dnf/base.py:1378 #, python-format msgid "Problem opening package %s" msgstr "パッケージ %s を開くことができません" --#: dnf/base.py:1322 -+#: dnf/base.py:1340 +-#: dnf/base.py:1340 ++#: dnf/base.py:1386 #, python-format msgid "Public key for %s is not trusted" msgstr "%s の公開鍵は信頼されていません" --#: dnf/base.py:1326 -+#: dnf/base.py:1344 +-#: dnf/base.py:1344 ++#: dnf/base.py:1390 #, python-format msgid "Package %s is not signed" msgstr "パッケージ %s は署名されていません" --#: dnf/base.py:1356 -+#: dnf/base.py:1374 +-#: dnf/base.py:1374 ++#: dnf/base.py:1420 #, python-format msgid "Cannot remove %s" msgstr "%s を削除できません" --#: dnf/base.py:1360 -+#: dnf/base.py:1378 +-#: dnf/base.py:1378 ++#: dnf/base.py:1424 #, python-format msgid "%s removed" msgstr "%s を削除しました" --#: dnf/base.py:1640 -+#: dnf/base.py:1658 +-#: dnf/base.py:1658 ++#: dnf/base.py:1704 msgid "No match for group package \"{}\"" --msgstr "グループパッケージ \"{}\" に一致するものはありません" -+msgstr "グループパッケージ \"{}\" に一致するものはありません" + msgstr "グループパッケージ \"{}\" に一致するものはありません" --#: dnf/base.py:1726 -+#: dnf/base.py:1740 +-#: dnf/base.py:1740 ++#: dnf/base.py:1786 #, 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/base.py:1763 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437 ++#: dnf/base.py:1809 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 +-#: dnf/base.py:1781 ++#: dnf/base.py:1827 msgid "No groups marked for removal." msgstr "削除対象のパッケージはありません。" --#: dnf/base.py:1801 -+#: dnf/base.py:1815 +-#: dnf/base.py:1815 ++#: dnf/base.py:1861 msgid "No group marked for upgrade." msgstr "アップグレード対象のグループはありません。" --#: dnf/base.py:2015 -+#: dnf/base.py:2029 +-#: dnf/base.py:2029 ++#: dnf/base.py:2075 #, 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/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/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136 ++#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417 #: dnf/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 はインストールされていないので、ダ +@@ -371,178 +378,197 @@ msgstr "パッケージ %s はインストールされていないので、ダ msgid "No match for argument: %s" msgstr "一致した引数がありません: %s" --#: dnf/base.py:2024 -+#: dnf/base.py:2038 +-#: dnf/base.py:2038 ++#: dnf/base.py:2084 #, python-format msgid "Package %s of lower version already installed, cannot downgrade it." -msgstr "下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。" @@ -2280,28 +2670,28 @@ index e81d5ceb..e1f463ce 100644 +"下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできま" +"せん。" --#: dnf/base.py:2047 -+#: dnf/base.py:2061 +-#: dnf/base.py:2061 ++#: dnf/base.py:2107 #, python-format msgid "Package %s not installed, cannot reinstall it." -msgstr "パッケージ %s はインストールされていないのでの、再インストールできません。" +msgstr "" +"パッケージ %s はインストールされていないのでの、再インストールできません。" --#: dnf/base.py:2062 -+#: dnf/base.py:2076 +-#: dnf/base.py:2076 ++#: dnf/base.py:2122 #, python-format msgid "File %s is a source package and cannot be updated, ignoring." msgstr "ファイル %s はソースパッケージで更新できません。無視します。" --#: dnf/base.py:2073 -+#: dnf/base.py:2087 +-#: dnf/base.py:2087 ++#: dnf/base.py:2133 #, python-format msgid "Package %s not installed, cannot update it." msgstr "パッケージ %s はインストールされていないので、更新できません。" --#: dnf/base.py:2083 -+#: dnf/base.py:2097 +-#: dnf/base.py:2097 ++#: dnf/base.py:2143 #, python-format msgid "" "The same or higher version of %s is already installed, cannot update it." @@ -2310,14 +2700,14 @@ index e81d5ceb..e1f463ce 100644 +"同じまたはさらに新しいバージョンの %s が既にインストールされています、アップ" +"デートできません。" --#: dnf/base.py:2126 dnf/cli/commands/reinstall.py:81 -+#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81 +-#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2203 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 +-#: dnf/base.py:2146 ++#: dnf/base.py:2209 #, python-format msgid "Package %s available, but installed for different architecture." -msgstr "パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされています。" @@ -2325,34 +2715,33 @@ index e81d5ceb..e1f463ce 100644 +"パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされてい" +"ます。" --#: dnf/base.py:2157 -+#: dnf/base.py:2171 +-#: dnf/base.py:2171 ++#: dnf/base.py:2234 #, 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/base.py:2189 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2252 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/base.py:2204 dnf/cli/commands/__init__.py:676 ++#: dnf/base.py:2267 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 +-#: dnf/base.py:2292 dnf/cli/cli.py:428 ++#: dnf/base.py:2355 dnf/cli/cli.py:428 #, python-format msgid "Packages for argument %s available, but not installed." --msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。" -+msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。" + msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。" --#: dnf/base.py:2283 -+#: dnf/base.py:2297 +-#: dnf/base.py:2297 ++#: dnf/base.py:2360 #, python-format msgid "Package %s of lowest version already installed, cannot downgrade it." -msgstr "最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。" @@ -2360,80 +2749,79 @@ index e81d5ceb..e1f463ce 100644 +"最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードでき" +"ません。" --#: dnf/base.py:2383 -+#: dnf/base.py:2397 +-#: dnf/base.py:2397 ++#: dnf/base.py:2460 msgid "No security updates needed, but {} update available" msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です" --#: dnf/base.py:2385 -+#: dnf/base.py:2399 +-#: dnf/base.py:2399 ++#: dnf/base.py:2462 msgid "No security updates needed, but {} updates available" msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です" --#: dnf/base.py:2389 -+#: dnf/base.py:2403 +-#: dnf/base.py:2403 ++#: dnf/base.py:2466 msgid "No security updates needed for \"{}\", but {} update available" msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です" --#: dnf/base.py:2391 -+#: dnf/base.py:2405 +-#: dnf/base.py:2405 ++#: dnf/base.py:2468 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 +-#: dnf/base.py:2426 ++#: dnf/base.py:2489 #, python-format msgid "Unable to retrieve a key for a commandline package: %s" --msgstr "" -+msgstr "コマンドラインパッケージのキーを取得できません: %s" + msgstr "コマンドラインパッケージのキーを取得できません: %s" --#: dnf/base.py:2420 -+#: dnf/base.py:2434 +-#: dnf/base.py:2434 ++#: dnf/base.py:2497 #, python-format msgid ". Failing package is: %s" msgstr ". 失敗したパッケージは: %s" --#: dnf/base.py:2421 -+#: dnf/base.py:2435 +-#: dnf/base.py:2435 ++#: dnf/base.py:2498 #, python-format msgid "GPG Keys are configured as: %s" msgstr "GPG 鍵が設定されています: %s" --#: dnf/base.py:2433 -+#: dnf/base.py:2447 +-#: dnf/base.py:2447 ++#: dnf/base.py:2510 #, 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 +-#: dnf/base.py:2483 ++#: dnf/base.py:2546 msgid "The key has been approved." msgstr "鍵が承認されました。" --#: dnf/base.py:2472 -+#: dnf/base.py:2486 +-#: dnf/base.py:2486 ++#: dnf/base.py:2549 msgid "The key has been rejected." msgstr "鍵が拒否されました。" --#: dnf/base.py:2505 -+#: dnf/base.py:2519 +-#: dnf/base.py:2519 ++#: dnf/base.py:2582 #, python-format msgid "Key import failed (code %d)" msgstr "鍵のインポートに失敗しました (コード: %d)" --#: dnf/base.py:2507 -+#: dnf/base.py:2521 +-#: dnf/base.py:2521 ++#: dnf/base.py:2584 msgid "Key imported successfully" msgstr "鍵のインポートに成功しました" --#: dnf/base.py:2511 -+#: dnf/base.py:2525 +-#: dnf/base.py:2525 ++#: dnf/base.py:2588 msgid "Didn't install any keys" msgstr "鍵を 1 つもインストールしませんでした" --#: dnf/base.py:2514 -+#: dnf/base.py:2528 +-#: dnf/base.py:2528 ++#: dnf/base.py:2591 #, python-format msgid "" -"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n" @@ -2446,40 +2834,40 @@ index e81d5ceb..e1f463ce 100644 +"パッケージには適切ではありません。\n" "正しい鍵 URL がこのリポジトリー用に設定されているか確認してください。" --#: dnf/base.py:2525 -+#: dnf/base.py:2539 +-#: dnf/base.py:2539 ++#: dnf/base.py:2602 msgid "Import of key(s) didn't help, wrong key(s)?" msgstr "鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?" --#: dnf/base.py:2578 -+#: dnf/base.py:2592 +-#: dnf/base.py:2592 ++#: dnf/base.py:2655 msgid " * Maybe you meant: {}" msgstr " * おそらく: {}" --#: dnf/base.py:2610 -+#: dnf/base.py:2624 +-#: dnf/base.py:2624 ++#: dnf/base.py:2687 msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" -msgstr "ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません" +msgstr "" +"ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありま" +"せん" --#: dnf/base.py:2613 -+#: dnf/base.py:2627 +-#: dnf/base.py:2627 ++#: dnf/base.py:2690 msgid "Some packages from local repository have incorrect checksum" -msgstr "ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません" +msgstr "" +"ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません" --#: dnf/base.py:2616 -+#: dnf/base.py:2630 +-#: dnf/base.py:2630 ++#: dnf/base.py:2693 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" -msgstr "リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません" +msgstr "" +"リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません" --#: dnf/base.py:2619 -+#: dnf/base.py:2633 +-#: dnf/base.py:2633 ++#: dnf/base.py:2696 msgid "" "Some packages have invalid cache, but cannot be downloaded due to \"--" "cacheonly\" option" @@ -2488,46 +2876,47 @@ index e81d5ceb..e1f463ce 100644 +"いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプ" +"ションによりダウンロードできません" --#: dnf/base.py:2637 dnf/base.py:2657 -+#: dnf/base.py:2651 dnf/base.py:2671 +-#: dnf/base.py:2651 dnf/base.py:2671 ++#: dnf/base.py:2714 dnf/base.py:2734 msgid "No match for argument" msgstr "一致した引数がありません" --#: dnf/base.py:2645 dnf/base.py:2665 -+#: dnf/base.py:2659 dnf/base.py:2679 +-#: dnf/base.py:2659 dnf/base.py:2679 ++#: dnf/base.py:2722 dnf/base.py:2742 msgid "All matches were filtered out by exclude filtering for argument" --msgstr "すべての検索結果は引数の除外フィルタリングに一致しません(filter out)" -+msgstr "すべての検索結果は引数の除外フィルタリングに一致しません (filter out)" + msgstr "すべての検索結果は引数の除外フィルタリングに一致しません (filter out)" --#: dnf/base.py:2647 -+#: dnf/base.py:2661 +-#: dnf/base.py:2661 ++#: dnf/base.py:2724 msgid "All matches were filtered out by modular filtering for argument" --msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません(filter out)" +-msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません (filter out)" +msgstr "" +"すべての検出結果は引数のモジュラーフィルタリングに一致しません (filter out)" --#: dnf/base.py:2663 -+#: dnf/base.py:2677 +-#: dnf/base.py:2677 ++#: dnf/base.py:2740 msgid "All matches were installed from a different repository for argument" -msgstr "すべての検索結果は引数に対し異なるレポジトリからインストールされたものです" +msgstr "" +"すべての検索結果は引数に対し異なるレポジトリからインストールされたものです" --#: dnf/base.py:2710 -+#: dnf/base.py:2724 +-#: dnf/base.py:2724 ++#: dnf/base.py:2787 #, 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" +@@ -562,8 +588,8 @@ msgstr "ファイル \"%s\" の解析に失敗しました: %s" + msgid "Cannot read file \"%s\": %s" + msgstr "ファイル \"%s\" を読み込めません: %s" --#: dnf/cli/aliases.py:105 dnf/conf/config.py:457 -+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475 +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804 +-#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:806 ++#: dnf/cli/cli.py:810 dnf/cli/commands/alias.py:108 #, python-format - msgid "Parsing file \"%s\" failed: %s" - msgstr "ファイル \"%s\" の解析に失敗しました: %s" -@@ -593,19 +618,24 @@ msgstr " ビルド : %s (日時: %s)" + msgid "Config error: %s" + msgstr "設定エラー: %s" +@@ -592,16 +618,24 @@ msgstr " ビルド : %s (日時: %s)" msgid "" "The operation would result in switching of module '{0}' stream '{1}' to " "stream '{2}'" @@ -2537,11 +2926,7 @@ index e81d5ceb..e1f463ce 100644 +"切り替える結果となります" #: 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 ' command. After you reset the module, you can install the other stream." -+#, python-brace-format + #, 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 ' command. After you reset the module, you can install the other stream." @@ -2551,8 +2936,8 @@ index e81d5ceb..e1f463ce 100644 +"and reset the module using '{prog} module reset ' command. " +"After you reset the module, you can install the other stream." msgstr "" --"モジュールの有効なストリームを切り替えることはできません。\n" --"モジュールからインストールされた全てのコンテンツを削除し、 '{prog} module reset ' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。" +-"設定オプション module_stream_switch から明示的に有効化されていない限り、モジュールの有効なストリームを切り替えることはできません。\n" +-"モジュールからインストールされた全てのコンテンツを削除し、'{prog} module reset ' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。" +"設定オプション module_stream_switch から明示的に有効化されていない限り、モ" +"ジュールの有効なストリームを切り替えることはできません。\n" +"モジュールからインストールされた全てのコンテンツを削除し、'{prog} module " @@ -2561,7 +2946,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/cli.py:212 #, python-brace-format -@@ -617,7 +647,9 @@ msgstr "{prog} はトランザクションでパッケージのダウンロー +@@ -613,7 +647,9 @@ msgstr "{prog} はトランザクションでパッケージのダウンロー msgid "" "{prog} will only download packages, install gpg keys, and check the " "transaction." @@ -2572,24 +2957,42 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/cli.py:219 msgid "Operation aborted." -@@ -653,12 +685,12 @@ msgstr "パッケージの廃止" - - #: dnf/cli/cli.py:399 +@@ -651,7 +687,7 @@ msgstr "パッケージの廃止" msgid "No packages marked for distribution synchronization." --msgstr "ディストリビューション同期対象のパッケージがありません" -+msgstr "ディストリビューション同期対象のパッケージがありません。" + msgstr "ディストリビューション同期対象のパッケージがありません。" - #: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395 +-#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395 ++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:396 #, python-format msgid "No package %s available." --msgstr "利用可能なパッケージ %s がありません。" -+msgstr "利用可能なパッケージ %s はありません。" + msgstr "利用可能なパッケージ %s はありません。" +@@ -689,100 +725,113 @@ msgid "No matching Packages to list" + msgstr "表示するための一致したパッケージはありません" - #: dnf/cli/cli.py:434 - msgid "No packages marked for downgrade." -@@ -708,52 +740,59 @@ msgstr "一致するリポジトリーがありません: %s" + #: dnf/cli/cli.py:604 +-msgid "No Matches found" +-msgstr "一致したものは見つかりませんでした" ++msgid "" ++"No matches found. If searching for a file, try specifying the full path or " ++"using a wildcard prefix (\"*/\") at the beginning." ++msgstr "" ++"一致する項目はありませんでした。ファイルを検索する場合は、完全パスを指定する" ++"か、最初にワイルドカードの接頭辞 (「*/」) を使用してみてください。" - #: dnf/cli/cli.py:719 +-#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "不明な repo : '%s'" + +-#: dnf/cli/cli.py:685 ++#: dnf/cli/cli.py:687 + #, python-format + msgid "No repository match: %s" + msgstr "一致するリポジトリーがありません: %s" + +-#: dnf/cli/cli.py:719 ++#: dnf/cli/cli.py:721 msgid "" -"This command has to be run with superuser privileges (under the root user on" -" most systems)." @@ -2600,13 +3003,14 @@ index e81d5ceb..e1f463ce 100644 +"このコマンドはスーパーユーザー特権(大概のシステムではrootユーザー)で実行しな" +"ければいけません。" - #: dnf/cli/cli.py:749 +-#: dnf/cli/cli.py:749 ++#: dnf/cli/cli.py:751 #, python-format msgid "No such command: %s. Please use %s --help" --msgstr "そのようなコマンドはありません: %s. %s --help を使用してください。" -+msgstr "そのようなコマンドはありません: %s. %s --help を使用してください" + msgstr "そのようなコマンドはありません: %s. %s --help を使用してください" - #: dnf/cli/cli.py:752 +-#: dnf/cli/cli.py:752 ++#: dnf/cli/cli.py:754 #, python-format, python-brace-format msgid "" "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" @@ -2616,7 +3020,8 @@ index e81d5ceb..e1f463ce 100644 +"{PROG} プラグインコマンドを実行できません、試してください: \"{prog} install " +"'dnf-command(%s)'\"" - #: dnf/cli/cli.py:756 +-#: dnf/cli/cli.py:756 ++#: dnf/cli/cli.py:758 #, python-brace-format msgid "" "It could be a {prog} plugin command, but loading of plugins is currently " @@ -2626,7 +3031,8 @@ index e81d5ceb..e1f463ce 100644 +"{prog} プラグインコマンドを実行できません、プラグインのロードが現在無効になっ" +"ているようです。" - #: dnf/cli/cli.py:814 +-#: dnf/cli/cli.py:814 ++#: dnf/cli/cli.py:816 msgid "" "--destdir or --downloaddir must be used with --downloadonly or download or " "system-upgrade command." @@ -2636,7 +3042,8 @@ index e81d5ceb..e1f463ce 100644 +"--destdir または --downloaddir は、--downloadonly、download あるいは system-" +"upgrade コマンドと共に使用する必要があります。" - #: dnf/cli/cli.py:820 +-#: dnf/cli/cli.py:820 ++#: dnf/cli/cli.py:822 msgid "" "--enable, --set-enabled and --disable, --set-disabled must be used with " "config-manager command." @@ -2646,7 +3053,8 @@ index e81d5ceb..e1f463ce 100644 +"--enable と --set-enabled および --disable と --set-disabled は、config-" +"manager コマンドと共に使用しなければなりません。" - #: dnf/cli/cli.py:902 +-#: dnf/cli/cli.py:902 ++#: dnf/cli/cli.py:904 msgid "" "Warning: Enforcing GPG signature check globally as per active RPM security " "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" @@ -2657,9 +3065,13 @@ index e81d5ceb..e1f463ce 100644 +"ルに強制します (このメッセージをスケルチするには、dnf.conf(5) の 'gpgcheck' " +"を参照してください)" - #: dnf/cli/cli.py:922 +-#: dnf/cli/cli.py:922 ++#: dnf/cli/cli.py:924 msgid "Config file \"{}\" does not exist" -@@ -763,7 +802,9 @@ msgstr "設定ファイル \"{}\" は存在しません" + msgstr "設定ファイル \"{}\" は存在しません" + +-#: dnf/cli/cli.py:942 ++#: dnf/cli/cli.py:944 msgid "" "Unable to detect release version (use '--releasever' to specify release " "version)" @@ -2668,9 +3080,38 @@ index e81d5ceb..e1f463ce 100644 +"リリースバージョンを検出できません (リリースバージョンを指定するには '--" +"releasever' を使用してください)" - #: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471 +-#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1018 dnf/cli/commands/repoquery.py:471 msgid "argument {}: not allowed with argument {}" -@@ -798,13 +839,16 @@ msgstr "問題を診断するには実行してみてください: '%s'." + msgstr "引数 {}: 引数 {} と許可されていません" + +-#: dnf/cli/cli.py:1023 ++#: dnf/cli/cli.py:1025 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "コマンド \"%s\" はすでに定義済みです" + +-#: dnf/cli/cli.py:1043 ++#: dnf/cli/cli.py:1045 + msgid "Excludes in dnf.conf: " + msgstr "dnf.conf で除外します: " + +-#: dnf/cli/cli.py:1046 ++#: dnf/cli/cli.py:1048 + msgid "Includes in dnf.conf: " + msgstr "dnf.conf で含めます: " + +-#: dnf/cli/cli.py:1049 ++#: dnf/cli/cli.py:1051 + msgid "Excludes in repo " + msgstr "repo で除外します " + +-#: dnf/cli/cli.py:1052 ++#: dnf/cli/cli.py:1054 + msgid "Includes in repo " + msgstr "repo に含めます " + +@@ -794,13 +843,16 @@ msgstr "問題を診断するには実行してみてください: '%s'." #: dnf/cli/commands/__init__.py:40 #, python-format msgid "You probably have corrupted RPMDB, running '%s' might fix the issue." @@ -2689,7 +3130,7 @@ index e81d5ceb..e1f463ce 100644 "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 "" +@@ -819,11 +871,13 @@ msgstr "" " rpm --import public.gpg.key\n" "\n" "\n" @@ -2705,7 +3146,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/__init__.py:71 #, python-format -@@ -1062,7 +1108,8 @@ msgstr "一致するエイリアスがありません: %s" +@@ -1058,7 +1112,8 @@ msgstr "一致するエイリアスがありません: %s" #: dnf/cli/commands/autoremove.py:41 msgid "" "remove all unneeded packages that were originally installed as dependencies" @@ -2715,45 +3156,36 @@ index e81d5ceb..e1f463ce 100644 #: 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" +@@ -1140,7 +1195,9 @@ msgstr "pid %d のプロセスが終了するのを待ちます。" msgid "" "[deprecated, use repoquery --deplist] List package's dependencies and what " "packages provide them" --msgstr "パッケージの依存関係とこれを提供するパッケージがどれかを一覧表示します" +-msgstr "[非推奨、epoquery --deplist を使用] パッケージの依存関係とこれを提供するパッケージがどれかを一覧表示します" +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 +@@ -1232,7 +1289,7 @@ msgstr "グループサブコマンドの引数" msgid "Invalid groups sub-command, use: %s." --msgstr "groups のサブコマンドが無効です: %s. を使用します" -+msgstr "groups のサブコマンドが無効です: %s を使用します。" + msgstr "groups のサブコマンドが無効です: %s を使用します。" - #: dnf/cli/commands/group.py:398 +-#: dnf/cli/commands/group.py:398 ++#: dnf/cli/commands/group.py:399 msgid "Unable to find a mandatory group package." -@@ -1248,25 +1295,31 @@ msgstr "トランザクション履歴を表示、または使用します" + msgstr "必須のグループパッケージを見つけることができません。" - #: dnf/cli/commands/history.py:66 - msgid "For the store command, file path to store the transaction to" --msgstr "" -+msgstr "store コマンドの場合は、トランザクションを保存するファイルパス" +@@ -1246,21 +1303,27 @@ msgstr "store コマンドの場合は、トランザクションを保存する #: dnf/cli/commands/history.py:68 msgid "" -"For the replay command, don't check for installed packages matching those in" -" transaction" +-msgstr "replay コマンドの場合は、トランザクション内のパッケージに一致するインストール済みパッケージを確認しない" +"For the replay command, don't check for installed packages matching those in " +"transaction" - msgstr "" ++msgstr "" +"replay コマンドの場合は、トランザクション内のパッケージに一致するインストール" +"済みパッケージを確認しない" @@ -2761,7 +3193,8 @@ index e81d5ceb..e1f463ce 100644 msgid "" "For the replay command, don't check for extra packages pulled into the " "transaction" - msgstr "" +-msgstr "replay コマンドの場合は、トランザクションにプルされた追加パッケージを確認しない" ++msgstr "" +"replay コマンドの場合は、トランザクションにプルされた追加パッケージを確認しな" +"い" @@ -2769,34 +3202,16 @@ index e81d5ceb..e1f463ce 100644 msgid "" -"For the replay command, skip packages that are not available or have missing" -" dependencies" +-msgstr "replay コマンドの場合は、利用できないパッケージや、依存関係が不足しているパッケージをスキップ" +"For the replay command, skip packages that are not available or have missing " +"dependencies" - msgstr "" ++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" +@@ -1290,16 +1353,20 @@ msgstr "履歴 DB にアクセスできません: %s" #: dnf/cli/commands/history.py:151 #, python-format msgid "" @@ -2821,52 +3236,64 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/history.py:175 msgid "No transaction ID given" - msgstr "トランザクション ID は指定されていません" +@@ -1324,11 +1391,11 @@ msgstr "%u の前のトランザクション履歴が不完全です。" + msgid "Transaction history is incomplete, after %u." + msgstr "%u の後のトランザクション履歴が不完全です。" - #: 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:256 ++#: dnf/cli/commands/history.py:267 + msgid "No packages to list" + msgstr "一覧表示するパッケージはありません" - #: dnf/cli/commands/history.py:185 - msgid "Found more than one transaction ID!" -@@ -1361,27 +1413,23 @@ msgstr "パッケージ '{}' を操作するトランザクションが見つか +-#: dnf/cli/commands/history.py:279 ++#: dnf/cli/commands/history.py:290 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." +@@ -1336,7 +1403,7 @@ msgstr "" + "無効なトランザクション ID の範囲の定義 '{}'。\n" + "'..' を使用してください。" - #: dnf/cli/commands/history.py:357 +-#: dnf/cli/commands/history.py:283 ++#: dnf/cli/commands/history.py:294 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." +@@ -1344,27 +1411,27 @@ msgstr "" + "'{}' をトランザクション IDに変換できません。\n" + "'', 'last', 'last-' を使用してください。" + +-#: dnf/cli/commands/history.py:312 ++#: dnf/cli/commands/history.py:323 + msgid "No transaction which manipulates package '{}' was found." + msgstr "パッケージ '{}' を操作するトランザクションが見つかりません。" + +-#: dnf/cli/commands/history.py:357 ++#: dnf/cli/commands/history.py:368 msgid "{} exists, overwrite?" --msgstr "" -+msgstr "{} は存在します。上書きしますか?" + msgstr "{} は存在します。上書きしますか?" - #: dnf/cli/commands/history.py:360 +-#: dnf/cli/commands/history.py:360 ++#: dnf/cli/commands/history.py:371 msgid "Not overwriting {}, exiting." --msgstr "" -+msgstr "{} は存在するため上書きしません。" + msgstr "{} は存在するため上書きしません。" - #: dnf/cli/commands/history.py:367 --#, fuzzy --#| msgid "Transaction failed" +-#: dnf/cli/commands/history.py:367 ++#: dnf/cli/commands/history.py:378 msgid "Transaction saved to {}." --msgstr "トランザクションが失敗しました" -+msgstr "{} に保存されているトランザクション。" + msgstr "{} に保存されているトランザクション。" - #: dnf/cli/commands/history.py:370 --#, fuzzy --#| msgid "Errors occurred during transaction." +-#: dnf/cli/commands/history.py:370 ++#: dnf/cli/commands/history.py:381 msgid "Error storing transaction: {}" --msgstr "トランザクション中にエラーが発生しました。" -+msgstr "トランザクションの保存エラー: {}" + msgstr "トランザクションの保存エラー: {}" - #: dnf/cli/commands/history.py:386 +-#: dnf/cli/commands/history.py:386 ++#: dnf/cli/commands/history.py:397 msgid "Warning, the following problems occurred while running a transaction:" --msgstr "" -+msgstr "警告: トランザクションの実行中に以下の問題が発生しました:" + msgstr "警告: トランザクションの実行中に以下の問題が発生しました:" - #: dnf/cli/commands/install.py:47 - msgid "install a package or packages on your system" -@@ -1415,7 +1463,9 @@ msgstr "すべてのメタデータファイルのキャッシュファイルを +@@ -1400,7 +1467,9 @@ msgstr "すべてのメタデータファイルのキャッシュファイルを #: dnf/cli/commands/mark.py:39 msgid "mark or unmark installed packages as installed by user." @@ -2877,7 +3304,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/mark.py:44 msgid "" -@@ -1454,9 +1504,11 @@ msgstr "パッケージ %s はインストールされていません。" +@@ -1439,9 +1508,11 @@ msgstr "パッケージ %s はインストールされていません。" #: dnf/cli/commands/module.py:54 msgid "" @@ -2892,16 +3319,7 @@ index e81d5ceb..e1f463ce 100644 #: 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 "キーワードに一致するパッケージを検索します" +@@ -1712,7 +1783,9 @@ msgstr "キーワードに一致するパッケージを検索します" msgid "" "Query all packages (shorthand for repoquery '*' or repoquery without " "argument)" @@ -2912,18 +3330,24 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:124 msgid "Query all versions of packages (default)" -@@ -1749,7 +1803,9 @@ msgstr "REQ と競合する結果のみを表示します" +@@ -1731,14 +1804,11 @@ msgid "show only results that conflict REQ" + msgstr "REQ と競合する結果のみを表示します" + + #: dnf/cli/commands/repoquery.py:135 +-#, fuzzy +-#| msgid "" +-#| "shows results that requires, suggests, supplements, enhances,or recommends " +-#| "package provides and files REQ" msgid "" - "shows results that requires, suggests, supplements, enhances,or recommends " + "shows results that requires, suggests, supplements, enhances, or recommends " "package provides and files REQ" -msgstr "REQ を提供およびファイルするパッケージを必要、提案、補完、機能強化、または推奨する結果を表示します" -+msgstr "" -+"REQ を提供およびファイルするパッケージを必要、提案、補完、機能強化、または推" ++msgstr "REQ を提供およびファイルするパッケージを必要、提案、補完、機能強化、または推" +"奨する結果を表示します" #: dnf/cli/commands/repoquery.py:139 msgid "show only results that obsolete REQ" -@@ -1791,7 +1847,9 @@ msgstr "指定されたとおりに依存関係を確認します。--alldeps +@@ -1780,7 +1850,9 @@ msgstr "指定されたとおりに依存関係を確認します。--alldeps msgid "" "used with --whatrequires, and --requires --resolve, query packages " "recursively." @@ -2934,7 +3358,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:166 msgid "show a list of all dependencies and what packages provide them" -@@ -1813,7 +1871,9 @@ msgstr "対応するソース RPM で操作します" +@@ -1802,7 +1874,9 @@ msgstr "対応するソース RPM で操作します" msgid "" "show N latest packages for a given name.arch (or latest but N if N is " "negative)" @@ -2945,7 +3369,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:177 msgid "list also packages of inactive module streams" -@@ -1838,9 +1898,11 @@ msgstr "パッケージの changelogs を表示します" +@@ -1827,11 +1901,11 @@ msgstr "パッケージの changelogs を表示します" #: dnf/cli/commands/repoquery.py:194 #, python-format, python-brace-format msgid "" @@ -2954,16 +3378,18 @@ index e81d5ceb..e1f463ce 100644 +"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" -@@ -1851,19 +1913,24 @@ msgid "" +@@ -1842,19 +1916,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 形式を使用します (デフォルト)" +"見つかったパッケージを表示するには name-epoch:version-release.architecture 形" +"式を使用します (デフォルト)" @@ -2987,7 +3413,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:214 msgid "Display in which comps groups are presented selected packages" -@@ -1879,7 +1946,8 @@ msgstr "インストール済みの installonly パッケージへのクエリ +@@ -1870,7 +1949,8 @@ msgstr "インストール済みの installonly パッケージへのクエリ #: dnf/cli/commands/repoquery.py:228 msgid "limit the query to installed packages with unsatisfied dependencies" @@ -2997,7 +3423,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:230 msgid "show a location from where packages can be downloaded" -@@ -1893,7 +1961,8 @@ msgstr "パッケージが競合する機能を表示します。" +@@ -1884,7 +1964,8 @@ msgstr "パッケージが競合する機能を表示します。" msgid "" "Display capabilities that the package can depend on, enhance, recommend, " "suggest, and supplement." @@ -3007,7 +3433,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:236 msgid "Display capabilities that the package can enhance." -@@ -1918,9 +1987,10 @@ msgid "" +@@ -1909,9 +1990,10 @@ msgid "" "running %%pre and %%post scriptlets. If the package is installed display " "capabilities that is depends for %%pre, %%post, %%preun and %%postun." msgstr "" @@ -3021,7 +3447,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:243 msgid "Display capabilities that the package suggests." -@@ -1947,7 +2017,9 @@ msgstr "利用可能なリポジトリーに存在しないパッケージのみ +@@ -1938,7 +2020,9 @@ msgstr "利用可能なリポジトリーに存在しないパッケージのみ msgid "" "Display only packages that provide an upgrade for some already installed " "package." @@ -3032,7 +3458,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:256 #, python-brace-format -@@ -1969,26 +2041,28 @@ msgstr "検索するための鍵" +@@ -1960,51 +2044,50 @@ msgstr "検索するための鍵" #: dnf/cli/commands/repoquery.py:295 msgid "" @@ -3044,7 +3470,7 @@ index e81d5ceb..e1f463ce 100644 msgstr "" -"オプションの '--resolve' は、'--conflicts'、'--depends'、'--enhances'、'--provides'、'--" -"recommends'、'--requires'、'--requires-pre'、'--suggests' または '--supplements' " --"オプションのいずれか 1 つと使用する必要があります。" +-"オプションのいずれか 1 つと使用する必要があります" +"オプションの '--resolve' は、'--conflicts'、'--depends'、'--enhances'、'--" +"provides'、'--recommends'、'--requires'、'--requires-pre'、'--suggests' また" +"は '--supplements' オプションのいずれか 1 つと使用する必要があります" @@ -3058,7 +3484,7 @@ index e81d5ceb..e1f463ce 100644 +"resolve'" msgstr "" -"オプションの '--recursive' は、'--whatrequires ' (オプションでは '--exactdeps' ではなく、'" --"--alldeps' と共に使用) または '--requires --resolve' と共に使用する必要があります。" +-"--alldeps' と共に使用) または '--requires --resolve' と共に使用する必要があります" +"オプションの '--recursive' は、'--whatrequires ' (オプションでは '--" +"exactdeps' ではなく、'--alldeps' と共に使用) または '--requires --" +"resolve' と共に使用する必要があります" @@ -3071,8 +3497,17 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/repoquery.py:344 msgid "Package {} contains no files" -@@ -1998,13 +2072,17 @@ msgstr "パッケージ {} はファイルを含んでいません" - #, python-brace-format + msgstr "パッケージ {} はファイルを含んでいません" + + #: dnf/cli/commands/repoquery.py:561 +-#, fuzzy, python-brace-format +-#| msgid "" +-#| "No valid switch specified\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." ++#, python-brace-format msgid "" "No valid switch specified\n" -"usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n" @@ -3081,17 +3516,21 @@ index e81d5ceb..e1f463ce 100644 +"tree]\n" "\n" "description:\n" - " For the given packages print a tree of thepackages." + " For the given packages print a tree of the packages." msgstr "" - "正規のスイッチが特定されません\n" +-"正規のスイッチが特定されません\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" ++"使用方法: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--r" ++"ecommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n" "\n" "説明:\n" - " 与えられたパッケージではパッケージのツリーを表示します。" -@@ -2044,8 +2122,7 @@ msgstr "説明" +-" 与えられたパッケージではパッケージのツリーを表示します。" ++" 特定のパッケージに関しては、パッケージのツリーを出力します。" + + #: dnf/cli/commands/search.py:46 + msgid "search package details for the given string" +@@ -2041,8 +2124,7 @@ msgstr "説明" msgid "URL" msgstr "URL" @@ -3101,7 +3540,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/search.py:76 msgid " & " msgstr " & " -@@ -2121,7 +2198,8 @@ msgid "" +@@ -2118,7 +2200,8 @@ msgid "" " disable: disable repositories. option = repository id" msgstr "" "{} arg [オプション]\n" @@ -3111,7 +3550,7 @@ index e81d5ceb..e1f463ce 100644 " 有効化: リポジトリーの有効化。オプション = リポジトリー id\n" " 無効化: リポジトリーの無効化。オプション = リポジトリー id" -@@ -2179,7 +2257,8 @@ msgstr "" +@@ -2176,7 +2259,8 @@ msgstr "" "ヘルプ ヘルプの印刷\n" "リポジトリー (または repo) リポジトリーの有効化、無効化、または一覧表示\n" "resolvedep トランザクションセットの解決\n" @@ -3121,7 +3560,7 @@ index e81d5ceb..e1f463ce 100644 "実行 トランザクションセットの解決および実行\n" "終了 (または 中止) シェルの終了" -@@ -2199,7 +2278,9 @@ msgstr "シェルを終了します" +@@ -2196,7 +2280,9 @@ msgstr "シェルを終了します" #: dnf/cli/commands/swap.py:35 #, python-brace-format msgid "run an interactive {prog} mod for remove and install one spec" @@ -3132,7 +3571,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/swap.py:40 msgid "The specs that will be removed" -@@ -2251,13 +2332,16 @@ msgstr "インストール済みパッケージの新しいバージョンに関 +@@ -2248,13 +2334,16 @@ msgstr "インストール済みパッケージの新しいバージョンに関 #: dnf/cli/commands/updateinfo.py:80 msgid "advisories about equal and older versions of installed packages" @@ -3151,7 +3590,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/updateinfo.py:87 msgid "advisories about any versions of installed packages" -@@ -2398,7 +2482,8 @@ msgstr "正" +@@ -2395,7 +2484,8 @@ msgstr "正" #: dnf/cli/commands/upgrade.py:40 msgid "upgrade a package or packages on your system" @@ -3161,7 +3600,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/commands/upgrade.py:44 msgid "Package to upgrade" -@@ -2408,7 +2493,9 @@ msgstr "アップグレードするパッケージ" +@@ -2405,7 +2495,9 @@ msgstr "アップグレードするパッケージ" msgid "" "upgrade, but only 'newest' package match which fixes a problem that affects " "your system" @@ -3172,7 +3611,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/main.py:88 msgid "Terminated." -@@ -2420,23 +2507,29 @@ msgstr "現在のディレクトリーには読み取り/実行権限があり +@@ -2417,23 +2509,29 @@ msgstr "現在のディレクトリーには読み取り/実行権限があり #: dnf/cli/main.py:135 msgid "try to add '{}' to command line to replace conflicting packages" @@ -3207,7 +3646,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/main.py:167 msgid "Dependencies resolved." -@@ -2528,7 +2621,9 @@ msgstr "依存関係を解決するために、インストール済みパッケ +@@ -2525,7 +2623,9 @@ msgstr "依存関係を解決するために、インストール済みパッケ #: dnf/cli/option_parser.py:221 msgid "try the best available package versions in transactions." @@ -3218,7 +3657,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/cli/option_parser.py:223 msgid "do not limit the transaction to the best candidate" -@@ -2564,8 +2659,8 @@ msgid "" +@@ -2561,8 +2661,8 @@ msgid "" "enables {prog}'s obsoletes processing logic for upgrade or display " "capabilities that the package obsoletes for info, list and repoquery" msgstr "" @@ -3229,27 +3668,36 @@ index e81d5ceb..e1f463ce 100644 #: 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のサポートは何度でも指定可能" -+"です。" +@@ -2578,24 +2678,33 @@ msgstr "すべての質問に「いいえ」(no) と自動的に答えます" - #: dnf/cli/option_parser.py:266 + #: dnf/cli/option_parser.py:261 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のサポートは何度でも指定可能" -+"です。" +-"Temporarily enable repositories for the purposeof the current dnf command. " +-"Accepts an id, acomma-separated list of ids, or a glob of ids.This option " ++"Temporarily enable repositories for the purpose of the current dnf command. " ++"Accepts an id, a comma-separated list of ids, or a glob of ids. This option " + "can be specified multiple times." + msgstr "" ++"現在の dnf コマンドを機能させるため、リポジトリーを一時的に有効にします。ID、" ++"コンマ区切りの ID 一覧、または ID の glob " ++"を使用できます。このオプションは複数回指定できます。" - #: dnf/cli/option_parser.py:270 + #: dnf/cli/option_parser.py:268 + msgid "" +-"Temporarily disable active repositories for thepurpose of the current dnf " +-"command. Accepts an id,a comma-separated list of ids, or a glob of ids.This " +-"option can be specified multiple times, butis mutually exclusive with " ++"Temporarily disable active repositories for the purpose of the current dnf " ++"command. Accepts an id, a comma-separated list of ids, or a glob of ids. " ++"This option can be specified multiple times, but is mutually exclusive with " + "`--repo`." + msgstr "" ++"現在の dnf コマンドを機能させるため、アクティブなリポジトリーを一時的に無効に" ++"します。ID、コンマ区切りの ID 一覧、または ID の glob " ++"を受け入れます。このオプションは複数回指定できますが、'-repo' " ++"と同時には使用できません。" + + #: dnf/cli/option_parser.py:275 msgid "" "enable just specific repositories by an id or a glob, can be specified " "multiple times" @@ -3258,9 +3706,9 @@ index e81d5ceb..e1f463ce 100644 +"id または glob により特定のリポジトリーだけを有効にします。複数回指定すること" +"が可能です" - #: dnf/cli/option_parser.py:275 + #: dnf/cli/option_parser.py:280 msgid "enable repos with config-manager command (automatically saves)" -@@ -2617,7 +2718,9 @@ msgstr "excludepkgs を無効にします" +@@ -2617,7 +2726,9 @@ msgstr "excludepkgs を無効にします" msgid "" "label and path to an additional repository to use (same path as in a " "baseurl), can be specified multiple times." @@ -3269,167 +3717,18 @@ index e81d5ceb..e1f463ce 100644 +"利用する追加レポジトリ(baseurlと同じパス)のラベルとパスは何度でも指定可能で" +"す。" - #: dnf/cli/option_parser.py:297 + #: dnf/cli/option_parser.py:302 msgid "disable removal of dependencies that are no longer used" -@@ -2697,7 +2800,7 @@ msgstr "主要コマンドの一覧:" +@@ -3522,7 +3633,7 @@ msgstr "正しくない設定値: %s=%s in %s; %s" - #: dnf/cli/option_parser.py:376 - msgid "List of Plugin Commands:" --msgstr "プラグインコマンドの一覧" -+msgstr "プラグインコマンドの一覧:" + #: dnf/conf/config.py:194 + msgid "Cannot set \"{}\" to \"{}\": {}" +-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 + #: 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 +@@ -3625,12 +3736,14 @@ msgstr "%s から暗号化されていない %s の repo キーを取得して msgid "" "No available modular metadata for modular package '{}', it cannot be " "installed on the system" @@ -3446,61 +3745,17 @@ index e81d5ceb..e1f463ce 100644 #: 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 +@@ -3644,7 +3757,8 @@ msgstr "ソース rpm パッケージ (%s) をインストールしません。" + #: dnf/dnssec.py:171 msgid "" "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})" --msgstr "設定オプション 'gpgkey_dns_verification' は libunbound ({}) が必要です" +-msgstr "設定オプション 'gpgkey_dns_verification' は python3-unbound ({}) が必要です" +msgstr "" +"設定オプション 'gpgkey_dns_verification' は python3-unbound ({}) が必要です" --#: dnf/dnssec.py:239 -+#: dnf/dnssec.py:243 + #: 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] "モジュラーの依存に関する問題:" +@@ -3717,10 +3831,12 @@ msgstr[0] "モジュラーの依存に関する問題:" #, python-format msgid "" "Malformed lock file found: %s.\n" @@ -3515,7 +3770,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/module/__init__.py:26 msgid "Enabling different stream for '{}'." -@@ -3739,7 +3840,8 @@ msgstr "表示するものがありません。" +@@ -3732,7 +3848,8 @@ msgstr "表示するものがありません。" #: dnf/module/__init__.py:28 msgid "Installing newer version of '{}' than specified. Reason: {}" @@ -3525,7 +3780,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/module/__init__.py:29 msgid "Enabled modules: {}." -@@ -3747,57 +3849,49 @@ msgstr "有効なモジュール: {}." +@@ -3740,7 +3857,8 @@ msgstr "有効なモジュール: {}." #: dnf/module/__init__.py:30 msgid "No profile specified for '{}', please specify profile." @@ -3534,77 +3789,18 @@ index e81d5ceb..e1f463ce 100644 +"'{}' に指定したプロファイルはありません。プロファイルを指定してください。" #: 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 "'{}' に指定したストリームはありません。ストリームを指定してください" +@@ -3776,7 +3894,8 @@ msgstr "'{}' に指定したストリームはありません。ストリーム #: dnf/module/exceptions.py:82 --#, fuzzy --#| msgid "No repositories available" msgid "No such profile: {}. No profiles available" --msgstr "利用できるリポジトリーがありません" +-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 "不要なプロファイルを無視します: '{}/{}'" - +@@ -3810,17 +3929,21 @@ msgstr "不要なプロファイルを無視します: '{}/{}'" #: dnf/module/module_base.py:86 #, python-brace-format msgid "All matches for argument '{0}' in module '{1}:{2}' are not active" @@ -3629,7 +3825,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/module/module_base.py:108 dnf/module/module_base.py:218 msgid "Unable to match profile for argument {}" -@@ -3845,7 +3943,9 @@ msgstr "引数 {} でプロファイルが見つかりません" +@@ -3828,7 +3951,9 @@ msgstr "引数 {} でプロファイルが見つかりません" #: dnf/module/module_base.py:120 msgid "No default profiles for module {}:{}. Available profiles: {}" @@ -3640,7 +3836,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/module/module_base.py:124 msgid "No profiles for module {}:{}" -@@ -3857,36 +3957,38 @@ msgstr "デフォルトのプロファイル {} はモジュール {}:{} で利 +@@ -3840,7 +3965,8 @@ msgstr "デフォルトのプロファイル {} はモジュール {}:{} で利 #: dnf/module/module_base.py:144 dnf/module/module_base.py:247 msgid "Installing module from Fail-Safe repository is not allowed" @@ -3649,37 +3845,19 @@ index e81d5ceb..e1f463ce 100644 +"フェイルセーフレポジトリーからのモジュールインストールは許可されていません" #: 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}' には、アクティブな一致がありません" - + #, python-brace-format +@@ -3850,7 +3976,9 @@ msgstr "モジュール '{1}:{2}' の引数 '{0}' には、アクティブな一 #: dnf/module/module_base.py:228 --#, fuzzy, python-brace-format --#| msgid "Default profile {} not available in module {}:{}" -+#, python-brace-format + #, python-brace-format msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'" --msgstr "デフォルトのプロファイル {} はモジュール {}:{} で利用不可です" +-msgstr "インストールされたプロファイル '{0}' は、モジュール '{1}' ストリーム '{2}' では利用できません" +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 "引数 {} を解決できません" - +@@ -3866,7 +3994,9 @@ msgstr "引数 {} を解決できません" #: dnf/module/module_base.py:321 #, python-brace-format msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed" @@ -3690,7 +3868,7 @@ index e81d5ceb..e1f463ce 100644 #: dnf/module/module_base.py:340 dnf/module/module_base.py:368 msgid "Unable to match profile in argument {}" -@@ -3894,22 +3996,25 @@ msgstr "引数 {} でプロファイルを一致できません" +@@ -3874,21 +4004,22 @@ msgstr "引数 {} でプロファイルを一致できません" #: dnf/module/module_base.py:348 msgid "Upgrading module from Fail-Safe repository is not allowed" @@ -3706,6 +3884,8 @@ index e81d5ceb..e1f463ce 100644 +"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}' と一致しますが、有効化されている、あるいはデフォルトのストリーム" +"はありません" @@ -3717,36 +3897,19 @@ index e81d5ceb..e1f463ce 100644 +"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 "ダウンロード済み" + #: dnf/module/module_base.py:844 +@@ -3947,10 +4078,6 @@ msgstr "以下無効プラグインパターンが見つかりません: {}" + msgid "no matching payload factory for %s" + msgstr "%s と一致するペイロードファクトリーはありません" +-#: dnf/repo.py:111 +-msgid "Already downloaded" +-msgstr "ダウンロード済み" +- #. pinging mirrors, this might take a while --#: dnf/repo.py:347 -+#: dnf/repo.py:346 + #: dnf/repo.py:346 #, python-format - msgid "determining the fastest mirror (%s hosts).. " - msgstr "最速のミラーを確定しています (%s hosts).. " -@@ -3988,13 +4093,21 @@ msgstr "%s から %s repo を追加しました" +@@ -3970,13 +4097,21 @@ msgstr "%s から %s repo を追加しました" #: dnf/rpm/miscutils.py:32 #, python-format msgid "Using rpmkeys executable at %s to verify signatures" @@ -3755,13 +3918,12 @@ index e81d5ceb..e1f463ce 100644 #: dnf/rpm/miscutils.py:66 msgid "Cannot find rpmkeys executable to verify signatures." --msgstr "" -+msgstr "署名を検証する rpmkeys 実行ファイルが見つかりません。" + msgstr "署名を検証する rpmkeys 実行ファイルが見つかりません。" -#: dnf/rpm/transaction.py:119 +#: dnf/rpm/transaction.py:70 -+msgid "The openDB() function connot open rpm database." -+msgstr "openDB() 関数は rpm データベースを開けません。" ++msgid "The openDB() function cannot open rpm database." ++msgstr "openDB () 関数は rpm データベースを開けません。" + +#: dnf/rpm/transaction.py:75 +msgid "The dbCookie() function did not return cookie of rpm database." @@ -3771,220 +3933,165 @@ index e81d5ceb..e1f463ce 100644 msgid "Errors occurred during test transaction." msgstr "テストトランザクション中にエラーが発生しました。" -@@ -4003,6 +4116,8 @@ msgid "" +@@ -3985,8 +4120,8 @@ msgid "" "allow_vendor_change is disabled. This option is currently not supported for " "downgrade and distro-sync commands" msgstr "" +-"allow_vendor_change は無効になっています。このオプションは、downgrade コマンドおよび distro-sync " +-"コマンドではサポートされていません" +"allow_vendor_change は無効になっています。このオプションは、downgrade コマン" +"ドおよび distro-sync コマンドではサポートされていません" #. TRANSLATORS: This is for a single package currently being downgraded. #: dnf/transaction.py:80 -@@ -4056,22 +4171,22 @@ msgid "" +@@ -4039,7 +4174,9 @@ msgstr "準備" + msgid "" "The following problems occurred while replaying the transaction from file " "\"{filename}\":" - msgstr "" +-msgstr "ファイル \"{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 "" +@@ -4060,7 +4197,9 @@ msgstr "無効なマイナーバージョン \"{minor}\"。数字が必要です + msgid "" "Incompatible major version \"{major}\", supported major version is " "\"{major_supp}\"." - msgstr "" +-msgstr "互換性のないメジャーバージョン \"{major}\"。サポートされているメジャーバージョンは \"{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 にありません。" +@@ -4084,7 +4223,8 @@ 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}\" の値。" + 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}\" を見つけることはできません。" - +@@ -4100,24 +4240,32 @@ msgstr "rpm nevra \"{nevra}\" を見つけることはできません。" #: dnf/transaction_sr.py:336 --#, fuzzy, python-brace-format --#| msgid "Package %s is already installed." -+#, python-brace-format + #, python-brace-format msgid "Package \"{na}\" is already installed for action \"{action}\"." --msgstr "パッケージ %s は既にインストールされています。" +-msgstr "パッケージ \"{na}\" は、アクション \"{action}\" 用に既にインストールされています。" +msgstr "" +"パッケージ \"{na}\" は、アクション \"{action}\" 用に既にインストールされてい" +"ます。" #: dnf/transaction_sr.py:345 #, python-brace-format -@@ -4127,39 +4246,42 @@ msgid "" + msgid "" "Package nevra \"{nevra}\" not available in repositories for action " "\"{action}\"." - msgstr "" +-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 "" +-msgstr "アクション \"{action}\" には、パッケージ nevra \"{nevra}\" インストールされていません。" ++msgstr "" +"アクション \"{action}\" には、パッケージ nevra \"{nevra}\" インストールされて" +"いません。" #: dnf/transaction_sr.py:370 #, python-brace-format -msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"." +-msgstr "rpm nevra \"{nevra}\" の、パッケージアクション \"{action}\" の予期しない値。" +msgid "" +"Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"." - msgstr "" ++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 "" + #, python-format +@@ -4145,8 +4293,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 - msgid "Missing object key \"{key}\" in environments.groups." --msgstr "" -+msgstr "オブジェクトキー \"{key}\" が environments.groups に含まれません。" - +@@ -4156,7 +4304,8 @@ msgstr "オブジェクトキー \"{key}\" が environments.groups に含まれ #: dnf/transaction_sr.py:542 #, python-brace-format msgid "Unexpected value of group action \"{action}\" for group \"{group}\"." - msgstr "" +-msgstr "グループ \"{group}\" の グループアクション \"{action}\" の予期しない値。" ++msgstr "" +"グループ \"{group}\" の グループアクション \"{action}\" の予期しない値。" #: dnf/transaction_sr.py:547 #, python-brace-format - msgid "Missing object key \"{key}\" in a group." --msgstr "" -+msgstr "オブジェクトキー \"{key}\" がグループ内にありません。" +@@ -4165,7 +4314,9 @@ 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}\" の予期しない値。" + msgstr "環境 \"{env}\" の環境アクション \"{action}\" の予期しない値。" #: dnf/transaction_sr.py:576 - #, python-brace-format - msgid "Missing object key \"{key}\" in an environment." --msgstr "" -+msgstr "オブジェクトキー \"{key}\" が環境にありません。" - +@@ -4176,9 +4327,11 @@ 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 "" ++msgstr "" +"トランザクションファイルに存在しないパッケージ nevra \"{nevra}\" がトランザク" +"ションにプルされていました。" # translation auto-copied from project jbpm-designer, version 6.0.1, document # org.jbpm/jbpm-designer- -@@ -4241,6 +4370,16 @@ msgstr "失敗しました" +@@ -4221,19 +4374,36 @@ msgstr "失敗しました" msgid "" msgstr "" -+#~ msgid "skipping." -+#~ msgstr "スキップします。" ++#~ msgid "No Matches found" ++#~ msgstr "一致したものは見つかりませんでした" + + #~ msgid "" + #~ "Enable additional repositories. List option. Supports globs, can be " + #~ "specified multiple times." +-#~ msgstr "追加レポジトリを有効化、オプションのリスト、globsのサポートは何度でも指定可能です。" ++#~ msgstr "" ++#~ "追加レポジトリを有効化、オプションのリスト、globsのサポートは何度でも指定" ++#~ "可能です。" + + #~ msgid "" +-#~ "Disable repositories. List option. Supports globs, can be specified multiple" +-#~ " times." +-#~ msgstr "追加レポジトリを無効化、オプションのリスト、globsのサポートは何度でも指定可能です。" ++#~ "Disable repositories. List option. Supports globs, can be specified " ++#~ "multiple times." ++#~ msgstr "" ++#~ "追加レポジトリを無効化、オプションのリスト、globsのサポートは何度でも指定" ++#~ "可能です。" ++ ++#~ msgid "Already downloaded" ++#~ msgstr "ダウンロード済み" + + #~ msgid "skipping." + #~ msgstr "スキップします。" + +#~ msgid "" +#~ "Using rpmkeys executable from {path} to verify signature for package: " +#~ "{package}." @@ -3995,7 +4102,7 @@ index e81d5ceb..e1f463ce 100644 #~ msgid "%s: %s check failed: %s vs %s" #~ msgstr "%s: %s の確認に失敗しました: %s vs %s" -@@ -4266,5 +4405,7 @@ msgstr "" +@@ -4259,5 +4429,7 @@ msgstr "" #~ msgstr "不正なトランザクション ID、またはパッケージが指定されました" #~ msgid "" @@ -4006,25 +4113,26 @@ index e81d5ceb..e1f463ce 100644 +#~ msgstr "" +#~ "%%pre スクリプトを実行するためにパッケージが依存する機能を表示します。" diff --git a/po/ko.po b/po/ko.po -index 6effd129..330b2b6d 100644 +index b11e5ed7..cdd7cbfa 100644 --- a/po/ko.po +++ b/po/ko.po -@@ -2,20 +2,22 @@ +@@ -2,20 +2,23 @@ # Eun-Ju Kim , 2016. #zanata # Ludek Janda , 2018. #zanata, 2020. # simmon , 2021. +# Kim InSoo , 2022. ++# 김인수 , 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" +-"POT-Creation-Date: 2022-01-11 01:52+0000\n" +-"PO-Revision-Date: 2021-11-17 21:16+0000\n" -"Last-Translator: simmon \n" -"Language-Team: Korean \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 \n" ++"POT-Creation-Date: 2022-08-31 13:42+0200\n" ++"PO-Revision-Date: 2022-09-02 12:19+0000\n" ++"Last-Translator: 김인수 \n" +"Language-Team: Korean \n" "Language: ko\n" @@ -4032,380 +4140,470 @@ index 6effd129..330b2b6d 100644 "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" +-"X-Generator: Weblate 4.9\n" ++"X-Generator: Weblate 4.14\n" #: dnf/automatic/emitter.py:32 #, python-format -@@ -109,7 +111,8 @@ msgstr "저장소 '{}'의 적재하기가 실패했습니다" +@@ -99,244 +102,247 @@ msgstr "네트웍 끊김." + msgid "Error: %s" + msgstr "오류: %s" - #: dnf/base.py:327 +-#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479 ++#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481 + msgid "loading repo '{}' failure: {}" + msgstr "repo '{}'의 적재에 실패했습니다 : {}" + +-#: dnf/base.py:150 ++#: dnf/base.py:152 + msgid "Loading repository '{}' has failed" + msgstr "저장소 '{}'의 적재하기가 실패했습니다" + +-#: dnf/base.py:327 ++#: dnf/base.py:329 msgid "Metadata timer caching disabled when running on metered connection." -msgstr "데이터 통신 연결을 사용 할 때에 메타 자료 타이머 캐싱을 비활성화합니다." +msgstr "" +"데이터 통신 연결을 사용 할 때에 메타 자료 타이머 캐싱을 비활성화합니다." - #: dnf/base.py:332 +-#: dnf/base.py:332 ++#: dnf/base.py:334 msgid "Metadata timer caching disabled when running on a battery." -@@ -166,7 +169,7 @@ msgstr "저장소를 무시합니다: %s" - #: dnf/base.py:419 + msgstr "배터리에서 동작 할 때에 메타자료 타이머 캐싱을 비활성화합니다." + +-#: dnf/base.py:337 ++#: dnf/base.py:339 + msgid "Metadata timer caching disabled." + msgstr "메타자료 타이머 캐싱이 비활성화되었습니다." + +-#: dnf/base.py:342 ++#: dnf/base.py:344 + msgid "Metadata cache refreshed recently." + msgstr "최근에 메타 자료 캐쉬가 새로 고쳐졌습니다." + +-#: dnf/base.py:348 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:350 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "\"{}\"에 사용 가능한 저장소가 없습니다." + +-#: dnf/base.py:355 ++#: dnf/base.py:357 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "%s: 만료되지 않고 새로 고침되지 않습니다." + +-#: dnf/base.py:357 ++#: dnf/base.py:359 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "%s: 만료되어 새로 고침됩니다." + + #. expires within the checking period: +-#: dnf/base.py:361 ++#: dnf/base.py:363 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "%s: 메타 데이터는 %d 초 이후에 만료되며 이제 새로 고침됩니다" + +-#: dnf/base.py:365 ++#: dnf/base.py:367 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "%s: %d 초 후에 만료됩니다." + + #. performs the md sync +-#: dnf/base.py:371 ++#: dnf/base.py:373 + msgid "Metadata cache created." + msgstr "메타 자료 캐쉬가 생성되었습니다." + +-#: dnf/base.py:404 dnf/base.py:471 ++#: dnf/base.py:406 dnf/base.py:473 + #, python-format + msgid "%s: using metadata from %s." + msgstr "%s: 메타 자료 사용 중 %s." + +-#: dnf/base.py:416 dnf/base.py:484 ++#: dnf/base.py:418 dnf/base.py:486 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "저장소를 무시합니다: %s" + +-#: dnf/base.py:419 ++#: dnf/base.py:421 #, python-format msgid "Last metadata expiration check: %s ago on %s." --msgstr "마지막 메타자료 만료 확인: %s 이전에 %s." -+msgstr "마지막 메타자료 만료확인 %s 이전인: %s." + msgstr "마지막 메타자료 만료확인 %s 이전인: %s." - #: dnf/base.py:512 +-#: dnf/base.py:512 ++#: dnf/base.py:514 msgid "" -@@ -189,154 +192,155 @@ msgstr "설정 파일에서 tsflag 사용이 잘못되었습니다: %s" + "The downloaded packages were saved in cache until the next successful " + "transaction." + msgstr "내려받기된 꾸러미는 다음 번 성공적인 연결까지 캐쉬에 저장됩니다." + +-#: dnf/base.py:514 ++#: dnf/base.py:516 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "'%s' 를 실행하여 캐쉬 꾸러미를 삭제 할 수 있습니다." + +-#: dnf/base.py:606 ++#: dnf/base.py:648 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "설정 파일에서 tsflag 사용이 잘못되었습니다: %s" + +-#: dnf/base.py:662 ++#: dnf/base.py:706 + #, python-format msgid "Failed to add groups file for repository: %s - %s" msgstr "리포지토리의 그룹 파일을 추가하지 못했습니다. %s - %s" --#: dnf/base.py:904 -+#: dnf/base.py:922 +-#: dnf/base.py:922 ++#: dnf/base.py:968 msgid "Running transaction check" msgstr "연결 확인 실행 중" --#: dnf/base.py:912 -+#: dnf/base.py:930 +-#: dnf/base.py:930 ++#: dnf/base.py:976 msgid "Error: transaction check vs depsolve:" --msgstr "오류 : 연결 확인 및 종속성 해결 오류:" -+msgstr "오류: 연결 확인 및 종속성 해결 오류:" + msgstr "오류: 연결 확인 및 종속성 해결 오류:" --#: dnf/base.py:918 -+#: dnf/base.py:936 +-#: dnf/base.py:936 ++#: dnf/base.py:982 msgid "Transaction check succeeded." msgstr "연결 확인에 성공했습니다." --#: dnf/base.py:921 -+#: dnf/base.py:939 +-#: dnf/base.py:939 ++#: dnf/base.py:985 msgid "Running transaction test" msgstr "연결 시험 실행 중" --#: dnf/base.py:931 dnf/base.py:1082 -+#: dnf/base.py:949 dnf/base.py:1100 +-#: dnf/base.py:949 dnf/base.py:1100 ++#: dnf/base.py:995 dnf/base.py:1146 msgid "RPM: {}" msgstr "RPM: {}" --#: dnf/base.py:932 -+#: dnf/base.py:950 +-#: dnf/base.py:950 ++#: dnf/base.py:996 msgid "Transaction test error:" msgstr "연결 시험 오류:" --#: dnf/base.py:943 -+#: dnf/base.py:961 +-#: dnf/base.py:961 ++#: dnf/base.py:1007 msgid "Transaction test succeeded." msgstr "연결 시험에 성공했습니다." --#: dnf/base.py:964 -+#: dnf/base.py:982 +-#: dnf/base.py:982 ++#: dnf/base.py:1028 msgid "Running transaction" msgstr "연결 실행 중" --#: dnf/base.py:1001 -+#: dnf/base.py:1019 +-#: dnf/base.py:1019 ++#: dnf/base.py:1065 msgid "Disk Requirements:" msgstr "디스크 요구 사항 :" --#: dnf/base.py:1004 -+#: dnf/base.py:1022 +-#: dnf/base.py:1022 ++#: dnf/base.py:1068 #, 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 +-#: dnf/base.py:1029 ++#: dnf/base.py:1075 msgid "Error Summary" msgstr "오류 요약" --#: dnf/base.py:1037 -+#: dnf/base.py:1055 +-#: dnf/base.py:1055 ++#: dnf/base.py:1101 #, 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 +-#: dnf/base.py:1101 dnf/base.py:1109 ++#: dnf/base.py:1147 dnf/base.py:1155 msgid "Could not run transaction." msgstr "연결를 실행 할 수 없습니다." --#: dnf/base.py:1086 -+#: dnf/base.py:1104 +-#: dnf/base.py:1104 ++#: dnf/base.py:1150 msgid "Transaction couldn't start:" msgstr "연결을 시작 할 수 없습니다 :" --#: dnf/base.py:1100 -+#: dnf/base.py:1118 +-#: dnf/base.py:1118 ++#: dnf/base.py:1164 #, python-format msgid "Failed to remove transaction file %s" msgstr "%s 연결 파일을 삭제하지 못했습니다" --#: dnf/base.py:1182 -+#: dnf/base.py:1200 +-#: dnf/base.py:1200 ++#: dnf/base.py:1246 msgid "Some packages were not downloaded. Retrying." --msgstr "일부 꾸러미가 내려받기되지 않았습니다. 다시 시도 중입니다." -+msgstr "일부 꾸러미를 내려받지 못했습니다. 다시 시도합니다." + msgstr "일부 꾸러미를 내려받지 못했습니다. 다시 시도합니다." --#: dnf/base.py:1212 -+#: dnf/base.py:1230 +-#: dnf/base.py:1230 ++#: dnf/base.py:1276 #, python-format msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%.1f%% saved)" --msgstr "델타 RPM이 %.1f MB의 최신화를 %.1f MB로 줄였습니다. (%.1%% 절약됨)" +-msgstr "델타 RPM은 %.1fMB의 최신화를 %.1fMB으로 줄였습니다.(%.1f%% 절약됨)" +msgstr "델타 RPM은 %.1f MB의 최신화를 %.1f MB으로 줄였습니다.(%.1f%% 절약됨)" --#: dnf/base.py:1216 -+#: dnf/base.py:1234 +-#: dnf/base.py:1234 ++#: dnf/base.py:1280 #, 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%% " -+"낭비됨)" +-msgstr "Delta RPM은 %.1fMB의 최신화를 %.1fMB로 늘리는데 실패했습니다.(%.1f%% 낭비됨)" ++msgstr "" ++"Delta RPM은 %.1f MB의 최신화를 %.1f MB로 늘리는데 실패했습니다.(%.1f%% 낭비" ++"됨)" --#: dnf/base.py:1258 -+#: dnf/base.py:1276 +-#: dnf/base.py:1276 ++#: dnf/base.py:1322 msgid "Cannot add local packages, because transaction job already exists" msgstr "연결 작업이 이미 존재하므로 로컬 꾸러미를 추가할 수 없습니다" --#: dnf/base.py:1272 -+#: dnf/base.py:1290 +-#: dnf/base.py:1290 ++#: dnf/base.py:1336 msgid "Could not open: {}" msgstr "열 수 없음 : {}" --#: dnf/base.py:1310 -+#: dnf/base.py:1328 +-#: dnf/base.py:1328 ++#: dnf/base.py:1374 #, python-format msgid "Public key for %s is not installed" msgstr "%s의 공개 키는 설치되어 있지 않습니다" --#: dnf/base.py:1314 -+#: dnf/base.py:1332 +-#: dnf/base.py:1332 ++#: dnf/base.py:1378 #, python-format msgid "Problem opening package %s" msgstr "%s 꾸러미를 여는 중에 문제가 발생했습니다" --#: dnf/base.py:1322 -+#: dnf/base.py:1340 +-#: dnf/base.py:1340 ++#: dnf/base.py:1386 #, python-format msgid "Public key for %s is not trusted" msgstr "%s의 공개 키는 신뢰 할 수 없습니다" --#: dnf/base.py:1326 -+#: dnf/base.py:1344 +-#: dnf/base.py:1344 ++#: dnf/base.py:1390 #, python-format msgid "Package %s is not signed" msgstr "%s 꾸러미가 서명되지 않았습니다" --#: dnf/base.py:1356 -+#: dnf/base.py:1374 +-#: dnf/base.py:1374 ++#: dnf/base.py:1420 #, python-format msgid "Cannot remove %s" msgstr "%s를 삭제 할 수 없습니다" --#: dnf/base.py:1360 -+#: dnf/base.py:1378 +-#: dnf/base.py:1378 ++#: dnf/base.py:1424 #, python-format msgid "%s removed" msgstr "%s가 삭제되었습니다" --#: dnf/base.py:1640 -+#: dnf/base.py:1658 +-#: dnf/base.py:1658 ++#: dnf/base.py:1704 msgid "No match for group package \"{}\"" msgstr "그룹 꾸러미 \"{}\"에 일치하는 항목이 없습니다" --#: dnf/base.py:1726 -+#: dnf/base.py:1740 +-#: dnf/base.py:1740 ++#: dnf/base.py:1786 #, 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/base.py:1763 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437 ++#: dnf/base.py:1809 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 +-#: dnf/base.py:1781 ++#: dnf/base.py:1827 msgid "No groups marked for removal." msgstr "제거할 꾸러미 그룹이 없습니다." --#: dnf/base.py:1801 -+#: dnf/base.py:1815 +-#: dnf/base.py:1815 ++#: dnf/base.py:1861 msgid "No group marked for upgrade." msgstr "향상을 위해 표시된 그룹이 없습니다." --#: dnf/base.py:2015 -+#: dnf/base.py:2029 +-#: dnf/base.py:2029 ++#: dnf/base.py:2075 #, 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/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/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136 ++#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417 #: dnf/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 꾸러미가 설치되어 있지 않기 때문에 하향설치 할 +@@ -346,178 +352,183 @@ msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 하향설치 할 msgid "No match for argument: %s" msgstr "인수가 일치하지 않습니다: %s" --#: dnf/base.py:2024 -+#: dnf/base.py:2038 +-#: dnf/base.py:2038 ++#: dnf/base.py:2084 #, 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 +-#: dnf/base.py:2061 ++#: dnf/base.py:2107 #, python-format msgid "Package %s not installed, cannot reinstall it." --msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 다시 설치할 수 없습니다." -+msgstr "꾸러미 %s가 설치되지 않아서, 다시 설치 할 수 없습니다." + msgstr "꾸러미 %s가 설치되지 않아서, 다시 설치 할 수 없습니다." --#: dnf/base.py:2062 -+#: dnf/base.py:2076 +-#: dnf/base.py:2076 ++#: dnf/base.py:2122 #, python-format msgid "File %s is a source package and cannot be updated, ignoring." msgstr "%s 파일은 소스 꾸러미이며 최신화 할 수 없습니다. 무시합니다." --#: dnf/base.py:2073 -+#: dnf/base.py:2087 +-#: dnf/base.py:2087 ++#: dnf/base.py:2133 #, python-format msgid "Package %s not installed, cannot update it." msgstr "%s 꾸러미가 설치되어 있지 않기 때문에 최신화 할 수 없습니다." --#: dnf/base.py:2083 -+#: dnf/base.py:2097 +-#: dnf/base.py:2097 ++#: dnf/base.py:2143 #, 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 +-#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2203 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 +-#: dnf/base.py:2146 ++#: dnf/base.py:2209 #, python-format msgid "Package %s available, but installed for different architecture." msgstr "%s 꾸러미는 사용 가능하지만 다른 구조용으로 설치되어 있습니다." --#: dnf/base.py:2157 -+#: dnf/base.py:2171 +-#: dnf/base.py:2171 ++#: dnf/base.py:2234 #, 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/base.py:2189 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2252 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/base.py:2204 dnf/cli/commands/__init__.py:676 ++#: dnf/base.py:2267 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 +-#: dnf/base.py:2292 dnf/cli/cli.py:428 ++#: dnf/base.py:2355 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 +-#: dnf/base.py:2297 ++#: dnf/base.py:2360 #, 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 +-#: dnf/base.py:2397 ++#: dnf/base.py:2460 msgid "No security updates needed, but {} update available" msgstr "보안 최신화가 필요하지 않지만, {} 최신화가 가능합니다" --#: dnf/base.py:2385 -+#: dnf/base.py:2399 +-#: dnf/base.py:2399 ++#: dnf/base.py:2462 msgid "No security updates needed, but {} updates available" msgstr "보안 최신화는 필요하지 않지만 {} 최신화는 가능합니다" --#: dnf/base.py:2389 -+#: dnf/base.py:2403 +-#: dnf/base.py:2403 ++#: dnf/base.py:2466 msgid "No security updates needed for \"{}\", but {} update available" msgstr "\"{}\"에는 보안 최신화가 필요하지 않지만 {} 최신화가 가능합니다" --#: dnf/base.py:2391 -+#: dnf/base.py:2405 +-#: dnf/base.py:2405 ++#: dnf/base.py:2468 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 +-#: dnf/base.py:2426 ++#: dnf/base.py:2489 #, python-format msgid "Unable to retrieve a key for a commandline package: %s" msgstr "명령줄 꾸러미: %s 대한 키를 검색 할 수 없습니다" --#: dnf/base.py:2420 -+#: dnf/base.py:2434 +-#: dnf/base.py:2434 ++#: dnf/base.py:2497 #, python-format msgid ". Failing package is: %s" msgstr "실패한 꾸러미는 다음과 같습니다. %s" --#: dnf/base.py:2421 -+#: dnf/base.py:2435 +-#: dnf/base.py:2435 ++#: dnf/base.py:2498 #, python-format msgid "GPG Keys are configured as: %s" msgstr "GPG 키는 다음과 같이 설정되어 있습니다. %s" --#: dnf/base.py:2433 -+#: dnf/base.py:2447 +-#: dnf/base.py:2447 ++#: dnf/base.py:2510 #, 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 +-#: dnf/base.py:2483 ++#: dnf/base.py:2546 msgid "The key has been approved." msgstr "키가 승인되었습니다." --#: dnf/base.py:2472 -+#: dnf/base.py:2486 +-#: dnf/base.py:2486 ++#: dnf/base.py:2549 msgid "The key has been rejected." msgstr "키가 거부되었습니다." --#: dnf/base.py:2505 -+#: dnf/base.py:2519 +-#: dnf/base.py:2519 ++#: dnf/base.py:2582 #, python-format msgid "Key import failed (code %d)" msgstr "키 가져 오기에 실패했습니다 (코드 %d)" --#: dnf/base.py:2507 -+#: dnf/base.py:2521 +-#: dnf/base.py:2521 ++#: dnf/base.py:2584 msgid "Key imported successfully" msgstr "키 가져오기에 성공했습니다" --#: dnf/base.py:2511 -+#: dnf/base.py:2525 +-#: dnf/base.py:2525 ++#: dnf/base.py:2588 msgid "Didn't install any keys" msgstr "키를 하나도 설치하지 못했습니다" --#: dnf/base.py:2514 -+#: dnf/base.py:2528 +-#: dnf/base.py:2528 ++#: dnf/base.py:2591 #, python-format msgid "" -"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n" @@ -4416,33 +4614,33 @@ index 6effd129..330b2b6d 100644 "해당 GPG 키는 \"%s\"저장소가 이미 설치되어 있지만이 꾸러미에 맞지 않습니다.\n" "이 저장소에 대해 올바른 키 URL이 구성되었는지 확인하십시오." --#: dnf/base.py:2525 -+#: dnf/base.py:2539 +-#: dnf/base.py:2539 ++#: dnf/base.py:2602 msgid "Import of key(s) didn't help, wrong key(s)?" msgstr "가져온 키에 문제가 있습니다. 잘못된 키입니까?" --#: dnf/base.py:2578 -+#: dnf/base.py:2592 +-#: dnf/base.py:2592 ++#: dnf/base.py:2655 msgid " * Maybe you meant: {}" msgstr " * 다음을 의미 할 수도 있습니다: {}" --#: dnf/base.py:2610 -+#: dnf/base.py:2624 +-#: dnf/base.py:2624 ++#: dnf/base.py:2687 msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" msgstr "로컬 저장소 \"{}\"의 \"{}\"꾸러미에 잘못된 체크섬이 있습니다" --#: dnf/base.py:2613 -+#: dnf/base.py:2627 +-#: dnf/base.py:2627 ++#: dnf/base.py:2690 msgid "Some packages from local repository have incorrect checksum" msgstr "로컬 저장소의 일부 꾸러미에 잘못된 체크섬이 있습니다" --#: dnf/base.py:2616 -+#: dnf/base.py:2630 +-#: dnf/base.py:2630 ++#: dnf/base.py:2693 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" msgstr "저장소 \"{}\"의 꾸러미 \"{}\"에 잘못된 체크섬이 있습니다" --#: dnf/base.py:2619 -+#: dnf/base.py:2633 +-#: dnf/base.py:2633 ++#: dnf/base.py:2696 msgid "" "Some packages have invalid cache, but cannot be downloaded due to \"--" "cacheonly\" option" @@ -4451,44 +4649,43 @@ index 6effd129..330b2b6d 100644 +"일부 꾸러미에는 유효하지 않은 캐쉬가 있지만 \"--cacheonly\"옵션으로 인해 내려" +"받기 할 수 없습니다" --#: dnf/base.py:2637 dnf/base.py:2657 -+#: dnf/base.py:2651 dnf/base.py:2671 +-#: dnf/base.py:2651 dnf/base.py:2671 ++#: dnf/base.py:2714 dnf/base.py:2734 msgid "No match for argument" msgstr "일치하는 인수가 없습니다" --#: dnf/base.py:2645 dnf/base.py:2665 -+#: dnf/base.py:2659 dnf/base.py:2679 +-#: dnf/base.py:2659 dnf/base.py:2679 ++#: dnf/base.py:2722 dnf/base.py:2742 msgid "All matches were filtered out by exclude filtering for argument" msgstr "모든 일치 항목이 인수의 제외 필터로 필터링되었습니다" --#: dnf/base.py:2647 -+#: dnf/base.py:2661 +-#: dnf/base.py:2661 ++#: dnf/base.py:2724 msgid "All matches were filtered out by modular filtering for argument" msgstr "모든 일치 항목이 인수의 모듈식 필터로 필터링되었습니다" --#: dnf/base.py:2663 -+#: dnf/base.py:2677 +-#: dnf/base.py:2677 ++#: dnf/base.py:2740 msgid "All matches were installed from a different repository for argument" msgstr "모든 일치 항목이 인수의 다른 리포지토리에서 설치되었습니다" --#: dnf/base.py:2710 -+#: dnf/base.py:2724 +-#: dnf/base.py:2724 ++#: dnf/base.py:2787 #, python-format msgid "Package %s is already installed." --msgstr "꾸러미 %s 가 이미 설치되어 있습니다." -+msgstr "꾸러미 %s가 이미 설치되어 있습니다." + msgstr "꾸러미 %s가 이미 설치되어 있습니다." +@@ -537,8 +548,8 @@ msgstr "\"%s\" 파일의 구문 분석에 실패했습니다 : %s" + msgid "Cannot read file \"%s\": %s" + msgstr "\"%s\" 파일을 읽을 수 없습니다: %s" - #: dnf/cli/aliases.py:96 +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804 +-#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:806 ++#: dnf/cli/cli.py:810 dnf/cli/commands/alias.py:108 #, 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}' 스트림으 + msgid "Config error: %s" + msgstr "설정 오류: %s" +@@ -572,11 +583,17 @@ msgstr "이 작업은 '{0}' 모듈을 '{1}' 스트림에서 ‘{2}' 스트림으 #: dnf/cli/cli.py:173 #, python-brace-format msgid "" @@ -4500,8 +4697,8 @@ index 6effd129..330b2b6d 100644 +"and reset the module using '{prog} module reset ' command. " +"After you reset the module, you can install the other stream." msgstr "" --"설정 선택 module_stream_switch을 통해 명시적으로 활성화 하지 않는한 모듈의 활성화된 스트림을 전환 할 수 없습니다.\n" --"모듈에서 설치된 모든 내용을 모듈에서 제거하고, '{prog} module reset '명령을 사용하여 모듈을 재설정하는 것을 권장합니다. 모듈을 재설정 후에, 다른 스트림을 설치 할 수 있습니다." +-"구성 옵션 module_stream_switch를 통해 명시적으로 활성화하지 않는 한 활성화된 모듈 스트림을 전환 할 수 없습니다.\n" +-"설치된 모든 내용을 모듈에서 제거하고 ‘{prog} module reset ' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후 다른 스트림을 설치 할 수 있습니다." +"구성 옵션 module_stream_switch를 통해 명시적으로 활성화하지 않는 한 활성화된 " +"모듈 스트림을 전환 할 수 없습니다.\n" +"설치된 모든 내용을 모듈에서 제거하고 ‘{prog} module reset ' 명령" @@ -4510,7 +4707,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/cli.py:212 #, python-brace-format -@@ -596,7 +611,7 @@ msgstr "작업이 중지됩니다." +@@ -596,7 +613,7 @@ msgstr "작업이 중지됩니다." #: dnf/cli/cli.py:226 msgid "Downloading Packages:" @@ -4519,9 +4716,46 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/cli.py:232 msgid "Error downloading packages:" -@@ -680,9 +695,11 @@ msgstr "일치하는 저장소가 없습니다 : %s" +@@ -626,10 +643,10 @@ msgstr "더 이상 사용되지 않는 꾸러미" + msgid "No packages marked for distribution synchronization." + msgstr "배포 동기화가 필요한 꾸러미가 없습니다." - #: dnf/cli/cli.py:719 +-#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395 ++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:396 + #, python-format + msgid "No package %s available." +-msgstr "가용한 꾸러미(package) %s가 없습니다." ++msgstr "가용한 꾸러미 %s가 없습니다." + + #: dnf/cli/cli.py:434 + msgid "No packages marked for downgrade." +@@ -665,100 +682,109 @@ msgid "No matching Packages to list" + msgstr "목록과 일치하는 꾸러미가 없습니다" + + #: dnf/cli/cli.py:604 +-msgid "No Matches found" +-msgstr "검색 결과가 없습니다" ++msgid "" ++"No matches found. If searching for a file, try specifying the full path or " ++"using a wildcard prefix (\"*/\") at the beginning." ++msgstr "" ++"일치되는 점을 찾지 못했습니다. 만약 파일을 위해 검색하고자 한다면, 전체 " ++"경로를 지정 하거나 시작에서 와일드카드 접두사 (\"*/\")를 사용하여 시도하세요." + +-#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "알 수 없는 저장소: '%s'" + +-#: dnf/cli/cli.py:685 ++#: dnf/cli/cli.py:687 + #, python-format + msgid "No repository match: %s" + msgstr "일치하는 저장소가 없습니다 : %s" + +-#: dnf/cli/cli.py:719 ++#: dnf/cli/cli.py:721 msgid "" -"This command has to be run with superuser privileges (under the root user on" -" most systems)." @@ -4532,9 +4766,23 @@ index 6effd129..330b2b6d 100644 +"이 명령은 슈퍼유저 권한으로 실행해야합니다 (대부분의 시스템에서 root 사용자" +"로 실행)." - #: dnf/cli/cli.py:749 +-#: dnf/cli/cli.py:749 ++#: dnf/cli/cli.py:751 #, python-format -@@ -701,31 +718,32 @@ msgstr "{PROG} 플러그인 명령일 수 있습니다: \"{prog} 'dnf-command(%s + msgid "No such command: %s. Please use %s --help" + msgstr "명령을 찾을 수 없습니다: %s . %s --help를 사용하십시오" + +-#: dnf/cli/cli.py:752 ++#: dnf/cli/cli.py:754 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" + "command(%s)'\"" + msgstr "{PROG} 플러그인 명령일 수 있습니다: \"{prog} 'dnf-command(%s)'\"" + +-#: dnf/cli/cli.py:756 ++#: dnf/cli/cli.py:758 + #, python-brace-format msgid "" "It could be a {prog} plugin command, but loading of plugins is currently " "disabled." @@ -4542,7 +4790,8 @@ index 6effd129..330b2b6d 100644 +msgstr "" +"{prog} 플러그인 명령일 수 있지만 플러그인 로딩은 현재 비활성화되어 있습니다." - #: dnf/cli/cli.py:814 +-#: dnf/cli/cli.py:814 ++#: dnf/cli/cli.py:816 msgid "" "--destdir or --downloaddir must be used with --downloadonly or download or " "system-upgrade command." @@ -4552,7 +4801,8 @@ index 6effd129..330b2b6d 100644 +"--destdir 또는 --downloaddir은 --downloadonly 또는 download 또는 system-" +"upgrade 명령과 함께 사용해야합니다." - #: dnf/cli/cli.py:820 +-#: dnf/cli/cli.py:820 ++#: dnf/cli/cli.py:822 msgid "" "--enable, --set-enabled and --disable, --set-disabled must be used with " "config-manager command." @@ -4562,7 +4812,8 @@ index 6effd129..330b2b6d 100644 +"--enable, --set-enabled 및 --disable, --set-disabled는 config-manager 명령과 " +"함께 사용해야합니다." - #: dnf/cli/cli.py:902 +-#: dnf/cli/cli.py:902 ++#: dnf/cli/cli.py:904 msgid "" "Warning: Enforcing GPG signature check globally as per active RPM security " "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" @@ -4572,9 +4823,13 @@ index 6effd129..330b2b6d 100644 +"경고: 활성화된 RPM 보안 정책에 따라 GPG 서명 검사를 전체적으로 시행합니다 " +"(이 메시지를 제거하는 방법은 dnf.conf (5)의 'gpgcheck' 참조)" - #: dnf/cli/cli.py:922 +-#: dnf/cli/cli.py:922 ++#: dnf/cli/cli.py:924 msgid "Config file \"{}\" does not exist" -@@ -735,7 +753,9 @@ msgstr "설정 파일 \"{}\" 이 존재하지 않습니다" + msgstr "설정 파일 \"{}\" 이 존재하지 않습니다" + +-#: dnf/cli/cli.py:942 ++#: dnf/cli/cli.py:944 msgid "" "Unable to detect release version (use '--releasever' to specify release " "version)" @@ -4583,9 +4838,38 @@ index 6effd129..330b2b6d 100644 +"출시 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 출시 버전을 지정하십" +"시오)" - #: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471 +-#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1018 dnf/cli/commands/repoquery.py:471 msgid "argument {}: not allowed with argument {}" -@@ -770,13 +790,15 @@ msgstr "문제를 진단하려면 다음을 실행하십시오. '%s'." + msgstr "인수 {}: 인수 {}과 함께 사용할 수 없습니다" + +-#: dnf/cli/cli.py:1023 ++#: dnf/cli/cli.py:1025 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "\"%s\" 명령이 이미 정의되어 있습니다" + +-#: dnf/cli/cli.py:1043 ++#: dnf/cli/cli.py:1045 + msgid "Excludes in dnf.conf: " + msgstr "dnf.conf에서 제외: " + +-#: dnf/cli/cli.py:1046 ++#: dnf/cli/cli.py:1048 + msgid "Includes in dnf.conf: " + msgstr "dnf.conf에 포함:. " + +-#: dnf/cli/cli.py:1049 ++#: dnf/cli/cli.py:1051 + msgid "Excludes in repo " + msgstr "리포지토리에서 제외 " + +-#: dnf/cli/cli.py:1052 ++#: dnf/cli/cli.py:1054 + msgid "Includes in repo " + msgstr "리포지토리에 포함 " + +@@ -770,13 +796,15 @@ msgstr "문제를 진단하려면 다음을 실행하십시오. '%s'." #: dnf/cli/commands/__init__.py:40 #, python-format msgid "You probably have corrupted RPMDB, running '%s' might fix the issue." @@ -4603,35 +4887,45 @@ index 6effd129..330b2b6d 100644 "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 프로세스가 종료되기를 기다리고 있습니다." +@@ -845,7 +873,7 @@ msgstr "최근에 변경된 꾸러미만 표시" + #: dnf/cli/commands/install.py:51 dnf/cli/commands/reinstall.py:44 + #: dnf/cli/commands/remove.py:61 dnf/cli/commands/upgrade.py:46 + msgid "PACKAGE" +-msgstr "꾸러미(package)" ++msgstr "꾸러미" + + #: dnf/cli/commands/__init__.py:193 + msgid "Package name specification" +@@ -1116,7 +1144,9 @@ msgstr "PID %d 프로세스가 종료되기를 기다리고 있습니다." msgid "" "[deprecated, use repoquery --deplist] List package's dependencies and what " "packages provide them" --msgstr "[비추천, repoquery --deplist 사용] 꾸러미 의존성과 이를 제공하는 꾸러미를 나열" +-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 "저장 명령을 위해, 트랜젝션을 저장할 파일 경로" +@@ -1128,7 +1158,7 @@ msgstr "동기화할 꾸러미" + + #: dnf/cli/commands/downgrade.py:34 + msgid "Downgrade a package" +-msgstr "꾸러미 하향설치" ++msgstr "꾸러미를 하향설치합니다" + + #: dnf/cli/commands/downgrade.py:38 + msgid "Package to downgrade" +@@ -1208,7 +1238,7 @@ msgstr "그룹 하위 명령의 인수" + msgid "Invalid groups sub-command, use: %s." + msgstr "그룹 하위 명령이 잘못되었습니다. %s를 사용합니다." + +-#: dnf/cli/commands/group.py:398 ++#: dnf/cli/commands/group.py:399 + msgid "Unable to find a mandatory group package." + msgstr "필수 그룹 꾸러미를 찾을 수 없습니다." + +@@ -1222,9 +1252,10 @@ msgstr "저장 명령을 위해, 트랜젝션을 저장할 파일 경로" #: dnf/cli/commands/history.py:68 msgid "" @@ -4645,7 +4939,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/history.py:71 msgid "" -@@ -1234,9 +1259,11 @@ msgstr "응답 명령을 위하여, 연결에 추가 된 꾸러미를 확인하 +@@ -1234,9 +1265,11 @@ msgstr "응답 명령을 위하여, 연결에 추가 된 꾸러미를 확인하 #: dnf/cli/commands/history.py:74 msgid "" @@ -4660,7 +4954,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/history.py:94 msgid "" -@@ -1266,16 +1293,20 @@ msgstr "기록 DB에 액세스할 수 없습니다: %s" +@@ -1266,16 +1299,20 @@ msgstr "기록 DB에 액세스할 수 없습니다: %s" #: dnf/cli/commands/history.py:151 #, python-format msgid "" @@ -4685,7 +4979,64 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/history.py:175 msgid "No transaction ID given" -@@ -1415,9 +1446,11 @@ msgstr "꾸러미 %s가 설치되지 않았습니다." +@@ -1300,11 +1337,11 @@ msgstr "%u이전 연결 내역이 불완전합니다." + msgid "Transaction history is incomplete, after %u." + msgstr "%u 이후 연결 내역이 불완전합니다." + +-#: dnf/cli/commands/history.py:256 ++#: dnf/cli/commands/history.py:267 + msgid "No packages to list" + msgstr "목록에 꾸러미가 없습니다" + +-#: dnf/cli/commands/history.py:279 ++#: dnf/cli/commands/history.py:290 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." +@@ -1312,7 +1349,7 @@ msgstr "" + "잘못된 연결 ID 범위 정의 '{}'.\n" + "'..' 사용." + +-#: dnf/cli/commands/history.py:283 ++#: dnf/cli/commands/history.py:294 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." +@@ -1320,27 +1357,27 @@ msgstr "" + "'{}'을 (를) 연결 ID로 변환 할 수 없습니다.\n" + "'', 'last', 'last-' 사용." + +-#: dnf/cli/commands/history.py:312 ++#: dnf/cli/commands/history.py:323 + msgid "No transaction which manipulates package '{}' was found." + msgstr "꾸러미 '{}'를 사용하는 연결이 없습니다." + +-#: dnf/cli/commands/history.py:357 ++#: dnf/cli/commands/history.py:368 + msgid "{} exists, overwrite?" + msgstr "{} 존재합니다, 덮어 쓸까요?" + +-#: dnf/cli/commands/history.py:360 ++#: dnf/cli/commands/history.py:371 + msgid "Not overwriting {}, exiting." + msgstr "존재하기 때문에, {} 덮어 쓸 수 없습니다." + +-#: dnf/cli/commands/history.py:367 ++#: dnf/cli/commands/history.py:378 + msgid "Transaction saved to {}." + msgstr "연결이 {}에 저장되었습니다." + +-#: dnf/cli/commands/history.py:370 ++#: dnf/cli/commands/history.py:381 + msgid "Error storing transaction: {}" + msgstr "저장 중 연결 오류: {}" + +-#: dnf/cli/commands/history.py:386 ++#: dnf/cli/commands/history.py:397 + msgid "Warning, the following problems occurred while running a transaction:" + msgstr "경고, 연결 동작 중에 다음 문제가 발생하였습니다:" + +@@ -1415,9 +1452,11 @@ msgstr "꾸러미 %s가 설치되지 않았습니다." #: dnf/cli/commands/module.py:54 msgid "" @@ -4700,25 +5051,7 @@ index 6effd129..330b2b6d 100644 #: 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 "키워드와 일치하는 꾸러미 검색" +@@ -1688,7 +1727,8 @@ msgstr "키워드와 일치하는 꾸러미 검색" msgid "" "Query all packages (shorthand for repoquery '*' or repoquery without " "argument)" @@ -4728,18 +5061,17 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/repoquery.py:124 msgid "Query all versions of packages (default)" -@@ -1710,7 +1744,9 @@ msgstr "REQ와 충돌하는 결과 만 표시" +@@ -1710,7 +1750,8 @@ msgstr "REQ와 충돌하는 결과 만 표시" msgid "" - "shows results that requires, suggests, supplements, enhances,or recommends " + "shows results that requires, suggests, supplements, enhances, or recommends " "package provides and files REQ" --msgstr "REQ를 제공하고 파일 꾸러미를 요구, 제안, 보완, 개선, 권장하는 결과를 표시합니다" -+msgstr "" -+"꾸러미 제공과 파일 REQ를 요구, 제안, 보완, 향상 또는 권장하는 결과를 표시합니" -+"다" +-msgstr "꾸러미 제공과 파일 REQ를 요구, 제안, 보완, 향상 또는 권장하는 결과를 표시합니다" ++msgstr "꾸러미 제공과 파일 REQ를 요구, 제안, 보완, 향상 또는 권장하는 결과를 " ++"표시합니다" #: dnf/cli/commands/repoquery.py:139 msgid "show only results that obsolete REQ" -@@ -1752,7 +1788,9 @@ msgstr "지정된대로 종속성을 확인. --alldeps와 반대됩니다" +@@ -1752,7 +1793,9 @@ msgstr "지정된대로 종속성을 확인. --alldeps와 반대됩니다" msgid "" "used with --whatrequires, and --requires --resolve, query packages " "recursively." @@ -4750,7 +5082,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/repoquery.py:166 msgid "show a list of all dependencies and what packages provide them" -@@ -1774,7 +1812,9 @@ msgstr "해당 소스 RPM에서 작동합니다" +@@ -1774,7 +1817,9 @@ msgstr "해당 소스 RPM에서 작동합니다" msgid "" "show N latest packages for a given name.arch (or latest but N if N is " "negative)" @@ -4761,7 +5093,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/repoquery.py:177 msgid "list also packages of inactive module streams" -@@ -1799,11 +1839,11 @@ msgstr "꾸러미의 변경 로그 표시" +@@ -1799,11 +1844,11 @@ msgstr "꾸러미의 변경 로그 표시" #: dnf/cli/commands/repoquery.py:194 #, python-format, python-brace-format msgid "" @@ -4777,7 +5109,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/repoquery.py:198 msgid "show available tags to use with --queryformat" -@@ -1813,19 +1853,25 @@ msgstr "--queryformat과 함께 사용할 수 있는 태그를 표시합니다" +@@ -1813,19 +1858,25 @@ msgstr "--queryformat과 함께 사용할 수 있는 태그를 표시합니다" msgid "" "use name-epoch:version-release.architecture format for displaying found " "packages (default)" @@ -4806,7 +5138,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/repoquery.py:214 msgid "Display in which comps groups are presented selected packages" -@@ -1855,7 +1901,9 @@ msgstr "꾸러미와 충돌하는 기능을 표시합니다." +@@ -1855,7 +1906,9 @@ msgstr "꾸러미와 충돌하는 기능을 표시합니다." msgid "" "Display capabilities that the package can depend on, enhance, recommend, " "suggest, and supplement." @@ -4817,7 +5149,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/repoquery.py:236 msgid "Display capabilities that the package can enhance." -@@ -1880,8 +1928,9 @@ msgid "" +@@ -1880,8 +1933,9 @@ msgid "" "running %%pre and %%post scriptlets. If the package is installed display " "capabilities that is depends for %%pre, %%post, %%preun and %%postun." msgstr "" @@ -4829,7 +5161,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/repoquery.py:243 msgid "Display capabilities that the package suggests." -@@ -1930,22 +1979,23 @@ msgstr "검색에 사용되는 키워드" +@@ -1930,22 +1984,23 @@ msgstr "검색에 사용되는 키워드" #: dnf/cli/commands/repoquery.py:295 msgid "" @@ -4862,7 +5194,7 @@ index 6effd129..330b2b6d 100644 #: dnf/cli/commands/repoquery.py:312 msgid "argument {} requires --whatrequires or --whatdepends option" -@@ -1959,13 +2009,17 @@ msgstr "꾸러미 {}에 파일이 없습니다" +@@ -1959,15 +2014,18 @@ msgstr "꾸러미 {}에 파일이 없습니다" #, python-brace-format msgid "" "No valid switch specified\n" @@ -4872,17 +5204,21 @@ index 6effd129..330b2b6d 100644 +"tree]\n" "\n" "description:\n" - " For the given packages print a tree of thepackages." + " For the given packages print a tree of the packages." msgstr "" - "유효한 매개 변수를 지정하지 않았습니다.\n" +-"유효한 스위치가 지정되지 않았습니다.\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 "설명" +-"\n" +-"설명:\n" ++"유효한 스위치가 지정되지 않았습니다 \n" ++"사용법: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--rec" ++"ommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree] \n" ++" \n" ++"설명: \n" + " 지정된 꾸러미의 경우 꾸러미 트리를 출력합니다." + + #: dnf/cli/commands/search.py:46 +@@ -2005,8 +2063,7 @@ msgstr "설명" msgid "URL" msgstr "URL" @@ -4892,24 +5228,7 @@ index 6effd129..330b2b6d 100644 #: 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 "최신화 할 꾸러미" +@@ -2371,7 +2428,9 @@ msgstr "최신화 할 꾸러미" msgid "" "upgrade, but only 'newest' package match which fixes a problem that affects " "your system" @@ -4920,34 +5239,7 @@ index 6effd129..330b2b6d 100644 #: 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 "" +@@ -2527,8 +2586,8 @@ msgid "" "enables {prog}'s obsoletes processing logic for upgrade or display " "capabilities that the package obsoletes for info, list and repoquery" msgstr "" @@ -4958,27 +5250,35 @@ index 6effd129..330b2b6d 100644 #: 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를 지원하며 여러 번 지" -+"정 할 수 있습니다." +@@ -2544,24 +2603,32 @@ msgstr "모든 질문에 대해 \"아니오\"(no)로 자동 응답합니다" - #: dnf/cli/option_parser.py:266 + #: dnf/cli/option_parser.py:261 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를 지원하며 여러 번 지정 할 " -+"수 있습니다." +-"Temporarily enable repositories for the purposeof the current dnf command. " +-"Accepts an id, acomma-separated list of ids, or a glob of ids.This option " ++"Temporarily enable repositories for the purpose of the current dnf command. " ++"Accepts an id, a comma-separated list of ids, or a glob of ids. This option " + "can be specified multiple times." + msgstr "" ++"임시로 현재 dnf 명령의 용도를 위해 저장소를 활성화합니다. id, 쉼표로-구분된 " ++"ids 목록 또는 ids의 glob을 허용합니다. 이와 같은 옵션은 여러 번 지정 할 수 " ++"있습니다." - #: dnf/cli/option_parser.py:270 + #: dnf/cli/option_parser.py:268 + msgid "" +-"Temporarily disable active repositories for thepurpose of the current dnf " +-"command. Accepts an id,a comma-separated list of ids, or a glob of ids.This " +-"option can be specified multiple times, butis mutually exclusive with " ++"Temporarily disable active repositories for the purpose of the current dnf " ++"command. Accepts an id, a comma-separated list of ids, or a glob of ids. " ++"This option can be specified multiple times, but is mutually exclusive with " + "`--repo`." + msgstr "" ++"임시적으로 현재 dnf 명령의 용도를 위해 동적 저장소를 비활성화 합니다. id, " ++"쉼표로-구분된 ids의 목록 또는 ids의 glob를 허용합니다. 이와 같은 옵션은 여러 " ++"번 지정 할 수 있으나, 이는 `--repo`와 함께 상호 배타적입니다." + + #: dnf/cli/option_parser.py:275 msgid "" "enable just specific repositories by an id or a glob, can be specified " "multiple times" @@ -4987,52 +5287,34 @@ index 6effd129..330b2b6d 100644 +"id 나 glob로 특정 리포지토리를 활성화할 수 있습니다. 여러 번 지정할 수 있습니" +"다" - #: dnf/cli/option_parser.py:275 + #: dnf/cli/option_parser.py:280 msgid "enable repos with config-manager command (automatically saves)" -@@ -2580,7 +2641,9 @@ msgstr "excludepkgs 비활성화" +@@ -2583,7 +2650,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과 동일한 경로)를 여러 번 지정와 할 수 있습니다." +msgstr "" +"사용 할 추가 레포지터리에 대한 이름표와 경로 (baseurl과 동일한 경로)를 여러 " +"번 지정와 할 수 있습니다." - #: dnf/cli/option_parser.py:297 + #: dnf/cli/option_parser.py:302 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 "레포지터리" +@@ -2818,11 +2887,11 @@ 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 "레포지터리" + #: dnf/cli/output.py:655 + msgid "Is this ok [y/N]: " +-msgstr "진행 할 까요? [y/N]: " ++msgstr "진행할까요? [y/N]: " - #. Translators: This message should be no longer than 12 chars. - #: dnf/cli/output.py:487 - msgid "From repo" --msgstr "리포지터리에서" -+msgstr "레포지터리에서" + #: dnf/cli/output.py:659 + msgid "Is this ok [Y/n]: " +-msgstr "진행 할 까요? [Y/n]: " ++msgstr "진행할까요? [Y/n]: " - #. :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 "종속 꾸러미 설치 중" + #: dnf/cli/output.py:739 + #, python-format +@@ -2994,9 +3063,9 @@ msgstr "종속 꾸러미 설치 중" msgid "Installing weak dependencies" msgstr "취약한 종속 꾸러미 설치 중" @@ -5043,129 +5325,25 @@ index 6effd129..330b2b6d 100644 #: 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 +@@ -3426,7 +3495,7 @@ msgstr "잠금 프로세스(PID %d)에 대한 정보를 찾을 수 없습니다" + #: dnf/cli/utils.py:117 #, python-format -@@ -3195,7 +3258,7 @@ msgstr "연결 ID 또는 꾸러미가 지정되지 않았습니다" + msgid " The application with PID %d is: %s" +-msgstr " PID %d인 애플리케이션: %s" ++msgstr " PID %d인 응용프로그램: %s" - #: 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 + #: dnf/cli/utils.py:120 #, 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 \"{}\": {}" +@@ -3495,7 +3564,7 @@ msgstr "잘못된 구성 값: %s=%s (%s; %s에서)" + + #: dnf/conf/config.py:194 + msgid "Cannot set \"{}\" to \"{}\": {}" +-msgstr "\"{}\" 을 \"{}\"으로 설정 할 수 없습니다: {}" +msgstr "\"{}\"을 \"{}\" 으로 설정 할 수 없습니다: {}" --#: dnf/conf/config.py:226 -+#: dnf/conf/config.py:244 + #: 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 '{}' : 구문 분석 설정 오류: {}" +@@ -3561,7 +3630,8 @@ msgstr "Repository '{}' : 구문 분석 설정 오류: {}" #: dnf/conf/read.py:93 msgid "Repository '{}' ({}) is missing name in configuration, using id." @@ -5175,21 +5353,7 @@ index 6effd129..330b2b6d 100644 #: 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를 위한 저장소 키 검색" +@@ -3598,7 +3668,9 @@ msgstr "%s에서 암호화 하지 않은 %s를 위한 저장소 키 검색" msgid "" "No available modular metadata for modular package '{}', it cannot be " "installed on the system" @@ -5200,58 +5364,17 @@ index 6effd129..330b2b6d 100644 #: 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 +@@ -3617,7 +3689,8 @@ msgstr "소스 RPM 꾸러미를 설치하지 않습니다 (%s)." + #: dnf/dnssec.py:171 msgid "" "Configuration option 'gpgkey_dns_verification' requires python3-unbound ({})" --msgstr "설정 선택 'gpgkey_dns_verification'는 python3-unbound ({}) 가 필요합니다" +-msgstr "구성 선택 'gpgkey_dns_verification'에는 python3-unbound ({})가 필요합니다" +msgstr "" +"구성 선택 'gpgkey_dns_verification'에는 python3-unbound ({})가 필요합니다" --#: dnf/dnssec.py:239 -+#: dnf/dnssec.py:243 + #: 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] "모듈 종속성 문제 :" +@@ -3692,10 +3765,12 @@ msgstr[0] "모듈 종속성 문제 :" #, python-format msgid "" "Malformed lock file found: %s.\n" @@ -5266,63 +5389,7 @@ index 6effd129..330b2b6d 100644 #: 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 "불필요한 프로파일을 무시합니다: '{}/{}'" - +@@ -3785,7 +3860,8 @@ msgstr "불필요한 프로파일을 무시합니다: '{}/{}'" #: dnf/module/module_base.py:86 #, python-brace-format msgid "All matches for argument '{0}' in module '{1}:{2}' are not active" @@ -5332,7 +5399,7 @@ index 6effd129..330b2b6d 100644 #: dnf/module/module_base.py:94 dnf/module/module_base.py:204 #, python-brace-format -@@ -3792,7 +3862,8 @@ msgstr "실패 방지 저장소 {1}에서 모듈 '{0}’를 설치 할 수 없 +@@ -3795,7 +3871,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 '{}:{}': {}" @@ -5342,25 +5409,7 @@ index 6effd129..330b2b6d 100644 #: 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 "실패-방지 저장소에서 모듈을 향상 할 수 없습니다" +@@ -3854,16 +3931,15 @@ msgstr "실패-방지 저장소에서 모듈을 향상 할 수 없습니다" #: dnf/module/module_base.py:422 #, python-brace-format msgid "" @@ -5369,8 +5418,8 @@ index 6effd129..330b2b6d 100644 +"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}'), " +-"하지만 활성화 되었거나 지정된 스트림이 없습니다" +"인수 '{argument}'는 {stream_count} 스트림 ('{streams}')과 일치합니다 (모듈의 " +"'{module}'), 하지만 활성화 되었거나 지정된 스트림이 없습니다" @@ -5381,21 +5430,19 @@ index 6effd129..330b2b6d 100644 +"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 "이미 내려받음" + #: dnf/module/module_base.py:844 +@@ -3922,10 +3998,6 @@ msgstr "다음의 비활성화 플러그인 패턴과 일치하는 항목이 없 + msgid "no matching payload factory for %s" + msgstr "%s와 일치하는 payload factory가 없습니다" +-#: dnf/repo.py:111 +-msgid "Already downloaded" +-msgstr "이미 내려받음" +- #. pinging mirrors, this might take a while --#: dnf/repo.py:347 -+#: dnf/repo.py:346 + #: dnf/repo.py:346 #, python-format - msgid "determining the fastest mirror (%s hosts).. " - msgstr "가장 빠른 미러 지정 (%s 호스트).. " -@@ -3942,13 +4012,21 @@ msgstr "%s 에서 %s repo를 추가했습니다" +@@ -3945,13 +4017,21 @@ msgstr "%s 에서 %s repo를 추가했습니다" #: dnf/rpm/miscutils.py:32 #, python-format msgid "Using rpmkeys executable at %s to verify signatures" @@ -5404,12 +5451,11 @@ index 6effd129..330b2b6d 100644 #: dnf/rpm/miscutils.py:66 msgid "Cannot find rpmkeys executable to verify signatures." --msgstr "서명 확인에서 실행 가능한 rpmkey를 찾을 수 없습니다." -+msgstr "서명을 확인하기 위해 실행 할 수 있는 rpmkeys를 찾을 수 없습니다." + msgstr "서명을 확인하기 위해 실행 할 수 있는 rpmkeys를 찾을 수 없습니다." -#: dnf/rpm/transaction.py:119 +#: dnf/rpm/transaction.py:70 -+msgid "The openDB() function connot open rpm database." ++msgid "The openDB() function cannot open rpm database." +msgstr "openDB() 함수는 rpm 데이타베이스를 열 수 없습니다." + +#: dnf/rpm/transaction.py:75 @@ -5420,7 +5466,7 @@ index 6effd129..330b2b6d 100644 msgid "Errors occurred during test transaction." msgstr "연결 시험 중에 오류가 발생했습니다." -@@ -3956,13 +4034,15 @@ msgstr "연결 시험 중에 오류가 발생했습니다." +@@ -3959,7 +4039,9 @@ msgstr "연결 시험 중에 오류가 발생했습니다." msgid "" "allow_vendor_change is disabled. This option is currently not supported for " "downgrade and distro-sync commands" @@ -5431,23 +5477,7 @@ index 6effd129..330b2b6d 100644 #. 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}\", 번호가 예상됩니다." +@@ -4033,7 +4115,8 @@ msgstr "잘못된 하위 버전 \"{minor}\", 번호가 예상됩니다." msgid "" "Incompatible major version \"{major}\", supported major version is " "\"{major_supp}\"." @@ -5457,7 +5487,7 @@ index 6effd129..330b2b6d 100644 #: dnf/transaction_sr.py:224 msgid "" -@@ -4054,8 +4135,10 @@ msgstr "rpm안에 누락된 객체 키 \"{key}\"." +@@ -4057,8 +4140,10 @@ msgstr "rpm안에 누락된 객체 키 \"{key}\"." #: dnf/transaction_sr.py:289 #, python-brace-format @@ -5470,7 +5500,7 @@ index 6effd129..330b2b6d 100644 #: dnf/transaction_sr.py:297 #, python-brace-format -@@ -4077,7 +4160,9 @@ msgstr "꾸러미 \"{na}\"는 활동 \"{action}\"를 위해 이미 설치되어 +@@ -4080,7 +4165,9 @@ msgstr "꾸러미 \"{na}\"는 활동 \"{action}\"를 위해 이미 설치되어 msgid "" "Package nevra \"{nevra}\" not available in repositories for action " "\"{action}\"." @@ -5481,7 +5511,7 @@ index 6effd129..330b2b6d 100644 #: dnf/transaction_sr.py:356 #, python-brace-format -@@ -4086,8 +4171,10 @@ msgstr "꾸러미 nevra\"{nevra}\"는 활동 \"{action}\"을 위해 설치되지 +@@ -4089,8 +4176,10 @@ msgstr "꾸러미 nevra\"{nevra}\"는 활동 \"{action}\"을 위해 설치되지 #: dnf/transaction_sr.py:370 #, python-brace-format @@ -5494,7 +5524,7 @@ index 6effd129..330b2b6d 100644 #: dnf/transaction_sr.py:377 #, python-format -@@ -4114,7 +4201,9 @@ msgstr "환경 id '%s'는 사용 할 수 없습니다." +@@ -4117,7 +4206,9 @@ msgstr "환경 id '%s'는 사용 할 수 없습니다." msgid "" "Invalid value \"{group_type}\" of environments.groups.group_type, only " "\"mandatory\" or \"optional\" is supported." @@ -5505,7 +5535,7 @@ index 6effd129..330b2b6d 100644 #: dnf/transaction_sr.py:464 #, python-brace-format -@@ -4133,7 +4222,9 @@ msgstr "그룹 안에 누락된 객체 키 \"{key}\"." +@@ -4136,7 +4227,9 @@ msgstr "그룹 안에 누락된 객체 키 \"{key}\"." #: dnf/transaction_sr.py:571 #, python-brace-format @@ -5516,7 +5546,7 @@ index 6effd129..330b2b6d 100644 msgstr "환경 \"{env}\"를 위해 예상하지 못한 환경 활동 \"{action}\"의 값." #: dnf/transaction_sr.py:576 -@@ -4144,9 +4235,10 @@ msgstr "환경에 누락된 객체 키 \"{key}\"." +@@ -4147,9 +4240,10 @@ msgstr "환경에 누락된 객체 키 \"{key}\"." #: dnf/transaction_sr.py:615 #, python-brace-format msgid "" @@ -5530,22 +5560,37 @@ index 6effd129..330b2b6d 100644 #: 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 "실패하였습니다" +@@ -4188,15 +4282,25 @@ msgstr "실패하였습니다" msgid "" msgstr "" -+#~ msgid "skipping." -+#~ msgstr "건너 뛰기." ++#~ msgid "No Matches found" ++#~ msgstr "검색 결과가 없습니다" + + #~ msgid "" + #~ "Enable additional repositories. List option. Supports globs, can be " + #~ "specified multiple times." +-#~ msgstr "추가 저장소를 활성화하십시오. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정 할 수 있습니다." ++#~ msgstr "" ++#~ "추가 저장소를 활성화하십시오. 옵션이 나열됩니다. glob를 지원하며 여러 번 " ++#~ "지정 할 수 있습니다." + + #~ msgid "" +-#~ "Disable repositories. List option. Supports globs, can be specified multiple" +-#~ " times." +-#~ msgstr "저장소를 비활성화 합니다. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정 할 수 있습니다." ++#~ "Disable repositories. List option. Supports globs, can be specified " ++#~ "multiple times." ++#~ msgstr "" ++#~ "저장소를 비활성화 합니다. 옵션이 나열됩니다. glob를 지원하며 여러 번 지정 " ++#~ "할 수 있습니다." ++ ++#~ msgid "Already downloaded" ++#~ msgstr "이미 내려받음" + + #~ msgid "skipping." + #~ msgstr "건너 뛰기." +@@ -4204,7 +4308,8 @@ msgstr "" #~ msgid "" #~ "Using rpmkeys executable from {path} to verify signature for package: " #~ "{package}." @@ -5556,10 +5601,10 @@ index 6effd129..330b2b6d 100644 #~ 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 +index 2cb372b4..19e529e7 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po -@@ -21,25 +21,29 @@ +@@ -21,26 +21,31 @@ # zhouxiaobo , 2017. #zanata # Ludek Janda , 2018. #zanata # Pany , 2018. #zanata @@ -5571,18 +5616,20 @@ index dcde2037..65c5273b 100644 # Hongqiao Chen , 2020. # Harry Chen , 2020. +# Sundeep Anand , 2021. -+# weidong , 2021. + # weidong , 2021. +# Transtats , 2022. ++# Edward Zhang , 2022. ++# Cheng Ming , 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 \n" +-"POT-Creation-Date: 2022-01-11 01:52+0000\n" +-"PO-Revision-Date: 2021-12-04 02:16+0000\n" +-"Last-Translator: weidong \n" -"Language-Team: Chinese (Simplified) \n" -+"POT-Creation-Date: 2022-02-28 11:37+0100\n" -+"PO-Revision-Date: 2022-03-09 12:39+0000\n" ++"POT-Creation-Date: 2022-08-31 13:42+0200\n" ++"PO-Revision-Date: 2022-09-06 07:19+0000\n" +"Last-Translator: Transtats \n" +"Language-Team: Chinese (Simplified) \n" @@ -5591,360 +5638,465 @@ index dcde2037..65c5273b 100644 "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" +-"X-Generator: Weblate 4.9.1\n" ++"X-Generator: Weblate 4.14\n" #: dnf/automatic/emitter.py:32 #, python-format -@@ -213,158 +217,154 @@ msgstr "配置文件 %s 中使用 tsflag 是错误的" +@@ -124,244 +129,244 @@ msgstr "系统离线。" + msgid "Error: %s" + msgstr "错误:%s" + +-#: dnf/base.py:148 dnf/base.py:477 dnf/base.py:479 ++#: dnf/base.py:150 dnf/base.py:479 dnf/base.py:481 + msgid "loading repo '{}' failure: {}" + msgstr "加载仓库 '{}' 失败:{}" + +-#: dnf/base.py:150 ++#: dnf/base.py:152 + msgid "Loading repository '{}' has failed" + msgstr "加载仓库 '{}' 失败" + +-#: dnf/base.py:327 ++#: dnf/base.py:329 + msgid "Metadata timer caching disabled when running on metered connection." + msgstr "在使用按流量计费的连接时禁用元数据计时缓存。" + +-#: dnf/base.py:332 ++#: dnf/base.py:334 + msgid "Metadata timer caching disabled when running on a battery." + msgstr "在使用电池时禁用元数据计时缓存。" + +-#: dnf/base.py:337 ++#: dnf/base.py:339 + msgid "Metadata timer caching disabled." + msgstr "元数据计时缓存已禁用。" + +-#: dnf/base.py:342 ++#: dnf/base.py:344 + msgid "Metadata cache refreshed recently." + msgstr "元数据缓存近期已刷新。" + +-#: dnf/base.py:348 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:350 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "在\"{}\"中没有被启用的仓库。" + +-#: dnf/base.py:355 ++#: dnf/base.py:357 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "%s: 永远不过期并不会被刷新。" + +-#: dnf/base.py:357 ++#: dnf/base.py:359 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "%s: 已过期并不会被刷新。" + + #. expires within the checking period: +-#: dnf/base.py:361 ++#: dnf/base.py:363 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "%s: 元数据将在 %d 秒后过期,现在将会被刷新" + +-#: dnf/base.py:365 ++#: dnf/base.py:367 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "%s: 将会在 %d 秒后过期。" + + #. performs the md sync +-#: dnf/base.py:371 ++#: dnf/base.py:373 + msgid "Metadata cache created." + msgstr "元数据缓存已建立。" + +-#: dnf/base.py:404 dnf/base.py:471 ++#: dnf/base.py:406 dnf/base.py:473 + #, python-format + msgid "%s: using metadata from %s." + msgstr "%s:正在使用截止于 %s 的元数据。" + +-#: dnf/base.py:416 dnf/base.py:484 ++#: dnf/base.py:418 dnf/base.py:486 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "正在忽略仓库:%s" + +-#: dnf/base.py:419 ++#: dnf/base.py:421 + #, python-format + msgid "Last metadata expiration check: %s ago on %s." + msgstr "上次元数据过期检查:%s 前,执行于 %s。" + +-#: dnf/base.py:512 ++#: dnf/base.py:514 + msgid "" + "The downloaded packages were saved in cache until the next successful " + "transaction." + msgstr "下载的软件包保存在缓存中,直到下次成功执行事务。" + +-#: dnf/base.py:514 ++#: dnf/base.py:516 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "您可以通过执行 '%s' 删除软件包缓存。" + +-#: dnf/base.py:606 ++#: dnf/base.py:648 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "配置文件 %s 中使用 tsflag 是错误的" + +-#: dnf/base.py:662 ++#: dnf/base.py:706 + #, python-format msgid "Failed to add groups file for repository: %s - %s" msgstr "为仓库 %s 添加组文件时失败:%s" --#: dnf/base.py:904 -+#: dnf/base.py:922 +-#: dnf/base.py:922 ++#: dnf/base.py:968 msgid "Running transaction check" msgstr "运行事务检查" --#: dnf/base.py:912 -+#: dnf/base.py:930 +-#: dnf/base.py:930 ++#: dnf/base.py:976 msgid "Error: transaction check vs depsolve:" msgstr "错误:事务检查与依赖解决错误:" --#: dnf/base.py:918 -+#: dnf/base.py:936 +-#: dnf/base.py:936 ++#: dnf/base.py:982 msgid "Transaction check succeeded." msgstr "事务检查成功。" --#: dnf/base.py:921 -+#: dnf/base.py:939 +-#: dnf/base.py:939 ++#: dnf/base.py:985 msgid "Running transaction test" msgstr "运行事务测试" --#: dnf/base.py:931 dnf/base.py:1082 -+#: dnf/base.py:949 dnf/base.py:1100 +-#: dnf/base.py:949 dnf/base.py:1100 ++#: dnf/base.py:995 dnf/base.py:1146 msgid "RPM: {}" msgstr "RPM软件包: {}" --#: dnf/base.py:932 -+#: dnf/base.py:950 +-#: dnf/base.py:950 ++#: dnf/base.py:996 msgid "Transaction test error:" - msgstr "事物测试失败:" +-msgstr "事物测试失败:" ++msgstr "事务测试失败:" --#: dnf/base.py:943 -+#: dnf/base.py:961 +-#: dnf/base.py:961 ++#: dnf/base.py:1007 msgid "Transaction test succeeded." msgstr "事务测试成功。" --#: dnf/base.py:964 -+#: dnf/base.py:982 +-#: dnf/base.py:982 ++#: dnf/base.py:1028 msgid "Running transaction" msgstr "运行事务" --#: dnf/base.py:1001 -+#: dnf/base.py:1019 +-#: dnf/base.py:1019 ++#: dnf/base.py:1065 msgid "Disk Requirements:" msgstr "磁盘需求:" --#: dnf/base.py:1004 -+#: dnf/base.py:1022 +-#: dnf/base.py:1022 ++#: dnf/base.py:1068 #, 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 +-#: dnf/base.py:1029 ++#: dnf/base.py:1075 msgid "Error Summary" msgstr "错误汇总" --#: dnf/base.py:1037 -+#: dnf/base.py:1055 +-#: dnf/base.py:1055 ++#: dnf/base.py:1101 #, 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 +-#: dnf/base.py:1101 dnf/base.py:1109 ++#: dnf/base.py:1147 dnf/base.py:1155 msgid "Could not run transaction." msgstr "不能执行事务。" --#: dnf/base.py:1086 -+#: dnf/base.py:1104 +-#: dnf/base.py:1104 ++#: dnf/base.py:1150 msgid "Transaction couldn't start:" msgstr "事务无法启动:" --#: dnf/base.py:1100 -+#: dnf/base.py:1118 +-#: dnf/base.py:1118 ++#: dnf/base.py:1164 #, python-format msgid "Failed to remove transaction file %s" msgstr "移除事务文件 %s 失败" --#: dnf/base.py:1182 -+#: dnf/base.py:1200 +-#: dnf/base.py:1200 ++#: dnf/base.py:1246 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 +-#: dnf/base.py:1230 ++#: dnf/base.py:1276 + #, 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%% )" +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 +-#: dnf/base.py:1234 ++#: dnf/base.py:1280 + #, 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%% )" +msgstr "失败的增量 RPM 将更新的 %.1f MB 增加到 %.1f MB(浪费了 %.1f%%)" --#: dnf/base.py:1258 -+#: dnf/base.py:1276 +-#: dnf/base.py:1276 ++#: dnf/base.py:1322 msgid "Cannot add local packages, because transaction job already exists" - msgstr "由于事物已经存在,无法添加本地软件包" +-msgstr "由于事物已经存在,无法添加本地软件包" ++msgstr "由于事务已经存在,无法添加本地软件包" --#: dnf/base.py:1272 -+#: dnf/base.py:1290 +-#: dnf/base.py:1290 ++#: dnf/base.py:1336 msgid "Could not open: {}" msgstr "无法打开: {}" --#: dnf/base.py:1310 -+#: dnf/base.py:1328 +-#: dnf/base.py:1328 ++#: dnf/base.py:1374 #, python-format msgid "Public key for %s is not installed" msgstr "%s 的公钥没有安装" --#: dnf/base.py:1314 -+#: dnf/base.py:1332 +-#: dnf/base.py:1332 ++#: dnf/base.py:1378 #, python-format msgid "Problem opening package %s" msgstr "打开软件包 %s 出现问题" --#: dnf/base.py:1322 -+#: dnf/base.py:1340 +-#: dnf/base.py:1340 ++#: dnf/base.py:1386 #, python-format msgid "Public key for %s is not trusted" msgstr "%s 的公钥不可信任" --#: dnf/base.py:1326 -+#: dnf/base.py:1344 +-#: dnf/base.py:1344 ++#: dnf/base.py:1390 #, python-format msgid "Package %s is not signed" msgstr "软件包 %s 没有签名" --#: dnf/base.py:1356 -+#: dnf/base.py:1374 +-#: dnf/base.py:1374 ++#: dnf/base.py:1420 #, python-format msgid "Cannot remove %s" msgstr "无法删除 %s" --#: dnf/base.py:1360 -+#: dnf/base.py:1378 +-#: dnf/base.py:1378 ++#: dnf/base.py:1424 #, python-format msgid "%s removed" msgstr "%s 已删除" --#: dnf/base.py:1640 -+#: dnf/base.py:1658 +-#: dnf/base.py:1658 ++#: dnf/base.py:1704 msgid "No match for group package \"{}\"" msgstr "没有和组 \"{}\" 匹配的" --#: dnf/base.py:1726 -+#: dnf/base.py:1740 +-#: dnf/base.py:1740 ++#: dnf/base.py:1786 #, 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/base.py:1763 dnf/cli/cli.py:221 dnf/cli/commands/__init__.py:437 ++#: dnf/base.py:1809 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 +-#: dnf/base.py:1781 ++#: dnf/base.py:1827 msgid "No groups marked for removal." msgstr "没有软件包组需要移除。" --#: dnf/base.py:1801 -+#: dnf/base.py:1815 +-#: dnf/base.py:1815 ++#: dnf/base.py:1861 msgid "No group marked for upgrade." msgstr "没有标记为要升级的组。" --#: dnf/base.py:2015 -+#: dnf/base.py:2029 +-#: dnf/base.py:2029 ++#: dnf/base.py:2075 #, 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/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/base.py:2077 dnf/base.py:2096 dnf/base.py:2109 dnf/base.py:2136 ++#: dnf/base.py:2206 dnf/base.py:2214 dnf/base.py:2348 dnf/cli/cli.py:417 #: dnf/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 并没有能够安装,无法进行降级操作。" +@@ -371,178 +376,179 @@ msgstr "软件包 %s 并没有能够安装,无法进行降级操作。" msgid "No match for argument: %s" msgstr "未找到匹配的参数: %s" --#: dnf/base.py:2024 -+#: dnf/base.py:2038 +-#: dnf/base.py:2038 ++#: dnf/base.py:2084 #, python-format msgid "Package %s of lower version already installed, cannot downgrade it." msgstr "软件包 %s 的低版本已经安装,无法进行降级。" --#: dnf/base.py:2047 -+#: dnf/base.py:2061 +-#: dnf/base.py:2061 ++#: dnf/base.py:2107 #, python-format msgid "Package %s not installed, cannot reinstall it." msgstr "软件包 %s 未能够安装成功,无法进行重新安装。" --#: dnf/base.py:2062 -+#: dnf/base.py:2076 +-#: dnf/base.py:2076 ++#: dnf/base.py:2122 #, python-format msgid "File %s is a source package and cannot be updated, ignoring." msgstr "%s 文件无法被升级,已忽略。" --#: dnf/base.py:2073 -+#: dnf/base.py:2087 +-#: dnf/base.py:2087 ++#: dnf/base.py:2133 #, python-format msgid "Package %s not installed, cannot update it." msgstr "软件包 %s 未安装,无法更新。" --#: dnf/base.py:2083 -+#: dnf/base.py:2097 +-#: dnf/base.py:2097 ++#: dnf/base.py:2143 #, 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 +-#: dnf/base.py:2140 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2203 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 +-#: dnf/base.py:2146 ++#: dnf/base.py:2209 #, python-format msgid "Package %s available, but installed for different architecture." msgstr "软件包 %s 可用,当是为其它架构安装。" --#: dnf/base.py:2157 -+#: dnf/base.py:2171 +-#: dnf/base.py:2171 ++#: dnf/base.py:2234 #, 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/base.py:2189 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2252 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/base.py:2204 dnf/cli/commands/__init__.py:676 ++#: dnf/base.py:2267 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 +-#: dnf/base.py:2292 dnf/cli/cli.py:428 ++#: dnf/base.py:2355 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 +-#: dnf/base.py:2297 ++#: dnf/base.py:2360 #, python-format msgid "Package %s of lowest version already installed, cannot downgrade it." msgstr "软件包 %s 的最低版本已经安装,无法再进行降级。" --#: dnf/base.py:2383 -+#: dnf/base.py:2397 +-#: dnf/base.py:2397 ++#: dnf/base.py:2460 msgid "No security updates needed, but {} update available" msgstr "没有必须的安全更新, 但是 {} 的更新可用" --#: dnf/base.py:2385 -+#: dnf/base.py:2399 +-#: dnf/base.py:2399 ++#: dnf/base.py:2462 msgid "No security updates needed, but {} updates available" msgstr "没有必须的安全更新, 但是 {} 的更新可用" --#: dnf/base.py:2389 -+#: dnf/base.py:2403 +-#: dnf/base.py:2403 ++#: dnf/base.py:2466 msgid "No security updates needed for \"{}\", but {} update available" msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用" --#: dnf/base.py:2391 -+#: dnf/base.py:2405 +-#: dnf/base.py:2405 ++#: dnf/base.py:2468 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 +-#: dnf/base.py:2426 ++#: dnf/base.py:2489 #, python-format msgid "Unable to retrieve a key for a commandline package: %s" msgstr "无法获取来自命令行的软件包的密钥:%s" --#: dnf/base.py:2420 -+#: dnf/base.py:2434 +-#: dnf/base.py:2434 ++#: dnf/base.py:2497 #, python-format msgid ". Failing package is: %s" msgstr ". 失败的软件包是:%s" --#: dnf/base.py:2421 -+#: dnf/base.py:2435 +-#: dnf/base.py:2435 ++#: dnf/base.py:2498 #, python-format msgid "GPG Keys are configured as: %s" msgstr "GPG密钥配置为:%s" --#: dnf/base.py:2433 -+#: dnf/base.py:2447 +-#: dnf/base.py:2447 ++#: dnf/base.py:2510 #, 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 +-#: dnf/base.py:2483 ++#: dnf/base.py:2546 msgid "The key has been approved." msgstr "密钥已被确认。" --#: dnf/base.py:2472 -+#: dnf/base.py:2486 +-#: dnf/base.py:2486 ++#: dnf/base.py:2549 msgid "The key has been rejected." msgstr "密钥已被拒绝。" --#: dnf/base.py:2505 -+#: dnf/base.py:2519 +-#: dnf/base.py:2519 ++#: dnf/base.py:2582 #, python-format msgid "Key import failed (code %d)" msgstr "导入公钥失败(代码 %d)" --#: dnf/base.py:2507 -+#: dnf/base.py:2521 +-#: dnf/base.py:2521 ++#: dnf/base.py:2584 msgid "Key imported successfully" msgstr "导入公钥成功" --#: dnf/base.py:2511 -+#: dnf/base.py:2525 +-#: dnf/base.py:2525 ++#: dnf/base.py:2588 msgid "Didn't install any keys" msgstr "没有安装任何公钥" --#: dnf/base.py:2514 -+#: dnf/base.py:2528 +-#: dnf/base.py:2528 ++#: dnf/base.py:2591 #, python-format msgid "" -"The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n" @@ -5955,73 +6107,75 @@ index dcde2037..65c5273b 100644 "仓库 \"%s\" 的 GPG 公钥已安装,但是不适用于此软件包。\n" "请检查此仓库的公钥 URL 是否配置正确。" --#: dnf/base.py:2525 -+#: dnf/base.py:2539 +-#: dnf/base.py:2539 ++#: dnf/base.py:2602 msgid "Import of key(s) didn't help, wrong key(s)?" msgstr "导入的密钥没有公钥,错误的公钥?" --#: dnf/base.py:2578 -+#: dnf/base.py:2592 +-#: dnf/base.py:2592 ++#: dnf/base.py:2655 msgid " * Maybe you meant: {}" msgstr " * 可能您的意思是:{}" --#: dnf/base.py:2610 -+#: dnf/base.py:2624 +-#: dnf/base.py:2624 ++#: dnf/base.py:2687 msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" msgstr "软件包 \"{}\"(来自于本地仓库 \"{}\")的 checksum 不正确" --#: dnf/base.py:2613 -+#: dnf/base.py:2627 +-#: dnf/base.py:2627 ++#: dnf/base.py:2690 msgid "Some packages from local repository have incorrect checksum" msgstr "本地仓库的一些软件包校验值(checksum)不正确,无法确定软件包完整" --#: dnf/base.py:2616 -+#: dnf/base.py:2630 +-#: dnf/base.py:2630 ++#: dnf/base.py:2693 msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" msgstr "软件包 \"{}\"(来自仓库 \"{}\")的 checksum 不正确" --#: dnf/base.py:2619 -+#: dnf/base.py:2633 +-#: dnf/base.py:2633 ++#: dnf/base.py:2696 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 +-#: dnf/base.py:2651 dnf/base.py:2671 ++#: dnf/base.py:2714 dnf/base.py:2734 msgid "No match for argument" msgstr "未找到匹配的参数" --#: dnf/base.py:2645 dnf/base.py:2665 -+#: dnf/base.py:2659 dnf/base.py:2679 +-#: dnf/base.py:2659 dnf/base.py:2679 ++#: dnf/base.py:2722 dnf/base.py:2742 msgid "All matches were filtered out by exclude filtering for argument" msgstr "由于您的搜索参数,所有相关结果都已被滤掉" --#: dnf/base.py:2647 -+#: dnf/base.py:2661 +-#: dnf/base.py:2661 ++#: dnf/base.py:2724 msgid "All matches were filtered out by modular filtering for argument" msgstr "所有的匹配结果均已经被参数的模块化过滤条件筛除" --#: dnf/base.py:2663 -+#: dnf/base.py:2677 +-#: dnf/base.py:2677 ++#: dnf/base.py:2740 msgid "All matches were installed from a different repository for argument" msgstr "已从另一个仓库安装了参数的所有匹配" --#: dnf/base.py:2710 -+#: dnf/base.py:2724 +-#: dnf/base.py:2724 ++#: dnf/base.py:2787 #, 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" +@@ -562,8 +568,8 @@ msgstr "解析文件 \"%s\" 失败:%s" + msgid "Cannot read file \"%s\": %s" + msgstr "无法读取文件 \"%s\": %s" --#: dnf/cli/aliases.py:105 dnf/conf/config.py:457 -+#: dnf/cli/aliases.py:105 dnf/conf/config.py:475 +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:804 +-#: dnf/cli/cli.py:808 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:806 ++#: dnf/cli/cli.py:810 dnf/cli/commands/alias.py:108 #, python-format - msgid "Parsing file \"%s\" failed: %s" - msgstr "解析文件 \"%s\" 失败:%s" -@@ -600,11 +601,15 @@ msgstr "这个操作会把模块 '{0}' 从流 '{1}' 切换到流 '{2}'" + msgid "Config error: %s" + msgstr "配置错误:%s" +@@ -597,11 +603,15 @@ msgstr "这个操作会把模块 '{0}' 从流 '{1}' 切换到流 '{2}'" #: dnf/cli/cli.py:173 #, python-brace-format msgid "" @@ -6040,9 +6194,41 @@ index dcde2037..65c5273b 100644 #: dnf/cli/cli.py:212 #, python-brace-format -@@ -707,8 +712,8 @@ msgstr "没有仓库匹配: %s" +@@ -651,7 +661,7 @@ msgstr "取代的软件包" + msgid "No packages marked for distribution synchronization." + msgstr "没有软件包需要发行版同步。" - #: dnf/cli/cli.py:719 +-#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:395 ++#: dnf/cli/cli.py:425 dnf/cli/commands/group.py:396 + #, python-format + msgid "No package %s available." + msgstr "没有可用的软件包 %s。" +@@ -689,97 +699,103 @@ msgid "No matching Packages to list" + msgstr "没有匹配的软件包可以列出" + + #: dnf/cli/cli.py:604 +-msgid "No Matches found" +-msgstr "没有找到匹配的软件包" ++msgid "" ++"No matches found. If searching for a file, try specifying the full path or " ++"using a wildcard prefix (\"*/\") at the beginning." ++msgstr "未找到匹配项。如果搜索一个文件,请尝试使用完整路径或在开始使用通配符前缀 (\"" ++"*/\")。" + +-#: dnf/cli/cli.py:671 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:673 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "未知仓库:'%s'" + +-#: dnf/cli/cli.py:685 ++#: dnf/cli/cli.py:687 + #, python-format + msgid "No repository match: %s" + msgstr "没有仓库匹配: %s" + +-#: dnf/cli/cli.py:719 ++#: dnf/cli/cli.py:721 msgid "" -"This command has to be run with superuser privileges (under the root user on" -" most systems)." @@ -6050,8 +6236,31 @@ index dcde2037..65c5273b 100644 +"most systems)." msgstr "运行此命令需要管理员特权(多数系统下是root用户)。" - #: dnf/cli/cli.py:749 -@@ -735,21 +740,24 @@ msgid "" +-#: dnf/cli/cli.py:749 ++#: dnf/cli/cli.py:751 + #, python-format + msgid "No such command: %s. Please use %s --help" + msgstr "未找到命令: %s。请使用 %s --help" + +-#: dnf/cli/cli.py:752 ++#: dnf/cli/cli.py:754 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" + "command(%s)'\"" + msgstr "它可能是一个{PROG}插件命令,尝试:\"{prog} install 'dnf-command(%s)'\"" + +-#: dnf/cli/cli.py:756 ++#: dnf/cli/cli.py:758 + #, python-brace-format + msgid "" + "It could be a {prog} plugin command, but loading of plugins is currently " + "disabled." + msgstr "这可能是一个 {prog} 插件的命令,但是插件的加载当前已经禁用。" + +-#: dnf/cli/cli.py:814 ++#: dnf/cli/cli.py:816 + msgid "" "--destdir or --downloaddir must be used with --downloadonly or download or " "system-upgrade command." msgstr "" @@ -6060,7 +6269,8 @@ index dcde2037..65c5273b 100644 +"--destdir 或 --downloaddir 必须和 --downloadonly 或 download 或 system-" +"upgrade 命令一起使用。" - #: dnf/cli/cli.py:820 +-#: dnf/cli/cli.py:820 ++#: dnf/cli/cli.py:822 msgid "" "--enable, --set-enabled and --disable, --set-disabled must be used with " "config-manager command." @@ -6069,7 +6279,8 @@ index dcde2037..65c5273b 100644 +"--enable、--set-enabled 和 --disable、--set-disabled 必须和 config-manager 命" +"令一起使用。" - #: dnf/cli/cli.py:902 +-#: dnf/cli/cli.py:902 ++#: dnf/cli/cli.py:904 msgid "" "Warning: Enforcing GPG signature check globally as per active RPM security " "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" @@ -6078,9 +6289,50 @@ index dcde2037..65c5273b 100644 +"警告:由于活动的RPM安全策略,强制执行全局GPG签名检查 (请参照dnf.conf(5)中" +"的'gpgcheck'以了解如何阻止这条信息)" - #: dnf/cli/cli.py:922 +-#: dnf/cli/cli.py:922 ++#: dnf/cli/cli.py:924 msgid "Config file \"{}\" does not exist" -@@ -800,7 +808,8 @@ msgstr "RPM 数据库可能出错,请尝试运行'%s'进行恢复。" + msgstr "配置文件 \"{}\" 不存在" + +-#: dnf/cli/cli.py:942 ++#: dnf/cli/cli.py:944 + msgid "" + "Unable to detect release version (use '--releasever' to specify release " + "version)" + msgstr "无法找到发布版本(可用 '--releasever' 指定版本)" + +-#: dnf/cli/cli.py:1016 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1018 dnf/cli/commands/repoquery.py:471 + msgid "argument {}: not allowed with argument {}" + msgstr "参数 {}:不允许与参数 {} 一起使用" + +-#: dnf/cli/cli.py:1023 ++#: dnf/cli/cli.py:1025 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "命令 \"%s\" 已有定义" + +-#: dnf/cli/cli.py:1043 ++#: dnf/cli/cli.py:1045 + msgid "Excludes in dnf.conf: " + msgstr "在 dnf.conf 中排除: " + +-#: dnf/cli/cli.py:1046 ++#: dnf/cli/cli.py:1048 + msgid "Includes in dnf.conf: " + msgstr "在 dnf.conf 中包括: " + +-#: dnf/cli/cli.py:1049 ++#: dnf/cli/cli.py:1051 + msgid "Excludes in repo " + msgstr "在 repo 中排除 " + +-#: dnf/cli/cli.py:1052 ++#: dnf/cli/cli.py:1054 + msgid "Includes in repo " + msgstr "在 repo 中包括 " + +@@ -797,7 +813,8 @@ msgstr "RPM 数据库可能出错,请尝试运行'%s'进行恢复。" #, python-brace-format msgid "" "You have enabled checking of packages via GPG keys. This is a good thing.\n" @@ -6090,7 +6342,7 @@ index dcde2037..65c5273b 100644 "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的进程退出。" +@@ -1137,7 +1154,8 @@ msgstr "正在等待 pid 为%d的进程退出。" msgid "" "[deprecated, use repoquery --deplist] List package's dependencies and what " "packages provide them" @@ -6100,12 +6352,16 @@ index dcde2037..65c5273b 100644 #: dnf/cli/commands/distrosync.py:32 msgid "synchronize installed packages to the latest available versions" -@@ -1242,12 +1252,12 @@ msgstr "显示或使用事务历史" +@@ -1229,7 +1247,7 @@ msgstr "组子命令的参数" + msgid "Invalid groups sub-command, use: %s." + msgstr "无效的组子命令,请使用:%s 。" - #: 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/group.py:398 ++#: dnf/cli/commands/group.py:399 + msgid "Unable to find a mandatory group package." + msgstr "无法找到一个必须的组软件包。" + +@@ -1243,8 +1261,8 @@ msgstr "对于 store 命令,要将事务保存到的文件路径" #: dnf/cli/commands/history.py:68 msgid "" @@ -6116,7 +6372,7 @@ index dcde2037..65c5273b 100644 msgstr "对于 replay 命令,不要检查已安装的包是否与事务中符合" #: dnf/cli/commands/history.py:71 -@@ -1258,8 +1268,8 @@ msgstr "对于 replay 命令,不要检查被拉入事务的额外的包" +@@ -1255,8 +1273,8 @@ msgstr "对于 replay 命令,不要检查被拉入事务的额外的包" #: dnf/cli/commands/history.py:74 msgid "" @@ -6127,7 +6383,16 @@ index dcde2037..65c5273b 100644 msgstr "对于 replay 命令,跳过不可用或者缺少依赖项的软件包" #: dnf/cli/commands/history.py:94 -@@ -1290,8 +1300,8 @@ msgstr "你没有权限访问历史数据库:%s" +@@ -1269,7 +1287,7 @@ msgstr "" + + #: dnf/cli/commands/history.py:101 + msgid "No transaction file name given." +-msgstr "没有指定事务文件名。" ++msgstr "没有提供事务文件名。" + + #: dnf/cli/commands/history.py:103 + msgid "More than one argument given as transaction file name." +@@ -1287,8 +1305,8 @@ msgstr "你没有权限访问历史数据库:%s" #: dnf/cli/commands/history.py:151 #, python-format msgid "" @@ -6138,7 +6403,74 @@ index dcde2037..65c5273b 100644 msgstr "无法撤销事务 %s,这样做将可能导致不一致的软件包数据库。" #: dnf/cli/commands/history.py:156 -@@ -1439,8 +1449,8 @@ msgstr "软件包 %s 尚未安装。" +@@ -1305,7 +1323,7 @@ msgstr "没有事务 ID" + #: dnf/cli/commands/history.py:179 + #, python-brace-format + msgid "Transaction ID \"{0}\" not found." +-msgstr "事务 ID \"{0}\" 未找到。" ++msgstr "无法找到事务 ID \"{0}\" 对应的事务。" + + #: dnf/cli/commands/history.py:185 + msgid "Found more than one transaction ID!" +@@ -1321,11 +1339,11 @@ msgstr "在 %u 之前,事务历史不完整。" + msgid "Transaction history is incomplete, after %u." + msgstr "在 %u 之后,事务历史不完整。" + +-#: dnf/cli/commands/history.py:256 ++#: dnf/cli/commands/history.py:267 + msgid "No packages to list" + msgstr "没有可以列出的软件包" + +-#: dnf/cli/commands/history.py:279 ++#: dnf/cli/commands/history.py:290 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." +@@ -1333,7 +1351,7 @@ msgstr "" + "无效的事务 ID 范围定义 '{}'。\n" + "使用 '..'。" + +-#: dnf/cli/commands/history.py:283 ++#: dnf/cli/commands/history.py:294 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." +@@ -1341,27 +1359,27 @@ msgstr "" + "无法将 '{}' 转换为事务 ID。\n" + "请使用 ''、'last'、'last-'。" + +-#: dnf/cli/commands/history.py:312 ++#: dnf/cli/commands/history.py:323 + msgid "No transaction which manipulates package '{}' was found." + msgstr "没有找到操作软件包 '{}' 的事务。" + +-#: dnf/cli/commands/history.py:357 ++#: dnf/cli/commands/history.py:368 + msgid "{} exists, overwrite?" + msgstr "{} 已存在,是否覆盖?" + +-#: dnf/cli/commands/history.py:360 ++#: dnf/cli/commands/history.py:371 + msgid "Not overwriting {}, exiting." +-msgstr "不覆盖 {},退出。" ++msgstr "未覆盖 {},正在退出。" + +-#: dnf/cli/commands/history.py:367 ++#: dnf/cli/commands/history.py:378 + msgid "Transaction saved to {}." + msgstr "事务已保存至 {}。" + +-#: dnf/cli/commands/history.py:370 ++#: dnf/cli/commands/history.py:381 + msgid "Error storing transaction: {}" + msgstr "存储事务时出现错误:{}" + +-#: dnf/cli/commands/history.py:386 ++#: dnf/cli/commands/history.py:397 + msgid "Warning, the following problems occurred while running a transaction:" + msgstr "警告,在运行事务时出现了下列问题:" + +@@ -1436,8 +1454,8 @@ msgstr "软件包 %s 尚未安装。" #: dnf/cli/commands/module.py:54 msgid "" @@ -6149,51 +6481,17 @@ index dcde2037..65c5273b 100644 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 冲突的结果" +@@ -1731,7 +1749,8 @@ msgstr "只显示与 REQ 冲突的结果" msgid "" - "shows results that requires, suggests, supplements, enhances,or recommends " + "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 软件包提供和文件 " ++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" +@@ -1820,9 +1839,11 @@ msgstr "显示软件包的 changelogs" #: dnf/cli/commands/repoquery.py:194 #, python-format, python-brace-format msgid "" @@ -6208,7 +6506,7 @@ index dcde2037..65c5273b 100644 #: dnf/cli/commands/repoquery.py:198 msgid "show available tags to use with --queryformat" -@@ -1835,13 +1849,16 @@ msgstr "显示可被 --queryformat 使用的标签" +@@ -1832,13 +1853,16 @@ msgstr "显示可被 --queryformat 使用的标签" msgid "" "use name-epoch:version-release.architecture format for displaying found " "packages (default)" @@ -6227,7 +6525,7 @@ index dcde2037..65c5273b 100644 #: dnf/cli/commands/repoquery.py:211 msgid "" -@@ -1877,7 +1894,9 @@ msgstr "显示与该软件包冲突的功能。" +@@ -1874,7 +1898,9 @@ msgstr "显示与该软件包冲突的功能。" msgid "" "Display capabilities that the package can depend on, enhance, recommend, " "suggest, and supplement." @@ -6238,7 +6536,7 @@ index dcde2037..65c5273b 100644 #: dnf/cli/commands/repoquery.py:236 msgid "Display capabilities that the package can enhance." -@@ -1902,8 +1921,8 @@ msgid "" +@@ -1899,8 +1925,8 @@ msgid "" "running %%pre and %%post scriptlets. If the package is installed display " "capabilities that is depends for %%pre, %%post, %%preun and %%postun." msgstr "" @@ -6249,7 +6547,7 @@ index dcde2037..65c5273b 100644 #: dnf/cli/commands/repoquery.py:243 msgid "Display capabilities that the package suggests." -@@ -1952,22 +1971,23 @@ msgstr "搜索所用的关键词" +@@ -1949,22 +1975,23 @@ msgstr "搜索所用的关键词" #: dnf/cli/commands/repoquery.py:295 msgid "" @@ -6282,7 +6580,7 @@ index dcde2037..65c5273b 100644 #: dnf/cli/commands/repoquery.py:312 msgid "argument {} requires --whatrequires or --whatdepends option" -@@ -1981,13 +2001,17 @@ msgstr "软件包 {} 不包含文件" +@@ -1978,13 +2005,16 @@ msgstr "软件包 {} 不包含文件" #, python-brace-format msgid "" "No valid switch specified\n" @@ -6292,17 +6590,16 @@ index dcde2037..65c5273b 100644 +"tree]\n" "\n" "description:\n" - " For the given packages print a tree of thepackages." + " For the given packages print a tree of the packages." msgstr "" "没有指定有效参数\n" -"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n" -+"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--" -+"recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--" -+"tree]\n" ++"用法:{prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recom" ++"mends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]\n" "\n" "描述:\n" " 对于指定的软件包,打印此软件包的树状图。" -@@ -2027,8 +2051,7 @@ msgstr "描述" +@@ -2024,8 +2054,7 @@ msgstr "描述" msgid "URL" msgstr "URL" @@ -6312,7 +6609,7 @@ index dcde2037..65c5273b 100644 #: dnf/cli/commands/search.py:76 msgid " & " msgstr " 和 " -@@ -2546,7 +2569,9 @@ msgstr "错误输出级别" +@@ -2543,7 +2572,9 @@ msgstr "错误输出级别" msgid "" "enables {prog}'s obsoletes processing logic for upgrade or display " "capabilities that the package obsoletes for info, list and repoquery" @@ -6323,18 +6620,35 @@ index dcde2037..65c5273b 100644 #: dnf/cli/option_parser.py:251 msgid "debugging output level for rpm" -@@ -2568,8 +2593,8 @@ msgstr "启用附加仓库。列出选项。支持通配符,可以指定多次 +@@ -2559,18 +2590,21 @@ msgstr "全部问题自动应答为否" - #: dnf/cli/option_parser.py:266 + #: dnf/cli/option_parser.py:261 msgid "" --"Disable repositories. List option. Supports globs, can be specified multiple" --" times." -+"Disable repositories. List option. Supports globs, can be specified multiple " -+"times." - msgstr "停用仓库。列出选项。支持通配符,可指定多次。" +-"Temporarily enable repositories for the purposeof the current dnf command. " +-"Accepts an id, acomma-separated list of ids, or a glob of ids.This option " ++"Temporarily enable repositories for the purpose of the current dnf command. " ++"Accepts an id, a comma-separated list of ids, or a glob of ids. This option " + "can be specified multiple times." +-msgstr "" ++msgstr "为当前 dnf 命令临时启用仓库。接受一个 id、以逗号分隔的多个 id 列表,或 ids " ++"glob。此选项可多次指定。" - #: dnf/cli/option_parser.py:270 -@@ -2598,7 +2623,8 @@ msgstr "禁用 excludepkgs" + #: dnf/cli/option_parser.py:268 + msgid "" +-"Temporarily disable active repositories for thepurpose of the current dnf " +-"command. Accepts an id,a comma-separated list of ids, or a glob of ids.This " +-"option can be specified multiple times, butis mutually exclusive with " ++"Temporarily disable active repositories for the purpose of the current dnf " ++"command. Accepts an id, a comma-separated list of ids, or a glob of ids. " ++"This option can be specified multiple times, but is mutually exclusive with " + "`--repo`." + msgstr "" ++"为当前 dnf 命令临时禁用仓库。接受一个 id、以逗号分隔的多个 id 列表,或 ids " ++"glob。此选项可多次指定,但它与 `--repo` 是相互排斥的。" + + #: dnf/cli/option_parser.py:275 + msgid "" +@@ -2598,7 +2632,8 @@ msgstr "禁用 excludepkgs" msgid "" "label and path to an additional repository to use (same path as in a " "baseurl), can be specified multiple times." @@ -6342,9 +6656,9 @@ index dcde2037..65c5273b 100644 +msgstr "" +"附加仓库所要使用的标签和路径(与 baseurl 中的路径一致),可以指定多次。" - #: dnf/cli/option_parser.py:297 + #: dnf/cli/option_parser.py:302 msgid "disable removal of dependencies that are no longer used" -@@ -3161,7 +3187,7 @@ msgstr "总计" +@@ -3161,7 +3196,7 @@ msgstr "总计" #: dnf/cli/output.py:1466 msgid "" @@ -6353,74 +6667,31 @@ index dcde2037..65c5273b 100644 #: dnf/cli/output.py:1467 msgid "System" -@@ -3451,10 +3477,6 @@ msgstr " 已启动: %s - %s之前" - msgid " State : %s" - msgstr " 状态 : %s" +@@ -3503,7 +3538,7 @@ msgstr "无效配置值: %s=%s 在 %s 中; %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 \"{}\": {}" + #: dnf/conf/config.py:194 + msgid "Cannot set \"{}\" to \"{}\": {}" +-msgstr "无法将“{}”设置为“{}”:{}" +msgstr "无法将 \"{}\" 设置为 \"{}\": {}" -+ -+#: dnf/conf/config.py:244 + + #: 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 +@@ -3582,12 +3617,12 @@ msgstr "解析文件 \"{}\" 失败:{}" + #: dnf/crypto.py:108 #, python-format - msgid "Unknown configuration option: %s = %s" - msgstr "未知配置选项: %s = %s" + msgid "repo %s: 0x%s already imported" +-msgstr "repo %s: 0x%s 已被导入" ++msgstr "存储库 %s: 0x%s 已被导入" --#: dnf/conf/config.py:372 -+#: dnf/conf/config.py:390 + #: dnf/crypto.py:115 #, python-format - msgid "Error parsing --setopt with key '%s', value '%s': %s" - msgstr "解析 --setopt 时出现错误,键为 '%s',值是 '%s': %s" + msgid "repo %s: imported key 0x%s." +-msgstr "repo %s: 已导入密钥 0x%s。" ++msgstr "存储库 %s: 已导入密钥 0x%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/crypto.py:145 + msgid "Verified using DNS record with DNSSEC signature." +@@ -3611,7 +3646,7 @@ msgstr "对于模块软件包 '{}' 没有可用的模块元数据,它将不能 #: dnf/db/group.py:353 #, python-format msgid "An rpm exception occurred: %s" @@ -6429,56 +6700,7 @@ index dcde2037..65c5273b 100644 #: 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] "模块依赖问题:" +@@ -3698,10 +3733,12 @@ msgstr[0] "模块依赖问题:" #, python-format msgid "" "Malformed lock file found: %s.\n" @@ -6493,15 +6715,7 @@ index dcde2037..65c5273b 100644 #: 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 "正在忽略无用的配置文件'{}/{}'" - +@@ -3791,12 +3828,12 @@ msgstr "正在忽略无用的配置文件'{}/{}'" #: dnf/module/module_base.py:86 #, python-brace-format msgid "All matches for argument '{0}' in module '{1}:{2}' are not active" @@ -6516,7 +6730,7 @@ index dcde2037..65c5273b 100644 #: dnf/module/module_base.py:104 dnf/module/module_base.py:214 msgid "" -@@ -3821,12 +3849,12 @@ msgstr "默认配置文件 {} 在模块 {}:{} 中不可用" +@@ -3821,12 +3858,12 @@ msgstr "默认配置文件 {} 在模块 {}:{} 中不可用" #: dnf/module/module_base.py:144 dnf/module/module_base.py:247 msgid "Installing module from Fail-Safe repository is not allowed" @@ -6531,15 +6745,7 @@ index dcde2037..65c5273b 100644 #: 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 "无法解析参数 {}" - +@@ -3847,7 +3884,7 @@ msgstr "无法解析参数 {}" #: dnf/module/module_base.py:321 #, python-brace-format msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed" @@ -6548,7 +6754,7 @@ index dcde2037..65c5273b 100644 #: dnf/module/module_base.py:340 dnf/module/module_base.py:368 msgid "Unable to match profile in argument {}" -@@ -3855,24 +3883,23 @@ msgstr "无法匹配参数 {} 中的配置档案" +@@ -3855,21 +3892,20 @@ msgstr "无法匹配参数 {} 中的配置档案" #: dnf/module/module_base.py:348 msgid "Upgrading module from Fail-Safe repository is not allowed" @@ -6565,8 +6771,8 @@ index dcde2037..65c5273b 100644 msgstr "" -"参数 '{argument}' 可以匹配模块 '{module}' 的 {stream_count} " -"个流('{streams}'),但是这些流都未被启用或非默认" -+"参数 '{argument}' 匹配模块 '{module}' 的 {stream_count} 流 ('{streams}') " -+",但是这些流都未被启用或为默认" ++"参数 '{argument}' 匹配模块 '{module}' 的 {stream_count} 流 ('{streams}') ,但" ++"是这些流都未被启用或为默认" #: dnf/module/module_base.py:509 msgid "" @@ -6575,29 +6781,23 @@ index dcde2037..65c5273b 100644 +"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 "已下载" + #: dnf/module/module_base.py:844 +@@ -3928,10 +3964,6 @@ msgstr "没有以下已停用插件模式的匹配项 : {}" + msgid "no matching payload factory for %s" + msgstr "没有 %s 匹配的 payload factory" +-#: dnf/repo.py:111 +-msgid "Already downloaded" +-msgstr "已下载" +- #. pinging mirrors, this might take a while --#: dnf/repo.py:347 -+#: dnf/repo.py:346 + #: 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" - +@@ -3951,13 +3983,21 @@ msgstr "已添加 %s 仓库来自 %s" #: dnf/rpm/miscutils.py:32 --#, fuzzy, python-format --#| msgid "Cannot find rpmkeys executable to verify signatures." -+#, python-format + #, python-format msgid "Using rpmkeys executable at %s to verify signatures" --msgstr "无法找到 rpmkeys 的可执行文件以验证签名。" +-msgstr "使用位于 %s 的 rpmkeys 的可执行文件以验证签名" +msgstr "使用 %s 处的 rpmkeys 可执行文件来验证签名" #: dnf/rpm/miscutils.py:66 @@ -6606,8 +6806,8 @@ index dcde2037..65c5273b 100644 -#: dnf/rpm/transaction.py:119 +#: dnf/rpm/transaction.py:70 -+msgid "The openDB() function connot open rpm database." -+msgstr "openDB()函数不能打开 rpm 数据库。" ++msgid "The openDB() function cannot open rpm database." ++msgstr "openDB() 无法打开 rpm 数据库。" + +#: dnf/rpm/transaction.py:75 +msgid "The dbCookie() function did not return cookie of rpm database." @@ -6617,7 +6817,7 @@ index dcde2037..65c5273b 100644 msgid "Errors occurred during test transaction." msgstr "测试事务过程中出现错误。" -@@ -3966,7 +4000,8 @@ msgstr "测试事务过程中出现错误。" +@@ -3965,7 +4005,8 @@ msgstr "测试事务过程中出现错误。" msgid "" "allow_vendor_change is disabled. This option is currently not supported for " "downgrade and distro-sync commands" @@ -6627,7 +6827,7 @@ index dcde2037..65c5273b 100644 #. TRANSLATORS: This is for a single package currently being downgraded. #: dnf/transaction.py:80 -@@ -4064,8 +4099,9 @@ msgstr "在 rpm 中缺少对象键 \"{key}\"。" +@@ -4063,8 +4104,9 @@ msgstr "在 rpm 中缺少对象键 \"{key}\"。" #: dnf/transaction_sr.py:289 #, python-brace-format @@ -6639,7 +6839,7 @@ index dcde2037..65c5273b 100644 #: dnf/transaction_sr.py:297 #, python-brace-format -@@ -4080,24 +4116,25 @@ msgstr "无法找到 rpm nevra \"{nevra}\"。" +@@ -4079,24 +4121,25 @@ msgstr "无法找到 rpm nevra \"{nevra}\"。" #: dnf/transaction_sr.py:336 #, python-brace-format msgid "Package \"{na}\" is already installed for action \"{action}\"." @@ -6670,7 +6870,7 @@ index dcde2037..65c5273b 100644 #: dnf/transaction_sr.py:377 #, python-format -@@ -4125,8 +4162,8 @@ msgid "" +@@ -4124,8 +4167,8 @@ msgid "" "Invalid value \"{group_type}\" of environments.groups.group_type, only " "\"mandatory\" or \"optional\" is supported." msgstr "" @@ -6681,7 +6881,7 @@ index dcde2037..65c5273b 100644 #: dnf/transaction_sr.py:464 #, python-brace-format -@@ -4136,17 +4173,19 @@ msgstr "在 environment.groups 中缺少对象键 \"{key}\"。" +@@ -4135,17 +4178,19 @@ msgstr "在 environment.groups 中缺少对象键 \"{key}\"。" #: dnf/transaction_sr.py:542 #, python-brace-format msgid "Unexpected value of group action \"{action}\" for group \"{group}\"." @@ -6705,7 +6905,7 @@ index dcde2037..65c5273b 100644 #: dnf/transaction_sr.py:576 #, python-brace-format -@@ -4156,8 +4195,8 @@ msgstr "在环境中缺少对象键 \"{key}\"。" +@@ -4155,8 +4200,8 @@ msgstr "在环境中缺少对象键 \"{key}\"。" #: dnf/transaction_sr.py:615 #, python-brace-format msgid "" @@ -6716,15 +6916,33 @@ index dcde2037..65c5273b 100644 msgstr "软件包 nevra \"{nevra}\" 没有包括在事务文件中,但它被拉取到事务中。" #: dnf/util.py:417 dnf/util.py:419 -@@ -4195,12 +4234,15 @@ msgstr "失败" +@@ -4194,7 +4239,10 @@ msgstr "失败" #. returns for everything that evaluates to False (None, empty..) #: dnf/util.py:633 msgid "" -msgstr "<名称-未设定>" +msgstr "" + -+#~ msgid "skipping." -+#~ msgstr "正在跳过。" ++#~ msgid "No Matches found" ++#~ msgstr "没有找到匹配的软件包" + + #~ msgid "" + #~ "Enable additional repositories. List option. Supports globs, can be " +@@ -4202,17 +4250,20 @@ msgstr "<名称-未设定>" + #~ msgstr "启用附加仓库。列出选项。支持通配符,可以指定多次。" + + #~ msgid "" +-#~ "Disable repositories. List option. Supports globs, can be specified multiple" +-#~ " times." ++#~ "Disable repositories. List option. Supports globs, can be specified " ++#~ "multiple times." + #~ msgstr "停用仓库。列出选项。支持通配符,可指定多次。" + ++#~ msgid "Already downloaded" ++#~ msgstr "已下载" ++ + #~ msgid "skipping." + #~ msgstr "正在跳过。" #~ msgid "" #~ "Using rpmkeys executable from {path} to verify signature for package: " @@ -6734,7 +6952,7 @@ index dcde2037..65c5273b 100644 #~ msgid "%s: %s check failed: %s vs %s" #~ msgstr "%s: %s 检查失败:%s vs %s" -@@ -4227,5 +4269,6 @@ msgstr "<名称-未设定>" +@@ -4239,5 +4290,6 @@ msgstr "<名称-未设定>" #~ msgstr "错误的事务 ID 或软件包" #~ msgid "" @@ -6742,985 +6960,6 @@ index dcde2037..65c5273b 100644 +#~ "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 \n" --"Language-Team: Chinese (Traditional) \n" -+"Language-Team: Chinese (Traditional) \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 ' 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 ' 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 ' 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 ' command. " -+"After you reset the module, you can install the other stream." - msgstr "" - "無法切換模組的已啟用串流。\n" --"建議移除模組的所有已安裝內容,並使用 '{prog} module reset ' 命令重設模組。重設完模組後,就可以安裝其他串流。" -+"建議移除模組的所有已安裝內容,並使用 '{prog} module reset ' 命令" -+"重設模組。重設完模組後,就可以安裝其他串流。" - - #: 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 ' (optionally " --"with '--alldeps', but not with '--exactdeps'), or with '--requires " --"--resolve'" -+"with '--alldeps', but not with '--exactdeps'), or with '--requires --" -+"resolve'" - msgstr "" --"「--recursive」選項必須與「--whatrequires " --"」一起使用(可以選擇與「--alldeps」一起使用,但不可以是「--exactdeps」),或是與「--requires " --"--resolve」一起使用" -+"「--recursive」選項必須與「--whatrequires 」一起使用(可以選擇與「--" -+"alldeps」一起使用,但不可以是「--exactdeps」),或是與「--requires --" -+"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 "" - 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 +2.37.3 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 -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/SPECS/dnf.spec b/SPECS/dnf.spec index 9bafd9f..e8765e6 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,20 @@ It supports RPMs, modules and comps groups & environments. Name: dnf -Version: 4.10.0 -Release: 5%{?dist} +Version: 4.12.0 +Release: 4%{?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 +Patch0004: 0004-Update-translations-RHEL-9.1.patch BuildArch: noarch BuildRequires: cmake BuildRequires: gettext @@ -257,22 +258,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,9 +367,36 @@ popd %{python3_sitelib}/%{name}/automatic/ %changelog -* Mon Mar 21 2022 Marek Blaha - 4.10.0-5 +* Thu Sep 15 2022 Marek Blaha - 4.12.0-4 - Update translations +* Tue Jul 19 2022 Lukas Hrazky - 4.12.0-3 +- Add only relevant pkgs to upgrade transaction (RhBug:2097757) + +* Thu Apr 28 2022 Richard W.M. Jones - 4.12.0-2 +- Backport fix for leak of libsolv's page file descriptors + +* Thu Apr 28 2022 Pavla Kratochvilova - 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 - 4.10.0-4 - Use rpm.TransactionSet.dbCookie() to determining if rpmdb has changed (RhBug:2043476)