diff --git a/.libdnf.metadata b/.libdnf.metadata
index 84653e0..4bef024 100644
--- a/.libdnf.metadata
+++ b/.libdnf.metadata
@@ -1 +1 @@
-a74a37b029439749298705ff3c1ccfbd0f0fd821  SOURCES/libdnf-0.39.1.tar.gz
+a74a37b029439749298705ff3c1ccfbd0f0fd821 SOURCES/libdnf-0.39.1.tar.gz
diff --git a/SOURCES/0002-context-wildcard-support-in-dnf_context_repo_set_data-RhBug1781420.patch b/SOURCES/0002-context-wildcard-support-in-dnf_context_repo_set_data-RhBug1781420.patch
new file mode 100644
index 0000000..89e4eea
--- /dev/null
+++ b/SOURCES/0002-context-wildcard-support-in-dnf_context_repo_set_data-RhBug1781420.patch
@@ -0,0 +1,88 @@
+From c398ea4431ea539b0847fdf7fddf1892655081de Mon Sep 17 00:00:00 2001
+From: Jaroslav Rohel <jrohel@redhat.com>
+Date: Sun, 15 Dec 2019 16:43:01 +0100
+Subject: [PATCH] [context] wildcard support in dnf_context_repo_set_data
+ (RhBug:1781420)
+
+Adds support for wildcard pattern in repo_id to these functions:
+gboolean dnf_context_repo_enable(DnfContext *context,
+    const gchar *repo_id, GError **error);
+gboolean dnf_context_repo_disable(DnfContext *context,
+    const gchar *repo_id, GError **error);
+
+For example, it is used by microdnf for enable and disable repositories
+(arguments "--enablerepo=" and "--disablerepo=").
+---
+ libdnf/dnf-context.cpp | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/libdnf/dnf-context.cpp b/libdnf/dnf-context.cpp
+index 061bf6f85..4b0a009fc 100644
+--- a/libdnf/dnf-context.cpp
++++ b/libdnf/dnf-context.cpp
+@@ -52,6 +52,7 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #endif
++#include <fnmatch.h>
+ #include <unistd.h>
+ 
+ #include "log.hpp"
+@@ -2273,20 +2274,19 @@ dnf_context_repo_set_data(DnfContext *context,
+                           GError **error)
+ {
+     DnfContextPrivate *priv = GET_PRIVATE(context);
+-    DnfRepo *repo = NULL;
+-    guint i;
++    bool found = false;
+ 
+-    /* find a repo with a matching ID */
+-    for (i = 0; i < priv->repos->len; i++) {
+-        auto repo_tmp = static_cast<DnfRepo *>(g_ptr_array_index(priv->repos, i));
+-        if (g_strcmp0(dnf_repo_get_id(repo_tmp), repo_id) == 0) {
+-            repo = repo_tmp;
+-            break;
++    /* set repos with a matching ID */
++    for (guint i = 0; i < priv->repos->len; ++i) {
++        auto repo = static_cast<DnfRepo *>(g_ptr_array_index(priv->repos, i));
++        if (fnmatch(repo_id, dnf_repo_get_id(repo), 0) == 0) {
++            dnf_repo_set_enabled(repo, enabled);
++            found = true;
+         }
+     }
+ 
+     /* nothing found */
+-    if (repo == NULL) {
++    if (!found) {
+         g_set_error(error,
+                     DNF_ERROR,
+                     DNF_ERROR_INTERNAL_ERROR,
+@@ -2294,8 +2294,6 @@ dnf_context_repo_set_data(DnfContext *context,
+         return FALSE;
+     }
+ 
+-    /* this is runtime only */
+-    dnf_repo_set_enabled(repo, enabled);
+     return TRUE;
+ }
+ 
+@@ -2305,7 +2303,8 @@ dnf_context_repo_set_data(DnfContext *context,
+  * @repo_id: A repo_id, e.g. "fedora-rawhide"
+  * @error: A #GError or %NULL
+  *
+- * Enables a specific repo.
++ * Enables a specific repo(s).
++ * Wildcard pattern is supported.
+  *
+  * This must be done before dnf_context_setup() is called.
+  *
+@@ -2329,7 +2328,8 @@ dnf_context_repo_enable(DnfContext *context,
+  * @repo_id: A repo_id, e.g. "fedora-rawhide"
+  * @error: A #GError or %NULL
+  *
+- * Disables a specific repo.
++ * Disables a specific repo(s).
++ * Wildcard pattern is supported.
+  *
+  * This must be done before dnf_context_setup() is called.
+  *
diff --git a/SOURCES/0003-Add-2-query-filters.patch b/SOURCES/0003-Add-2-query-filters.patch
new file mode 100644
index 0000000..d02b0a3
--- /dev/null
+++ b/SOURCES/0003-Add-2-query-filters.patch
@@ -0,0 +1,339 @@
+From b36464f01ffadab9ca49eed1a06ab480626b28c2 Mon Sep 17 00:00:00 2001
+From: Jaroslav Mracek <jmracek@redhat.com>
+Date: Mon, 16 Dec 2019 10:10:51 +0100
+Subject: [PATCH 1/2] Add new query filter upgrades_by_priority
+
+It returns upgrades only from repository with the lowest priority.
+---
+ libdnf/hy-types.h              |  3 +-
+ libdnf/sack/query.cpp          | 60 ++++++++++++++++++++++++++++++++++
+ python/hawkey/hawkeymodule.cpp |  1 +
+ python/hawkey/query-py.cpp     |  5 ++-
+ 4 files changed, 67 insertions(+), 2 deletions(-)
+
+diff --git a/libdnf/hy-types.h b/libdnf/hy-types.h
+index b34988d89..380a0d5cc 100644
+--- a/libdnf/hy-types.h
++++ b/libdnf/hy-types.h
+@@ -97,7 +97,8 @@ enum _hy_key_name_e {
+     * @brief Use for strings of whole NEVRA (missing epoch is handled as epoch 0)
+     * Allowed compare types - only HY_EQ or HY_NEQ
+     */
+-    HY_PKG_NEVRA_STRICT = 36
++    HY_PKG_NEVRA_STRICT = 36,
++    HY_PKG_UPGRADES_BY_PRIORITY = 37,
+ };
+ 
+ enum _hy_comparison_type_e {
+diff --git a/libdnf/sack/query.cpp b/libdnf/sack/query.cpp
+index eea0ce1b1..ecfd3110f 100644
+--- a/libdnf/sack/query.cpp
++++ b/libdnf/sack/query.cpp
+@@ -148,6 +148,13 @@ NameArchSolvableComparator(const Solvable * first, const Solvable * second)
+     return first->arch < second->arch;
+ }
+ 
++static bool
++NamePrioritySolvableKey(const Solvable * first, const Solvable * second)
++{
++    if (first->name != second->name)
++        return first->name < second->name;
++    return first->repo->priority > second->repo->priority;
++}
+ 
+ static bool
+ match_type_num(int keyname) {
+@@ -158,6 +165,7 @@ match_type_num(int keyname) {
+         case HY_PKG_LATEST_PER_ARCH:
+         case HY_PKG_UPGRADABLE:
+         case HY_PKG_UPGRADES:
++        case HY_PKG_UPGRADES_BY_PRIORITY:
+         case HY_PKG_DOWNGRADABLE:
+         case HY_PKG_DOWNGRADES:
+             return true;
+@@ -690,6 +698,7 @@ class Query::Impl {
+     void filterAdvisory(const Filter & f, Map *m, int keyname);
+     void filterLatest(const Filter & f, Map *m);
+     void filterUpdown(const Filter & f, Map *m);
++    void filterUpdownByPriority(const Filter & f, Map *m);
+     void filterUpdownAble(const Filter  &f, Map *m);
+     void filterDataiterator(const Filter & f, Map *m);
+     int filterUnneededOrSafeToRemove(const Swdb &swdb, bool debug_solver, bool safeToRemove);
+@@ -1732,6 +1741,54 @@ Query::Impl::filterUpdown(const Filter & f, Map *m)
+     }
+ }
+ 
++void
++Query::Impl::filterUpdownByPriority(const Filter & f, Map *m)
++{
++    Pool *pool = dnf_sack_get_pool(sack);
++    auto resultPset = result.get();
++
++    dnf_sack_make_provides_ready(sack);
++    auto repoInstalled = pool->installed;
++    if (!repoInstalled) {
++        return;
++    }
++
++    for (auto match_in : f.getMatches()) {
++        if (match_in.num == 0)
++            continue;
++        std::vector<Solvable *> upgradeCandidates;
++        upgradeCandidates.reserve(resultPset->size());
++        Id id = -1;
++        while ((id = resultPset->next(id)) != -1) {
++            Solvable *candidate = pool_id2solvable(pool, id);
++            if (candidate->repo == repoInstalled)
++                continue;
++            upgradeCandidates.push_back(candidate);
++        }
++        if (upgradeCandidates.empty()) {
++            continue;
++        }
++        std::sort(upgradeCandidates.begin(), upgradeCandidates.end(), NamePrioritySolvableKey);
++        Id name = 0;
++        int priority = 0;
++        for (auto * candidate: upgradeCandidates) {
++            if (name != candidate->name) {
++                name = candidate->name;
++                priority = candidate->repo->priority;
++                id = pool_solvable2id(pool, candidate);
++                if (what_upgrades(pool, id) > 0) {
++                    MAPSET(m, id);
++                }
++            } else if (priority == candidate->repo->priority) {
++                id = pool_solvable2id(pool, candidate);
++                if (what_upgrades(pool, id) > 0) {
++                    MAPSET(m, id);
++                }
++            }
++        }
++    }
++}
++
+ void
+ Query::Impl::filterUpdownAble(const Filter  &f, Map *m)
+ {
+@@ -1949,6 +2006,9 @@ Query::Impl::apply()
+             case HY_PKG_UPGRADES:
+                 filterUpdown(f, &m);
+                 break;
++            case HY_PKG_UPGRADES_BY_PRIORITY:
++                filterUpdownByPriority(f, &m);
++                break;
+             default:
+                 filterDataiterator(f, &m);
+         }
+diff --git a/python/hawkey/hawkeymodule.cpp b/python/hawkey/hawkeymodule.cpp
+index 0f05f46c2..4351e96e1 100644
+--- a/python/hawkey/hawkeymodule.cpp
++++ b/python/hawkey/hawkeymodule.cpp
+@@ -281,6 +281,7 @@ PYCOMP_MOD_INIT(_hawkey)
+     PyModule_AddIntConstant(m, "PKG_SUPPLEMENTS", HY_PKG_SUPPLEMENTS);
+     PyModule_AddIntConstant(m, "PKG_UPGRADABLE", HY_PKG_UPGRADABLE);
+     PyModule_AddIntConstant(m, "PKG_UPGRADES", HY_PKG_UPGRADES);
++    PyModule_AddIntConstant(m, "PKG_UPGRADES_BY_PRIORITY", HY_PKG_UPGRADES_BY_PRIORITY);
+     PyModule_AddIntConstant(m, "PKG_URL", HY_PKG_URL);
+     PyModule_AddIntConstant(m, "PKG_VERSION", HY_PKG_VERSION);
+ 
+diff --git a/python/hawkey/query-py.cpp b/python/hawkey/query-py.cpp
+index 116ffa1b0..286e306d3 100644
+--- a/python/hawkey/query-py.cpp
++++ b/python/hawkey/query-py.cpp
+@@ -89,6 +89,7 @@ static const int keyname_int_matches[] = {
+     HY_PKG_SUPPLEMENTS,
+     HY_PKG_UPGRADABLE,
+     HY_PKG_UPGRADES,
++    HY_PKG_UPGRADES_BY_PRIORITY,
+     HY_PKG_URL,
+     HY_PKG_VERSION
+ };
+@@ -128,6 +129,7 @@ static const char * const keyname_char_matches[] = {
+     "supplements",
+     "upgradable",
+     "upgrades",
++    "upgrades_by_priority",
+     "url",
+     "version",
+     NULL
+@@ -273,7 +275,8 @@ filter_add(HyQuery query, key_t keyname, int cmp_type, PyObject *match)
+         keyname == HY_PKG_LATEST_PER_ARCH ||
+         keyname == HY_PKG_LATEST ||
+         keyname == HY_PKG_UPGRADABLE ||
+-        keyname == HY_PKG_UPGRADES) {
++        keyname == HY_PKG_UPGRADES ||
++        keyname == HY_PKG_UPGRADES_BY_PRIORITY) {
+         int val;
+ 
+         if (!PyInt_Check(match) || cmp_type != HY_EQ) {
+
+From 4b83ae692f90d0d3cbc377c7f93bdb7e99e477ef Mon Sep 17 00:00:00 2001
+From: Jaroslav Mracek <jmracek@redhat.com>
+Date: Mon, 16 Dec 2019 18:34:37 +0100
+Subject: [PATCH 2/2] Add new query filter obsoletes_by_priority
+
+---
+ libdnf/hy-types.h              |  1 +
+ libdnf/sack/query.cpp          | 65 ++++++++++++++++++++++++++++++++++
+ python/hawkey/hawkeymodule.cpp |  1 +
+ python/hawkey/query-py.cpp     |  5 ++-
+ 4 files changed, 71 insertions(+), 1 deletion(-)
+
+diff --git a/libdnf/hy-types.h b/libdnf/hy-types.h
+index 380a0d5cc..e96459c25 100644
+--- a/libdnf/hy-types.h
++++ b/libdnf/hy-types.h
+@@ -99,6 +99,7 @@ enum _hy_key_name_e {
+     */
+     HY_PKG_NEVRA_STRICT = 36,
+     HY_PKG_UPGRADES_BY_PRIORITY = 37,
++    HY_PKG_OBSOLETES_BY_PRIORITY = 38,
+ };
+ 
+ enum _hy_comparison_type_e {
+diff --git a/libdnf/sack/query.cpp b/libdnf/sack/query.cpp
+index ecfd3110f..6e9e4715f 100644
+--- a/libdnf/sack/query.cpp
++++ b/libdnf/sack/query.cpp
+@@ -179,6 +179,7 @@ match_type_pkg(int keyname) {
+     switch (keyname) {
+         case HY_PKG:
+         case HY_PKG_OBSOLETES:
++        case HY_PKG_OBSOLETES_BY_PRIORITY:
+             return true;
+         default:
+             return false;
+@@ -692,6 +693,7 @@ class Query::Impl {
+     void filterArch(const Filter & f, Map *m);
+     void filterSourcerpm(const Filter & f, Map *m);
+     void filterObsoletes(const Filter & f, Map *m);
++    void filterObsoletesByPriority(const Filter & f, Map *m);
+     void filterProvidesReldep(const Filter & f, Map *m);
+     void filterReponame(const Filter & f, Map *m);
+     void filterLocation(const Filter & f, Map *m);
+@@ -702,6 +704,7 @@ class Query::Impl {
+     void filterUpdownAble(const Filter  &f, Map *m);
+     void filterDataiterator(const Filter & f, Map *m);
+     int filterUnneededOrSafeToRemove(const Swdb &swdb, bool debug_solver, bool safeToRemove);
++    void obsoletesByPriority(Pool * pool, Solvable * candidate, Map * m, const Map * target, int obsprovides);
+ 
+     bool isGlob(const std::vector<const char *> &matches) const;
+ };
+@@ -1469,6 +1472,65 @@ Query::Impl::filterObsoletes(const Filter & f, Map *m)
+     }
+ }
+ 
++void
++Query::Impl::obsoletesByPriority(Pool * pool, Solvable * candidate, Map * m, const Map * target, int obsprovides)
++{
++    if (!candidate->repo)
++        return;
++    for (Id *r_id = candidate->repo->idarraydata + candidate->obsoletes; *r_id; ++r_id) {
++        Id r, rr;
++        FOR_PROVIDES(r, rr, *r_id) {
++            if (!MAPTST(target, r))
++                continue;
++            assert(r != SYSTEMSOLVABLE);
++            Solvable *so = pool_id2solvable(pool, r);
++            if (!obsprovides && !pool_match_nevr(pool, so, *r_id))
++                continue; /* only matching pkg names */
++            MAPSET(m, pool_solvable2id(pool, candidate));
++            break;
++        }
++    }
++}
++
++void
++Query::Impl::filterObsoletesByPriority(const Filter & f, Map *m)
++{
++    Pool *pool = dnf_sack_get_pool(sack);
++    int obsprovides = pool_get_flag(pool, POOL_FLAG_OBSOLETEUSESPROVIDES);
++    Map *target;
++    auto resultPset = result.get();
++
++    assert(f.getMatchType() == _HY_PKG);
++    assert(f.getMatches().size() == 1);
++    target = dnf_packageset_get_map(f.getMatches()[0].pset);
++    dnf_sack_make_provides_ready(sack);
++    std::vector<Solvable *> obsoleteCandidates;
++    obsoleteCandidates.reserve(resultPset->size());
++    Id id = -1;
++    while ((id = resultPset->next(id)) != -1) {
++        Solvable *candidate = pool_id2solvable(pool, id);
++        obsoleteCandidates.push_back(candidate);
++    }
++    if (obsoleteCandidates.empty()) {
++        return;
++    }
++    std::sort(obsoleteCandidates.begin(), obsoleteCandidates.end(), NamePrioritySolvableKey);
++    Id name = 0;
++    int priority = 0;
++    for (auto * candidate: obsoleteCandidates) {
++        if (candidate->repo == pool->installed) {
++            obsoletesByPriority(pool, candidate, m, target, obsprovides);
++        }
++        if (name != candidate->name) {
++            name = candidate->name;
++            priority = candidate->repo->priority;
++            obsoletesByPriority(pool, candidate, m, target, obsprovides);
++        } else if (priority == candidate->repo->priority) {
++            obsoletesByPriority(pool, candidate, m, target, obsprovides);
++        }
++    }
++}
++
+ void
+ Query::Impl::filterProvidesReldep(const Filter & f, Map *m)
+ {
+@@ -1969,6 +2031,9 @@ Query::Impl::apply()
+                     filterObsoletes(f, &m);
+                 }
+                 break;
++            case HY_PKG_OBSOLETES_BY_PRIORITY:
++                filterObsoletesByPriority(f, &m);
++                break;
+             case HY_PKG_PROVIDES:
+                 assert(f.getMatchType() == _HY_RELDEP);
+                 filterProvidesReldep(f, &m);
+diff --git a/python/hawkey/hawkeymodule.cpp b/python/hawkey/hawkeymodule.cpp
+index 4351e96e1..82d05e2cb 100644
+--- a/python/hawkey/hawkeymodule.cpp
++++ b/python/hawkey/hawkeymodule.cpp
+@@ -270,6 +270,7 @@ PYCOMP_MOD_INIT(_hawkey)
+     PyModule_AddIntConstant(m, "PKG_NEVRA", HY_PKG_NEVRA);
+     PyModule_AddIntConstant(m, "PKG_NEVRA_STRICT", HY_PKG_NEVRA_STRICT);
+     PyModule_AddIntConstant(m, "PKG_OBSOLETES", HY_PKG_OBSOLETES);
++    PyModule_AddIntConstant(m, "PKG_OBSOLETES_BY_PRIORITY", HY_PKG_OBSOLETES_BY_PRIORITY);
+     PyModule_AddIntConstant(m, "PKG_PROVIDES", HY_PKG_PROVIDES);
+     PyModule_AddIntConstant(m, "PKG_RECOMMENDS", HY_PKG_RECOMMENDS);
+     PyModule_AddIntConstant(m, "PKG_RELEASE", HY_PKG_RELEASE);
+diff --git a/python/hawkey/query-py.cpp b/python/hawkey/query-py.cpp
+index 286e306d3..9178a6d0c 100644
+--- a/python/hawkey/query-py.cpp
++++ b/python/hawkey/query-py.cpp
+@@ -78,6 +78,7 @@ static const int keyname_int_matches[] = {
+     HY_PKG_NEVRA,
+     HY_PKG_NEVRA_STRICT,
+     HY_PKG_OBSOLETES,
++    HY_PKG_OBSOLETES_BY_PRIORITY,
+     HY_PKG_PROVIDES,
+     HY_PKG_RECOMMENDS,
+     HY_PKG_RELEASE,
+@@ -118,6 +119,7 @@ static const char * const keyname_char_matches[] = {
+     "nevra",
+     "nevra_strict",
+     "obsoletes",
++    "obsoletes_by_priority",
+     "provides",
+     "recommends",
+     "release",
+@@ -342,7 +344,8 @@ filter_add(HyQuery query, key_t keyname, int cmp_type, PyObject *match)
+     // match is a sequence now:
+     switch (keyname) {
+     case HY_PKG:
+-    case HY_PKG_OBSOLETES: {
++    case HY_PKG_OBSOLETES:
++    case HY_PKG_OBSOLETES_BY_PRIORITY: {
+         // It could be a sequence of packages or reldep/strings. Lets try packages first.
+         auto pset = pyseq_to_packageset(match, query->getSack());
+         if (!pset) {
diff --git a/SOURCES/0004-Remove-killGpgAgent-function-RhBug1781601.patch b/SOURCES/0004-Remove-killGpgAgent-function-RhBug1781601.patch
new file mode 100644
index 0000000..f03d5da
--- /dev/null
+++ b/SOURCES/0004-Remove-killGpgAgent-function-RhBug1781601.patch
@@ -0,0 +1,98 @@
+From dc3b2a2b22106fa4c0033a5557584f3b08c942e2 Mon Sep 17 00:00:00 2001
+From: Marek Blaha <mblaha@redhat.com>
+Date: Fri, 3 Jan 2020 12:35:33 +0100
+Subject: [PATCH] Remove killGpgAgent function (RhBug:1781601)
+
+Instead ensure that /run/user/$UID directory exists so gpgagent could
+create its socket in it.
+The solution with KILLAGENT caused race condition with gpgme_release()
+call and that resulted in dnf being possibly terminated by SIGPIPE after
+importing the first repository gpg key.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1781601
+---
+ libdnf/repo/Repo.cpp | 56 +++++++++++++++++++++++---------------------
+ 1 file changed, 29 insertions(+), 27 deletions(-)
+
+diff --git a/libdnf/repo/Repo.cpp b/libdnf/repo/Repo.cpp
+index 850e5b4a8..c1891cce9 100644
+--- a/libdnf/repo/Repo.cpp
++++ b/libdnf/repo/Repo.cpp
+@@ -846,27 +846,35 @@ std::vector<Key> Repo::Impl::retrieve(const std::string & url)
+     return keyInfos;
+ }
+ 
+-static void killGpgAgent(gpgme_ctx_t context, const std::string & gpgDir)
+-{
++/*
++ * Creates the '/run/user/$UID' directory if it doesn't exist. If this
++ * directory exists, gpgagent will create its sockets under
++ * '/run/user/$UID/gnupg'.
++ *
++ * If this directory doesn't exist, gpgagent will create its sockets in gpg
++ * home directory, which is under '/var/cache/yum/metadata/' and this was
++ * causing trouble with container images, see [1].
++ *
++ * Previous solution was to send the agent a "KILLAGENT" message, but that
++ * would cause a race condition with calling gpgme_release(), see [2], [3],
++ * [4].
++ *
++ * Since the agent doesn't clean up its sockets properly, by creating this
++ * directory we make sure they are in a place that is not causing trouble with
++ * container images.
++ *
++ * [1] https://bugzilla.redhat.com/show_bug.cgi?id=1650266
++ * [2] https://bugzilla.redhat.com/show_bug.cgi?id=1769831
++ * [3] https://github.com/rpm-software-management/microdnf/issues/50
++ * [4] https://bugzilla.redhat.com/show_bug.cgi?id=1781601
++ */
++static void ensure_socket_dir_exists() {
+     auto logger(Log::getLogger());
+-
+-    auto gpgErr = gpgme_set_protocol(context, GPGME_PROTOCOL_ASSUAN);
+-    if (gpgErr != GPG_ERR_NO_ERROR) {
+-        auto msg = tfm::format(_("%s: gpgme_set_protocol(): %s"), __func__, gpgme_strerror(gpgErr));
+-        logger->warning(msg);
+-        return;
+-    }
+-    std::string gpgAgentSock = gpgDir + "/S.gpg-agent";
+-    gpgErr = gpgme_ctx_set_engine_info(context, GPGME_PROTOCOL_ASSUAN, gpgAgentSock.c_str(), gpgDir.c_str());
+-    if (gpgErr != GPG_ERR_NO_ERROR) {
+-        auto msg = tfm::format(_("%s: gpgme_ctx_set_engine_info(): %s"), __func__, gpgme_strerror(gpgErr));
+-        logger->warning(msg);
+-        return;
+-    }
+-    gpgErr = gpgme_op_assuan_transact_ext(context, "KILLAGENT", NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+-    if (gpgErr != GPG_ERR_NO_ERROR) {
+-        auto msg = tfm::format(_("%s: gpgme_op_assuan_transact_ext(): %s"), __func__, gpgme_strerror(gpgErr));
+-        logger->debug(msg);
++    std::string dirname = "/run/user/" + std::to_string(getuid());
++    int res = mkdir(dirname.c_str(), 0700);
++    if (res != 0 && errno != EEXIST) {
++        logger->debug(tfm::format("Failed to create directory \"%s\": %d - %s",
++                                  dirname, errno, strerror(errno)));
+     }
+ }
+ 
+@@ -876,6 +884,7 @@ void Repo::Impl::importRepoKeys()
+ 
+     auto gpgDir = getCachedir() + "/pubring";
+     auto knownKeys = keyidsFromPubring(gpgDir);
++    ensure_socket_dir_exists();
+     for (const auto & gpgkeyUrl : conf->gpgkey().getValue()) {
+         auto keyInfos = retrieve(gpgkeyUrl);
+         for (auto & keyInfo : keyInfos) {
+@@ -908,13 +917,6 @@ void Repo::Impl::importRepoKeys()
+ 
+             gpgImportKey(ctx, keyInfo.rawKey);
+ 
+-            // Running gpg-agent kept opened sockets on the system.
+-            // It tries to exit gpg-agent. Path to the communication socket is derived from homedir.
+-            // The gpg-agent automaticaly removes all its socket before exit.
+-            // Newer gpg-agent creates sockets under [/var]/run/user/{pid}/... if directory exists.
+-            // In this case gpg-agent will not be exited.
+-            killGpgAgent(ctx, gpgDir);
+-
+             logger->debug(tfm::format(_("repo %s: imported key 0x%s."), id, keyInfo.getId()));
+         }
+ 
diff --git a/SOURCES/0005-Update-translations-from-zanata-RhBug-1754965.patch b/SOURCES/0005-Update-translations-from-zanata-RhBug-1754965.patch
new file mode 100644
index 0000000..67d864e
--- /dev/null
+++ b/SOURCES/0005-Update-translations-from-zanata-RhBug-1754965.patch
@@ -0,0 +1,59093 @@
+From 120f44bc408ce1164b2e00dfd5c362d67bdcdb9d Mon Sep 17 00:00:00 2001
+From: Marek Blaha <mblaha@redhat.com>
+Date: Fri, 31 Jan 2020 14:27:47 +0100
+Subject: [PATCH] Update translations from zanata (RhBug:1754965)
+
+Japanese: 100%
+Chinese (China): 100%
+French: 100%
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1754965
+---
+ po/as.po       |  727 ++++++++++++++++----------------
+ po/bg.po       |  735 ++++++++++++++++----------------
+ po/bn.po       |  727 ++++++++++++++++----------------
+ po/bn_IN.po    |  727 ++++++++++++++++----------------
+ po/ca.po       |  767 +++++++++++++++++-----------------
+ po/cs.po       |  783 +++++++++++++++++-----------------
+ po/da.po       |  737 ++++++++++++++++----------------
+ po/de.po       |  885 +++++++++++++++++++--------------------
+ po/el.po       |  727 ++++++++++++++++----------------
+ po/es.po       |  892 +++++++++++++++++++--------------------
+ po/fa.po       |  727 ++++++++++++++++----------------
+ po/fi.po       |  745 ++++++++++++++++-----------------
+ po/fil.po      |  723 ++++++++++++++++----------------
+ po/fr.po       |  922 +++++++++++++++++++++--------------------
+ po/fur.po      |  753 ++++++++++++++++-----------------
+ po/gu.po       |  727 ++++++++++++++++----------------
+ po/hi.po       |  727 ++++++++++++++++----------------
+ po/hu.po       |  795 +++++++++++++++++------------------
+ po/ia.po       |  727 ++++++++++++++++----------------
+ po/id.po       |  727 ++++++++++++++++----------------
+ po/is.po       |  727 ++++++++++++++++----------------
+ po/it.po       |  890 +++++++++++++++++++--------------------
+ po/ja.po       | 1083 +++++++++++++++++++++++++++---------------------
+ po/kn.po       |  727 ++++++++++++++++----------------
+ po/ko.po       |  877 ++++++++++++++++++++-------------------
+ po/mai.po      |  727 ++++++++++++++++----------------
+ po/ml.po       |  727 ++++++++++++++++----------------
+ po/mr.po       |  727 ++++++++++++++++----------------
+ po/nb.po       |  727 ++++++++++++++++----------------
+ po/nl.po       |  783 +++++++++++++++++-----------------
+ po/or.po       |  727 ++++++++++++++++----------------
+ po/pa.po       |  733 ++++++++++++++++----------------
+ po/pl.po       |  904 ++++++++++++++++++++--------------------
+ po/pt.po       |  761 +++++++++++++++++-----------------
+ po/pt_BR.po    |  883 ++++++++++++++++++++-------------------
+ po/ru.po       |  885 +++++++++++++++++++--------------------
+ po/sk.po       |  727 ++++++++++++++++----------------
+ po/sq.po       |  727 ++++++++++++++++----------------
+ po/sr.po       |  727 ++++++++++++++++----------------
+ po/sr@latin.po |  727 ++++++++++++++++----------------
+ po/sv.po       |  967 +++++++++++++++++++++---------------------
+ po/ta.po       |  727 ++++++++++++++++----------------
+ po/te.po       |  727 ++++++++++++++++----------------
+ po/th.po       |  727 ++++++++++++++++----------------
+ po/tr.po       |  757 ++++++++++++++++-----------------
+ po/uk.po       |  885 +++++++++++++++++++--------------------
+ po/zanata.xml  |    2 +-
+ po/zh_CN.po    |  952 +++++++++++++++++++++---------------------
+ po/zh_TW.po    |  873 +++++++++++++++++++-------------------
+ 49 files changed, 19049 insertions(+), 18644 deletions(-)
+
+diff --git a/po/as.po b/po/as.po
+index 3f4a8ca8..6b489b47 100644
+--- a/po/as.po
++++ b/po/as.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 02:50+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Assamese\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "চলমান"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "চলমান"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/bg.po b/po/bg.po
+index cdfc4555..23beca7d 100644
+--- a/po/bg.po
++++ b/po/bg.po
+@@ -3,7 +3,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2016-11-21 05:57+0000\n"
+ "Last-Translator: Valentin Laskov <laskov@festa.bg>\n"
+ "Language-Team: Bulgarian\n"
+@@ -14,66 +14,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -84,11 +67,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -96,15 +79,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -113,11 +96,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -125,13 +108,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -146,751 +129,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#, c-format
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:839
++#, c-format
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1275
++#, c-format
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1321
++#, c-format
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "не е зададена стойност"
+-
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "невалидна двоична стойност '%s'"
++msgid "PackageTarget initialization failed: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "зададеният път '%s' не е абсолютен."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "зададеният път '%s' не съществува."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
+-msgstr ""
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
++msgstr "зададеният път '%s' не е абсолютен."
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
++msgid "given path '%s' does not exist."
++msgstr "зададеният път '%s' не съществува."
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr ""
++msgid "invalid boolean value '%s'"
++msgstr "невалидна двоична стойност '%s'"
+ 
+-#: ../libdnf/repo/Repo.cpp:371
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "не е зададена стойност"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:71
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
+-#, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot create directory \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
++#: ../libdnf/dnf-sack.cpp:955
+ #, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/bn.po b/po/bn.po
+index 32d78553..e1640144 100644
+--- a/po/bn.po
++++ b/po/bn.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 02:51+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Bengali\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "চলমান"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "চলমান"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/bn_IN.po b/po/bn_IN.po
+index 6942ca06..4a1fa90b 100644
+--- a/po/bn_IN.po
++++ b/po/bn_IN.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 02:52+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Bengali (India)\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "চলমান"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "চলমান"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/ca.po b/po/ca.po
+index 8a99bb73..fb94979d 100644
+--- a/po/ca.po
++++ b/po/ca.po
+@@ -5,7 +5,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-10-24 09:32+0000\n"
+ "Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>\n"
+ "Language-Team: Catalan\n"
+@@ -16,67 +16,50 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr ""
++msgid " Problem %1$i: %2$s\n"
++msgstr " Problema %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr ""
++msgid " Problem: %s\n"
++msgstr " Problema: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+@@ -86,11 +69,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -98,15 +81,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -115,11 +98,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -127,13 +110,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -148,335 +131,426 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr "no hi ha cap solució, no es pot eliminar el paquet protegit"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr "no hi ha cap solució possible"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "El dipòsit %s no té establerta cap rèplica o url base."
++
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "En progrés"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "No es pot trobar un url base vàlid per al dipòsit: %s"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
++"La velocitat màxima de baixada és inferior que la mínima. Canvieu la "
++"configuració de minrate o throttle"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#, c-format
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:839
++#, c-format
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:855
++#, c-format
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "«%s» no és un valor permès"
++msgid "repo: using cache for: %s"
++msgstr "dipòsit: s'utilitza la memòria cau per: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1333
++#, c-format
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "no s'ha especificat cap valor"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
+-#, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "el valor en segons de «%s» no ha de ser negatiu"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "unitat desconeguda «%s»"
++msgid "Cannot open %s: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "el valor booleà «%s» no és vàlid"
++msgid "Log handler with id %ld doesn't exist"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "el valor donat [%d] hauria de ser més petit que el valor permès [%d]."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "el valor donat [%d] hauria de ser més gran que el valor permès [%d]."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "el camí indicat «%s» no és absolut."
++msgid "Downloaded file for %s not found"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "el camí indicat «%s» no existeix."
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "el percentatge «%s» està fora de l'interval"
++msgid "Failed to get filesystem free size for %s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -502,29 +576,66 @@ msgstr ""
+ msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -587,25 +698,83 @@ msgstr ""
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "«%s» no és un valor permès"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "given path '%s' is not absolute."
++msgstr "el camí indicat «%s» no és absolut."
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr " Problema %1$i: %2$s\n"
++msgid "given path '%s' does not exist."
++msgstr "el camí indicat «%s» no existeix."
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr " Problema: %s\n"
++msgid "invalid boolean value '%s'"
++msgstr "el valor booleà «%s» no és vàlid"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "no s'ha especificat cap valor"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "el valor en segons de «%s» no ha de ser negatiu"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr ""
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "unitat desconeguda «%s»"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "el percentatge «%s» està fora de l'interval"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "el valor donat [%d] hauria de ser més petit que el valor permès [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "el valor donat [%d] hauria de ser més gran que el valor permès [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr ""
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr ""
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+@@ -692,209 +861,45 @@ msgstr ""
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "El dipòsit %s no té establerta cap rèplica o url base."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "No es pot trobar un url base vàlid per al dipòsit: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"La velocitat màxima de baixada és inferior que la mínima. Canvieu la "
+-"configuració de minrate o throttle"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "dipòsit: s'utilitza la memòria cau per: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "En progré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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/cs.po b/po/cs.po
+index 157888b3..a1ce571d 100644
+--- a/po/cs.po
++++ b/po/cs.po
+@@ -5,7 +5,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-07-22 10:24+0000\n"
+ "Last-Translator: Jaroslav Rohel <jrohel@redhat.com>\n"
+ "Language-Team: Czech\n"
+@@ -16,66 +16,49 @@ msgstr ""
+ "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -86,11 +69,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -98,15 +81,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -115,11 +98,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -127,13 +110,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -148,335 +131,427 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr "Operace by vedla k odstranění následujících chráněných balíčků: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr ""
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Probíhá"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "Repozitář %s nemá nastaveno žádné zrcadlo nebo baseurl."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Nelze najít platný baseURL pro repo: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
++"Maximální rychlost stahování je nižší než minimální. Změňte prosím "
++"konfiguraci minrate nebo omezení"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr ""
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "oživení: repozitář '%s' přeskočen, žádný MetaLink."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "oživení: repozitář '%s' přeskočen, žádný použitelný hash."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1204
++#, c-format
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "oživení: selhalo pro '%s', neshodující se součet %s."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
++"oživení: '%s' může být oživen - kontrolní součty MetaLinku odpovídají."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "oživení: '%s' může být oživen - repomd se shoduje."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "oživení: selhalo pro '%s', neshodující se repomd."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' není platná hodnota"
+-
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "nezadána hodnota"
++#: ../libdnf/repo/Repo.cpp:1321
++#, c-format
++msgid "repo: using cache for: %s"
++msgstr "repozitář: použití mezipaměti pro: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "druhá hodnota '%s' nesmí být záporná"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Povoleno použítí jen mezipaměti, ale žádná vyrovnávací paměť pro '%s'"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "neznámá jednotka '%s'"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
+-#, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "neplatná pravdivostní hodnota '%s'"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "daná hodnota [%d] by měla být nižší než povolená hodnota [%d]."
++msgid "PackageTarget initialization failed: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "daná hodnota [%d] by měla být vyšší než povolená hodnota [%d]."
++msgid "Cannot open %s: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "zadaná cesta '%s' není absolutní."
++msgid "Log handler with id %ld doesn't exist"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "zadaná cesta '%s' neexistuje."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:302
++#, c-format
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "Procento '%s' je mimo rozsah"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
++#, c-format
++msgid "Failed to get filesystem free size for %s: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:895
++#, c-format
++msgid "Failed to get filesystem free size for %s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -502,29 +577,66 @@ msgstr ""
+ msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -587,24 +699,82 @@ msgstr ""
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "'%s' není platná hodnota"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "given path '%s' is not absolute."
++msgstr "zadaná cesta '%s' není absolutní."
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "given path '%s' does not exist."
++msgstr "zadaná cesta '%s' neexistuje."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "neplatná pravdivostní hodnota '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "nezadána hodnota"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "druhá hodnota '%s' nesmí být záporná"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "unknown unit '%s'"
++msgstr "neznámá jednotka '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "Procento '%s' je mimo rozsah"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "daná hodnota [%d] by měla být nižší než povolená hodnota [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "daná hodnota [%d] by měla být vyšší než povolená hodnota [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr ""
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+@@ -692,210 +862,45 @@ msgstr ""
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "Repozitář %s nemá nastaveno žádné zrcadlo nebo baseurl."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Nelze najít platný baseURL pro repo: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"Maximální rychlost stahování je nižší než minimální. Změňte prosím "
+-"konfiguraci minrate nebo omezení"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "oživení: repozitář '%s' přeskočen, žádný MetaLink."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "oživení: repozitář '%s' přeskočen, žádný použitelný hash."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "oživení: selhalo pro '%s', neshodující se součet %s."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"oživení: '%s' může být oživen - kontrolní součty MetaLinku odpovídají."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "oživení: '%s' může být oživen - repomd se shoduje."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "oživení: selhalo pro '%s', neshodující se repomd."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repozitář: použití mezipaměti pro: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Povoleno použítí jen mezipaměti, ale žádná vyrovnávací paměť pro '%s'"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Probíhá"
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/da.po b/po/da.po
+index a43bb22d..805445cb 100644
+--- a/po/da.po
++++ b/po/da.po
+@@ -4,7 +4,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-01-29 03:07+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Danish\n"
+@@ -15,66 +15,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -85,11 +68,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -97,15 +80,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -114,11 +97,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -126,13 +109,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -147,751 +130,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Under udførelse"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "ingen værdi angivet"
+-
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
+-msgstr "ukendt enhed '%s'"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
+-#, c-format
+-msgid "invalid boolean value '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "givne sti '%s' findes ikke."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:302
++#, c-format
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
++msgid "given path '%s' does not exist."
++msgstr "givne sti '%s' findes ikke."
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "ingen værdi angivet"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:71
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "ukendt enhed '%s'"
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
+-#, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot create directory \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
++#: ../libdnf/dnf-sack.cpp:955
+ #, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Under udførelse"
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/de.po b/po/de.po
+index 71a72970..6751c710 100644
+--- a/po/de.po
++++ b/po/de.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-11-02 05:26+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: German\n"
+@@ -18,87 +18,67 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-"Quellen nicht festgelegt, wenn versucht wird, ein Paket sicherzustellen %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-"Es konnte nicht sichergestellt werden %1$s als Repo %2$s nicht gefunden(%3$i"
+-" Repos geladen)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "Fehler beim Überprüfen nicht vertrauenswürdiger Elemente: "
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "Umbenennung fehlgeschlagen %1$s zu %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "Heruntergeladene Datei für %s nicht gefunden"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "Fehler beim Setzen der Perms %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+-"Paket %1$s kann nicht überprüft werden und repo %2$s ist GPG aktiviert: %3$s"
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "Fehler beim Abrufen des Werts für CacheDir"
+-
+-#: ../libdnf/dnf-transaction.cpp:887
+-#, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "Größe des Dateisystems konnte nicht abgerufen werden %s: "
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "Größe des Dateisystems konnte nicht abgerufen werden %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "Verzeichnis kann nicht geöffnet werden %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr "Nicht genügend Freiraum in %1$s: erforderlich %2$s, verfügbar %3$s"
++msgid "cannot stat path %1$s: %2$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "root konnte nicht gesetzt werden"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "Transaktion konnte nicht getrennt werden; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "Error %i laufender Transaktionstest"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "%i Problem erkannt:\n"
++msgstr[1] "%i erkannte Probleme:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "Error %i laufende Transaktion"
++msgid " Problem %1$i: %2$s\n"
++msgstr " Problem %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr ""
+-"Transaktion ging nicht in die Schreibphase, gab jedoch keinen Fehler zurück "
+-"(%i)"
++msgid " Problem: %s\n"
++msgstr " Problem: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+ msgstr ""
++"Falsch geformter Selector, Vorhandensein mehrerer Übereinstimmungsobjekte im"
++" Filter"
+ 
+ #: ../libdnf/goal/Goal.cpp:56
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+-msgstr ""
++msgstr "Falscher Selektor für den Vorgang, falscher Vergleichstyp"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -106,15 +86,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -123,11 +103,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -135,13 +115,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -156,342 +136,437 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+-msgstr ""
++msgstr "Kein Löser eingestellt"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+-msgstr ""
++msgstr "gescheitert zu machen %s absolut"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+-msgstr ""
++msgstr "Fehler beim Schreiben von Debugdata %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+-msgstr ""
++msgstr "keine solv im ziel"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+-msgstr ""
++msgstr "Keine Lösung, geschütztes Paket kann nicht entfernt werden"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+-msgstr ""
++msgstr "keine Lösung möglich"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
++"Die Operation würde zum Entfernen der folgenden geschützten Pakete führen: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Transformer: kann nicht geöffnet werden"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "Schlechte id für repo: %s, Byte = %s %d"
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "Konnte keine Verlaufsdatenbank finden"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr ""
++"Paketquelle %s weist keine Spiegelserver- oder Baseurl-Einstellung auf."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "In Arbeit"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "Repository '%s'hat nicht unterstützten Typ:' Typ =%s', überspringen."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "Nicht in Arbeit"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Keine gültige baseurl gefunden für Paketquelle: %s"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "Keine Transaktion in Bearbeitung"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr ""
++"Die maximale Downloadgeschwindigkeit liegt unter der minimalen "
++"Downloadgeschwindigkeit. Bitte passen Sie die Einstellung von minrate oder "
++"throttle an"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "Die Transaktion hat bereits begonnen!"
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#, c-format
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "TransactionItem-Status ist nicht festgelegt: %s"
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr ""
+-"Konsolenausgabe kann nicht zur nicht gespeicherten Transaktion hinzugefügt "
+-"werden"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr ""
+-"Versuchen Sie, das Transaktionselement in die abgeschlossene Transaktion "
+-"einzufügen"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
++msgstr "kann keine Schlüssel auflisten: %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:839
++#, c-format
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+-"Versuch, das Transaktionselement in der abgeschlossenen Transaktion zu "
+-"aktualisieren"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "Repo %s: 0x%s bereits importiert"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "Repo %s: importierter Schlüssel 0x%s."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "Widerbeleben: Paketquelle '%s' übersprungen, kein Metalink"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "Erneuern: Paketquelle '%s' übersprungen, kein benutzbarer Hash."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "Wiederbeleben: Fehler bei '%s', nicht passende %s Summe."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
++"Wiederbeleben: '%s' kann wiederbelebt werden - Metalink Prüfsumme gefunden."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "Erneuern: '%s' kann erneuert werden - repomd stimmt überein."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "Wiederbeleben: Fehler bei '%s', nicht übereinstimmende repomd"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "Repo-Verzeichnis kann nicht erstellt werden \"%s\": %s"
++
++#: ../libdnf/repo/Repo.cpp:1275
++#, c-format
++msgid "Cannot create directory \"%s\": %s"
++msgstr "Verzeichnis kann nicht erstellt werden \"%s\": %s"
++
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "Verzeichnis kann nicht umbenannt werden \"%s\"bis\"%s\": %s"
++
++#: ../libdnf/repo/Repo.cpp:1321
++#, c-format
++msgid "repo: using cache for: %s"
++msgstr "Paketquelle: Cache verwenden für: %s"
++
++#: ../libdnf/repo/Repo.cpp:1333
++#, c-format
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "»Nur Cache« aktiviert, aber kein Cache für »%s«"
++
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
++msgstr "Repo: Herunterladen von Remote: %s"
++
++#: ../libdnf/repo/Repo.cpp:1343
++#, c-format
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir (): Die Berechnung von SHA256 ist fehlgeschlagen"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
++"resume kann nicht gleichzeitig mit dem byterangestart-param verwendet werden"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' ist kein zulässiger Wert"
++msgid "PackageTarget initialization failed: %s"
++msgstr "Initialisierung von PackageTarget fehlgeschlagen: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "Ungültiger Wert"
++#: ../libdnf/repo/Repo.cpp:1918
++#, c-format
++msgid "Cannot open %s: %s"
++msgstr "Nicht öffnen können %s: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Konfiguration: OptionBinding mit ID \"%s\" ist nicht vorhanden"
++msgid "Log handler with id %ld doesn't exist"
++msgstr "Protokollhandler mit ID %ld existiert nicht"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Konfiguration: OptionBinding mit ID \"%s\" ist bereits vorhanden"
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
++"Quellen nicht festgelegt, wenn versucht wird, ein Paket sicherzustellen %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "Kein Wert angegeben"
++#: ../libdnf/dnf-transaction.cpp:302
++#, c-format
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
++"Es konnte nicht sichergestellt werden %1$s als Repo %2$s nicht gefunden(%3$i"
++" Repos geladen)"
++
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "Fehler beim Überprüfen nicht vertrauenswürdiger Elemente: "
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "Der Wert für Sekunden '%s' darf nicht negativ sein"
++msgid "Downloaded file for %s not found"
++msgstr "Heruntergeladene Datei für %s nicht gefunden"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "konnte nicht konvertieren%s'zu Sekunden"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++"Paket %1$s kann nicht überprüft werden und repo %2$s ist GPG aktiviert: %3$s"
++
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "Fehler beim Abrufen des Werts für CacheDir"
++
++#: ../libdnf/dnf-transaction.cpp:887
++#, c-format
++msgid "Failed to get filesystem free size for %s: "
++msgstr "Größe des Dateisystems konnte nicht abgerufen werden %s: "
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "Unbekannte Einheit '%s'"
++msgid "Failed to get filesystem free size for %s"
++msgstr "Größe des Dateisystems konnte nicht abgerufen werden %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/dnf-transaction.cpp:911
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "Ungültige Boolesche Variable »%s«"
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr "Nicht genügend Freiraum in %1$s: erforderlich %2$s, verfügbar %3$s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr "root konnte nicht gesetzt werden"
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Error %i running transaction test"
++msgstr "Error %i laufender Transaktionstest"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "Error %i laufende Transaktion"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+-"Eingegebener Wer [%d] sollte kleiner sein als der zulässige Wert [%d]."
++"Transaktion ging nicht in die Schreibphase, gab jedoch keinen Fehler zurück "
++"(%i)"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "Eingegebener Wer [%d] sollte größer sein als der zulässige Wert [%d]."
++msgid "failed to remove %s"
++msgstr "konnte nicht entfernt werden %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "Der eingegebene Pfad '%s' ist nicht absolut."
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "Der eingegebene Pfad '%s' existiert nicht."
++msgid "Can't obtain address of symbol \"%s\": %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue (): Wert nicht festgelegt"
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "konnte nicht konvertieren%s'in Bytes"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "Prozentsatz '%s' liegt außerhalb des zulässigen Bereichs"
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -518,29 +593,66 @@ msgstr ""
+ msgid "already at 100%% state [%s]"
+ msgstr "bereits bei 100 %% state [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "Verzeichnis kann nicht geöffnet werden %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -604,25 +716,84 @@ msgstr "Paket konnte nicht gefunden werden %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "Erase Element konnte nicht hinzugefügt werden %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr ""
+-
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "'%s' is not an allowed value"
++msgstr "'%s' ist kein zulässiger Wert"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
+-#, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr ""
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue (): Wert nicht festgelegt"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "given path '%s' is not absolute."
++msgstr "Der eingegebene Pfad '%s' ist nicht absolut."
++
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "Der eingegebene Pfad '%s' existiert nicht."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "Ungültige Boolesche Variable »%s«"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "Kein Wert angegeben"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "Der Wert für Sekunden '%s' darf nicht negativ sein"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "konnte nicht konvertieren%s'in Bytes"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "Unbekannte Einheit '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "Prozentsatz '%s' liegt außerhalb des zulässigen Bereichs"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
++"Eingegebener Wer [%d] sollte kleiner sein als der zulässige Wert [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "Eingegebener Wer [%d] sollte größer sein als der zulässige Wert [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "Ungültiger Wert"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Konfiguration: OptionBinding mit ID \"%s\" ist nicht vorhanden"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Konfiguration: OptionBinding mit ID \"%s\" ist bereits vorhanden"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "konnte nicht konvertieren%s'zu Sekunden"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+@@ -709,213 +880,51 @@ msgstr "Fehler beim Laden der RPMDB"
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr ""
+-"Paketquelle %s weist keine Spiegelserver- oder Baseurl-Einstellung auf."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Keine gültige baseurl gefunden für Paketquelle: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"Die maximale Downloadgeschwindigkeit liegt unter der minimalen "
+-"Downloadgeschwindigkeit. Bitte passen Sie die Einstellung von minrate oder "
+-"throttle an"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "kann keine Schlüssel auflisten: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "Repo %s: 0x%s bereits importiert"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "Repo %s: importierter Schlüssel 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "Widerbeleben: Paketquelle '%s' übersprungen, kein Metalink"
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "Erneuern: Paketquelle '%s' übersprungen, kein benutzbarer Hash."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "Wiederbeleben: Fehler bei '%s', nicht passende %s Summe."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"Wiederbeleben: '%s' kann wiederbelebt werden - Metalink Prüfsumme gefunden."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "Erneuern: '%s' kann erneuert werden - repomd stimmt überein."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "Wiederbeleben: Fehler bei '%s', nicht übereinstimmende repomd"
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "Repo-Verzeichnis kann nicht erstellt werden \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "Verzeichnis kann nicht erstellt werden \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "Verzeichnis kann nicht umbenannt werden \"%s\"bis\"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "Paketquelle: Cache verwenden für: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "»Nur Cache« aktiviert, aber kein Cache für »%s«"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "Repo: Herunterladen von Remote: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir (): Die Berechnung von SHA256 ist fehlgeschlagen"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-"resume kann nicht gleichzeitig mit dem byterangestart-param verwendet werden"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "Initialisierung von PackageTarget fehlgeschlagen: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Transformer: kann nicht geöffnet werden"
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "Nicht öffnen können %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "Konnte keine Verlaufsdatenbank finden"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "Protokollhandler mit ID %ld existiert nicht"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "In Arbeit"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "Nicht in Arbeit"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "Keine Transaktion in Bearbeitung"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
++"Versuchen Sie, das Transaktionselement in die abgeschlossene Transaktion "
++"einzufügen"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
++"Versuch, das Transaktionselement in der abgeschlossenen Transaktion zu "
++"aktualisieren"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "Die Transaktion hat bereits begonnen!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "TransactionItem-Status ist nicht festgelegt: %s"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
+-#, c-format
+-msgid "Can't load plugin \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+-
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "konnte nicht entfernt werden %s"
++"Konsolenausgabe kann nicht zur nicht gespeicherten Transaktion hinzugefügt "
++"werden"
+diff --git a/po/el.po b/po/el.po
+index 0f8907f5..8ae2991f 100644
+--- a/po/el.po
++++ b/po/el.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:00+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Greek\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Σε εξέλιξη"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Σε εξέλιξη"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/es.po b/po/es.po
+index bf1f84e4..691876d8 100644
+--- a/po/es.po
++++ b/po/es.po
+@@ -2,13 +2,14 @@
+ # Máximo Castañeda Riloba <mcrcctm@gmail.com>, 2017. #zanata
+ # Ludek Janda <ljanda@redhat.com>, 2018. #zanata
+ # Máximo Castañeda Riloba <mcrcctm@gmail.com>, 2018. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2019. #zanata
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
+-"PO-Revision-Date: 2018-11-12 11:34+0000\n"
+-"Last-Translator: Máximo Castañeda Riloba <mcrcctm@gmail.com>\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
++"PO-Revision-Date: 2019-06-18 02:12+0000\n"
++"Last-Translator: Ludek Janda <ljanda@redhat.com>\n"
+ "Language-Team: Spanish\n"
+ "Language: es\n"
+ "MIME-Version: 1.0\n"
+@@ -17,91 +18,66 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-"No se han indicado los orígenes al intentar asegurar la inclusión del "
+-"paquete %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-"No se pudo asegurar la inclusión de %1$s al no encontrar el repositorio %2$s"
+-" (%3$i repositorios cargados)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "Error al comprobar no confiable: "
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "No se pudo renombrar %1$s a %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "No se encuentra el archivo descargado para %s"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "No se pudieron cambiar los permisos para %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+-"no se puede comprobar el paquete %1$s y el repositorio %2$s tiene GPG "
+-"activo: %3$s"
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "No se puedo obtener el valor de CacheDir"
+-
+-#: ../libdnf/dnf-transaction.cpp:887
+-#, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "No se pudo obtener el espacio libre del sistema de archivos para %s: "
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "No se pudo obtener el espacio libre del sistema de archivos para %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "no se pudo abrir directorio %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+-"No hay suficiente espacio disponible en %1$s: se necesitan %2$s, hay %3$s "
+-"disponibles"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "no se pudo establecer la raíz"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "No se pudieron resolver las dependencias para la transacción; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "Error %i al ejecutar la prueba de transacción"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "Detectado %i problema:\n"
++msgstr[1] "Detectados %i problemas:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "Error %i al ejecutar transacción"
++msgid " Problem %1$i: %2$s\n"
++msgstr " Problema %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr ""
+-"La transacción no llegó a la fase de escritura, pero tampoco devolvió error "
+-"(%i)"
++msgid " Problem: %s\n"
++msgstr " Problema: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+-msgstr ""
++msgstr "Selector mal formado; hay varios objetos de coincidencia en el filtro"
+ 
+ #: ../libdnf/goal/Goal.cpp:56
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
++"Selector mal formado para la operación; tipo de comparación incorrecto"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -109,15 +85,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -126,11 +102,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -138,13 +114,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -159,335 +135,437 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+-msgstr ""
++msgstr "no hay resolutor"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+-msgstr ""
++msgstr "no se pudo hacer %s absoluto"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+-msgstr ""
++msgstr "no se pudo escribir información de depuración en %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+-msgstr ""
++msgstr "no hay resolutor en el objetivo"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+-msgstr ""
++msgstr "no se encuentra solución; no se puede eliminar un paquete protegido"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+-msgstr ""
++msgstr "no hay solución posible"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+-msgstr ""
+-
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Transformador: no se puede abrir la historia."
++msgstr "La operación eliminaría los siguientes paquetes protegidos: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "No se encontró ninguna base de datos histórica"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "ID incorrecto para repositorio: %s, byte = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "En marcha"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "El repositorio %s no tiene espejos ni URL base."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "No está en marcha"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "El repository '%s' es de un tipo no admitido: 'type=%s', se omite."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "No hay ninguna transacción en marcha"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "No se encuentra URL válida para el repositorio: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "¡La transacción ya se inició!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr ""
++"La velocidad máxima de descarga es menor que la mínima. Cambie el ajuste de "
++"minrate o throttle."
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "No se ha establecido el estado de la transacción: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "No se puede añadir salida a consola para una transacción no guardada"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "Se ha intentado insertar un elemento en una transacción finalizada"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "Se ha intentado actualizar un elemento en una transacción finalizada"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
++msgstr "no se pueden obtener las claves: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "repo %s: clave 0x%s ya importada"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "repo %s: importada clave 0x%s."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "reviving: omitido el repositorio '%s', no hay metalink."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "reviving: omitido el repositorio '%s', no se puede usar el hash."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "reviving: error para '%s', no coincide la suma %s."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
++"reviving: '%s' se puede reutilizar, las comprobaciones del metalink cuadran."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "reviving: '%s' se puede reutilizar, los metadatos coinciden."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "reviving: no se puede con '%s', los metadatos no coinciden."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "No se pudo crear el directorio temporal \"%s\" del repositorio: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "no se admite el valor '%s'"
++msgid "Cannot create directory \"%s\": %s"
++msgstr "No se pudo crear el directorio \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "valor no aceptado"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "No se pudo renombrar el directorio \"%s\" a \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Configuración: no existe OptionBinding con id \"%s\""
++msgid "repo: using cache for: %s"
++msgstr "repo: se usa caché para %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Configuración: ya existe OptionBinding con id \"%s\""
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Se ha activado cache-only, pero no hay caché para '%s'."
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "no se ha indicado ningún valor"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
++msgstr "repo: descargando desde remoto: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "el tiempo (%s) no puede ser negativo"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir(): Falló el cálculo de SHA256"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr "no se puede usar resume con el parámetro byterangestart"
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "no se pudo convertir '%s' en segundos"
++msgid "PackageTarget initialization failed: %s"
++msgstr "Falló la inicialización de PackageTarget: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "unidad '%s' desconocida"
++msgid "Cannot open %s: %s"
++msgstr "No se pudo abrir %s: %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "valor booleano inválido '%s'"
++msgid "Log handler with id %ld doesn't exist"
++msgstr "No hay gestor de informes con id %ld"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "el valor [%d] no puede ser mayor que el máximo permitido [%d]."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
++"No se han indicado los orígenes al intentar asegurar la inclusión del "
++"paquete %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "el valor [%d] no puede ser menor que el mínimo permitido [%d]."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
++"No se pudo asegurar la inclusión de %1$s al no encontrar el repositorio %2$s"
++" (%3$i repositorios cargados)"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "Error al comprobar no confiable: "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "la ruta '%s' no es absoluta."
++msgid "Downloaded file for %s not found"
++msgstr "No se encuentra el archivo descargado para %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "la ruta '%s' no existe."
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++"no se puede comprobar el paquete %1$s y el repositorio %2$s tiene GPG "
++"activo: %3$s"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue(): valor no definido"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "No se puedo obtener el valor de CacheDir"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "no se pudo transformar '%s' en bytes"
++msgid "Failed to get filesystem free size for %s: "
++msgstr "No se pudo obtener el espacio libre del sistema de archivos para %s: "
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "el valor del porcentaje (%s) se encuentra fuera del rango aceptable"
++msgid "Failed to get filesystem free size for %s"
++msgstr "No se pudo obtener el espacio libre del sistema de archivos para %s"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++"No hay suficiente espacio disponible en %1$s: se necesitan %2$s, hay %3$s "
++"disponibles"
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr "no se pudo establecer la raíz"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "Error %i al ejecutar la prueba de transacción"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "Error %i al ejecutar transacción"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++"La transacción no llegó a la fase de escritura, pero tampoco devolvió error "
++"(%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "no se pudo eliminar %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -513,29 +591,66 @@ msgstr "finalizada tarea en un estado %1$p sin tamaño [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "ya está al 100%% [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "no se pudo abrir directorio %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -600,25 +715,83 @@ msgstr "no se encontró el paquete %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "no se pudo añadir elemento de borrado %1$s (%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr ""
+-
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "'%s' is not an allowed value"
++msgstr "no se admite el valor '%s'"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
+-#, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr ""
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue(): valor no definido"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr ""
++msgid "given path '%s' is not absolute."
++msgstr "la ruta '%s' no es absoluta."
++
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "la ruta '%s' no existe."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "valor booleano inválido '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "no se ha indicado ningún valor"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "el tiempo (%s) no puede ser negativo"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "no se pudo transformar '%s' en bytes"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "unidad '%s' desconocida"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "el valor del porcentaje (%s) se encuentra fuera del rango aceptable"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "el valor [%d] no puede ser mayor que el máximo permitido [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "el valor [%d] no puede ser menor que el mínimo permitido [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "valor no aceptado"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Configuración: no existe OptionBinding con id \"%s\""
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Configuración: ya existe OptionBinding con id \"%s\""
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "no se pudo convertir '%s' en segundos"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+@@ -706,210 +879,45 @@ msgstr "no se pudo cargar la RPMDB"
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "El repositorio %s no tiene espejos ni URL base."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "No se encuentra URL válida para el repositorio: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"La velocidad máxima de descarga es menor que la mínima. Cambie el ajuste de "
+-"minrate o throttle."
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "no se pueden obtener las claves: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "repo %s: clave 0x%s ya importada"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "repo %s: importada clave 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "reviving: omitido el repositorio '%s', no hay metalink."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "reviving: omitido el repositorio '%s', no se puede usar el hash."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "reviving: error para '%s', no coincide la suma %s."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"reviving: '%s' se puede reutilizar, las comprobaciones del metalink cuadran."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "reviving: '%s' se puede reutilizar, los metadatos coinciden."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "reviving: no se puede con '%s', los metadatos no coinciden."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "No se pudo crear el directorio temporal \"%s\" del repositorio: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "No se pudo crear el directorio \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "No se pudo renombrar el directorio \"%s\" a \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repo: se usa caché para %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Se ha activado cache-only, pero no hay caché para '%s'."
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "repo: descargando desde remoto: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir(): Falló el cálculo de SHA256"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr "no se puede usar resume con el parámetro byterangestart"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "Falló la inicialización de PackageTarget: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "No se pudo abrir %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Transformador: no se puede abrir la historia."
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "No hay gestor de informes con id %ld"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "No se encontró ninguna base de datos histórica"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "En marcha"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "No está en marcha"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "No hay ninguna transacción en marcha"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "Se ha intentado insertar un elemento en una transacción finalizada"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "Se ha intentado actualizar un elemento en una transacción finalizada"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "¡La transacción ya se inició!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "No se ha establecido el estado de la transacción: %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "no se pudo eliminar %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "No se puede añadir salida a consola para una transacción no guardada"
+diff --git a/po/fa.po b/po/fa.po
+index ed373c51..a25306e6 100644
+--- a/po/fa.po
++++ b/po/fa.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:05+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Persian\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=1; plural=0\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "در حال پیشرفت"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "در حال پیشرفت"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/fi.po b/po/fi.po
+index 666a31c3..8d635020 100644
+--- a/po/fi.po
++++ b/po/fi.po
+@@ -3,7 +3,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2017-04-11 02:25+0000\n"
+ "Last-Translator: Toni Rantala <trantalafilo@gmail.com>\n"
+ "Language-Team: Finnish\n"
+@@ -14,66 +14,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -84,11 +67,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -96,15 +79,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -113,11 +96,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -125,13 +108,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -146,751 +129,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Kesken"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr ""
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1204
++#, c-format
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' ei ole sallittu arvo"
+-
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "arvoa ei määritetty"
+-
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "sekuntien arvo '%s' ei saa olla negatiivinen"
++msgid "repo: using cache for: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "tuntematon yksikkö '%s'"
++msgid "repo: downloading from remote: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "epäkelpo totuusarvo '%s'"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
+-#, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
+-#, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/repo/Repo.cpp:1962
++#, c-format
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:911
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
+-#, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature not found for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/dnf-state.cpp:1193
++#, c-format
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "failed to find package %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:413
++#, c-format
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
+-#, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
+-#, c-format
+-msgid " Problem %1$i: %2$s\n"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Cannot enable multiple streams for module '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:78
++#, c-format
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:141
++#, c-format
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:149
++#, c-format
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/dnf-rpmts.cpp:354
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgid "'%s' is not an allowed value"
++msgstr "'%s' ei ole sallittu arvo"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
++msgid "invalid boolean value '%s'"
++msgstr "epäkelpo totuusarvo '%s'"
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "arvoa ei määritetty"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
++msgid "seconds value '%s' must not be negative"
++msgstr "sekuntien arvo '%s' ei saa olla negatiivinen"
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/ConfigMain.cpp:71
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "can not list keys: %s"
+-msgstr ""
++msgid "unknown unit '%s'"
++msgstr "tuntematon yksikkö '%s'"
+ 
+-#: ../libdnf/repo/Repo.cpp:839
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "repo: using cache for: %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "repo: downloading from remote: %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
++#: ../libdnf/dnf-sack.cpp:955
+ #, c-format
+-msgid "Cannot open %s: %s"
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Kesken"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
+-#, c-format
+-msgid "Can't load plugin \"%s\": %s"
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr ""
++
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr ""
++
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "failed to remove %s"
++msgid "TransactionItem state is not set: %s"
++msgstr ""
++
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/fil.po b/po/fil.po
+index ab66afb6..7f7f85df 100644
+--- a/po/fil.po
++++ b/po/fil.po
+@@ -3,7 +3,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-04-12 04:47+0000\n"
+ "Last-Translator: Alvin Abuke <abuke.ac@gmail.com>\n"
+ "Language-Team: Filipino\n"
+@@ -14,66 +14,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=n > 1\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -84,11 +67,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -96,15 +79,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -113,11 +96,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -125,13 +108,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -146,751 +129,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Hindi mahagilap ang wastong baseurl para sa repo: %s"
++
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#, c-format
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:839
++#, c-format
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:855
++#, c-format
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1333
++#, c-format
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
+-#, c-format
+-msgid "seconds value '%s' must not be negative"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "unknown unit '%s'"
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
+-#, c-format
+-msgid "given path '%s' is not absolute."
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:373
++#, c-format
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
+-#, c-format
+-msgid "could not convert '%s' to bytes"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:911
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Hindi mahagilap ang wastong baseurl para sa repo: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:71
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "repo: using cache for: %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
++msgstr ""
++
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
++msgstr ""
++
++#: ../libdnf/dnf-sack.cpp:955
+ #, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/fr.po b/po/fr.po
+index b395cc76..21aba4be 100644
+--- a/po/fr.po
++++ b/po/fr.po
+@@ -4,13 +4,16 @@
+ # Jérôme Fenal <jfenal@gmail.com>, 2017. #zanata
+ # Ludek Janda <ljanda@redhat.com>, 2018. #zanata
+ # Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2019. #zanata
++# corina roe <croe@redhat.com>, 2019. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2020. #zanata
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
+-"PO-Revision-Date: 2019-05-21 06:12+0000\n"
+-"Last-Translator: Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
++"PO-Revision-Date: 2020-01-14 01:25+0000\n"
++"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: French\n"
+ "Language: fr\n"
+ "MIME-Version: 1.0\n"
+@@ -19,71 +22,51 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n > 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, 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:302
+-#, 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:343
+-msgid "Failed to check untrusted: "
+-msgstr "N’a pas pu vérifier untrusted : "
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "Fichier téléchargé pour %s non trouvé"
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "N’a pas pu renommer %1$s en %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, 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:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "N’a pas pu obtenir la valeur de CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "N’a pas pu définir les perms sur %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, 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 : "
++msgid "cannot create directory %1$s: %2$s"
++msgstr "N’a pas pu créer le répertoire %1$s : %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, 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"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "n’a pas pu ouvrir le répertoire %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, 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"
++msgid "cannot stat path %1$s: %2$s"
++msgstr "ne peut pas stat path %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "n’a pu réussi à définir root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "N’a pas pu depsolve transaction; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "Erreur %i lors du test transactionnel"
++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-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "Erreur %i pendant la transaction"
++msgid " Problem %1$i: %2$s\n"
++msgstr " Probléme %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr ""
+-"La transaction n’a pas pu opérer en phase d’écriture, mais a renvoyé « no "
+-"error(%i) »"
++msgid " Problem: %s\n"
++msgstr " Probléme: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+@@ -97,11 +80,11 @@ msgstr ""
+ "Sélecteur Ill-formed utilisé pour l’opération, type de comparaison "
+ "incorrecte"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr " n’appartient pas à un dépôt distupgrade"
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr " a une architecture inférieure"
+ 
+@@ -109,15 +92,15 @@ msgstr " a une architecture inférieure"
+ msgid "problem with installed package "
+ msgstr "problème avec le paquet installé "
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr "requêtes conflictuelles"
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr "requête non prise en charge"
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr "rien de fourni ce qui a été demandé "
+ 
+@@ -126,11 +109,11 @@ msgstr "rien de fourni ce qui a été demandé "
+ msgid "package %s does not exist"
+ msgstr "le paquet %s n’existe pas"
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr " est fourni par le système"
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr "quelques problèmes de dépendances"
+ 
+@@ -138,14 +121,14 @@ msgstr "quelques problèmes de dépendances"
+ msgid "cannot install the best update candidate for package "
+ msgstr "installation impossible du meilleur candidat pour le paquet "
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr "installation impossible du meilleur candidat pour la tâche"
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
+-msgstr "le paquet %s est exclut"
++msgid "package %s is filtered out by modular filtering"
++msgstr "le paquet %sest filtré par un filtrage modulaire"
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+ #, c-format
+@@ -159,347 +142,440 @@ msgstr "le paquet %s n’est pas installable"
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
++msgid "package %s is filtered out by exclude filtering"
++msgstr "le paquet %sest filtré par un filtrage d’exclusion"
++
++#: ../libdnf/goal/Goal.cpp:82
++#, c-format
+ msgid "nothing provides %s needed by %s"
+ msgstr "rien de fournit %s rendu nécessaire par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:82
++#: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+ msgid "cannot install both %s and %s"
+ msgstr "installation impossible à la fois de %s et %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:83
++#: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+ msgid "package %s conflicts with %s provided by %s"
+ msgstr "le paquet %s est en conflit avec %s fourni par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:84
++#: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+ msgid "package %s obsoletes %s provided by %s"
+ msgstr "le paquet %s rend obsolète %s fourni par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:85
++#: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+ msgid "installed package %s obsoletes %s provided by %s"
+ msgstr "le paquet installé %s rend obsolète %s fourni par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:86
++#: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+ msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr "le paquet %s rend implicitement obsolète %s fourni par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:87
++#: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+ msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ "le paquet %s nécessite %s, mais aucun fournisseur ne peut être installé"
+ 
+-#: ../libdnf/goal/Goal.cpp:88
++#: ../libdnf/goal/Goal.cpp:89
+ #, c-format
+ msgid "package %s conflicts with %s provided by itself"
+ msgstr "le paquet %s est en conflit avec %s fourni par lui-même"
+ 
+-#: ../libdnf/goal/Goal.cpp:89
++#: ../libdnf/goal/Goal.cpp:90
+ #, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr "à la fois le paquet %s et %s rendent obsolète %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr "problème avec le module installé "
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr "le module %s n’existe pas"
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ "installation impossible du meilleur candidat de mise à jour pour le module "
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr "le module %s est désactivé"
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr "le module %s n’a pas d’architecture compatible"
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr "le module %s n’est pas installable"
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr "rien de fournit %s rendu nécessaire par le module %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr "installation impossible à la fois des modules %s et %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr "le module %s est en conflit avec %s fourni par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr "le module %s rend obsolète %s fourni par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr "le module installé %s rend obsolète %s fourni par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr "le module %s rend implicitement obsolète %s fourni par %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ "le module %s nécessite %s, mais aucun fournisseur ne peut être installé"
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr "le module %s est en conflit avec %s fourni par lui-même"
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr "à la fois le module %s et %s rendent obsolète %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr "aucun solveur défini"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "n’a pas pu rendre %s absolu"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "n’a pas pu écrire debugdata dans %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr "pas de solv dans l’objectif"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr "aucune solution, n’a pas pu supprimer le package protégé"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr "aucune solution n’est possible"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ "L’opération résulterait en la suppression des packages protégés suivants : "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr ""
+-"Transformer: n’a pu ouvrir le répertoire de persistance de l’historique"
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "N’a pas pu trouver de base de données de l’historique"
+-
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "En cours"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "Pas en cours"
+-
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "Aucune transaction n’est en cours"
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "La transaction a déjà commencé !"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "Id erroné pour le dépôt : %s, byte = %s %d"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:362
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "L’état du TransactionItem n’est pas défini: %s"
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "Le dépôt %s n’a pas de miroir ou d’adresse de base"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+-"Ne peut pas ajouter une sortie de console à une transaction non enregistrée"
++"Le dépôt « %s » n’a pas de type pris en charge : « type=%s », passer outre."
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr ""
+-"Tentative d’insérer un élément de transaction dans une transaction achevée"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Impossible de trouver une adresse de base pour le dépôt : %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+-"Tentative de mettre à jour un élément de transaction dans une transaction "
+-"achevée"
++"La vitesse de téléchargement maximale est plus basse que le minimum. "
++"Veuillez modifier les paramètres minrate ou throttle"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr "Impossible d’activer les flux pour le module « %s »"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
+-msgstr "Valeurs par défaut en conflit avec le dépôt « %s » : %s"
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
+-msgstr ""
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "can not list keys: %s"
++msgstr "n’a pas pu lister les clés : %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "Failed to retrieve GPG key for repo '%s': %s"
++msgstr "Impossible de récupérer la clé GPG pour le référentiel «%s» : %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "%s: gpgme_set_protocol(): %s"
++msgstr "%s: gpgme_set_protocol(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgstr "%s: gpgme_op_assuan_transact_ext(): %s"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr "Format invalide du module de plateforme : %s"
+-
+-#: ../libdnf/module/ModulePackage.cpp:428
+-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:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
+-"De multiples modules de plateformes sont fournis par les paquets installés\n"
++msgid "repo %s: 0x%s already imported"
++msgstr "dépôt %s: 0x%s déjà importé"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr "La détection des modules de plateformes dans %s a échoué : %s"
++msgid "repo %s: imported key 0x%s."
++msgstr "dépôt %s: clé importée 0x%s."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr "L'identifiant de la platforme est manquant dans %s"
+-
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
+-msgstr "Aucun identifiant de plateforme n'a été détecté"
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "relance : dépôt « %s » ignoré, pas de méta-lien."
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "la valeur « %s » n’est pas autorisée"
+-
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "valeur non valide"
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "relance : dépôt « %s » ignoré, pas de hachage utilisable."
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Configuration : OptionBinding ayant pour id « %s » n’existe pas"
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "relance : échec pour « %s », la somme de %s ne correspond pas."
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Configuration: OptionBinding ayant pour « %s » n’existe pas"
++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/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "aucune valeur n’est indiquée"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "relance : « %s » peut être relancé - le repomd correspond."
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "la valeur en secondes « %s » ne doit pas être négative"
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "relance : échec pour « %s », le repomd ne correspond pas."
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "n’a pu convertir « %s » en secondes"
++msgid "Cannot create repo destination directory \"%s\": %s"
++msgstr "N’a pas pu créer le répertoire de destination du dépôt « %s »: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "unité « %s » inconnue"
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "N’a pas pu créer le répertoire temporaire du dépôt « %s »: %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "valeur booléenne invalide : « %s »"
++msgid "Cannot create directory \"%s\": %s"
++msgstr "N’a pas pu créer le répertoire « %s »: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "la valeur fournie [%d] doit être inférieure à la valeur permise [%d]"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "N’a pas pu renommer le répertoire « %s » en « %s »: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "la valeur fournie [%d] doit être supérieure à la valeur permise [%d]"
++msgid "repo: using cache for: %s"
++msgstr "dépôt : utilisation du cache pour : %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "le chemin fourni « %s » n’est pas absolu."
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "« cache uniquement » activé, mais pas de cache pour « %s »"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "le chemin fourni « %s » n’existe pas."
++msgid "repo: downloading from remote: %s"
++msgstr "dépôt : téléchargement à distance en provenance de : %s"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue(): valeur non définie"
++#: ../libdnf/repo/Repo.cpp:1343
++#, c-format
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr "Échec du chargement des métadonnées pour le référentiel «%s»: %s"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir(): computation de SHA256 a échoué"
++
++#: ../libdnf/repo/Repo.cpp:1790
++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:1801
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "n’a pu convertir « %s » en octets"
++msgid "PackageTarget initialization failed: %s"
++msgstr "L’initialisation de Package Target a échoué : %s"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "le pourcentage « %s » est en dehors des limites"
++msgid "Cannot open %s: %s"
++msgstr "impossible d’ouvrir %s: %s"
++
++#: ../libdnf/repo/Repo.cpp:1962
++#, c-format
++msgid "Log handler with id %ld doesn't exist"
++msgstr "Log handler ayant pour id %ld n’existe pas"
++
++#: ../libdnf/dnf-transaction.cpp:276
++#, 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:302
++#, 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:343
++msgid "Failed to check untrusted: "
++msgstr "N’a pas pu vérifier untrusted : "
++
++#: ../libdnf/dnf-transaction.cpp:353
++#, c-format
++msgid "Downloaded file for %s not found"
++msgstr "Fichier téléchargé pour %s non trouvé"
++
++#: ../libdnf/dnf-transaction.cpp:373
++#, 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:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "N’a pas pu obtenir la valeur de CacheDir"
++
++#: ../libdnf/dnf-transaction.cpp:887
++#, 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:895
++#, 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:911
++#, 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"
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr "n’a pu réussi à définir root"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "Erreur %i lors du test transactionnel"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "Erreur %i pendant la transaction"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++"La transaction n’a pas pu opérer en phase d’écriture, mais a renvoyé « no "
++"error(%i) »"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "n’a pas pu supprimer %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr "Impossible de charger la librairie partagé « %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 "Impossible d’obtenir l’adresse du symbole « %s » : %s"
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr "Chargement du fichier d’extension fichier=« %s »"
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr "Extension chargée, nom=« %s », version=« %s »"
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++"Le chemin du dossier (dirPath) Plugins::loadPlugins() ne peut pas être vide"
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr "Impossible de lire de dossier de l’extension « %s » : %s"
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr "Impossible de charger l’extension « %s » : %s"
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -525,30 +601,72 @@ 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/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
+-msgstr "N’a pas pu renommer %1$s en %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
++msgstr "Format invalide du module de plateforme : %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++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:441
++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:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
+-msgstr "N’a pas pu définir les perms sur %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
++msgstr "La détection des modules de plateformes dans %s a échoué : %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
+-msgstr ""
++msgid "Missing PLATFORM_ID in %s"
++msgstr "L'identifiant de la platforme est manquant dans %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr "Aucun identifiant de plateforme n'a été détecté"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "n’a pas pu ouvrir le répertoire %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr "Impossible d’activer les flux pour le module « %s »"
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$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:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr "Impossible de charger les données Fail-Safe dans « %s »"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr "Impossible de charger les données Fail-Safe dans le module « %s.%s »"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
++"Impossible de créer un répertoire «%s» pour les données de sécurité "
++"modulaire :"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr "Impossible de sauvegarder les données Fail-Safe dans « %s »"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgstr "Impossible de supprimer les données Fail-Safe dans « %s »"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+@@ -556,6 +674,8 @@ msgid ""
+ "No available modular metadata for modular package '%s'; cannot be installed "
+ "on the system"
+ msgstr ""
++"Aucune donnée modulaire disponible pour le paquet modulaire « % », ne peut "
++"pas être installé dans le système"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+@@ -610,31 +730,88 @@ 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-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr "N’a pas pu depsolve la transaction; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "la valeur « %s » n’est pas autorisée"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue(): valeur non définie"
++
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
++msgstr "le chemin fourni « %s » n’est pas absolu."
++
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "le chemin fourni « %s » n’existe pas."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "valeur booléenne invalide : « %s »"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "aucune valeur n’est indiquée"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "la valeur en secondes « %s » ne doit pas être négative"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "n’a pu convertir « %s » en octets"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "unité « %s » inconnue"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "le pourcentage « %s » est en dehors des limites"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "la valeur fournie [%d] doit être inférieure à la valeur permise [%d]"
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "la valeur fournie [%d] doit être supérieure à la valeur permise [%d]"
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "valeur non valide"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, 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"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Configuration : OptionBinding ayant pour id « %s » n’existe pas"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr " Probléme %1$i: %2$s\n"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Configuration: OptionBinding ayant pour « %s » n’existe pas"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr " Probléme: %s\n"
++msgid "could not convert '%s' to seconds"
++msgstr "n’a pu convertir « %s » en secondes"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+ msgid "no %1$s string for %2$s"
+-msgstr ""
++msgstr "par de string %1$s pour %2$s"
+ 
+ #: ../libdnf/dnf-sack.cpp:440
+ msgid "failed to add solv"
+@@ -689,7 +866,7 @@ msgstr "repo_add_solv() a échoué."
+ 
+ #: ../libdnf/dnf-sack.cpp:750
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+-msgstr ""
++msgstr "le chargement de MD_TYPE_PRIMARY a échoué."
+ 
+ #: ../libdnf/dnf-sack.cpp:763
+ msgid "repo_add_repomdxml/rpmmd() has failed."
+@@ -716,215 +893,50 @@ msgstr "n’a pu télécharger RPMDB"
+ msgid "No module defaults found"
+ msgstr "Aucun module par défaut n’a été trouvé"
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr "Id erroné pour le dépôt : %s, byte = %s %d"
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "Le dépôt %s n’a pas de miroir ou d’adresse de base"
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-"Le dépôt « %s » n’a pas de type pris en charge : « type=%s », passer outre."
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Impossible de trouver une adresse de base pour le dépôt : %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"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"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "n’a pas pu lister les clés : %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "dépôt %s: 0x%s déjà importé"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "dépôt %s: clé importée 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, 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
+-#, 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
+-#, 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
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+-"relance : « %s » peut être relancé - la somme de contrôle du méta-lien "
+-"correspond."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "relance : « %s » peut être relancé - le repomd correspond."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "relance : échec pour « %s », le repomd ne correspond pas."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
+-msgstr "N’a pas pu 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 "N’a pas pu créer le répertoire temporaire du dépôt « %s »: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "N’a pas pu créer le répertoire « %s »: %s"
++"Transformer: n’a pu ouvrir le répertoire de persistance de l’historique"
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "N’a pas pu renommer le répertoire « %s » en « %s »: %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "N’a pas pu trouver de base de données de l’historique"
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "dépôt : utilisation du cache pour : %s"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "En cours"
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "« cache uniquement » activé, mais pas de cache pour « %s »"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "Pas en cours"
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "dépôt : téléchargement à distance en provenance de : %s"
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "Aucune transaction n’est en cours"
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
++"Tentative d’insérer un élément de transaction dans une transaction achevée"
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir(): computation de SHA256 a échoué"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+-"« resume » (reprise) ne peut pas être utilisé avec le paramètre "
+-"byterangestart"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "L’initialisation de Package Target a échoué : %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "impossible d’ouvrir %s: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "Log handler ayant pour id %ld n’existe pas"
+-
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr "Impossible de charger la librairie partagé « %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 "Impossible d’obtenir l’adresse du symbole « %s » : %s"
++"Tentative de mettre à jour un élément de transaction dans une transaction "
++"achevée"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr "Chargement du fichier d’extension fichier=« %s »"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "La transaction a déjà commencé !"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr "Extension chargée, nom=« %s », version=« %s »"
++msgid "TransactionItem state is not set: %s"
++msgstr "L’état du TransactionItem n’est pas défini: %s"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+-"Le chemin du dossier (dirPath) Plugins::loadPlugins() ne peut pas être vide"
+-
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr "Impossible de lire de dossier de l’extension « %s » : %s"
+-
+-#: ../libdnf/plugin/plugin.cpp:114
+-#, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr "Impossible de charger l’extension « %s » : %s"
+-
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "n’a pas pu supprimer %s"
++"Ne peut pas ajouter une sortie de console à une transaction non enregistrée"
+diff --git a/po/fur.po b/po/fur.po
+index 6cf22ba9..8bad6b2b 100644
+--- a/po/fur.po
++++ b/po/fur.po
+@@ -3,7 +3,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-05-01 09:08+0000\n"
+ "Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
+ "Language-Team: Friulian\n"
+@@ -14,66 +14,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -84,11 +67,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -96,15 +79,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -113,11 +96,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -125,13 +108,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -146,336 +129,424 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "Il repository %s nol à stabilît nissun mirror o url di base."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Impussibil cjatâ un url di base valit pal repo: %s"
++
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#, c-format
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:839
++#, c-format
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:855
++#, c-format
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' nol è un valôr permetût"
++msgid "repo: using cache for: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1333
++#, c-format
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "nissun valôr specificât"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
+-#, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "il valôr dai seconts '%s' nol à di jessi negatîf"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "unitât '%s' no cognossude"
++msgid "Cannot open %s: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "valôr boolean '%s' no valit"
++msgid "Log handler with id %ld doesn't exist"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "il valôr furnît [%d] al à di jessi minôr dal valôr permetût [%d]."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+-"il valôr furnît [%d] al à di jessi plui grant dal valôr permetût [%d]."
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "il percors furnît '%s' nol è assolût."
++msgid "Downloaded file for %s not found"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "il percors furnît '%s' nol esist."
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "la percentuâl '%s' e je fûr di scjale"
++msgid "Failed to get filesystem free size for %s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -501,29 +572,66 @@ msgstr ""
+ msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -586,24 +694,83 @@ msgstr ""
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "'%s' nol è un valôr permetût"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "given path '%s' is not absolute."
++msgstr "il percors furnît '%s' nol è assolût."
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "given path '%s' does not exist."
++msgstr "il percors furnît '%s' nol esist."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "valôr boolean '%s' no valit"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "nissun valôr specificât"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "il valôr dai seconts '%s' nol à di jessi negatîf"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "unknown unit '%s'"
++msgstr "unitât '%s' no cognossude"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "la percentuâl '%s' e je fûr di scjale"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "il valôr furnît [%d] al à di jessi minôr dal valôr permetût [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr ""
++"il valôr furnît [%d] al à di jessi plui grant dal valôr permetût [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr ""
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+@@ -691,207 +858,45 @@ msgstr ""
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "Il repository %s nol à stabilît nissun mirror o url di base."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Impussibil cjatâ un url di base valit pal repo: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/gu.po b/po/gu.po
+index cae5311f..e55419c6 100644
+--- a/po/gu.po
++++ b/po/gu.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:13+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Gujarati\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "પ્રગતિમાં છે"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "પ્રગતિમાં છે"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/hi.po b/po/hi.po
+index ed7b1334..b0828de4 100644
+--- a/po/hi.po
++++ b/po/hi.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:19+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Hindi\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "प्रगति में"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "प्रगति में"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/hu.po b/po/hu.po
+index a09464b2..0f5688f7 100644
+--- a/po/hu.po
++++ b/po/hu.po
+@@ -5,8 +5,8 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
+-"PO-Revision-Date: 2018-09-29 11:48+0000\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
++"PO-Revision-Date: 2018-10-21 11:30+0000\n"
+ "Last-Translator: Teknős Ferenc <teknos.ferenc@gmail.com>\n"
+ "Language-Team: Hungarian\n"
+ "Language: hu\n"
+@@ -16,66 +16,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr ""
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "A tranzakció leállítása nem sikerült; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -86,11 +69,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -98,15 +81,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -115,11 +98,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -127,13 +110,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -148,339 +131,428 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr ""
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Folyamatban"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "A(z) „%s” tárolóhoz nincs tükör vagy bázis-URL beállítva."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Nem található érvényes bázis-URL a tárolóhoz: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
++"A legnagyobb letöltési sebesség alacsonyabb mint a legkisebb. Módosítsa a "
++"minimális sebesség vagy a korlátozás beállítását"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr ""
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "újraélesztés: „%s” tároló kihagyva, nincs metalink."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "újraélesztés: „%s” tároló kihagyva, nincs használható hash."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1204
++#, c-format
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "újraélesztés: „%s” esetén sikertelen, nem egyező %s összeg."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
++"újraélesztés: „%s” újraéleszthető – a metalink ellenőrzőösszegek egyeznek."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "újraélesztés: „%s” újraéleszthető – a repomd egyezik."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "újraélesztés: „%s” esetén sikertelen, nem egyező repomd."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "a(z) „%s” érték nem megengedett"
+-
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr ""
++msgid "Cannot create directory \"%s\": %s"
++msgstr "Nem hozható létre könyvtár\"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "nincs érték megadva"
+-
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "a(z) „%s” másodperc érték nem lehet negatív"
++msgid "repo: using cache for: %s"
++msgstr "tároló: gyorsítótár használata a következőhöz: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
++"Csak gyorsítótárazás engedélyezve, de nincs gyorsítótár a(z) „%s” tárolóhoz."
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "ismeretlen egység: „%s”"
++msgid "repo: downloading from remote: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "érvénytelen logikai érték: „%s”"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr ""
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+-"a megadott értéknek [%d] kisebbnek kell lennie, mint a megengedett érték "
+-"[%d]."
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+-"a megadott értéknek [%d] nagyobbnak kell lennie, mint a megengedett érték "
+-"[%d]."
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "a megadott „%s” útvonal nem abszolút."
++msgid "Log handler with id %ld doesn't exist"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "a megadott „%s” útvonal nem létezik."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:302
++#, c-format
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "a(z) „%s” százalék a tartományon kívül esik"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
++#, c-format
++msgid "Failed to get filesystem free size for %s: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:895
++#, c-format
++msgid "Failed to get filesystem free size for %s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -506,29 +578,66 @@ msgstr ""
+ msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -591,24 +700,86 @@ msgstr ""
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "a(z) „%s” érték nem megengedett"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "given path '%s' is not absolute."
++msgstr "a megadott „%s” útvonal nem abszolút."
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "given path '%s' does not exist."
++msgstr "a megadott „%s” útvonal nem létezik."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "érvénytelen logikai érték: „%s”"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "nincs érték megadva"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "a(z) „%s” másodperc érték nem lehet negatív"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "unknown unit '%s'"
++msgstr "ismeretlen egység: „%s”"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "a(z) „%s” százalék a tartományon kívül esik"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr ""
++"a megadott értéknek [%d] kisebbnek kell lennie, mint a megengedett érték "
++"[%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr ""
++"a megadott értéknek [%d] nagyobbnak kell lennie, mint a megengedett érték "
++"[%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr ""
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+@@ -696,211 +867,45 @@ msgstr ""
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "A(z) „%s” tárolóhoz nincs tükör vagy bázis-URL beállítva."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Nem található érvényes bázis-URL a tárolóhoz: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"A legnagyobb letöltési sebesség alacsonyabb mint a legkisebb. Módosítsa a "
+-"minimális sebesség vagy a korlátozás beállítását"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "újraélesztés: „%s” tároló kihagyva, nincs metalink."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "újraélesztés: „%s” tároló kihagyva, nincs használható hash."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "újraélesztés: „%s” esetén sikertelen, nem egyező %s összeg."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"újraélesztés: „%s” újraéleszthető – a metalink ellenőrzőösszegek egyeznek."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "újraélesztés: „%s” újraéleszthető – a repomd egyezik."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "újraélesztés: „%s” esetén sikertelen, nem egyező repomd."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "Nem hozható létre könyvtár\"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "tároló: gyorsítótár használata a következőhöz: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr ""
+-"Csak gyorsítótárazás engedélyezve, de nincs gyorsítótár a(z) „%s” tárolóhoz."
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Folyamatban"
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/ia.po b/po/ia.po
+index 17566917..3ae43556 100644
+--- a/po/ia.po
++++ b/po/ia.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:26+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Interlingua\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "In curso"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "In curso"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/id.po b/po/id.po
+index dd60357c..53f5020a 100644
+--- a/po/id.po
++++ b/po/id.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:26+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Indonesian\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=1; plural=0\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Sedang berjalan"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Sedang berjalan"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/is.po b/po/is.po
+index 329ca4c2..b4544fec 100644
+--- a/po/is.po
++++ b/po/is.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:30+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Icelandic\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n%10!=1 || n%100==11)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Í gangi"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Í gangi"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/it.po b/po/it.po
+index c9a929c9..c6d15474 100644
+--- a/po/it.po
++++ b/po/it.po
+@@ -6,7 +6,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-11-02 05:26+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Italian\n"
+@@ -17,88 +17,66 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "Fonti non impostate quando si cerca di garantire il pacchetto %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-"Non è stato possibile garantire %1$s come repo %2$s non trovato(%3$i "
+-"repository caricati)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "Impossibile verificare la mancanza di fiducia: "
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "Rinominazione non riuscita %1$s a %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "File scaricato per %s non trovato"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "Impostazioni non riuscite %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+-"pacchetto %1$s non può essere verificato e repo %2$s è abilitato per GPG: "
+-"%3$s"
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "Impossibile ottenere valore per CacheDir"
+-
+-#: ../libdnf/dnf-transaction.cpp:887
+-#, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "Impossibile ottenere dimensioni del file system libere per %s: "
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "Impossibile ottenere dimensioni del file system libere per %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "impossibile aprire la directory %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+-"Spazio libero insufficiente in %1$s: necessario %2$s, a disposizione %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "impossibile impostare la radice"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "Impossibile decodificare la transazione; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "Errore %i eseguire il test delle transazioni"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "%i problema rilevato:\n"
++msgstr[1] "%i problemi rilevati:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "Errore %i transazione in corso"
++msgid " Problem %1$i: %2$s\n"
++msgstr " Problema %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr ""
+-"La transazione non è andata in fase di scrittura, ma non ha restituito alcun"
+-" errore (%i)"
++msgid " Problem: %s\n"
++msgstr " Problema: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+-msgstr ""
++msgstr "Selettore mal formato, presenza di più oggetti match nel filtro"
+ 
+ #: ../libdnf/goal/Goal.cpp:56
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
++"Selettore mal formato utilizzato per l'operazione, tipo di confronto errato"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -106,15 +84,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -123,11 +101,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -135,13 +113,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -156,340 +134,440 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+-msgstr ""
++msgstr "nessun set di risolutori"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+-msgstr ""
++msgstr "non è riuscito a fare %s assoluto"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+-msgstr ""
++msgstr "impossibile scrivere debugdata su %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+-msgstr ""
++msgstr "nessun solvente nell'obiettivo"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+-msgstr ""
++msgstr "nessuna soluzione, non è possibile rimuovere il pacchetto protetto"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+-msgstr ""
++msgstr "nessuna soluzione possibile"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
++"L'operazione comporterebbe la rimozione dei seguenti pacchetti protetti: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Transformer: impossibile aprire la cron persist di storia"
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "Impossibile trovare un database di cronologia"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "Bad id per repo: %s, byte = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "In corso"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr ""
++"Per il repository %s non è impostato né il campo mirror né il campo baseurl."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "Non in corso"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "Deposito%s'ha tipo non supportato:' type =%s', saltando."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "Nessuna transazione in corso"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Impossibile trovare un baseurl valido per il repository: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "La transazione è già iniziata!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr ""
++"La velocità massima è minore di quella minima. Si prega di cambiare la "
++"configurazione del minrate o throttle"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "Lo stato TransactionItem non è impostato: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr ""
+-"Impossibile aggiungere l'output della console alla transazione non salvata"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr ""
+-"Tentativo di inserire l'oggetto della transazione nella transazione "
+-"completata"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr ""
+-"Tentativo di aggiornare l'elemento della transazione nella transazione "
+-"completata"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
++msgstr "non posso elencare le chiavi: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "pronti contro termine %s: 0x%s già importato"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "pronti contro termine %s: chiave importata 0x%s."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "riattivazione: repository '%s' saltato, nessun metalink."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "riattivazione: repository '%s' saltato, nessun hash utilizzabile."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "riattivazione: non riuscita per '%s', checksum %s non corrispondente."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
++"riattivazione: '%s' può essere riattivato - il checksum del metalink "
++"corrisponde."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
++"riattivazione: '%s' può essere riattivato, il file repomd corrisponde."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "riattivazione: non riuscita per '%s', il file repomd non corrisponde."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "Impossibile creare la directory temporanea del repository \"%s\": %s"
++
++#: ../libdnf/repo/Repo.cpp:1275
++#, c-format
++msgid "Cannot create directory \"%s\": %s"
++msgstr "Impossibile creare la directory \"%s\": %s"
++
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "Impossibile rinominare la directory \"%s\" a \"%s\": %s"
++
++#: ../libdnf/repo/Repo.cpp:1321
++#, c-format
++msgid "repo: using cache for: %s"
++msgstr "repository: uso della cache per %s"
++
++#: ../libdnf/repo/Repo.cpp:1333
++#, c-format
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Modalità solo cache abilitata, ma cache non presente per '%s'"
++
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
++msgstr "repo: download da remoto: %s"
++
++#: ../libdnf/repo/Repo.cpp:1343
++#, c-format
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir(): Computation of SHA256 failed"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
++"resume non può essere utilizzato contemporaneamente con il parametro "
++"byterangestart"
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' non è un valore ammesso"
++msgid "PackageTarget initialization failed: %s"
++msgstr "Inizializzazione PackageTarget non riuscita: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "valore chiave/certificato non valido"
++#: ../libdnf/repo/Repo.cpp:1918
++#, c-format
++msgid "Cannot open %s: %s"
++msgstr "Non si può aprire %s: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Configurazione: OptionBinding with id \"%s\" non esiste"
++msgid "Log handler with id %ld doesn't exist"
++msgstr "Gestore del registro con ID %ld non esiste"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Configurazione: OptionBinding with id \"%s\" esiste già"
++msgid "Sources not set when trying to ensure package %s"
++msgstr "Fonti non impostate quando si cerca di garantire il pacchetto %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "nessun valore specificato"
++#: ../libdnf/dnf-transaction.cpp:302
++#, c-format
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
++"Non è stato possibile garantire %1$s come repo %2$s non trovato(%3$i "
++"repository caricati)"
++
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "Impossibile verificare la mancanza di fiducia: "
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "il valore dei secondi '%s' non deve essere negativo"
++msgid "Downloaded file for %s not found"
++msgstr "File scaricato per %s non trovato"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "non potevo convertire '%s'a secondi"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++"pacchetto %1$s non può essere verificato e repo %2$s è abilitato per GPG: "
++"%3$s"
++
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "Impossibile ottenere valore per CacheDir"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "unità sconosciuta '%s'"
++msgid "Failed to get filesystem free size for %s: "
++msgstr "Impossibile ottenere dimensioni del file system libere per %s: "
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "valore booleano non valido '%s'"
++msgid "Failed to get filesystem free size for %s"
++msgstr "Impossibile ottenere dimensioni del file system libere per %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:911
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "il valore fornito [%d] deve essere inferiore al valore ammesso [%d]."
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++"Spazio libero insufficiente in %1$s: necessario %2$s, a disposizione %3$s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr "impossibile impostare la radice"
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "il valore fornito [%d] deve essere superiore al valore ammesso [%d]."
++msgid "Error %i running transaction test"
++msgstr "Errore %i eseguire il test delle transazioni"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "il percorso fornito '%s' non è assoluto."
++msgid "Error %i running transaction"
++msgstr "Errore %i transazione in corso"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "il percorso fornito '%s' non esiste."
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++"La transazione non è andata in fase di scrittura, ma non ha restituito alcun"
++" errore (%i)"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue (): valore non impostato"
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "non è riuscito a rimuovere %s"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "non potevo convertire '%s'a byte"
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "percentuale '%s' fuori scala"
++msgid "Can't obtain address of symbol \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -515,29 +593,66 @@ msgstr "fatto su uno stato %1$p che non aveva un set di dimensioni! [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "già al 100 %% stato [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "impossibile aprire la directory %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -602,25 +717,83 @@ msgstr "non è riuscito a trovare il pacchetto %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "impossibile aggiungere un elemento di cancellazione %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr ""
+-
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "'%s' is not an allowed value"
++msgstr "'%s' non è un valore ammesso"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
+-#, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr ""
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue (): valore non impostato"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr ""
++msgid "given path '%s' is not absolute."
++msgstr "il percorso fornito '%s' non è assoluto."
++
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "il percorso fornito '%s' non esiste."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "valore booleano non valido '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "nessun valore specificato"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "il valore dei secondi '%s' non deve essere negativo"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "non potevo convertire '%s'a byte"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "unità sconosciuta '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "percentuale '%s' fuori scala"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "il valore fornito [%d] deve essere inferiore al valore ammesso [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "il valore fornito [%d] deve essere superiore al valore ammesso [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "valore chiave/certificato non valido"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Configurazione: OptionBinding with id \"%s\" non esiste"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Configurazione: OptionBinding with id \"%s\" esiste già"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "non potevo convertire '%s'a secondi"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+@@ -707,215 +880,50 @@ msgstr "errore durante il caricamento di RPMDB"
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr ""
+-"Per il repository %s non è impostato né il campo mirror né il campo baseurl."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Impossibile trovare un baseurl valido per il repository: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"La velocità massima è minore di quella minima. Si prega di cambiare la "
+-"configurazione del minrate o throttle"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "non posso elencare le chiavi: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "pronti contro termine %s: 0x%s già importato"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "pronti contro termine %s: chiave importata 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "riattivazione: repository '%s' saltato, nessun metalink."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "riattivazione: repository '%s' saltato, nessun hash utilizzabile."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "riattivazione: non riuscita per '%s', checksum %s non corrispondente."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"riattivazione: '%s' può essere riattivato - il checksum del metalink "
+-"corrisponde."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr ""
+-"riattivazione: '%s' può essere riattivato, il file repomd corrisponde."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "riattivazione: non riuscita per '%s', il file repomd non corrisponde."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "Impossibile creare la directory temporanea del repository \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "Impossibile creare la directory \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "Impossibile rinominare la directory \"%s\" a \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repository: uso della cache per %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Modalità solo cache abilitata, ma cache non presente per '%s'"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "repo: download da remoto: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir(): Computation of SHA256 failed"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-"resume non può essere utilizzato contemporaneamente con il parametro "
+-"byterangestart"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "Inizializzazione PackageTarget non riuscita: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Transformer: impossibile aprire la cron persist di storia"
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "Non si può aprire %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "Impossibile trovare un database di cronologia"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "Gestore del registro con ID %ld non esiste"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "In corso"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "Non in corso"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "Nessuna transazione in corso"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
++"Tentativo di inserire l'oggetto della transazione nella transazione "
++"completata"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
++"Tentativo di aggiornare l'elemento della transazione nella transazione "
++"completata"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "La transazione è già iniziata!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "Lo stato TransactionItem non è impostato: %s"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
+-#, c-format
+-msgid "Can't load plugin \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+-
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "non è riuscito a rimuovere %s"
++"Impossibile aggiungere l'output della console alla transazione non salvata"
+diff --git a/po/ja.po b/po/ja.po
+index bb8007ad..676cf062 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -1,11 +1,13 @@
+ # Casey Jones <nahareport@live.com>, 2018. #zanata
+ # Ludek Janda <ljanda@redhat.com>, 2018. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2019. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2020. #zanata
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
+-"PO-Revision-Date: 2018-09-11 12:30+0000\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
++"PO-Revision-Date: 2020-01-14 01:25+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Japanese\n"
+ "Language: ja\n"
+@@ -15,67 +17,50 @@ msgstr ""
+ "Plural-Forms: nplurals=1; plural=0\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "パッケージ %s を確実にしようとする場合、ソースは設定されません"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, 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 はロード済み)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "untrusted の確認に失敗しました: "
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "%s にダウンロードしたファイルが見つかりませんでした"
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "名前を %1$s から %2$s へ変更できませんでした: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, 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:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "CacheDir の値の取得に失敗しました"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "%1$s に権限を設定できませんでした: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "%s に filesystem をフリーサイズで取得することに失敗しました: "
++msgid "cannot create directory %1$s: %2$s"
++msgstr "ディレクトリー %1$s を作成できません: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "%s に filesystem をフリーサイズで取得することに失敗しました"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "ディレクトリー %1$s を開くことができません: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr "%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です"
++msgid "cannot stat path %1$s: %2$s"
++msgstr "パス %1$s を stat できません: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "root の設定に失敗しました"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "トランザクションを depsolve できませんでした; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "トランザクションテストの実行中にエラー %i"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "%i 問題を検出:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "トランザクションの実行中にエラー %i"
++msgid " Problem %1$i: %2$s\n"
++msgstr " 問題 %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr "トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しませんでした"
++msgid " Problem: %s\n"
++msgstr " 問題: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+@@ -85,397 +70,580 @@ msgstr "不適格な Selector、フィルター内に複数の一致するオブ
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr "操作に使用される不適格な Selector、間違った比較タイプ"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+-msgstr ""
++msgstr " distupgrade リポジトリーには属しません"
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+-msgstr ""
++msgstr " 下位のアーキテクチャーがあります"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:69
+ msgid "problem with installed package "
+-msgstr ""
++msgstr "インストールされたパッケージでの問題 "
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+-msgstr ""
++msgstr "競合する要求"
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+-msgstr ""
++msgstr "サポートされない要求"
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+-msgstr ""
++msgstr "要求者に何も提供されません "
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:73
+ #, c-format
+ msgid "package %s does not exist"
+-msgstr ""
++msgstr "パッケージ %s は存在しません"
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+-msgstr ""
++msgstr " システムが提供します"
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+-msgstr ""
++msgstr "一部の依存関係の問題"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:76
+ msgid "cannot install the best update candidate for package "
+-msgstr ""
++msgstr "パッケージ用の最適な更新候補をインストールできません "
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+-msgstr ""
++msgstr "ジョブの最良候補をインストールできません"
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
+-msgstr ""
++msgid "package %s is filtered out by modular filtering"
++msgstr "パッケージ %s は、モジュラーフィルタリングで除外されます"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:79
+ #, c-format
+ msgid "package %s does not have a compatible architecture"
+-msgstr ""
++msgstr "パッケージ %s には、互換性のあるアーキテクチャーはありません"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:80
+ #, c-format
+ msgid "package %s is not installable"
+-msgstr ""
++msgstr "パッケージ %s はインストールできません"
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
+-msgstr ""
++msgid "package %s is filtered out by exclude filtering"
++msgstr "パッケージ %s は、除外フィルタリングで除外されます"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
+-msgstr ""
++msgid "nothing provides %s needed by %s"
++msgstr "%s が必要とする %s に何も提供されません"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
+-msgstr ""
++msgid "cannot install both %s and %s"
++msgstr "%s と %s の両方ともインストールできません"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
+-msgstr ""
++msgid "package %s conflicts with %s provided by %s"
++msgstr "パッケージ %s は、%s が提供する %s と競合します"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
+-msgstr ""
++msgid "package %s obsoletes %s provided by %s"
++msgstr "パッケージ %s は、%s が提供する %s を推奨しません"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
+-msgstr ""
++msgid "installed package %s obsoletes %s provided by %s"
++msgstr "インストールされたパッケージ %s は、%s が提供する %s を推奨しません"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
+-msgstr ""
++msgid "package %s implicitly obsoletes %s provided by %s"
++msgstr "パッケージ %s は、%s が提供する %s を暗黙的に推奨しません"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
+-msgstr ""
++msgid "package %s requires %s, but none of the providers can be installed"
++msgstr "パッケージ %s は %s が必要ですが、インストールできるプロバイダーはありません"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr "パッケージ %s は、自身が提供する %s と競合します"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+-msgstr ""
++msgstr "パッケージ %s と %s の両方とも、%s を推奨しません"
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+-msgstr ""
++msgstr "インストールされたモジュールでの問題 "
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+-msgstr ""
++msgstr "モジュール %s は存在しません"
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+-msgstr ""
++msgstr "モジュール用の最適な更新候補をインストールできません "
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+-msgstr ""
++msgstr "モジュール %s は無効になっています"
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+-msgstr ""
++msgstr "モジュール %s には互換性のあるアーキテクチャーがありません"
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+-msgstr ""
++msgstr "モジュール %s はインストールできません"
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+-msgstr ""
++msgstr "モジュール %s が必要とする %s に何も提供されません"
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+-msgstr ""
++msgstr "モジュール %s と %s の両方ともインストールできません"
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+-msgstr ""
++msgstr "モジュール %s は、%s が提供する %s と競合します"
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+-msgstr ""
++msgstr "モジュール %s は、%s が提供する %s を推奨しません"
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+-msgstr ""
++msgstr "インストールされたモジュール %s は、%s が提供する %s を推奨しません"
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+-msgstr ""
++msgstr "モジュール %s は、%s が提供する %s を暗黙的に推奨しません"
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+-msgstr ""
++msgstr "モジュール %s は %s が必要ですが、インストールできるプロバイダーはありません"
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+-msgstr ""
++msgstr "モジュール %s は、自身が提供する %s と競合します"
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+-msgstr ""
++msgstr "モジュール %s と %s の両方とも、%s を推奨しません"
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr "設定されたソルバーはありません"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "%s を絶対的にすることに失敗しました"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "debugdata を %1$s へ書き込むことに失敗しました: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr "目標に solv がありません"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr "ソリューションがなく、保護されたパッケージを削除できません"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr "可能なソリューションがありません"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr "操作は結果的に以下の保護されたパッケージを削除します: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "トランスフォーマー: 履歴の残った dir を開くことができません"
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "履歴のデータベースを見つけることができませんでした"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "repo に対する不正な id: %s, byte = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "進行中"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "リポジトリー %s にはミラーまたは baseurl セットがありません。"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "進行中ではありません"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッピング。"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "進行中のトランザクションはありません"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "repo に対して有効な baseurl を見つけられません: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "トランザクションが開始しました!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr "ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの設定を変更してください。"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "TransactionItem の状態は設定されていません: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "未保存のトランザクションにコンソールの出力を追加できません"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "完了したトランザクションにトランザクションアイテムの挿入を試みます"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "完了したトランザクションにトランザクションアイテムの更新を試みます"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
++msgstr "鍵を一覧表示できません: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr ""
++msgid "Failed to retrieve GPG key for repo '%s': %s"
++msgstr "repo '%s' の GPG 鍵の取得に失敗しました: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
+-msgstr ""
++msgid "%s: gpgme_set_protocol(): %s"
++msgstr "%s: gpgme_set_protocol(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
+-msgstr ""
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgstr "%s: gpgme_op_assuan_transact_ext(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "repo %s: 0x%s はインポート済みです"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "repo %s: インポート済みの鍵 0x%s。"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "復元中: repo '%s' はスキップされました、metalink はありません。"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "復元中: '%s' は失敗しました、%s の合計は一致しません。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
++msgstr "復元中: '%s' は復元できます - metalink チェックサムが一致します。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "復元中: '%s' は復元できます - repomd が一致します。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "復元中: '%s' に失敗しました、repomd が一致しません。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "Cannot create repo destination directory \"%s\": %s"
++msgstr "repo 出力先ディレクトリー \"%s\" を作成できません: %s"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "repo 一時ディレクトリー \"%s\" を作成できません: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' 値は許可されていない値です"
++msgid "Cannot create directory \"%s\": %s"
++msgstr "ディレクトリー \"%s\" を作成できません: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "無効な値"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "ディレクトリー名を \"%s\" から \"%s\" へと変更できません: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "設定: id \"%s\" を伴う OptionBinding は存在しません"
++msgid "repo: using cache for: %s"
++msgstr "repo: キャッシュを使用: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "設定: id \"%s\" を伴う OptionBinding はすでに存在します"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "値が指定されていません"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
++msgstr "repo: リモートからダウンロード中: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "2個目の値 '%s' は負の数にしないでください"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr "repo '%s' のメタデータのダウンロードに失敗しました: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir(): SHA256 のコンピュテーションに失敗しました"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr "resume は byterangestart param と同時に使用できません"
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "'%s' を 秒に変換できません"
++msgid "PackageTarget initialization failed: %s"
++msgstr "PackageTarget の初期化に失敗しました: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "不明な単位 '%s'"
++msgid "Cannot open %s: %s"
++msgstr "%s を開くことができません: %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "無効な boolean 値 '%s'"
++msgid "Log handler with id %ld doesn't exist"
++msgstr "id %ld を伴うログハンドラーは存在しません"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "指定された値 [%d] は許可された値 [%d]より小さくしてください"
++msgid "Sources not set when trying to ensure package %s"
++msgstr "パッケージ %s を確実にしようとする場合、ソースは設定されません"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "指定された値 [%d] は許可された値 [%d]より大きくしてください"
++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 はロード済み)"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "untrusted の確認に失敗しました: "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "指定されたパス '%s' は絶対パスではありません。"
++msgid "Downloaded file for %s not found"
++msgstr "%s にダウンロードしたファイルが見つかりませんでした"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "指定されたパス '%s' が存在しません。"
++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/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue(): 値は設定されていません"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "CacheDir の値の取得に失敗しました"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "'%s' を バイトへ変換できませんでした"
++msgid "Failed to get filesystem free size for %s: "
++msgstr "%s に filesystem をフリーサイズで取得することに失敗しました: "
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "パーセンテージ '%s' が範囲外にあります"
++msgid "Failed to get filesystem free size for %s"
++msgstr "%s に filesystem をフリーサイズで取得することに失敗しました"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, 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:1169
++msgid "failed to set root"
++msgstr "root の設定に失敗しました"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "トランザクションテストの実行中にエラー %i"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "トランザクションの実行中にエラー %i"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr "トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しませんでした"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "%s の削除に失敗しました"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr "共有ライブラリー \"%s\" をロードできません: %s"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../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 "シンボル \"%s\" のアドレスを取得できません: %s"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr "プラグイン file=\"%s\" をロード中"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr "ロードされたプラグイン name=\"%s\"、version=\"%s\""
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr "Plugins::loadPlugins() dirPath は空にはできません"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr "プラグインディレクトリー \"%s\" を読み込みできません: %s"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr "プラグイン \"%s\" をロードできません: %s"
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -494,44 +662,107 @@ msgstr "ユーザーの動作で取り消されました"
+ #: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+ msgid "done on a state %1$p that did not have a size set! [%2$s]"
+-msgstr "サイズ設定のない状態 %1$p で実行されました! [%2$s]"
++msgstr "サイズ設定のない状態 %1$p で実行されました。[%2$s]"
+ 
+ #: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+ msgid "already at 100%% state [%s]"
+ msgstr "すでに 100%% の状態 [%s] にあります"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
+-msgstr "名前を %1$s から %2$s へ変更できませんでした: %3$s"
++msgid "Invalid format of Platform module: %s"
++msgstr "プラットフォームモジュールの無効なフォーマット: %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr "利用可能なパッケージによって提供された複数のモジュールプラットフォーム\n"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr "インストールされたパッケージによって提供された複数のモジュールプラットフォーム\n"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
+-msgstr "%1$s に権限を設定できませんでした: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
++msgstr "%s でのプラットフォームモジュールの検出に失敗しました: %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
+-msgstr ""
++msgid "Missing PLATFORM_ID in %s"
++msgstr "%s に PLATFORM_ID がありません"
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr "有効なプラットフォーム ID は検出されませんでした"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "ディレクトリー %1$s を開くことができません: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr "モジュール '%s' に複数のストリームを有効にできません"
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
+-msgstr ""
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr "repo '%s' で競合するデフォルト: %s"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr "'%s' で モジュラー Fail-Safe データをロードできません"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr "モジュール '%s の モジュラー Fail-Safe データをロードできません:%s'"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr "モジュラー Fail Safe データのディレクトリー \"%s\" を作成できません: %s"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr "モジュラー Fail Safe データを '%s' へ保存できません"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgstr "'%s' のモジュラー Fail Safe データを削除できません"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+ msgid ""
+ "No available modular metadata for modular package '%s'; cannot be installed "
+ "on the system"
+-msgstr ""
++msgstr "モジュラーパッケージ '%s' に利用可能なモジュラーメタデータはありません。システムにインストールできません"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+@@ -546,7 +777,7 @@ msgstr "開くことに失敗しました(ジェネリックエラー): %s"
+ #: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+ msgid "failed to verify key for %s"
+-msgstr "%s のキーの確認に失敗しました"
++msgstr "%s の鍵の確認に失敗しました"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+@@ -570,7 +801,7 @@ msgstr "トランザクションの実行中にエラーが発生しました: %
+ 
+ #: ../libdnf/dnf-rpmts.cpp:282
+ msgid "Error running transaction and no problems were reported!"
+-msgstr "トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!"
++msgstr "トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした。"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:345
+ msgid "Fatal error, run database recovery"
+@@ -584,32 +815,92 @@ msgstr "パッケージ %s を見つけることができませんでした"
+ #: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+ msgid "could not add erase element %1$s(%2$i)"
+-msgstr "erase 要素 %1$s(%2$i) を追加することができません"
+-
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr "トランザクションを depsolve できませんでした; "
++msgstr "erase 要素 %1$s(%2$i) を追加できませんでした"
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] "%i 問題を検出:\n"
++msgid "'%s' is not an allowed value"
++msgstr "'%s' 値は許可されていない値です"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue(): 値は設定されていません"
++
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr " 問題 %1$i: %2$s\n"
++msgid "given path '%s' is not absolute."
++msgstr "指定されたパス '%s' は絶対パスではありません。"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr " 問題: %s\n"
++msgid "given path '%s' does not exist."
++msgstr "指定されたパス '%s' が存在しません。"
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "無効なブール値 '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "値が指定されていません"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "2個目の値 '%s' は負の数にしないでください"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "'%s' を バイトへ変換できませんでした"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "不明な単位 '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "パーセンテージ '%s' が範囲外にあります"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%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]より大きくしてください"
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "無効な値"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "設定: id \"%s\" を伴う OptionBinding は存在しません"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "設定: id \"%s\" を伴う OptionBinding はすでに存在します"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "'%s' を 秒に変換できませんでした"
++
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+ msgid "no %1$s string for %2$s"
+-msgstr ""
++msgstr "%2$s には %1$s ストリングがありません"
+ 
+ #: ../libdnf/dnf-sack.cpp:440
+ msgid "failed to add solv"
+@@ -664,7 +955,7 @@ msgstr "repo_add_solv() は失敗しました。"
+ 
+ #: ../libdnf/dnf-sack.cpp:750
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+-msgstr ""
++msgstr "MD_TYPE_PRIMARY のロードに失敗しました。"
+ 
+ #: ../libdnf/dnf-sack.cpp:763
+ msgid "repo_add_repomdxml/rpmmd() has failed."
+@@ -687,211 +978,51 @@ msgstr "RPMDB チェックサムの計算に失敗しました"
+ msgid "failed loading RPMDB"
+ msgstr "RPMDB のロードに失敗しました"
+ 
++# auto translated by TM merge from project: libdnf, version: rhel-8.1, DocId:
++# libdnf
+ #: ../libdnf/dnf-sack.cpp:2423
+ msgid "No module defaults found"
+-msgstr ""
++msgstr "モジュールのデフォルトは見つかりませんでした"
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr "repo に対する不正な id: %s, byte = %s %d"
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "リポジトリー %s にはミラーまたは baseurl セットがありません。"
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr "リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッピング。"
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "repo に対して有効な baseurl を見つけられません: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr "ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの設定を変更してください。"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "キーを一覧表示できません: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "repo %s: 0x%s はインポート済みです"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "repo %s: インポート済みのキー 0x%s。"
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "復元中: repo '%s' はスキップされました、metalink はありません。"
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。"
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "復元中: '%s' は失敗しました、%s の合計は一致しません。"
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr "復元中: '%s' は復元できます - metalink チェックサムが一致します。"
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "復元中: '%s' は復元できます - repomd が一致します。"
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "復元中:  '%s' に失敗しました、repomd が一致しません。"
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "repo 一時ディレクトリー \"%s\" を作成できません: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "ディレクトリー \"%s\" を作成できません: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "ディレクトリー名を \"%s\" から \"%s\" へと変更できません: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repo: キャッシュを使用: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "repo: リモートからダウンロード中: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir(): SHA256 のコンピュテーションに失敗しました"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr "resume は byterangestart param と同時に使用できません"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "PackageTarget の初期化に失敗しました: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "%s を開くことができません: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "トランスフォーマー: 履歴の残った dir を開くことができません"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "id %ld を伴うログハンドラーは存在しません"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "履歴のデータベースを見つけることができませんでした"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "進行中"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "進行中ではありません"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "進行中のトランザクションはありません"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "完了したトランザクションにトランザクションアイテムの挿入を試みます"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "完了したトランザクションにトランザクションアイテムの更新を試みます"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "トランザクションが開始しました。"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "TransactionItem の状態は設定されていません: %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "%s の削除に失敗しました"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "未保存のトランザクションにコンソールの出力を追加できません"
+diff --git a/po/kn.po b/po/kn.po
+index e0d5dc57..3e8986e0 100644
+--- a/po/kn.po
++++ b/po/kn.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:48+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Kannada\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n!=1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "ಪ್ರಗತಿಯಲ್ಲಿದೆ"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "ಪ್ರಗತಿಯಲ್ಲಿದೆ"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/ko.po b/po/ko.po
+index 338ad293..a8bef93e 100644
+--- a/po/ko.po
++++ b/po/ko.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-11-02 05:26+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Korean\n"
+@@ -18,81 +18,64 @@ msgstr ""
+ "Plural-Forms: nplurals=1; plural=0\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "패키지를 만들 때 소스가 설정되지 않았습니다. %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, 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:343
+-msgid "Failed to check untrusted: "
+-msgstr "신뢰할 수 없는지 확인하지 못했습니다. "
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "에 대한 다운로드 파일 %s 찾을 수 없음"
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "이름 바꾸기 실패 %1$s 에 %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, 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:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "CacheDir에 대한 값을 가져 오는 데 실패했습니다."
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "perms 설정 실패 %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s: "
++msgid "cannot create directory %1$s: %2$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "디렉토리를 열 수 없습니다. %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr "여유 공간이 부족합니다. %1$s: 필요 %2$s, 이용 가능 %3$s"
++msgid "cannot stat path %1$s: %2$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "루트를 설정하지 못했습니다."
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "트랜잭션을 해석 할 수 없습니다. "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "오류 %i 실행중인 트랜잭션 테스트"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "%i 발견 된 문제 :\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "오류 %i 실행중인 거래"
++msgid " Problem %1$i: %2$s\n"
++msgstr " 문제 %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr "트랜잭션이 쓰기 단계로 이동하지 않았지만 오류를 반환하지 않았습니다 (%i)"
++msgid " Problem: %s\n"
++msgstr " 문제: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+-msgstr ""
++msgstr "잘못된 형식의 선택기, 필터에 일치하는 개체가 여러 개 있음"
+ 
+ #: ../libdnf/goal/Goal.cpp:56
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+-msgstr ""
++msgstr "조작에 잘못 형성된 선택자, 잘못된 비교 유형"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,335 +133,424 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+-msgstr ""
++msgstr "아무 해결사도 없다."
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+-msgstr ""
++msgstr "실패한 %s 순수한"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+-msgstr ""
++msgstr "디버그 데이터를 쓰지 못했습니다. %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+-msgstr ""
++msgstr "목표에 솔로가 없다."
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+-msgstr ""
++msgstr "해결책 없음, 보호 된 패키지를 제거 할 수 없음"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+-msgstr ""
++msgstr "해결책 없음"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+-msgstr ""
+-
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "변압기 : 역사를 열 수 없습니다."
++msgstr "이 작업으로 인해 다음과 같은 보호 패키지가 제거됩니다. "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "기록 데이터베이스를 찾을 수 없습니다."
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "repo에 대한 ID가 잘못되었습니다. %s, 바이트 = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "진행 중"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "저장소 %s 거울이나 기둥이 없습니다."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "진행 중이 아님"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "저장소 '%s'에 지원되지 않는 유형이 있습니다 :'type =%s', 건너 뛰기."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "진행중인 트랜잭션 없음"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "repo에 유효한 baseurl을 찾을 수 없습니다. %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "거래가 이미 시작되었습니다!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr "최대 다운로드 속도가 최소값보다 낮습니다. 최소 속도 또는 스로틀의 구성을 변경하십시오."
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "TransactionItem 상태가 설정되지 않았습니다. %s"
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "저장되지 않은 트랜잭션에 콘솔 출력을 추가 할 수 없습니다."
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "트랜잭션 항목을 완료된 트랜잭션에 삽입하려고 시도했습니다."
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "완료된 트랜잭션에서 트랜잭션 항목 업데이트를 시도합니다."
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr ""
++msgid "can not list keys: %s"
++msgstr "열쇠를 나열 할 수 없습니다 : %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "레포 %s: 0x%s 이미 수입"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "레포 %s: 가져온 키 0x%s."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "부활 : repo '%s'건너 뛰었습니다."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "부활 : repo '%s'건너 뛰었습니다. 사용 가능한 해시가 없습니다."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1204
++#, c-format
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "되살리기 : 실패한 '%s', 불일치 %s 합집합."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
++msgstr "되살아 난다 : '%s'부활 할 수 있습니다 - metalink 체크섬이 일치합니다."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "되살아 난다 : '%s'부활 할 수 있습니다 - repomd가 일치합니다."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "되살리기 : 실패한 '%s', 일치하지 않는 repomd."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s'은 (는) 허용 된 값이 아닙니다."
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "임시 저장소 디렉토리를 만들 수 없습니다 \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "잘못된 값"
++#: ../libdnf/repo/Repo.cpp:1275
++#, c-format
++msgid "Cannot create directory \"%s\": %s"
++msgstr "디렉토리를 만들 수 없습니다 \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "구성 : ID가 \"%s\" 존재하지 않는다"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "디렉터리 이름을 바꿀 수 없습니다 \"%s\"~\"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "구성 : ID가 \"%s\" 이미 존재 함"
++msgid "repo: using cache for: %s"
++msgstr "repo : 캐시 사용 : %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "값이 지정되지 않았습니다."
++#: ../libdnf/repo/Repo.cpp:1333
++#, c-format
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "캐시 만 사용 가능하지만 '%s'"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "초 값 '%s음수가 아니어야합니다."
++msgid "repo: downloading from remote: %s"
++msgstr "repo : 원격에서 다운로드 중 : %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "변환 할 수 없습니다 '%s'초까지"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir () : SHA256 계산에 실패했습니다."
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr "이력서는 byterangestart 매개 변수와 동시에 사용할 수 없습니다."
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "알 수없는 단위 '%s'"
++msgid "PackageTarget initialization failed: %s"
++msgstr "PackageTarget 초기화에 실패했습니다 : %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "유효하지 않은 부울 값 '%s'"
++msgid "Cannot open %s: %s"
++msgstr "열 수 없다 %s: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "주어진 값 [%d] 허용 된 값보다 작아야합니다 [%d]."
++msgid "Log handler with id %ld doesn't exist"
++msgstr "ID가있는 로그 처리기 %ld 존재하지 않는다."
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "주어진 값 [%d] 허용 된 값보다 커야합니다 [%d]."
++msgid "Sources not set when trying to ensure package %s"
++msgstr "패키지를 만들 때 소스가 설정되지 않았습니다. %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "주어진 경로 '%s절대적이지 않다."
++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/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "신뢰할 수 없는지 확인하지 못했습니다. "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "주어진 경로 '%s' 존재하지 않는다."
++msgid "Downloaded file for %s not found"
++msgstr "에 대한 다운로드 파일 %s 찾을 수 없음"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue () : 값이 설정되지 않았습니다."
++#: ../libdnf/dnf-transaction.cpp:373
++#, 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/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "CacheDir에 대한 값을 가져 오는 데 실패했습니다."
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "변환 할 수 없습니다 '%s'~ 바이트"
++msgid "Failed to get filesystem free size for %s: "
++msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s: "
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "백분율 '%s'범위를 벗어났습니다."
++msgid "Failed to get filesystem free size for %s"
++msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, 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:1169
++msgid "failed to set root"
++msgstr "루트를 설정하지 못했습니다."
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "오류 %i 실행중인 트랜잭션 테스트"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "오류 %i 실행중인 거래"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr "트랜잭션이 쓰기 단계로 이동하지 않았지만 오류를 반환하지 않았습니다 (%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "제거하지 못했습니다. %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -504,29 +576,66 @@ msgstr "국가에서 행해진 %1$p 크기가 설정되지 않았습니다. [%2$
+ msgid "already at 100%% state [%s]"
+ msgstr "이미 100 %% 상태 [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "디렉토리를 열 수 없습니다. %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -589,32 +698,90 @@ msgstr "꾸러미를 찾지 못했습니다. %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "요소 지우기를 추가 할 수 없습니다. %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr ""
+-
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "'%s' is not an allowed value"
++msgstr "'%s'은 (는) 허용 된 값이 아닙니다."
+ 
+-#: ../libdnf/dnf-goal.cpp:77
+-#, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr ""
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue () : 값이 설정되지 않았습니다."
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr ""
++msgid "given path '%s' is not absolute."
++msgstr "주어진 경로 '%s절대적이지 않다."
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "no %1$s string for %2$s"
+-msgstr ""
++msgid "given path '%s' does not exist."
++msgstr "주어진 경로 '%s' 존재하지 않는다."
+ 
+-#: ../libdnf/dnf-sack.cpp:440
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "유효하지 않은 부울 값 '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "값이 지정되지 않았습니다."
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "초 값 '%s음수가 아니어야합니다."
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "변환 할 수 없습니다 '%s'~ 바이트"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "알 수없는 단위 '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "백분율 '%s'범위를 벗어났습니다."
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%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]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "잘못된 값"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "구성 : ID가 \"%s\" 존재하지 않는다"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "구성 : ID가 \"%s\" 이미 존재 함"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "변환 할 수 없습니다 '%s'초까지"
++
++#: ../libdnf/dnf-sack.cpp:417
++#, c-format
++msgid "no %1$s string for %2$s"
++msgstr ""
++
++#: ../libdnf/dnf-sack.cpp:440
+ msgid "failed to add solv"
+ msgstr "solv를 추가하지 못했습니다."
+ 
+@@ -694,207 +861,45 @@ msgstr "RPMDB로드 실패"
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "열쇠를 나열 할 수 없습니다 : %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "레포 %s: 0x%s 이미 수입"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "레포 %s: 가져온 키 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "부활 : repo '%s'건너 뛰었습니다."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "부활 : repo '%s'건너 뛰었습니다. 사용 가능한 해시가 없습니다."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "되살리기 : 실패한 '%s', 불일치 %s 합집합."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr "되살아 난다 : '%s'부활 할 수 있습니다 - metalink 체크섬이 일치합니다."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "되살아 난다 : '%s'부활 할 수 있습니다 - repomd가 일치합니다."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "되살리기 : 실패한 '%s', 일치하지 않는 repomd."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "임시 저장소 디렉토리를 만들 수 없습니다 \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "디렉토리를 만들 수 없습니다 \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "디렉터리 이름을 바꿀 수 없습니다 \"%s\"~\"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repo : 캐시 사용 : %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "캐시 만 사용 가능하지만 '%s'"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "repo : 원격에서 다운로드 중 : %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir () : SHA256 계산에 실패했습니다."
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr "이력서는 byterangestart 매개 변수와 동시에 사용할 수 없습니다."
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "PackageTarget 초기화에 실패했습니다 : %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "열 수 없다 %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "변압기 : 역사를 열 수 없습니다."
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "ID가있는 로그 처리기 %ld 존재하지 않는다."
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "기록 데이터베이스를 찾을 수 없습니다."
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "진행 중"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "진행 중이 아님"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "진행중인 트랜잭션 없음"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "트랜잭션 항목을 완료된 트랜잭션에 삽입하려고 시도했습니다."
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "완료된 트랜잭션에서 트랜잭션 항목 업데이트를 시도합니다."
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "거래가 이미 시작되었습니다!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "TransactionItem 상태가 설정되지 않았습니다. %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "제거하지 못했습니다. %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "저장되지 않은 트랜잭션에 콘솔 출력을 추가 할 수 없습니다."
+diff --git a/po/mai.po b/po/mai.po
+index 7077839d..6217a0d9 100644
+--- a/po/mai.po
++++ b/po/mai.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 03:58+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Maithili\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "प्रगतिमे"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "प्रगतिमे"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/ml.po b/po/ml.po
+index bffb03d3..da5222c7 100644
+--- a/po/ml.po
++++ b/po/ml.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 04:03+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Malayalam\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "പുരോഗമിക്കുന്നു"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "പുരോഗമിക്കുന്നു"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/mr.po b/po/mr.po
+index dd3f0a98..63af3f91 100644
+--- a/po/mr.po
++++ b/po/mr.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 04:08+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Marathi\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "कार्य चालू आहे"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "कार्य चालू आहे"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/nb.po b/po/nb.po
+index 35feefaf..1d2dca21 100644
+--- a/po/nb.po
++++ b/po/nb.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 04:14+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Norwegian Bokmål\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Pågår"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Pågår"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/nl.po b/po/nl.po
+index ee60e82b..4797dafa 100644
+--- a/po/nl.po
++++ b/po/nl.po
+@@ -3,7 +3,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2017-06-18 09:17+0000\n"
+ "Last-Translator: Geert Warrink <geert.warrink@onsnet.nu>\n"
+ "Language-Team: Dutch\n"
+@@ -14,66 +14,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -84,11 +67,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -96,15 +79,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -113,11 +96,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -125,13 +108,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -146,335 +129,427 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr ""
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Bezig"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "Repository %s heeft geen spiegel of baseurl set."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Kan geen geldige baseurl voor repo vinden: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
++"Maximale download snelheid is lader dan het minimum. Verander de "
++"configuratie van minrate of throttle"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr ""
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "vernieuwen: repo '%s' wordt overgeslagen, geen metalink."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "vernieuwen: repo '%s' wordt overgeslagen, geen bruikbare hash."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1204
++#, c-format
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "reviving: mislukte voor '%s', niet overeenkomende %s som."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
++"reviving: '%s' kan verniewd worden - metalink checksums komen overeen."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "reviving: '%s' kan vernieuwd worden - repomd komt overeen."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "reviving: mislukte voor '%s', repomd kpmt niet overeen."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' is geen toegestane waarde"
+-
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "geen waarde gespecificeerd"
++#: ../libdnf/repo/Repo.cpp:1321
++#, c-format
++msgid "repo: using cache for: %s"
++msgstr "repo: cache wordt gebruikt voor: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "seconde waarde '%s' mag niet negatief zijn"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Cache-only aangezet maar er is geen cache voor '%s'"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "onbekende unit '%s'"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
+-#, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "ongeldige  booleanse waarde'%s'"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "gegeven waarde [%d] moet kleiner zijn dan de toegestane waarde [%d]."
++msgid "PackageTarget initialization failed: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "gegeven waarde [%d] moet groter zijn dan de toegestane waarde [%d]."
++msgid "Cannot open %s: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "gegeven pad '%s' is niet absoluut."
++msgid "Log handler with id %ld doesn't exist"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "gegeven pad '%s' bestaat niet."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:302
++#, c-format
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "percentage '%s' valt buiten de reeks"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
++#, c-format
++msgid "Failed to get filesystem free size for %s: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:895
++#, c-format
++msgid "Failed to get filesystem free size for %s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -500,29 +575,66 @@ msgstr ""
+ msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -585,24 +697,82 @@ msgstr ""
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "'%s' is geen toegestane waarde"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "given path '%s' is not absolute."
++msgstr "gegeven pad '%s' is niet absoluut."
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "given path '%s' does not exist."
++msgstr "gegeven pad '%s' bestaat niet."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "ongeldige  booleanse waarde'%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "geen waarde gespecificeerd"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "seconde waarde '%s' mag niet negatief zijn"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "unknown unit '%s'"
++msgstr "onbekende unit '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "percentage '%s' valt buiten de reeks"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "gegeven waarde [%d] moet kleiner zijn dan de toegestane waarde [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "gegeven waarde [%d] moet groter zijn dan de toegestane waarde [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr ""
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+@@ -690,210 +860,45 @@ msgstr ""
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "Repository %s heeft geen spiegel of baseurl set."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Kan geen geldige baseurl voor repo vinden: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"Maximale download snelheid is lader dan het minimum. Verander de "
+-"configuratie van minrate of throttle"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "vernieuwen: repo '%s' wordt overgeslagen, geen metalink."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "vernieuwen: repo '%s' wordt overgeslagen, geen bruikbare hash."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "reviving: mislukte voor '%s', niet overeenkomende %s som."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"reviving: '%s' kan verniewd worden - metalink checksums komen overeen."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "reviving: '%s' kan vernieuwd worden - repomd komt overeen."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "reviving: mislukte voor '%s', repomd kpmt niet overeen."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repo: cache wordt gebruikt voor: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Cache-only aangezet maar er is geen cache voor '%s'"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Bezig"
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/or.po b/po/or.po
+index 442d33f4..8c670459 100644
+--- a/po/or.po
++++ b/po/or.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 04:27+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Oriya\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "ପ୍ରଗତି ପଥେ"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "ପ୍ରଗତି ପଥେ"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/pa.po b/po/pa.po
+index 58c57c55..42092fdc 100644
+--- a/po/pa.po
++++ b/po/pa.po
+@@ -3,7 +3,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-04-15 10:02+0000\n"
+ "Last-Translator: A S Alam <aalam@fedoraproject.org>\n"
+ "Language-Team: Punjabi\n"
+@@ -14,66 +14,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -84,11 +67,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -96,15 +79,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -113,11 +96,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -125,13 +108,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -146,751 +129,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "ਜਾਰੀ ਹੈ"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
+-msgstr "ਅਣਪਛਾਤੀ ਇਕਾਈ '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "'%s' ਫ਼ੀਸਦੀ ਹੱਦ ਤੋਂ ਬਾਹਰ ਹੈ"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
++msgid "unknown unit '%s'"
++msgstr "ਅਣਪਛਾਤੀ ਇਕਾਈ '%s'"
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
++msgid "percentage '%s' is out of range"
++msgstr "'%s' ਫ਼ੀਸਦੀ ਹੱਦ ਤੋਂ ਬਾਹਰ ਹੈ"
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "ਜਾਰੀ ਹੈ"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/pl.po b/po/pl.po
+index 171966c2..f9a39ba7 100644
+--- a/po/pl.po
++++ b/po/pl.po
+@@ -12,8 +12,8 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
+-"PO-Revision-Date: 2019-04-20 11:26+0000\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
++"PO-Revision-Date: 2019-12-17 02:06+0000\n"
+ "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
+ "Language-Team: Polish (http://www.transifex.com/projects/p/dnf/language/pl/)\n"
+ "Language: pl\n"
+@@ -23,73 +23,52 @@ msgstr ""
+ "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "Źródła nie są ustawione podczas próby zapewnienia pakietu %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-"Zapewnienie pakietu %1$s się nie powiodło, ponieważ nie odnaleziono "
+-"repozytorium %2$s (wczytane repozytoria: %3$i)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "Sprawdzenie niezaufanych się nie powiodło: "
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "Nie odnaleziono pobranego pliku dla %s"
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "Zmiana nazwy %1$s na %2$s się nie powiodła: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-"nie można sprawdzić poprawności pakietu %1$s, a repozytorium %2$s ma "
+-"włączone GPG: %3$s"
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "Uzyskanie wartości dla katalogu pamięci podręcznej się nie powiodło"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "Ustawienie uprawnień %1$s się nie powiodło: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "Uzyskanie wolnego miejsca w systemie plików dla %s się nie powiodło: "
++msgid "cannot create directory %1$s: %2$s"
++msgstr "nie można utworzyć katalogu %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "Uzyskanie wolnego miejsca w systemie plików dla %s się nie powiodło"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "nie można otworzyć katalogu %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr ""
+-"Za mało wolnego miejsca na %1$s: wymagane jest %2$s, dostępne jest %3$s"
++msgid "cannot stat path %1$s: %2$s"
++msgstr "nie można wykonać stat na ścieżce %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "ustawienie roota się nie powiodło"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "Nie można rozwiązać zależności transakcji; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "Błąd %i podczas wykonywania testu transakcji"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "Wykryto %i problem:\n"
++msgstr[1] "Wykryto %i problemy:\n"
++msgstr[2] "Wykryto %i problemów:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "Błąd %i podczas wykonywania transakcji"
++msgid " Problem %1$i: %2$s\n"
++msgstr " Problem %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr ""
+-"Transakcja nie przeszła do etapu zapisu, ale nie zwróciła żadnego błędu (%i)"
++msgid " Problem: %s\n"
++msgstr " Problem: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+@@ -102,11 +81,11 @@ msgstr ""
+ "Do działania użyto błędnie sformatowanego selektora, niepoprawny typ "
+ "porównania"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr " nie należy do repozytorium distupgrade"
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr " ma niższą architekturę"
+ 
+@@ -114,15 +93,15 @@ msgstr " ma niższą architekturę"
+ msgid "problem with installed package "
+ msgstr "problem z zainstalowanym pakietem "
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr "sprzeczne żądania"
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr "nieobsługiwane żądanie"
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr "nic nie dostarcza żądanego "
+ 
+@@ -131,11 +110,11 @@ msgstr "nic nie dostarcza żądanego "
+ msgid "package %s does not exist"
+ msgstr "pakiet %s nie istnieje"
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr " jest dostarczane przez system"
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr "problem zależności"
+ 
+@@ -144,14 +123,14 @@ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ "nie można zainstalować najlepszego kandydata aktualizacji dla pakietu "
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr "nie można zainstalować najlepszego kandydata do zadania"
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
+-msgstr "pakiet %s jest wykluczony"
++msgid "package %s is filtered out by modular filtering"
++msgstr "pakiet %s został odfiltrowany filtrem modularnym"
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+ #, c-format
+@@ -165,339 +144,442 @@ msgstr "nie można zainstalować pakietu %s"
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
++msgid "package %s is filtered out by exclude filtering"
++msgstr "pakiet %s został odfiltrowany filtrem wykluczania"
++
++#: ../libdnf/goal/Goal.cpp:82
++#, c-format
+ msgid "nothing provides %s needed by %s"
+ msgstr "nic nie dostarcza %s wymaganego przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:82
++#: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+ msgid "cannot install both %s and %s"
+ msgstr "nie można zainstalować %s i %s jednocześnie"
+ 
+-#: ../libdnf/goal/Goal.cpp:83
++#: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+ msgid "package %s conflicts with %s provided by %s"
+ msgstr "pakiet %s jest sprzeczny z %s dostarczanym przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:84
++#: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+ msgid "package %s obsoletes %s provided by %s"
+ msgstr "pakiet %s zastępuje %s dostarczane przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:85
++#: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+ msgid "installed package %s obsoletes %s provided by %s"
+ msgstr "zainstalowany pakiet %s zastępuje %s dostarczane przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:86
++#: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+ msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr "pakiet %s niebezpośrednio zastępuje %s dostarczane przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:87
++#: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+ msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ "pakiet %s wymaga %s, ale nie można zainstalować żadnego pakietu go "
+ "dostarczającego"
+ 
+-#: ../libdnf/goal/Goal.cpp:88
++#: ../libdnf/goal/Goal.cpp:89
+ #, c-format
+ msgid "package %s conflicts with %s provided by itself"
+ msgstr "pakiet %s jest sprzeczny z %s dostarczanym przez samego siebie"
+ 
+-#: ../libdnf/goal/Goal.cpp:89
++#: ../libdnf/goal/Goal.cpp:90
+ #, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr "pakiety %s i %s zastępują %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr "problem z zainstalowanym modułem "
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr "moduł %s nie istnieje"
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr "nie można zainstalować najlepszego kandydata aktualizacji dla modułu "
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr "moduł %s jest wyłączony"
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr "moduł %s nie ma zgodnej architektury"
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr "nie można zainstalować modułu %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr "nic nie dostarcza %s wymaganego przez moduł %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr "nie można zainstalować modułów %s i %s jednocześnie"
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr "moduł %s jest sprzeczny z %s dostarczanym przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr "moduł %s zastępuje %s dostarczane przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr "zainstalowany moduł %s zastępuje %s dostarczane przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr "moduł %s niebezpośrednio zastępuje %s dostarczane przez %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ "moduł %s wymaga %s, ale nie można zainstalować żadnego modułu go "
+ "dostarczającego"
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr "moduł %s jest sprzeczny z %s dostarczanym przez samego siebie"
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr "moduły %s i %s zastępują %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr "nie ustawiono mechanizmu rozwiązywania"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "ustawienie %s na bezwzględne się nie powiodło"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "zapisanie danych debugowania do %1$s się nie powiodło: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr "brak mechanizmu rozwiązywania w celu"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr "brak rozwiązania, nie można usunąć chronionego pakietu"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr "brak możliwego rozwiązania"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr "Działanie spowodowałoby usunięcie tych chronionych pakietów: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Transformer: nie można otworzyć katalogu trwałej historii"
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "Nie można odnaleźć bazy danych historii"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "Błędny identyfikator dla repozytorium: %s, bajt = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "W trakcie wykonywania"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr ""
++"Repozytorium %s nie ma ustawionego serwera lustrzanego ani podstawowego "
++"adresu URL."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "Nie jest w trakcie wykonywania"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "Repozytorium „%s” ma nieobsługiwany typ: „type=%s”, pomijanie."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "Nie ma wykonywanych transakcji"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr ""
++"Nie można odnaleźć prawidłowego podstawowego adresu URL dla repozytorium: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "Transakcja została już rozpoczęta."
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr ""
++"Maksymalna prędkość pobierania jest mniejsza niż minimalna. Proszę zmienić "
++"konfigurację „minrate” lub „throttle”"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "Stan TransactionItem nie jest ustawiony: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "Nie można dodać wyjścia konsoli do niezapisanej transakcji"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "Próba wstawienia elementu transakcji do ukończonej transakcji"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "Próba zaktualizowania elementu transakcji w ukończonej transakcji"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
++msgstr "nie można wyświetlić listy kluczy: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr "Nie można włączyć wielu strumieni dla modułu „%s”"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
++msgstr "Pobranie klucza GPG dla repozytorium „%s” się nie powiodło: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
+-msgstr "Sprzeczne domyślne z repozytorium „%s”: %s"
++msgid "%s: gpgme_set_protocol(): %s"
++msgstr "%s: gpgme_set_protocol(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
+-msgstr ""
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgstr "%s: gpgme_op_assuan_transact_ext(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "repozytorium %s: 0x%s jest już zaimportowane"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "repozytorium %s: zaimportowano klucz 0x%s."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "odnawianie: pominięto repozytorium „%s”, brak metaodnośnika."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
++"odnawianie: pominięto repozytorium „%s”, brak sumy kontrolnej możliwej do "
++"użycia."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr "Nieprawidłowy format modułu platformy: %s"
+-
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr "Dostępne pakiety dostarczają wiele platform modułów\n"
+-
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr "Zainstalowane pakiety dostarczają wiele platform modułów\n"
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "odnawianie: niepowodzenie dla „%s”, suma kontrolna %s się nie zgadza."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr "Wykrycie modułu platformy w %s się nie powiodło: %s"
++msgid "reviving: '%s' can be revived - metalink checksums match."
++msgstr ""
++"odnawianie: można odnowić „%s” — sumy kontrolne metaodnośnika się zgadzają."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr "Brak PLATFORM_ID w %s"
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "odnawianie: można odnowić „%s” — repomd się zgadza."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
+-msgstr "Nie wykryto prawidłowego identyfikatora platformy"
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "odnawianie: niepowodzenie dla „%s”, repomd się nie zgadza."
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "wartość „%s” nie jest dozwolona"
++msgid "Cannot create repo destination directory \"%s\": %s"
++msgstr "Nie można utworzyć katalogu docelowego repozytorium „%s”: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "nieprawidłowa wartość"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "Nie można utworzyć katalogu tymczasowego repozytorium „%s”: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Konfiguracja: OptionBinding o identyfikatorze „%s” nie istnieje"
++msgid "Cannot create directory \"%s\": %s"
++msgstr "Nie można utworzyć katalogu „%s”: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Konfiguracja: OptionBinding o identyfikatorze „%s” już istnieje"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "Nie można zmienić nazwy katalogu „%s” na „%s”: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "nie podano wartości"
++#: ../libdnf/repo/Repo.cpp:1321
++#, c-format
++msgid "repo: using cache for: %s"
++msgstr "repozytorium: używanie pamięci podręcznej dla: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "wartość sekund „%s” nie może być ujemna"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Włączono tylko pamięć podręczną, ale brak pamięci podręcznej dla „%s”"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "nie można przekonwertować „%s” na sekundy"
++msgid "repo: downloading from remote: %s"
++msgstr "repozytorium: pobieranie z serwera: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "nieznana jednostka „%s”"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr "Pobranie metadanych repozytorium „%s” się nie powiodło: %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir(): obliczenie sumy SHA256 się nie powiodło"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr "nie można używać wznawiania jednocześnie z parametrem byterangestart"
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "nieprawidłowa wartość logiczna „%s”"
++msgid "PackageTarget initialization failed: %s"
++msgstr "Inicjacja PackageTarget się nie powiodła: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "podana wartość [%d] musi być mniejsza niż dozwolona wartość [%d]."
++msgid "Cannot open %s: %s"
++msgstr "Nie można otworzyć %s: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "podana wartość [%d] musi być większa niż dozwolona wartość [%d]."
++msgid "Log handler with id %ld doesn't exist"
++msgstr "Program obsługujący dziennik o identyfikatorze %ld nie istnieje"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "podana ścieżka „%s” nie jest bezwzględna."
++msgid "Sources not set when trying to ensure package %s"
++msgstr "Źródła nie są ustawione podczas próby zapewnienia pakietu %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "podana ścieżka „%s” nie istnieje."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
++"Zapewnienie pakietu %1$s się nie powiodło, ponieważ nie odnaleziono "
++"repozytorium %2$s (wczytane repozytoria: %3$i)"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue(): nie ustawiono wartości"
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "Sprawdzenie niezaufanych się nie powiodło: "
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "nie można przekonwertować „%s” na bajty"
++msgid "Downloaded file for %s not found"
++msgstr "Nie odnaleziono pobranego pliku dla %s"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "procent „%s” jest poza zakresem"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++"nie można sprawdzić poprawności pakietu %1$s, a repozytorium %2$s ma "
++"włączone GPG: %3$s"
++
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "Uzyskanie wartości dla katalogu pamięci podręcznej się nie powiodło"
++
++#: ../libdnf/dnf-transaction.cpp:887
++#, c-format
++msgid "Failed to get filesystem free size for %s: "
++msgstr "Uzyskanie wolnego miejsca w systemie plików dla %s się nie powiodło: "
++
++#: ../libdnf/dnf-transaction.cpp:895
++#, c-format
++msgid "Failed to get filesystem free size for %s"
++msgstr "Uzyskanie wolnego miejsca w systemie plików dla %s się nie powiodło"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++"Za mało wolnego miejsca na %1$s: wymagane jest %2$s, dostępne jest %3$s"
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr "ustawienie roota się nie powiodło"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "Błąd %i podczas wykonywania testu transakcji"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "Błąd %i podczas wykonywania transakcji"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++"Transakcja nie przeszła do etapu zapisu, ale nie zwróciła żadnego błędu (%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "usunięcie %s się nie powiodło"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr "Nie można wczytać współdzielonej biblioteki „%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 "Nie można uzyskać adresu symbolu „%s”: %s"
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr "Wczytywanie wtyczki file=\"%s\""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr "Wczytywanie wtyczki name=\"%s\", version=\"%s\""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr "dirPath dla Plugins::loadPlugins() nie może być puste"
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr "Nie można odczytać katalogu wtyczki „%s”: %s"
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr "Nie można wczytać wtyczki „%s”: %s"
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -523,30 +605,70 @@ msgstr "ukończono na stanie %1$p, który nie ma ustawionego rozmiaru. [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "ma już stan 100%% [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
+-msgstr "Zmiana nazwy %1$s na %2$s się nie powiodła: %3$s"
++msgid "Invalid format of Platform module: %s"
++msgstr "Nieprawidłowy format modułu platformy: %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr "Dostępne pakiety dostarczają wiele platform modułów\n"
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr "Zainstalowane pakiety dostarczają wiele platform modułów\n"
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
+-msgstr "Ustawienie uprawnień %1$s się nie powiodło: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
++msgstr "Wykrycie modułu platformy w %s się nie powiodło: %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
+-msgstr ""
++msgid "Missing PLATFORM_ID in %s"
++msgstr "Brak PLATFORM_ID w %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr "Nie wykryto prawidłowego identyfikatora platformy"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "nie można otworzyć katalogu %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr "Nie można włączyć wielu strumieni dla modułu „%s”"
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr "Sprzeczne domyślne z repozytorium „%s”: %s"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr "Wczytanie modularnych danych Fail-Safe w „%s” się nie powiodło"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++"Wczytanie modularnych danych Fail-Safe dla modułu „%s:%s” się nie powiodło"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
++"Utworzenie katalogu „%s” dla modularnych danych Fail Safe się nie powiodło: "
++"%s"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr "Zapisanie modularnych danych Fail Safe do „%s” się nie powiodło"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgstr "Usunięcie modularnych danych Fail Safe w „%s” się nie powiodło"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+@@ -554,6 +676,8 @@ msgid ""
+ "No available modular metadata for modular package '%s'; cannot be installed "
+ "on the system"
+ msgstr ""
++"Brak dostępnych modularnych metadanych dla modularnego pakietu „%s”, nie "
++"można zainstalować na komputerze"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+@@ -609,27 +733,83 @@ msgstr "odnalezienie pakietu %s się nie powiodło"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "nie można dodać elementu usunięcia %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr "Nie można rozwiązać zależności transakcji; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "wartość „%s” nie jest dozwolona"
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue(): nie ustawiono wartości"
++
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] "Wykryto %i problem:\n"
+-msgstr[1] "Wykryto %i problemy:\n"
+-msgstr[2] "Wykryto %i problemów:\n"
++msgid "given path '%s' is not absolute."
++msgstr "podana ścieżka „%s” nie jest bezwzględna."
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr " Problem %1$i: %2$s\n"
++msgid "given path '%s' does not exist."
++msgstr "podana ścieżka „%s” nie istnieje."
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr " Problem: %s\n"
++msgid "invalid boolean value '%s'"
++msgstr "nieprawidłowa wartość logiczna „%s”"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "nie podano wartości"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "wartość sekund „%s” nie może być ujemna"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "nie można przekonwertować „%s” na bajty"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "nieznana jednostka „%s”"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "procent „%s” jest poza zakresem"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "podana wartość [%d] musi być mniejsza niż dozwolona wartość [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "podana wartość [%d] musi być większa niż dozwolona wartość [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "nieprawidłowa wartość"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Konfiguracja: OptionBinding o identyfikatorze „%s” nie istnieje"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Konfiguracja: OptionBinding o identyfikatorze „%s” już istnieje"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "nie można przekonwertować „%s” na sekundy"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+@@ -691,7 +871,7 @@ msgstr "repo_add_solv() się nie powiodło."
+ 
+ #: ../libdnf/dnf-sack.cpp:750
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+-msgstr ""
++msgstr "wczytanie MD_TYPE_PRIMARY się nie powiodło."
+ 
+ #: ../libdnf/dnf-sack.cpp:763
+ msgid "repo_add_repomdxml/rpmmd() has failed."
+@@ -718,215 +898,45 @@ msgstr "wczytanie bazy danych RPM się nie powiodło"
+ msgid "No module defaults found"
+ msgstr "Nie odnaleziono domyślnych modułu"
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr "Błędny identyfikator dla repozytorium: %s, bajt = %s %d"
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr ""
+-"Repozytorium %s nie ma ustawionego serwera lustrzanego ani podstawowego "
+-"adresu URL."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr "Repozytorium „%s” ma nieobsługiwany typ: „type=%s”, pomijanie."
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr ""
+-"Nie można odnaleźć prawidłowego podstawowego adresu URL dla repozytorium: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"Maksymalna prędkość pobierania jest mniejsza niż minimalna. Proszę zmienić "
+-"konfigurację „minrate” lub „throttle”"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "nie można wyświetlić listy kluczy: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "repozytorium %s: 0x%s jest już zaimportowane"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "repozytorium %s: zaimportowano klucz 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "odnawianie: pominięto repozytorium „%s”, brak metaodnośnika."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr ""
+-"odnawianie: pominięto repozytorium „%s”, brak sumy kontrolnej możliwej do "
+-"użycia."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "odnawianie: niepowodzenie dla „%s”, suma kontrolna %s się nie zgadza."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"odnawianie: można odnowić „%s” — sumy kontrolne metaodnośnika się zgadzają."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "odnawianie: można odnowić „%s” — repomd się zgadza."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "odnawianie: niepowodzenie dla „%s”, repomd się nie zgadza."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
+-msgstr "Nie można utworzyć katalogu docelowego repozytorium „%s”: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1261
+-#, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
+-msgstr "Nie można utworzyć katalogu tymczasowego repozytorium „%s”: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "Nie można utworzyć katalogu „%s”: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "Nie można zmienić nazwy katalogu „%s” na „%s”: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repozytorium: używanie pamięci podręcznej dla: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Włączono tylko pamięć podręczną, ale brak pamięci podręcznej dla „%s”"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "repozytorium: pobieranie z serwera: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir(): obliczenie sumy SHA256 się nie powiodło"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr "nie można używać wznawiania jednocześnie z parametrem byterangestart"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "Inicjacja PackageTarget się nie powiodła: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "Nie można otworzyć %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Transformer: nie można otworzyć katalogu trwałej historii"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "Program obsługujący dziennik o identyfikatorze %ld nie istnieje"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "Nie można odnaleźć bazy danych historii"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr "Nie można wczytać współdzielonej biblioteki „%s”: %s"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "W trakcie wykonywania"
+ 
+-#: ../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 "Nie można uzyskać adresu symbolu „%s”: %s"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "Nie jest w trakcie wykonywania"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr "Wczytywanie wtyczki file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "Nie ma wykonywanych transakcji"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr "Wczytywanie wtyczki name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "Próba wstawienia elementu transakcji do ukończonej transakcji"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr "dirPath dla Plugins::loadPlugins() nie może być puste"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "Próba zaktualizowania elementu transakcji w ukończonej transakcji"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr "Nie można odczytać katalogu wtyczki „%s”: %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "Transakcja została już rozpoczęta."
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr "Nie można wczytać wtyczki „%s”: %s"
++msgid "TransactionItem state is not set: %s"
++msgstr "Stan TransactionItem nie jest ustawiony: %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "usunięcie %s się nie powiodło"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "Nie można dodać wyjścia konsoli do niezapisanej transakcji"
+diff --git a/po/pt.po b/po/pt.po
+index 34ef1550..07d4bee2 100644
+--- a/po/pt.po
++++ b/po/pt.po
+@@ -3,7 +3,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2017-01-14 05:19+0000\n"
+ "Last-Translator: Joao Almeida <intjalmeida@gmail.com>\n"
+ "Language-Team: Portuguese\n"
+@@ -14,66 +14,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -84,11 +67,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -96,15 +79,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -113,11 +96,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -125,13 +108,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -146,751 +129,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Em curso"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "o valor '%s' não é permitido"
+-
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "nenhum valor especificado"
+-
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "o segundo valor '%s' não pode ser negativo"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "unidade desconhecida '%s'"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
+-#, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "valor de booleano inválido '%s'"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
+-#, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "valor dado [%d] deve ser menor do que o valor permitido [%d]."
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "valor dado [%d] deve ser maior do que o valor permitido [%d]."
++msgid "PackageTarget initialization failed: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "o caminho dado '%s' não é absoluto."
++msgid "Cannot open %s: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "o caminho dado '%s' não existe."
+-
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "a percentagem '%s' está fora do intervalo"
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:911
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
+-#, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature not found for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/dnf-state.cpp:1193
++#, c-format
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "failed to find package %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:413
++#, c-format
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
+-#, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
+-#, c-format
+-msgid " Problem %1$i: %2$s\n"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Cannot enable multiple streams for module '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:78
++#, c-format
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:141
++#, c-format
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:149
++#, c-format
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/dnf-rpmts.cpp:354
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgid "'%s' is not an allowed value"
++msgstr "o valor '%s' não é permitido"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr ""
++msgid "given path '%s' is not absolute."
++msgstr "o caminho dado '%s' não é absoluto."
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "o caminho dado '%s' não existe."
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
++msgid "invalid boolean value '%s'"
++msgstr "valor de booleano inválido '%s'"
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "nenhum valor especificado"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
++msgid "seconds value '%s' must not be negative"
++msgstr "o segundo valor '%s' não pode ser negativo"
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/ConfigMain.cpp:71
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "can not list keys: %s"
+-msgstr ""
++msgid "unknown unit '%s'"
++msgstr "unidade desconhecida '%s'"
+ 
+-#: ../libdnf/repo/Repo.cpp:839
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
++msgid "percentage '%s' is out of range"
++msgstr "a percentagem '%s' está fora do intervalo"
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "valor dado [%d] deve ser menor do que o valor permitido [%d]."
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "valor dado [%d] deve ser maior do que o valor permitido [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
+-#, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
++#: ../libdnf/dnf-sack.cpp:955
+ #, c-format
+-msgid "PackageTarget initialization failed: %s"
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Em curso"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
+-#, c-format
+-msgid "Can't load plugin \"%s\": %s"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr ""
++
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "failed to remove %s"
++msgid "TransactionItem state is not set: %s"
++msgstr ""
++
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/pt_BR.po b/po/pt_BR.po
+index 9af5cd8c..b0627c52 100644
+--- a/po/pt_BR.po
++++ b/po/pt_BR.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-11-02 05:26+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Portuguese (Brazil)\n"
+@@ -18,87 +18,68 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "Fontes não definidas ao tentar garantir o pacote %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-"Não foi possível garantir %1$s como repo %2$s não encontrado(%3$i repos "
+-"carregados)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "Falha ao verificar não confiável: "
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "Falha ao renomear %1$s para %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "Arquivo baixado para %s não encontrado"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "Falha na configuração de perms on %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+-"pacote %1$s não pode ser verificado e repo %2$s está habilitado para GPG: "
+-"%3$s"
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "Falha ao obter valor para CacheDir"
+-
+-#: ../libdnf/dnf-transaction.cpp:887
+-#, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "Falha ao obter tamanho livre do sistema de arquivos para %s: "
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "Falha ao obter tamanho livre do sistema de arquivos para %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "não pode abrir o diretório %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr "Não há espaço livre suficiente %1$s: necessário %2$s, acessível %3$s"
++msgid "cannot stat path %1$s: %2$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "não conseguiu definir raiz"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "Não foi possível descartar a transação; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "Erro %i executando o teste de transação"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "%i problema detectado:\n"
++msgstr[1] "%i problemas detectados:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "Erro %i transação em execução"
++msgid " Problem %1$i: %2$s\n"
++msgstr " Problema %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr ""
+-"A transação não foi para a fase de escrita, mas não retornou nenhum erro "
+-"(%i)"
++msgid " Problem: %s\n"
++msgstr " Problema: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+ msgstr ""
++"Seletor mal formado, presença de múltiplos objetos de correspondência no "
++"filtro"
+ 
+ #: ../libdnf/goal/Goal.cpp:56
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
++"Seletor mal formado usado para a operação, tipo de comparação incorreto"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -106,15 +87,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -123,11 +104,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -135,13 +116,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -156,335 +137,433 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+-msgstr ""
++msgstr "nenhum conjunto de solver"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+-msgstr ""
++msgstr "não conseguiu fazer %s absoluto"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+-msgstr ""
++msgstr "Falha ao gravar debugdata para %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+-msgstr ""
++msgstr "sem solv na meta"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+-msgstr ""
++msgstr "sem solução, não é possível remover o pacote protegido"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+-msgstr ""
++msgstr "nenhuma solução possível"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+-msgstr ""
+-
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Transformador: não é possível abrir o histórico persistir dir"
++msgstr "A operação resultaria na remoção dos seguintes pacotes protegidos: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "Não foi possível encontrar um banco de dados de histórico"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "Bad id para repo: %s, byte = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Em andamento"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "Repositório %s não possui espelho ou baseurl definido."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "Não em progresso"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "Repositório%s'tem tipo não suportado:' type =%s', pulando."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "Nenhuma transação em andamento"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Impossível encontrar uma baseurl válida para o repo: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "A transação já começou!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr ""
++"Velocidade máxima de download é menor que o mínimo. Altere a configuração de"
++" minrate ou throttle."
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "O estado TransactionItem não está definido: %s"
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "Não é possível adicionar saída do console a transação não salva"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "Tentativa de inserir um item de transação na transação concluída"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "Tentativa de atualizar o item de transação na transação concluída"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr ""
++msgid "can not list keys: %s"
++msgstr "não pode listar chaves: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "repo %s: 0 x%s já importado"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "repo %s: chave importada 0x%s."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "reativando: repo '%s' ignorado, sem metalink."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "reativando: repo '%s' ignorado, nenhum hash utilizável."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1204
++#, c-format
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "reativando: falhou por '%s', checksum %s não coincide."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
++msgstr "reativando: '%s' pode ser reativado - checksum do metalink coincide."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "reativando: '%s' pode ser reativado - repomd coincide."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "reativando: falhou por '%s', repomd não coincide."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' não é um valor permitido"
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "Não é possível criar o diretório temporário do repositório \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "valor inválido"
++#: ../libdnf/repo/Repo.cpp:1275
++#, c-format
++msgid "Cannot create directory \"%s\": %s"
++msgstr "Não é possível criar o diretório \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Configuração: OptionBinding com id \"%s\" não existe"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "Não é possível renomear o diretório \"%s\" para \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Configuração: OptionBinding com id \"%s\" já existe"
++msgid "repo: using cache for: %s"
++msgstr "repo: utilizando cache para: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "nenhum valor especificado"
++#: ../libdnf/repo/Repo.cpp:1333
++#, c-format
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Cache-only habilitado mas sem cache para '%s'"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "valor de segundos '%s' não deve ser negativo"
++msgid "repo: downloading from remote: %s"
++msgstr "repo: download do controle remoto: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "não foi possível converter '%s'para segundos"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir (): Falha na computação de SHA256"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
++"currículo não pode ser usado simultaneamente com o parâmetro byterangestart"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "unidade desconhecida '%s'"
++msgid "PackageTarget initialization failed: %s"
++msgstr "Falha na inicialização do PackageTarget: %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "valor booleano inválido '%s'"
++msgid "Cannot open %s: %s"
++msgstr "Não pode abrir %s: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "valor dado [%d] deveria ser menor que o valor permitido [%d]."
++msgid "Log handler with id %ld doesn't exist"
++msgstr "Manipulador de log com id %ld não existe"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "valor dado [%d] deveria ser maior que o valor permitido [%d]."
++msgid "Sources not set when trying to ensure package %s"
++msgstr "Fontes não definidas ao tentar garantir o pacote %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "caminho informado '%s' não é absoluto."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
++"Não foi possível garantir %1$s como repo %2$s não encontrado(%3$i repos "
++"carregados)"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "Falha ao verificar não confiável: "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "caminho informado '%s' não existe."
++msgid "Downloaded file for %s not found"
++msgstr "Arquivo baixado para %s não encontrado"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue (): valor não definido"
++#: ../libdnf/dnf-transaction.cpp:373
++#, c-format
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++"pacote %1$s não pode ser verificado e repo %2$s está habilitado para GPG: "
++"%3$s"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "Falha ao obter valor para CacheDir"
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "não foi possível converter '%s'para bytes"
++msgid "Failed to get filesystem free size for %s: "
++msgstr "Falha ao obter tamanho livre do sistema de arquivos para %s: "
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "porcentagem '%s' está fora do intervalo"
++msgid "Failed to get filesystem free size for %s"
++msgstr "Falha ao obter tamanho livre do sistema de arquivos para %s"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr "Não há espaço livre suficiente %1$s: necessário %2$s, acessível %3$s"
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr "não conseguiu definir raiz"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "Erro %i executando o teste de transação"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "Erro %i transação em execução"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++"A transação não foi para a fase de escrita, mas não retornou nenhum erro "
++"(%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "não foi possível remover %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -510,29 +589,66 @@ msgstr "feito em um estado %1$p que não tinha um tamanho definido! [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "já em 100 %% state [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "não pode abrir o diretório %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -595,25 +711,83 @@ msgstr "não encontrou o pacote %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "não foi possível adicionar o elemento apagar %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr ""
+-
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "'%s' is not an allowed value"
++msgstr "'%s' não é um valor permitido"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue (): valor não definido"
++
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr ""
++msgid "given path '%s' is not absolute."
++msgstr "caminho informado '%s' não é absoluto."
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr ""
++msgid "given path '%s' does not exist."
++msgstr "caminho informado '%s' não existe."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "valor booleano inválido '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "nenhum valor especificado"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "valor de segundos '%s' não deve ser negativo"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "não foi possível converter '%s'para bytes"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "unidade desconhecida '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "porcentagem '%s' está fora do intervalo"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "valor dado [%d] deveria ser menor que o valor permitido [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "valor dado [%d] deveria ser maior que o valor permitido [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "valor inválido"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Configuração: OptionBinding com id \"%s\" não existe"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Configuração: OptionBinding com id \"%s\" já existe"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "não foi possível converter '%s'para segundos"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+@@ -700,210 +874,45 @@ msgstr "falha ao carregar o RPMDB"
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "Repositório %s não possui espelho ou baseurl definido."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Impossível encontrar uma baseurl válida para o repo: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"Velocidade máxima de download é menor que o mínimo. Altere a configuração de"
+-" minrate ou throttle."
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "não pode listar chaves: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "repo %s: 0 x%s já importado"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "repo %s: chave importada 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "reativando: repo '%s' ignorado, sem metalink."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "reativando: repo '%s' ignorado, nenhum hash utilizável."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "reativando: falhou por '%s', checksum %s não coincide."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr "reativando: '%s' pode ser reativado - checksum do metalink coincide."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "reativando: '%s' pode ser reativado - repomd coincide."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "reativando: falhou por '%s', repomd não coincide."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "Não é possível criar o diretório temporário do repositório \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "Não é possível criar o diretório \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "Não é possível renomear o diretório \"%s\" para \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repo: utilizando cache para: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Cache-only habilitado mas sem cache para '%s'"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "repo: download do controle remoto: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir (): Falha na computação de SHA256"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-"currículo não pode ser usado simultaneamente com o parâmetro byterangestart"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "Falha na inicialização do PackageTarget: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "Não pode abrir %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Transformador: não é possível abrir o histórico persistir dir"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "Manipulador de log com id %ld não existe"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "Não foi possível encontrar um banco de dados de histórico"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Em andamento"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "Não em progresso"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "Nenhuma transação em andamento"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "Tentativa de inserir um item de transação na transação concluída"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "Tentativa de atualizar o item de transação na transação concluída"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "A transação já começou!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "O estado TransactionItem não está definido: %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "não foi possível remover %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "Não é possível adicionar saída do console a transação não salva"
+diff --git a/po/ru.po b/po/ru.po
+index 1024b739..fa727177 100644
+--- a/po/ru.po
++++ b/po/ru.po
+@@ -4,7 +4,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2018-11-02 05:26+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Russian\n"
+@@ -15,85 +15,68 @@ msgstr ""
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "Источники не установлены при попытке обеспечить пакет %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, 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 загружены "
+-"репозитории)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "Не удалось проверить недоверенность: "
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "Загруженный файл для %s не найдено"
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "Неудачное переименование %1$s в %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, 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:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "Не удалось получить значение для CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "Не удалось установить perms on %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "Не удалось получить размер файловой системы для %s: "
++msgid "cannot create directory %1$s: %2$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "Не удалось получить размер файловой системы для %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "не удается открыть каталог %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+-"Недостаточно свободного места в %1$s: необходимо %2$s, имеется в наличии "
+-"%3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "не удалось установить корень"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "Не удалось выполнить деполяцию; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "ошибка %i проверка транзакции"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "%i обнаружена проблема:\n"
++msgstr[1] "%i обнаруженные проблемы:\n"
++msgstr[2] "%i обнаруженные проблемы:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "ошибка %i выполняемая транзакция"
++msgid " Problem %1$i: %2$s\n"
++msgstr " проблема %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr "Транзакция не перешла на этап написания, но не вернула ошибку (%i)"
++msgid " Problem: %s\n"
++msgstr " Проблема: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+ msgstr ""
++"Неформованный селектор, наличие в фильтре нескольких объектов соответствия"
+ 
+ #: ../libdnf/goal/Goal.cpp:56
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
++"Неисправный селектор, используемый для операции, неправильный тип сравнения"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -101,15 +84,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -118,11 +101,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -130,13 +113,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -151,335 +134,437 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+-msgstr ""
++msgstr "нет решателя"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+-msgstr ""
++msgstr "не удалось %s абсолютный"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+-msgstr ""
++msgstr "не удалось написать debugdata для %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+-msgstr ""
++msgstr "нет solv в цели"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+-msgstr ""
++msgstr "нет решения, невозможно удалить защищенный пакет"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+-msgstr ""
++msgstr "невозможно решение"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+-msgstr ""
+-
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Трансформатор: невозможно открыть историю сохранения"
++msgstr "Операция приведет к удалению следующих защищенных пакетов: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "Не удалось найти базу данных истории"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "Плохой идентификатор для репо: %s, byte = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "В процессе"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "Для репозитория %s не заданы зеркала или baseurl."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "Не выполняется"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "Репозиторий '%s'имеет неподдерживаемый тип:' type =%s', пропуская."
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "Никаких транзакций"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Не удается найти правильный baseurl для репозитория: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "Сделка уже началась!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr ""
++"Максимальная скорость загрузки ниже минимальной. Измените настройку minrate "
++"или throttle"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "Состояние TransactionItem не установлено: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "Невозможно добавить вывод консоли в несохраненную транзакцию"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "Попытка вставить транзакцию в завершенную транзакцию"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "Попытка обновить позицию транзакции в завершенной транзакции"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
++msgstr "не может перечислить ключи: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "Сделки рЕПО %s: 0x%s уже импортировано"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "Сделки рЕПО %s: импортированный ключ 0x%s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "восстановление: репозиторий «%s» игнорируется, нет метассылок."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
++"восстановление: репозиторий «%s» игнорируется, нет пригодного хэш-кода."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "восстановление: не удалось для «%s», сумма %s не совпадает."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
++"восстановление: «%s» может быть восстановлен - контрольные суммы метассылок "
++"совпадают."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
++"восстановление: «%s» может быть восстановлен - совпадают метаданные "
++"репозитория."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
++"восстановление: не удалось для «%s», не совпадают метаданные репозитория."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "Невозможно создать временный каталог репо \"%s«: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "«%s» не является допустимым значением"
++msgid "Cannot create directory \"%s\": %s"
++msgstr "Невозможно создать каталог \"%s«: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "Неверное значение"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "Невозможно переименовать каталог \"%s\"to\"%s«: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Конфигурация: OptionBinding с идентификатором \"%s\" не существует"
++msgid "repo: using cache for: %s"
++msgstr "репозиторий: используется кэш для: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Конфигурация: OptionBinding с идентификатором \"%s\" уже существует"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Использование режима cacheonly включено, но нет кэша для «%s»"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "не указано значение"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
++msgstr "РЕПО: загрузка с удаленного устройства: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "значение для секунд «%s» не должно быть отрицательным"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir (): вычисление SHA256 не выполнено"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
++"резюме не может использоваться одновременно с параметром byterangestart"
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "не удалось преобразовать '%s'секунд"
++msgid "PackageTarget initialization failed: %s"
++msgstr "Не удалось инициализировать PackageTarget: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "неизвестная единица «%s»"
++msgid "Cannot open %s: %s"
++msgstr "Не могу открыть %s: %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "недопустимое логическое значение «%s»"
++msgid "Log handler with id %ld doesn't exist"
++msgstr "Обработчик журнала с идентификатором %ld не существует"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "данное значение [%d] должно быть меньше допустимого значения [%d]."
++msgid "Sources not set when trying to ensure package %s"
++msgstr "Источники не установлены при попытке обеспечить пакет %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "данное значение [%d] должно быть больше допустимого значения [%d]."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
++"Не удалось обеспечить %1$s как репо %2$s не найдено(%3$i загружены "
++"репозитории)"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "Не удалось проверить недоверенность: "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "данный путь «%s» не является абсолютным."
++msgid "Downloaded file for %s not found"
++msgstr "Загруженный файл для %s не найдено"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "данный путь «%s» не существует."
++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/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue (): значение не установлено"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "Не удалось получить значение для CacheDir"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "не удалось преобразовать '%s'к байтам"
++msgid "Failed to get filesystem free size for %s: "
++msgstr "Не удалось получить размер файловой системы для %s: "
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "процентная величина «%s» вне диапазона"
++msgid "Failed to get filesystem free size for %s"
++msgstr "Не удалось получить размер файловой системы для %s"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, 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:1169
++msgid "failed to set root"
++msgstr "не удалось установить корень"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "ошибка %i проверка транзакции"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "ошибка %i выполняемая транзакция"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr "Транзакция не перешла на этап написания, но не вернула ошибку (%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "не удалось удалить %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -505,29 +590,66 @@ msgstr "сделано в состоянии %1$p у которого не бы
+ msgid "already at 100%% state [%s]"
+ msgstr "уже в состоянии 100 %% [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "не удается открыть каталог %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -590,27 +712,85 @@ msgstr "не удалось найти пакет %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "не удалось добавить элемент стирания %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr ""
+-
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "'%s' is not an allowed value"
++msgstr "«%s» не является допустимым значением"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
+-#, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr ""
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue (): значение не установлено"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr ""
++msgid "given path '%s' is not absolute."
++msgstr "данный путь «%s» не является абсолютным."
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "данный путь «%s» не существует."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "недопустимое логическое значение «%s»"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "не указано значение"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "значение для секунд «%s» не должно быть отрицательным"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "не удалось преобразовать '%s'к байтам"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "неизвестная единица «%s»"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "процентная величина «%s» вне диапазона"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%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]."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "Неверное значение"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Конфигурация: OptionBinding с идентификатором \"%s\" не существует"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Конфигурация: OptionBinding с идентификатором \"%s\" уже существует"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "не удалось преобразовать '%s'секунд"
++
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+ msgid "no %1$s string for %2$s"
+ msgstr ""
+@@ -695,216 +875,45 @@ msgstr "не удалось загрузить RPMDB"
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "Для репозитория %s не заданы зеркала или baseurl."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Не удается найти правильный baseurl для репозитория: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"Максимальная скорость загрузки ниже минимальной. Измените настройку minrate "
+-"или throttle"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "не может перечислить ключи: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "Сделки рЕПО %s: 0x%s уже импортировано"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "Сделки рЕПО %s: импортированный ключ 0x%s"
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "восстановление: репозиторий «%s» игнорируется, нет метассылок."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr ""
+-"восстановление: репозиторий «%s» игнорируется, нет пригодного хэш-кода."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "восстановление: не удалось для «%s», сумма %s не совпадает."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"восстановление: «%s» может быть восстановлен - контрольные суммы метассылок "
+-"совпадают."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr ""
+-"восстановление: «%s» может быть восстановлен - совпадают метаданные "
+-"репозитория."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr ""
+-"восстановление: не удалось для «%s», не совпадают метаданные репозитория."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "Невозможно создать временный каталог репо \"%s«: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "Невозможно создать каталог \"%s«: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "Невозможно переименовать каталог \"%s\"to\"%s«: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "репозиторий: используется кэш для: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Использование режима cacheonly включено, но нет кэша для «%s»"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "РЕПО: загрузка с удаленного устройства: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir (): вычисление SHA256 не выполнено"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-"резюме не может использоваться одновременно с параметром byterangestart"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "Не удалось инициализировать PackageTarget: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "Не могу открыть %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Трансформатор: невозможно открыть историю сохранения"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "Обработчик журнала с идентификатором %ld не существует"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "Не удалось найти базу данных истории"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "В процессе"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "Не выполняется"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "Никаких транзакций"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "Попытка вставить транзакцию в завершенную транзакцию"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "Попытка обновить позицию транзакции в завершенной транзакции"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "Сделка уже началась!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "Состояние TransactionItem не установлено: %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "не удалось удалить %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "Невозможно добавить вывод консоли в несохраненную транзакцию"
+diff --git a/po/sk.po b/po/sk.po
+index 2c17ed32..f8ceed39 100644
+--- a/po/sk.po
++++ b/po/sk.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 08:05+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Slovak\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Prebieha"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Prebieha"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/sq.po b/po/sq.po
+index a77ad823..62ab2fa5 100644
+--- a/po/sq.po
++++ b/po/sq.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 08:13+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Albanian\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Në ecje e sipër"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Në ecje e sipër"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/sr.po b/po/sr.po
+index 1640e38d..232fbc20 100644
+--- a/po/sr.po
++++ b/po/sr.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 08:17+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Serbian\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "У току"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "У току"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/sr@latin.po b/po/sr@latin.po
+index de637e90..9c882f28 100644
+--- a/po/sr@latin.po
++++ b/po/sr@latin.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 08:25+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Serbian (LATIN)\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "U toku"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "U toku"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/sv.po b/po/sv.po
+index 9113ba88..1a02b3ef 100644
+--- a/po/sv.po
++++ b/po/sv.po
+@@ -1,12 +1,13 @@
+ # Göran Uddeborg <goeran@uddeborg.se>, 2016. #zanata
+ # Göran Uddeborg <goeran@uddeborg.se>, 2017. #zanata
+ # Göran Uddeborg <goeran@uddeborg.se>, 2018. #zanata
++# Göran Uddeborg <goeran@uddeborg.se>, 2019. #zanata
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
+-"PO-Revision-Date: 2018-09-08 03:31+0000\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
++"PO-Revision-Date: 2019-09-07 09:19+0000\n"
+ "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
+ "Language-Team: Swedish\n"
+ "Language: sv\n"
+@@ -16,474 +17,550 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "Källor inte angivna vid försök att säkerställa paketet %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-"Misslyckades att säkerställa %1$s eftersom förrådet %2$s inte finns (%3$i "
+-"förråd inlästa)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "Misslyckades att kontrollera ej betrodda: "
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "Misslyckades att byta namn på %1$s till %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "Den hämtade filen för %s finns inte"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "Misslyckades att sätta rättigheter på %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+-"paketet %1$s kan inte verifieras och förrådet %2$s är GPG-aktiverat: %3$s"
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "Misslyckades att få värdet för CacheDir"
+-
+-#: ../libdnf/dnf-transaction.cpp:887
+-#, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "Misslyckades att ta reda på filsystemets fria utrymme för %s: "
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "Misslyckades att ta reda på filsystemets fria utrymme för %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "kan inte öppna katalogen %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+-"Inte tillräckligt med fritt utrymme i %1$s: %2$s behövs, %3$s är "
+-"tillgängligt"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "misslyckades att sätta roten"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "Kunde inte göra beroendeupplösning av transaktionen; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "Fel %i när transaktionstesten kördes"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "%i problem upptäckt:\n"
++msgstr[1] "%i problem upptäckta:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "Fel %i när transaktionen kördes"
++msgid " Problem %1$i: %2$s\n"
++msgstr " Problem %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr "Transaktionen kom inte till skrivfasen, men returnerade inget fel(%i)"
++msgid " Problem: %s\n"
++msgstr " Problem: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+-msgstr ""
++msgstr "Felformaterad selektor, det finns flera matchande objekt i filtret"
+ 
+ #: ../libdnf/goal/Goal.cpp:56
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+-msgstr ""
++msgstr "Felformaterad selektor använd för åtgärden, felaktig jämförelsetyp"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+-msgstr ""
++msgstr " tillhör inte ett distupgrade-förråd"
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+-msgstr ""
++msgstr " har en lägre arkitektur"
+ 
+ #: ../libdnf/goal/Goal.cpp:69
+ msgid "problem with installed package "
+-msgstr ""
++msgstr "problem med ett installerat paket "
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+-msgstr ""
++msgstr "motstridiga begäranden"
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+-msgstr ""
++msgstr "ej stödd begäran"
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+-msgstr ""
++msgstr "inget tillhandahåller begärda "
+ 
+ #: ../libdnf/goal/Goal.cpp:73
+ #, c-format
+ msgid "package %s does not exist"
+-msgstr ""
++msgstr "paketet %s finns inte"
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+-msgstr ""
++msgstr " tillhandahålls av systemet"
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+-msgstr ""
++msgstr "något beroendeproblem"
+ 
+ #: ../libdnf/goal/Goal.cpp:76
+ msgid "cannot install the best update candidate for package "
+-msgstr ""
++msgstr "kan inte installera den bästa uppdateringskandidaten för paketet "
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+-msgstr ""
++msgstr "kan inte installer den bästa kandidaten för jobbet"
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+ #, c-format
+ msgid "package %s does not have a compatible architecture"
+-msgstr ""
++msgstr "paketet %s har inte en kompatibel arkitektur"
+ 
+ #: ../libdnf/goal/Goal.cpp:80
+ #, c-format
+ msgid "package %s is not installable"
+-msgstr ""
++msgstr "paketet %s är inte installerbart"
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
+-msgstr ""
++msgid "nothing provides %s needed by %s"
++msgstr "inget tillhandahåller %s som behövs av %s"
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
+-msgstr ""
++msgid "cannot install both %s and %s"
++msgstr "det går inte att installera både %s och %s"
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
+-msgstr ""
++msgid "package %s conflicts with %s provided by %s"
++msgstr "paketet %s står i konflikt med %s som tillhandahålls av %s"
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
+-msgstr ""
++msgid "package %s obsoletes %s provided by %s"
++msgstr "paketet %s fasar ut %s som tillhandahålls av %s"
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
+-msgstr ""
++msgid "installed package %s obsoletes %s provided by %s"
++msgstr "det installerade paketet %s fasar ut %s som tillhandahålls av %s"
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
+-msgstr ""
++msgid "package %s implicitly obsoletes %s provided by %s"
++msgstr "paketet %s fasar implict ut %s som tillhandahålls av %s"
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
+-msgstr ""
++msgid "package %s requires %s, but none of the providers can be installed"
++msgstr "paketet %s behöver %s, men ingen av leverantörerna kan installeras"
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr "paketet %s står i konflikt med %s som tillhandahålls av sig själv"
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+-msgstr ""
++msgstr "både paketet %s och %s fasar ut %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+-msgstr ""
++msgstr "problem med en installerad modul "
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+-msgstr ""
++msgstr "modulen %s finns inte"
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
++"det går inte att installera den bästa uppdateringskandidaten för modulen "
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+-msgstr ""
++msgstr "modulen %s är avaktiverad"
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+-msgstr ""
++msgstr "modulen %s har inte en kompatibel arkitektur"
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+-msgstr ""
++msgstr "modulen %s är inte installerbar"
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+-msgstr ""
++msgstr "inget tillhandahåller %s som behövs av modulen %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+-msgstr ""
++msgstr "det går inte att installera både modulen %s och %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+-msgstr ""
++msgstr "modulen %s står i konflikt med %s som tillhandahålls av %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+-msgstr ""
++msgstr "modulen %s fasar ut %s som tillhandahålls av %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+-msgstr ""
++msgstr "den installerade modulen %s fasar ut %s som tillhandahålls av %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+-msgstr ""
++msgstr "modulen %s fasar implict ut %s som tillhandahålls av %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+-msgstr ""
++msgstr "modulen %s behöver %s, men ingen av leverantörerna kan installeras"
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+-msgstr ""
++msgstr "modulen %s står i konflikt med %s som tillhandahålls av sig själv"
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+-msgstr ""
++msgstr "både modulen %s och %s fasar ut %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+-msgstr ""
++msgstr "ingen lösare angiven"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+-msgstr ""
++msgstr "misslyckades att göra %s absolut"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+-msgstr ""
++msgstr "misslyckades att skriva felsökningsdata till %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+-msgstr ""
++msgstr "ingen lösare i målet"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+-msgstr ""
++msgstr "ingen lösning, kan inte ta bort skyddat paket"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+-msgstr ""
++msgstr "ingen lösning är möjlig"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
++"Åtgärden skulle resultera i att man tog bort följande skyddade paket: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Transformerare: kan inte öppna historisk varaktig katalog"
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "Kan inte hitta en historiedatabas"
+-
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Pågår"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "Pågår inte"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "Felaktigt id för förrådet: %s, byte = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "Ingen transaktion pågår"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "Förrådet %s har ingen spegel eller bas-url satt."
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "Transaktionen har redan påbörjats!"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "Förrådet ”%s” har en typ som inte stödjs: ”type=%s”, hoppar över."
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:580
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "Transaktionsobjektets tillstånd inte satt: %s"
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Kan inte hitta en giltig bas-url för förrådet: %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "Kan inte lägga till konsolutdata till en osparad transaktion"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr ""
++"Maximal hämtningshastighet är mindre än minimum.  Ändra konfigurationen av "
++"minrate eller throttle"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "Försök att infoga transaktionsobjekt i en avslutad transaktion"
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#, c-format
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "Försök att uppdatera transaktionsobjekt i en avslutad transaktion"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr ""
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
+-msgstr ""
++msgid "can not list keys: %s"
++msgstr "kan inte lista nycklar: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "%s: gpgme_set_protocol(): %s"
++msgstr "%s: gpgme_set_protocol(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgstr "%s: gpgme_op_assuan_transact_ext(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "förrådet %s: 0x%s är redan importerad"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "förrådet %s: importerade nyckeln 0x%s."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "återupplivar: förrådet ”%s” överhoppat, ingen metalink."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1181
++#, c-format
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "återupplivar: förrådet ”%s” överhoppat, ingen användbar hash."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1204
++#, c-format
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "återupplivar: misslyckades med ”%s”, %s-summor stämmer inte."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
++"återupplivar: ”%s” kan återupplivas – metalänkens kontrollsummor stämmer."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "återupplivar: ”%s” kan återupplivas – repomd stämmer."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "återupplivar: misslyckades med ”%s”, repomd stämmer inte."
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "”%s” är inte ett tillåtet värde"
++msgid "Cannot create repo destination directory \"%s\": %s"
++msgstr "Det går inte att skapa den förrådets destinationskatalog ”%s”: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "ogiltigt värde"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "Kaan inte skapa den temporära förrådskatalogen ”%s”: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Konfiguration: OptionBinding med id ”%s” finns inte"
++msgid "Cannot create directory \"%s\": %s"
++msgstr "Kan inte skapa katalogen ”%s”: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Konfiguration: OptionBinding med id ”%s” finns redan"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "Kan inte byta namn på katalogen ”%s” till ”%s”: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "inget värde angivet"
++#: ../libdnf/repo/Repo.cpp:1321
++#, c-format
++msgid "repo: using cache for: %s"
++msgstr "förråd: använder cache för: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "sekundvärdet ”%s” får inte vara negativt"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Enbart-cache aktiverat men ingen cache för ”%s”"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "kunde inte konvertera ”%s” till sekunder"
++msgid "repo: downloading from remote: %s"
++msgstr "förråd: hämtar från fjärrförråd: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "okänd enhet ”%s”"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir(): Beräkningen av SHA256 misslyckades"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr "resume kan inte användas samtidigt med parametern byterangestart"
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "felaktigt booleskt värde ”%s”"
++msgid "PackageTarget initialization failed: %s"
++msgstr "Initiering av PackageTarget misslyckades: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
++msgstr "Kan inte öppna %s: %s"
++
++#: ../libdnf/repo/Repo.cpp:1962
++#, c-format
++msgid "Log handler with id %ld doesn't exist"
++msgstr "Logghanterare med id %ld finns inte"
++
++#: ../libdnf/dnf-transaction.cpp:276
++#, c-format
++msgid "Sources not set when trying to ensure package %s"
++msgstr "Källor inte angivna vid försök att säkerställa paketet %s"
++
++#: ../libdnf/dnf-transaction.cpp:302
++#, c-format
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+-"det angivna värdet [%d] skall vara mindre än det tillåtna värdet [%d]."
++"Misslyckades att säkerställa %1$s eftersom förrådet %2$s inte finns (%3$i "
++"förråd inlästa)"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "Misslyckades att kontrollera ej betrodda: "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Downloaded file for %s not found"
++msgstr "Den hämtade filen för %s finns inte"
++
++#: ../libdnf/dnf-transaction.cpp:373
++#, c-format
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+-"det angivna värdet [%d] skall vara större än det tillåtna värdet [%d]."
++"paketet %1$s kan inte verifieras och förrådet %2$s är GPG-aktiverat: %3$s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "Misslyckades att få värdet för CacheDir"
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "den angivna sökvägen ”%s” är inte absolut."
++msgid "Failed to get filesystem free size for %s: "
++msgstr "Misslyckades att ta reda på filsystemets fria utrymme för %s: "
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "den angivna sökvägen ”%s” finns inte."
++msgid "Failed to get filesystem free size for %s"
++msgstr "Misslyckades att ta reda på filsystemets fria utrymme för %s"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue(): Värdet är inte satt"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++"Inte tillräckligt med fritt utrymme i %1$s: %2$s behövs, %3$s är "
++"tillgängligt"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr "misslyckades att sätta roten"
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "kunde inte konvertera ”%s” till byte"
++msgid "Error %i running transaction test"
++msgstr "Fel %i när transaktionstesten kördes"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "procentsatsen ”%s” är utanför intervallet"
++msgid "Error %i running transaction"
++msgstr "Fel %i när transaktionen kördes"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr "Transaktionen kom inte till skrivfasen, men returnerade inget fel(%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "misslyckades att ta bort %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr "Det går inte att ladda det delade biblioteket ”%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 "Det går inte att få adressen till symbolen ”%s”: %s"
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr "Laddar insticksmodulfilen=”%s”"
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr "Läste insticksmodulen med namnet=”%s”, version=”%s”"
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr "Plugins::loadPlugins() dirPath får inte vara tom"
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr "Det går inte att läsa katalogen för insticksmoduler ”%s”: %s"
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr "Det går inte att läsa in insticksmodulen ”%s”: %s"
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -509,37 +586,76 @@ msgstr "klar i tillstånd %1$p som inte hade en storlek satt! [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "reda i 100 %%-tillstånd [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
+-msgstr ""
++msgid "Invalid format of Platform module: %s"
++msgstr "Felaktigt format på plattformsmodulen: %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr "Flera modulplattformar tillahdahålls av tillgängliga paket\n"
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr "Flera modulplattformar tillhandahålls av installerade paket\n"
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
+-msgstr ""
++msgid "Detection of Platform Module in %s failed: %s"
++msgstr "Upptäckt av plattformsmodulen i %s misslyckades: %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
+-msgstr ""
++msgid "Missing PLATFORM_ID in %s"
++msgstr "PLATFORM_ID saknas i %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr "Inget giltigt plattforms-ID hittat"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "kan inte öppna katalogen %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr "Det går inte att aktivera flera strömmar för modulen ”%s”"
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr "Standardvärden i konflikt med förrådet ”%s”: %s"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr "Kan inte läsa in modulära felsäkra data vid ”%s”"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr "Kan inte läsa in modulära felsäkra data för modulen ”%s:%s”"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr "Kan inte spara modulära felsäkra dta till ”%s”"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgstr "Kan inte ta bort modulära felsäkra data i ”%s”"
++
+ #: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+ msgid ""
+ "No available modular metadata for modular package '%s'; cannot be installed "
+ "on the system"
+ msgstr ""
++"Inga tillgängliga modulära metadata för det modulära paketet ”%s”; kan inte "
++"installeras på systemet"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+@@ -594,30 +710,90 @@ msgstr "misslyckades att hitta paketet %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "kunde inte lägga till borttagningselement %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "”%s” är inte ett tillåtet värde"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue(): Värdet är inte satt"
++
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
++msgstr "den angivna sökvägen ”%s” är inte absolut."
++
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "den angivna sökvägen ”%s” finns inte."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "felaktigt booleskt värde ”%s”"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "inget värde angivet"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "sekundvärdet ”%s” får inte vara negativt"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "kunde inte konvertera ”%s” till byte"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "okänd enhet ”%s”"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "procentsatsen ”%s” är utanför intervallet"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr ""
++"det angivna värdet [%d] skall vara mindre än det tillåtna värdet [%d]."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
++"det angivna värdet [%d] skall vara större än det tillåtna värdet [%d]."
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "ogiltigt värde"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Konfiguration: OptionBinding med id ”%s” finns inte"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr ""
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Konfiguration: OptionBinding med id ”%s” finns redan"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr ""
++msgid "could not convert '%s' to seconds"
++msgstr "kunde inte konvertera ”%s” till sekunder"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+ msgid "no %1$s string for %2$s"
+-msgstr ""
++msgstr "ingen %1$s-sträng för %2$s"
+ 
+ #: ../libdnf/dnf-sack.cpp:440
+ msgid "failed to add solv"
+@@ -697,212 +873,47 @@ msgstr "misslyckades att läsa in RPMDB"
+ 
+ #: ../libdnf/dnf-sack.cpp:2423
+ msgid "No module defaults found"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "Förrådet %s har ingen spegel eller bas-url satt."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Kan inte hitta en giltig bas-url för förrådet: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"Maximal hämtningshastighet är mindre än minimum.  Ändra konfigurationen av "
+-"minrate eller throttle"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "kan inte lista nycklar: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "förrådet %s: 0x%s är redan importerad"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "förrådet %s: importerade nyckeln 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "återupplivar: förrådet ”%s” överhoppat, ingen metalink."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "återupplivar: förrådet ”%s” överhoppat, ingen användbar hash."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "återupplivar: misslyckades med ”%s”, %s-summor stämmer inte."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"återupplivar: ”%s” kan återupplivas – metalänkens kontrollsummor stämmer."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "återupplivar: ”%s” kan återupplivas – repomd stämmer."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "återupplivar: misslyckades med ”%s”, repomd stämmer inte."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "Kaan inte skapa den temporära förrådskatalogen ”%s”: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "Kan inte skapa katalogen ”%s”: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "Kan inte byta namn på katalogen ”%s” till ”%s”: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "förråd: använder cache för: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Enbart-cache aktiverat men ingen cache för ”%s”"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "förråd: hämtar från fjärrförråd: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir(): Beräkningen av SHA256 misslyckades"
++msgstr "Inga modulstandardvärden hittade"
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr "resume kan inte användas samtidigt med parametern byterangestart"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "Initiering av PackageTarget misslyckades: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "Kan inte öppna %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Transformerare: kan inte öppna historisk varaktig katalog"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "Logghanterare med id %ld finns inte"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "Kan inte hitta en historiedatabas"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Pågår"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "Pågår inte"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "Ingen transaktion pågår"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "Försök att infoga transaktionsobjekt i en avslutad transaktion"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "Försök att uppdatera transaktionsobjekt i en avslutad transaktion"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "Transaktionen har redan påbörjats!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "Transaktionsobjektets tillstånd inte satt: %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "misslyckades att ta bort %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "Kan inte lägga till konsolutdata till en osparad transaktion"
+diff --git a/po/ta.po b/po/ta.po
+index 01ecded1..8f8517ce 100644
+--- a/po/ta.po
++++ b/po/ta.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 08:38+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Tamil\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "செயலில் உள்ளது"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "செயலில் உள்ளது"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/te.po b/po/te.po
+index 48fe976a..9a6984d9 100644
+--- a/po/te.po
++++ b/po/te.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 08:46+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Telugu\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n != 1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "పురోగతినందు వుంది"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "పురోగతినందు వుంది"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/th.po b/po/th.po
+index 37d9f066..dc3eb8f8 100644
+--- a/po/th.po
++++ b/po/th.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2015-03-23 08:56+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Thai\n"
+@@ -18,66 +18,49 @@ msgstr ""
+ "Plural-Forms: nplurals=1; plural=0\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -88,11 +71,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -100,15 +83,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -117,11 +100,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -129,13 +112,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -150,751 +133,773 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "กำลังดำเนินการ"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
+-#, c-format
+-msgid "could not convert '%s' to seconds"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "invalid boolean value '%s'"
++msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
++msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
++msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' is not absolute."
++msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' does not exist."
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr ""
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1183
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "percentage not 100: %i"
++msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1193
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "failed to set number steps: %i"
++msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1292
+-msgid "cancelled by user action"
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1331
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
+ #, c-format
+-msgid "done on a state %1$p that did not have a size set! [%2$s]"
++msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-state.cpp:1356
++#: ../libdnf/dnf-transaction.cpp:1431
+ #, c-format
+-msgid "already at 100%% state [%s]"
++msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/dnf-transaction.cpp:1446
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/dnf-utils.cpp:135
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "failed to remove %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/plugin/plugin.cpp:46
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Can't load shared library \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/plugin/plugin.cpp:61 ../libdnf/plugin/plugin.cpp:67
++#: ../libdnf/plugin/plugin.cpp:73 ../libdnf/plugin/plugin.cpp:79
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Can't obtain address of symbol \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/plugin/plugin.cpp:86
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Loading plugin file=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:78
++#: ../libdnf/plugin/plugin.cpp:89
+ #, c-format
+-msgid ""
+-"No available modular metadata for modular package '%s'; cannot be installed "
+-"on the system"
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
+ #, c-format
+-msgid "signature does not verify for %s"
++msgid "Can't read plugin directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#: ../libdnf/plugin/plugin.cpp:114
+ #, c-format
+-msgid "failed to open(generic error): %s"
++msgid "Can't load plugin \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:141
++#: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+-msgid "failed to verify key for %s"
++msgid "percentage not 100: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:149
++#: ../libdnf/dnf-state.cpp:1193
+ #, c-format
+-msgid "public key unavailable for %s"
++msgid "failed to set number steps: %i"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:157
++#: ../libdnf/dnf-state.cpp:1292
++msgid "cancelled by user action"
++msgstr ""
++
++#: ../libdnf/dnf-state.cpp:1331
+ #, c-format
+-msgid "signature not found for %s"
++msgid "done on a state %1$p that did not have a size set! [%2$s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:192
++#: ../libdnf/dnf-state.cpp:1356
+ #, c-format
+-msgid "failed to add install element: %1$s [%2$i]"
++msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:273
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Error running transaction: %s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:282
+-msgid "Error running transaction and no problems were reported!"
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:345
+-msgid "Fatal error, run database recovery"
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:354
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "failed to find package %s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-rpmts.cpp:400
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "could not add erase element %1$s(%2$i)"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "Conflicting defaults with repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:417
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "no %1$s string for %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:440
+-msgid "failed to add solv"
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:458
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
+ #, c-format
+-msgid "failed to open: %s"
++msgid "Unable to save a modular Fail Safe data to '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:537
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
+ #, c-format
+-msgid "cannot create temporary file: %s"
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:547
++#: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+-msgid "failed opening tmp file: %s"
++msgid ""
++"No available modular metadata for modular package '%s'; cannot be installed "
++"on the system"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:559
++#: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "signature does not verify for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:576
+-msgid "write_main() failed to re-load written solv file"
++#: ../libdnf/dnf-rpmts.cpp:128 ../libdnf/dnf-rpmts.cpp:173
++#, c-format
++msgid "failed to open(generic error): %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:641
++#: ../libdnf/dnf-rpmts.cpp:141
+ #, c-format
+-msgid "can not create temporary file %s"
++msgid "failed to verify key for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:659
++#: ../libdnf/dnf-rpmts.cpp:149
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "public key unavailable for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:714
+-msgid "null repo md file"
++#: ../libdnf/dnf-rpmts.cpp:157
++#, c-format
++msgid "signature not found for %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:723
++#: ../libdnf/dnf-rpmts.cpp:192
+ #, c-format
+-msgid "can not read file %1$s: %2$s"
++msgid "failed to add install element: %1$s [%2$i]"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:737
+-msgid "repo_add_solv() has failed."
++#: ../libdnf/dnf-rpmts.cpp:273
++#, c-format
++msgid "Error running transaction: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:750
+-msgid "loading of MD_TYPE_PRIMARY has failed."
++#: ../libdnf/dnf-rpmts.cpp:282
++msgid "Error running transaction and no problems were reported!"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:763
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: ../libdnf/dnf-rpmts.cpp:345
++msgid "Fatal error, run database recovery"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:830
+-msgid "failed to auto-detect architecture"
++#: ../libdnf/dnf-rpmts.cpp:354
++#, c-format
++msgid "failed to find package %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:955
++#: ../libdnf/dnf-rpmts.cpp:400
+ #, c-format
+-msgid "failed creating cachedir %s"
++msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1727
+-msgid "failed calculating RPMDB checksum"
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:1751
+-msgid "failed loading RPMDB"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-sack.cpp:2423
+-msgid "No module defaults found"
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
++msgid "given path '%s' does not exist."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:362
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid "Repository %s has no mirror or baseurl set."
++msgid "invalid boolean value '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:580
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
++msgid "seconds value '%s' must not be negative"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
++msgid "unknown unit '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#: ../libdnf/conf/ConfigMain.cpp:329
+ #, c-format
+-msgid "%s: gpgme_op_import(): %s"
++msgid "percentage '%s' is out of range"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#: ../libdnf/conf/OptionNumber.cpp:73
+ #, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgid "given value [%d] should be less than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#: ../libdnf/conf/OptionNumber.cpp:76
+ #, c-format
+-msgid "can not list keys: %s"
++msgid "given value [%d] should be greater than allowed value [%d]."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:855
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:868
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:883
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid "repo %s: 0x%s already imported"
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:918
++#: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+-msgid "repo %s: imported key 0x%s."
++msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
++#: ../libdnf/dnf-sack.cpp:440
++msgid "failed to add solv"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1181
++#: ../libdnf/dnf-sack.cpp:458
+ #, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
++msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1204
++#: ../libdnf/dnf-sack.cpp:537
+ #, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
++msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1210
++#: ../libdnf/dnf-sack.cpp:547
+ #, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
++msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1235
++#: ../libdnf/dnf-sack.cpp:559
+ #, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
++msgid "write_main() failed writing data: %i"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
++#: ../libdnf/dnf-sack.cpp:576
++msgid "write_main() failed to re-load written solv file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1255
++#: ../libdnf/dnf-sack.cpp:641
+ #, c-format
+-msgid "Cannot create repo destination directory \"%s\": %s"
++msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1261
++#: ../libdnf/dnf-sack.cpp:659
+ #, c-format
+-msgid "Cannot create repo temporary directory \"%s\": %s"
++msgid "write_ext(%1$d) has failed: %2$d"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
++#: ../libdnf/dnf-sack.cpp:714
++msgid "null repo md file"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1298
++#: ../libdnf/dnf-sack.cpp:723
+ #, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
++#: ../libdnf/dnf-sack.cpp:737
++msgid "repo_add_solv() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
++#: ../libdnf/dnf-sack.cpp:750
++msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
++#: ../libdnf/dnf-sack.cpp:763
++msgid "repo_add_repomdxml/rpmmd() has failed."
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
++#: ../libdnf/dnf-sack.cpp:830
++msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
++#: ../libdnf/dnf-sack.cpp:955
++#, c-format
++msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
++#: ../libdnf/dnf-sack.cpp:1727
++msgid "failed calculating RPMDB checksum"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
++#: ../libdnf/dnf-sack.cpp:1751
++msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/dnf-sack.cpp:2423
++msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "กำลังดำเนินการ"
++
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/tr.po b/po/tr.po
+index 5395bc8f..18ab6774 100644
+--- a/po/tr.po
++++ b/po/tr.po
+@@ -3,7 +3,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2016-11-17 05:30+0000\n"
+ "Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
+ "Language-Team: Turkish\n"
+@@ -14,66 +14,49 @@ msgstr ""
+ "Plural-Forms: nplurals=2; plural=(n>1)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, c-format
+-msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
++msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr ""
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
++msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
++msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr ""
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
++msgid " Problem %1$i: %2$s\n"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgid " Problem: %s\n"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+@@ -84,11 +67,11 @@ msgstr ""
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -96,15 +79,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -113,11 +96,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -125,13 +108,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -146,335 +129,424 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
++#, c-format
++msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
++msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
++#: ../libdnf/repo/Repo.cpp:839
++#, c-format
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1210
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
++msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
++msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1275
++#, c-format
++msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s' izin verilen bir değer değil"
+-
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "değer belirtilmedi"
+-
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "saniye değeri '%s' negatif olmamalı"
++msgid "repo: downloading from remote: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "could not convert '%s' to seconds"
++msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
+-#, c-format
+-msgid "unknown unit '%s'"
+-msgstr "bilinmeyen birim '%s'"
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
+-#, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "geçersiz boolean değeri '%s'"
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "verilen [%d] değeri, izin verilen [%d] değerinden az olmalıdır."
++msgid "PackageTarget initialization failed: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "verilen [%d] değeri, izin verilen [%d] değerinden büyük olmalıdır."
++msgid "Cannot open %s: %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "verilen '%s' yolu tam değil."
++msgid "Log handler with id %ld doesn't exist"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "verilen '%s' yolu mevcut değil."
++msgid "Sources not set when trying to ensure package %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
++#: ../libdnf/dnf-transaction.cpp:302
++#, c-format
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "could not convert '%s' to bytes"
++msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "'%s' yüzdesi aralık dışında"
++msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:887
++#, c-format
++msgid "Failed to get filesystem free size for %s: "
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:895
++#, c-format
++msgid "Failed to get filesystem free size for %s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, c-format
++msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1169
++msgid "failed to set root"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr ""
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -500,29 +572,66 @@ msgstr ""
+ msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -585,24 +694,82 @@ msgstr ""
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "'%s' izin verilen bir değer değil"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] ""
++msgid "given path '%s' is not absolute."
++msgstr "verilen '%s' yolu tam değil."
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
++msgid "given path '%s' does not exist."
++msgstr "verilen '%s' yolu mevcut değil."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "geçersiz boolean değeri '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "değer belirtilmedi"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "saniye değeri '%s' negatif olmamalı"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
+ #, c-format
+-msgid " Problem: %s\n"
++msgid "unknown unit '%s'"
++msgstr "bilinmeyen birim '%s'"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "'%s' yüzdesi aralık dışında"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%d]."
++msgstr "verilen [%d] değeri, izin verilen [%d] değerinden az olmalıdır."
++
++#: ../libdnf/conf/OptionNumber.cpp:76
++#, c-format
++msgid "given value [%d] should be greater than allowed value [%d]."
++msgstr "verilen [%d] değeri, izin verilen [%d] değerinden büyük olmalıdır."
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr ""
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr ""
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+@@ -690,207 +857,45 @@ msgstr ""
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
+ msgstr ""
+ 
+-#: ../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"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
+ msgstr ""
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
++msgid "TransactionItem state is not set: %s"
+ msgstr ""
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+diff --git a/po/uk.po b/po/uk.po
+index 6a8e5699..7bd2becc 100644
+--- a/po/uk.po
++++ b/po/uk.po
+@@ -6,7 +6,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2019-04-20 06:00+0000\n"
+ "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+ "Language-Team: Ukrainian\n"
+@@ -17,73 +17,52 @@ msgstr ""
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "Джерела не встановлено під час спроби забезпечити пакунок %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
++#: ../libdnf/hy-iutil.cpp:321
+ #, 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 сховищ)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "Не вдалося перевірити недовірене: "
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "Не вдалося перейменувати %1$s на %2$s: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:329
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "Отриманий файл для %s не знайдено"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "Не вдалося встановити права доступу %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
++msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+-"не вдалося перевірити пакунок %1$s, а сховище %2$s є сховищем із увімкненим "
+-"GPG: %3$s"
+-
+-#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "Не вдалося отримати значення для CacheDir"
+-
+-#: ../libdnf/dnf-transaction.cpp:887
+-#, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "Не вдалося отримати дані щодо вільного місця у файловій системі %s: "
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "Не вдалося отримати дані щодо вільного місця у файловій системі %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "не вдалося відкрити каталог %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr "Недостатньо вільного місця у %1$s: потрібно %2$s, доступно %3$s"
++msgid "cannot stat path %1$s: %2$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "не вдалося встановити root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "Не вдалося розв'язати залежності операції; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "Помилка %i під час перевірки операції"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "Виявлено %i проблему:\n"
++msgstr[1] "Виявлено %i проблеми:\n"
++msgstr[2] "Виявлено %i проблем:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "Помилка %i під час виконання операції"
++msgid " Problem %1$i: %2$s\n"
++msgstr " Проблема %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr ""
+-"Операція не перейшла у фазу запису, але повідомлення про помилку не "
+-"повернуто (%i)"
++msgid " Problem: %s\n"
++msgstr " Проблема: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+@@ -96,11 +75,11 @@ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+ "Для дії використано помилкове формування Selector, помилковий тип порівняння"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr " не належить до сховища оновлення дистрибутива"
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr " належить до гіршої архітектури"
+ 
+@@ -108,15 +87,15 @@ msgstr " належить до гіршої архітектури"
+ msgid "problem with installed package "
+ msgstr "проблема зі встановленим пакунком "
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr "конфлікт запитів"
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr "непідтримуваний запит"
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr "нічого з пакунків не містить потрібного "
+ 
+@@ -125,11 +104,11 @@ msgstr "нічого з пакунків не містить потрібног
+ msgid "package %s does not exist"
+ msgstr "пакунка %s не існує"
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr " надається системою"
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr "якась проблема із залежностями"
+ 
+@@ -137,14 +116,14 @@ msgstr "якась проблема із залежностями"
+ msgid "cannot install the best update candidate for package "
+ msgstr "не вдалося встановити найкращий варіант оновлення для пакунка "
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr "не вдалося встановити найкращий варіант для завдання"
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
+-msgstr "пакунок %s виключено"
++msgid "package %s is filtered out by modular filtering"
++msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+ #, c-format
+@@ -158,339 +137,439 @@ msgstr "пакунок %s є непридатним до встановленн
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
++msgid "package %s is filtered out by exclude filtering"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:82
++#, c-format
+ msgid "nothing provides %s needed by %s"
+ msgstr "немає пакунків із %s, потрібним для %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:82
++#: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+ msgid "cannot install both %s and %s"
+ msgstr "неможливо встановити одразу %s і %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:83
++#: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+ msgid "package %s conflicts with %s provided by %s"
+ msgstr "пакунок %s конфліктує з %s, що надається %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:84
++#: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+ msgid "package %s obsoletes %s provided by %s"
+ msgstr "пакунок %s робить застарілим %s, що надається %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:85
++#: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+ msgid "installed package %s obsoletes %s provided by %s"
+ msgstr "встановлений пакунок %s робить застарілим %s, що надається %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:86
++#: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+ msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr "пакунок %s неявним чином робить застарілим %s, що надається %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:87
++#: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+ msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ "пакунок %s потребує %s, але жоден з пакунків, які його надають, не може бути"
+ " встановлено"
+ 
+-#: ../libdnf/goal/Goal.cpp:88
++#: ../libdnf/goal/Goal.cpp:89
+ #, c-format
+ msgid "package %s conflicts with %s provided by itself"
+ msgstr "пакунок %s конфліктує з %s, що надається самим цим пакунком"
+ 
+-#: ../libdnf/goal/Goal.cpp:89
++#: ../libdnf/goal/Goal.cpp:90
+ #, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr "обидва пакунки, %s і %s, роблять застарілим пакунок %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr "проблема зі встановленим модулем "
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr "модуля %s не існує"
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr "не вдалося встановити найкращий варіант оновлення для модуля "
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr "модуль %s вимкнено"
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr "у модуля %s немає сумісної архітектури"
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr "модуль %s є непридатним до встановлення"
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr "жоден пакунок не надає %s, який потрібен для модуля %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr "одночасне встановлення модулів %s і %s неможливе"
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr "модуль %s конфліктує з %s, що надається %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr "модуль %s робить застарілим %s, що надається %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr "встановлений модуль %s робить застарілим %s, що надається %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr "модуль %s неявним чином робить застарілим %s, що надається %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ "модуль %s потребує %s, але жоден з пакунків, які його надають, не може бути "
+ "встановлено"
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr "модуль %s конфліктує з %s, що надається самим цим пакунком"
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr "обидва модулі, %s і %s, роблять застарілим %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr "не встановлено розв'язувача"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "не вдалося зробити %s абсолютним"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "не вдалося записати діагностичні дані до %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr "немає solv у цілі"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr "немає розв'язку, неможливо вилучити захищений пакунок"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr "розв'язання неможливе"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr "Дія призведе до вилучення таких захищених пакунків: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Трансформер: не вдалося відкрити сталий каталог журналу"
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "Не вдалося знайти базу даних журналу"
+-
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "Триває обробка"
+-
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "Не виконується"
+-
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "Немає операції, яка виконується"
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "Операцію вже розпочато!"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "Помилковий ідентифікатор сховища: %s, байт = %s %d"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:362
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "Стан TransactionItem не встановлено: %s"
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "Для сховища %s не встановлено дзеркала або базової адреси."
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "Неможливо додати виведення до консолі до незбереженої операції"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr ""
++"Сховище «%s» належить до непідтримуваного типу: «type=%s», пропускаємо."
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "Спроба вставити пункт операції до завершеної операції"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "Не вдалося знайти коректну базову адресу для сховища: %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "Спроба оновити запис операції у завершеній операції"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr ""
++"Максимальна швидкість отримання даних є меншою за мінімальну. Будь ласка, "
++"змініть значення для minrate або throttle"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr "Не вдалося увімкнути декілька потоків для модуля «%s»"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
+-msgstr "Конфлікт типових параметрів із сховищем «%s»: %s"
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
+-msgstr ""
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "can not list keys: %s"
++msgstr "не вдалося побудувати список ключів: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr "Некоректний формат модуля платформи: %s"
++msgid "repo %s: 0x%s already imported"
++msgstr "сховище %s: 0x%s вже імпортовано"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr "Доступними пакунками надано декілька платформ модулів\n"
++#: ../libdnf/repo/Repo.cpp:918
++#, c-format
++msgid "repo %s: imported key 0x%s."
++msgstr "сховище %s: імпортовано ключ 0x%s."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr "Встановленими пакунками надано декілька платформ модулів\n"
++#: ../libdnf/repo/Repo.cpp:1162
++#, c-format
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "відновлюємо: сховище «%s» пропущено, немає метапосилання."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr "Не вдалося визначити модуль платформи у %s: %s"
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "відновлюємо: сховище «%s» пропущено, немає придатного хешу."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr "Пропущено PLATFORM_ID у %s"
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "відновлюємо: помилка обробки «%s», невідповідна контрольна сума %s."
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
+-msgstr "Не виявлено коректного ідентифікатора платформи"
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
++msgstr ""
++"відновлюємо: «%s» можна відновити — контрольні суми метапосилань збігаються."
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "«%s» не є дозволеним значенням"
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "відновлюємо: «%s» можна відновити — значення repomd збігаються."
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "некоректне значення"
++#: ../libdnf/repo/Repo.cpp:1237
++#, c-format
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "відновлюємо: помилка обробки «%s», невідповідність repomd."
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "Налаштування: OptionBinding з ідентифікатором «%s» не існує"
++msgid "Cannot create repo destination directory \"%s\": %s"
++msgstr "Не вдалося створити каталог призначення сховища «%s»: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "Налаштування: OptionBinding з ідентифікатором «%s» вже існує"
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "Не вдалося створити тимчасовий каталог сховища «%s»: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "значення не задано"
++#: ../libdnf/repo/Repo.cpp:1275
++#, c-format
++msgid "Cannot create directory \"%s\": %s"
++msgstr "Не вдалося створити каталог «%s»: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "значення для секунд, «%s», має бути невід’ємним"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "Не вдалося перейменувати каталог «%s» на «%s»: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "не вдалося перетворити «%s» на секунди"
++msgid "repo: using cache for: %s"
++msgstr "сховище: використовуємо кеш для %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "невідома одиниця, «%s»"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "Увімкнено отримання даних лише з кешу, але немає кешу для «%s»"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "некоректне булеве значення «%s»"
++msgid "repo: downloading from remote: %s"
++msgstr "сховище: отримуємо з віддаленого сховища: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "задане значення [%d] має бути меншим за дозволене значення [%d]."
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir(): помилка під час обчислення SHA256"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr "resume не можна використовувати одночасно з параметром byterangestart"
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "задане значення [%d] має бути більшим за дозволене значення [%d]."
++msgid "PackageTarget initialization failed: %s"
++msgstr "Помилка ініціалізації PackageTarget: %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "вказаний шлях, «%s», не є абсолютним."
++msgid "Cannot open %s: %s"
++msgstr "Не вдалося відкрити %s: %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "вказаного шляху, «%s», не існує."
++msgid "Log handler with id %ld doesn't exist"
++msgstr "Обробника журналу із ідентифікатором %ld не існує"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue(): значення не встановлено"
++#: ../libdnf/dnf-transaction.cpp:276
++#, c-format
++msgid "Sources not set when trying to ensure package %s"
++msgstr "Джерела не встановлено під час спроби забезпечити пакунок %s"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "не вдалося перетворити «%s» на байти"
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr ""
++"Не вдалося забезпечити %1$s, оскільки сховище %2$s не знайдено (завантажено "
++"%3$i сховищ)"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "Не вдалося перевірити недовірене: "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "значення відсотків, «%s», поза припустимим діапазоном"
++msgid "Downloaded file for %s not found"
++msgstr "Отриманий файл для %s не знайдено"
++
++#: ../libdnf/dnf-transaction.cpp:373
++#, 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:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "Не вдалося отримати значення для CacheDir"
++
++#: ../libdnf/dnf-transaction.cpp:887
++#, c-format
++msgid "Failed to get filesystem free size for %s: "
++msgstr "Не вдалося отримати дані щодо вільного місця у файловій системі %s: "
++
++#: ../libdnf/dnf-transaction.cpp:895
++#, c-format
++msgid "Failed to get filesystem free size for %s"
++msgstr "Не вдалося отримати дані щодо вільного місця у файловій системі %s"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, 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:1169
++msgid "failed to set root"
++msgstr "не вдалося встановити root"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "Помилка %i під час перевірки операції"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "Помилка %i під час виконання операції"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr ""
++"Операція не перейшла у фазу запису, але повідомлення про помилку не "
++"повернуто (%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "не вдалося вилучити %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++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 "Не вдалося отримати адресу символу «%s»: %s"
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr "Завантажуємо додаток, файл=«%s»"
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr "Завантажено додаток: назва=«%s», версія=«%s»"
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++"Шлях до каталогу (dirPath) у Plugins::loadPlugins() не може бути порожнім"
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr "Не вдалося виконати читання з каталогу додатка «%s»: %s"
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr "Не вдалося завантажити додаток «%s»: %s"
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -516,29 +595,66 @@ msgstr "виконано при стані %1$p, для якого не вста
+ msgid "already at 100%% state [%s]"
+ msgstr "вже на рівні 100%% [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
+-msgstr "Не вдалося перейменувати %1$s на %2$s: %3$s"
++msgid "Invalid format of Platform module: %s"
++msgstr "Некоректний формат модуля платформи: %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr "Доступними пакунками надано декілька платформ модулів\n"
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr "Встановленими пакунками надано декілька платформ модулів\n"
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
+-msgstr "Не вдалося встановити права доступу %1$s: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
++msgstr "Не вдалося визначити модуль платформи у %s: %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
++msgstr "Пропущено PLATFORM_ID у %s"
++
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr "Не виявлено коректного ідентифікатора платформи"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
++#, c-format
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr "Не вдалося увімкнути декілька потоків для модуля «%s»"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:293
++#, c-format
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr "Конфлікт типових параметрів із сховищем «%s»: %s"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "не вдалося відкрити каталог %1$s: %2$s"
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -602,27 +718,83 @@ msgstr "не вдалося знайти пакунок %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "не вдалося додати елемент вилучення %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr "Не вдалося розв'язати залежності операції; "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "«%s» не є дозволеним значенням"
++
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue(): значення не встановлено"
++
++#: ../libdnf/conf/OptionPath.cpp:78
++#, c-format
++msgid "given path '%s' is not absolute."
++msgstr "вказаний шлях, «%s», не є абсолютним."
++
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "вказаного шляху, «%s», не існує."
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "некоректне булеве значення «%s»"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "значення не задано"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "значення для секунд, «%s», має бути невід’ємним"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "не вдалося перетворити «%s» на байти"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "невідома одиниця, «%s»"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "значення відсотків, «%s», поза припустимим діапазоном"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%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]."
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "некоректне значення"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] "Виявлено %i проблему:\n"
+-msgstr[1] "Виявлено %i проблеми:\n"
+-msgstr[2] "Виявлено %i проблем:\n"
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "Налаштування: OptionBinding з ідентифікатором «%s» не існує"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionBinds.cpp:88
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr " Проблема %1$i: %2$s\n"
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "Налаштування: OptionBinding з ідентифікатором «%s» вже існує"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionSeconds.cpp:52
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr " Проблема: %s\n"
++msgid "could not convert '%s' to seconds"
++msgstr "не вдалося перетворити «%s» на секунди"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+@@ -709,212 +881,45 @@ msgstr "не вдалося завантажити RPMDB"
+ msgid "No module defaults found"
+ msgstr "Не знайдено типових налаштувань модуля"
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr "Помилковий ідентифікатор сховища: %s, байт = %s %d"
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "Для сховища %s не встановлено дзеркала або базової адреси."
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-"Сховище «%s» належить до непідтримуваного типу: «type=%s», пропускаємо."
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "Не вдалося знайти коректну базову адресу для сховища: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr ""
+-"Максимальна швидкість отримання даних є меншою за мінімальну. Будь ласка, "
+-"змініть значення для minrate або throttle"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "не вдалося побудувати список ключів: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "сховище %s: 0x%s вже імпортовано"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "сховище %s: імпортовано ключ 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "відновлюємо: сховище «%s» пропущено, немає метапосилання."
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "відновлюємо: сховище «%s» пропущено, немає придатного хешу."
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "відновлюємо: помилка обробки «%s», невідповідна контрольна сума %s."
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr ""
+-"відновлюємо: «%s» можна відновити — контрольні суми метапосилань збігаються."
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "відновлюємо: «%s» можна відновити — значення repomd збігаються."
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "відновлюємо: помилка обробки «%s», невідповідність repomd."
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "Не вдалося створити тимчасовий каталог сховища «%s»: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "Не вдалося створити каталог «%s»: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "Не вдалося перейменувати каталог «%s» на «%s»: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "сховище: використовуємо кеш для %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "Увімкнено отримання даних лише з кешу, але немає кешу для «%s»"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "сховище: отримуємо з віддаленого сховища: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir(): помилка під час обчислення SHA256"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr "resume не можна використовувати одночасно з параметром byterangestart"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "Помилка ініціалізації PackageTarget: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "Не вдалося відкрити %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Трансформер: не вдалося відкрити сталий каталог журналу"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "Обробника журналу із ідентифікатором %ld не існує"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "Не вдалося знайти базу даних журналу"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr "Не вдалося завантажити бібліотеку спільного використання «%s»: %s"
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "Триває обробка"
+ 
+-#: ../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 "Не вдалося отримати адресу символу «%s»: %s"
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "Не виконується"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr "Завантажуємо додаток, файл=«%s»"
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "Немає операції, яка виконується"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr "Завантажено додаток: назва=«%s», версія=«%s»"
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "Спроба вставити пункт операції до завершеної операції"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
+-"Шлях до каталогу (dirPath) у Plugins::loadPlugins() не може бути порожнім"
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "Спроба оновити запис операції у завершеній операції"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr "Не вдалося виконати читання з каталогу додатка «%s»: %s"
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "Операцію вже розпочато!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr "Не вдалося завантажити додаток «%s»: %s"
++msgid "TransactionItem state is not set: %s"
++msgstr "Стан TransactionItem не встановлено: %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "не вдалося вилучити %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "Неможливо додати виведення до консолі до незбереженої операції"
+diff --git a/po/zanata.xml b/po/zanata.xml
+index 1df88b10..d3b0ddd7 100644
+--- a/po/zanata.xml
++++ b/po/zanata.xml
+@@ -2,6 +2,6 @@
+ <config xmlns="http://zanata.org/namespace/config/">
+   <url>https://fedora.zanata.org/</url>
+   <project>libdnf</project>
+-  <project-version>master</project-version>
++  <project-version>rhel-8.2</project-version>
+   <project-type>gettext</project-type>
+ </config>
+diff --git a/po/zh_CN.po b/po/zh_CN.po
+index cffbacd7..b8413849 100644
+--- a/po/zh_CN.po
++++ b/po/zh_CN.po
+@@ -1,11 +1,14 @@
+-# Jerry Lee <lchopn@gmail.com>, 2017. #zanata
++# Charles Lee <lchopn@gmail.com>, 2017. #zanata
+ # Ludek Janda <ljanda@redhat.com>, 2018. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2019. #zanata
++# Tony Fu <tfu@redhat.com>, 2019. #zanata
++# Ludek Janda <ljanda@redhat.com>, 2020. #zanata
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
+-"PO-Revision-Date: 2018-09-18 02:42+0000\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
++"PO-Revision-Date: 2020-01-14 01:25+0000\n"
+ "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
+ "Language-Team: Chinese (China)\n"
+ "Language: zh_CN\n"
+@@ -15,67 +18,50 @@ msgstr ""
+ "Plural-Forms: nplurals=1; plural=0\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "在尝试确保软件包 %s 时源没有设置"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, 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:343
+-msgid "Failed to check untrusted: "
+-msgstr "检查不被信任失败: "
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "没有找到下载的文件 %s"
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "将 %1$s 重命名为 %2$s 失败: %3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, 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:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "无法为 CacheDir 获得值"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "在 %1$s 中设置 perms 失败: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "无法为 %s 获得文件系统可用空间的大小: "
++msgid "cannot create directory %1$s: %2$s"
++msgstr "无法创建目录 %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "无法为 %s 获得文件系统可用空间的大小"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "无法打开目录 %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr "%1$s 没有足够的空闲空间: 需要 %2$s,可用 %3$s"
++msgid "cannot stat path %1$s: %2$s"
++msgstr "无法 stat 路径 %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "设置 root 失败"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "无法 depsolve 事务: "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "错误 %i 运行事务测试"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "发现 %i 问题:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "错误 %i 运行事务"
++msgid " Problem %1$i: %2$s\n"
++msgstr " 问题 %1$i: %2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr "事务没有进入写阶段,但没有返回错误(%i)"
++msgid " Problem: %s\n"
++msgstr " 问题: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+@@ -85,397 +71,486 @@ msgstr "Ill-formed Selector,在过滤器中有多个匹配的对象"
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr "这个操作使用了 Ill-formed Selector,不正确的比较类型"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+-msgstr ""
++msgstr " 不属于 distupgrade 仓库"
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+-msgstr ""
++msgstr " 有 inferior 架构"
+ 
+ #: ../libdnf/goal/Goal.cpp:69
+ msgid "problem with installed package "
+-msgstr ""
++msgstr "安装的软件包的问题 "
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+-msgstr ""
++msgstr "冲突的请求"
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+-msgstr ""
++msgstr "不支持的请求"
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+-msgstr ""
++msgstr "没有提供请求的。 "
+ 
+ #: ../libdnf/goal/Goal.cpp:73
+ #, c-format
+ msgid "package %s does not exist"
+-msgstr ""
++msgstr "软件包 %s 不存在"
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+-msgstr ""
++msgstr " 由系统提供"
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+-msgstr ""
++msgstr "一些依赖性问题"
+ 
+ #: ../libdnf/goal/Goal.cpp:76
+ msgid "cannot install the best update candidate for package "
+-msgstr ""
++msgstr "无法为软件包安装最佳更新选择 "
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+-msgstr ""
++msgstr "无法为任务安装最佳选择"
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
+-msgstr ""
++msgid "package %s is filtered out by modular filtering"
++msgstr "软件包 %s 被模块化过滤过滤掉"
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+ #, c-format
+ msgid "package %s does not have a compatible architecture"
+-msgstr ""
++msgstr "软件包 %s 没有兼容的架构"
+ 
+ #: ../libdnf/goal/Goal.cpp:80
+ #, c-format
+ msgid "package %s is not installable"
+-msgstr ""
++msgstr "软件包 %s 是不可安装的"
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
+-msgstr ""
++msgid "package %s is filtered out by exclude filtering"
++msgstr "软件包 %s 被排除过滤过滤掉"
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
+-msgstr ""
++msgid "nothing provides %s needed by %s"
++msgstr "没有提供 %s(%s 需要)"
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
+-msgstr ""
++msgid "cannot install both %s and %s"
++msgstr "无法同时安装 %s 和 %s"
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
+-msgstr ""
++msgid "package %s conflicts with %s provided by %s"
++msgstr "软件包 %s 与 %s(由 %s 提供)冲突"
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
+-msgstr ""
++msgid "package %s obsoletes %s provided by %s"
++msgstr "软件包 %s 过时了 %s(由 %s 提供)"
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
+-msgstr ""
++msgid "installed package %s obsoletes %s provided by %s"
++msgstr "安装的软件包 %s 过时了 %s(由 %s 提供)"
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
+-msgstr ""
++msgid "package %s implicitly obsoletes %s provided by %s"
++msgstr "软件包 %s 隐式过期了 %s(由 %s 提供)"
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
+-msgstr ""
++msgid "package %s requires %s, but none of the providers can be installed"
++msgstr "软件包 %s 需要 %s,但没有供应商可以安装"
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr "软件包 %s 与自己提供的 %s 冲突"
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+-msgstr ""
++msgstr "软件包 %s 和 %s 都过期了 %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+-msgstr ""
++msgstr "安装的模块的问题 "
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+-msgstr ""
++msgstr "模块 %s 不存在"
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+-msgstr ""
++msgstr "无法为模块安装最佳更新选择 "
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+-msgstr ""
++msgstr "模块 %s 被禁用"
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+-msgstr ""
++msgstr "模块 %s 没有兼容的架构"
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+-msgstr ""
++msgstr "模块 %s 不可安装"
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+-msgstr ""
++msgstr "没有提供 %s(模块 %s 需要它)"
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+-msgstr ""
++msgstr "无法同时安装模块 %s 和 %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+-msgstr ""
++msgstr "模块 %s 与 %s (由 %s 提供)冲突"
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+-msgstr ""
++msgstr "模块 %s 过时了 %s(由 %s 提供)"
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+-msgstr ""
++msgstr "安装的模块 %s 过时了 %s(由 %s 提供)"
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+-msgstr ""
++msgstr "模块 %s 隐式过时了 %s(由 %s 提供)"
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+-msgstr ""
++msgstr "模块 %s 需要 %s,但没有供应商可以安装"
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+-msgstr ""
++msgstr "模块 %s 与自己提供的 %s 冲突"
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+-msgstr ""
++msgstr "模块 %s 和 %s 都过期了 %s"
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+ msgstr "无 solver 设置"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "无法使 %s 绝对"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "把 debugdata 写入到 %1$s 失败: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+ msgstr "在目标中没有 solv"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+ msgstr "没有解决方案,不能删除保护的软件包"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+ msgstr "没有可能的解决方案"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr "这个操作可能会导致删除以下受保护的软件包: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "Transformer: 无法打开 history persist dir"
+-
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "无法打开一个历史数据库"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "repo 的 id 无效: %s, byte = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "进行中"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "软件仓库 %s 没有设置镜像或者 baseurl。"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "没有在进行中"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "仓库 '%s' 有不被支持的类型: 'type=%s', 忽略。"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "没有事务在进行中"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "无法为仓库 %s 找到一个有效的 baseurl"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "事务已开始!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr "最大下载速度低于最小值。请修改 minrate 或 throttle 的配置"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "TransactionItem 状态没有设置:%s"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "无法向未保存的事务中添加控制台输出"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "试图向已完成的事务中插入事务项"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "试图在已完成的事务中更新事务"
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
++#, c-format
++msgid "can not list keys: %s"
++msgstr "不能列出 key: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr ""
++msgid "Failed to retrieve GPG key for repo '%s': %s"
++msgstr "为 repo '%s' 获取 GPG 密钥失败 : %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
+-msgstr ""
++msgid "%s: gpgme_set_protocol(): %s"
++msgstr "%s: gpgme_set_protocol(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
+-msgstr ""
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
++msgstr "%s: gpgme_op_assuan_transact_ext(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "repo %s: 0x%s 已被导入"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "repo %s: 导入的 key 0x%s."
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "恢复中: 仓库 '%s' 已被跳过,无 metalink。"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "恢复中: 仓库 '%s' 已被跳过,无可用 hash。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1204
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "恢复: '%s' 失败,不匹配的 %s sum。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
++msgstr "恢复中: '%s' 可以被恢复 - metalink 校验和匹配。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1235
++#, c-format
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "恢复: '%s' 可用被恢复 - repomd 匹配。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "恢复: '%s' 失败,不匹配的 repomd。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1255
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "Cannot create repo destination directory \"%s\": %s"
++msgstr "无法创建 repo 目标目录 \"%s\": %s"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1261
++#, c-format
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "无法创建 repo 临时目录 \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1275
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "'%s'  不是一个允许的值"
++msgid "Cannot create directory \"%s\": %s"
++msgstr "无法创建目录 \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "无效值"
++#: ../libdnf/repo/Repo.cpp:1298
++#, c-format
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "无法把目录 \"%s\" 重命名为 \"%s\": %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "配置:ID 为 \"%s\"  的 OptionBinding 不存在"
++msgid "repo: using cache for: %s"
++msgstr "仓库: 正在为 %s 使用缓存"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1333
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "配置:ID 为 \"%s\"  的 OptionBinding 已存在"
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "仅使用缓存已开启但没有 '%s' 的缓存"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "未指定值"
++#: ../libdnf/repo/Repo.cpp:1337
++#, c-format
++msgid "repo: downloading from remote: %s"
++msgstr "repo: 从远程下载: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "第二个值“%s”必须不能为负"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr "为 repo '%s' 下载元数据失败 : %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir(): 计算 SHA256 失败"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr "resume 不能和 the byterangestart 参数同时使用"
++
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "无法把 '%s' 转换为秒"
++msgid "PackageTarget initialization failed: %s"
++msgstr "PackageTarget 初始失败: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "未知单元 “%s”"
++msgid "Cannot open %s: %s"
++msgstr "无法打开 %s: %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "无效的布尔值“%s”"
++msgid "Log handler with id %ld doesn't exist"
++msgstr "id 为 %ld 的日志处理器不存在"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "给定的值 [%d] 应小于允许的值 [%d]。"
++msgid "Sources not set when trying to ensure package %s"
++msgstr "在尝试确保软件包 %s 时源没有设置"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "给定的值 [%d] 应大于允许的值 [%d]。"
++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/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "检查不被信任失败: "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "给定的路径 “%s” 不是绝对路径。"
++msgid "Downloaded file for %s not found"
++msgstr "没有找到下载的文件 %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:373
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "给定的路径 “%s” 不存在。"
++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/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue(): 值没有设置"
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "无法为 CacheDir 获得值"
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "无法把 '%s' 转换为字节"
++msgid "Failed to get filesystem free size for %s: "
++msgstr "无法为 %s 获得文件系统可用空间的大小: "
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "百分数 '%s' 超出范围"
++msgid "Failed to get filesystem free size for %s"
++msgstr "无法为 %s 获得文件系统可用空间的大小"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, 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:1169
++msgid "failed to set root"
++msgstr "设置 root 失败"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "错误 %i 运行事务测试"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "错误 %i 运行事务"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr "事务没有进入写阶段,但没有返回错误(%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "无法删除 %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++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 "无法获取符号 \"%s\" 的地址 : %s"
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr "加载插件文件=\"%s\""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr "加载插件名=\"%s\", 版本=\"%s\""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr "Plugins::loadPlugins() dirPath 不能为空"
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr "无法读插件目录 \"%s\": %s"
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr "无法加载插件 \"%s\": %s"
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -501,37 +576,74 @@ msgstr "在一个没有设置大小的状态 %1$p 中做! [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "已是 100%% 状态 [%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
+-msgstr "将 %1$s 重命名为 %2$s 失败: %3$s"
++msgid "Invalid format of Platform module: %s"
++msgstr "Platform 模块无效的格式 : %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr "由可用软件包提供的多个模块平台\n"
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr "由安装的软件包提供的多个模块平台\n"
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
+-msgstr "在 %1$s 中设置 perms 失败: %2$s"
++msgid "Detection of Platform Module in %s failed: %s"
++msgstr "删除 %s 中的 Platform 模块失败 : %s"
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
+-msgstr ""
++msgid "Missing PLATFORM_ID in %s"
++msgstr "在 %s 中缺少 PLATFORM_ID"
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr "没有检测到有效的 Platform ID"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "无法打开目录 %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr "无法为模块 '%s' 启用多个流"
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
+-msgstr ""
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr "默认设置与 repo '%s' 冲突 : %s"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr "无法在 '%s' 加载模块 Fail-Safe 数据"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr "无法为模块 '%s:%s' 加载模块 Fail-Safe 数据"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr "无法为模块化 Fail Safe 数据创建目录 \"%s\" : %s"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr "无法把模块 Fail Safe 数据 safe 为 '%s'"
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
++msgstr "无法在 '%s' 中删除一个模块的 Fail Safe 数据"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+ #, c-format
+ msgid ""
+ "No available modular metadata for modular package '%s'; cannot be installed "
+ "on the system"
+-msgstr ""
++msgstr "模块软件包 '%s' 没有可用的元数据,它不能在系统上安装"
+ 
+ #: ../libdnf/dnf-rpmts.cpp:120 ../libdnf/dnf-rpmts.cpp:165
+ #, c-format
+@@ -586,30 +698,88 @@ msgstr "无法找到软件包 %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "无法添加删除元素 %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr "无法 depsolve 事务: "
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
++#, c-format
++msgid "'%s' is not an allowed value"
++msgstr "'%s'  不是一个允许的值"
+ 
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue(): 值没有设置"
++
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] "发现 %i 问题:\n"
++msgid "given path '%s' is not absolute."
++msgstr "给定的路径 “%s” 不是绝对路径。"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
++#: ../libdnf/conf/OptionPath.cpp:82
+ #, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr " 问题 %1$i: %2$s\n"
++msgid "given path '%s' does not exist."
++msgstr "给定的路径 “%s” 不存在。"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionBool.cpp:47
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr " 问题: %s\n"
++msgid "invalid boolean value '%s'"
++msgstr "无效的布尔值“%s”"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "未指定值"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "第二个值“%s”必须不能为负"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "无法把 '%s' 转换为字节"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "未知单元 “%s”"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "百分数 '%s' 超出范围"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%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]。"
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "无效值"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "配置:ID 为 \"%s\"  的 OptionBinding 不存在"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "配置:ID 为 \"%s\"  的 OptionBinding 已存在"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "无法把 '%s' 转换为秒"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+ msgid "no %1$s string for %2$s"
+-msgstr ""
++msgstr "没有为 %2$s 的 %1$s 字符串"
+ 
+ #: ../libdnf/dnf-sack.cpp:440
+ msgid "failed to add solv"
+@@ -664,7 +834,7 @@ msgstr "repo_add_solv() 已失败。"
+ 
+ #: ../libdnf/dnf-sack.cpp:750
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+-msgstr ""
++msgstr "加载 MD_TYPE_PRIMARY 失败。"
+ 
+ #: ../libdnf/dnf-sack.cpp:763
+ msgid "repo_add_repomdxml/rpmmd() has failed."
+@@ -689,209 +859,47 @@ msgstr "无法加载 RPMDB"
+ 
+ #: ../libdnf/dnf-sack.cpp:2423
+ msgid "No module defaults found"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr "repo 的 id 无效: %s, byte = %s %d"
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "软件仓库 %s 没有设置镜像或者 baseurl。"
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr "仓库 '%s' 有不被支持的类型: 'type=%s', 忽略。"
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "无法为仓库 %s 找到一个有效的 baseurl"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr "最大下载速度低于最小值。请修改 minrate 或 throttle 的配置"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
++msgstr "没有找到模块默认设置"
+ 
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "不能列出 key: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "repo %s: 0x%s 已被导入"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "repo %s: 导入的 key 0x%s."
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "恢复中: 仓库 '%s' 已被跳过,无 metalink。"
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "恢复中: 仓库 '%s' 已被跳过,无可用 hash。"
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "恢复: '%s' 失败,不匹配的 %s sum。"
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr "恢复中: '%s' 可以被恢复 - metalink 校验和匹配。"
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "恢复: '%s' 可用被恢复 - repomd 匹配。"
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "恢复: '%s' 失败,不匹配的 repomd。"
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "无法创建 repo 临时目录 \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "无法创建目录 \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "无法把目录 \"%s\" 重命名为 \"%s\": %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "仓库: 正在为 %s 使用缓存"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "仅使用缓存已开启但没有 '%s' 的缓存"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "repo: 从远程下载: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir(): 计算 SHA256 失败"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr "resume 不能和 the byterangestart 参数同时使用"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "PackageTarget 初始失败: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "无法打开 %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "Transformer: 无法打开 history persist dir"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "id 为 %ld 的日志处理器不存在"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "无法打开一个历史数据库"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "进行中"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "没有在进行中"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "没有事务在进行中"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "试图向已完成的事务中插入事务项"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "试图在已完成的事务中更新事务"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "事务已开始!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "TransactionItem 状态没有设置:%s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "无法删除 %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "无法向未保存的事务中添加控制台输出"
+diff --git a/po/zh_TW.po b/po/zh_TW.po
+index 4ec19bab..3fbf1a6f 100644
+--- a/po/zh_TW.po
++++ b/po/zh_TW.po
+@@ -5,7 +5,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2019-11-03 21:37-0500\n"
++"POT-Creation-Date: 2019-12-13 07:00+0100\n"
+ "PO-Revision-Date: 2019-04-02 05:41+0000\n"
+ "Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
+ "Language-Team: Chinese (Taiwan)\n"
+@@ -16,81 +16,64 @@ msgstr ""
+ "Plural-Forms: nplurals=1; plural=0\n"
+ "X-Generator: Zanata 4.6.2\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:276
+-#, c-format
+-msgid "Sources not set when trying to ensure package %s"
+-msgstr "嘗試確保包時未設置源 %s"
+-
+-#: ../libdnf/dnf-transaction.cpp:302
+-#, 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加載)"
+-
+-#: ../libdnf/dnf-transaction.cpp:343
+-msgid "Failed to check untrusted: "
+-msgstr "無法檢查不受信任: "
+-
+-#: ../libdnf/dnf-transaction.cpp:353
++#: ../libdnf/hy-iutil.cpp:321
+ #, c-format
+-msgid "Downloaded file for %s not found"
+-msgstr "已下載的文件 %s 未找到"
++msgid "Failed renaming %1$s to %2$s: %3$s"
++msgstr "重新命名 %1$s 到 %2$s 失敗:%3$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:373
++#: ../libdnf/hy-iutil.cpp:329
+ #, 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:807 ../libdnf/dnf-transaction.cpp:879
+-msgid "Failed to get value for CacheDir"
+-msgstr "無法獲得CacheDir的值"
++msgid "Failed setting perms on %1$s: %2$s"
++msgstr "設定 %1$s 權限失敗:%2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:887
++#: ../libdnf/hy-iutil.cpp:375
+ #, c-format
+-msgid "Failed to get filesystem free size for %s: "
+-msgstr "無法獲得文件系統空閒大小 %s: "
++msgid "cannot create directory %1$s: %2$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:895
++#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
+ #, c-format
+-msgid "Failed to get filesystem free size for %s"
+-msgstr "無法獲得文件系統空閒大小 %s"
++msgid "cannot open directory %1$s: %2$s"
++msgstr "無法打開目錄 %1$s: %2$s"
+ 
+-#: ../libdnf/dnf-transaction.cpp:911
++#: ../libdnf/hy-iutil.cpp:410
+ #, c-format
+-msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr "沒有足夠的可用空間 %1$s:需要 %2$s, ,可用 %3$s"
++msgid "cannot stat path %1$s: %2$s"
++msgstr ""
+ 
+-#: ../libdnf/dnf-transaction.cpp:1169
+-msgid "failed to set root"
+-msgstr "無法設置root"
++#: ../libdnf/dnf-goal.cpp:67
++msgid "Could not depsolve transaction; "
++msgstr "無法解析處理事項; "
+ 
+-#: ../libdnf/dnf-transaction.cpp:1391
++#: ../libdnf/dnf-goal.cpp:69
+ #, c-format
+-msgid "Error %i running transaction test"
+-msgstr "錯誤 %i 執行處理事項測試"
++msgid "%i problem detected:\n"
++msgid_plural "%i problems detected:\n"
++msgstr[0] "偵測到 %i 個問題:\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1431
++#: ../libdnf/dnf-goal.cpp:77
+ #, c-format
+-msgid "Error %i running transaction"
+-msgstr "錯誤 %i 執行處理事項"
++msgid " Problem %1$i: %2$s\n"
++msgstr " 第 %1$i 個問題:%2$s\n"
+ 
+-#: ../libdnf/dnf-transaction.cpp:1446
++#: ../libdnf/dnf-goal.cpp:79
+ #, c-format
+-msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr "處理事項沒有進入寫入階段,但沒有傳回錯誤 (%i)"
++msgid " Problem: %s\n"
++msgstr " 問題: %s\n"
+ 
+ #: ../libdnf/goal/Goal.cpp:55
+ msgid "Ill-formed Selector, presence of multiple match objects in the filter"
+-msgstr ""
++msgstr "形狀錯誤的選擇器,過濾器中存在多個匹配對象"
+ 
+ #: ../libdnf/goal/Goal.cpp:56
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+-msgstr ""
++msgstr "用於操作的錯誤選擇器,不正確的比較類型"
+ 
+-#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:93
++#: ../libdnf/goal/Goal.cpp:67 ../libdnf/goal/Goal.cpp:94
+ msgid " does not belong to a distupgrade repository"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:94
++#: ../libdnf/goal/Goal.cpp:68 ../libdnf/goal/Goal.cpp:95
+ msgid " has inferior architecture"
+ msgstr ""
+ 
+@@ -98,15 +81,15 @@ msgstr ""
+ msgid "problem with installed package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:96
++#: ../libdnf/goal/Goal.cpp:70 ../libdnf/goal/Goal.cpp:97
+ msgid "conflicting requests"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:97
++#: ../libdnf/goal/Goal.cpp:71 ../libdnf/goal/Goal.cpp:98
+ msgid "unsupported request"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:98
++#: ../libdnf/goal/Goal.cpp:72 ../libdnf/goal/Goal.cpp:99
+ msgid "nothing provides requested "
+ msgstr ""
+ 
+@@ -115,11 +98,11 @@ msgstr ""
+ msgid "package %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:100
++#: ../libdnf/goal/Goal.cpp:74 ../libdnf/goal/Goal.cpp:101
+ msgid " is provided by the system"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:101
++#: ../libdnf/goal/Goal.cpp:75 ../libdnf/goal/Goal.cpp:102
+ msgid "some dependency problem"
+ msgstr ""
+ 
+@@ -127,13 +110,13 @@ msgstr ""
+ msgid "cannot install the best update candidate for package "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:103
++#: ../libdnf/goal/Goal.cpp:77 ../libdnf/goal/Goal.cpp:104
+ msgid "cannot install the best candidate for the job"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:78
+ #, c-format
+-msgid "package %s is excluded"
++msgid "package %s is filtered out by modular filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:79
+@@ -148,335 +131,424 @@ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:81
+ #, c-format
+-msgid "nothing provides %s needed by %s"
++msgid "package %s is filtered out by exclude filtering"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:82
+ #, c-format
+-msgid "cannot install both %s and %s"
++msgid "nothing provides %s needed by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:83
+ #, c-format
+-msgid "package %s conflicts with %s provided by %s"
++msgid "cannot install both %s and %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:84
+ #, c-format
+-msgid "package %s obsoletes %s provided by %s"
++msgid "package %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:85
+ #, c-format
+-msgid "installed package %s obsoletes %s provided by %s"
++msgid "package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:86
+ #, c-format
+-msgid "package %s implicitly obsoletes %s provided by %s"
++msgid "installed package %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:87
+ #, c-format
+-msgid "package %s requires %s, but none of the providers can be installed"
++msgid "package %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:88
+ #, c-format
+-msgid "package %s conflicts with %s provided by itself"
++msgid "package %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+ #: ../libdnf/goal/Goal.cpp:89
+ #, c-format
++msgid "package %s conflicts with %s provided by itself"
++msgstr ""
++
++#: ../libdnf/goal/Goal.cpp:90
++#, c-format
+ msgid "both package %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:95
++#: ../libdnf/goal/Goal.cpp:96
+ msgid "problem with installed module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:99
++#: ../libdnf/goal/Goal.cpp:100
+ #, c-format
+ msgid "module %s does not exist"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:102
++#: ../libdnf/goal/Goal.cpp:103
+ msgid "cannot install the best update candidate for module "
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:104
++#: ../libdnf/goal/Goal.cpp:105 ../libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "module %s is disabled"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:105
++#: ../libdnf/goal/Goal.cpp:106
+ #, c-format
+ msgid "module %s does not have a compatible architecture"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:106
++#: ../libdnf/goal/Goal.cpp:107
+ #, c-format
+ msgid "module %s is not installable"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:107
++#: ../libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:108
++#: ../libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:109
++#: ../libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:110
++#: ../libdnf/goal/Goal.cpp:112
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:111
++#: ../libdnf/goal/Goal.cpp:113
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:112
++#: ../libdnf/goal/Goal.cpp:114
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:113
++#: ../libdnf/goal/Goal.cpp:115
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:114
++#: ../libdnf/goal/Goal.cpp:116
+ #, c-format
+ msgid "module %s conflicts with %s provided by itself"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:115
++#: ../libdnf/goal/Goal.cpp:117
+ #, c-format
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: ../libdnf/goal/Goal.cpp:998
++#: ../libdnf/goal/Goal.cpp:1008
+ msgid "no solver set"
+-msgstr ""
++msgstr "沒有解算器集"
+ 
+-#: ../libdnf/goal/Goal.cpp:1003
++#: ../libdnf/goal/Goal.cpp:1013
+ #, c-format
+ msgid "failed to make %s absolute"
+-msgstr ""
++msgstr "未能成功 %s 絕對"
+ 
+-#: ../libdnf/goal/Goal.cpp:1010
++#: ../libdnf/goal/Goal.cpp:1020
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+-msgstr ""
++msgstr "寫入debugdata失敗了 %1$s: %2$s"
+ 
+-#: ../libdnf/goal/Goal.cpp:1022
++#: ../libdnf/goal/Goal.cpp:1032
+ msgid "no solv in the goal"
+-msgstr ""
++msgstr "沒有解決目標"
+ 
+-#: ../libdnf/goal/Goal.cpp:1024
++#: ../libdnf/goal/Goal.cpp:1034
+ msgid "no solution, cannot remove protected package"
+-msgstr ""
++msgstr "沒有解決方案,無法刪除受保護的包"
+ 
+-#: ../libdnf/goal/Goal.cpp:1027
++#: ../libdnf/goal/Goal.cpp:1037
+ msgid "no solution possible"
+-msgstr ""
++msgstr "無法解決問題"
+ 
+-#: ../libdnf/goal/Goal.cpp:1433
++#: ../libdnf/goal/Goal.cpp:1443
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+-msgstr ""
+-
+-#: ../libdnf/transaction/Transformer.cpp:659
+-msgid "Transformer: can't open history persist dir"
+-msgstr "變形金剛:無法打開歷史堅持導演"
++msgstr "該操作將導致刪除以下受保護的包: "
+ 
+-#: ../libdnf/transaction/Transformer.cpp:672
+-msgid "Couldn't find a history database"
+-msgstr "找不到歷史資料庫"
++#: ../libdnf/repo/Repo.cpp:337
++#, c-format
++msgid "Bad id for repo: %s, byte = %s %d"
++msgstr "回購的錯誤ID: %s, ,byte = %s %d"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:107
+-msgid "In progress"
+-msgstr "正在進行中"
++#: ../libdnf/repo/Repo.cpp:362
++#, c-format
++msgid "Repository %s has no mirror or baseurl set."
++msgstr "「%s」軟體庫沒有設定任何鏡像或 baseurl。"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
+-#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
+-#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
+-msgid "Not in progress"
+-msgstr "未在進行中"
++#: ../libdnf/repo/Repo.cpp:371
++#, c-format
++msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
++msgstr "存儲庫'%s'有不支持的類型:'type =%s',跳過。"
+ 
+-#: ../libdnf/transaction/Swdb.cpp:187
+-msgid "No transaction in progress"
+-msgstr "沒有進行中的處理事項"
++#: ../libdnf/repo/Repo.cpp:580
++#, c-format
++msgid "Cannot find a valid baseurl for repo: %s"
++msgstr "無法找到軟體庫的有效 baseurl:%s"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:41
+-msgid "Transaction has already began!"
+-msgstr "處理事項已經開始!"
++#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
++msgid ""
++"Maximum download speed is lower than minimum. Please change configuration of"
++" minrate or throttle"
++msgstr "最大下載速度低於最低下載速度。請調整 minrate 或 throttle 的設定檔"
+ 
+-#: ../libdnf/transaction/private/Transaction.cpp:58
++#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+ #, c-format
+-msgid "TransactionItem state is not set: %s"
+-msgstr "未設置TransactionItem狀態: %s"
+-
+-#: ../libdnf/transaction/private/Transaction.cpp:239
+-msgid "Can't add console output to unsaved transaction"
+-msgstr "無法將控制台輸出添加到未保存的處理事項"
++msgid "%s: gpgme_data_new_from_fd(): %s"
++msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:147
+-msgid "Attempt to insert transaction item into completed transaction"
+-msgstr "嘗試將處理事項插入已完成的處理事項中"
++#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
++#, c-format
++msgid "%s: gpgme_op_import(): %s"
++msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: ../libdnf/transaction/TransactionItem.cpp:218
+-msgid "Attempt to update transaction item in completed transaction"
+-msgstr "嘗試更新已完成處理事項中的處理事項"
++#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
++#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
++#, c-format
++msgid "%s: gpgme_ctx_set_engine_info(): %s"
++msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:68
++#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+ #, c-format
+-msgid "Cannot enable multiple streams for module '%s'"
+-msgstr ""
++msgid "can not list keys: %s"
++msgstr "無法列出鍵: %s"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:293
++#: ../libdnf/repo/Repo.cpp:839
+ #, c-format
+-msgid "Conflicting defaults with repo '%s': %s"
++msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#: ../libdnf/repo/Repo.cpp:855
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data at '%s'"
++msgid "%s: gpgme_set_protocol(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#: ../libdnf/repo/Repo.cpp:868
+ #, c-format
+-msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+ msgstr ""
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#: ../libdnf/repo/Repo.cpp:883
+ #, c-format
+-msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr ""
++msgid "repo %s: 0x%s already imported"
++msgstr "回購 %s:0x%s 已經導入"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#: ../libdnf/repo/Repo.cpp:918
+ #, c-format
+-msgid "Unable to save a modular Fail Safe data to '%s'"
+-msgstr ""
++msgid "repo %s: imported key 0x%s."
++msgstr "回購 %s:導入的密鑰0x%s。"
+ 
+-#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#: ../libdnf/repo/Repo.cpp:1162
+ #, c-format
+-msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no metalink."
++msgstr "reviving:由於沒有 Metalink,所以跳過軟體庫「%s」"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:413
++#: ../libdnf/repo/Repo.cpp:1181
+ #, c-format
+-msgid "Invalid format of Platform module: %s"
+-msgstr ""
++msgid "reviving: repo '%s' skipped, no usable hash."
++msgstr "reviving:由於沒有可使用的雜湊值,跳過軟體庫「%s」"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:428
+-msgid "Multiple module platforms provided by available packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1204
++#, c-format
++msgid "reviving: failed for '%s', mismatched %s sum."
++msgstr "reviving:因為 %s 總和不符合,「%s」失敗"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:441
+-msgid "Multiple module platforms provided by installed packages\n"
+-msgstr ""
++#: ../libdnf/repo/Repo.cpp:1210
++#, c-format
++msgid "reviving: '%s' can be revived - metalink checksums match."
++msgstr "reviving:可以重生(revived)「%s」 - metalink checksum 符合。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:468
++#: ../libdnf/repo/Repo.cpp:1235
+ #, c-format
+-msgid "Detection of Platform Module in %s failed: %s"
+-msgstr ""
++msgid "reviving: '%s' can be revived - repomd matches."
++msgstr "reviving:可以復活 (revived)「%s」 - repomd 符合。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:477
++#: ../libdnf/repo/Repo.cpp:1237
+ #, c-format
+-msgid "Missing PLATFORM_ID in %s"
+-msgstr ""
++msgid "reviving: failed for '%s', mismatched repomd."
++msgstr "reviving:由於不符合的 repomd,「%s」失敗。"
+ 
+-#: ../libdnf/module/ModulePackage.cpp:482
+-msgid "No valid Platform ID detected"
++#: ../libdnf/repo/Repo.cpp:1255
++#, c-format
++msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+-#: ../libdnf/conf/OptionStringList.cpp:59 ../libdnf/conf/OptionString.cpp:59
++#: ../libdnf/repo/Repo.cpp:1261
+ #, c-format
+-msgid "'%s' is not an allowed value"
+-msgstr "「%s」非允許的值"
++msgid "Cannot create repo temporary directory \"%s\": %s"
++msgstr "無法創建repo臨時目錄“%s“: %s"
+ 
+-#: ../libdnf/conf/OptionEnum.cpp:83 ../libdnf/conf/OptionNumber.cpp:88
+-msgid "invalid value"
+-msgstr "無效值"
++#: ../libdnf/repo/Repo.cpp:1275
++#, c-format
++msgid "Cannot create directory \"%s\": %s"
++msgstr "無法創建目錄“%s“: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:76
++#: ../libdnf/repo/Repo.cpp:1298
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" does not exist"
+-msgstr "配置:具有id的OptionBinding“%s“ 不存在"
++msgid "Cannot rename directory \"%s\" to \"%s\": %s"
++msgstr "無法重命名目錄“%s“ 至 ”%s“: %s"
+ 
+-#: ../libdnf/conf/OptionBinds.cpp:88
++#: ../libdnf/repo/Repo.cpp:1321
+ #, c-format
+-msgid "Configuration: OptionBinding with id \"%s\" already exists"
+-msgstr "配置:具有id的OptionBinding“%s“ 已經存在"
++msgid "repo: using cache for: %s"
++msgstr "repo:使用快取為:%s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:40 ../libdnf/conf/ConfigMain.cpp:62
+-msgid "no value specified"
+-msgstr "沒有指定值"
++#: ../libdnf/repo/Repo.cpp:1333
++#, c-format
++msgid "Cache-only enabled but no cache for '%s'"
++msgstr "已啟用「只快取 (cache-only)」,但是沒有 %s 的快取。"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:48 ../libdnf/conf/ConfigMain.cpp:67
++#: ../libdnf/repo/Repo.cpp:1337
+ #, c-format
+-msgid "seconds value '%s' must not be negative"
+-msgstr "次要值「%s」需為負值"
++msgid "repo: downloading from remote: %s"
++msgstr "repo:從遠程下載: %s"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:52
++#: ../libdnf/repo/Repo.cpp:1343
+ #, c-format
+-msgid "could not convert '%s' to seconds"
+-msgstr "無法轉換'%s'到秒"
++msgid "Failed to download metadata for repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/repo/Repo.cpp:1369
++msgid "getCachedir(): Computation of SHA256 failed"
++msgstr "getCachedir():SHA256的計算失敗"
++
++#: ../libdnf/repo/Repo.cpp:1790
++msgid "resume cannot be used simultaneously with the byterangestart param"
++msgstr "resume不能與byterangestart param同時使用"
+ 
+-#: ../libdnf/conf/OptionSeconds.cpp:66 ../libdnf/conf/ConfigMain.cpp:83
++#: ../libdnf/repo/Repo.cpp:1801
+ #, c-format
+-msgid "unknown unit '%s'"
+-msgstr "未知的單位「%s」"
++msgid "PackageTarget initialization failed: %s"
++msgstr "PackageTarget初始化失敗: %s"
+ 
+-#: ../libdnf/conf/OptionBool.cpp:47
++#: ../libdnf/repo/Repo.cpp:1918
+ #, c-format
+-msgid "invalid boolean value '%s'"
+-msgstr "無效的布林值「%s」"
++msgid "Cannot open %s: %s"
++msgstr "不能打開 %s: %s"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:73
++#: ../libdnf/repo/Repo.cpp:1962
+ #, c-format
+-msgid "given value [%d] should be less than allowed value [%d]."
+-msgstr "提供的值 [%d] 需要小於允許的值 [%d]。"
++msgid "Log handler with id %ld doesn't exist"
++msgstr "帶有id的日誌處理程序 %ld 不存在"
+ 
+-#: ../libdnf/conf/OptionNumber.cpp:76
++#: ../libdnf/dnf-transaction.cpp:276
+ #, c-format
+-msgid "given value [%d] should be greater than allowed value [%d]."
+-msgstr "提供的值 [%d] 需要大於允許的值 [%d]。"
++msgid "Sources not set when trying to ensure package %s"
++msgstr "嘗試確保包時未設置源 %s"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:78
++#: ../libdnf/dnf-transaction.cpp:302
+ #, c-format
+-msgid "given path '%s' is not absolute."
+-msgstr "提供的位址「%s」並非絕對位址"
++msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
++msgstr "無法確保 %1$s 作為回購 %2$s 未找到(%3$i repos加載)"
+ 
+-#: ../libdnf/conf/OptionPath.cpp:82
++#: ../libdnf/dnf-transaction.cpp:343
++msgid "Failed to check untrusted: "
++msgstr "無法檢查不受信任: "
++
++#: ../libdnf/dnf-transaction.cpp:353
+ #, c-format
+-msgid "given path '%s' does not exist."
+-msgstr "提供的位址「%s」不存在。"
++msgid "Downloaded file for %s not found"
++msgstr "已下載的文件 %s 未找到"
+ 
+-#: ../libdnf/conf/OptionString.cpp:74
+-msgid "GetValue(): Value not set"
+-msgstr "GetValue():未設置值"
++#: ../libdnf/dnf-transaction.cpp:373
++#, 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/conf/ConfigMain.cpp:71
++#: ../libdnf/dnf-transaction.cpp:807 ../libdnf/dnf-transaction.cpp:879
++msgid "Failed to get value for CacheDir"
++msgstr "無法獲得CacheDir的值"
++
++#: ../libdnf/dnf-transaction.cpp:887
+ #, c-format
+-msgid "could not convert '%s' to bytes"
+-msgstr "無法轉換'%s'到字節"
++msgid "Failed to get filesystem free size for %s: "
++msgstr "無法獲得文件系統空閒大小 %s: "
+ 
+-#: ../libdnf/conf/ConfigMain.cpp:329
++#: ../libdnf/dnf-transaction.cpp:895
+ #, c-format
+-msgid "percentage '%s' is out of range"
+-msgstr "「%s」百分比超出範圍"
++msgid "Failed to get filesystem free size for %s"
++msgstr "無法獲得文件系統空閒大小 %s"
++
++#: ../libdnf/dnf-transaction.cpp:911
++#, 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:1169
++msgid "failed to set root"
++msgstr "無法設置root"
++
++#: ../libdnf/dnf-transaction.cpp:1391
++#, c-format
++msgid "Error %i running transaction test"
++msgstr "錯誤 %i 執行處理事項測試"
++
++#: ../libdnf/dnf-transaction.cpp:1431
++#, c-format
++msgid "Error %i running transaction"
++msgstr "錯誤 %i 執行處理事項"
++
++#: ../libdnf/dnf-transaction.cpp:1446
++#, c-format
++msgid "Transaction did not go to writing phase, but returned no error(%i)"
++msgstr "處理事項沒有進入寫入階段,但沒有傳回錯誤 (%i)"
++
++#: ../libdnf/dnf-utils.cpp:135
++#, c-format
++msgid "failed to remove %s"
++msgstr "未能刪除 %s"
++
++#: ../libdnf/plugin/plugin.cpp:46
++#, c-format
++msgid "Can't load shared library \"%s\": %s"
++msgstr ""
++
++#: ../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 ""
++
++#: ../libdnf/plugin/plugin.cpp:86
++#, c-format
++msgid "Loading plugin file=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:89
++#, c-format
++msgid "Loaded plugin name=\"%s\", version=\"%s\""
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:96
++msgid "Plugins::loadPlugins() dirPath cannot be empty"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:105
++#, c-format
++msgid "Can't read plugin directory \"%s\": %s"
++msgstr ""
++
++#: ../libdnf/plugin/plugin.cpp:114
++#, c-format
++msgid "Can't load plugin \"%s\": %s"
++msgstr ""
+ 
+ #: ../libdnf/dnf-state.cpp:1183
+ #, c-format
+@@ -502,29 +574,66 @@ msgstr "完成一個州 %1$p 沒有尺寸設定! [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "已經處於100 %%狀態[%s]"
+ 
+-#: ../libdnf/hy-iutil.cpp:321
++#: ../libdnf/module/ModulePackage.cpp:413
+ #, c-format
+-msgid "Failed renaming %1$s to %2$s: %3$s"
+-msgstr "重新命名 %1$s 到 %2$s 失敗:%3$s"
++msgid "Invalid format of Platform module: %s"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:329
++#: ../libdnf/module/ModulePackage.cpp:428
++msgid "Multiple module platforms provided by available packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:441
++msgid "Multiple module platforms provided by installed packages\n"
++msgstr ""
++
++#: ../libdnf/module/ModulePackage.cpp:468
+ #, c-format
+-msgid "Failed setting perms on %1$s: %2$s"
+-msgstr "設定 %1$s 權限失敗:%2$s"
++msgid "Detection of Platform Module in %s failed: %s"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:375
++#: ../libdnf/module/ModulePackage.cpp:477
+ #, c-format
+-msgid "cannot create directory %1$s: %2$s"
++msgid "Missing PLATFORM_ID in %s"
+ msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:398 ../libdnf/dnf-utils.cpp:110
++#: ../libdnf/module/ModulePackage.cpp:482
++msgid "No valid Platform ID detected"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:68
+ #, c-format
+-msgid "cannot open directory %1$s: %2$s"
+-msgstr "無法打開目錄 %1$s: %2$s"
++msgid "Cannot enable multiple streams for module '%s'"
++msgstr ""
+ 
+-#: ../libdnf/hy-iutil.cpp:410
++#: ../libdnf/module/ModulePackageContainer.cpp:293
+ #, c-format
+-msgid "cannot stat path %1$s: %2$s"
++msgid "Conflicting defaults with repo '%s': %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1563
++#, c-format
++msgid "Unable to load modular Fail-Safe data at '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1569
++#, c-format
++msgid "Unable to load modular Fail-Safe data for module '%s:%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1633
++#, c-format
++msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1655
++#, c-format
++msgid "Unable to save a modular Fail Safe data to '%s'"
++msgstr ""
++
++#: ../libdnf/module/ModulePackageContainer.cpp:1680
++#, c-format
++msgid "Unable to remove a modular Fail Safe data in '%s'"
+ msgstr ""
+ 
+ #: ../libdnf/dnf-rpmts.cpp:78
+@@ -587,25 +696,83 @@ msgstr "找不到包裹 %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "無法添加擦除元素 %1$s(%2$i)"
+ 
+-#: ../libdnf/dnf-goal.cpp:67
+-msgid "Could not depsolve transaction; "
+-msgstr "無法解析處理事項; "
+-
+-#: ../libdnf/dnf-goal.cpp:69
++#: ../libdnf/conf/OptionString.cpp:59 ../libdnf/conf/OptionStringList.cpp:59
++#: ../libdnf/conf/OptionEnum.cpp:72 ../libdnf/conf/OptionEnum.cpp:158
+ #, c-format
+-msgid "%i problem detected:\n"
+-msgid_plural "%i problems detected:\n"
+-msgstr[0] "偵測到 %i 個問題:\n"
++msgid "'%s' is not an allowed value"
++msgstr "「%s」非允許的值"
+ 
+-#: ../libdnf/dnf-goal.cpp:77
+-#, c-format
+-msgid " Problem %1$i: %2$s\n"
+-msgstr " 第 %1$i 個問題:%2$s\n"
++#: ../libdnf/conf/OptionString.cpp:74
++msgid "GetValue(): Value not set"
++msgstr "GetValue():未設置值"
+ 
+-#: ../libdnf/dnf-goal.cpp:79
++#: ../libdnf/conf/OptionPath.cpp:78
+ #, c-format
+-msgid " Problem: %s\n"
+-msgstr ""
++msgid "given path '%s' is not absolute."
++msgstr "提供的位址「%s」並非絕對位址"
++
++#: ../libdnf/conf/OptionPath.cpp:82
++#, c-format
++msgid "given path '%s' does not exist."
++msgstr "提供的位址「%s」不存在。"
++
++#: ../libdnf/conf/OptionBool.cpp:47
++#, c-format
++msgid "invalid boolean value '%s'"
++msgstr "無效的布林值「%s」"
++
++#: ../libdnf/conf/ConfigMain.cpp:62 ../libdnf/conf/OptionSeconds.cpp:40
++msgid "no value specified"
++msgstr "沒有指定值"
++
++#: ../libdnf/conf/ConfigMain.cpp:67 ../libdnf/conf/OptionSeconds.cpp:48
++#, c-format
++msgid "seconds value '%s' must not be negative"
++msgstr "次要值「%s」需為負值"
++
++#: ../libdnf/conf/ConfigMain.cpp:71
++#, c-format
++msgid "could not convert '%s' to bytes"
++msgstr "無法轉換'%s'到字節"
++
++#: ../libdnf/conf/ConfigMain.cpp:83 ../libdnf/conf/OptionSeconds.cpp:66
++#, c-format
++msgid "unknown unit '%s'"
++msgstr "未知的單位「%s」"
++
++#: ../libdnf/conf/ConfigMain.cpp:329
++#, c-format
++msgid "percentage '%s' is out of range"
++msgstr "「%s」百分比超出範圍"
++
++#: ../libdnf/conf/OptionNumber.cpp:73
++#, c-format
++msgid "given value [%d] should be less than allowed value [%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]。"
++
++#: ../libdnf/conf/OptionNumber.cpp:88 ../libdnf/conf/OptionEnum.cpp:83
++msgid "invalid value"
++msgstr "無效值"
++
++#: ../libdnf/conf/OptionBinds.cpp:76
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" does not exist"
++msgstr "配置:具有id的OptionBinding“%s“ 不存在"
++
++#: ../libdnf/conf/OptionBinds.cpp:88
++#, c-format
++msgid "Configuration: OptionBinding with id \"%s\" already exists"
++msgstr "配置:具有id的OptionBinding“%s“ 已經存在"
++
++#: ../libdnf/conf/OptionSeconds.cpp:52
++#, c-format
++msgid "could not convert '%s' to seconds"
++msgstr "無法轉換'%s'到秒"
+ 
+ #: ../libdnf/dnf-sack.cpp:417
+ #, c-format
+@@ -692,207 +859,45 @@ msgstr "加載RPMDB失敗"
+ msgid "No module defaults found"
+ msgstr ""
+ 
+-#: ../libdnf/repo/Repo.cpp:337
+-#, c-format
+-msgid "Bad id for repo: %s, byte = %s %d"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:362
+-#, c-format
+-msgid "Repository %s has no mirror or baseurl set."
+-msgstr "「%s」軟體庫沒有設定任何鏡像或 baseurl。"
+-
+-#: ../libdnf/repo/Repo.cpp:371
+-#, c-format
+-msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:580
+-#, c-format
+-msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "無法找到軟體庫的有效 baseurl:%s"
+-
+-#: ../libdnf/repo/Repo.cpp:616 ../libdnf/repo/Repo.cpp:1699
+-msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr "最大下載速度低於最低下載速度。請調整 minrate 或 throttle 的設定檔"
+-
+-#: ../libdnf/repo/Repo.cpp:666 ../libdnf/repo/Repo.cpp:688
+-#, c-format
+-msgid "%s: gpgme_data_new_from_fd(): %s"
+-msgstr "%s: gpgme_data_new_from_fd(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:674 ../libdnf/repo/Repo.cpp:696
+-#, c-format
+-msgid "%s: gpgme_op_import(): %s"
+-msgstr "%s: gpgme_op_import(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:719 ../libdnf/repo/Repo.cpp:785
+-#: ../libdnf/repo/Repo.cpp:862 ../libdnf/repo/Repo.cpp:904
+-#, c-format
+-msgid "%s: gpgme_ctx_set_engine_info(): %s"
+-msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+-
+-#: ../libdnf/repo/Repo.cpp:746 ../libdnf/repo/Repo.cpp:810
+-#, c-format
+-msgid "can not list keys: %s"
+-msgstr "無法列出鍵: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:839
+-#, c-format
+-msgid "Failed to retrieve GPG key for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:855
+-#, c-format
+-msgid "%s: gpgme_set_protocol(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:868
+-#, c-format
+-msgid "%s: gpgme_op_assuan_transact_ext(): %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:883
+-#, c-format
+-msgid "repo %s: 0x%s already imported"
+-msgstr "回購 %s:0x%s 已經導入"
+-
+-#: ../libdnf/repo/Repo.cpp:918
+-#, c-format
+-msgid "repo %s: imported key 0x%s."
+-msgstr "回購 %s:導入的密鑰0x%s。"
+-
+-#: ../libdnf/repo/Repo.cpp:1162
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no metalink."
+-msgstr "reviving:由於沒有 Metalink,所以跳過軟體庫「%s」"
+-
+-#: ../libdnf/repo/Repo.cpp:1181
+-#, c-format
+-msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "reviving:由於沒有可使用的雜湊值,跳過軟體庫「%s」"
+-
+-#: ../libdnf/repo/Repo.cpp:1204
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched %s sum."
+-msgstr "reviving:因為 %s 總和不符合,「%s」失敗"
+-
+-#: ../libdnf/repo/Repo.cpp:1210
+-#, c-format
+-msgid "reviving: '%s' can be revived - metalink checksums match."
+-msgstr "reviving:可以重生(revived)「%s」 - metalink checksum 符合。"
+-
+-#: ../libdnf/repo/Repo.cpp:1235
+-#, c-format
+-msgid "reviving: '%s' can be revived - repomd matches."
+-msgstr "reviving:可以復活 (revived)「%s」 - repomd 符合。"
+-
+-#: ../libdnf/repo/Repo.cpp:1237
+-#, c-format
+-msgid "reviving: failed for '%s', mismatched repomd."
+-msgstr "reviving:由於不符合的 repomd,「%s」失敗。"
+-
+-#: ../libdnf/repo/Repo.cpp:1255
+-#, 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 "無法創建repo臨時目錄“%s“: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1275
+-#, c-format
+-msgid "Cannot create directory \"%s\": %s"
+-msgstr "無法創建目錄“%s“: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1298
+-#, c-format
+-msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "無法重命名目錄“%s“ 至 ”%s“: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1321
+-#, c-format
+-msgid "repo: using cache for: %s"
+-msgstr "repo:使用快取為:%s"
+-
+-#: ../libdnf/repo/Repo.cpp:1333
+-#, c-format
+-msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "已啟用「只快取 (cache-only)」,但是沒有 %s 的快取。"
+-
+-#: ../libdnf/repo/Repo.cpp:1337
+-#, c-format
+-msgid "repo: downloading from remote: %s"
+-msgstr "repo:從遠程下載: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1343
+-#, c-format
+-msgid "Failed to download metadata for repo '%s': %s"
+-msgstr ""
+-
+-#: ../libdnf/repo/Repo.cpp:1369
+-msgid "getCachedir(): Computation of SHA256 failed"
+-msgstr "getCachedir():SHA256的計算失敗"
+-
+-#: ../libdnf/repo/Repo.cpp:1790
+-msgid "resume cannot be used simultaneously with the byterangestart param"
+-msgstr "resume不能與byterangestart param同時使用"
+-
+-#: ../libdnf/repo/Repo.cpp:1801
+-#, c-format
+-msgid "PackageTarget initialization failed: %s"
+-msgstr "PackageTarget初始化失敗: %s"
+-
+-#: ../libdnf/repo/Repo.cpp:1918
+-#, c-format
+-msgid "Cannot open %s: %s"
+-msgstr "不能打開 %s: %s"
++#: ../libdnf/transaction/Transformer.cpp:659
++msgid "Transformer: can't open history persist dir"
++msgstr "變形金剛:無法打開歷史堅持導演"
+ 
+-#: ../libdnf/repo/Repo.cpp:1962
+-#, c-format
+-msgid "Log handler with id %ld doesn't exist"
+-msgstr "帶有id的日誌處理程序 %ld 不存在"
++#: ../libdnf/transaction/Transformer.cpp:672
++msgid "Couldn't find a history database"
++msgstr "找不到歷史資料庫"
+ 
+-#: ../libdnf/plugin/plugin.cpp:46
+-#, c-format
+-msgid "Can't load shared library \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:107
++msgid "In progress"
++msgstr "正在進行中"
+ 
+-#: ../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 ""
++#: ../libdnf/transaction/Swdb.cpp:121 ../libdnf/transaction/Swdb.cpp:148
++#: ../libdnf/transaction/Swdb.cpp:160 ../libdnf/transaction/Swdb.cpp:177
++#: ../libdnf/transaction/Swdb.cpp:316 ../libdnf/transaction/Swdb.cpp:326
++msgid "Not in progress"
++msgstr "未在進行中"
+ 
+-#: ../libdnf/plugin/plugin.cpp:86
+-#, c-format
+-msgid "Loading plugin file=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/Swdb.cpp:187
++msgid "No transaction in progress"
++msgstr "沒有進行中的處理事項"
+ 
+-#: ../libdnf/plugin/plugin.cpp:89
+-#, c-format
+-msgid "Loaded plugin name=\"%s\", version=\"%s\""
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:147
++msgid "Attempt to insert transaction item into completed transaction"
++msgstr "嘗試將處理事項插入已完成的處理事項中"
+ 
+-#: ../libdnf/plugin/plugin.cpp:96
+-msgid "Plugins::loadPlugins() dirPath cannot be empty"
+-msgstr ""
++#: ../libdnf/transaction/TransactionItem.cpp:218
++msgid "Attempt to update transaction item in completed transaction"
++msgstr "嘗試更新已完成處理事項中的處理事項"
+ 
+-#: ../libdnf/plugin/plugin.cpp:105
+-#, c-format
+-msgid "Can't read plugin directory \"%s\": %s"
+-msgstr ""
++#: ../libdnf/transaction/private/Transaction.cpp:41
++msgid "Transaction has already began!"
++msgstr "處理事項已經開始!"
+ 
+-#: ../libdnf/plugin/plugin.cpp:114
++#: ../libdnf/transaction/private/Transaction.cpp:58
+ #, c-format
+-msgid "Can't load plugin \"%s\": %s"
+-msgstr ""
++msgid "TransactionItem state is not set: %s"
++msgstr "未設置TransactionItem狀態: %s"
+ 
+-#: ../libdnf/dnf-utils.cpp:135
+-#, c-format
+-msgid "failed to remove %s"
+-msgstr "未能刪除 %s"
++#: ../libdnf/transaction/private/Transaction.cpp:239
++msgid "Can't add console output to unsaved transaction"
++msgstr "無法將控制台輸出添加到未保存的處理事項"
+-- 
+2.21.1
+
diff --git a/SOURCES/0006-Fix-filtering-packages-by-advisory-RhBug-1770125.patch b/SOURCES/0006-Fix-filtering-packages-by-advisory-RhBug-1770125.patch
new file mode 100644
index 0000000..934a165
--- /dev/null
+++ b/SOURCES/0006-Fix-filtering-packages-by-advisory-RhBug-1770125.patch
@@ -0,0 +1,126 @@
+From 594560870c416d0133b08a64e0632a53a6217f71 Mon Sep 17 00:00:00 2001
+From: Marek Blaha <mblaha@redhat.com>
+Date: Mon, 20 Jan 2020 09:58:03 +0100
+Subject: [PATCH] Fix filtering packages by advisory (RhBug:1770125)
+
+Currently the filter does not work well in situation when more versions
+and architectures of advisory packages are available.
+
+Let's have package gjs-1.56.2-6.fc30.x86_64
+and two advisories related to gjs package:
+FEDORA-2019-f4eb34cf4c
+    gjs-1.56.2-1.fc30.src
+    gjs-1.56.2-1.fc30.x86_64
+FEDORA-2019-57b5902ed1
+    gjs-1.56.2-6.fc30.src
+    gjs-1.56.2-6.fc30.x86_64
+
+In this case the FEDORA-2019-57b5902ed1 advisory is not matched for
+gjs-1.56.2-6.fc30.x86_64 package (considering >= operator as in 'dnf
+update --bugfix') because only the package of `src` architecture as been
+checked. The checking of other versions/architectures was missing.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1770125
+---
+ libdnf/sack/query.cpp | 63 +++++++++++++++----------------------------
+ 1 file changed, 22 insertions(+), 41 deletions(-)
+
+diff --git a/libdnf/sack/query.cpp b/libdnf/sack/query.cpp
+index 6e9e4715f..122a50df6 100644
+--- a/libdnf/sack/query.cpp
++++ b/libdnf/sack/query.cpp
+@@ -518,9 +518,9 @@ advisoryPkgCompareSolvable(const AdvisoryPkg &first, const Solvable &s)
+ {
+     if (first.getName() != s.name)
+         return first.getName() < s.name;
+-    if (first.getEVR() != s.evr)
+-        return first.getEVR() < s.evr;
+-    return first.getArch() < s.arch;
++    if (first.getArch() != s.arch)
++        return first.getArch() < s.arch;
++    return first.getEVR() < s.evr;
+ }
+ 
+ static bool
+@@ -1607,13 +1607,12 @@ Query::Impl::filterLocation(const Filter & f, Map *m)
+ 
+ /**
+ * @brief Reduce query to security filters. It reflect following compare types: HY_EQ, HY_GT, HY_LT.
+-* In case HY_GT or HY_LT, it first find all advisory packages that EQ to packages in result.
+-* Then it adds packages from Result to Map *m if Name and Arch is EQ, and EVR comparison is
+-* according to one of selected compare type (HY_EQ, HY_GT, HY_LT).
+ *
+-* @param f p_f:...
+-* @param m p_m:...
+-* @param keyname p_keyname:...
++* @param f: Filter that should be applied on advisories
++* @param m: Map of query results complying the filter
++* @param keyname: how are the advisories matched. HY_PKG_ADVISORY, HY_PKG_ADVISORY_BUG,
++*                 HY_PKG_ADVISORY_CVE, HY_PKG_ADVISORY_TYPE  and HY_PKG_ADVISORY_SEVERITY
++*                 are supported
+ */
+ void
+ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
+@@ -1668,7 +1667,6 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
+     // convert nevras (from DnfAdvisoryPkg) to pool ids
+     Id id = -1;
+     int cmp_type = f.getCmpType();
+-    bool cmpTypeGreaterOrLower = cmp_type & HY_GT || cmp_type & HY_LT;
+     while (true) {
+         if (pkgs.size() == 0)
+             break;
+@@ -1676,40 +1674,23 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
+         if (id == -1)
+             break;
+         Solvable* s = pool_id2solvable(pool, id);
+-        auto low = std::lower_bound(pkgs.begin(), pkgs.end(), *s, advisoryPkgCompareSolvable);
+-        if (low != pkgs.end() && low->nevraEQ(s)) {
+-            if (cmpTypeGreaterOrLower) {
+-                pkgsSecondRun.push_back(*low);
+-            } else {
++        if (cmp_type == HY_EQ) {
++            auto low = std::lower_bound(pkgs.begin(), pkgs.end(), *s, advisoryPkgCompareSolvable);
++            if (low != pkgs.end() && low->nevraEQ(s)) {
+                 MAPSET(m, id);
+             }
+-        }
+-    }
+-    if (!cmpTypeGreaterOrLower) {
+-        return;
+-    }
+-    std::sort(pkgsSecondRun.begin(), pkgsSecondRun.end(), advisoryPkgSort);
+-    id = -1;
+-    while (true) {
+-        if (pkgsSecondRun.size() == 0)
+-            break;
+-        id = resultPset->next(id);
+-        if (id == -1)
+-            break;
+-        Solvable* s = pool_id2solvable(pool, id);
+-        auto low = std::lower_bound(pkgsSecondRun.begin(), pkgsSecondRun.end(), *s,
+-                                    advisoryPkgCompareSolvableNameArch);
+-        while (low != pkgsSecondRun.end() && low->getName() == s->name &&
+-            low->getArch() == s->arch) {
+-
+-            int cmp = pool_evrcmp(pool, s->evr, low->getEVR(), EVRCMP_COMPARE);
+-            if ((cmp > 0 && cmp_type & HY_GT) ||
+-                (cmp < 0 && cmp_type & HY_LT) ||
+-                (cmp == 0 && cmp_type & HY_EQ)) {
+-                MAPSET(m, id);
+-                break;
++        } else {
++            auto low = std::lower_bound(pkgs.begin(), pkgs.end(), *s, advisoryPkgCompareSolvableNameArch);
++            while (low != pkgs.end() && low->getName() == s->name && low->getArch() == s->arch) {
++                int cmp = pool_evrcmp(pool, s->evr, low->getEVR(), EVRCMP_COMPARE);
++                if ((cmp > 0 && cmp_type & HY_GT) ||
++                    (cmp < 0 && cmp_type & HY_LT) ||
++                    (cmp == 0 && cmp_type & HY_EQ)) {
++                    MAPSET(m, id);
++                    break;
++                }
++                ++low;
+             }
+-            ++low;
+         }
+     }
+ }
diff --git a/SPECS/libdnf.spec b/SPECS/libdnf.spec
index 2ccbcb6..10f583d 100644
--- a/SPECS/libdnf.spec
+++ b/SPECS/libdnf.spec
@@ -49,12 +49,17 @@
 
 Name:           libdnf
 Version:        0.39.1
-Release:        2%{?dist}
+Release:        5%{?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-user-agent-Drop-the-whitelist.patch
+Patch2:         0002-context-wildcard-support-in-dnf_context_repo_set_data-RhBug1781420.patch
+Patch3:         0003-Add-2-query-filters.patch
+Patch4:         0004-Remove-killGpgAgent-function-RhBug1781601.patch
+Patch5:         0005-Update-translations-from-zanata-RhBug-1754965.patch
+Patch6:         0006-Fix-filtering-packages-by-advisory-RhBug-1770125.patch
 
 BuildRequires:  cmake
 BuildRequires:  gcc
@@ -291,6 +296,17 @@ popd
 %endif
 
 %changelog
+* Tue Feb 18 2020 Ales Matej <amatej@redhat.com> - 0.39.1-5
+- Fix filtering of packages by advisory (RhBug:1770125)
+
+* Fri Jan 31 2020 Marek Blaha <mblaha@redhat.com> - 0.39.1-4
+- [translations] Update translations from zanata (RhBug:1754965)
+
+* Mon Jan 13 2020 Ales Matej <amatej@redhat.com> - 0.39.1-3
+- Add two new query filters: obsoletes_by_priority, upgrades_by_priority (RhBug:1769466)
+- [context] Add wildcard support in dnf_context_repo_set_data (RhBug:1781420)
+- Remove killGpgAgent function (RhBug:1781601)
+
 * Thu Dec 12 2019 Pavla Kratochvilova <pkratoch@redhat.com> - 0.39.1-2
 - [user-agent] Stop checking os-release(5) data against a hard-coded whitelist (RhBug:1777255)