diff --git a/.gitignore b/.gitignore index 94739ac..4e85107 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libdnf-0.65.0.tar.gz +SOURCES/libdnf-0.67.0.tar.gz diff --git a/.libdnf.metadata b/.libdnf.metadata index c753363..af0f755 100644 --- a/.libdnf.metadata +++ b/.libdnf.metadata @@ -1 +1 @@ -95bd8ed682ca9c1b20913afba767c5e91fa3da13 SOURCES/libdnf-0.65.0.tar.gz +2abb8e24d867da4433345678764163e703b7729f SOURCES/libdnf-0.67.0.tar.gz diff --git a/SOURCES/0001-Use-rpmdbCookie-from-librpm-remove-hawkey.Sack._rpmd.patch b/SOURCES/0001-Use-rpmdbCookie-from-librpm-remove-hawkey.Sack._rpmd.patch deleted file mode 100644 index b9d7ded..0000000 --- a/SOURCES/0001-Use-rpmdbCookie-from-librpm-remove-hawkey.Sack._rpmd.patch +++ /dev/null @@ -1,383 +0,0 @@ -From 5fbecb9533a5584d20a2b76f5816e58c2ffbb6f6 Mon Sep 17 00:00:00 2001 -From: Jaroslav Rohel -Date: Wed, 2 Feb 2022 08:45:36 +0100 -Subject: [PATCH 1/2] Use `rpmdbCookie` from librpm, remove - `hawkey.Sack._rpmdb_version` - -`dnf_sack_get_rpmdb_version` function that computed the hash of installed -packages was removed. `rpmdbCookie` function from librpm is used in context -part of libdnf instead. - -The private Python function `hawkey.Sack._rpmdb_version()` was removed too. -It was used by DNF. The new version of DNF uses -`rpm.TransactionSet.dbCookie()` function from librpm, which wraps -the `rpmdbCookie` function. So the same librpm function will be used -in context part of libdnf (e.g. by microdnf) and in the DNF. - -`rpmdbCookie` funkcion is safer. It also detect reinstalation of package -as a change. That will be needed in the future to determining if the libsolv -cache is still valid. -It also solves the libdnf problem with SHA1 in FIPS mode. - -= changelog = -msg: Use `rpmdbCookie` from librpm, remove `hawkey.Sack._rpmdb_version` -type: bugfix -related: https://bugzilla.redhat.com/show_bug.cgi?id=2043476 ---- - libdnf/dnf-sack-private.hpp | 15 ------------ - libdnf/dnf-sack.cpp | 40 ------------------------------- - libdnf/dnf-transaction.cpp | 48 +++++++++++++++++++++---------------- - python/hawkey/sack-py.cpp | 8 ------- - 4 files changed, 27 insertions(+), 84 deletions(-) - -diff --git a/libdnf/dnf-sack-private.hpp b/libdnf/dnf-sack-private.hpp -index 89873534..2db96320 100644 ---- a/libdnf/dnf-sack-private.hpp -+++ b/libdnf/dnf-sack-private.hpp -@@ -81,19 +81,4 @@ std::pair>, libdnf::ModulePackageContainer: - - std::vector requiresModuleEnablement(DnfSack * sack, const libdnf::PackageSet * installSet); - --/** -- * @brief Return fingerprint of installed RPMs. -- * The format is :. -- * is a count of installed RPMs. -- * is a sha1 hash of sorted sha1hdr hashes of installed RPMs. -- * -- * The count can be computed from the command line by running: -- * rpm -qa --qf='%{name}\n' | grep -v '^gpg-pubkey$' | wc -l -- * -- * The hash can be computed from the command line by running: -- * rpm -qa --qf='%{name} %{sha1header}\n' | grep -v '^gpg-pubkey ' \ -- * | cut -d ' ' -f 2 | LC_ALL=C sort | tr -d '\n' | sha1sum -- */ --std::string dnf_sack_get_rpmdb_version(DnfSack *sack); -- - #endif // HY_SACK_INTERNAL_H -diff --git a/libdnf/dnf-sack.cpp b/libdnf/dnf-sack.cpp -index a88e8a1c..13977730 100644 ---- a/libdnf/dnf-sack.cpp -+++ b/libdnf/dnf-sack.cpp -@@ -80,7 +80,6 @@ extern "C" { - #include "module/ModulePackage.hpp" - #include "repo/Repo-private.hpp" - #include "repo/solvable/DependencyContainer.hpp" --#include "utils/crypto/sha1.hpp" - #include "utils/File.hpp" - #include "utils/utils.hpp" - #include "log.hpp" -@@ -2535,42 +2534,3 @@ std::pair>, libdnf::ModulePackageContainer: - setModuleExcludes(sack, hotfixRepos, *moduleContainer); - return ret; - } -- --std::string dnf_sack_get_rpmdb_version(DnfSack *sack) { -- // collect all sha1hdr checksums -- // they are sufficiently unique IDs that represent installed RPMs -- std::vector checksums; -- -- // iterate all @System repo RPMs (rpmdb records) -- libdnf::Query query{sack, libdnf::Query::ExcludeFlags::IGNORE_EXCLUDES}; -- query.installed(); -- -- auto pset = query.getResultPset(); -- Id id = -1; -- while(true) { -- id = pset->next(id); -- if (id == -1) { -- break; -- } -- DnfPackage *pkg = dnf_package_new(sack, id); -- // store pkgid (equals to sha1hdr) -- checksums.push_back(libdnf::string::fromCstring(dnf_package_get_pkgid(pkg))); -- g_object_unref(pkg); -- } -- -- // sort checksums to compute the output checksum always the same -- std::sort(checksums.begin(), checksums.end()); -- -- SHA1Hash h; -- for (auto & checksum : checksums) { -- h.update(checksum.c_str()); -- } -- -- // build : output -- std::ostringstream result; -- result << checksums.size(); -- result << ":"; -- result << h.hexdigest(); -- -- return result.str(); --} -diff --git a/libdnf/dnf-transaction.cpp b/libdnf/dnf-transaction.cpp -index e0966582..d93c5ec6 100644 ---- a/libdnf/dnf-transaction.cpp -+++ b/libdnf/dnf-transaction.cpp -@@ -28,6 +28,7 @@ - * This object represents an RPM transaction. - */ - -+#include - #include - #include - #include -@@ -53,6 +54,7 @@ - #include "transaction/Swdb.hpp" - #include "transaction/Transformer.hpp" - #include "utils/bgettext/bgettext-lib.h" -+#include "utils/utils.hpp" - - typedef enum { - DNF_TRANSACTION_STEP_STARTED, -@@ -1136,9 +1138,8 @@ dnf_transaction_commit(DnfTransaction *transaction, HyGoal goal, DnfState *state - libdnf::Swdb *swdb = priv->swdb; - PluginHookContextTransactionData data{PLUGIN_HOOK_ID_CONTEXT_PRE_TRANSACTION, transaction, goal, state}; - DnfSack * sack = hy_goal_get_sack(goal); -- DnfSack * rpmdb_version_sack = NULL; -- std::string rpmdb_begin; -- std::string rpmdb_end; -+ std::unique_ptr rpmdb_cookie_uptr{nullptr, free}; -+ std::string rpmdb_cookie; - - /* take lock */ - ret = dnf_state_take_lock(state, DNF_LOCK_TYPE_RPMDB, DNF_LOCK_MODE_PROCESS, error); -@@ -1431,17 +1432,24 @@ dnf_transaction_commit(DnfTransaction *transaction, HyGoal goal, DnfState *state - if (!dnf_context_plugin_hook(priv->context, PLUGIN_HOOK_ID_CONTEXT_PRE_TRANSACTION, &data, nullptr)) - goto out; - -- // FIXME get commandline -- if (sack) { -- rpmdb_begin = dnf_sack_get_rpmdb_version(sack); -- } else { -- // if sack is not available, create a custom instance -- rpmdb_version_sack = dnf_sack_new(); -- dnf_sack_load_system_repo(rpmdb_version_sack, nullptr, DNF_SACK_LOAD_FLAG_NONE, nullptr); -- rpmdb_begin = dnf_sack_get_rpmdb_version(rpmdb_version_sack); -- g_object_unref(rpmdb_version_sack); -+ // Open rpm database if it is not already open -+ if (!rpmtsGetRdb(priv->ts)) { -+ rc = rpmtsOpenDB(priv->ts, rpmtsGetDBMode(priv->ts)); -+ if (rc != 0) { -+ ret = FALSE; -+ g_set_error( -+ error, DNF_ERROR, DNF_ERROR_INTERNAL_ERROR, _("Error %i opening rpm database"), rc); -+ goto out; -+ } - } -- swdb->beginTransaction(_get_current_time(), rpmdb_begin, "", priv->uid); -+ -+ rpmdb_cookie_uptr.reset(rpmdbCookie(rpmtsGetRdb(priv->ts))); -+ rpmdb_cookie = libdnf::string::fromCstring(rpmdb_cookie_uptr.get()); -+ if (rpmdb_cookie.empty()) { -+ g_critical(_("The rpmdbCookie() function did not return cookie of rpm database.")); -+ } -+ // FIXME get commandline -+ swdb->beginTransaction(_get_current_time(), rpmdb_cookie, "", priv->uid); - - /* run the transaction */ - priv->state = dnf_state_get_child(state); -@@ -1481,14 +1489,12 @@ dnf_transaction_commit(DnfTransaction *transaction, HyGoal goal, DnfState *state - if (!ret) - goto out; - -- // finalize swdb transaction -- // always load a new sack with rpmdb state after the transaction -- rpmdb_version_sack = dnf_sack_new(); -- dnf_sack_load_system_repo(rpmdb_version_sack, nullptr, DNF_SACK_LOAD_FLAG_NONE, nullptr); -- rpmdb_end = dnf_sack_get_rpmdb_version(rpmdb_version_sack); -- g_object_unref(rpmdb_version_sack); -- -- swdb->endTransaction(_get_current_time(), rpmdb_end.c_str(), libdnf::TransactionState::DONE); -+ rpmdb_cookie_uptr.reset(rpmdbCookie(rpmtsGetRdb(priv->ts))); -+ rpmdb_cookie = libdnf::string::fromCstring(rpmdb_cookie_uptr.get()); -+ if (rpmdb_cookie.empty()) { -+ g_critical(_("The rpmdbCookie() function did not return cookie of rpm database.")); -+ } -+ swdb->endTransaction(_get_current_time(), rpmdb_cookie, libdnf::TransactionState::DONE); - swdb->closeTransaction(); - - data.hookId = PLUGIN_HOOK_ID_CONTEXT_TRANSACTION; -diff --git a/python/hawkey/sack-py.cpp b/python/hawkey/sack-py.cpp -index 4de499cb..fcb5cd61 100644 ---- a/python/hawkey/sack-py.cpp -+++ b/python/hawkey/sack-py.cpp -@@ -783,13 +783,6 @@ load_repo(_SackObject *self, PyObject *args, PyObject *kwds) try - Py_RETURN_NONE; - } CATCH_TO_PYTHON - --static PyObject * --rpmdb_version(_SackObject *self, PyObject *unused) try --{ -- auto result = dnf_sack_get_rpmdb_version(self->sack); -- return PyString_FromString(result.c_str()); --} CATCH_TO_PYTHON -- - static Py_ssize_t - len(_SackObject *self) try - { -@@ -858,7 +851,6 @@ PyMethodDef sack_methods[] = { - METH_VARARGS | METH_KEYWORDS, NULL}, - {"load_repo", (PyCFunction)load_repo, METH_VARARGS | METH_KEYWORDS, - NULL}, -- {"_rpmdb_version", (PyCFunction)rpmdb_version, METH_VARARGS | METH_KEYWORDS, NULL}, - {NULL} /* sentinel */ - }; - --- -2.34.1 - - -From 3dae1fd8754ec9521e16e2e11a7c4bf2c81bbb02 Mon Sep 17 00:00:00 2001 -From: Jaroslav Rohel -Date: Wed, 2 Feb 2022 18:00:39 +0100 -Subject: [PATCH 2/2] Remove class `SHA1Hash`, which is no longer used, remove - OpenSSL require - -The class was used by the `dnf_sack_get_rpmdb_version` function, which was -removed. The `rpmdbCookie` function from librpm is used instead. ---- - CMakeLists.txt | 1 - - libdnf.spec | 1 - - libdnf/CMakeLists.txt | 1 - - libdnf/utils/CMakeLists.txt | 1 - - libdnf/utils/crypto/CMakeLists.txt | 5 ----- - libdnf/utils/crypto/sha1.cpp | 36 ------------------------------ - libdnf/utils/crypto/sha1.hpp | 25 --------------------- - 7 files changed, 70 deletions(-) - delete mode 100644 libdnf/utils/crypto/CMakeLists.txt - delete mode 100644 libdnf/utils/crypto/sha1.cpp - delete mode 100644 libdnf/utils/crypto/sha1.hpp - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 60cf1b8c..7149b9e6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -52,7 +52,6 @@ endif() - # build dependencies - find_package(Gpgme REQUIRED) - find_package(LibSolv 0.6.30 REQUIRED COMPONENTS ext) --find_package(OpenSSL REQUIRED) - - - # build dependencies via pkg-config -diff --git a/libdnf.spec b/libdnf.spec -index 697911f0..89d2fb40 100644 ---- a/libdnf.spec -+++ b/libdnf.spec -@@ -83,7 +83,6 @@ BuildRequires: pkgconfig(zck) >= 0.9.11 - BuildRequires: pkgconfig(sqlite3) - BuildRequires: pkgconfig(json-c) - BuildRequires: pkgconfig(cppunit) --BuildRequires: pkgconfig(libcrypto) - BuildRequires: pkgconfig(modulemd-2.0) >= %{libmodulemd_version} - BuildRequires: pkgconfig(smartcols) - BuildRequires: gettext -diff --git a/libdnf/CMakeLists.txt b/libdnf/CMakeLists.txt -index 998a6f94..9e71d139 100644 ---- a/libdnf/CMakeLists.txt -+++ b/libdnf/CMakeLists.txt -@@ -75,7 +75,6 @@ target_link_libraries(libdnf - ${GLIB_GIO_UNIX_LIBRARIES} - ${LIBSOLV_LIBRARY} - ${LIBSOLV_EXT_LIBRARY} -- ${OPENSSL_CRYPTO_LIBRARY} - ${RPM_LIBRARIES} - ${SCOLS_LIBRARIES} - ${SQLite3_LIBRARIES} -diff --git a/libdnf/utils/CMakeLists.txt b/libdnf/utils/CMakeLists.txt -index 71a1042c..4ec456ef 100644 ---- a/libdnf/utils/CMakeLists.txt -+++ b/libdnf/utils/CMakeLists.txt -@@ -1,5 +1,4 @@ - add_subdirectory(bgettext) --add_subdirectory(crypto) - add_subdirectory(iniparser) - add_subdirectory(regex) - add_subdirectory(sqlite3) -diff --git a/libdnf/utils/crypto/CMakeLists.txt b/libdnf/utils/crypto/CMakeLists.txt -deleted file mode 100644 -index 149d100c..00000000 ---- a/libdnf/utils/crypto/CMakeLists.txt -+++ /dev/null -@@ -1,5 +0,0 @@ --set(UTILS_SOURCES -- ${UTILS_SOURCES} -- ${CMAKE_CURRENT_SOURCE_DIR}/sha1.cpp -- PARENT_SCOPE --) -diff --git a/libdnf/utils/crypto/sha1.cpp b/libdnf/utils/crypto/sha1.cpp -deleted file mode 100644 -index 1533ee6b..00000000 ---- a/libdnf/utils/crypto/sha1.cpp -+++ /dev/null -@@ -1,36 +0,0 @@ --#include -- --#include --#include -- --#include "sha1.hpp" -- -- --SHA1Hash::SHA1Hash() --{ -- md_ctx = EVP_MD_CTX_new(); -- EVP_DigestInit_ex(md_ctx, EVP_sha1(), NULL); --} -- -- --void --SHA1Hash::update(const char * data) --{ -- EVP_DigestUpdate(md_ctx, data, strlen(data)); --} -- -- --std::string --SHA1Hash::hexdigest() --{ -- unsigned char md[digestLength]; -- EVP_DigestFinal_ex(md_ctx, md, NULL); -- -- std::stringstream ss; -- for(int i=0; i(md[i]); -- } -- -- EVP_MD_CTX_free(md_ctx); -- return ss.str(); --} -diff --git a/libdnf/utils/crypto/sha1.hpp b/libdnf/utils/crypto/sha1.hpp -deleted file mode 100644 -index 9f1dfdeb..00000000 ---- a/libdnf/utils/crypto/sha1.hpp -+++ /dev/null -@@ -1,25 +0,0 @@ --#include --#include --#include -- -- --/* --USAGE: -- --SHA1Hash h; --h.update("foo"); --h.update("bar"); --std::cout << h.hexdigest() << std::endl; --*/ -- -- --class SHA1Hash { --public: -- SHA1Hash(); -- void update(const char *data); -- std::string hexdigest(); -- static constexpr int digestLength = SHA_DIGEST_LENGTH; -- --private: -- EVP_MD_CTX *md_ctx; --}; --- -2.34.1 - diff --git a/SOURCES/0001-advisory-upgrade-filter-out-advPkgs-with-different-a.patch b/SOURCES/0001-advisory-upgrade-filter-out-advPkgs-with-different-a.patch new file mode 100644 index 0000000..46ea2ca --- /dev/null +++ b/SOURCES/0001-advisory-upgrade-filter-out-advPkgs-with-different-a.patch @@ -0,0 +1,100 @@ +From c17e59faf6075e7ddb803f6393e86653afd6b16d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= +Date: Mon, 30 May 2022 08:59:41 +0200 +Subject: [PATCH] advisory upgrade: filter out advPkgs with different arch + +This prevents a situation in security upgrades where libsolv cannot +upgrade dependent pkgs because we ask for an upgrade of different arch: + +We can get the following testcase if libdnf has filtered out +json-c-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms +(because there is an advisory for already installed json-c-1-1.el8.x86_64) but +json-c-2-2.el8.i686@rhel-8-for-x86_64-baseos-rpms is not filtered out because +it has different architecture. The resulting transaction doesn't work. + +``` +repo @System -99.-1000 testtags +#>=Pkg: bind-libs-lite 1 1.el8 x86_64 +#>=Pkg: json-c 1 1.el8 x86_64 + +repo rhel-8-for-x86_64-baseos-rpms -99.-1000 testtags +#>=Pkg: json-c 2 2.el8 x86_64 +#>=Prv: libjson-c.so.4()(64bit) +#> +#>=Pkg: json-c 2 2.el8 i686 +#>=Prv: libjson-c.so.4() +#> +#>=Pkg: bind-libs-lite 2 2.el8 x86_64 +#>=Req: libjson-c.so.4()(64bit) +system x86_64 rpm @System +job update oneof json-c-1-1.el8.x86_64@@System json-c-2-2.el8.i686@rhel-8-for-x86_64-baseos-rpms bind-libs-lite-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms [forcebest,targeted,setevr,setarch] +result transaction,problems +#>problem f06d81a4 info package bind-libs-lite-2-2.el8.x86_64 requires libjson-c.so.4()(64bit), but none of the providers can be installed +#>problem f06d81a4 solution 96f9031b allow bind-libs-lite-1-1.el8.x86_64@@System +#>problem f06d81a4 solution c8daf94f allow json-c-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms +#>upgrade bind-libs-lite-1-1.el8.x86_64@@System bind-libs-lite-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms +#>upgrade json-c-1-1.el8.x86_64@@System json-c-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms``` +``` + += changelog = +msg: Filter out advisory pkgs with different arch during advisory upgrade, fixes possible problems in dependency resulution. +type: bugfix +resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2088149 +--- + libdnf/sack/query.cpp | 25 +++++++++++++++++++------ + 1 file changed, 19 insertions(+), 6 deletions(-) + +diff --git a/libdnf/sack/query.cpp b/libdnf/sack/query.cpp +index ac2736b5..03d39659 100644 +--- a/libdnf/sack/query.cpp ++++ b/libdnf/sack/query.cpp +@@ -1877,12 +1877,6 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname) + std::vector candidates; + std::vector installed_solvables; + +- Id id = -1; +- while ((id = resultPset->next(id)) != -1) { +- candidates.push_back(pool_id2solvable(pool, id)); +- } +- NameArchEVRComparator cmp_key(pool); +- + if (cmp_type & HY_UPGRADE) { + Query installed(sack, ExcludeFlags::IGNORE_EXCLUDES); + installed.installed(); +@@ -1893,6 +1887,18 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname) + installed_solvables.push_back(pool_id2solvable(pool, installed_id)); + } + std::sort(installed_solvables.begin(), installed_solvables.end(), NameArchSolvableComparator); ++ Id id = -1; ++ while ((id = resultPset->next(id)) != -1) { ++ Solvable * s = pool_id2solvable(pool, id); ++ // When doing HY_UPGRADE consider only candidate pkgs that have matching Name and Arch ++ // with some already installed pkg (in other words: some other version of the pkg is already installed). ++ // Otherwise a pkg with different Arch than installed can end up in upgrade set which is wrong. ++ // It can result in dependency issues, reported as: RhBug:2088149. ++ auto low = std::lower_bound(installed_solvables.begin(), installed_solvables.end(), s, NameArchSolvableComparator); ++ if (low != installed_solvables.end() && s->name == (*low)->name && s->arch == (*low)->arch) { ++ candidates.push_back(s); ++ } ++ } + + // Apply security filters only to packages with lower priority - to unify behaviour upgrade + // and upgrade-minimal +@@ -1915,7 +1921,14 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname) + } + } + std::swap(candidates, priority_candidates); ++ } else { ++ Id id = -1; ++ while ((id = resultPset->next(id)) != -1) { ++ candidates.push_back(pool_id2solvable(pool, id)); ++ } + } ++ ++ NameArchEVRComparator cmp_key(pool); + std::sort(candidates.begin(), candidates.end(), cmp_key); + for (auto & advisoryPkg : pkgs) { + if (cmp_type & HY_UPGRADE) { +-- +2.36.1 + diff --git a/SOURCES/0002-Add-obsoletes-to-filtering-for-advisory-candidates.patch b/SOURCES/0002-Add-obsoletes-to-filtering-for-advisory-candidates.patch new file mode 100644 index 0000000..1bf2e2d --- /dev/null +++ b/SOURCES/0002-Add-obsoletes-to-filtering-for-advisory-candidates.patch @@ -0,0 +1,71 @@ +From 549d248c9b331d19a0fd355fc605ab8912ed50f6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= +Date: Tue, 5 Jul 2022 09:02:22 +0200 +Subject: [PATCH] Add obsoletes to filtering for advisory candidates + +Patch https://github.com/rpm-software-management/libdnf/pull/1526 +introduced a regression where we no longer do a security upgrade if a +package A is installed and package B obsoletes A and B is available in two +versions while there is an advisory for the second version. + +Test: https://github.com/rpm-software-management/ci-dnf-stack/pull/1130 +--- + libdnf/sack/query.cpp | 32 ++++++++++++++++++++++++++++---- + 1 file changed, 28 insertions(+), 4 deletions(-) + +diff --git a/libdnf/sack/query.cpp b/libdnf/sack/query.cpp +index 03d39659..5355f9f7 100644 +--- a/libdnf/sack/query.cpp ++++ b/libdnf/sack/query.cpp +@@ -1878,6 +1878,13 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname) + std::vector installed_solvables; + + if (cmp_type & HY_UPGRADE) { ++ // When doing HY_UPGRADE consider only candidate pkgs that have matching Name and Arch with: ++ // * some already installed pkg (in other words: some other version of the pkg is already installed) ++ // or ++ // * with pkg that obsoletes some already installed (or to be installed in this transaction) pkg ++ // Otherwise a pkg with different Arch than installed can end up in upgrade set which is wrong. ++ // It can result in dependency issues, reported as: RhBug:2088149. ++ + Query installed(sack, ExcludeFlags::IGNORE_EXCLUDES); + installed.installed(); + installed.addFilter(HY_PKG_LATEST_PER_ARCH, HY_EQ, 1); +@@ -1887,13 +1894,30 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname) + installed_solvables.push_back(pool_id2solvable(pool, installed_id)); + } + std::sort(installed_solvables.begin(), installed_solvables.end(), NameArchSolvableComparator); ++ ++ Query obsoletes(sack, ExcludeFlags::IGNORE_EXCLUDES); ++ obsoletes.addFilter(HY_PKG, HY_EQ, resultPset); ++ obsoletes.available(); ++ ++ Query possibly_obsoleted(sack, ExcludeFlags::IGNORE_EXCLUDES); ++ possibly_obsoleted.addFilter(HY_PKG, HY_EQ, resultPset); ++ possibly_obsoleted.addFilter(HY_PKG_UPGRADES, HY_EQ, 1); ++ possibly_obsoleted.queryUnion(installed); ++ possibly_obsoleted.apply(); ++ ++ obsoletes.addFilter(HY_PKG_OBSOLETES, HY_EQ, possibly_obsoleted.runSet()); ++ obsoletes.apply(); ++ Id obsoleted_id = -1; ++ // Add to candidates resultPset pkgs that obsolete some installed (or to be installed in this transaction) pkg ++ while ((obsoleted_id = obsoletes.pImpl->result->next(obsoleted_id)) != -1) { ++ Solvable * s = pool_id2solvable(pool, obsoleted_id); ++ candidates.push_back(s); ++ } ++ + Id id = -1; ++ // Add to candidates resultPset pkgs that match name and arch with some already installed pkg + while ((id = resultPset->next(id)) != -1) { + Solvable * s = pool_id2solvable(pool, id); +- // When doing HY_UPGRADE consider only candidate pkgs that have matching Name and Arch +- // with some already installed pkg (in other words: some other version of the pkg is already installed). +- // Otherwise a pkg with different Arch than installed can end up in upgrade set which is wrong. +- // It can result in dependency issues, reported as: RhBug:2088149. + auto low = std::lower_bound(installed_solvables.begin(), installed_solvables.end(), s, NameArchSolvableComparator); + if (low != installed_solvables.end() && s->name == (*low)->name && s->arch == (*low)->arch) { + candidates.push_back(s); +-- +2.36.1 + diff --git a/SOURCES/0002-Skip-rich-deps-for-autodetection-of-unmet-dependencies-RhBug2033130-2048394.patch b/SOURCES/0002-Skip-rich-deps-for-autodetection-of-unmet-dependencies-RhBug2033130-2048394.patch deleted file mode 100644 index a8770c6..0000000 --- a/SOURCES/0002-Skip-rich-deps-for-autodetection-of-unmet-dependencies-RhBug2033130-2048394.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 025d477f63baf3df2f6da3b10a21f00d4a339073 Mon Sep 17 00:00:00 2001 -From: Jaroslav Mracek -Date: Tue, 8 Feb 2022 09:30:03 +0100 -Subject: [PATCH] Skip rich deps for autodetection of unmet dependencies (RhBug:2033130, 2048394) - -Rich dependencies are difficult to properly evaluate because we do not -have enough information about past and only libsolv is capable to -evaluate it in comparison to present state of the system. - -Additionally - rich deps are used for langpacks therefore disabling -unmet rich deps will have a negative impact on UX. - -https://bugzilla.redhat.com/show_bug.cgi?id=2048394 -https://bugzilla.redhat.com/show_bug.cgi?id=2033130 ---- - libdnf/goal/Goal.cpp | 22 +++++++++++++++++++--- - 1 file changed, 19 insertions(+), 3 deletions(-) - -diff --git a/libdnf/goal/Goal.cpp b/libdnf/goal/Goal.cpp -index 2b698f7..ebe2fbd 100644 ---- a/libdnf/goal/Goal.cpp -+++ b/libdnf/goal/Goal.cpp -@@ -835,8 +835,12 @@ Goal::exclude_from_weak_autodetect() - installed_names.push_back(dnf_package_get_name(pkg)); - std::unique_ptr recommends(dnf_package_get_recommends(pkg)); - for (int i = 0; i < recommends->count(); ++i) { -- Query query(base_query); - std::unique_ptr dep(recommends->getPtr(i)); -+ const char * dep_string = dep->toString(); -+ if (dep_string[0] == '(') { -+ continue; -+ } -+ Query query(base_query); - const char * version = dep->getVersion(); - // There can be installed provider in different version or upgraded packed can recommend a different version - // Ignore version and search only by reldep name -@@ -858,7 +862,7 @@ Goal::exclude_from_weak_autodetect() - } - } - -- // Invesigate supplements of only available packages with a different name to installed packages -+ // Investigate supplements of only available packages with a different name to installed packages - installed_names.push_back(nullptr); - base_query.addFilter(HY_PKG_NAME, HY_NEQ, installed_names.data()); - auto * available_pset = base_query.getResultPset(); -@@ -870,8 +874,20 @@ Goal::exclude_from_weak_autodetect() - if (supplements->count() == 0) { - continue; - } -+ libdnf::DependencyContainer supplements_without_rich(getSack()); -+ for (int i = 0; i < supplements->count(); ++i) { -+ std::unique_ptr dep(supplements->getPtr(i)); -+ const char * dep_string = dep->toString(); -+ if (dep_string[0] == '(') { -+ continue; -+ } -+ supplements_without_rich.add(dep.get()); -+ } -+ if (supplements_without_rich.count() == 0) { -+ continue; -+ } - Query query(installed_query); -- query.addFilter(HY_PKG_PROVIDES, supplements.get()); -+ query.addFilter(HY_PKG_PROVIDES, &supplements_without_rich); - // When supplemented package already installed, exclude_from_weak available package - if (!query.empty()) { - add_exclude_from_weak(pkg); --- -libgit2 1.1.0 - diff --git a/SOURCES/0003-Update-translations-RhBug-2017349.patch b/SOURCES/0003-Update-translations-RhBug-2017349.patch deleted file mode 100644 index e25a182..0000000 --- a/SOURCES/0003-Update-translations-RhBug-2017349.patch +++ /dev/null @@ -1,4689 +0,0 @@ -From 8db854d225eebe0929a2fa9cdb003f0fa4847a3e Mon Sep 17 00:00:00 2001 -From: Marek Blaha -Date: Mon, 21 Mar 2022 10:15:10 +0100 -Subject: [PATCH] Update translations (RhBug:2017349) - ---- - po/fr.po | 421 +++++++++++++++++++++------------------- - po/ja.po | 471 ++++++++++++++++++++++++++------------------- - po/ko.po | 407 ++++++++++++++++++++++----------------- - po/libdnf.pot | 247 +++++++++++++----------- - po/zh_CN.po | 519 +++++++++++++++++++++++++++----------------------- - 5 files changed, 1140 insertions(+), 925 deletions(-) - -diff --git a/po/fr.po b/po/fr.po -index f89cdfa8..d0b10345 100644 ---- a/po/fr.po -+++ b/po/fr.po -@@ -1,25 +1,27 @@ --# Jean-Baptiste Holcroft , 2016. #zanata, 2021. -+# Jean-Baptiste Holcroft , 2016. #zanata - # José Fournier , 2016. #zanata - # José Fournier , 2017. #zanata - # Jérôme Fenal , 2017. #zanata --# Ludek Janda , 2018. #zanata --# Jean-Baptiste Holcroft , 2019. #zanata, 2021. --# Julien Humbert , 2020, 2021. --# Arnaud T. , 2020. -+# Ludek Janda , 2018. #zanata, 2021. -+# Jean-Baptiste Holcroft , 2019. #zanata -+# Julien Humbert , 2020. -+# Sundeep Anand , 2021, 2022. -+# Titouan Bénard , 2021. - msgid "" - msgstr "" - "Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2021-05-16 09:18-0400\n" --"PO-Revision-Date: 2021-05-17 03:02+0000\n" --"Last-Translator: Julien Humbert \n" --"Language-Team: French \n" -+"POT-Creation-Date: 2022-02-28 10:38+0100\n" -+"PO-Revision-Date: 2022-03-02 10:16+0000\n" -+"Last-Translator: Sundeep Anand \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.11\n" - - #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40 - msgid "no value specified" -@@ -51,9 +53,9 @@ msgstr "la valeur 1 n’est pas autorisée" - - #: libdnf/conf/ConfigMain.cpp:209 - msgid "negative value is not allowed" --msgstr "une valeur négative n’est pas autorisée" -+msgstr "la valeur négative n'est pas autorisée" - --#: libdnf/conf/ConfigMain.cpp:341 -+#: libdnf/conf/ConfigMain.cpp:343 - #, c-format - msgid "percentage '%s' is out of range" - msgstr "le pourcentage « %s » est en dehors des limites" -@@ -108,140 +110,161 @@ msgstr "n’a pu convertir « %s » en secondes" - msgid "GetValue(): Value not set" - msgstr "GetValue() : valeur non définie" - --#: libdnf/dnf-context.cpp:3170 libdnf/dnf-context.cpp:3179 -+#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187 - #, c-format - msgid "Cannot enable more streams from module '%s' at the same time" --msgstr "Impossible d’activer plus de flux du module « %s » en même temps" -+msgstr "Ne peut pas activer plus de flux du module '%s' en même temps" - --#: libdnf/dnf-context.cpp:3188 libdnf/dnf-context.cpp:3206 -+#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214 - #, c-format - msgid "" - "Cannot enable module '%1$s' stream '%2$s': State of module already modified" - msgstr "" --"Impossible d'activer le module « %1$s » flux « %2$s » : Etat du module déjà " --"modifié" -+"Impossible d'activer le flux de module '%1$s' stream '%2$s' : état du module " -+"déjà modifié" - --#: libdnf/dnf-context.cpp:3253 -+#: libdnf/dnf-context.cpp:3263 - #, c-format - msgid "Modular dependency problem with Defaults: %s" --msgstr "Problème de dépendance Modular avec Defaults : %s" -+msgstr "Problème de dépendance modulaire avec les valeurs par défaut : %s" - --#: libdnf/dnf-context.cpp:3256 -+#: libdnf/dnf-context.cpp:3266 - #, c-format - msgid "Modular dependency problem with the latest modules: %s" --msgstr "Problème de dépendance modulaire avec les derniers modules : %s" -+msgstr "Problème de dépendance modulaire avec les derniers modules : %s" - --#: libdnf/dnf-context.cpp:3260 -+#: libdnf/dnf-context.cpp:3270 - #, c-format - msgid "Modular dependency problem: %s" --msgstr "Problème de dépendances Modular : %s" -+msgstr "Problème de dépendance modulaire : %s" - --#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318 --#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368 --#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416 --#: libdnf/dnf-context.cpp:3460 libdnf/dnf-context.cpp:3470 -+#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317 -+#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367 -+#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415 -+#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474 - #, c-format - msgid "Unable to resolve argument '%s'" --msgstr "Impossible de résoudre l’argument « %s »" -+msgstr "Impossible de résoudre le paramètre ’%s’" - --#: libdnf/dnf-context.cpp:3301 -+#: libdnf/dnf-context.cpp:3300 - #, c-format - msgid "" --"Only module name is required. Ignoring unneeded information in argument: " --"'%s'" -+"Only module name is required. Ignoring unneeded information in argument: '%s'" - msgstr "" - "Seul le nom du module est nécessaire. Les paramètres inutiles ont été " --"ignorés : « %s »" -+"ignorés : ’%s’" - --#: libdnf/dnf-context.cpp:3315 -+#: libdnf/dnf-context.cpp:3314 - #, c-format - msgid "Cannot reset module '%s': State of module already modified" - msgstr "" --"Impossible de réinitialiser le module « %s » : Etat du module déjà modifié" -+"Impossible de réinitialiser le module '%s' : État du module déjà modifié" - --#: libdnf/dnf-context.cpp:3326 -+#: libdnf/dnf-context.cpp:3325 - #, c-format - msgid "Cannot disable module '%s': State of module already modified" --msgstr "" --"Impossible de désactiver le module « %s » : Etat du module déjà modifié" -+msgstr "Impossible de désactiver le module '%s' : État du module déjà modifié" - --#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3449 --#: libdnf/dnf-context.cpp:3559 -+#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452 -+#: libdnf/dnf-context.cpp:3633 - msgid "No modular data available" - msgstr "Aucune donnée modulaire disponible" - --#: libdnf/dnf-context.cpp:3374 -+#: libdnf/dnf-context.cpp:3373 - #, c-format - msgid "Ignoring unneeded information in argument: '%s'" --msgstr "Ces informations inutiles ont été ignorées dans l'argument : « %s »" -+msgstr "Ignorer les informations inutiles dans l'argumentation : '%s'" - --#: libdnf/dnf-context.cpp:3412 -+#: libdnf/dnf-context.cpp:3411 - #, c-format - msgid "" - "Problem during enablement of dependency tree for module '%1$s' stream " - "'%2$s': %3$s" - msgstr "" --"Problème durant l'activation de l'arbre de dépendances pour le module « %1$s" --" » du flux « %2$s » : %3$s" -+"Problème lors de l'activation de l'arbre des dépendances pour le module " -+"'%1$s' flux '%2$s' : %3$s" - --#: libdnf/dnf-context.cpp:3424 --msgid "Problems appeared for module enable request" --msgstr "Des problèmes sont apparus durant la requête d’activation du module" -+#: libdnf/dnf-context.cpp:3423 -+msgid "Problems appeared for module enable request:" -+msgstr "Des problèmes sont apparus pour la demande d'activation du module :" -+ -+#: libdnf/dnf-context.cpp:3518 -+#, c-format -+msgid "No active module packages found for module spec '%s'" -+msgstr "Aucun paquetage de module actif n'a été trouvé pour le module spec '%s'" - --#. this really should never happen; unless the modular repodata is corrupted --#: libdnf/dnf-context.cpp:3496 -+#: libdnf/dnf-context.cpp:3523 - #, c-format --msgid "Failed to parse module artifact NEVRA '%s'" --msgstr "Échec de l’analyse du module d’artéfact NEVRA : %s" -+msgid "Cannot install module '%s' from fail-safe repository" -+msgstr "Impossible d'installer le module '%s' à partir du dépôt de sécurité" - - #: libdnf/dnf-context.cpp:3530 --msgid "Problems appeared for module install request" --msgstr "Des problèmes sont apparus durant la requête d’installation du module" -+#, c-format -+msgid "No profile found matching '%s'" -+msgstr "Aucun profil trouvé correspondant à '%s'" - --#: libdnf/dnf-context.cpp:3590 --msgid "Problems appeared for module reset request" --msgstr "" --"Des problèmes sont apparus durant la requête de réinitialisation du module" -+#: libdnf/dnf-context.cpp:3584 -+#, c-format -+msgid "No match for package '%s' for module spec %s" -+msgstr "Aucune correspondance pour le paquet '%s' pour le module spec %s" -+ -+#: libdnf/dnf-context.cpp:3595 -+#, c-format -+msgid "Problem during install for module '%1$s' stream '%2$s': %3$s" -+msgstr "Problème lors de l'installation du module '%1$s' stream '%2$s' : %3$s" -+ -+#: libdnf/dnf-context.cpp:3604 -+msgid "Problems appeared for module install request:" -+msgstr "Des problèmes sont apparus pour la demande d'installation du module :" - --#: libdnf/dnf-context.cpp:3592 --msgid "Problems appeared for module disable request" -+#: libdnf/dnf-context.cpp:3663 -+msgid "Problems appeared for module reset request:" - msgstr "" --"Des problèmes sont apparus durant la requête de désactivation du module" -+"Des problèmes sont apparus pour la demande de réinitialisation des modules :" - --#: libdnf/dnf-context.cpp:3628 -+#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723 -+msgid "Problems appeared for module disable request:" -+msgstr "Des problèmes sont apparus pour la demande de désactivation du module :" -+ -+#: libdnf/dnf-context.cpp:3755 - #, c-format - msgid "" --"The operation would result in switching of module '%s' stream '%s' to stream" --" '%s'" -+"The operation would result in switching of module '%s' stream '%s' to stream " -+"'%s'" - msgstr "" --"Le résultat de l’opération sera le basculement du flux « %s » du module " --"« %s » vers le flux « %s »" -+"Le résultat de l’opération sera le basculement du flux « %s » du module « %s " -+"» vers le flux « %s »" - --#: libdnf/dnf-context.cpp:3632 -+#: libdnf/dnf-context.cpp:3759 - 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 'microdnf 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 'microdnf module reset ' command. After you " -+"reset the module, you can install the other stream." - msgstr "" --"Il n’est pas possible de basculer les flux actifs d’un module.\n" --"Il est recommandé de retirer tout le contenu installé du module, et de réinitialiser le module en utilisant la commande « dnf module reset ». Après la réinitialisation, vous pourrez installer les autres flux." -+"Il n’est pas possible de basculer les flux actifs d’un module. \n" -+"Il est recommandé de retirer tout contenu installé par le module, et de " -+"réinitialiser le mode en utilisant la commande 'microdnf module reset " -+"’. Après la réinitialisation du module, vous pouvez installer " -+"les autres flux." - --#: libdnf/dnf-goal.cpp:85 -+#: libdnf/dnf-goal.cpp:107 - msgid "Could not depsolve transaction; " - msgstr "Impossible de depsolve la transaction ; " - --#: libdnf/dnf-goal.cpp:87 -+#: libdnf/dnf-goal.cpp:109 - #, c-format - msgid "%i problem detected:\n" - msgid_plural "%i problems detected:\n" - msgstr[0] "%i problème détecté :\n" - msgstr[1] "%i problèmes détectés :\n" - --#: libdnf/dnf-goal.cpp:95 -+#: libdnf/dnf-goal.cpp:117 - #, c-format - msgid " Problem %1$i: %2$s\n" - msgstr " Problème %1$i : %2$s\n" - --#: libdnf/dnf-goal.cpp:97 -+#: libdnf/dnf-goal.cpp:119 - #, c-format - msgid " Problem: %s\n" - msgstr " Problème : %s\n" -@@ -308,84 +331,84 @@ msgstr "n’a pas pu trouver le package %s" - msgid "could not add erase element %1$s(%2$i)" - msgstr "n’a pas pu ajouter d’élément pour effacer %1$s(%2$i)" - --#: libdnf/dnf-sack.cpp:395 -+#: libdnf/dnf-sack.cpp:394 - msgid "failed to add solv" - msgstr "n’a pu ajouter solv" - --#: libdnf/dnf-sack.cpp:414 -+#: libdnf/dnf-sack.cpp:413 - #, c-format - msgid "no %1$s string for %2$s" - msgstr "aucune chaine %1$s pour %2$s" - --#: libdnf/dnf-sack.cpp:424 -+#: libdnf/dnf-sack.cpp:423 - #, c-format - msgid "failed to open: %s" - msgstr "n’a pas pu ouvrir : %s" - --#: libdnf/dnf-sack.cpp:503 -+#: libdnf/dnf-sack.cpp:502 - #, c-format - msgid "cannot create temporary file: %s" - msgstr "n’a pas pu créer le fichier temporaire : %s" - --#: libdnf/dnf-sack.cpp:513 -+#: libdnf/dnf-sack.cpp:512 - #, c-format - msgid "failed opening tmp file: %s" - msgstr "n’a pas pu ouvrir le fichier tmp : %s" - --#: libdnf/dnf-sack.cpp:525 -+#: libdnf/dnf-sack.cpp:524 - #, c-format - msgid "write_main() failed writing data: %i" - msgstr "write_main() n’a pu écrire les données : %i" - --#: libdnf/dnf-sack.cpp:542 -+#: libdnf/dnf-sack.cpp:541 - msgid "write_main() failed to re-load written solv file" - msgstr "write_main() n’a pas pu charger à nouveau le fichier solv" - --#: libdnf/dnf-sack.cpp:607 -+#: libdnf/dnf-sack.cpp:606 - #, c-format - msgid "can not create temporary file %s" - msgstr "n’a pas pu créer le fichier temporaire %s" - --#: libdnf/dnf-sack.cpp:625 -+#: libdnf/dnf-sack.cpp:624 - #, c-format - msgid "write_ext(%1$d) has failed: %2$d" - msgstr "write_ext(%1$d) a échoué : %2$d" - --#: libdnf/dnf-sack.cpp:680 -+#: libdnf/dnf-sack.cpp:679 - msgid "null repo md file" --msgstr "null repo md file" -+msgstr "fichier md de dépôt nul" - --#: libdnf/dnf-sack.cpp:689 -+#: libdnf/dnf-sack.cpp:688 - #, c-format - msgid "can not read file %1$s: %2$s" - msgstr "n’a pu lire le fichier %1$s : %2$s" - --#: libdnf/dnf-sack.cpp:703 -+#: libdnf/dnf-sack.cpp:702 - msgid "repo_add_solv() has failed." - msgstr "repo_add_solv() a échoué." - --#: libdnf/dnf-sack.cpp:716 -+#: libdnf/dnf-sack.cpp:715 - msgid "loading of MD_TYPE_PRIMARY has failed." - msgstr "échec du chargement du MD_TYPE_PRIMARY." - --#: libdnf/dnf-sack.cpp:729 -+#: libdnf/dnf-sack.cpp:728 - msgid "repo_add_repomdxml/rpmmd() has failed." - msgstr "repo_add_repomdxml/rpmmd() a échoué." - --#: libdnf/dnf-sack.cpp:796 -+#: libdnf/dnf-sack.cpp:795 - msgid "failed to auto-detect architecture" - msgstr "n’a pu auto-détecter l’architecture" - --#: libdnf/dnf-sack.cpp:961 -+#: libdnf/dnf-sack.cpp:960 - #, c-format - msgid "failed creating cachedir %s" - msgstr "n’a pu créer le cachedir %s" - --#: libdnf/dnf-sack.cpp:1738 -+#: libdnf/dnf-sack.cpp:1737 - msgid "failed loading RPMDB" - msgstr "n’a pu télécharger RPMDB" - --#: libdnf/dnf-sack.cpp:2462 -+#: libdnf/dnf-sack.cpp:2521 - #, c-format - msgid "No module defaults found: %s" - msgstr "Aucun module par défaut n’a été trouvé : %s" -@@ -414,68 +437,78 @@ msgstr "effectué sur un état %1$p qui n’avait pas de taille définie [%2$s]" - msgid "already at 100%% state [%s]" - msgstr "déjà en état à 100%% [%s]" - --#: libdnf/dnf-transaction.cpp:300 -+#: libdnf/dnf-transaction.cpp:302 - #, c-format - msgid "Sources not set when trying to ensure package %s" - msgstr "Sources non définies quand vous essayez d’assurer paquet %s" - --#: libdnf/dnf-transaction.cpp:326 -+#: libdnf/dnf-transaction.cpp:328 - #, c-format - msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)" - msgstr "N’a pu assurer %1$s comme dépôt %2$s non trouvé (%3$i dépôts chargés)" - --#: libdnf/dnf-transaction.cpp:367 -+#: libdnf/dnf-transaction.cpp:369 - msgid "Failed to check untrusted: " - msgstr "Échec de la vérification d’untrusted : " - --#: libdnf/dnf-transaction.cpp:377 -+#: libdnf/dnf-transaction.cpp:379 - #, c-format - msgid "Downloaded file for %s not found" - msgstr "Fichier téléchargé pour %s non trouvé" - --#: libdnf/dnf-transaction.cpp:397 -+#: libdnf/dnf-transaction.cpp:399 - #, c-format - msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" - msgstr "" - "le paquet %1$s ne peut être vérifié et le dépôt %2$s est activé GPG : %3$s" - --#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 -+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905 - msgid "Failed to get value for CacheDir" - msgstr "N’a pas pu obtenir la valeur de CacheDir" - --#: libdnf/dnf-transaction.cpp:911 -+#: libdnf/dnf-transaction.cpp:913 - #, c-format - msgid "Failed to get filesystem free size for %s: " - msgstr "" - "Échec de l’obtention de l’espace libre du système de fichiers pour %s : " - --#: libdnf/dnf-transaction.cpp:919 -+#: libdnf/dnf-transaction.cpp:921 - #, c-format - msgid "Failed to get filesystem free size for %s" - msgstr "N’a pas pu obtenir la taille libre du système de fichiers pour %s" - --#: libdnf/dnf-transaction.cpp:935 -+#: libdnf/dnf-transaction.cpp:937 - #, c-format - msgid "Not enough free space in %1$s: needed %2$s, available %3$s" - msgstr "" --"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible " --"%3$s" -+"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible %3$s" - --#: libdnf/dnf-transaction.cpp:1195 -+#: libdnf/dnf-transaction.cpp:1196 - msgid "failed to set root" - msgstr "n’a pu réussi à définir root" - --#: libdnf/dnf-transaction.cpp:1416 -+#: libdnf/dnf-transaction.cpp:1417 - #, c-format - msgid "Error %i running transaction test" - msgstr "Erreur %i lors du test transactionnel" - --#: libdnf/dnf-transaction.cpp:1456 -+#: libdnf/dnf-transaction.cpp:1441 -+#, c-format -+msgid "Error %i opening rpm database" -+msgstr "Erreur %i lors de l’ouverture de la base de données rpm" -+ -+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495 -+msgid "The rpmdbCookie() function did not return cookie of rpm database." -+msgstr "" -+"La fonction rpmdbCookie() n'a pas retourné le cookie de la base de données " -+"rpm." -+ -+#: libdnf/dnf-transaction.cpp:1464 - #, c-format - msgid "Error %i running transaction" - msgstr "Erreur %i pendant la transaction" - --#: libdnf/dnf-transaction.cpp:1472 -+#: libdnf/dnf-transaction.cpp:1480 - #, c-format - msgid "Transaction did not go to writing phase, but returned no error(%i)" - msgstr "" -@@ -501,8 +534,7 @@ msgstr "" - #: libdnf/goal/Goal.cpp:79 - msgid "Ill-formed Selector used for the operation, incorrect comparison type" - msgstr "" --"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison " --"incorrecte" -+"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison incorrecte" - - #: libdnf/goal/Goal.cpp:90 libdnf/goal/Goal.cpp:117 - msgid " does not belong to a distupgrade repository" -@@ -690,42 +722,42 @@ msgstr "le module %s est en conflit avec %s fourni par lui-même" - msgid "both module %s and %s obsolete %s" - msgstr "à la fois le module %s et %s rendent obsolète %s" - --#: libdnf/goal/Goal.cpp:1055 -+#: libdnf/goal/Goal.cpp:1141 - msgid "no solver set" - msgstr "aucun solveur défini" - --#: libdnf/goal/Goal.cpp:1060 -+#: libdnf/goal/Goal.cpp:1146 - #, c-format - msgid "failed to make %s absolute" - msgstr "n’a pas pu rendre %s absolu" - --#: libdnf/goal/Goal.cpp:1067 -+#: libdnf/goal/Goal.cpp:1153 - #, c-format - msgid "failed writing debugdata to %1$s: %2$s" - msgstr "échec de l’écriture des debugdata dans %1$s : %2$s" - --#: libdnf/goal/Goal.cpp:1079 -+#: libdnf/goal/Goal.cpp:1165 - msgid "no solv in the goal" - msgstr "pas de solv dans l’objectif" - --#: libdnf/goal/Goal.cpp:1081 -+#: libdnf/goal/Goal.cpp:1167 - msgid "no solution, cannot remove protected package" - msgstr "aucune solution, n’a pas pu supprimer le package protégé" - --#: libdnf/goal/Goal.cpp:1084 -+#: libdnf/goal/Goal.cpp:1170 - msgid "no solution possible" - msgstr "aucune solution n’est possible" - --#: libdnf/goal/Goal.cpp:1210 -+#: libdnf/goal/Goal.cpp:1296 - msgid "Problem: " --msgstr "Problème : " -+msgstr "Problème : " - --#: libdnf/goal/Goal.cpp:1215 -+#: libdnf/goal/Goal.cpp:1301 - #, c-format - msgid "Problem %d: " --msgstr "Problème %d : " -+msgstr "Probléme %d : " - --#: libdnf/goal/Goal.cpp:1542 -+#: libdnf/goal/Goal.cpp:1634 - msgid "" - "The operation would result in removing the following protected packages: " - msgstr "" -@@ -751,33 +783,33 @@ msgstr "impossible de créer le dossier %1$s : %2$s" - msgid "cannot stat path %1$s: %2$s" - msgstr "impossible de stat le chemin %1$s : %2$s" - --#: libdnf/module/ModulePackage.cpp:573 -+#: libdnf/module/ModulePackage.cpp:604 - #, c-format - msgid "Invalid format of Platform module: %s" - msgstr "Format invalide du module de plateforme : %s" - --#: libdnf/module/ModulePackage.cpp:588 -+#: libdnf/module/ModulePackage.cpp:619 - msgid "Multiple module platforms provided by available packages\n" - msgstr "" - "De multiples modules de plateformes sont fournis par les paquets " - "disponibles\n" - --#: libdnf/module/ModulePackage.cpp:601 -+#: libdnf/module/ModulePackage.cpp:632 - msgid "Multiple module platforms provided by installed packages\n" - msgstr "" - "De multiples modules de plateformes sont fournis par les paquets installés\n" - --#: libdnf/module/ModulePackage.cpp:628 -+#: libdnf/module/ModulePackage.cpp:659 - #, c-format - msgid "Detection of Platform Module in %s failed: %s" - msgstr "La détection des modules de plateformes dans %s a échoué : %s" - --#: libdnf/module/ModulePackage.cpp:637 -+#: libdnf/module/ModulePackage.cpp:668 - #, c-format - msgid "Missing PLATFORM_ID in %s" - msgstr "L'identifiant de la platforme est manquant dans %s" - --#: libdnf/module/ModulePackage.cpp:642 -+#: libdnf/module/ModulePackage.cpp:673 - msgid "No valid Platform ID detected" - msgstr "Aucun identifiant de plateforme n'a été détecté" - -@@ -791,69 +823,68 @@ msgstr "Impossible d’activer les flux pour le module « %s »" - msgid "Conflicting defaults with repo '%s': %s" - msgstr "Valeurs par défaut en conflit avec le dépôt « %s » : %s" - --#: libdnf/module/ModulePackageContainer.cpp:918 -+#: libdnf/module/ModulePackageContainer.cpp:917 - msgid "Installing module profiles:\n" --msgstr "Installation des profils de module :\n" -+msgstr "Installation des profils de module :\n" - --#: libdnf/module/ModulePackageContainer.cpp:933 -+#: libdnf/module/ModulePackageContainer.cpp:932 - msgid "Disabling module profiles:\n" --msgstr "Désactivation des profils de module\n" -+msgstr "Désactivation des profils de module :\n" - --#: libdnf/module/ModulePackageContainer.cpp:948 -+#: libdnf/module/ModulePackageContainer.cpp:947 - msgid "Enabling module streams:\n" --msgstr "Activation des flux de modules :\n" -+msgstr "Activation des flux de modules :\n" - --#: libdnf/module/ModulePackageContainer.cpp:962 -+#: libdnf/module/ModulePackageContainer.cpp:961 - msgid "Switching module streams:\n" --msgstr "Basculement des flux de modules :\n" -+msgstr "Basculement des flux de modules :\n" - --#: libdnf/module/ModulePackageContainer.cpp:980 -+#: libdnf/module/ModulePackageContainer.cpp:979 - msgid "Disabling modules:\n" --msgstr "Désactivation des modules :\n" -+msgstr "Désactivation des modules :\n" - --#: libdnf/module/ModulePackageContainer.cpp:991 -+#: libdnf/module/ModulePackageContainer.cpp:990 - msgid "Resetting modules:\n" --msgstr "Réinitialisation des modules :\n" -+msgstr "Réinitialisation des modules :\n" - --#: libdnf/module/ModulePackageContainer.cpp:1674 -+#: libdnf/module/ModulePackageContainer.cpp:1704 - #, c-format - msgid "Unable to load modular Fail-Safe data at '%s'" - msgstr "Impossible de charger les données de sécurité à « %s »" - --#: libdnf/module/ModulePackageContainer.cpp:1680 -+#: libdnf/module/ModulePackageContainer.cpp:1710 - #, c-format - msgid "Unable to load modular Fail-Safe data for module '%s:%s'" - msgstr "" - "Impossible de charger les données de sécurité modulaires pour le module " - "« %s : %s »" - --#: libdnf/module/ModulePackageContainer.cpp:1763 -+#: libdnf/module/ModulePackageContainer.cpp:1791 - #, c-format - msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" - msgstr "" - "Impossible de créer le dossier « %s » pour les données de sécurité " - "modulaires : %s" - --#: libdnf/module/ModulePackageContainer.cpp:1779 -+#: libdnf/module/ModulePackageContainer.cpp:1807 - #, c-format - msgid "Unable to save a modular Fail Safe data to '%s'" - msgstr "" - "Impossible d’enregistrer les données de sécurité modulaires vers « %s »" - --#: libdnf/module/ModulePackageContainer.cpp:1802 -+#: libdnf/module/ModulePackageContainer.cpp:1830 - #, c-format - msgid "Unable to remove a modular Fail Safe data in '%s'" --msgstr "" --"Impossible de supprimer les données de sécurité modulaires dans « %s »" -+msgstr "Impossible de supprimer les données de sécurité modulaires dans « %s »" - --#: libdnf/module/ModulePackageContainer.cpp:1834 -+#: libdnf/module/ModulePackageContainer.cpp:1862 - #, c-format - msgid "" - "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " - "disabled" - msgstr "" --"Impossible d'appliquer les obsolescences modulaires à « %s:%s » car le " --"module cible « %s » est désactivé" -+"Impossible d'appliquer les obsolètes modulaires à '%s:%s' car le module " -+"cible '%s' est désactivé" - - #: libdnf/module/modulemd/ModuleMetadata.cpp:86 - #, c-format -@@ -881,12 +912,12 @@ msgstr "Échec de la mise à jour des paramètres par défaut : %s" - msgid "Failed to upgrade streams: %s" - msgstr "Échec de la mise à jour des flux : %s" - --#: libdnf/module/modulemd/ModuleMetadata.cpp:219 -+#: libdnf/module/modulemd/ModuleMetadata.cpp:221 - #, c-format - msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" - msgstr "" --"Impossible de récupérer les obsolescences modulaires aucun flux ne " --"correspond à « %s:%s »" -+"Impossible de récupérer les modules obsolètes car aucune correspondance de " -+"flux %s : %s" - - #: libdnf/plugin/plugin.cpp:46 - #, c-format -@@ -931,8 +962,8 @@ msgid "" - "operator instead." - msgstr "" - "L’utilisation de l’opérateur « == » dans reldeps peut entraîner un " --"comportement indéfini. Il est déprécié et le support sera abandonné dans les" --" prochaines versions. Utilisez plutôt l’opérateur « = »." -+"comportement indéfini. Il est déprécié et le support sera abandonné dans les " -+"prochaines versions. Utilisez plutôt l’opérateur « = »." - - #: libdnf/repo/Repo.cpp:321 - #, c-format -@@ -946,15 +977,15 @@ msgstr "" - "Le dépôt « %s » n’a pas de type pris en charge : « type=%s », passer outre." - - #: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 --#: libdnf/repo/Repo.cpp:1382 -+#: libdnf/repo/Repo.cpp:1400 - #, c-format - msgid "repo '%s': 'basecachedir' is not set" --msgstr "dépôt « %s » : 'basecachedir' n'est pas défini" -+msgstr "repo '%s' : 'basecachedir' n'est pas fixé" - - #: libdnf/repo/Repo.cpp:512 - msgid "" --"Maximum download speed is lower than minimum. Please change configuration of" --" minrate or throttle" -+"Maximum download speed is lower than minimum. Please change configuration of " -+"minrate or throttle" - msgstr "" - "La vitesse de téléchargement maximale est plus basse que le minimum. " - "Veuillez modifier les paramètres minrate ou throttle" -@@ -962,11 +993,13 @@ msgstr "" - #: libdnf/repo/Repo.cpp:546 - #, c-format - msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" --msgstr "dépôt « %s » : 'proxy_username' est défini mais pas 'proxy_password'" -+msgstr "repo '%s' : 'proxy_username' est défini mais pas 'proxy_password'" - - #: libdnf/repo/Repo.cpp:548 - msgid "'proxy_username' is set but not 'proxy_password'" --msgstr "'proxy_username' est défini mais pas 'proxy_password'" -+msgstr "" -+"Le nom d'utilisateur \"proxy_username\" est défini mais pas le mot de passe " -+"\"proxy_password\"" - - #: libdnf/repo/Repo.cpp:629 - #, c-format -@@ -983,129 +1016,135 @@ msgstr "%s : gpgme_data_new_from_fd() : %s" - msgid "%s: gpgme_op_import(): %s" - msgstr "%s : gpgme_op_import() : %s" - --#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 -+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236 -+#: libdnf/repo/Repo.cpp:1279 -+#, c-format -+msgid "Cannot create repo temporary directory \"%s\": %s" -+msgstr "Impossible de créer le répertoire temporaire du dépôt « %s » : %s" -+ -+#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917 - #, c-format - msgid "%s: gpgme_ctx_set_engine_info(): %s" - msgstr "%s : gpgme_ctx_set_engine_info() : %s" - --#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 -+#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808 - #, c-format - msgid "can not list keys: %s" - msgstr "n’a pas pu lister les clés : %s" - --#: libdnf/repo/Repo.cpp:833 -+#: libdnf/repo/Repo.cpp:837 - #, c-format - msgid "Failed to retrieve GPG key for repo '%s': %s" - msgstr "Impossible de récupérer la clé GPG pour le dépôt « %s » : %s" - --#: libdnf/repo/Repo.cpp:886 -+#: libdnf/repo/Repo.cpp:890 - #, c-format - msgid "repo %s: 0x%s already imported" - msgstr "dépôt %s : 0x%s déjà importé" - --#: libdnf/repo/Repo.cpp:914 -+#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79 -+#, c-format -+msgid "Failed to create directory \"%s\": %d - %s" -+msgstr "Impossible de créer le répertoire \"%s« :%d - %s" -+ -+#: libdnf/repo/Repo.cpp:924 - #, c-format - msgid "repo %s: imported key 0x%s." - msgstr "dépôt %s : clé importée 0x%s." - --#: libdnf/repo/Repo.cpp:1162 -+#: libdnf/repo/Repo.cpp:1176 - #, c-format - msgid "reviving: repo '%s' skipped, no metalink." - msgstr "relance : dépôt « %s » ignoré, pas de méta-lien." - --#: libdnf/repo/Repo.cpp:1181 -+#: libdnf/repo/Repo.cpp:1195 - #, c-format - msgid "reviving: repo '%s' skipped, no usable hash." - msgstr "relance : dépôt « %s » ignoré, pas de hachage utilisable." - --#: libdnf/repo/Repo.cpp:1204 -+#: libdnf/repo/Repo.cpp:1218 - #, c-format - msgid "reviving: failed for '%s', mismatched %s sum." - msgstr "relance : échec pour « %s », la somme de %s ne correspond pas." - --#: libdnf/repo/Repo.cpp:1210 -+#: libdnf/repo/Repo.cpp:1224 - #, c-format - msgid "reviving: '%s' can be revived - metalink checksums match." - msgstr "" - "relance : « %s » peut être relancé - la somme de contrôle du méta-lien " - "correspond." - --#: libdnf/repo/Repo.cpp:1235 -+#: libdnf/repo/Repo.cpp:1253 - #, c-format - msgid "reviving: '%s' can be revived - repomd matches." - msgstr "relance : « %s » peut être relancé - le repomd correspond." - --#: libdnf/repo/Repo.cpp:1237 -+#: libdnf/repo/Repo.cpp:1255 - #, c-format - msgid "reviving: failed for '%s', mismatched repomd." - msgstr "relance : échec pour « %s », le repomd ne correspond pas." - --#: libdnf/repo/Repo.cpp:1255 -+#: libdnf/repo/Repo.cpp:1273 - #, c-format - msgid "Cannot create repo destination directory \"%s\": %s" - msgstr "Impossible de créer le répertoire de destination du dépôt « %s » : %s" - --#: libdnf/repo/Repo.cpp:1261 --#, c-format --msgid "Cannot create repo temporary directory \"%s\": %s" --msgstr "Impossible de créer le répertoire temporaire du dépôt « %s » : %s" -- --#: libdnf/repo/Repo.cpp:1275 -+#: libdnf/repo/Repo.cpp:1293 - #, c-format - msgid "Cannot create directory \"%s\": %s" - msgstr "Impossible de créer le répertoire « %s » : %s" - --#: libdnf/repo/Repo.cpp:1298 -+#: libdnf/repo/Repo.cpp:1316 - #, c-format - msgid "Cannot rename directory \"%s\" to \"%s\": %s" - msgstr "Impossible de renommer le répertoire « %s » en « %s » : %s" - --#: libdnf/repo/Repo.cpp:1321 -+#: libdnf/repo/Repo.cpp:1339 - #, c-format - msgid "repo: using cache for: %s" - msgstr "dépôt : utilisation du cache pour : %s" - --#: libdnf/repo/Repo.cpp:1333 -+#: libdnf/repo/Repo.cpp:1351 - #, c-format - msgid "Cache-only enabled but no cache for '%s'" - msgstr "« cache uniquement » activé, mais pas de cache pour « %s »" - --#: libdnf/repo/Repo.cpp:1337 -+#: libdnf/repo/Repo.cpp:1355 - #, c-format - msgid "repo: downloading from remote: %s" - msgstr "dépôt : téléchargement à distance en provenance de : %s" - --#: libdnf/repo/Repo.cpp:1344 -+#: libdnf/repo/Repo.cpp:1362 - #, c-format - msgid "Failed to download metadata for repo '%s': %s" - msgstr "Échec du téléchargement des métadonnées pour le dépôt « %s » : %s" - --#: libdnf/repo/Repo.cpp:1370 -+#: libdnf/repo/Repo.cpp:1388 - msgid "getCachedir(): Computation of SHA256 failed" - msgstr "getCachedir() : échec du calcul de SHA256" - --#: libdnf/repo/Repo.cpp:1398 -+#: libdnf/repo/Repo.cpp:1416 - #, c-format - msgid "Cannot create persistdir \"%s\": %s" - msgstr "Impossible de créer le dossier persistant « %s » : %s" - --#: libdnf/repo/Repo.cpp:1775 -+#: libdnf/repo/Repo.cpp:1793 - msgid "resume cannot be used simultaneously with the byterangestart param" - msgstr "" - "« resume » (reprise) ne peut pas être utilisé avec le paramètre " - "byterangestart" - --#: libdnf/repo/Repo.cpp:1792 -+#: libdnf/repo/Repo.cpp:1810 - #, c-format - msgid "PackageTarget initialization failed: %s" - msgstr "L’initialisation de Package Target a échoué : %s" - --#: libdnf/repo/Repo.cpp:1898 -+#: libdnf/repo/Repo.cpp:1916 - #, c-format - msgid "Cannot open %s: %s" - msgstr "impossible d’ouvrir %s : %s" - --#: libdnf/repo/Repo.cpp:1942 -+#: libdnf/repo/Repo.cpp:1960 - #, c-format - msgid "Log handler with id %ld doesn't exist" - msgstr "Log handler ayant pour id %ld n’existe pas" -@@ -1164,8 +1203,8 @@ msgid "Can't add console output to unsaved transaction" - msgstr "" - "Ne peut pas ajouter une sortie de console à une transaction non enregistrée" - -+#~ msgid "Failed to parse module artifact NEVRA '%s'" -+#~ msgstr "Échec de l'analyse de l'artefact de module '%s'" -+ - #~ msgid "Bad id for repo: %s, byte = %s %d" - #~ msgstr "ID erroné pour le dépôt : %s, byte = %s %d" -- --#~ msgid "failed calculating RPMDB checksum" --#~ msgstr "n’a pu calculer la somme de contrôle RPMDB" -diff --git a/po/ja.po b/po/ja.po -index 3d6f5c5b..de74c431 100644 ---- a/po/ja.po -+++ b/po/ja.po -@@ -1,20 +1,22 @@ - # Casey Jones , 2018. #zanata --# Ludek Janda , 2018. #zanata -+# Ludek Janda , 2018. #zanata, 2021. - # Casey Jones , 2020. -+# Sundeep Anand , 2021, 2022. - msgid "" - msgstr "" - "Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2021-05-16 09:18-0400\n" --"PO-Revision-Date: 2020-05-05 09:40+0000\n" --"Last-Translator: Casey Jones \n" --"Language-Team: Japanese \n" -+"POT-Creation-Date: 2022-02-28 10:38+0100\n" -+"PO-Revision-Date: 2022-03-02 10:16+0000\n" -+"Last-Translator: Sundeep Anand \n" -+"Language-Team: Japanese \n" - "Language: ja\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Plural-Forms: nplurals=1; plural=0;\n" --"X-Generator: Weblate 4.0.3\n" -+"X-Generator: Weblate 4.11\n" - - #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40 - msgid "no value specified" -@@ -41,16 +43,14 @@ msgid "invalid value" - msgstr "無効な値" - - #: libdnf/conf/ConfigMain.cpp:207 --#, fuzzy --#| msgid "'%s' is not an allowed value" - msgid "value 1 is not allowed" --msgstr "'%s' 値は許可されていない値です" -+msgstr "値 1 は許可されません" - - #: libdnf/conf/ConfigMain.cpp:209 - msgid "negative value is not allowed" --msgstr "" -+msgstr "負の値は許可されていません" - --#: libdnf/conf/ConfigMain.cpp:341 -+#: libdnf/conf/ConfigMain.cpp:343 - #, c-format - msgid "percentage '%s' is out of range" - msgstr "パーセンテージ '%s' が範囲外にあります" -@@ -79,12 +79,12 @@ msgstr "'%s' 値は許可されていない値です" - #: libdnf/conf/OptionNumber.cpp:73 - #, c-format - msgid "given value [%d] should be less than allowed value [%d]." --msgstr "指定された値 [%d] は許可された値 [%d]より小さくしてください" -+msgstr "指定された値 [%d] は許可された値 [%d]より小さくしてください。" - - #: libdnf/conf/OptionNumber.cpp:76 - #, c-format - msgid "given value [%d] should be greater than allowed value [%d]." --msgstr "指定された値 [%d] は許可された値 [%d]より大きくしてください" -+msgstr "指定された値 [%d] は許可された値 [%d]より大きくしてください。" - - #: libdnf/conf/OptionPath.cpp:78 - #, c-format -@@ -105,130 +105,158 @@ msgstr "'%s' を 秒に変換できません" - msgid "GetValue(): Value not set" - msgstr "GetValue(): 値は設定されていません" - --#: libdnf/dnf-context.cpp:3170 libdnf/dnf-context.cpp:3179 --#, fuzzy, c-format --#| msgid "Cannot enable multiple streams for module '%s'" -+#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187 -+#, c-format - msgid "Cannot enable more streams from module '%s' at the same time" --msgstr "モジュール '%s' の複数ストリームを有効化できません" -+msgstr "モジュール '%s' から、さらにストリームを同時に有効にできません" - --#: libdnf/dnf-context.cpp:3188 libdnf/dnf-context.cpp:3206 -+#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214 - #, c-format - msgid "" - "Cannot enable module '%1$s' stream '%2$s': State of module already modified" - msgstr "" -+"モジュール '%1$s' ストリーム '%2$s' を有効にできません。モジュールの状態はす" -+"でに変更されています" - --#: libdnf/dnf-context.cpp:3253 -+#: libdnf/dnf-context.cpp:3263 - #, c-format - msgid "Modular dependency problem with Defaults: %s" --msgstr "" -+msgstr "デフォルトのモジュラー依存問題: %s" - --#: libdnf/dnf-context.cpp:3256 --#, fuzzy, c-format --#| msgid "some dependency problem" -+#: libdnf/dnf-context.cpp:3266 -+#, c-format - msgid "Modular dependency problem with the latest modules: %s" --msgstr "いくつかの依存問題" -+msgstr "最新のモジュールでモジュールの依存関係の問題: %s" - --#: libdnf/dnf-context.cpp:3260 --#, fuzzy, c-format --#| msgid "some dependency problem" -+#: libdnf/dnf-context.cpp:3270 -+#, c-format - msgid "Modular dependency problem: %s" --msgstr "いくつかの依存問題" -+msgstr "モジュラーの依存に関する問題: %s" - --#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318 --#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368 --#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416 --#: libdnf/dnf-context.cpp:3460 libdnf/dnf-context.cpp:3470 --#, fuzzy, c-format --#| msgid "Failed to resolve: %s" -+#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317 -+#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367 -+#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415 -+#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474 -+#, c-format - msgid "Unable to resolve argument '%s'" --msgstr "名前解決に失敗しました: %s" -+msgstr "引数 '%s' を解決できません" - --#: libdnf/dnf-context.cpp:3301 -+#: libdnf/dnf-context.cpp:3300 - #, c-format - msgid "" --"Only module name is required. Ignoring unneeded information in argument: " --"'%s'" --msgstr "" -+"Only module name is required. Ignoring unneeded information in argument: '%s'" -+msgstr "モジュール名のみが必要です。引数の不必要な情報は無視します: '%s'" - --#: libdnf/dnf-context.cpp:3315 -+#: libdnf/dnf-context.cpp:3314 - #, c-format - msgid "Cannot reset module '%s': State of module already modified" - msgstr "" -+"モジュール '%s' をリセットできません。モジュールの状態はすでに変更されていま" -+"す" - --#: libdnf/dnf-context.cpp:3326 -+#: libdnf/dnf-context.cpp:3325 - #, c-format - msgid "Cannot disable module '%s': State of module already modified" - msgstr "" -+"モジュール '%s' を無効にできません。モジュールの状態はすでに変更されています" - --#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3449 --#: libdnf/dnf-context.cpp:3559 -+#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452 -+#: libdnf/dnf-context.cpp:3633 - msgid "No modular data available" --msgstr "" -+msgstr "モジュールデータは利用できません" - --#: libdnf/dnf-context.cpp:3374 -+#: libdnf/dnf-context.cpp:3373 - #, c-format - msgid "Ignoring unneeded information in argument: '%s'" --msgstr "" -+msgstr "引数の不要な情報は無視します: '%s'" - --#: libdnf/dnf-context.cpp:3412 -+#: libdnf/dnf-context.cpp:3411 - #, c-format - msgid "" - "Problem during enablement of dependency tree for module '%1$s' stream " - "'%2$s': %3$s" - msgstr "" -+"モジュール '%1$s' ストリーム '%2$s' の依存関係ツリーの有効化中に問題: %3$s" - --#: libdnf/dnf-context.cpp:3424 --msgid "Problems appeared for module enable request" --msgstr "" -+#: libdnf/dnf-context.cpp:3423 -+msgid "Problems appeared for module enable request:" -+msgstr "モジュール有効化リクエストに発生する問題:" - --#. this really should never happen; unless the modular repodata is corrupted --#: libdnf/dnf-context.cpp:3496 --#, fuzzy, c-format --#| msgid "Failed to upgrade defaults: %s" --msgid "Failed to parse module artifact NEVRA '%s'" --msgstr "デフォルトのアップグレードに失敗しました: %s" -+#: libdnf/dnf-context.cpp:3518 -+#, c-format -+msgid "No active module packages found for module spec '%s'" -+msgstr "モジュール仕様 '%s' " -+"について、アクティブなモジュールパッケージが見つかりません" -+ -+#: libdnf/dnf-context.cpp:3523 -+#, c-format -+msgid "Cannot install module '%s' from fail-safe repository" -+msgstr "フェイルセーフリポジトリーからモジュール '%s' をインストールできません" - - #: libdnf/dnf-context.cpp:3530 --msgid "Problems appeared for module install request" --msgstr "" -+#, c-format -+msgid "No profile found matching '%s'" -+msgstr "'%s' にマッチするプロファイルが見つかりません" - --#: libdnf/dnf-context.cpp:3590 --msgid "Problems appeared for module reset request" --msgstr "" -+#: libdnf/dnf-context.cpp:3584 -+#, c-format -+msgid "No match for package '%s' for module spec %s" -+msgstr "モジュール仕様 %s について、パッケージ '%s' にマッチする項目はありません" - --#: libdnf/dnf-context.cpp:3592 --msgid "Problems appeared for module disable request" --msgstr "" -+#: libdnf/dnf-context.cpp:3595 -+#, c-format -+msgid "Problem during install for module '%1$s' stream '%2$s': %3$s" -+msgstr "モジュール '%1$s' ストリーム '%2$s' のインストール中に問題: %3$s" -+ -+#: libdnf/dnf-context.cpp:3604 -+msgid "Problems appeared for module install request:" -+msgstr "モジュールインストールリクエストに発生する問題:" - --#: libdnf/dnf-context.cpp:3628 -+#: libdnf/dnf-context.cpp:3663 -+msgid "Problems appeared for module reset request:" -+msgstr "モジュールリセットリクエストに発生する問題:" -+ -+#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723 -+msgid "Problems appeared for module disable request:" -+msgstr "モジュール無効化リクエストに発生する問題:" -+ -+#: libdnf/dnf-context.cpp:3755 - #, c-format - msgid "" --"The operation would result in switching of module '%s' stream '%s' to stream" --" '%s'" -+"The operation would result in switching of module '%s' stream '%s' to stream " -+"'%s'" - msgstr "" -+"オペレーションは、モジュール '%s' ストリーム '%s' を ストリーム '%s' へと切り" -+"替える結果となります" - --#: libdnf/dnf-context.cpp:3632 -+#: libdnf/dnf-context.cpp:3759 - 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 'microdnf 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 'microdnf module reset ' command. After you " -+"reset the module, you can install the other stream." - msgstr "" -+"有効化されたモジュールのストリームの切り替えはできません。\n" -+"モジュールからすべてのインストールされたコンテンツを削除し、'microdnf module " -+"reset ' コマンドを使用してモジュールをリセットすることを推奨しま" -+"す。モジュールのリセット後に、別のストリームをインストールできます。" - --#: libdnf/dnf-goal.cpp:85 -+#: libdnf/dnf-goal.cpp:107 - msgid "Could not depsolve transaction; " - msgstr "トランザクションを depsolve できませんでした; " - --#: libdnf/dnf-goal.cpp:87 -+#: libdnf/dnf-goal.cpp:109 - #, c-format - msgid "%i problem detected:\n" - msgid_plural "%i problems detected:\n" - msgstr[0] "%i 問題を検出:\n" - --#: libdnf/dnf-goal.cpp:95 -+#: libdnf/dnf-goal.cpp:117 - #, c-format - msgid " Problem %1$i: %2$s\n" - msgstr " 問題 %1$i: %2$s\n" - --#: libdnf/dnf-goal.cpp:97 -+#: libdnf/dnf-goal.cpp:119 - #, c-format - msgid " Problem: %s\n" - msgstr " 問題: %s\n" -@@ -238,7 +266,9 @@ msgstr " 問題: %s\n" - msgid "" - "No available modular metadata for modular package '%s'; cannot be installed " - "on the system" --msgstr "モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにインストールはできません" -+msgstr "" -+"モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにイ" -+"ンストールはできません" - - #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166 - #, c-format -@@ -277,7 +307,8 @@ msgstr "トランザクションの実行中にエラーが発生しました: % - - #: libdnf/dnf-rpmts.cpp:283 - msgid "Error running transaction and no problems were reported!" --msgstr "トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!" -+msgstr "" -+"トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!" - - #: libdnf/dnf-rpmts.cpp:346 - msgid "Fatal error, run database recovery" -@@ -293,87 +324,87 @@ msgstr "パッケージ %s を見つけることができませんでした" - msgid "could not add erase element %1$s(%2$i)" - msgstr "erase 要素 %1$s(%2$i) を追加することができません" - --#: libdnf/dnf-sack.cpp:395 -+#: libdnf/dnf-sack.cpp:394 - msgid "failed to add solv" - msgstr "solv の追加に失敗しました" - --#: libdnf/dnf-sack.cpp:414 -+#: libdnf/dnf-sack.cpp:413 - #, c-format - msgid "no %1$s string for %2$s" - msgstr "%2$s の %1$s 文字列はありません" - --#: libdnf/dnf-sack.cpp:424 -+#: libdnf/dnf-sack.cpp:423 - #, c-format - msgid "failed to open: %s" - msgstr "開くことに失敗しました: %s" - --#: libdnf/dnf-sack.cpp:503 -+#: libdnf/dnf-sack.cpp:502 - #, c-format - msgid "cannot create temporary file: %s" - msgstr "一時ファイルを作成できません: %s" - --#: libdnf/dnf-sack.cpp:513 -+#: libdnf/dnf-sack.cpp:512 - #, c-format - msgid "failed opening tmp file: %s" - msgstr "tmp ファイルを開くことに失敗しました: %s" - --#: libdnf/dnf-sack.cpp:525 -+#: libdnf/dnf-sack.cpp:524 - #, c-format - msgid "write_main() failed writing data: %i" - msgstr "write_main() はデータの書き込みに失敗しました: %i" - --#: libdnf/dnf-sack.cpp:542 -+#: libdnf/dnf-sack.cpp:541 - msgid "write_main() failed to re-load written solv file" - msgstr "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました" - --#: libdnf/dnf-sack.cpp:607 -+#: libdnf/dnf-sack.cpp:606 - #, c-format - msgid "can not create temporary file %s" - msgstr "一時ファイル %s を作成できません" - --#: libdnf/dnf-sack.cpp:625 -+#: libdnf/dnf-sack.cpp:624 - #, c-format - msgid "write_ext(%1$d) has failed: %2$d" - msgstr "write_ext(%1$d) は失敗しました: %2$d" - --#: libdnf/dnf-sack.cpp:680 -+#: libdnf/dnf-sack.cpp:679 - msgid "null repo md file" - msgstr "null repo md ファイル" - --#: libdnf/dnf-sack.cpp:689 -+#: libdnf/dnf-sack.cpp:688 - #, c-format - msgid "can not read file %1$s: %2$s" - msgstr "ファイル %1$s を読み込みできません: %2$s" - --#: libdnf/dnf-sack.cpp:703 -+#: libdnf/dnf-sack.cpp:702 - msgid "repo_add_solv() has failed." - msgstr "repo_add_solv() は失敗しました。" - --#: libdnf/dnf-sack.cpp:716 -+#: libdnf/dnf-sack.cpp:715 - msgid "loading of MD_TYPE_PRIMARY has failed." - msgstr "MD_TYPE_PRIMARY のロードに失敗しました。" - --#: libdnf/dnf-sack.cpp:729 -+#: libdnf/dnf-sack.cpp:728 - msgid "repo_add_repomdxml/rpmmd() has failed." - msgstr "repo_add_repomdxml/rpmmd() は失敗しました。" - --#: libdnf/dnf-sack.cpp:796 -+#: libdnf/dnf-sack.cpp:795 - msgid "failed to auto-detect architecture" - msgstr "アーキテクチャーの自動検出に失敗しました" - --#: libdnf/dnf-sack.cpp:961 -+#: libdnf/dnf-sack.cpp:960 - #, c-format - msgid "failed creating cachedir %s" - msgstr "cachedir %s の作成に失敗しました" - --#: libdnf/dnf-sack.cpp:1738 -+#: libdnf/dnf-sack.cpp:1737 - msgid "failed loading RPMDB" - msgstr "RPMDB のロードに失敗しました" - --#: libdnf/dnf-sack.cpp:2462 -+#: libdnf/dnf-sack.cpp:2521 - #, c-format - msgid "No module defaults found: %s" --msgstr "" -+msgstr "モジュールのデフォルトは見つかりませんでした: %s" - - #: libdnf/dnf-state.cpp:1184 - #, c-format -@@ -399,67 +430,82 @@ msgstr "サイズ設定のない状態 %1$p で実行されました! [%2$s]" - msgid "already at 100%% state [%s]" - msgstr "すでに 100%% の状態 [%s] にあります" - --#: libdnf/dnf-transaction.cpp:300 -+#: libdnf/dnf-transaction.cpp:302 - #, c-format - msgid "Sources not set when trying to ensure package %s" - msgstr "パッケージ %s を確実にしようとする場合、ソースは設定されません" - --#: libdnf/dnf-transaction.cpp:326 -+#: libdnf/dnf-transaction.cpp:328 - #, c-format - msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)" --msgstr "repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo はロード済み)" -+msgstr "" -+"repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo " -+"はロード済み)" - --#: libdnf/dnf-transaction.cpp:367 -+#: libdnf/dnf-transaction.cpp:369 - msgid "Failed to check untrusted: " - msgstr "untrusted の確認に失敗しました: " - --#: libdnf/dnf-transaction.cpp:377 -+#: libdnf/dnf-transaction.cpp:379 - #, c-format - msgid "Downloaded file for %s not found" - msgstr "%s にダウンロードしたファイルが見つかりませんでした" - --#: libdnf/dnf-transaction.cpp:397 -+#: libdnf/dnf-transaction.cpp:399 - #, c-format - msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" --msgstr "パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s" -+msgstr "" -+"パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s" - --#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 -+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905 - msgid "Failed to get value for CacheDir" - msgstr "CacheDir の値の取得に失敗しました" - --#: libdnf/dnf-transaction.cpp:911 -+#: libdnf/dnf-transaction.cpp:913 - #, c-format - msgid "Failed to get filesystem free size for %s: " - msgstr "%s に filesystem をフリーサイズで取得することに失敗しました: " - --#: libdnf/dnf-transaction.cpp:919 -+#: libdnf/dnf-transaction.cpp:921 - #, c-format - msgid "Failed to get filesystem free size for %s" - msgstr "%s に filesystem をフリーサイズで取得することに失敗しました" - --#: libdnf/dnf-transaction.cpp:935 -+#: libdnf/dnf-transaction.cpp:937 - #, c-format - msgid "Not enough free space in %1$s: needed %2$s, available %3$s" --msgstr "%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です" -+msgstr "" -+"%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です" - --#: libdnf/dnf-transaction.cpp:1195 -+#: libdnf/dnf-transaction.cpp:1196 - msgid "failed to set root" - msgstr "root の設定に失敗しました" - --#: libdnf/dnf-transaction.cpp:1416 -+#: libdnf/dnf-transaction.cpp:1417 - #, c-format - msgid "Error %i running transaction test" - msgstr "トランザクションテストの実行中にエラー %i" - --#: libdnf/dnf-transaction.cpp:1456 -+#: libdnf/dnf-transaction.cpp:1441 -+#, c-format -+msgid "Error %i opening rpm database" -+msgstr "rpm データベースを開く際にエラー %i" -+ -+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495 -+msgid "The rpmdbCookie() function did not return cookie of rpm database." -+msgstr "rpmdbCookie() 関数は rpm データベースのクッキーを返しませんでした。" -+ -+#: libdnf/dnf-transaction.cpp:1464 - #, c-format - msgid "Error %i running transaction" - msgstr "トランザクションの実行中にエラー %i" - --#: libdnf/dnf-transaction.cpp:1472 -+#: libdnf/dnf-transaction.cpp:1480 - #, c-format - msgid "Transaction did not go to writing phase, but returned no error(%i)" --msgstr "トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しませんでした" -+msgstr "" -+"トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しま" -+"せんでした" - - #: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403 - #, c-format -@@ -567,7 +613,9 @@ msgstr "パッケージ %s は %s を廃止しました。これは %s により - #: libdnf/goal/Goal.cpp:109 - #, c-format - msgid "installed package %s obsoletes %s provided by %s" --msgstr "インストール済パッケージ %s は %s を廃止しました。これは %s により提供されます" -+msgstr "" -+"インストール済パッケージ %s は %s を廃止しました。これは %s により提供されま" -+"す" - - #: libdnf/goal/Goal.cpp:110 - #, c-format -@@ -577,7 +625,9 @@ msgstr "パッケージ %s は %s を暗に廃止しました。これは %s に - #: libdnf/goal/Goal.cpp:111 - #, c-format - msgid "package %s requires %s, but none of the providers can be installed" --msgstr "パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできません" -+msgstr "" -+"パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできま" -+"せん" - - #: libdnf/goal/Goal.cpp:112 - #, c-format -@@ -640,7 +690,9 @@ msgstr "モジュール %s は %s を廃止しました。これは %s により - #: libdnf/goal/Goal.cpp:136 - #, c-format - msgid "installed module %s obsoletes %s provided by %s" --msgstr "インストール済モジュール %s は %s を廃止しました。これは %s により提供されます" -+msgstr "" -+"インストール済モジュール %s は %s を廃止しました。これは %s により提供されま" -+"す" - - #: libdnf/goal/Goal.cpp:137 - #, c-format -@@ -650,7 +702,9 @@ msgstr "モジュール %s は %s を暗に廃止しました。これは %s に - #: libdnf/goal/Goal.cpp:138 - #, c-format - msgid "module %s requires %s, but none of the providers can be installed" --msgstr "モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできません" -+msgstr "" -+"モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできま" -+"せん" - - #: libdnf/goal/Goal.cpp:139 - #, c-format -@@ -662,45 +716,42 @@ msgstr "モジュール %s は自己提供される %s と競合しています" - msgid "both module %s and %s obsolete %s" - msgstr "モジュール %s と %s 両方は %s を廃止しました" - --#: libdnf/goal/Goal.cpp:1055 -+#: libdnf/goal/Goal.cpp:1141 - msgid "no solver set" - msgstr "設定されたソルバーはありません" - --#: libdnf/goal/Goal.cpp:1060 -+#: libdnf/goal/Goal.cpp:1146 - #, c-format - msgid "failed to make %s absolute" - msgstr "%s を絶対的にすることに失敗しました" - --#: libdnf/goal/Goal.cpp:1067 -+#: libdnf/goal/Goal.cpp:1153 - #, c-format - msgid "failed writing debugdata to %1$s: %2$s" - msgstr "debugdata を %1$s へ書き込むことに失敗しました: %2$s" - --#: libdnf/goal/Goal.cpp:1079 -+#: libdnf/goal/Goal.cpp:1165 - msgid "no solv in the goal" - msgstr "目標に solv がありません" - --#: libdnf/goal/Goal.cpp:1081 -+#: libdnf/goal/Goal.cpp:1167 - msgid "no solution, cannot remove protected package" - msgstr "ソリューションがなく、保護されたパッケージを削除できません" - --#: libdnf/goal/Goal.cpp:1084 -+#: libdnf/goal/Goal.cpp:1170 - msgid "no solution possible" - msgstr "可能なソリューションがありません" - --#: libdnf/goal/Goal.cpp:1210 --#, fuzzy --#| msgid " Problem: %s\n" -+#: libdnf/goal/Goal.cpp:1296 - msgid "Problem: " --msgstr "問題: %s " -+msgstr "問題: " - --#: libdnf/goal/Goal.cpp:1215 --#, fuzzy, c-format --#| msgid " Problem: %s\n" -+#: libdnf/goal/Goal.cpp:1301 -+#, c-format - msgid "Problem %d: " --msgstr "問題: %s " -+msgstr "問題 %d: " - --#: libdnf/goal/Goal.cpp:1542 -+#: libdnf/goal/Goal.cpp:1634 - msgid "" - "The operation would result in removing the following protected packages: " - msgstr "操作は結果的に以下の保護されたパッケージを削除します: " -@@ -725,30 +776,30 @@ msgstr "ディレクトリー %1$s を作成できません : %2$s" - msgid "cannot stat path %1$s: %2$s" - msgstr "パス %1$s のstatを調べられません : %2$s" - --#: libdnf/module/ModulePackage.cpp:573 -+#: libdnf/module/ModulePackage.cpp:604 - #, c-format - msgid "Invalid format of Platform module: %s" - msgstr "不正なプラットフォームモジュールのフォーマット: %s" - --#: libdnf/module/ModulePackage.cpp:588 -+#: libdnf/module/ModulePackage.cpp:619 - msgid "Multiple module platforms provided by available packages\n" - msgstr "利用可能パッケージに提供される複数のモジュールプラットフォーム\n" - --#: libdnf/module/ModulePackage.cpp:601 -+#: libdnf/module/ModulePackage.cpp:632 - msgid "Multiple module platforms provided by installed packages\n" - msgstr "インストール済パッケージに提供される複数のモジュールプラットフォーム\n" - --#: libdnf/module/ModulePackage.cpp:628 -+#: libdnf/module/ModulePackage.cpp:659 - #, c-format - msgid "Detection of Platform Module in %s failed: %s" - msgstr "%s のプラットフォームモジュールの検出に失敗しました: %s" - --#: libdnf/module/ModulePackage.cpp:637 -+#: libdnf/module/ModulePackage.cpp:668 - #, c-format - msgid "Missing PLATFORM_ID in %s" - msgstr "%s に PLATFORM_ID が見つかりません" - --#: libdnf/module/ModulePackage.cpp:642 -+#: libdnf/module/ModulePackage.cpp:673 - msgid "No valid Platform ID detected" - msgstr "有効な Platform ID が検出されませんでした" - -@@ -762,61 +813,65 @@ msgstr "モジュール '%s' の複数ストリームを有効化できません - msgid "Conflicting defaults with repo '%s': %s" - msgstr "repo '%s' のデフォルトが競合: %s" - --#: libdnf/module/ModulePackageContainer.cpp:918 -+#: libdnf/module/ModulePackageContainer.cpp:917 - msgid "Installing module profiles:\n" --msgstr "" -+msgstr "モジュールプロファイルのインストール中:\n" - --#: libdnf/module/ModulePackageContainer.cpp:933 -+#: libdnf/module/ModulePackageContainer.cpp:932 - msgid "Disabling module profiles:\n" --msgstr "" -+msgstr "モジュールプロファイルの無効化中:\n" - --#: libdnf/module/ModulePackageContainer.cpp:948 -+#: libdnf/module/ModulePackageContainer.cpp:947 - msgid "Enabling module streams:\n" --msgstr "" -+msgstr "モジュールストリームの有効化中:\n" - --#: libdnf/module/ModulePackageContainer.cpp:962 -+#: libdnf/module/ModulePackageContainer.cpp:961 - msgid "Switching module streams:\n" --msgstr "" -+msgstr "モジュールストリームの切り替え中:\n" - --#: libdnf/module/ModulePackageContainer.cpp:980 -+#: libdnf/module/ModulePackageContainer.cpp:979 - msgid "Disabling modules:\n" --msgstr "" -+msgstr "モジュールの無効化:\n" - --#: libdnf/module/ModulePackageContainer.cpp:991 -+#: libdnf/module/ModulePackageContainer.cpp:990 - msgid "Resetting modules:\n" --msgstr "" -+msgstr "モジュールの再設定中:\n" - --#: libdnf/module/ModulePackageContainer.cpp:1674 -+#: libdnf/module/ModulePackageContainer.cpp:1704 - #, c-format - msgid "Unable to load modular Fail-Safe data at '%s'" - msgstr "'%s' のモジュラーフェイルセーフデータをロードできません" - --#: libdnf/module/ModulePackageContainer.cpp:1680 -+#: libdnf/module/ModulePackageContainer.cpp:1710 - #, c-format - msgid "Unable to load modular Fail-Safe data for module '%s:%s'" - msgstr "モジュール '%s:%s' のモジュラーフェイルセーフデータをロードできません" - --#: libdnf/module/ModulePackageContainer.cpp:1763 -+#: libdnf/module/ModulePackageContainer.cpp:1791 - #, c-format - msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" --msgstr "ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: %s" -+msgstr "" -+"ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: " -+"%s" - --#: libdnf/module/ModulePackageContainer.cpp:1779 -+#: libdnf/module/ModulePackageContainer.cpp:1807 - #, c-format - msgid "Unable to save a modular Fail Safe data to '%s'" - msgstr "'%s' のモジュラーフェイルセーフデータを保存できません" - --#: libdnf/module/ModulePackageContainer.cpp:1802 -+#: libdnf/module/ModulePackageContainer.cpp:1830 - #, c-format - msgid "Unable to remove a modular Fail Safe data in '%s'" - msgstr "'%s' のモジュラーフェイルセーフデータを削除できません" - --#: libdnf/module/ModulePackageContainer.cpp:1834 -+#: libdnf/module/ModulePackageContainer.cpp:1862 - #, c-format - msgid "" - "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " - "disabled" - msgstr "" -+"ターゲットモジュール '%s' が無効であるため、モジュラーの廃止を '%s:%s' に適用" -+"できません" - - #: libdnf/module/modulemd/ModuleMetadata.cpp:86 - #, c-format -@@ -831,7 +886,7 @@ msgstr "名前解決に失敗しました: %s" - #: libdnf/module/modulemd/ModuleMetadata.cpp:115 - #, c-format - msgid "There were errors while resolving modular defaults: %s" --msgstr "" -+msgstr "モジュラーデフォルトの解決中にエラーが発生しました: %s" - - #: libdnf/module/modulemd/ModuleMetadata.cpp:120 - #, c-format -@@ -843,10 +898,11 @@ msgstr "デフォルトのアップグレードに失敗しました: %s" - msgid "Failed to upgrade streams: %s" - msgstr "ストリームのアップグレードに失敗しました: %s" - --#: libdnf/module/modulemd/ModuleMetadata.cpp:219 -+#: libdnf/module/modulemd/ModuleMetadata.cpp:221 - #, c-format - msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" - msgstr "" -+"%s に一致するストリームがないため、モジュールの廃止を取得できません: %s" - - #: libdnf/plugin/plugin.cpp:46 - #, c-format -@@ -889,6 +945,9 @@ msgid "" - "deprecated and the support will be dropped in future versions. Use '=' " - "operator instead." - msgstr "" -+"reldeps で '==' 演算子を使用すると、未定義の動作が発生する可能性があります。" -+"これは非推奨で、将来のバージョンではサポートされなくなります。代わりに '=' 演" -+"算子を使用してください。" - - #: libdnf/repo/Repo.cpp:321 - #, c-format -@@ -898,28 +957,35 @@ msgstr "リポジトリー %s にはミラーまたは baseurl セットがあ - #: libdnf/repo/Repo.cpp:330 - #, c-format - msgid "Repository '%s' has unsupported type: 'type=%s', skipping." --msgstr "リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッピング。" -+msgstr "" -+"リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッ" -+"ピング。" - - #: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 --#: libdnf/repo/Repo.cpp:1382 -+#: libdnf/repo/Repo.cpp:1400 - #, c-format - msgid "repo '%s': 'basecachedir' is not set" --msgstr "" -+msgstr "repo '%s': 'basecachedir' が設定されていません" - - #: libdnf/repo/Repo.cpp:512 - msgid "" --"Maximum download speed is lower than minimum. Please change configuration of" --" minrate or throttle" --msgstr "ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの設定を変更してください。" -+"Maximum download speed is lower than minimum. Please change configuration of " -+"minrate or throttle" -+msgstr "" -+"ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの" -+"設定を変更してください" - - #: libdnf/repo/Repo.cpp:546 - #, c-format - msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" - msgstr "" -+"repo '%s': 'proxy_username' は設定済みですが、'proxy_password' は設定されてい" -+"ません" - - #: libdnf/repo/Repo.cpp:548 - msgid "'proxy_username' is set but not 'proxy_password'" - msgstr "" -+"'proxy_username' は設定済みですが、'proxy_password' は設定されていません" - - #: libdnf/repo/Repo.cpp:629 - #, c-format -@@ -936,125 +1002,133 @@ msgstr "%s: gpgme_data_new_from_fd(): %s" - msgid "%s: gpgme_op_import(): %s" - msgstr "%s: gpgme_op_import(): %s" - --#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 -+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236 -+#: libdnf/repo/Repo.cpp:1279 -+#, c-format -+msgid "Cannot create repo temporary directory \"%s\": %s" -+msgstr "repo 一時ディレクトリー \"%s\" を作成できません: %s" -+ -+#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917 - #, c-format - msgid "%s: gpgme_ctx_set_engine_info(): %s" - msgstr "%s: gpgme_ctx_set_engine_info(): %s" - --#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 -+#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808 - #, c-format - msgid "can not list keys: %s" - msgstr "キーを一覧表示できません: %s" - --#: libdnf/repo/Repo.cpp:833 -+#: libdnf/repo/Repo.cpp:837 - #, c-format - msgid "Failed to retrieve GPG key for repo '%s': %s" - msgstr "repo '%s' のGPG鍵の回収に失敗しました : %s" - --#: libdnf/repo/Repo.cpp:886 -+#: libdnf/repo/Repo.cpp:890 - #, c-format - msgid "repo %s: 0x%s already imported" - msgstr "repo %s: 0x%s はインポート済みです" - --#: libdnf/repo/Repo.cpp:914 -+#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79 -+#, c-format -+msgid "Failed to create directory \"%s\": %d - %s" -+msgstr "ディレクトリー \"%s\" の作成に失敗しました: %d - %s" -+ -+#: libdnf/repo/Repo.cpp:924 - #, c-format - msgid "repo %s: imported key 0x%s." - msgstr "repo %s: インポート済みのキー 0x%s。" - --#: libdnf/repo/Repo.cpp:1162 -+#: libdnf/repo/Repo.cpp:1176 - #, c-format - msgid "reviving: repo '%s' skipped, no metalink." - msgstr "復元中: repo '%s' はスキップされました、metalink はありません。" - --#: libdnf/repo/Repo.cpp:1181 -+#: libdnf/repo/Repo.cpp:1195 - #, c-format - msgid "reviving: repo '%s' skipped, no usable hash." --msgstr "復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。" -+msgstr "" -+"復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。" - --#: libdnf/repo/Repo.cpp:1204 -+#: libdnf/repo/Repo.cpp:1218 - #, c-format - msgid "reviving: failed for '%s', mismatched %s sum." - msgstr "復元中: '%s' は失敗しました、%s の合計は一致しません。" - --#: libdnf/repo/Repo.cpp:1210 -+#: libdnf/repo/Repo.cpp:1224 - #, c-format - msgid "reviving: '%s' can be revived - metalink checksums match." - msgstr "復元中: '%s' は復元できます - metalink チェックサムが一致します。" - --#: libdnf/repo/Repo.cpp:1235 -+#: libdnf/repo/Repo.cpp:1253 - #, c-format - msgid "reviving: '%s' can be revived - repomd matches." - msgstr "復元中: '%s' は復元できます - repomd が一致します。" - --#: libdnf/repo/Repo.cpp:1237 -+#: libdnf/repo/Repo.cpp:1255 - #, c-format - msgid "reviving: failed for '%s', mismatched repomd." --msgstr "復元中: '%s' に失敗しました、repomd が一致しません。" -+msgstr "復元中: '%s' に失敗しました、repomd が一致しません。" - --#: libdnf/repo/Repo.cpp:1255 -+#: libdnf/repo/Repo.cpp:1273 - #, c-format - msgid "Cannot create repo destination directory \"%s\": %s" - msgstr "repo 送信先ディレクトリ \"%s\" を作成できません : %s" - --#: libdnf/repo/Repo.cpp:1261 --#, c-format --msgid "Cannot create repo temporary directory \"%s\": %s" --msgstr "repo 一時ディレクトリー \"%s\" を作成できません: %s" -- --#: libdnf/repo/Repo.cpp:1275 -+#: libdnf/repo/Repo.cpp:1293 - #, c-format - msgid "Cannot create directory \"%s\": %s" - msgstr "ディレクトリー \"%s\" を作成できません: %s" - --#: libdnf/repo/Repo.cpp:1298 -+#: libdnf/repo/Repo.cpp:1316 - #, c-format - msgid "Cannot rename directory \"%s\" to \"%s\": %s" - msgstr "ディレクトリー名を \"%s\" から \"%s\" へと変更できません: %s" - --#: libdnf/repo/Repo.cpp:1321 -+#: libdnf/repo/Repo.cpp:1339 - #, c-format - msgid "repo: using cache for: %s" - msgstr "repo: キャッシュを使用: %s" - --#: libdnf/repo/Repo.cpp:1333 -+#: libdnf/repo/Repo.cpp:1351 - #, c-format - msgid "Cache-only enabled but no cache for '%s'" --msgstr "キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません" -+msgstr "" -+"キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません" - --#: libdnf/repo/Repo.cpp:1337 -+#: libdnf/repo/Repo.cpp:1355 - #, c-format - msgid "repo: downloading from remote: %s" - msgstr "repo: リモートからダウンロード中: %s" - --#: libdnf/repo/Repo.cpp:1344 -+#: libdnf/repo/Repo.cpp:1362 - #, c-format - msgid "Failed to download metadata for repo '%s': %s" - msgstr "repo '%s' のメタデータのダウンロードに失敗しました : %s" - --#: libdnf/repo/Repo.cpp:1370 -+#: libdnf/repo/Repo.cpp:1388 - msgid "getCachedir(): Computation of SHA256 failed" - msgstr "getCachedir(): SHA256 のコンピュテーションに失敗しました" - --#: libdnf/repo/Repo.cpp:1398 -+#: libdnf/repo/Repo.cpp:1416 - #, c-format - msgid "Cannot create persistdir \"%s\": %s" - msgstr "persistdir \"%s\" を作成できません : %s" - --#: libdnf/repo/Repo.cpp:1775 -+#: libdnf/repo/Repo.cpp:1793 - msgid "resume cannot be used simultaneously with the byterangestart param" - msgstr "resume は byterangestart param と同時に使用できません" - --#: libdnf/repo/Repo.cpp:1792 -+#: libdnf/repo/Repo.cpp:1810 - #, c-format - msgid "PackageTarget initialization failed: %s" - msgstr "PackageTarget の初期化に失敗しました: %s" - --#: libdnf/repo/Repo.cpp:1898 -+#: libdnf/repo/Repo.cpp:1916 - #, c-format - msgid "Cannot open %s: %s" - msgstr "%s を開くことができません: %s" - --#: libdnf/repo/Repo.cpp:1942 -+#: libdnf/repo/Repo.cpp:1960 - #, c-format - msgid "Log handler with id %ld doesn't exist" - msgstr "id %ld を伴うログハンドラーは存在しません" -@@ -1084,6 +1158,7 @@ msgstr "完了したトランザクションにトランザクションアイテ - #: libdnf/transaction/Transformer.cpp:76 - msgid "Database Corrupted: no row 'version' in table 'config'" - msgstr "" -+"データベースが破損しています。テーブル 'config' の行 'version' がありません" - - #: libdnf/transaction/Transformer.cpp:681 - msgid "Transformer: can't open history persist dir" -@@ -1106,8 +1181,8 @@ msgstr "TransactionItem の状態は設定されていません: %s" - msgid "Can't add console output to unsaved transaction" - msgstr "未保存のトランザクションにコンソールの出力を追加できません" - -+#~ msgid "Failed to parse module artifact NEVRA '%s'" -+#~ msgstr "モジュールアーティファクト NEVRA '%s' の解析に失敗しました" -+ - #~ msgid "Bad id for repo: %s, byte = %s %d" - #~ msgstr "repo に対する不正な id: %s, byte = %s %d" -- --#~ msgid "failed calculating RPMDB checksum" --#~ msgstr "RPMDB チェックサムの計算に失敗しました" -diff --git a/po/ko.po b/po/ko.po -index 505d1e15..5c972958 100644 ---- a/po/ko.po -+++ b/po/ko.po -@@ -3,20 +3,22 @@ - # This file is distributed under the same license as the PACKAGE package. - # Ludek Janda , 2018. #zanata - # simmon , 2021. -+# Kim InSoo , 2022. - msgid "" - msgstr "" - "Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2021-05-16 09:18-0400\n" --"PO-Revision-Date: 2021-04-24 16:02+0000\n" --"Last-Translator: simmon \n" --"Language-Team: Korean \n" -+"POT-Creation-Date: 2022-02-28 10:38+0100\n" -+"PO-Revision-Date: 2022-03-01 07:37+0000\n" -+"Last-Translator: Kim InSoo \n" -+"Language-Team: Korean \n" - "Language: ko\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Plural-Forms: nplurals=1; plural=0;\n" --"X-Generator: Weblate 4.6\n" -+"X-Generator: Weblate 4.11\n" - - #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40 - msgid "no value specified" -@@ -44,13 +46,13 @@ msgstr "잘못된 값" - - #: libdnf/conf/ConfigMain.cpp:207 - msgid "value 1 is not allowed" --msgstr "값 1은 허용하지 않습니다" -+msgstr "값 1은 허용되지 않습니다" - - #: libdnf/conf/ConfigMain.cpp:209 - msgid "negative value is not allowed" --msgstr "음수 값은 허용하지 않습니다" -+msgstr "음수 값은 허용되지 않습니다" - --#: libdnf/conf/ConfigMain.cpp:341 -+#: libdnf/conf/ConfigMain.cpp:343 - #, c-format - msgid "percentage '%s' is out of range" - msgstr "백분율 '%s' 범위를 벗어났습니다" -@@ -105,127 +107,153 @@ msgstr "변환 할 수 없습니다 '%s'초까지" - msgid "GetValue(): Value not set" - msgstr "GetValue () : 값이 설정되지 않았습니다" - --#: libdnf/dnf-context.cpp:3170 libdnf/dnf-context.cpp:3179 -+#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187 - #, c-format - msgid "Cannot enable more streams from module '%s' at the same time" - msgstr "동시에 모듈 '%s’에서 다른 스트림을 활성화 할 수 없습니다" - --#: libdnf/dnf-context.cpp:3188 libdnf/dnf-context.cpp:3206 -+#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214 - #, c-format - msgid "" - "Cannot enable module '%1$s' stream '%2$s': State of module already modified" --msgstr "모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었습니다" -+msgstr "" -+"모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었" -+"습니다" - --#: libdnf/dnf-context.cpp:3253 -+#: libdnf/dnf-context.cpp:3263 - #, c-format - msgid "Modular dependency problem with Defaults: %s" - msgstr "기본설정에 모듈 의존성 문제: %s" - --#: libdnf/dnf-context.cpp:3256 -+#: libdnf/dnf-context.cpp:3266 - #, c-format - msgid "Modular dependency problem with the latest modules: %s" --msgstr "최신 모듈: %s 에 모듈러 의존성 문제" -+msgstr "최신 모듈에 모듈 의존성 문제: %s" - --#: libdnf/dnf-context.cpp:3260 -+#: libdnf/dnf-context.cpp:3270 - #, c-format - msgid "Modular dependency problem: %s" - msgstr "모듈러 의존성 문제: %s" - --#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318 --#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368 --#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416 --#: libdnf/dnf-context.cpp:3460 libdnf/dnf-context.cpp:3470 -+#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317 -+#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367 -+#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415 -+#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474 - #, c-format - msgid "Unable to resolve argument '%s'" - msgstr "인수 %s를 해결 할 수 없습니다" - --#: libdnf/dnf-context.cpp:3301 -+#: libdnf/dnf-context.cpp:3300 - #, c-format - msgid "" --"Only module name is required. Ignoring unneeded information in argument: " --"'%s'" -+"Only module name is required. Ignoring unneeded information in argument: '%s'" - msgstr "모듈 이름만 필요합니다. 인수에서 불필요한 정보를 무시합니다: '%s'" - --#: libdnf/dnf-context.cpp:3315 -+#: libdnf/dnf-context.cpp:3314 - #, c-format - msgid "Cannot reset module '%s': State of module already modified" - msgstr "모듈 '%s 를 재설정 할 수 없습니다: 모듈 상태가 이미 변경되었습니다" - --#: libdnf/dnf-context.cpp:3326 -+#: libdnf/dnf-context.cpp:3325 - #, c-format - msgid "Cannot disable module '%s': State of module already modified" - msgstr "모듈 '%s'사용 할 수 없습니다: 모듈 상태는 이미 적재되었습니다" - --#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3449 --#: libdnf/dnf-context.cpp:3559 -+#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452 -+#: libdnf/dnf-context.cpp:3633 - msgid "No modular data available" - msgstr "모듈러 자료를 이용 할 수 없습니다" - --#: libdnf/dnf-context.cpp:3374 -+#: libdnf/dnf-context.cpp:3373 - #, c-format - msgid "Ignoring unneeded information in argument: '%s'" - msgstr "인수: '%s'에 불필요한 정보를 무시하기" - --#: libdnf/dnf-context.cpp:3412 -+#: libdnf/dnf-context.cpp:3411 - #, c-format - msgid "" - "Problem during enablement of dependency tree for module '%1$s' stream " - "'%2$s': %3$s" --msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 동안에 발생하는 문제" -+msgstr "" -+"모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 중에 발생하는 " -+"문제" - --#: libdnf/dnf-context.cpp:3424 --msgid "Problems appeared for module enable request" --msgstr "모듈 활성화 요청에 나타난 문제" -+#: libdnf/dnf-context.cpp:3423 -+msgid "Problems appeared for module enable request:" -+msgstr "모듈 활성화 요청에 나타난 문제:" -+ -+#: libdnf/dnf-context.cpp:3518 -+#, c-format -+msgid "No active module packages found for module spec '%s'" -+msgstr "모듈 상세 '%s'를 위한 활성 모듈 꾸러미가 없습니다" - --#. this really should never happen; unless the modular repodata is corrupted --#: libdnf/dnf-context.cpp:3496 -+#: libdnf/dnf-context.cpp:3523 - #, c-format --msgid "Failed to parse module artifact NEVRA '%s'" --msgstr "모듈 artifact NERVRA '%s'를 구문 분석하는데 실패하였습니다" -+msgid "Cannot install module '%s' from fail-safe repository" -+msgstr "실패-방지 저장소에서 모듈 '%s'를 설치 할 수 없습니다" - - #: libdnf/dnf-context.cpp:3530 --msgid "Problems appeared for module install request" --msgstr "모듈 설치 요청을 위해 나타난 문제" -+#, c-format -+msgid "No profile found matching '%s'" -+msgstr "'%s'와 일치하는 프로파일을 찾을 수 없습니다" -+ -+#: libdnf/dnf-context.cpp:3584 -+#, c-format -+msgid "No match for package '%s' for module spec %s" -+msgstr "꾸러미 '%s'가(모듈 상세 %s에 대한) 일치하지 않습니다" - --#: libdnf/dnf-context.cpp:3590 --msgid "Problems appeared for module reset request" --msgstr "모듈 초기화 요청을 위해 나나탄 문제" -+#: libdnf/dnf-context.cpp:3595 -+#, c-format -+msgid "Problem during install for module '%1$s' stream '%2$s': %3$s" -+msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 설치 중에 발생하는 문제" - --#: libdnf/dnf-context.cpp:3592 --msgid "Problems appeared for module disable request" --msgstr "모듈 비활성화 요청을 위해 나타난 문제" -+#: libdnf/dnf-context.cpp:3604 -+msgid "Problems appeared for module install request:" -+msgstr "모듈 설치 요청을 위해 나타난 문제:" - --#: libdnf/dnf-context.cpp:3628 -+#: libdnf/dnf-context.cpp:3663 -+msgid "Problems appeared for module reset request:" -+msgstr "모듈 초기화 요청을 위해 나타난 문제:" -+ -+#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723 -+msgid "Problems appeared for module disable request:" -+msgstr "모듈 비활성화 요청을 위해 나타난 문제:" -+ -+#: libdnf/dnf-context.cpp:3755 - #, c-format - msgid "" --"The operation would result in switching of module '%s' stream '%s' to stream" --" '%s'" -+"The operation would result in switching of module '%s' stream '%s' to stream " -+"'%s'" - msgstr "이 동작은 모듈 '%s'' 스트림 ‘%s'에서 스트림 '%s'로의 전환 결과입니다" - --#: libdnf/dnf-context.cpp:3632 -+#: libdnf/dnf-context.cpp:3759 - 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 'microdnf 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 'microdnf module reset ' command. After you " -+"reset the module, you can install the other stream." - msgstr "" - "활성화된 모듈 스트림을 전환 할 수 없습니다.\n" --"설치된 모든 내용을 모듈에서 제거하고 ‘' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치할 수 있습니다." -+"설치된 모든 내용을 모듈에서 제거하고 ‘' 명령을 사용하여 모듈을 " -+"재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치 할 수 있습니" -+"다." - --#: libdnf/dnf-goal.cpp:85 -+#: libdnf/dnf-goal.cpp:107 - msgid "Could not depsolve transaction; " - msgstr "연결을 해제 할 수 없습니다; " - --#: libdnf/dnf-goal.cpp:87 -+#: libdnf/dnf-goal.cpp:109 - #, c-format - msgid "%i problem detected:\n" - msgid_plural "%i problems detected:\n" - msgstr[0] "%i 발견 된 문제 :\n" - --#: libdnf/dnf-goal.cpp:95 -+#: libdnf/dnf-goal.cpp:117 - #, c-format - msgid " Problem %1$i: %2$s\n" - msgstr " 문제 %1$i: %2$s\n" - --#: libdnf/dnf-goal.cpp:97 -+#: libdnf/dnf-goal.cpp:119 - #, c-format - msgid " Problem: %s\n" - msgstr " 문제: %s\n" -@@ -235,7 +263,9 @@ msgstr " 문제: %s\n" - msgid "" - "No available modular metadata for modular package '%s'; cannot be installed " - "on the system" --msgstr "모듈 꾸러미 '%s'를 위하여 사용 가능한 메타 데이터가 없으며; 시스템에 설치할 수 없습니다" -+msgstr "" -+"모듈러 꾸러미 '%s'에 사용 가능한 모듈러 메타데이터가 없으며; 시스템에 설치 " -+"할 수 없습니다" - - #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166 - #, c-format -@@ -274,7 +304,8 @@ msgstr "연결 실행 오류 : %s" - - #: libdnf/dnf-rpmts.cpp:283 - msgid "Error running transaction and no problems were reported!" --msgstr "연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!" -+msgstr "" -+"연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!" - - #: libdnf/dnf-rpmts.cpp:346 - msgid "Fatal error, run database recovery" -@@ -290,84 +321,84 @@ msgstr "꾸러미를 찾지 못했습니다. %s" - msgid "could not add erase element %1$s(%2$i)" - msgstr "요소 지우기를 추가 할 수 없습니다. %1$s(%2$i)" - --#: libdnf/dnf-sack.cpp:395 -+#: libdnf/dnf-sack.cpp:394 - msgid "failed to add solv" - msgstr "solv를 추가하지 못했습니다" - --#: libdnf/dnf-sack.cpp:414 -+#: libdnf/dnf-sack.cpp:413 - #, c-format - msgid "no %1$s string for %2$s" - msgstr "%2$s에 %1$s 문자열이 없습니다" - --#: libdnf/dnf-sack.cpp:424 -+#: libdnf/dnf-sack.cpp:423 - #, c-format - msgid "failed to open: %s" - msgstr "열지 못했습니다 : %s" - --#: libdnf/dnf-sack.cpp:503 -+#: libdnf/dnf-sack.cpp:502 - #, c-format - msgid "cannot create temporary file: %s" - msgstr "임시 파일을 만들 수 없습니다. %s" - --#: libdnf/dnf-sack.cpp:513 -+#: libdnf/dnf-sack.cpp:512 - #, c-format - msgid "failed opening tmp file: %s" - msgstr "여는 tmp 파일을 열지 못했습니다. %s" - --#: libdnf/dnf-sack.cpp:525 -+#: libdnf/dnf-sack.cpp:524 - #, c-format - msgid "write_main() failed writing data: %i" - msgstr "write_main() 실패한 쓰기 자료: %i" - --#: libdnf/dnf-sack.cpp:542 -+#: libdnf/dnf-sack.cpp:541 - msgid "write_main() failed to re-load written solv file" - msgstr "write_main ()이 작성된 solv 파일을 다시 적재하지 못했습니다" - --#: libdnf/dnf-sack.cpp:607 -+#: libdnf/dnf-sack.cpp:606 - #, c-format - msgid "can not create temporary file %s" - msgstr "임시 파일을 만들 수 없습니다. %s" - --#: libdnf/dnf-sack.cpp:625 -+#: libdnf/dnf-sack.cpp:624 - #, c-format - msgid "write_ext(%1$d) has failed: %2$d" - msgstr "write_ext(%1$d) 실패하였습니다: %2$d" - --#: libdnf/dnf-sack.cpp:680 -+#: libdnf/dnf-sack.cpp:679 - msgid "null repo md file" - msgstr "null repo md 파일" - --#: libdnf/dnf-sack.cpp:689 -+#: libdnf/dnf-sack.cpp:688 - #, c-format - msgid "can not read file %1$s: %2$s" - msgstr "파일을 읽을 수 없습니다. %1$s: %2$s" - --#: libdnf/dnf-sack.cpp:703 -+#: libdnf/dnf-sack.cpp:702 - msgid "repo_add_solv() has failed." - msgstr "repo_add_solv() 실패하였습니다." - --#: libdnf/dnf-sack.cpp:716 -+#: libdnf/dnf-sack.cpp:715 - msgid "loading of MD_TYPE_PRIMARY has failed." - msgstr "MD_TYPE_PRIMARY를 적재하지 못했습니다." - --#: libdnf/dnf-sack.cpp:729 -+#: libdnf/dnf-sack.cpp:728 - msgid "repo_add_repomdxml/rpmmd() has failed." - msgstr "repo_add_repomdxml/rpmmd() 실패하였습니다." - --#: libdnf/dnf-sack.cpp:796 -+#: libdnf/dnf-sack.cpp:795 - msgid "failed to auto-detect architecture" - msgstr "구조 자동 검색에 실패했습니다" - --#: libdnf/dnf-sack.cpp:961 -+#: libdnf/dnf-sack.cpp:960 - #, c-format - msgid "failed creating cachedir %s" - msgstr "캐시 된 생성 실패 %s" - --#: libdnf/dnf-sack.cpp:1738 -+#: libdnf/dnf-sack.cpp:1737 - msgid "failed loading RPMDB" - msgstr "RPMDB로드 실패" - --#: libdnf/dnf-sack.cpp:2462 -+#: libdnf/dnf-sack.cpp:2521 - #, c-format - msgid "No module defaults found: %s" - msgstr "모듈 기본 설정을 찾을 수 없습니다: %s" -@@ -396,64 +427,73 @@ msgstr "국가에서 행해진 %1$p 크기가 설정되지 않았습니다. [%2$ - msgid "already at 100%% state [%s]" - msgstr "이미 100 %% 상태 [%s]" - --#: libdnf/dnf-transaction.cpp:300 -+#: libdnf/dnf-transaction.cpp:302 - #, c-format - msgid "Sources not set when trying to ensure package %s" - msgstr "꾸러미를 만들 때 소스가 설정되지 않았습니다. %s" - --#: libdnf/dnf-transaction.cpp:326 -+#: libdnf/dnf-transaction.cpp:328 - #, c-format - msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)" - msgstr "보장하지 못함 %1$s 레포로서 %2$s 찾을 수 없음 (%3$i repos loaded)" - --#: libdnf/dnf-transaction.cpp:367 -+#: libdnf/dnf-transaction.cpp:369 - msgid "Failed to check untrusted: " - msgstr "신뢰할 수 없는지 확인하지 못했습니다. " - --#: libdnf/dnf-transaction.cpp:377 -+#: libdnf/dnf-transaction.cpp:379 - #, c-format - msgid "Downloaded file for %s not found" - msgstr "에 대한 내려받기 파일 %s 찾을 수 없음" - --#: libdnf/dnf-transaction.cpp:397 -+#: libdnf/dnf-transaction.cpp:399 - #, c-format - msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" - msgstr "꾸러미 %1$s 확인 및 복구 할 수 없습니다. %2$s GPG 사용 설정 됨 : %3$s" - --#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 -+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905 - msgid "Failed to get value for CacheDir" - msgstr "CacheDir에 대한 값을 가져 오는 데 실패했습니다" - --#: libdnf/dnf-transaction.cpp:911 -+#: libdnf/dnf-transaction.cpp:913 - #, c-format - msgid "Failed to get filesystem free size for %s: " - msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s: " - --#: libdnf/dnf-transaction.cpp:919 -+#: libdnf/dnf-transaction.cpp:921 - #, c-format - msgid "Failed to get filesystem free size for %s" - msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s" - --#: libdnf/dnf-transaction.cpp:935 -+#: libdnf/dnf-transaction.cpp:937 - #, c-format - msgid "Not enough free space in %1$s: needed %2$s, available %3$s" - msgstr "여유 공간이 부족합니다. %1$s: 필요 %2$s, 이용 가능 %3$s" - --#: libdnf/dnf-transaction.cpp:1195 -+#: libdnf/dnf-transaction.cpp:1196 - msgid "failed to set root" - msgstr "루트를 설정하지 못했습니다" - --#: libdnf/dnf-transaction.cpp:1416 -+#: libdnf/dnf-transaction.cpp:1417 - #, c-format - msgid "Error %i running transaction test" - msgstr "%i 연결 실행 중 오류" - --#: libdnf/dnf-transaction.cpp:1456 -+#: libdnf/dnf-transaction.cpp:1441 -+#, c-format -+msgid "Error %i opening rpm database" -+msgstr "rpm 데이타베이스를 여는 동안 오류 %i가 발생했습니다" -+ -+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495 -+msgid "The rpmdbCookie() function did not return cookie of rpm database." -+msgstr "rpmdbCookie() 함수는 rpm 데이타베이스의 쿠키를 반환하지 않습니다." -+ -+#: libdnf/dnf-transaction.cpp:1464 - #, c-format - msgid "Error %i running transaction" - msgstr "오류 %i 실행중인 연결" - --#: libdnf/dnf-transaction.cpp:1472 -+#: libdnf/dnf-transaction.cpp:1480 - #, c-format - msgid "Transaction did not go to writing phase, but returned no error(%i)" - msgstr "연결이 쓰기 단계로 이동하지 않았지만 오류를 반환하지 않았습니다 (%i)" -@@ -554,7 +594,7 @@ msgstr "%s 와 %s 모두 설치 할 수 없습니다" - #: libdnf/goal/Goal.cpp:107 - #, c-format - msgid "package %s conflicts with %s provided by %s" --msgstr "제공된 꾸러미 %s 은 %s에 의해 %s 와 충돌합니다" -+msgstr "꾸러미 %s은 %s에서 제공된 %s와 충돌합니다" - - #: libdnf/goal/Goal.cpp:108 - #, c-format -@@ -574,12 +614,12 @@ msgstr "꾸러미 %s가 %s에 의해 %s가 암시적으로 폐기되었습니다 - #: libdnf/goal/Goal.cpp:111 - #, c-format - msgid "package %s requires %s, but none of the providers can be installed" --msgstr "꾸러미 %s에 %s가 필요하지만 공급 업체 없어 설치할 수 없습니다" -+msgstr "꾸러미 %s는 %s가 필요하지만, 공급자가 없어 설치 할 수 없습니다" - - #: libdnf/goal/Goal.cpp:112 - #, c-format - msgid "package %s conflicts with %s provided by itself" --msgstr "꾸러미 %s가 %s와 자체적으로 충돌합니다" -+msgstr "꾸러미 %s가 자체적으로 제공된 %s와 충돌합니다" - - #: libdnf/goal/Goal.cpp:113 - #, c-format -@@ -622,12 +662,12 @@ msgstr "모듈 %s 에 필요한 %s 가 제공되지 않았습니다" - #: libdnf/goal/Goal.cpp:133 - #, c-format - msgid "cannot install both modules %s and %s" --msgstr "%s 와 %s 모듈을 모두 설치할 수 없습니다" -+msgstr "모듈 %s 와 %s를 모두 설치 할 수 없습니다" - - #: libdnf/goal/Goal.cpp:134 - #, c-format - msgid "module %s conflicts with %s provided by %s" --msgstr "모듈 %s 가 %s와 함께 %s와 충돌합니다" -+msgstr "모듈 %s가 %s에 의해 제공된 %s와 충돌합니다" - - #: libdnf/goal/Goal.cpp:135 - #, c-format -@@ -659,42 +699,42 @@ msgstr "모듈 %s가 자체적으로 제공된 %s와 충돌합니다" - msgid "both module %s and %s obsolete %s" - msgstr "모듈 %s와 %s가 %s에서 폐기되었습니다" - --#: libdnf/goal/Goal.cpp:1055 -+#: libdnf/goal/Goal.cpp:1141 - msgid "no solver set" - msgstr "solver 설정 없음" - --#: libdnf/goal/Goal.cpp:1060 -+#: libdnf/goal/Goal.cpp:1146 - #, c-format - msgid "failed to make %s absolute" - msgstr "%s 절대값을 생성을 실패하였습니다" - --#: libdnf/goal/Goal.cpp:1067 -+#: libdnf/goal/Goal.cpp:1153 - #, c-format - msgid "failed writing debugdata to %1$s: %2$s" - msgstr "%1$s: %2$s에 디버그자료 쓰기를 실패했습니다" - --#: libdnf/goal/Goal.cpp:1079 -+#: libdnf/goal/Goal.cpp:1165 - msgid "no solv in the goal" - msgstr "목표에 solv가 없다" - --#: libdnf/goal/Goal.cpp:1081 -+#: libdnf/goal/Goal.cpp:1167 - msgid "no solution, cannot remove protected package" - msgstr "해결책 없음, 보호 된 꾸러미를 제거 할 수 없음" - --#: libdnf/goal/Goal.cpp:1084 -+#: libdnf/goal/Goal.cpp:1170 - msgid "no solution possible" - msgstr "해결책 없음" - --#: libdnf/goal/Goal.cpp:1210 -+#: libdnf/goal/Goal.cpp:1296 - msgid "Problem: " - msgstr "문제: " - --#: libdnf/goal/Goal.cpp:1215 -+#: libdnf/goal/Goal.cpp:1301 - #, c-format - msgid "Problem %d: " - msgstr "문제 %d: " - --#: libdnf/goal/Goal.cpp:1542 -+#: libdnf/goal/Goal.cpp:1634 - msgid "" - "The operation would result in removing the following protected packages: " - msgstr "이 작업으로 인해 다음과 같은 보호 꾸러미가 제거됩니다. " -@@ -719,30 +759,30 @@ msgstr "디렉토리를 생성 할 수 없습니다 %1$s: %2$s" - msgid "cannot stat path %1$s: %2$s" - msgstr "경로 %1$s: %2$s stat 할 수 없습니다" - --#: libdnf/module/ModulePackage.cpp:573 -+#: libdnf/module/ModulePackage.cpp:604 - #, c-format - msgid "Invalid format of Platform module: %s" - msgstr "잘못된 형식의 기반 모듈: %s" - --#: libdnf/module/ModulePackage.cpp:588 -+#: libdnf/module/ModulePackage.cpp:619 - msgid "Multiple module platforms provided by available packages\n" - msgstr "사용 가능한 꾸러미로 제공되는 다중 모듈 기반\n" - --#: libdnf/module/ModulePackage.cpp:601 -+#: libdnf/module/ModulePackage.cpp:632 - msgid "Multiple module platforms provided by installed packages\n" - msgstr "설치된 꾸러미로 제공되는 다중 모듈 기반\n" - --#: libdnf/module/ModulePackage.cpp:628 -+#: libdnf/module/ModulePackage.cpp:659 - #, c-format - msgid "Detection of Platform Module in %s failed: %s" - msgstr "%s 실패한: %s 에서 기반(Platform) 모듈 감지" - --#: libdnf/module/ModulePackage.cpp:637 -+#: libdnf/module/ModulePackage.cpp:668 - #, c-format - msgid "Missing PLATFORM_ID in %s" - msgstr "%s에서 PLATFORM_ID가 누락됨" - --#: libdnf/module/ModulePackage.cpp:642 -+#: libdnf/module/ModulePackage.cpp:673 - msgid "No valid Platform ID detected" - msgstr "유효한 기반(Platform) ID가 없습니다" - -@@ -754,63 +794,65 @@ msgstr "모듈 '%s’를 위해 다중 스트림을 활성화 할 수 없습니 - #: libdnf/module/ModulePackageContainer.cpp:346 - #, c-format - msgid "Conflicting defaults with repo '%s': %s" --msgstr "repo '%s: %s'와 기본 설정이 충돌합니다" -+msgstr "저장소 '%s: %s'와 기본 설정이 충돌합니다" - --#: libdnf/module/ModulePackageContainer.cpp:918 -+#: libdnf/module/ModulePackageContainer.cpp:917 - msgid "Installing module profiles:\n" - msgstr "모듈 프로파일 설치:\n" - --#: libdnf/module/ModulePackageContainer.cpp:933 -+#: libdnf/module/ModulePackageContainer.cpp:932 - msgid "Disabling module profiles:\n" - msgstr "모듈 프로파일 비활성화:\n" - --#: libdnf/module/ModulePackageContainer.cpp:948 -+#: libdnf/module/ModulePackageContainer.cpp:947 - msgid "Enabling module streams:\n" - msgstr "모듈 스트림 활성화:\n" - --#: libdnf/module/ModulePackageContainer.cpp:962 -+#: libdnf/module/ModulePackageContainer.cpp:961 - msgid "Switching module streams:\n" - msgstr "모듈 스트림 전환:\n" - --#: libdnf/module/ModulePackageContainer.cpp:980 -+#: libdnf/module/ModulePackageContainer.cpp:979 - msgid "Disabling modules:\n" - msgstr "모듈 비활성화:\n" - --#: libdnf/module/ModulePackageContainer.cpp:991 -+#: libdnf/module/ModulePackageContainer.cpp:990 - msgid "Resetting modules:\n" - msgstr "모듈 재설정:\n" - --#: libdnf/module/ModulePackageContainer.cpp:1674 -+#: libdnf/module/ModulePackageContainer.cpp:1704 - #, c-format - msgid "Unable to load modular Fail-Safe data at '%s'" - msgstr "'%s'에서 모듈식 Fail-Safe 자료를 적재 할 수 없습니다" - --#: libdnf/module/ModulePackageContainer.cpp:1680 -+#: libdnf/module/ModulePackageContainer.cpp:1710 - #, c-format - msgid "Unable to load modular Fail-Safe data for module '%s:%s'" - msgstr "모듈 '%s:%s'에 대해 모듈식 Fail-Safe 자료를 적재 할 수 없습니다" - --#: libdnf/module/ModulePackageContainer.cpp:1763 -+#: libdnf/module/ModulePackageContainer.cpp:1791 - #, c-format - msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" - msgstr "모듈식 Fail-Safe 데이터에 대한 “%s\" 디렉토리를 만들 수 없습니다: %s" - --#: libdnf/module/ModulePackageContainer.cpp:1779 -+#: libdnf/module/ModulePackageContainer.cpp:1807 - #, c-format - msgid "Unable to save a modular Fail Safe data to '%s'" - msgstr "모듈식 Fail Safe 자료를 '%s'에 저장 할 수 없습니다" - --#: libdnf/module/ModulePackageContainer.cpp:1802 -+#: libdnf/module/ModulePackageContainer.cpp:1830 - #, c-format - msgid "Unable to remove a modular Fail Safe data in '%s'" - msgstr "'%s'에서 모듈식 Fail Safe 자료를 제거 할 수 없습니다" - --#: libdnf/module/ModulePackageContainer.cpp:1834 -+#: libdnf/module/ModulePackageContainer.cpp:1862 - #, c-format - msgid "" - "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " - "disabled" --msgstr "'%s:%s'에 모듈 폐기를 적용 할 수 없다 왜냐하면 목표 모듈 '%s' 을 사용 할 수 없기 때문입니다" -+msgstr "" -+"'%s:%s'에 사용되지 않는 모듈을 적용할 수 없습니다(대상 모듈 '%s'가 비활성화 " -+"되어 있기 때문에)" - - #: libdnf/module/modulemd/ModuleMetadata.cpp:86 - #, c-format -@@ -837,10 +879,10 @@ msgstr "기본값을 최신화에 실패하였습니다: %s" - msgid "Failed to upgrade streams: %s" - msgstr "스트림 최신화에 실패하였습니다: %s" - --#: libdnf/module/modulemd/ModuleMetadata.cpp:219 -+#: libdnf/module/modulemd/ModuleMetadata.cpp:221 - #, c-format - msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" --msgstr "모듈 폐기를 검색 할 수 없습니다 왜냐하면 스트림 일치 %s: %s 가 없습니다" -+msgstr "%s: %s 일치하는 스트림이 없기 때문에 구식 모듈을 검색 할 수 없습니다" - - #: libdnf/plugin/plugin.cpp:46 - #, c-format -@@ -883,8 +925,9 @@ msgid "" - "deprecated and the support will be dropped in future versions. Use '=' " - "operator instead." - msgstr "" --"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 연산자는 더 이상 사용되지 않으며, 향후 " --"버전에서는 지원이 중단됩니다. 대신 '=' 연산자를 사용하세요." -+"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 " -+"연산자는 더 이상 사용되지 않으며, 향후 버전에서는 지원이 중단됩니다. 대신 " -+"'=' 연산자를 사용하세요." - - #: libdnf/repo/Repo.cpp:321 - #, c-format -@@ -897,21 +940,24 @@ msgid "Repository '%s' has unsupported type: 'type=%s', skipping." - msgstr "저장소 '%s'는 지원하지 않는 유형: 'type=%s'이며, 건너뜁니다." - - #: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 --#: libdnf/repo/Repo.cpp:1382 -+#: libdnf/repo/Repo.cpp:1400 - #, c-format - msgid "repo '%s': 'basecachedir' is not set" - msgstr "repo '%s': 'basecachedir가 구성되어 있지 않습니다" - - #: libdnf/repo/Repo.cpp:512 - msgid "" --"Maximum download speed is lower than minimum. Please change configuration of" --" minrate or throttle" --msgstr "최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주세요" -+"Maximum download speed is lower than minimum. Please change configuration of " -+"minrate or throttle" -+msgstr "" -+"최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주" -+"세요" - - #: libdnf/repo/Repo.cpp:546 - #, c-format - msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" --msgstr "repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다" -+msgstr "" -+"repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다" - - #: libdnf/repo/Repo.cpp:548 - msgid "'proxy_username' is set but not 'proxy_password'" -@@ -932,128 +978,134 @@ msgstr "%s: gpgme_data_new_from_fd(): %s" - msgid "%s: gpgme_op_import(): %s" - msgstr "%s: gpgme_op_import(): %s" - --#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 -+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236 -+#: libdnf/repo/Repo.cpp:1279 -+#, c-format -+msgid "Cannot create repo temporary directory \"%s\": %s" -+msgstr "임시 저장소 디렉토리를 만들 수 없습니다 \"%s\": %s" -+ -+#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917 - #, c-format - msgid "%s: gpgme_ctx_set_engine_info(): %s" - msgstr "%s: gpgme_ctx_set_engine_info(): %s" - --#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 -+#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808 - #, c-format - msgid "can not list keys: %s" - msgstr "열쇠를 나열 할 수 없습니다 : %s" - --#: libdnf/repo/Repo.cpp:833 -+#: libdnf/repo/Repo.cpp:837 - #, c-format - msgid "Failed to retrieve GPG key for repo '%s': %s" - msgstr "repo '%s': %sf 를 위해 GPG key 가져오기에 실패하였습니다" - --#: libdnf/repo/Repo.cpp:886 -+#: libdnf/repo/Repo.cpp:890 - #, c-format - msgid "repo %s: 0x%s already imported" - msgstr "repo %s: 0x%s를 이미 가져왔습니다" - --#: libdnf/repo/Repo.cpp:914 -+#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79 -+#, c-format -+msgid "Failed to create directory \"%s\": %d - %s" -+msgstr "디렉토리를 생성 할 수 없습니다 \"%s\": %d - %s" -+ -+#: libdnf/repo/Repo.cpp:924 - #, c-format - msgid "repo %s: imported key 0x%s." - msgstr "repo %s: 0x%s 키를 가져왔습니다." - --#: libdnf/repo/Repo.cpp:1162 -+#: libdnf/repo/Repo.cpp:1176 - #, c-format - msgid "reviving: repo '%s' skipped, no metalink." --msgstr "부활 : repo '%s'건너 뛰었습니다." -+msgstr "부활: repo '%s' 건너 뛰었으며, 메타링크가 없습니다." - --#: libdnf/repo/Repo.cpp:1181 -+#: libdnf/repo/Repo.cpp:1195 - #, c-format - msgid "reviving: repo '%s' skipped, no usable hash." --msgstr "부활 : repo '%s'건너 뛰었습니다. 사용 가능한 해시가 없습니다." -+msgstr "부활: repo '%s'건너 뛰었으며, 사용 가능한 해쉬가 없습니다." - --#: libdnf/repo/Repo.cpp:1204 -+#: libdnf/repo/Repo.cpp:1218 - #, c-format - msgid "reviving: failed for '%s', mismatched %s sum." --msgstr "되살리기 : 실패한 '%s', 불일치 %s 합집합." -+msgstr "부활 : '%s'에 실패하고, %s 합과 일치하지 않음." - --#: libdnf/repo/Repo.cpp:1210 -+#: libdnf/repo/Repo.cpp:1224 - #, c-format - msgid "reviving: '%s' can be revived - metalink checksums match." --msgstr "되살아 난다 : '%s'부활 할 수 있습니다 - metalink 체크섬이 일치합니다." -+msgstr "부활: '%s'는 부활 할 수 있습니다 - 메타링크 체크섬이 일치합니다." - --#: libdnf/repo/Repo.cpp:1235 -+#: libdnf/repo/Repo.cpp:1253 - #, c-format - msgid "reviving: '%s' can be revived - repomd matches." --msgstr "되살아 난다 : '%s'부활 할 수 있습니다 - repomd가 일치합니다." -+msgstr "부활: '%s'는 부활 할 수 있습니다 - repomd가 일치합니다." - --#: libdnf/repo/Repo.cpp:1237 -+#: libdnf/repo/Repo.cpp:1255 - #, c-format - msgid "reviving: failed for '%s', mismatched repomd." --msgstr "되살리기 : 실패한 '%s', 일치하지 않는 repomd." -+msgstr "부활: '%s'에 실패하고, 일치하지 않은 repomd." - --#: libdnf/repo/Repo.cpp:1255 -+#: libdnf/repo/Repo.cpp:1273 - #, c-format - msgid "Cannot create repo destination directory \"%s\": %s" - msgstr "repo 목적지 디렉토리 \"%s\": %s 를 생성 할 수 없습니다" - --#: libdnf/repo/Repo.cpp:1261 --#, c-format --msgid "Cannot create repo temporary directory \"%s\": %s" --msgstr "임시 저장소 디렉토리를 만들 수 없습니다 \"%s\": %s" -- --#: libdnf/repo/Repo.cpp:1275 -+#: libdnf/repo/Repo.cpp:1293 - #, c-format - msgid "Cannot create directory \"%s\": %s" - msgstr "디렉토리를 만들 수 없습니다 \"%s\": %s" - --#: libdnf/repo/Repo.cpp:1298 -+#: libdnf/repo/Repo.cpp:1316 - #, c-format - msgid "Cannot rename directory \"%s\" to \"%s\": %s" - msgstr "디렉터리 이름을 바꿀 수 없습니다 \"%s\"~\"%s\": %s" - --#: libdnf/repo/Repo.cpp:1321 -+#: libdnf/repo/Repo.cpp:1339 - #, c-format - msgid "repo: using cache for: %s" --msgstr "repo : 캐시 사용 : %s" -+msgstr "repo: 캐쉬 사용: %s" - --#: libdnf/repo/Repo.cpp:1333 -+#: libdnf/repo/Repo.cpp:1351 - #, c-format - msgid "Cache-only enabled but no cache for '%s'" --msgstr "캐시 만 사용 가능하지만 '%s'" -+msgstr "캐쉬만 사용 가능하지만 '%s'를 위해 캐쉬가 없습니다" - --#: libdnf/repo/Repo.cpp:1337 -+#: libdnf/repo/Repo.cpp:1355 - #, c-format - msgid "repo: downloading from remote: %s" --msgstr "repo : 원격에서 내려받기 중 : %s" -+msgstr "repo: 원격에서 내려받기 중: %s" - --#: libdnf/repo/Repo.cpp:1344 -+#: libdnf/repo/Repo.cpp:1362 - #, c-format - msgid "Failed to download metadata for repo '%s': %s" --msgstr "repo '%s': %s 를 위해 메타데이타 내려받기에 실패하였습니다" -+msgstr "repo를 위한 메타자료 내려받기에 실패하였습니다 '%s': %s" - --#: libdnf/repo/Repo.cpp:1370 -+#: libdnf/repo/Repo.cpp:1388 - msgid "getCachedir(): Computation of SHA256 failed" --msgstr "getCachedir () : SHA256 계산에 실패했습니다" -+msgstr "getCachedir(): SHA256 계산에 실패했습니다" - --#: libdnf/repo/Repo.cpp:1398 -+#: libdnf/repo/Repo.cpp:1416 - #, c-format - msgid "Cannot create persistdir \"%s\": %s" - msgstr "persistdir \"%s\": %s 를 생성 할 수 없습니다" - --#: libdnf/repo/Repo.cpp:1775 -+#: libdnf/repo/Repo.cpp:1793 - msgid "resume cannot be used simultaneously with the byterangestart param" - msgstr "이력서는 byterangestart 매개 변수와 동시에 사용 할 수 없습니다" - --#: libdnf/repo/Repo.cpp:1792 -+#: libdnf/repo/Repo.cpp:1810 - #, c-format - msgid "PackageTarget initialization failed: %s" --msgstr "PackageTarget 초기화에 실패했습니다 : %s" -+msgstr "PackageTarget 초기화에 실패했습니다: %s" - --#: libdnf/repo/Repo.cpp:1898 -+#: libdnf/repo/Repo.cpp:1916 - #, c-format - msgid "Cannot open %s: %s" --msgstr "열 수 없다 %s: %s" -+msgstr "열 수 없습니다 %s: %s" - --#: libdnf/repo/Repo.cpp:1942 -+#: libdnf/repo/Repo.cpp:1960 - #, c-format - msgid "Log handler with id %ld doesn't exist" --msgstr "ID가 있는 로그 처리기 %ld 존재하지 않는다" -+msgstr "ID가 있는 로그 처리기 %ld가 존재하지 않습니다" - - #: libdnf/transaction/Swdb.cpp:173 - msgid "In progress" -@@ -1079,11 +1131,12 @@ msgstr "완료된 연결에서 연결 항목 최신화를 시도합니다" - - #: libdnf/transaction/Transformer.cpp:76 - msgid "Database Corrupted: no row 'version' in table 'config'" --msgstr "데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다" -+msgstr "" -+"데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다" - - #: libdnf/transaction/Transformer.cpp:681 - msgid "Transformer: can't open history persist dir" --msgstr "변형 : persist dir 기록을 열 수 없습니다" -+msgstr "변형: persist dir 기록을 열 수 없습니다" - - #: libdnf/transaction/Transformer.cpp:694 - msgid "Couldn't find a history database" -@@ -1102,5 +1155,5 @@ msgstr "TransactionItem 상태가 설정되지 않았습니다. %s" - msgid "Can't add console output to unsaved transaction" - msgstr "저장되지 않은 연결에 콘솔 출력을 추가 할 수 없습니다" - --#~ msgid "failed calculating RPMDB checksum" --#~ msgstr "RPMDB 체크섬 계산 실패" -+#~ msgid "Failed to parse module artifact NEVRA '%s'" -+#~ msgstr "모듈 artifact NERVE '%s' 구분 분석에 실패함" -diff --git a/po/libdnf.pot b/po/libdnf.pot -index 7ab5b67e..d7fb56ad 100644 ---- a/po/libdnf.pot -+++ b/po/libdnf.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 10:38+0100\n" - "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" - "Last-Translator: FULL NAME \n" - "Language-Team: LANGUAGE \n" -@@ -50,7 +50,7 @@ msgstr "" - msgid "negative value is not allowed" - msgstr "" - --#: libdnf/conf/ConfigMain.cpp:341 -+#: libdnf/conf/ConfigMain.cpp:343 - #, c-format - msgid "percentage '%s' is out of range" - msgstr "" -@@ -105,122 +105,122 @@ msgstr "" - msgid "GetValue(): Value not set" - msgstr "" - --#: libdnf/dnf-context.cpp:3173 libdnf/dnf-context.cpp:3182 -+#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187 - #, c-format - msgid "Cannot enable more streams from module '%s' at the same time" - msgstr "" - --#: libdnf/dnf-context.cpp:3191 libdnf/dnf-context.cpp:3209 -+#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214 - #, c-format - msgid "" - "Cannot enable module '%1$s' stream '%2$s': State of module already modified" - msgstr "" - --#: libdnf/dnf-context.cpp:3258 -+#: libdnf/dnf-context.cpp:3263 - #, c-format - msgid "Modular dependency problem with Defaults: %s" - msgstr "" - --#: libdnf/dnf-context.cpp:3261 -+#: libdnf/dnf-context.cpp:3266 - #, c-format - msgid "Modular dependency problem with the latest modules: %s" - msgstr "" - --#: libdnf/dnf-context.cpp:3265 -+#: libdnf/dnf-context.cpp:3270 - #, c-format - msgid "Modular dependency problem: %s" - msgstr "" - --#: libdnf/dnf-context.cpp:3288 libdnf/dnf-context.cpp:3312 --#: libdnf/dnf-context.cpp:3323 libdnf/dnf-context.cpp:3362 --#: libdnf/dnf-context.cpp:3378 libdnf/dnf-context.cpp:3410 --#: libdnf/dnf-context.cpp:3459 libdnf/dnf-context.cpp:3469 -+#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317 -+#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367 -+#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415 -+#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474 - #, c-format - msgid "Unable to resolve argument '%s'" - msgstr "" - --#: libdnf/dnf-context.cpp:3295 -+#: libdnf/dnf-context.cpp:3300 - #, c-format - msgid "" - "Only module name is required. Ignoring unneeded information in argument: '%s'" - msgstr "" - --#: libdnf/dnf-context.cpp:3309 -+#: libdnf/dnf-context.cpp:3314 - #, c-format - msgid "Cannot reset module '%s': State of module already modified" - msgstr "" - --#: libdnf/dnf-context.cpp:3320 -+#: libdnf/dnf-context.cpp:3325 - #, c-format - msgid "Cannot disable module '%s': State of module already modified" - msgstr "" - --#: libdnf/dnf-context.cpp:3351 libdnf/dnf-context.cpp:3447 --#: libdnf/dnf-context.cpp:3620 -+#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452 -+#: libdnf/dnf-context.cpp:3633 - msgid "No modular data available" - msgstr "" - --#: libdnf/dnf-context.cpp:3368 -+#: libdnf/dnf-context.cpp:3373 - #, c-format - msgid "Ignoring unneeded information in argument: '%s'" - msgstr "" - --#: libdnf/dnf-context.cpp:3406 -+#: libdnf/dnf-context.cpp:3411 - #, c-format - msgid "" - "Problem during enablement of dependency tree for module '%1$s' stream " - "'%2$s': %3$s" - msgstr "" - --#: libdnf/dnf-context.cpp:3418 -+#: libdnf/dnf-context.cpp:3423 - msgid "Problems appeared for module enable request:" - msgstr "" - --#: libdnf/dnf-context.cpp:3513 -+#: libdnf/dnf-context.cpp:3518 - #, c-format - msgid "No active module packages found for module spec '%s'" - msgstr "" - --#: libdnf/dnf-context.cpp:3518 -+#: libdnf/dnf-context.cpp:3523 - #, c-format - msgid "Cannot install module '%s' from fail-safe repository" - msgstr "" - --#: libdnf/dnf-context.cpp:3525 -+#: libdnf/dnf-context.cpp:3530 - #, c-format - msgid "No profile found matching '%s'" - msgstr "" - --#: libdnf/dnf-context.cpp:3571 -+#: libdnf/dnf-context.cpp:3584 - #, c-format - msgid "No match for package '%s' for module spec %s" - msgstr "" - --#: libdnf/dnf-context.cpp:3582 -+#: libdnf/dnf-context.cpp:3595 - #, c-format - msgid "Problem during install for module '%1$s' stream '%2$s': %3$s" - msgstr "" - --#: libdnf/dnf-context.cpp:3591 -+#: libdnf/dnf-context.cpp:3604 - msgid "Problems appeared for module install request:" - msgstr "" - --#: libdnf/dnf-context.cpp:3650 -+#: libdnf/dnf-context.cpp:3663 - msgid "Problems appeared for module reset request:" - msgstr "" - --#: libdnf/dnf-context.cpp:3651 -+#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723 - msgid "Problems appeared for module disable request:" - msgstr "" - --#: libdnf/dnf-context.cpp:3689 -+#: libdnf/dnf-context.cpp:3755 - #, c-format - msgid "" - "The operation would result in switching of module '%s' stream '%s' to stream " - "'%s'" - msgstr "" - --#: libdnf/dnf-context.cpp:3693 -+#: libdnf/dnf-context.cpp:3759 - 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 " -@@ -228,23 +228,23 @@ msgid "" - "reset the module, you can install the other stream." - msgstr "" - --#: libdnf/dnf-goal.cpp:85 -+#: libdnf/dnf-goal.cpp:107 - msgid "Could not depsolve transaction; " - msgstr "" - --#: libdnf/dnf-goal.cpp:87 -+#: libdnf/dnf-goal.cpp:109 - #, c-format - msgid "%i problem detected:\n" - msgid_plural "%i problems detected:\n" - msgstr[0] "" - msgstr[1] "" - --#: libdnf/dnf-goal.cpp:95 -+#: libdnf/dnf-goal.cpp:117 - #, c-format - msgid " Problem %1$i: %2$s\n" - msgstr "" - --#: libdnf/dnf-goal.cpp:97 -+#: libdnf/dnf-goal.cpp:119 - #, c-format - msgid " Problem: %s\n" - msgstr "" -@@ -309,84 +309,84 @@ msgstr "" - msgid "could not add erase element %1$s(%2$i)" - msgstr "" - --#: libdnf/dnf-sack.cpp:395 -+#: libdnf/dnf-sack.cpp:394 - msgid "failed to add solv" - msgstr "" - --#: libdnf/dnf-sack.cpp:414 -+#: libdnf/dnf-sack.cpp:413 - #, c-format - msgid "no %1$s string for %2$s" - msgstr "" - --#: libdnf/dnf-sack.cpp:424 -+#: libdnf/dnf-sack.cpp:423 - #, c-format - msgid "failed to open: %s" - msgstr "" - --#: libdnf/dnf-sack.cpp:503 -+#: libdnf/dnf-sack.cpp:502 - #, c-format - msgid "cannot create temporary file: %s" - msgstr "" - --#: libdnf/dnf-sack.cpp:513 -+#: libdnf/dnf-sack.cpp:512 - #, c-format - msgid "failed opening tmp file: %s" - msgstr "" - --#: libdnf/dnf-sack.cpp:525 -+#: libdnf/dnf-sack.cpp:524 - #, c-format - msgid "write_main() failed writing data: %i" - msgstr "" - --#: libdnf/dnf-sack.cpp:542 -+#: libdnf/dnf-sack.cpp:541 - msgid "write_main() failed to re-load written solv file" - msgstr "" - --#: libdnf/dnf-sack.cpp:607 -+#: libdnf/dnf-sack.cpp:606 - #, c-format - msgid "can not create temporary file %s" - msgstr "" - --#: libdnf/dnf-sack.cpp:625 -+#: libdnf/dnf-sack.cpp:624 - #, c-format - msgid "write_ext(%1$d) has failed: %2$d" - msgstr "" - --#: libdnf/dnf-sack.cpp:680 -+#: libdnf/dnf-sack.cpp:679 - msgid "null repo md file" - msgstr "" - --#: libdnf/dnf-sack.cpp:689 -+#: libdnf/dnf-sack.cpp:688 - #, c-format - msgid "can not read file %1$s: %2$s" - msgstr "" - --#: libdnf/dnf-sack.cpp:703 -+#: libdnf/dnf-sack.cpp:702 - msgid "repo_add_solv() has failed." - msgstr "" - --#: libdnf/dnf-sack.cpp:716 -+#: libdnf/dnf-sack.cpp:715 - msgid "loading of MD_TYPE_PRIMARY has failed." - msgstr "" - --#: libdnf/dnf-sack.cpp:729 -+#: libdnf/dnf-sack.cpp:728 - msgid "repo_add_repomdxml/rpmmd() has failed." - msgstr "" - --#: libdnf/dnf-sack.cpp:796 -+#: libdnf/dnf-sack.cpp:795 - msgid "failed to auto-detect architecture" - msgstr "" - --#: libdnf/dnf-sack.cpp:961 -+#: libdnf/dnf-sack.cpp:960 - #, c-format - msgid "failed creating cachedir %s" - msgstr "" - --#: libdnf/dnf-sack.cpp:1738 -+#: libdnf/dnf-sack.cpp:1737 - msgid "failed loading RPMDB" - msgstr "" - --#: libdnf/dnf-sack.cpp:2462 -+#: libdnf/dnf-sack.cpp:2521 - #, c-format - msgid "No module defaults found: %s" - msgstr "" -@@ -415,64 +415,73 @@ msgstr "" - msgid "already at 100%% state [%s]" - msgstr "" - --#: libdnf/dnf-transaction.cpp:300 -+#: libdnf/dnf-transaction.cpp:302 - #, c-format - msgid "Sources not set when trying to ensure package %s" - msgstr "" - --#: libdnf/dnf-transaction.cpp:326 -+#: libdnf/dnf-transaction.cpp:328 - #, c-format - msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)" - msgstr "" - --#: libdnf/dnf-transaction.cpp:367 -+#: libdnf/dnf-transaction.cpp:369 - msgid "Failed to check untrusted: " - msgstr "" - --#: libdnf/dnf-transaction.cpp:377 -+#: libdnf/dnf-transaction.cpp:379 - #, c-format - msgid "Downloaded file for %s not found" - msgstr "" - --#: libdnf/dnf-transaction.cpp:397 -+#: libdnf/dnf-transaction.cpp:399 - #, c-format - msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" - msgstr "" - --#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 -+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905 - msgid "Failed to get value for CacheDir" - msgstr "" - --#: libdnf/dnf-transaction.cpp:911 -+#: libdnf/dnf-transaction.cpp:913 - #, c-format - msgid "Failed to get filesystem free size for %s: " - msgstr "" - --#: libdnf/dnf-transaction.cpp:919 -+#: libdnf/dnf-transaction.cpp:921 - #, c-format - msgid "Failed to get filesystem free size for %s" - msgstr "" - --#: libdnf/dnf-transaction.cpp:935 -+#: libdnf/dnf-transaction.cpp:937 - #, c-format - msgid "Not enough free space in %1$s: needed %2$s, available %3$s" - msgstr "" - --#: libdnf/dnf-transaction.cpp:1195 -+#: libdnf/dnf-transaction.cpp:1196 - msgid "failed to set root" - msgstr "" - --#: libdnf/dnf-transaction.cpp:1416 -+#: libdnf/dnf-transaction.cpp:1417 - #, c-format - msgid "Error %i running transaction test" - msgstr "" - --#: libdnf/dnf-transaction.cpp:1456 -+#: libdnf/dnf-transaction.cpp:1441 -+#, c-format -+msgid "Error %i opening rpm database" -+msgstr "" -+ -+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495 -+msgid "The rpmdbCookie() function did not return cookie of rpm database." -+msgstr "" -+ -+#: libdnf/dnf-transaction.cpp:1464 - #, c-format - msgid "Error %i running transaction" - msgstr "" - --#: libdnf/dnf-transaction.cpp:1472 -+#: libdnf/dnf-transaction.cpp:1480 - #, c-format - msgid "Transaction did not go to writing phase, but returned no error(%i)" - msgstr "" -@@ -678,42 +687,42 @@ msgstr "" - msgid "both module %s and %s obsolete %s" - msgstr "" - --#: libdnf/goal/Goal.cpp:1055 -+#: libdnf/goal/Goal.cpp:1141 - msgid "no solver set" - msgstr "" - --#: libdnf/goal/Goal.cpp:1060 -+#: libdnf/goal/Goal.cpp:1146 - #, c-format - msgid "failed to make %s absolute" - msgstr "" - --#: libdnf/goal/Goal.cpp:1067 -+#: libdnf/goal/Goal.cpp:1153 - #, c-format - msgid "failed writing debugdata to %1$s: %2$s" - msgstr "" - --#: libdnf/goal/Goal.cpp:1079 -+#: libdnf/goal/Goal.cpp:1165 - msgid "no solv in the goal" - msgstr "" - --#: libdnf/goal/Goal.cpp:1081 -+#: libdnf/goal/Goal.cpp:1167 - msgid "no solution, cannot remove protected package" - msgstr "" - --#: libdnf/goal/Goal.cpp:1084 -+#: libdnf/goal/Goal.cpp:1170 - msgid "no solution possible" - msgstr "" - --#: libdnf/goal/Goal.cpp:1210 -+#: libdnf/goal/Goal.cpp:1296 - msgid "Problem: " - msgstr "" - --#: libdnf/goal/Goal.cpp:1215 -+#: libdnf/goal/Goal.cpp:1301 - #, c-format - msgid "Problem %d: " - msgstr "" - --#: libdnf/goal/Goal.cpp:1542 -+#: libdnf/goal/Goal.cpp:1634 - msgid "" - "The operation would result in removing the following protected packages: " - msgstr "" -@@ -738,30 +747,30 @@ msgstr "" - msgid "cannot stat path %1$s: %2$s" - msgstr "" - --#: libdnf/module/ModulePackage.cpp:573 -+#: libdnf/module/ModulePackage.cpp:604 - #, c-format - msgid "Invalid format of Platform module: %s" - msgstr "" - --#: libdnf/module/ModulePackage.cpp:588 -+#: libdnf/module/ModulePackage.cpp:619 - msgid "Multiple module platforms provided by available packages\n" - msgstr "" - --#: libdnf/module/ModulePackage.cpp:601 -+#: libdnf/module/ModulePackage.cpp:632 - msgid "Multiple module platforms provided by installed packages\n" - msgstr "" - --#: libdnf/module/ModulePackage.cpp:628 -+#: libdnf/module/ModulePackage.cpp:659 - #, c-format - msgid "Detection of Platform Module in %s failed: %s" - msgstr "" - --#: libdnf/module/ModulePackage.cpp:637 -+#: libdnf/module/ModulePackage.cpp:668 - #, c-format - msgid "Missing PLATFORM_ID in %s" - msgstr "" - --#: libdnf/module/ModulePackage.cpp:642 -+#: libdnf/module/ModulePackage.cpp:673 - msgid "No valid Platform ID detected" - msgstr "" - -@@ -799,32 +808,32 @@ msgstr "" - msgid "Resetting modules:\n" - msgstr "" - --#: libdnf/module/ModulePackageContainer.cpp:1673 -+#: libdnf/module/ModulePackageContainer.cpp:1704 - #, c-format - msgid "Unable to load modular Fail-Safe data at '%s'" - msgstr "" - --#: libdnf/module/ModulePackageContainer.cpp:1679 -+#: libdnf/module/ModulePackageContainer.cpp:1710 - #, c-format - msgid "Unable to load modular Fail-Safe data for module '%s:%s'" - msgstr "" - --#: libdnf/module/ModulePackageContainer.cpp:1762 -+#: libdnf/module/ModulePackageContainer.cpp:1791 - #, c-format - msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" - msgstr "" - --#: libdnf/module/ModulePackageContainer.cpp:1778 -+#: libdnf/module/ModulePackageContainer.cpp:1807 - #, c-format - msgid "Unable to save a modular Fail Safe data to '%s'" - msgstr "" - --#: libdnf/module/ModulePackageContainer.cpp:1801 -+#: libdnf/module/ModulePackageContainer.cpp:1830 - #, c-format - msgid "Unable to remove a modular Fail Safe data in '%s'" - msgstr "" - --#: libdnf/module/ModulePackageContainer.cpp:1833 -+#: libdnf/module/ModulePackageContainer.cpp:1862 - #, c-format - msgid "" - "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " -@@ -856,7 +865,7 @@ msgstr "" - msgid "Failed to upgrade streams: %s" - msgstr "" - --#: libdnf/module/modulemd/ModuleMetadata.cpp:219 -+#: libdnf/module/modulemd/ModuleMetadata.cpp:221 - #, c-format - msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" - msgstr "" -@@ -914,7 +923,7 @@ msgid "Repository '%s' has unsupported type: 'type=%s', skipping." - msgstr "" - - #: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 --#: libdnf/repo/Repo.cpp:1382 -+#: libdnf/repo/Repo.cpp:1400 - #, c-format - msgid "repo '%s': 'basecachedir' is not set" - msgstr "" -@@ -949,125 +958,131 @@ msgstr "" - msgid "%s: gpgme_op_import(): %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 -+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236 -+#: libdnf/repo/Repo.cpp:1279 -+#, c-format -+msgid "Cannot create repo temporary directory \"%s\": %s" -+msgstr "" -+ -+#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917 - #, c-format - msgid "%s: gpgme_ctx_set_engine_info(): %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 -+#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808 - #, c-format - msgid "can not list keys: %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:833 -+#: libdnf/repo/Repo.cpp:837 - #, c-format - msgid "Failed to retrieve GPG key for repo '%s': %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:886 -+#: libdnf/repo/Repo.cpp:890 - #, c-format - msgid "repo %s: 0x%s already imported" - msgstr "" - --#: libdnf/repo/Repo.cpp:914 -+#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79 -+#, c-format -+msgid "Failed to create directory \"%s\": %d - %s" -+msgstr "" -+ -+#: libdnf/repo/Repo.cpp:924 - #, c-format - msgid "repo %s: imported key 0x%s." - msgstr "" - --#: libdnf/repo/Repo.cpp:1162 -+#: libdnf/repo/Repo.cpp:1176 - #, c-format - msgid "reviving: repo '%s' skipped, no metalink." - msgstr "" - --#: libdnf/repo/Repo.cpp:1181 -+#: libdnf/repo/Repo.cpp:1195 - #, c-format - msgid "reviving: repo '%s' skipped, no usable hash." - msgstr "" - --#: libdnf/repo/Repo.cpp:1204 -+#: libdnf/repo/Repo.cpp:1218 - #, c-format - msgid "reviving: failed for '%s', mismatched %s sum." - msgstr "" - --#: libdnf/repo/Repo.cpp:1210 -+#: libdnf/repo/Repo.cpp:1224 - #, c-format - msgid "reviving: '%s' can be revived - metalink checksums match." - msgstr "" - --#: libdnf/repo/Repo.cpp:1235 -+#: libdnf/repo/Repo.cpp:1253 - #, c-format - msgid "reviving: '%s' can be revived - repomd matches." - msgstr "" - --#: libdnf/repo/Repo.cpp:1237 -+#: libdnf/repo/Repo.cpp:1255 - #, c-format - msgid "reviving: failed for '%s', mismatched repomd." - msgstr "" - --#: libdnf/repo/Repo.cpp:1255 -+#: libdnf/repo/Repo.cpp:1273 - #, c-format - msgid "Cannot create repo destination directory \"%s\": %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1261 --#, c-format --msgid "Cannot create repo temporary directory \"%s\": %s" --msgstr "" -- --#: libdnf/repo/Repo.cpp:1275 -+#: libdnf/repo/Repo.cpp:1293 - #, c-format - msgid "Cannot create directory \"%s\": %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1298 -+#: libdnf/repo/Repo.cpp:1316 - #, c-format - msgid "Cannot rename directory \"%s\" to \"%s\": %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1321 -+#: libdnf/repo/Repo.cpp:1339 - #, c-format - msgid "repo: using cache for: %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1333 -+#: libdnf/repo/Repo.cpp:1351 - #, c-format - msgid "Cache-only enabled but no cache for '%s'" - msgstr "" - --#: libdnf/repo/Repo.cpp:1337 -+#: libdnf/repo/Repo.cpp:1355 - #, c-format - msgid "repo: downloading from remote: %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1344 -+#: libdnf/repo/Repo.cpp:1362 - #, c-format - msgid "Failed to download metadata for repo '%s': %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1370 -+#: libdnf/repo/Repo.cpp:1388 - msgid "getCachedir(): Computation of SHA256 failed" - msgstr "" - --#: libdnf/repo/Repo.cpp:1398 -+#: libdnf/repo/Repo.cpp:1416 - #, c-format - msgid "Cannot create persistdir \"%s\": %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1775 -+#: libdnf/repo/Repo.cpp:1793 - msgid "resume cannot be used simultaneously with the byterangestart param" - msgstr "" - --#: libdnf/repo/Repo.cpp:1792 -+#: libdnf/repo/Repo.cpp:1810 - #, c-format - msgid "PackageTarget initialization failed: %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1898 -+#: libdnf/repo/Repo.cpp:1916 - #, c-format - msgid "Cannot open %s: %s" - msgstr "" - --#: libdnf/repo/Repo.cpp:1942 -+#: libdnf/repo/Repo.cpp:1960 - #, c-format - msgid "Log handler with id %ld doesn't exist" - msgstr "" -diff --git a/po/zh_CN.po b/po/zh_CN.po -index 9fb6834d..864983a9 100644 ---- a/po/zh_CN.po -+++ b/po/zh_CN.po -@@ -1,20 +1,21 @@ - # Charles Lee , 2017. #zanata, 2020, 2021. --# Ludek Janda , 2018. #zanata --# Qiyu Yan , 2021. -+# Ludek Janda , 2018. #zanata, 2021. -+# Sundeep Anand , 2021, 2022. - msgid "" - msgstr "" - "Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2021-05-16 09:18-0400\n" --"PO-Revision-Date: 2021-04-23 08:02+0000\n" --"Last-Translator: Charles Lee \n" --"Language-Team: Chinese (Simplified) \n" -+"POT-Creation-Date: 2022-02-28 10:38+0100\n" -+"PO-Revision-Date: 2022-03-02 10:16+0000\n" -+"Last-Translator: Sundeep Anand \n" -+"Language-Team: Chinese (Simplified) \n" - "Language: zh_CN\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Plural-Forms: nplurals=1; plural=0;\n" --"X-Generator: Weblate 4.6\n" -+"X-Generator: Weblate 4.11\n" - - #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40 - msgid "no value specified" -@@ -33,7 +34,7 @@ msgstr "无法把 '%s' 转换为字节" - #: libdnf/conf/ConfigMain.cpp:83 libdnf/conf/OptionSeconds.cpp:66 - #, c-format - msgid "unknown unit '%s'" --msgstr "未知单元 “%s”" -+msgstr "未知单元 '%s'" - - #: libdnf/conf/ConfigMain.cpp:204 libdnf/conf/OptionEnum.cpp:83 - #: libdnf/conf/OptionNumber.cpp:88 -@@ -41,16 +42,14 @@ msgid "invalid value" - msgstr "无效值" - - #: libdnf/conf/ConfigMain.cpp:207 --#, fuzzy --#| msgid "'%s' is not an allowed value" - msgid "value 1 is not allowed" --msgstr "'%s' 不是一个允许的值" -+msgstr "1 不是一个被允许的值" - - #: libdnf/conf/ConfigMain.cpp:209 - msgid "negative value is not allowed" --msgstr "" -+msgstr "负数值不被允许" - --#: libdnf/conf/ConfigMain.cpp:341 -+#: libdnf/conf/ConfigMain.cpp:343 - #, c-format - msgid "percentage '%s' is out of range" - msgstr "百分数 '%s' 超出范围" -@@ -58,23 +57,23 @@ msgstr "百分数 '%s' 超出范围" - #: libdnf/conf/OptionBinds.cpp:85 - #, c-format - msgid "Configuration: OptionBinding with id \"%s\" does not exist" --msgstr "配置:ID 为 \"%s\" 的 OptionBinding 不存在" -+msgstr "配置:ID 为 \"%s\" 的 OptionBinding 不存在" - - #: libdnf/conf/OptionBinds.cpp:97 - #, c-format - msgid "Configuration: OptionBinding with id \"%s\" already exists" --msgstr "配置:ID 为 \"%s\" 的 OptionBinding 已存在" -+msgstr "配置:ID 为 \"%s\" 的 OptionBinding 已存在" - - #: libdnf/conf/OptionBool.cpp:47 - #, c-format - msgid "invalid boolean value '%s'" --msgstr "无效的布尔值“%s”" -+msgstr "无效的布尔值 '%s'" - - #: libdnf/conf/OptionEnum.cpp:72 libdnf/conf/OptionEnum.cpp:158 - #: libdnf/conf/OptionString.cpp:64 libdnf/conf/OptionStringList.cpp:59 - #, c-format - msgid "'%s' is not an allowed value" --msgstr "'%s' 不是一个允许的值" -+msgstr "'%s' 不是一个允许的值" - - #: libdnf/conf/OptionNumber.cpp:73 - #, c-format -@@ -105,128 +104,148 @@ msgstr "无法把 '%s' 转换为秒" - msgid "GetValue(): Value not set" - msgstr "GetValue(): 值没有设置" - --#: libdnf/dnf-context.cpp:3170 libdnf/dnf-context.cpp:3179 -+#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187 - #, c-format - msgid "Cannot enable more streams from module '%s' at the same time" - msgstr "无法同时从模块 '%s' 中启用更多流" - --#: libdnf/dnf-context.cpp:3188 libdnf/dnf-context.cpp:3206 -+#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214 - #, c-format - msgid "" - "Cannot enable module '%1$s' stream '%2$s': State of module already modified" - msgstr "无法启用模块 '%1$s' 流 '%2$s':已经修改的模块状态" - --#: libdnf/dnf-context.cpp:3253 -+#: libdnf/dnf-context.cpp:3263 - #, c-format - msgid "Modular dependency problem with Defaults: %s" - msgstr "默认设置的模块依赖性问题:%s" - --#: libdnf/dnf-context.cpp:3256 --#, fuzzy, c-format --#| msgid "some dependency problem" -+#: libdnf/dnf-context.cpp:3266 -+#, c-format - msgid "Modular dependency problem with the latest modules: %s" --msgstr "一些依赖问题" -+msgstr "最新模块的模块化依赖关系问题: %s" - --#: libdnf/dnf-context.cpp:3260 --#, fuzzy, c-format --#| msgid "some dependency problem" -+#: libdnf/dnf-context.cpp:3270 -+#, c-format - msgid "Modular dependency problem: %s" --msgstr "一些依赖问题" -+msgstr "模块依赖问题:%s" - --#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318 --#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368 --#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416 --#: libdnf/dnf-context.cpp:3460 libdnf/dnf-context.cpp:3470 --#, fuzzy, c-format --#| msgid "Failed to resolve: %s" -+#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317 -+#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367 -+#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415 -+#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474 -+#, c-format - msgid "Unable to resolve argument '%s'" --msgstr "无法解析: %s" -+msgstr "无法解析参数 '%s'" - --#: libdnf/dnf-context.cpp:3301 -+#: libdnf/dnf-context.cpp:3300 - #, c-format - msgid "" --"Only module name is required. Ignoring unneeded information in argument: " --"'%s'" -+"Only module name is required. Ignoring unneeded information in argument: '%s'" - msgstr "只需要模块名。忽略参数 '%s' 中的无用信息" - --#: libdnf/dnf-context.cpp:3315 -+#: libdnf/dnf-context.cpp:3314 - #, c-format - msgid "Cannot reset module '%s': State of module already modified" - msgstr "无法重置模块 '%s':已修改的模块状态" - --#: libdnf/dnf-context.cpp:3326 -+#: libdnf/dnf-context.cpp:3325 - #, c-format - msgid "Cannot disable module '%s': State of module already modified" - msgstr "无法禁用模块 '%s':已经修改的模块状态" - --#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3449 --#: libdnf/dnf-context.cpp:3559 -+#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452 -+#: libdnf/dnf-context.cpp:3633 - msgid "No modular data available" --msgstr "" -+msgstr "没有可用的模块数据" - --#: libdnf/dnf-context.cpp:3374 -+#: libdnf/dnf-context.cpp:3373 - #, c-format - msgid "Ignoring unneeded information in argument: '%s'" --msgstr "" -+msgstr "忽略参数:\"%s\" 中不需要的信息" - --#: libdnf/dnf-context.cpp:3412 -+#: libdnf/dnf-context.cpp:3411 - #, c-format - msgid "" - "Problem during enablement of dependency tree for module '%1$s' stream " - "'%2$s': %3$s" --msgstr "" -+msgstr "为模块 '%1$s' 流 '%2$s' 启用依赖树时出现问题: %3$s" - --#: libdnf/dnf-context.cpp:3424 --msgid "Problems appeared for module enable request" --msgstr "" -+#: libdnf/dnf-context.cpp:3423 -+msgid "Problems appeared for module enable request:" -+msgstr "模块启用请求出现问题:" - --#. this really should never happen; unless the modular repodata is corrupted --#: libdnf/dnf-context.cpp:3496 -+#: libdnf/dnf-context.cpp:3518 - #, c-format --msgid "Failed to parse module artifact NEVRA '%s'" --msgstr "" -+msgid "No active module packages found for module spec '%s'" -+msgstr "未找到模块规范 '%s' 的活动模块包" -+ -+#: libdnf/dnf-context.cpp:3523 -+#, c-format -+msgid "Cannot install module '%s' from fail-safe repository" -+msgstr "无法从故障保护存储库安装模块 '%s'" - - #: libdnf/dnf-context.cpp:3530 --msgid "Problems appeared for module install request" --msgstr "" -+#, c-format -+msgid "No profile found matching '%s'" -+msgstr "未找到匹配 '%s' 的配置文件" - --#: libdnf/dnf-context.cpp:3590 --msgid "Problems appeared for module reset request" --msgstr "" -+#: libdnf/dnf-context.cpp:3584 -+#, c-format -+msgid "No match for package '%s' for module spec %s" -+msgstr "没有匹配模块规范 %s 的包 '%s'" - --#: libdnf/dnf-context.cpp:3592 --msgid "Problems appeared for module disable request" --msgstr "" -+#: libdnf/dnf-context.cpp:3595 -+#, c-format -+msgid "Problem during install for module '%1$s' stream '%2$s': %3$s" -+msgstr "在安装模块 '%1$s' 流 '%2$s'时的问题:%3$s" - --#: libdnf/dnf-context.cpp:3628 -+#: libdnf/dnf-context.cpp:3604 -+msgid "Problems appeared for module install request:" -+msgstr "模块安装请求出现问题:" -+ -+#: libdnf/dnf-context.cpp:3663 -+msgid "Problems appeared for module reset request:" -+msgstr "模块重置请求出现问题:" -+ -+#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723 -+msgid "Problems appeared for module disable request:" -+msgstr "模块禁用请求出现问题:" -+ -+#: libdnf/dnf-context.cpp:3755 - #, c-format - msgid "" --"The operation would result in switching of module '%s' stream '%s' to stream" --" '%s'" --msgstr "" -+"The operation would result in switching of module '%s' stream '%s' to stream " -+"'%s'" -+msgstr "这个操作会把模块 '%s' 从流 '%s' 切换到流 '%s'" - --#: libdnf/dnf-context.cpp:3632 -+#: libdnf/dnf-context.cpp:3759 - 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 'microdnf 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 'microdnf module reset ' command. After you " -+"reset the module, you can install the other stream." - msgstr "" -+"无法切换一个模块已启用的流。 \n" -+"推荐从模块中删除所有已安装的内容,使用 'microdnf module reset ' " -+"命令重置模块。在重置模块后就可以安装其他流。" - --#: libdnf/dnf-goal.cpp:85 -+#: libdnf/dnf-goal.cpp:107 - msgid "Could not depsolve transaction; " --msgstr "无法 depsolve 事务: " -+msgstr "无法 depsolve 事务; " - --#: libdnf/dnf-goal.cpp:87 -+#: libdnf/dnf-goal.cpp:109 - #, c-format - msgid "%i problem detected:\n" - msgid_plural "%i problems detected:\n" - msgstr[0] "发现 %i 问题:\n" - --#: libdnf/dnf-goal.cpp:95 -+#: libdnf/dnf-goal.cpp:117 - #, c-format - msgid " Problem %1$i: %2$s\n" - msgstr " 问题 %1$i: %2$s\n" - --#: libdnf/dnf-goal.cpp:97 -+#: libdnf/dnf-goal.cpp:119 - #, c-format - msgid " Problem: %s\n" - msgstr " 问题: %s\n" -@@ -236,7 +255,7 @@ msgstr " 问题: %s\n" - msgid "" - "No available modular metadata for modular package '%s'; cannot be installed " - "on the system" --msgstr "对于模块软件包 '%s' 没有可用的模块元数据,它将不能被安装至此系统上" -+msgstr "模块软件包 '%s' 没有可用的模块元数据,它将不能被安装至此系统上" - - #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166 - #, c-format -@@ -291,87 +310,87 @@ msgstr "无法找到软件包 %s" - msgid "could not add erase element %1$s(%2$i)" - msgstr "无法添加删除元素 %1$s(%2$i)" - --#: libdnf/dnf-sack.cpp:395 -+#: libdnf/dnf-sack.cpp:394 - msgid "failed to add solv" - msgstr "添加 solv 失败" - --#: libdnf/dnf-sack.cpp:414 -+#: libdnf/dnf-sack.cpp:413 - #, c-format - msgid "no %1$s string for %2$s" - msgstr "没有为 %2$s 的 %1$s 字符串" - --#: libdnf/dnf-sack.cpp:424 -+#: libdnf/dnf-sack.cpp:423 - #, c-format - msgid "failed to open: %s" - msgstr "打开失败:%s" - --#: libdnf/dnf-sack.cpp:503 -+#: libdnf/dnf-sack.cpp:502 - #, c-format - msgid "cannot create temporary file: %s" - msgstr "不能创建临时文件: %s" - --#: libdnf/dnf-sack.cpp:513 -+#: libdnf/dnf-sack.cpp:512 - #, c-format - msgid "failed opening tmp file: %s" - msgstr "打开 tmp 文件失败: %s" - --#: libdnf/dnf-sack.cpp:525 -+#: libdnf/dnf-sack.cpp:524 - #, c-format - msgid "write_main() failed writing data: %i" - msgstr "write_main() 写数据失败: %i" - --#: libdnf/dnf-sack.cpp:542 -+#: libdnf/dnf-sack.cpp:541 - msgid "write_main() failed to re-load written solv file" - msgstr "write_main() 重新加载写的 solv 文件失败" - --#: libdnf/dnf-sack.cpp:607 -+#: libdnf/dnf-sack.cpp:606 - #, c-format - msgid "can not create temporary file %s" - msgstr "不能创建临时文件 %s" - --#: libdnf/dnf-sack.cpp:625 -+#: libdnf/dnf-sack.cpp:624 - #, c-format - msgid "write_ext(%1$d) has failed: %2$d" - msgstr "write_ext(%1$d) 已失败: %2$d" - --#: libdnf/dnf-sack.cpp:680 -+#: libdnf/dnf-sack.cpp:679 - msgid "null repo md file" - msgstr "null repo md 文件" - --#: libdnf/dnf-sack.cpp:689 -+#: libdnf/dnf-sack.cpp:688 - #, c-format - msgid "can not read file %1$s: %2$s" - msgstr "不能读文件 %1$s: %2$s" - --#: libdnf/dnf-sack.cpp:703 -+#: libdnf/dnf-sack.cpp:702 - msgid "repo_add_solv() has failed." - msgstr "repo_add_solv() 已失败。" - --#: libdnf/dnf-sack.cpp:716 -+#: libdnf/dnf-sack.cpp:715 - msgid "loading of MD_TYPE_PRIMARY has failed." - msgstr "加载 MD_TYPE_PRIMARY 失败。" - --#: libdnf/dnf-sack.cpp:729 -+#: libdnf/dnf-sack.cpp:728 - msgid "repo_add_repomdxml/rpmmd() has failed." - msgstr "repo_add_repomdxml/rpmmd() 已失败。" - --#: libdnf/dnf-sack.cpp:796 -+#: libdnf/dnf-sack.cpp:795 - msgid "failed to auto-detect architecture" - msgstr "自动检测架构失败" - --#: libdnf/dnf-sack.cpp:961 -+#: libdnf/dnf-sack.cpp:960 - #, c-format - msgid "failed creating cachedir %s" - msgstr "无法创建 cachedir %s" - --#: libdnf/dnf-sack.cpp:1738 -+#: libdnf/dnf-sack.cpp:1737 - msgid "failed loading RPMDB" - msgstr "无法加载 RPMDB" - --#: libdnf/dnf-sack.cpp:2462 -+#: libdnf/dnf-sack.cpp:2521 - #, c-format - msgid "No module defaults found: %s" --msgstr "" -+msgstr "没有找到模块默认设置:%s" - - #: libdnf/dnf-state.cpp:1184 - #, c-format -@@ -397,64 +416,73 @@ msgstr "在一个没有设置大小的状态 %1$p 中做! [%2$s]" - msgid "already at 100%% state [%s]" - msgstr "已是 100%% 状态 [%s]" - --#: libdnf/dnf-transaction.cpp:300 -+#: libdnf/dnf-transaction.cpp:302 - #, c-format - msgid "Sources not set when trying to ensure package %s" - msgstr "在尝试确保软件包 %s 时源没有设置" - --#: libdnf/dnf-transaction.cpp:326 -+#: libdnf/dnf-transaction.cpp:328 - #, c-format - msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)" - msgstr "无法确保 %1$s,因为 repo %2$s 没有找到 (%3$i repos 已加载)" - --#: libdnf/dnf-transaction.cpp:367 -+#: libdnf/dnf-transaction.cpp:369 - msgid "Failed to check untrusted: " --msgstr "检查不被信任失败: " -+msgstr "检查不被信任失败 : " - --#: libdnf/dnf-transaction.cpp:377 -+#: libdnf/dnf-transaction.cpp:379 - #, c-format - msgid "Downloaded file for %s not found" - msgstr "没有找到下载的文件 %s" - --#: libdnf/dnf-transaction.cpp:397 -+#: libdnf/dnf-transaction.cpp:399 - #, c-format - msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" - msgstr "软件包 %1$s 不能被验证,repo %2$s 启用了 GPG: %3$s" - --#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 -+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905 - msgid "Failed to get value for CacheDir" - msgstr "无法为 CacheDir 获得值" - --#: libdnf/dnf-transaction.cpp:911 -+#: libdnf/dnf-transaction.cpp:913 - #, c-format - msgid "Failed to get filesystem free size for %s: " --msgstr "无法为 %s 获得文件系统可用空间的大小: " -+msgstr "无法为 %s 获得文件系统可用空间的大小: " - --#: libdnf/dnf-transaction.cpp:919 -+#: libdnf/dnf-transaction.cpp:921 - #, c-format - msgid "Failed to get filesystem free size for %s" - msgstr "无法为 %s 获得文件系统可用空间的大小" - --#: libdnf/dnf-transaction.cpp:935 -+#: libdnf/dnf-transaction.cpp:937 - #, c-format - msgid "Not enough free space in %1$s: needed %2$s, available %3$s" - msgstr "%1$s 没有足够的空闲空间: 需要 %2$s,可用 %3$s" - --#: libdnf/dnf-transaction.cpp:1195 -+#: libdnf/dnf-transaction.cpp:1196 - msgid "failed to set root" - msgstr "设置 root 失败" - --#: libdnf/dnf-transaction.cpp:1416 -+#: libdnf/dnf-transaction.cpp:1417 - #, c-format - msgid "Error %i running transaction test" --msgstr "错误 %i 运行事务测试" -+msgstr "运行事务测试时错误 %i" - --#: libdnf/dnf-transaction.cpp:1456 -+#: libdnf/dnf-transaction.cpp:1441 -+#, c-format -+msgid "Error %i opening rpm database" -+msgstr "打开 rpm 数据库时错误 %i" -+ -+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495 -+msgid "The rpmdbCookie() function did not return cookie of rpm database." -+msgstr "rpmdbCookie()函数没有返回 rpm 数据库的 cookie。" -+ -+#: libdnf/dnf-transaction.cpp:1464 - #, c-format - msgid "Error %i running transaction" --msgstr "错误 %i 运行事务" -+msgstr "运行事务时错误 %i" - --#: libdnf/dnf-transaction.cpp:1472 -+#: libdnf/dnf-transaction.cpp:1480 - #, c-format - msgid "Transaction did not go to writing phase, but returned no error(%i)" - msgstr "事务没有进入写阶段,但没有返回错误(%i)" -@@ -545,51 +573,51 @@ msgstr "软件包 %s 被排除过滤过滤掉" - #: libdnf/goal/Goal.cpp:105 - #, c-format - msgid "nothing provides %s needed by %s" --msgstr "" -+msgstr "没有东西可提供 %s(%s 需要)" - - #: libdnf/goal/Goal.cpp:106 - #, c-format - msgid "cannot install both %s and %s" --msgstr "" -+msgstr "无法同时安装 %s 和 %s" - - #: libdnf/goal/Goal.cpp:107 - #, c-format - msgid "package %s conflicts with %s provided by %s" --msgstr "" -+msgstr "软件包 %s 与 %s(由 %s 提供)冲突" - - #: libdnf/goal/Goal.cpp:108 - #, c-format - msgid "package %s obsoletes %s provided by %s" --msgstr "" -+msgstr "软件包 %s 取代了 %s(由 %s 提供)" - - #: libdnf/goal/Goal.cpp:109 - #, c-format - msgid "installed package %s obsoletes %s provided by %s" --msgstr "" -+msgstr "已安装的软件包 %s 取代了 %s(由 %s 提供)" - - #: libdnf/goal/Goal.cpp:110 - #, c-format - msgid "package %s implicitly obsoletes %s provided by %s" --msgstr "" -+msgstr "软件包 %s 隐式地取代了 %s(由 %s 提供)" - - #: libdnf/goal/Goal.cpp:111 - #, c-format - msgid "package %s requires %s, but none of the providers can be installed" --msgstr "" -+msgstr "软件包 %s 需要 %s,但没有提供者可以被安装" - - #: libdnf/goal/Goal.cpp:112 - #, c-format - msgid "package %s conflicts with %s provided by itself" --msgstr "" -+msgstr "软件包 %s 与自己提供的 %s 冲突" - - #: libdnf/goal/Goal.cpp:113 - #, c-format - msgid "both package %s and %s obsolete %s" --msgstr "" -+msgstr "软件包 %s 和 %s 同时取代了 %s" - - #: libdnf/goal/Goal.cpp:119 - msgid "problem with installed module " --msgstr "" -+msgstr "已安装模块的问题 " - - #: libdnf/goal/Goal.cpp:123 - #, c-format -@@ -598,110 +626,107 @@ msgstr "模块 %s 不存在" - - #: libdnf/goal/Goal.cpp:126 - msgid "cannot install the best update candidate for module " --msgstr "" -+msgstr "无法为模块安装最佳更新候选 " - - #: libdnf/goal/Goal.cpp:128 libdnf/goal/Goal.cpp:131 - #, c-format - msgid "module %s is disabled" --msgstr "" -+msgstr "模块 %s 被禁用" - - #: libdnf/goal/Goal.cpp:129 - #, c-format - msgid "module %s does not have a compatible architecture" --msgstr "" -+msgstr "模块 %s 没有兼容的架构" - - #: libdnf/goal/Goal.cpp:130 - #, c-format - msgid "module %s is not installable" --msgstr "" -+msgstr "模块 %s 不可安装" - - #: libdnf/goal/Goal.cpp:132 - #, c-format - msgid "nothing provides %s needed by module %s" --msgstr "" -+msgstr "没有东西提供 %s(模块 %s 需要它)" - - #: libdnf/goal/Goal.cpp:133 - #, c-format - msgid "cannot install both modules %s and %s" --msgstr "" -+msgstr "无法同时安装模块 %s 和 %s" - - #: libdnf/goal/Goal.cpp:134 - #, c-format - msgid "module %s conflicts with %s provided by %s" --msgstr "" -+msgstr "模块 %s 与 %s (由 %s 提供)冲突" - - #: libdnf/goal/Goal.cpp:135 - #, c-format - msgid "module %s obsoletes %s provided by %s" --msgstr "" -+msgstr "模块 %s 取代了 %s(由 %s 提供)" - - #: libdnf/goal/Goal.cpp:136 - #, c-format - msgid "installed module %s obsoletes %s provided by %s" --msgstr "" -+msgstr "已安装的模块 %s 取代了 %s(由 %s 提供)" - - #: libdnf/goal/Goal.cpp:137 - #, c-format - msgid "module %s implicitly obsoletes %s provided by %s" --msgstr "" -+msgstr "模块 %s 隐式地取代了 %s(由 %s 提供)" - - #: libdnf/goal/Goal.cpp:138 - #, c-format - msgid "module %s requires %s, but none of the providers can be installed" --msgstr "" -+msgstr "模块 %s 需要 %s,但没有提供者可以被安装" - - #: libdnf/goal/Goal.cpp:139 - #, c-format - msgid "module %s conflicts with %s provided by itself" --msgstr "" -+msgstr "模块 %s 与自己提供的 %s 冲突" - - #: libdnf/goal/Goal.cpp:140 - #, c-format - msgid "both module %s and %s obsolete %s" --msgstr "" -+msgstr "模块 %s 和 %s 同时取代了 %s" - --#: libdnf/goal/Goal.cpp:1055 -+#: libdnf/goal/Goal.cpp:1141 - msgid "no solver set" - msgstr "无 solver 设置" - --#: libdnf/goal/Goal.cpp:1060 -+#: libdnf/goal/Goal.cpp:1146 - #, c-format - msgid "failed to make %s absolute" - msgstr "无法使 %s 绝对" - --#: libdnf/goal/Goal.cpp:1067 -+#: libdnf/goal/Goal.cpp:1153 - #, c-format - msgid "failed writing debugdata to %1$s: %2$s" - msgstr "把 debugdata 写入到 %1$s 失败: %2$s" - --#: libdnf/goal/Goal.cpp:1079 -+#: libdnf/goal/Goal.cpp:1165 - msgid "no solv in the goal" - msgstr "在目标中没有 solv" - --#: libdnf/goal/Goal.cpp:1081 -+#: libdnf/goal/Goal.cpp:1167 - msgid "no solution, cannot remove protected package" - msgstr "没有解决方案,不能删除保护的软件包" - --#: libdnf/goal/Goal.cpp:1084 -+#: libdnf/goal/Goal.cpp:1170 - msgid "no solution possible" - msgstr "没有可能的解决方案" - --#: libdnf/goal/Goal.cpp:1210 --#, fuzzy --#| msgid " Problem: %s\n" -+#: libdnf/goal/Goal.cpp:1296 - msgid "Problem: " --msgstr "问题: %s " -+msgstr "问题: " - --#: libdnf/goal/Goal.cpp:1215 --#, fuzzy, c-format --#| msgid " Problem: %s\n" -+#: libdnf/goal/Goal.cpp:1301 -+#, c-format - msgid "Problem %d: " --msgstr "问题: %s " -+msgstr "问题 %d: " - --#: libdnf/goal/Goal.cpp:1542 -+#: libdnf/goal/Goal.cpp:1634 - msgid "" - "The operation would result in removing the following protected packages: " --msgstr "这个操作可能会导致删除以下受保护的软件包: " -+msgstr "这个操作将会导致删除以下受保护的软件包: " - - #: libdnf/hy-iutil.cpp:326 - #, c-format -@@ -721,105 +746,105 @@ msgstr "无法创建目录 %1$s: %2$s" - #: libdnf/hy-iutil.cpp:415 - #, c-format - msgid "cannot stat path %1$s: %2$s" --msgstr "" -+msgstr "无法 stat 路径 %1$s: %2$s" - --#: libdnf/module/ModulePackage.cpp:573 -+#: libdnf/module/ModulePackage.cpp:604 - #, c-format - msgid "Invalid format of Platform module: %s" --msgstr "" -+msgstr "Platform 模块格式无效 : %s" - --#: libdnf/module/ModulePackage.cpp:588 -+#: libdnf/module/ModulePackage.cpp:619 - msgid "Multiple module platforms provided by available packages\n" --msgstr "" -+msgstr "可用软件包提供了多个模块平台\n" - --#: libdnf/module/ModulePackage.cpp:601 -+#: libdnf/module/ModulePackage.cpp:632 - msgid "Multiple module platforms provided by installed packages\n" --msgstr "" -+msgstr "已安装的软件包提供了多个模块平台\n" - --#: libdnf/module/ModulePackage.cpp:628 -+#: libdnf/module/ModulePackage.cpp:659 - #, c-format - msgid "Detection of Platform Module in %s failed: %s" --msgstr "" -+msgstr "检测 %s 中的 Platform 模块失败: %s" - --#: libdnf/module/ModulePackage.cpp:637 -+#: libdnf/module/ModulePackage.cpp:668 - #, c-format - msgid "Missing PLATFORM_ID in %s" --msgstr "" -+msgstr "在 %s 中缺少 PLATFORM_ID" - --#: libdnf/module/ModulePackage.cpp:642 -+#: libdnf/module/ModulePackage.cpp:673 - msgid "No valid Platform ID detected" --msgstr "" -+msgstr "没有检测到有效的 Platform ID" - - #: libdnf/module/ModulePackageContainer.cpp:107 - #, c-format - msgid "Cannot enable multiple streams for module '%s'" --msgstr "" -+msgstr "无法为模块 '%s' 启用多个流" - - #: libdnf/module/ModulePackageContainer.cpp:346 - #, c-format - msgid "Conflicting defaults with repo '%s': %s" --msgstr "" -+msgstr "默认设置与 repo '%s' 冲突 : %s" - --#: libdnf/module/ModulePackageContainer.cpp:918 -+#: libdnf/module/ModulePackageContainer.cpp:917 - msgid "Installing module profiles:\n" --msgstr "" -+msgstr "安装模块配置档案:\n" - --#: libdnf/module/ModulePackageContainer.cpp:933 -+#: libdnf/module/ModulePackageContainer.cpp:932 - msgid "Disabling module profiles:\n" --msgstr "" -+msgstr "禁用模块配置档案:\n" - --#: libdnf/module/ModulePackageContainer.cpp:948 -+#: libdnf/module/ModulePackageContainer.cpp:947 - msgid "Enabling module streams:\n" --msgstr "" -+msgstr "启用模块流:\n" - --#: libdnf/module/ModulePackageContainer.cpp:962 -+#: libdnf/module/ModulePackageContainer.cpp:961 - msgid "Switching module streams:\n" --msgstr "" -+msgstr "切换模块流:\n" - --#: libdnf/module/ModulePackageContainer.cpp:980 -+#: libdnf/module/ModulePackageContainer.cpp:979 - msgid "Disabling modules:\n" --msgstr "" -+msgstr "禁用模块:\n" - --#: libdnf/module/ModulePackageContainer.cpp:991 -+#: libdnf/module/ModulePackageContainer.cpp:990 - msgid "Resetting modules:\n" --msgstr "" -+msgstr "重置模块:\n" - --#: libdnf/module/ModulePackageContainer.cpp:1674 -+#: libdnf/module/ModulePackageContainer.cpp:1704 - #, c-format - msgid "Unable to load modular Fail-Safe data at '%s'" --msgstr "" -+msgstr "无法加载位于 '%s' 的模块 Fail-Safe 数据" - --#: libdnf/module/ModulePackageContainer.cpp:1680 -+#: libdnf/module/ModulePackageContainer.cpp:1710 - #, c-format - msgid "Unable to load modular Fail-Safe data for module '%s:%s'" --msgstr "" -+msgstr "无法为模块 '%s:%s' 加载模块 Fail-Safe 数据" - --#: libdnf/module/ModulePackageContainer.cpp:1763 -+#: libdnf/module/ModulePackageContainer.cpp:1791 - #, c-format - msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" --msgstr "" -+msgstr "无法为模块 Fail Safe 数据创建目录 \"%s\" : %s" - --#: libdnf/module/ModulePackageContainer.cpp:1779 -+#: libdnf/module/ModulePackageContainer.cpp:1807 - #, c-format - msgid "Unable to save a modular Fail Safe data to '%s'" --msgstr "" -+msgstr "无法把模块 Fail Safe 数据保存到 '%s'" - --#: libdnf/module/ModulePackageContainer.cpp:1802 -+#: libdnf/module/ModulePackageContainer.cpp:1830 - #, c-format - msgid "Unable to remove a modular Fail Safe data in '%s'" --msgstr "" -+msgstr "无法删除 '%s' 处的模块 Fail Safe 数据" - --#: libdnf/module/ModulePackageContainer.cpp:1834 -+#: libdnf/module/ModulePackageContainer.cpp:1862 - #, c-format - msgid "" - "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " - "disabled" --msgstr "" -+msgstr "无法将模块化过时应用到 '%s:%s',因为目标模块 '%s' 被禁用" - - #: libdnf/module/modulemd/ModuleMetadata.cpp:86 - #, c-format - msgid "Failed to update from string: %s" --msgstr "" -+msgstr "无法从字符串更新: %s" - - #: libdnf/module/modulemd/ModuleMetadata.cpp:110 - #, c-format -@@ -829,57 +854,57 @@ msgstr "无法解析: %s" - #: libdnf/module/modulemd/ModuleMetadata.cpp:115 - #, c-format - msgid "There were errors while resolving modular defaults: %s" --msgstr "" -+msgstr "在解析模块默认值时出现了错误:%s" - - #: libdnf/module/modulemd/ModuleMetadata.cpp:120 - #, c-format - msgid "Failed to upgrade defaults: %s" --msgstr "" -+msgstr "无法升级默认值: %s" - - #: libdnf/module/modulemd/ModuleMetadata.cpp:123 - #, c-format - msgid "Failed to upgrade streams: %s" --msgstr "" -+msgstr "升级流失败: %s" - --#: libdnf/module/modulemd/ModuleMetadata.cpp:219 -+#: libdnf/module/modulemd/ModuleMetadata.cpp:221 - #, c-format - msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" --msgstr "" -+msgstr "无法获取模块过时,因为没有流匹配 %s:%s" - - #: libdnf/plugin/plugin.cpp:46 - #, c-format - msgid "Can't load shared library \"%s\": %s" --msgstr "" -+msgstr "无法加载共享库 \"%s\": %s" - - #: libdnf/plugin/plugin.cpp:61 libdnf/plugin/plugin.cpp:67 - #: libdnf/plugin/plugin.cpp:73 libdnf/plugin/plugin.cpp:79 - #, c-format - msgid "Can't obtain address of symbol \"%s\": %s" --msgstr "" -+msgstr "无法获取符号 \"%s\" 的地址: %s" - - #: libdnf/plugin/plugin.cpp:86 - #, c-format - msgid "Loading plugin file=\"%s\"" --msgstr "" -+msgstr "正在加载插件文件=\"%s\"" - - #: libdnf/plugin/plugin.cpp:89 - #, c-format - msgid "Loaded plugin name=\"%s\", version=\"%s\"" --msgstr "" -+msgstr "已加载插件名=\"%s\", 版本=\"%s\"" - - #: libdnf/plugin/plugin.cpp:96 - msgid "Plugins::loadPlugins() dirPath cannot be empty" --msgstr "" -+msgstr "Plugins::loadPlugins() dirPath 不能为空" - - #: libdnf/plugin/plugin.cpp:105 - #, c-format - msgid "Can't read plugin directory \"%s\": %s" --msgstr "" -+msgstr "无法读取插件目录 \"%s\": %s" - - #: libdnf/plugin/plugin.cpp:114 - #, c-format - msgid "Can't load plugin \"%s\": %s" --msgstr "" -+msgstr "无法加载插件 \"%s\": %s" - - #: libdnf/repo/DependencySplitter.cpp:50 - msgid "" -@@ -887,6 +912,8 @@ msgid "" - "deprecated and the support will be dropped in future versions. Use '=' " - "operator instead." - msgstr "" -+"在 reldeps 中使用 '==' 操作符可能导致一个未定义的行为。这个操作符已被废弃,并" -+"且在未来的版本中会取消对它的支持。请使用 '=' 操作符代替。" - - #: libdnf/repo/Repo.cpp:321 - #, c-format -@@ -899,25 +926,25 @@ msgid "Repository '%s' has unsupported type: 'type=%s', skipping." - msgstr "仓库 '%s' 有不被支持的类型: 'type=%s', 忽略。" - - #: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 --#: libdnf/repo/Repo.cpp:1382 -+#: libdnf/repo/Repo.cpp:1400 - #, c-format - msgid "repo '%s': 'basecachedir' is not set" --msgstr "" -+msgstr "Repo '%s': 'basecachedir' 没有设置" - - #: libdnf/repo/Repo.cpp:512 - msgid "" --"Maximum download speed is lower than minimum. Please change configuration of" --" minrate or throttle" -+"Maximum download speed is lower than minimum. Please change configuration of " -+"minrate or throttle" - msgstr "最大下载速度低于最小值。请修改 minrate 或 throttle 的配置" - - #: libdnf/repo/Repo.cpp:546 - #, c-format - msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" --msgstr "" -+msgstr "Repo '%s': 'proxy_username' 已被设置,但没有设置 'proxy_password'" - - #: libdnf/repo/Repo.cpp:548 - msgid "'proxy_username' is set but not 'proxy_password'" --msgstr "" -+msgstr "'proxy_username' 已被设置,但没有设置 'proxy_password'" - - #: libdnf/repo/Repo.cpp:629 - #, c-format -@@ -934,125 +961,131 @@ msgstr "%s: gpgme_data_new_from_fd(): %s" - msgid "%s: gpgme_op_import(): %s" - msgstr "%s: gpgme_op_import(): %s" - --#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 -+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236 -+#: libdnf/repo/Repo.cpp:1279 -+#, c-format -+msgid "Cannot create repo temporary directory \"%s\": %s" -+msgstr "无法创建 repo 临时目录 \"%s\": %s" -+ -+#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917 - #, c-format - msgid "%s: gpgme_ctx_set_engine_info(): %s" - msgstr "%s: gpgme_ctx_set_engine_info(): %s" - --#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 -+#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808 - #, c-format - msgid "can not list keys: %s" - msgstr "不能列出 key: %s" - --#: libdnf/repo/Repo.cpp:833 -+#: libdnf/repo/Repo.cpp:837 - #, c-format - msgid "Failed to retrieve GPG key for repo '%s': %s" --msgstr "" -+msgstr "为仓库 '%s' 获取 GPG 密钥失败 : %s" - --#: libdnf/repo/Repo.cpp:886 -+#: libdnf/repo/Repo.cpp:890 - #, c-format - msgid "repo %s: 0x%s already imported" - msgstr "repo %s: 0x%s 已被导入" - --#: libdnf/repo/Repo.cpp:914 -+#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79 -+#, c-format -+msgid "Failed to create directory \"%s\": %d - %s" -+msgstr "无法创建目录 \"%s\": %d - %s" -+ -+#: libdnf/repo/Repo.cpp:924 - #, c-format - msgid "repo %s: imported key 0x%s." - msgstr "repo %s: 已导入密钥 0x%s。" - --#: libdnf/repo/Repo.cpp:1162 -+#: libdnf/repo/Repo.cpp:1176 - #, c-format - msgid "reviving: repo '%s' skipped, no metalink." - msgstr "恢复中: 仓库 '%s' 已被跳过,无 metalink。" - --#: libdnf/repo/Repo.cpp:1181 -+#: libdnf/repo/Repo.cpp:1195 - #, c-format - msgid "reviving: repo '%s' skipped, no usable hash." - msgstr "恢复中: 仓库 '%s' 已被跳过,无可用 hash。" - --#: libdnf/repo/Repo.cpp:1204 -+#: libdnf/repo/Repo.cpp:1218 - #, c-format - msgid "reviving: failed for '%s', mismatched %s sum." - msgstr "恢复: '%s' 失败,不匹配的 %s sum。" - --#: libdnf/repo/Repo.cpp:1210 -+#: libdnf/repo/Repo.cpp:1224 - #, c-format - msgid "reviving: '%s' can be revived - metalink checksums match." - msgstr "恢复中: '%s' 可以被恢复 - metalink 校验和匹配。" - --#: libdnf/repo/Repo.cpp:1235 -+#: libdnf/repo/Repo.cpp:1253 - #, c-format - msgid "reviving: '%s' can be revived - repomd matches." - msgstr "恢复: '%s' 可用被恢复 - repomd 匹配。" - --#: libdnf/repo/Repo.cpp:1237 -+#: libdnf/repo/Repo.cpp:1255 - #, c-format - msgid "reviving: failed for '%s', mismatched repomd." - msgstr "恢复: '%s' 失败,不匹配的 repomd。" - --#: libdnf/repo/Repo.cpp:1255 -+#: libdnf/repo/Repo.cpp:1273 - #, c-format - msgid "Cannot create repo destination directory \"%s\": %s" - msgstr "无法创建仓库目标目录 \"%s\": %s" - --#: libdnf/repo/Repo.cpp:1261 --#, c-format --msgid "Cannot create repo temporary directory \"%s\": %s" --msgstr "无法创建 repo 临时目录 \"%s\": %s" -- --#: libdnf/repo/Repo.cpp:1275 -+#: libdnf/repo/Repo.cpp:1293 - #, c-format - msgid "Cannot create directory \"%s\": %s" - msgstr "无法创建目录 \"%s\": %s" - --#: libdnf/repo/Repo.cpp:1298 -+#: libdnf/repo/Repo.cpp:1316 - #, c-format - msgid "Cannot rename directory \"%s\" to \"%s\": %s" - msgstr "无法把目录 \"%s\" 重命名为 \"%s\": %s" - --#: libdnf/repo/Repo.cpp:1321 -+#: libdnf/repo/Repo.cpp:1339 - #, c-format - msgid "repo: using cache for: %s" - msgstr "仓库: 正在为 %s 使用缓存" - --#: libdnf/repo/Repo.cpp:1333 -+#: libdnf/repo/Repo.cpp:1351 - #, c-format - msgid "Cache-only enabled but no cache for '%s'" - msgstr "仅使用缓存已开启但没有 '%s' 的缓存" - --#: libdnf/repo/Repo.cpp:1337 -+#: libdnf/repo/Repo.cpp:1355 - #, c-format - msgid "repo: downloading from remote: %s" - msgstr "repo: 从远程下载: %s" - --#: libdnf/repo/Repo.cpp:1344 -+#: libdnf/repo/Repo.cpp:1362 - #, c-format - msgid "Failed to download metadata for repo '%s': %s" --msgstr "" -+msgstr "为仓库 '%s' 下载元数据失败 : %s" - --#: libdnf/repo/Repo.cpp:1370 -+#: libdnf/repo/Repo.cpp:1388 - msgid "getCachedir(): Computation of SHA256 failed" - msgstr "getCachedir(): 计算 SHA256 失败" - --#: libdnf/repo/Repo.cpp:1398 -+#: libdnf/repo/Repo.cpp:1416 - #, c-format - msgid "Cannot create persistdir \"%s\": %s" --msgstr "" -+msgstr "无法创建 persistdir \"%s\": %s" - --#: libdnf/repo/Repo.cpp:1775 -+#: libdnf/repo/Repo.cpp:1793 - msgid "resume cannot be used simultaneously with the byterangestart param" - msgstr "resume 不能和 the byterangestart 参数同时使用" - --#: libdnf/repo/Repo.cpp:1792 -+#: libdnf/repo/Repo.cpp:1810 - #, c-format - msgid "PackageTarget initialization failed: %s" - msgstr "PackageTarget 初始失败: %s" - --#: libdnf/repo/Repo.cpp:1898 -+#: libdnf/repo/Repo.cpp:1916 - #, c-format - msgid "Cannot open %s: %s" - msgstr "无法打开 %s: %s" - --#: libdnf/repo/Repo.cpp:1942 -+#: libdnf/repo/Repo.cpp:1960 - #, c-format - msgid "Log handler with id %ld doesn't exist" - msgstr "id 为 %ld 的日志处理器不存在" -@@ -1081,7 +1114,7 @@ msgstr "试图在已完成的事务中更新事务" - - #: libdnf/transaction/Transformer.cpp:76 - msgid "Database Corrupted: no row 'version' in table 'config'" --msgstr "" -+msgstr "数据库损坏:表 'config' 中没有 'version' 行" - - #: libdnf/transaction/Transformer.cpp:681 - msgid "Transformer: can't open history persist dir" -@@ -1104,8 +1137,8 @@ msgstr "TransactionItem 状态没有设置:%s" - msgid "Can't add console output to unsaved transaction" - msgstr "无法向未保存的事务中添加控制台输出" - -+#~ msgid "Failed to parse module artifact NEVRA '%s'" -+#~ msgstr "无法解析模块工件 NEVRA '%s'" -+ - #~ msgid "Bad id for repo: %s, byte = %s %d" - #~ msgstr "repo 的 id 无效: %s, byte = %s %d" -- --#~ msgid "failed calculating RPMDB checksum" --#~ msgstr "无法计算 RPMDB checksum" --- -2.35.1 - diff --git a/SPECS/libdnf.spec b/SPECS/libdnf.spec index dbb0e58..7b34472 100644 --- a/SPECS/libdnf.spec +++ b/SPECS/libdnf.spec @@ -1,10 +1,10 @@ -%global libsolv_version 0.7.20 +%global libsolv_version 0.7.21 %global libmodulemd_version 2.13.0 %global librepo_version 1.13.1 %global dnf_conflict 4.10.0-4 %global swig_version 3.0.12 %global libdnf_major_version 0 -%global libdnf_minor_version 65 +%global libdnf_minor_version 67 %global libdnf_micro_version 0 %define __cmake_in_source_build 1 @@ -56,14 +56,13 @@ Name: libdnf Version: %{libdnf_major_version}.%{libdnf_minor_version}.%{libdnf_micro_version} -Release: 5%{?dist} +Release: 2%{?dist} Summary: Library providing simplified C and Python API to libsolv License: LGPLv2+ URL: https://github.com/rpm-software-management/libdnf Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz -Patch1: 0001-Use-rpmdbCookie-from-librpm-remove-hawkey.Sack._rpmd.patch -Patch2: 0002-Skip-rich-deps-for-autodetection-of-unmet-dependencies-RhBug2033130-2048394.patch -Patch3: 0003-Update-translations-RhBug-2017349.patch +Patch1: 0001-advisory-upgrade-filter-out-advPkgs-with-different-a.patch +Patch2: 0002-Add-obsoletes-to-filtering-for-advisory-candidates.patch BuildRequires: cmake BuildRequires: gcc @@ -76,7 +75,7 @@ BuildRequires: valgrind %endif BuildRequires: pkgconfig(gio-unix-2.0) >= 2.46.0 BuildRequires: pkgconfig(gtk-doc) -BuildRequires: rpm-devel >= 4.11.0 +BuildRequires: rpm-devel >= 4.15.0 %if %{with rhsm} BuildRequires: pkgconfig(librhsm) >= 0.0.3 %endif @@ -307,11 +306,18 @@ popd %endif %changelog -* Mon Mar 21 2022 Marek Blaha - 0.65.0-5 -- Update translations +* Thu Jul 21 2022 Lukas Hrazky - 0.67.0-2 +- Add obsoletes to filtering for advisory candidates +- advisory upgrade: filter out advPkgs with different arch -* Fri Mar 11 2022 Pavla Kratochvilova - 0.65.0-4 -- Skip rich deps for autodetection of unmet dependencies (RhBug:2048394) +* Thu Apr 28 2022 Pavla Kratochvilova - 0.67.0-1 +- Fix handling transaction id in resolveTransactionItemReason (RhBug:2010259,2053014) +- Remove deprecated assertions (RhBug:2027383) +- Skip rich deps for autodetection of unmet dependencies (RhBug:2033130, 2048394) +- Increase required rpm version since we use `rpmdbCookie()` +- Add 'loongarch' support +- Use dnf solv userdata to check versions and checksum (RhBug:2027445) +- context: Substitute all repository config options (RhBug:2076853) * Mon Feb 07 2022 Pavla Kratochvilova - 0.65.0-3 - Use `rpmdbCookie` from librpm, remove `hawkey.Sack._rpmdb_version`