diff --git a/.gitignore b/.gitignore
index 4e85107..1097fc0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/libdnf-0.67.0.tar.gz
+SOURCES/libdnf-0.69.0.tar.gz
diff --git a/.libdnf.metadata b/.libdnf.metadata
index af0f755..464638d 100644
--- a/.libdnf.metadata
+++ b/.libdnf.metadata
@@ -1 +1 @@
-2abb8e24d867da4433345678764163e703b7729f SOURCES/libdnf-0.67.0.tar.gz
+744fc8ba2ad6906c87fc6d91cb953735d1f285e2 SOURCES/libdnf-0.69.0.tar.gz
diff --git a/SOURCES/0001-Allow-change-of-arch-during-security-updates-with-no.patch b/SOURCES/0001-Allow-change-of-arch-during-security-updates-with-no.patch
new file mode 100644
index 0000000..a937c19
--- /dev/null
+++ b/SOURCES/0001-Allow-change-of-arch-during-security-updates-with-no.patch
@@ -0,0 +1,89 @@
+From 2834747bff215c6f8da4eef2820c29bc05e172e1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
+Date: Wed, 7 Sep 2022 09:07:04 +0200
+Subject: [PATCH] Allow change of arch during security updates with noarch
+ (RhBug:2124483)
+
+This matches upgrade behaviour where upgrading from/to noarch is a
+special case and architecture change of a package is allowed
+automatically.
+
+= changelog =
+msg: Allow change of architecture for packages during security updates with noarch involved
+type: security
+resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2124483
+---
+ libdnf/sack/query.cpp | 34 ++++++++++++++++++++++++----------
+ 1 file changed, 24 insertions(+), 10 deletions(-)
+
+diff --git a/libdnf/sack/query.cpp b/libdnf/sack/query.cpp
+index 8672275d..205439ec 100644
+--- a/libdnf/sack/query.cpp
++++ b/libdnf/sack/query.cpp
+@@ -189,6 +189,13 @@ NameArchSolvableComparator(const Solvable * first, const Solvable * second)
+     return first->arch < second->arch;
+ }
+ 
++static bool
++NameSolvableComparator(const Solvable * first, const Solvable * second)
++{
++    return first->name < second->name;
++}
++
++
+ static bool
+ NamePrioritySolvableKey(const Solvable * first, const Solvable * second)
+ {
+@@ -1878,11 +1885,14 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
+         std::vector<Solvable *> installed_solvables;
+ 
+         if (cmp_type & HY_UPGRADE) {
+-            // When doing HY_UPGRADE consider only candidate pkgs that have matching Name and Arch with:
+-            // * some already installed pkg (in other words: some other version of the pkg is already installed)
+-            // or
+-            // * with pkg that obsoletes some already installed (or to be installed in this transaction) pkg
+-            // Otherwise a pkg with different Arch than installed can end up in upgrade set which is wrong.
++            // When doing HY_UPGRADE consider only candidate pkgs that:
++            // * have matching Name and Arch with some already installed pkg
++            //   (in other words: some other version of the pkg is already installed)
++            // * have matching Name with some already installed pkg and either the candidate or the installed pkg is noarch.
++            //   This matches upgrade behavior where we allow architecture change only when noarch is involved.
++            //   Details: RhBug:2124483, RhBug:2101398 and RhBug:1171543
++            // * obsoletes some already installed (or to be installed in this transaction) pkg
++            // Otherwise a pkg with different Arch than installed (and than noarch) can end up in upgrade set which is wrong.
+             // It can result in dependency issues, reported as: RhBug:2088149.
+ 
+             Query installed(sack, ExcludeFlags::IGNORE_EXCLUDES);
+@@ -1893,7 +1903,7 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
+             while ((installed_id = installed.pImpl->result->next(installed_id)) != -1) {
+                 installed_solvables.push_back(pool_id2solvable(pool, installed_id));
+             }
+-            std::sort(installed_solvables.begin(), installed_solvables.end(), NameArchSolvableComparator);
++            std::sort(installed_solvables.begin(), installed_solvables.end(), NameSolvableComparator);
+ 
+             Query obsoletes(sack, ExcludeFlags::IGNORE_EXCLUDES);
+             obsoletes.addFilter(HY_PKG, HY_EQ, resultPset);
+@@ -1915,12 +1925,16 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
+             }
+ 
+             Id id = -1;
+-            // Add to candidates resultPset pkgs that match name and arch with some already installed pkg
++            // Add to candidates resultPset pkgs that match name and arch with some already installed pkg or match name and either the installed or candidate are NOARCH
+             while ((id = resultPset->next(id)) != -1) {
+                 Solvable * s = pool_id2solvable(pool, id);
+-                auto low = std::lower_bound(installed_solvables.begin(), installed_solvables.end(), s, NameArchSolvableComparator);
+-                if (low != installed_solvables.end() && s->name == (*low)->name && s->arch == (*low)->arch) {
+-                    candidates.push_back(s);
++                auto low = std::lower_bound(installed_solvables.begin(), installed_solvables.end(), s, NameSolvableComparator);
++                while (low != installed_solvables.end() && (*low)->name == s->name) {
++                    if (s->arch == (*low)->arch || s->arch == ARCH_NOARCH || (*low)->arch == ARCH_NOARCH) {
++                        candidates.push_back(s);
++                        break;
++                    }
++                    ++low;
+                 }
+             }
+ 
+-- 
+2.37.3
+
diff --git a/SOURCES/0001-advisory-upgrade-filter-out-advPkgs-with-different-a.patch b/SOURCES/0001-advisory-upgrade-filter-out-advPkgs-with-different-a.patch
deleted file mode 100644
index 46ea2ca..0000000
--- a/SOURCES/0001-advisory-upgrade-filter-out-advPkgs-with-different-a.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From c17e59faf6075e7ddb803f6393e86653afd6b16d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
-Date: Mon, 30 May 2022 08:59:41 +0200
-Subject: [PATCH] advisory upgrade: filter out advPkgs with different arch
-
-This prevents a situation in security upgrades where libsolv cannot
-upgrade dependent pkgs because we ask for an upgrade of different arch:
-
-We can get the following testcase if libdnf has filtered out
-json-c-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms
-(because there is an advisory for already installed json-c-1-1.el8.x86_64) but
-json-c-2-2.el8.i686@rhel-8-for-x86_64-baseos-rpms is not filtered out because
-it has different architecture. The resulting transaction doesn't work.
-
-```
-repo @System -99.-1000 testtags <inline>
-#>=Pkg: bind-libs-lite 1 1.el8 x86_64
-#>=Pkg: json-c 1 1.el8 x86_64
-
-repo rhel-8-for-x86_64-baseos-rpms -99.-1000 testtags <inline>
-#>=Pkg: json-c 2 2.el8 x86_64
-#>=Prv: libjson-c.so.4()(64bit)
-#>
-#>=Pkg: json-c 2 2.el8 i686
-#>=Prv: libjson-c.so.4()
-#>
-#>=Pkg: bind-libs-lite 2 2.el8 x86_64
-#>=Req: libjson-c.so.4()(64bit)
-system x86_64 rpm @System
-job update oneof json-c-1-1.el8.x86_64@@System json-c-2-2.el8.i686@rhel-8-for-x86_64-baseos-rpms bind-libs-lite-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms [forcebest,targeted,setevr,setarch]
-result transaction,problems <inline>
-#>problem f06d81a4 info package bind-libs-lite-2-2.el8.x86_64 requires libjson-c.so.4()(64bit), but none of the providers can be installed
-#>problem f06d81a4 solution 96f9031b allow bind-libs-lite-1-1.el8.x86_64@@System
-#>problem f06d81a4 solution c8daf94f allow json-c-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms
-#>upgrade bind-libs-lite-1-1.el8.x86_64@@System bind-libs-lite-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms
-#>upgrade json-c-1-1.el8.x86_64@@System json-c-2-2.el8.x86_64@rhel-8-for-x86_64-baseos-rpms```
-```
-
-= changelog =
-msg: Filter out advisory pkgs with different arch during advisory upgrade, fixes possible problems in dependency resulution.
-type: bugfix
-resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2088149
----
- libdnf/sack/query.cpp | 25 +++++++++++++++++++------
- 1 file changed, 19 insertions(+), 6 deletions(-)
-
-diff --git a/libdnf/sack/query.cpp b/libdnf/sack/query.cpp
-index ac2736b5..03d39659 100644
---- a/libdnf/sack/query.cpp
-+++ b/libdnf/sack/query.cpp
-@@ -1877,12 +1877,6 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
-         std::vector<Solvable *> candidates;
-         std::vector<Solvable *> installed_solvables;
- 
--        Id id = -1;
--        while ((id = resultPset->next(id)) != -1) {
--            candidates.push_back(pool_id2solvable(pool, id));
--        }
--        NameArchEVRComparator cmp_key(pool);
--
-         if (cmp_type & HY_UPGRADE) {
-             Query installed(sack, ExcludeFlags::IGNORE_EXCLUDES);
-             installed.installed();
-@@ -1893,6 +1887,18 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
-                 installed_solvables.push_back(pool_id2solvable(pool, installed_id));
-             }
-             std::sort(installed_solvables.begin(), installed_solvables.end(), NameArchSolvableComparator);
-+            Id id = -1;
-+            while ((id = resultPset->next(id)) != -1) {
-+                Solvable * s = pool_id2solvable(pool, id);
-+                // When doing HY_UPGRADE consider only candidate pkgs that have matching Name and Arch
-+                // with some already installed pkg (in other words: some other version of the pkg is already installed).
-+                // Otherwise a pkg with different Arch than installed can end up in upgrade set which is wrong.
-+                // It can result in dependency issues, reported as: RhBug:2088149.
-+                auto low = std::lower_bound(installed_solvables.begin(), installed_solvables.end(), s, NameArchSolvableComparator);
-+                if (low != installed_solvables.end() && s->name == (*low)->name && s->arch == (*low)->arch) {
-+                    candidates.push_back(s);
-+                }
-+            }
- 
-             // Apply security filters only to packages with lower priority - to unify behaviour upgrade
-             // and upgrade-minimal
-@@ -1915,7 +1921,14 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
-                 }
-             }
-             std::swap(candidates, priority_candidates);
-+        } else {
-+            Id id = -1;
-+            while ((id = resultPset->next(id)) != -1) {
-+                candidates.push_back(pool_id2solvable(pool, id));
-+            }
-         }
-+
-+        NameArchEVRComparator cmp_key(pool);
-         std::sort(candidates.begin(), candidates.end(), cmp_key);
-         for (auto & advisoryPkg : pkgs) {
-             if (cmp_type & HY_UPGRADE) {
--- 
-2.36.1
-
diff --git a/SOURCES/0002-Add-obsoletes-to-filtering-for-advisory-candidates.patch b/SOURCES/0002-Add-obsoletes-to-filtering-for-advisory-candidates.patch
deleted file mode 100644
index 1bf2e2d..0000000
--- a/SOURCES/0002-Add-obsoletes-to-filtering-for-advisory-candidates.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 549d248c9b331d19a0fd355fc605ab8912ed50f6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
-Date: Tue, 5 Jul 2022 09:02:22 +0200
-Subject: [PATCH] Add obsoletes to filtering for advisory candidates
-
-Patch https://github.com/rpm-software-management/libdnf/pull/1526
-introduced a regression where we no longer do a security upgrade if a
-package A is installed and package B obsoletes A and B is available in two
-versions while there is an advisory for the second version.
-
-Test: https://github.com/rpm-software-management/ci-dnf-stack/pull/1130
----
- libdnf/sack/query.cpp | 32 ++++++++++++++++++++++++++++----
- 1 file changed, 28 insertions(+), 4 deletions(-)
-
-diff --git a/libdnf/sack/query.cpp b/libdnf/sack/query.cpp
-index 03d39659..5355f9f7 100644
---- a/libdnf/sack/query.cpp
-+++ b/libdnf/sack/query.cpp
-@@ -1878,6 +1878,13 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
-         std::vector<Solvable *> installed_solvables;
- 
-         if (cmp_type & HY_UPGRADE) {
-+            // When doing HY_UPGRADE consider only candidate pkgs that have matching Name and Arch with:
-+            // * some already installed pkg (in other words: some other version of the pkg is already installed)
-+            // or
-+            // * with pkg that obsoletes some already installed (or to be installed in this transaction) pkg
-+            // Otherwise a pkg with different Arch than installed can end up in upgrade set which is wrong.
-+            // It can result in dependency issues, reported as: RhBug:2088149.
-+
-             Query installed(sack, ExcludeFlags::IGNORE_EXCLUDES);
-             installed.installed();
-             installed.addFilter(HY_PKG_LATEST_PER_ARCH, HY_EQ, 1);
-@@ -1887,13 +1894,30 @@ Query::Impl::filterAdvisory(const Filter & f, Map *m, int keyname)
-                 installed_solvables.push_back(pool_id2solvable(pool, installed_id));
-             }
-             std::sort(installed_solvables.begin(), installed_solvables.end(), NameArchSolvableComparator);
-+
-+            Query obsoletes(sack, ExcludeFlags::IGNORE_EXCLUDES);
-+            obsoletes.addFilter(HY_PKG, HY_EQ, resultPset);
-+            obsoletes.available();
-+
-+            Query possibly_obsoleted(sack, ExcludeFlags::IGNORE_EXCLUDES);
-+            possibly_obsoleted.addFilter(HY_PKG, HY_EQ, resultPset);
-+            possibly_obsoleted.addFilter(HY_PKG_UPGRADES, HY_EQ, 1);
-+            possibly_obsoleted.queryUnion(installed);
-+            possibly_obsoleted.apply();
-+
-+            obsoletes.addFilter(HY_PKG_OBSOLETES, HY_EQ, possibly_obsoleted.runSet());
-+            obsoletes.apply();
-+            Id obsoleted_id = -1;
-+            // Add to candidates resultPset pkgs that obsolete some installed (or to be installed in this transaction) pkg
-+            while ((obsoleted_id = obsoletes.pImpl->result->next(obsoleted_id)) != -1) {
-+                Solvable * s = pool_id2solvable(pool, obsoleted_id);
-+                candidates.push_back(s);
-+            }
-+
-             Id id = -1;
-+            // Add to candidates resultPset pkgs that match name and arch with some already installed pkg
-             while ((id = resultPset->next(id)) != -1) {
-                 Solvable * s = pool_id2solvable(pool, id);
--                // When doing HY_UPGRADE consider only candidate pkgs that have matching Name and Arch
--                // with some already installed pkg (in other words: some other version of the pkg is already installed).
--                // Otherwise a pkg with different Arch than installed can end up in upgrade set which is wrong.
--                // It can result in dependency issues, reported as: RhBug:2088149.
-                 auto low = std::lower_bound(installed_solvables.begin(), installed_solvables.end(), s, NameArchSolvableComparator);
-                 if (low != installed_solvables.end() && s->name == (*low)->name && s->arch == (*low)->arch) {
-                     candidates.push_back(s);
--- 
-2.36.1
-
diff --git a/SOURCES/0002-Update-translations-RHEL-9.2.patch b/SOURCES/0002-Update-translations-RHEL-9.2.patch
new file mode 100644
index 0000000..c5d1c30
--- /dev/null
+++ b/SOURCES/0002-Update-translations-RHEL-9.2.patch
@@ -0,0 +1,4331 @@
+From a28668c95805bb2fd5087076284eb98bed6746bf Mon Sep 17 00:00:00 2001
+From: Marek Blaha <mblaha@redhat.com>
+Date: Wed, 8 Mar 2023 13:09:08 +0100
+Subject: [PATCH] Update translations RHEL 9.2
+
+---
+ po/fr.po      | 416 +++++++++++++++++++++++++------------------
+ po/ja.po      | 477 +++++++++++++++++++++++++++++++-------------------
+ po/ko.po      | 402 +++++++++++++++++++++++++-----------------
+ po/libdnf.pot | 290 ++++++++++++++++++------------
+ po/zh_CN.po   | 439 +++++++++++++++++++++++++++-------------------
+ 5 files changed, 1222 insertions(+), 802 deletions(-)
+
+diff --git a/po/fr.po b/po/fr.po
+index 20e8417a..b0ef48aa 100644
+--- a/po/fr.po
++++ b/po/fr.po
+@@ -1,27 +1,28 @@
+-# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2016. #zanata, 2021.
++# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2016. #zanata
+ # José Fournier <jaaf64@zoraldia.com>, 2016. #zanata
+ # José Fournier <jaaf64@zoraldia.com>, 2017. #zanata
+ # Jérôme Fenal <jfenal@gmail.com>, 2017. #zanata
+-# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
+-# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata, 2021.
+-# Julien Humbert <julroy67@gmail.com>, 2020, 2021.
+-# Arnaud T. <listes.00@gmail.com>, 2020.
+-# Sundeep Anand <suanand@redhat.com>, 2021.
++# Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021, 2022.
++# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata
++# Julien Humbert <julroy67@gmail.com>, 2020.
++# Sundeep Anand <suanand@redhat.com>, 2021, 2022.
+ # Titouan Bénard <itotutona@evta.fr>, 2021.
++# Transtats <suanand@redhat.com>, 2023.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2022-01-05 01:53+0000\n"
+-"PO-Revision-Date: 2021-10-10 00:45+0000\n"
+-"Last-Translator: Titouan Bénard <itotutona@evta.fr>\n"
+-"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/libdnf-dnf-4-master/fr/>\n"
++"POT-Creation-Date: 2023-02-28 09:24+0100\n"
++"PO-Revision-Date: 2023-03-07 14:20+0000\n"
++"Last-Translator: Transtats <suanand@redhat.com>\n"
++"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/"
++"libdnf-rhel-9/fr/>\n"
+ "Language: fr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=2; plural=n > 1;\n"
+-"X-Generator: Weblate 4.8\n"
++"X-Generator: Weblate 4.15.2\n"
+ 
+ #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40
+ msgid "no value specified"
+@@ -110,73 +111,72 @@ msgstr "n’a pu convertir « %s » en secondes"
+ msgid "GetValue(): Value not set"
+ msgstr "GetValue() : valeur non définie"
+ 
+-#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
++#: libdnf/dnf-context.cpp:3189 libdnf/dnf-context.cpp:3198
+ #, c-format
+ msgid "Cannot enable more streams from module '%s' at the same time"
+ msgstr "Ne peut pas activer plus de flux du module '%s' en même temps"
+ 
+-#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
++#: libdnf/dnf-context.cpp:3207 libdnf/dnf-context.cpp:3225
+ #, c-format
+ msgid ""
+ "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
+ msgstr ""
+-"Impossible d'activer le flux de module '%1$s' stream '%2$s' : état du module"
+-" déjà modifié"
++"Impossible d'activer le flux de module '%1$s' stream '%2$s' : état du module "
++"déjà modifié"
+ 
+-#: libdnf/dnf-context.cpp:3263
++#: libdnf/dnf-context.cpp:3274
+ #, c-format
+ msgid "Modular dependency problem with Defaults: %s"
+ msgstr "Problème de dépendance modulaire avec les valeurs par défaut : %s"
+ 
+-#: libdnf/dnf-context.cpp:3266
++#: libdnf/dnf-context.cpp:3277
+ #, c-format
+ msgid "Modular dependency problem with the latest modules: %s"
+ msgstr "Problème de dépendance modulaire avec les derniers modules : %s"
+ 
+-#: libdnf/dnf-context.cpp:3270
++#: libdnf/dnf-context.cpp:3281
+ #, c-format
+ msgid "Modular dependency problem: %s"
+ msgstr "Problème de dépendance modulaire : %s"
+ 
+-#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
+-#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
+-#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
+-#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
++#: libdnf/dnf-context.cpp:3304 libdnf/dnf-context.cpp:3328
++#: libdnf/dnf-context.cpp:3339 libdnf/dnf-context.cpp:3378
++#: libdnf/dnf-context.cpp:3394 libdnf/dnf-context.cpp:3426
++#: libdnf/dnf-context.cpp:3475 libdnf/dnf-context.cpp:3485
+ #, c-format
+ msgid "Unable to resolve argument '%s'"
+ msgstr "Impossible de résoudre le paramètre ’%s’"
+ 
+-#: libdnf/dnf-context.cpp:3300
++#: libdnf/dnf-context.cpp:3311
+ #, c-format
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'%s'"
++"Only module name is required. Ignoring unneeded information in argument: '%s'"
+ msgstr ""
+ "Seul le nom du module est nécessaire. Les paramètres inutiles ont été "
+ "ignorés : ’%s’"
+ 
+-#: libdnf/dnf-context.cpp:3314
++#: libdnf/dnf-context.cpp:3325
+ #, c-format
+ msgid "Cannot reset module '%s': State of module already modified"
+ msgstr ""
+ "Impossible de réinitialiser le module '%s' : État du module déjà modifié"
+ 
+-#: libdnf/dnf-context.cpp:3325
++#: libdnf/dnf-context.cpp:3336
+ #, c-format
+ msgid "Cannot disable module '%s': State of module already modified"
+ msgstr "Impossible de désactiver le module '%s' : État du module déjà modifié"
+ 
+-#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
+-#: libdnf/dnf-context.cpp:3633
++#: libdnf/dnf-context.cpp:3367 libdnf/dnf-context.cpp:3463
++#: libdnf/dnf-context.cpp:3644
+ msgid "No modular data available"
+ msgstr "Aucune donnée modulaire disponible"
+ 
+-#: libdnf/dnf-context.cpp:3373
++#: libdnf/dnf-context.cpp:3384
+ #, c-format
+ msgid "Ignoring unneeded information in argument: '%s'"
+ msgstr "Ignorer les informations inutiles dans l'argumentation : '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3411
++#: libdnf/dnf-context.cpp:3422
+ #, c-format
+ msgid ""
+ "Problem during enablement of dependency tree for module '%1$s' stream "
+@@ -185,72 +185,71 @@ msgstr ""
+ "Problème lors de l'activation de l'arbre des dépendances pour le module "
+ "'%1$s' flux '%2$s' : %3$s"
+ 
+-#: libdnf/dnf-context.cpp:3423
++#: libdnf/dnf-context.cpp:3434
+ msgid "Problems appeared for module enable request:"
+-msgstr "Des problèmes sont apparus durant la requête d’activation du module :"
++msgstr "Des problèmes sont apparus pour la demande d'activation du module :"
+ 
+-#: libdnf/dnf-context.cpp:3518
++#: libdnf/dnf-context.cpp:3529
+ #, c-format
+ msgid "No active module packages found for module spec '%s'"
+ msgstr ""
+-"Aucun package de module actif trouvé pour la spécification de module '%s'"
++"Aucun paquetage de module actif n'a été trouvé pour le module spec '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3523
++#: libdnf/dnf-context.cpp:3534
+ #, c-format
+ msgid "Cannot install module '%s' from fail-safe repository"
+-msgstr ""
+-"Impossible d'installer le module '%s' à partir du référentiel de sécurité "
+-"intégrée"
++msgstr "Impossible d'installer le module '%s' à partir du dépôt de sécurité"
+ 
+-#: libdnf/dnf-context.cpp:3530
++#: libdnf/dnf-context.cpp:3541
+ #, c-format
+ msgid "No profile found matching '%s'"
+ msgstr "Aucun profil trouvé correspondant à '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3584
++#: libdnf/dnf-context.cpp:3595
+ #, c-format
+ msgid "No match for package '%s' for module spec %s"
+-msgstr ""
+-"Aucune correspondance pour le package '%s' pour la spécification de module "
+-"%s"
++msgstr "Aucune correspondance pour le paquet '%s' pour le module spec %s"
+ 
+-#: libdnf/dnf-context.cpp:3595
++#: libdnf/dnf-context.cpp:3606
+ #, c-format
+ msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
+-msgstr ""
+-"Problème lors de l'installation du module « %1$s » du flux « %2$s » : %3$s"
++msgstr "Problème lors de l'installation du module '%1$s' stream '%2$s' : %3$s"
+ 
+-#: libdnf/dnf-context.cpp:3604
++#: libdnf/dnf-context.cpp:3615
+ msgid "Problems appeared for module install request:"
+-msgstr ""
+-"Des problèmes sont apparus durant la requête d’installation du module :"
++msgstr "Des problèmes sont apparus pour la demande d'installation du module :"
+ 
+-#: libdnf/dnf-context.cpp:3663
++#: libdnf/dnf-context.cpp:3674
+ msgid "Problems appeared for module reset request:"
+ msgstr ""
+-"Des problèmes sont apparus durant la requête de réinitialisation du module :"
++"Des problèmes sont apparus pour la demande de réinitialisation des modules :"
+ 
+-#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
++#: libdnf/dnf-context.cpp:3675 libdnf/dnf-context.cpp:3734
+ msgid "Problems appeared for module disable request:"
+ msgstr ""
+-"Des problèmes sont apparus durant la requête de désactivation du module :"
++"Des problèmes sont apparus pour la demande de désactivation du module :"
+ 
+-#: libdnf/dnf-context.cpp:3755
++#: libdnf/dnf-context.cpp:3766
+ #, c-format
+ msgid ""
+-"The operation would result in switching of module '%s' stream '%s' to stream"
+-" '%s'"
++"The operation would result in switching of module '%s' stream '%s' to stream "
++"'%s'"
+ msgstr ""
+-"Le résultat de l’opération sera le basculement du flux « %s » du module « %s"
+-" » vers le flux « %s »"
++"Le résultat de l’opération sera le basculement du flux « %s » du module « %s "
++"» vers le flux « %s »"
+ 
+-#: libdnf/dnf-context.cpp:3759
++#: libdnf/dnf-context.cpp:3770
+ msgid ""
+ "It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset <module_name>' command. After you reset the module, you can install the other stream."
++"It is recommended to remove all installed content from the module, and reset "
++"the module using 'microdnf module reset <module_name>' command. After you "
++"reset the module, you can install the other stream."
+ msgstr ""
+ "Il n’est pas possible de basculer les flux actifs d’un module. \n"
+-"Il est recommandé de retirer tout contenu installé par le module, et de réinitialiser le mode en utilisant la commande 'microdnf module reset <module_name>’. Après la réinitialisation du module, vous pouvez installer les autres flux."
++"Il est recommandé de retirer tout contenu installé par le module, et de "
++"réinitialiser le mode en utilisant la commande 'microdnf module reset "
++"<module_name>’. Après la réinitialisation du module, vous pouvez installer "
++"les autres flux."
+ 
+ #: libdnf/dnf-goal.cpp:107
+ msgid "Could not depsolve transaction; "
+@@ -335,84 +334,134 @@ msgstr "n’a pas pu trouver le package %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "n’a pas pu ajouter d’élément pour effacer %1$s(%2$i)"
+ 
+-#: libdnf/dnf-sack.cpp:395
+-msgid "failed to add solv"
+-msgstr "n’a pu ajouter solv"
++#: libdnf/dnf-sack.cpp:251
++msgid "repo_add_solv() has failed."
++msgstr "repo_add_solv() a échoué."
++
++#: libdnf/dnf-sack.cpp:415
++#, c-format
++msgid "Loading extension cache %s (%d) failed: "
++msgstr "Le chargement du cache d'extension %s (%d) a échoué : "
+ 
+-#: libdnf/dnf-sack.cpp:414
++#: libdnf/dnf-sack.cpp:429
+ #, c-format
+ msgid "no %1$s string for %2$s"
+ msgstr "aucune chaine %1$s pour %2$s"
+ 
+-#: libdnf/dnf-sack.cpp:424
++#: libdnf/dnf-sack.cpp:439
+ #, c-format
+ msgid "failed to open: %s"
+ msgstr "n’a pas pu ouvrir : %s"
+ 
+-#: libdnf/dnf-sack.cpp:503
++#: libdnf/dnf-sack.cpp:518
+ #, c-format
+ msgid "cannot create temporary file: %s"
+ msgstr "n’a pas pu créer le fichier temporaire : %s"
+ 
+-#: libdnf/dnf-sack.cpp:513
++#: libdnf/dnf-sack.cpp:528
+ #, c-format
+ msgid "failed opening tmp file: %s"
+ msgstr "n’a pas pu ouvrir le fichier tmp : %s"
+ 
+-#: libdnf/dnf-sack.cpp:525
++#: libdnf/dnf-sack.cpp:550
+ #, c-format
+-msgid "write_main() failed writing data: %i"
+-msgstr "write_main() n’a pu écrire les données : %i"
++msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
++msgstr ""
++"Lors de l'écriture dans le cache primaire %s, l'écriture dans le repowriter "
++"a échoué : %i, erreur : %s"
++
++#: libdnf/dnf-sack.cpp:560
++#, c-format
++msgid "Failed closing tmp file %s: %s"
++msgstr "Échec de la fermeture du fichier tmp %s : %s"
+ 
+-#: libdnf/dnf-sack.cpp:542
+-msgid "write_main() failed to re-load written solv file"
+-msgstr "write_main() n’a pas pu charger à nouveau le fichier solv"
++#: libdnf/dnf-sack.cpp:570
++#, c-format
++msgid "Failed to use newly written primary cache: %s: "
++msgstr "Échec de l'utilisation du cache primaire nouvellement écrit : %s : "
+ 
+-#: libdnf/dnf-sack.cpp:607
++#: libdnf/dnf-sack.cpp:576
++#, c-format
++msgid "Failed to use newly written primary cache: %s"
++msgstr "Échec de l'utilisation du cache primaire nouvellement écrit : %s"
++
++#: libdnf/dnf-sack.cpp:626
+ #, c-format
+ msgid "can not create temporary file %s"
+ msgstr "n’a pas pu créer le fichier temporaire %s"
+ 
+-#: libdnf/dnf-sack.cpp:625
++#: libdnf/dnf-sack.cpp:666
++#, c-format
++msgid ""
++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
++msgstr ""
++"Lors de l'écriture du cache d'extension %s (%d) : écriture repowriter ayant "
++"échoué : %i, erreur : %s"
++
++#: libdnf/dnf-sack.cpp:676
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
+-msgstr "write_ext(%1$d) a échoué : %2$d"
++msgid "While writing extension cache (%d): cannot close temporary file: %s"
++msgstr ""
++"Lors de l'écriture du cache d'extension (%d) : impossible de fermer le "
++"fichier temporaire : %s"
+ 
+-#: libdnf/dnf-sack.cpp:680
++#: libdnf/dnf-sack.cpp:692
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d): "
++msgstr "Impossible d'utiliser le nouveau cache d'extension écrit : %s (%d) : "
++
++#: libdnf/dnf-sack.cpp:699
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d)"
++msgstr "Impossible d'utiliser le nouveau cache d'extension écrit : %s (%d)"
++
++#: libdnf/dnf-sack.cpp:740
+ msgid "null repo md file"
+ msgstr "fichier md de dépôt nul"
+ 
+-#: libdnf/dnf-sack.cpp:689
++#: libdnf/dnf-sack.cpp:749
+ #, c-format
+ msgid "can not read file %1$s: %2$s"
+ msgstr "n’a pu lire le fichier %1$s : %2$s"
+ 
+-#: libdnf/dnf-sack.cpp:703
+-msgid "repo_add_solv() has failed."
+-msgstr "repo_add_solv() a échoué."
++#: libdnf/dnf-sack.cpp:764
++#, c-format
++msgid "While loading repository failed to use %s: "
++msgstr "Lors du chargement du référentiel, l'utilisation de %s a échoué : "
+ 
+-#: libdnf/dnf-sack.cpp:716
++#: libdnf/dnf-sack.cpp:775
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr "échec du chargement du MD_TYPE_PRIMARY."
+ 
+-#: libdnf/dnf-sack.cpp:729
+-msgid "repo_add_repomdxml/rpmmd() has failed."
+-msgstr "repo_add_repomdxml/rpmmd() a échoué."
++#: libdnf/dnf-sack.cpp:784
++#, c-format
++msgid "Opening repository primary data has failed: %s"
++msgstr "L'ouverture des données primaires du référentiel a échoué : %s"
++
++#: libdnf/dnf-sack.cpp:795
++#, c-format
++msgid "Loading repomd has failed: %s"
++msgstr "Le chargement de repomd a échoué : %s"
++
++#: libdnf/dnf-sack.cpp:806
++#, c-format
++msgid "Loading primary has failed: %s"
++msgstr "Le chargement du primaire a échoué : %s"
+ 
+-#: libdnf/dnf-sack.cpp:796
++#: libdnf/dnf-sack.cpp:872
+ msgid "failed to auto-detect architecture"
+ msgstr "n’a pu auto-détecter l’architecture"
+ 
+-#: libdnf/dnf-sack.cpp:961
++#: libdnf/dnf-sack.cpp:1037
+ #, c-format
+ msgid "failed creating cachedir %s"
+ msgstr "n’a pu créer le cachedir %s"
+ 
+-#: libdnf/dnf-sack.cpp:1738
++#: libdnf/dnf-sack.cpp:1814
+ msgid "failed loading RPMDB"
+ msgstr "n’a pu télécharger RPMDB"
+ 
+-#: libdnf/dnf-sack.cpp:2522
++#: libdnf/dnf-sack.cpp:2598
+ #, c-format
+ msgid "No module defaults found: %s"
+ msgstr "Aucun module par défaut n’a été trouvé : %s"
+@@ -441,75 +490,85 @@ msgstr "effectué sur un état %1$p qui n’avait pas de taille définie [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "déjà en état à 100%% [%s]"
+ 
+-#: libdnf/dnf-transaction.cpp:300
++#: libdnf/dnf-transaction.cpp:302
+ #, c-format
+ msgid "Sources not set when trying to ensure package %s"
+ msgstr "Sources non définies quand vous essayez d’assurer paquet %s"
+ 
+-#: libdnf/dnf-transaction.cpp:326
++#: libdnf/dnf-transaction.cpp:328
+ #, c-format
+ msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr "N’a pu assurer %1$s comme dépôt %2$s non trouvé (%3$i dépôts chargés)"
+ 
+-#: libdnf/dnf-transaction.cpp:367
++#: libdnf/dnf-transaction.cpp:369
+ msgid "Failed to check untrusted: "
+ msgstr "Échec de la vérification d’untrusted : "
+ 
+-#: libdnf/dnf-transaction.cpp:377
++#: libdnf/dnf-transaction.cpp:379
+ #, c-format
+ msgid "Downloaded file for %s not found"
+ msgstr "Fichier téléchargé pour %s non trouvé"
+ 
+-#: libdnf/dnf-transaction.cpp:397
++#: libdnf/dnf-transaction.cpp:399
+ #, c-format
+ msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ "le paquet %1$s ne peut être vérifié et le dépôt %2$s est activé GPG : %3$s"
+ 
+-#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
++#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
+ msgid "Failed to get value for CacheDir"
+ msgstr "N’a pas pu obtenir la valeur de CacheDir"
+ 
+-#: libdnf/dnf-transaction.cpp:911
++#: libdnf/dnf-transaction.cpp:913
+ #, c-format
+ msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ "Échec de l’obtention de l’espace libre du système de fichiers pour %s : "
+ 
+-#: libdnf/dnf-transaction.cpp:919
++#: libdnf/dnf-transaction.cpp:921
+ #, c-format
+ msgid "Failed to get filesystem free size for %s"
+ msgstr "N’a pas pu obtenir la taille libre du système de fichiers pour %s"
+ 
+-#: libdnf/dnf-transaction.cpp:935
++#: libdnf/dnf-transaction.cpp:937
+ #, c-format
+ msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+-"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible "
+-"%3$s"
++"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible %3$s"
+ 
+-#: libdnf/dnf-transaction.cpp:1195
++#: libdnf/dnf-transaction.cpp:1196
+ msgid "failed to set root"
+ msgstr "n’a pu réussi à définir root"
+ 
+-#: libdnf/dnf-transaction.cpp:1416
++#: libdnf/dnf-transaction.cpp:1417
+ #, c-format
+ msgid "Error %i running transaction test"
+ msgstr "Erreur %i lors du test transactionnel"
+ 
+-#: libdnf/dnf-transaction.cpp:1456
++#: libdnf/dnf-transaction.cpp:1441
++#, c-format
++msgid "Error %i opening rpm database"
++msgstr "Erreur %i lors de l’ouverture de la base de données rpm"
++
++#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
++msgid "The rpmdbCookie() function did not return cookie of rpm database."
++msgstr ""
++"La fonction rpmdbCookie() n'a pas retourné le cookie de la base de données "
++"rpm."
++
++#: libdnf/dnf-transaction.cpp:1464
+ #, c-format
+ msgid "Error %i running transaction"
+ msgstr "Erreur %i pendant la transaction"
+ 
+-#: libdnf/dnf-transaction.cpp:1472
++#: libdnf/dnf-transaction.cpp:1480
+ #, c-format
+ msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ "La transaction n’a pas pu opérer en phase d’écriture, mais a renvoyé « no "
+ "error(%i) »"
+ 
+-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
+ #, c-format
+ msgid "cannot open directory %1$s: %2$s"
+ msgstr "impossible d’ouvrir le dossier %1$s : %2$s"
+@@ -528,8 +587,7 @@ msgstr ""
+ #: libdnf/goal/Goal.cpp:79
+ msgid "Ill-formed Selector used for the operation, incorrect comparison type"
+ msgstr ""
+-"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison "
+-"incorrecte"
++"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison incorrecte"
+ 
+ #: libdnf/goal/Goal.cpp:90 libdnf/goal/Goal.cpp:117
+ msgid " does not belong to a distupgrade repository"
+@@ -717,63 +775,70 @@ msgstr "le module %s est en conflit avec %s fourni par lui-même"
+ msgid "both module %s and %s obsolete %s"
+ msgstr "à la fois le module %s et %s rendent obsolète %s"
+ 
+-#: libdnf/goal/Goal.cpp:1141
++#: libdnf/goal/Goal.cpp:1157
+ msgid "no solver set"
+ msgstr "aucun solveur défini"
+ 
+-#: libdnf/goal/Goal.cpp:1146
++#: libdnf/goal/Goal.cpp:1162
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "n’a pas pu rendre %s absolu"
+ 
+-#: libdnf/goal/Goal.cpp:1153
++#: libdnf/goal/Goal.cpp:1169
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "échec de l’écriture des debugdata dans %1$s : %2$s"
+ 
+-#: libdnf/goal/Goal.cpp:1165
++#: libdnf/goal/Goal.cpp:1181
+ msgid "no solv in the goal"
+ msgstr "pas de solv dans l’objectif"
+ 
+-#: libdnf/goal/Goal.cpp:1167
++#: libdnf/goal/Goal.cpp:1183
+ msgid "no solution, cannot remove protected package"
+ msgstr "aucune solution, n’a pas pu supprimer le package protégé"
+ 
+-#: libdnf/goal/Goal.cpp:1170
++#: libdnf/goal/Goal.cpp:1186
+ msgid "no solution possible"
+ msgstr "aucune solution n’est possible"
+ 
+-#: libdnf/goal/Goal.cpp:1296
++#: libdnf/goal/Goal.cpp:1312
+ msgid "Problem: "
+ msgstr "Problème : "
+ 
+-#: libdnf/goal/Goal.cpp:1301
++#: libdnf/goal/Goal.cpp:1317
+ #, c-format
+ msgid "Problem %d: "
+ msgstr "Probléme %d : "
+ 
+-#: libdnf/goal/Goal.cpp:1634
++#: libdnf/goal/Goal.cpp:1650
+ 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/hy-iutil.cpp:326
++#: libdnf/hy-iutil.cpp:181
++#, c-format
++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
++msgstr ""
++"La solv_toolversion de Libsolv est : %zu long mais nous attendons un maximum "
++"de : %zu"
++
++#: libdnf/hy-iutil.cpp:408
+ #, 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"
+ 
+-#: libdnf/hy-iutil.cpp:334
++#: libdnf/hy-iutil.cpp:416
+ #, c-format
+ msgid "Failed setting perms on %1$s: %2$s"
+ msgstr "N’a pas pu définir les permissions sur %1$s : %2$s"
+ 
+-#: libdnf/hy-iutil.cpp:380
++#: libdnf/hy-iutil.cpp:462
+ #, c-format
+ msgid "cannot create directory %1$s: %2$s"
+ msgstr "impossible de créer le dossier %1$s : %2$s"
+ 
+-#: libdnf/hy-iutil.cpp:415
++#: libdnf/hy-iutil.cpp:497
+ #, c-format
+ msgid "cannot stat path %1$s: %2$s"
+ msgstr "impossible de stat le chemin %1$s : %2$s"
+@@ -870,8 +935,7 @@ msgstr ""
+ #: libdnf/module/ModulePackageContainer.cpp:1830
+ #, c-format
+ msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr ""
+-"Impossible de supprimer les données de sécurité modulaires dans « %s »"
++msgstr "Impossible de supprimer les données de sécurité modulaires dans « %s »"
+ 
+ #: libdnf/module/ModulePackageContainer.cpp:1862
+ #, c-format
+@@ -958,8 +1022,8 @@ msgid ""
+ "operator instead."
+ msgstr ""
+ "L’utilisation de l’opérateur « == » dans reldeps peut entraîner un "
+-"comportement indéfini. Il est déprécié et le support sera abandonné dans les"
+-" prochaines versions. Utilisez plutôt l’opérateur « = »."
++"comportement indéfini. Il est déprécié et le support sera abandonné dans les "
++"prochaines versions. Utilisez plutôt l’opérateur « = »."
+ 
+ #: libdnf/repo/Repo.cpp:321
+ #, c-format
+@@ -972,175 +1036,175 @@ 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:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641
+-#: libdnf/repo/Repo.cpp:1400
++#: libdnf/repo/Repo.cpp:491 libdnf/repo/Repo.cpp:612 libdnf/repo/Repo.cpp:643
++#: libdnf/repo/Repo.cpp:1407
+ #, c-format
+ msgid "repo '%s': 'basecachedir' is not set"
+ msgstr "repo '%s' : 'basecachedir' n'est pas fixé"
+ 
+-#: libdnf/repo/Repo.cpp:512
++#: libdnf/repo/Repo.cpp:514
+ msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++"Maximum download speed is lower than minimum. Please change configuration of "
++"minrate or throttle"
+ msgstr ""
+ "La vitesse de téléchargement maximale est plus basse que le minimum. "
+ "Veuillez modifier les paramètres minrate ou throttle"
+ 
+-#: libdnf/repo/Repo.cpp:546
++#: libdnf/repo/Repo.cpp:548
+ #, c-format
+ msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'"
+ msgstr "repo '%s' : 'proxy_username' est défini mais pas 'proxy_password'"
+ 
+-#: libdnf/repo/Repo.cpp:548
++#: libdnf/repo/Repo.cpp:550
+ msgid "'proxy_username' is set but not 'proxy_password'"
+ msgstr ""
+ "Le nom d'utilisateur \"proxy_username\" est défini mais pas le mot de passe "
+ "\"proxy_password\""
+ 
+-#: libdnf/repo/Repo.cpp:629
++#: libdnf/repo/Repo.cpp:631
+ #, 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:660 libdnf/repo/Repo.cpp:682
++#: libdnf/repo/Repo.cpp:662 libdnf/repo/Repo.cpp:684
+ #, c-format
+ msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr "%s : gpgme_data_new_from_fd() : %s"
+ 
+-#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690
++#: libdnf/repo/Repo.cpp:670 libdnf/repo/Repo.cpp:692
+ #, c-format
+ msgid "%s: gpgme_op_import(): %s"
+ msgstr "%s : gpgme_op_import() : %s"
+ 
+-#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162
+-#: libdnf/repo/Repo.cpp:1236 libdnf/repo/Repo.cpp:1279
++#: libdnf/repo/Repo.cpp:711 libdnf/repo/Repo.cpp:1169 libdnf/repo/Repo.cpp:1243
++#: libdnf/repo/Repo.cpp:1286
+ #, c-format
+ msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr "Impossible de créer le répertoire temporaire du dépôt « %s » : %s"
+ 
+-#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917
++#: libdnf/repo/Repo.cpp:719 libdnf/repo/Repo.cpp:785 libdnf/repo/Repo.cpp:919
+ #, c-format
+ msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr "%s : gpgme_ctx_set_engine_info() : %s"
+ 
+-#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808
++#: 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:837
++#: libdnf/repo/Repo.cpp:839
+ #, c-format
+ msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr "Impossible de récupérer la clé GPG pour le dépôt « %s » : %s"
+ 
+-#: libdnf/repo/Repo.cpp:890
++#: libdnf/repo/Repo.cpp:892
+ #, c-format
+ msgid "repo %s: 0x%s already imported"
+ msgstr "dépôt %s : 0x%s déjà importé"
+ 
+-#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79
++#: libdnf/repo/Repo.cpp:906 libdnf/utils/filesystem.cpp:79
+ #, c-format
+ msgid "Failed to create directory \"%s\": %d - %s"
+ msgstr "Impossible de créer le répertoire \"%s« :%d - %s"
+ 
+-#: libdnf/repo/Repo.cpp:924
++#: libdnf/repo/Repo.cpp:926
+ #, c-format
+ msgid "repo %s: imported key 0x%s."
+ msgstr "dépôt %s : clé importée 0x%s."
+ 
+-#: libdnf/repo/Repo.cpp:1176
++#: libdnf/repo/Repo.cpp:1183
+ #, 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:1195
++#: libdnf/repo/Repo.cpp:1202
+ #, 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:1218
++#: libdnf/repo/Repo.cpp:1225
+ #, 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:1224
++#: libdnf/repo/Repo.cpp:1231
+ #, c-format
+ msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ "relance : « %s » peut être relancé - la somme de contrôle du méta-lien "
+ "correspond."
+ 
+-#: libdnf/repo/Repo.cpp:1253
++#: libdnf/repo/Repo.cpp:1260
+ #, c-format
+ msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr "relance : « %s » peut être relancé - le repomd correspond."
+ 
+-#: libdnf/repo/Repo.cpp:1255
++#: libdnf/repo/Repo.cpp:1262
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr "relance : échec pour « %s », le repomd ne correspond pas."
+ 
+-#: libdnf/repo/Repo.cpp:1273
++#: libdnf/repo/Repo.cpp:1280
+ #, c-format
+ msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr "Impossible de créer le répertoire de destination du dépôt « %s » : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1293
++#: libdnf/repo/Repo.cpp:1300
+ #, c-format
+ msgid "Cannot create directory \"%s\": %s"
+ msgstr "Impossible de créer le répertoire « %s » : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1316
++#: libdnf/repo/Repo.cpp:1323
+ #, c-format
+ msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr "Impossible de renommer le répertoire « %s » en « %s » : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1339
++#: libdnf/repo/Repo.cpp:1346
+ #, c-format
+ msgid "repo: using cache for: %s"
+ msgstr "dépôt : utilisation du cache pour : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1351
++#: libdnf/repo/Repo.cpp:1358
+ #, c-format
+ msgid "Cache-only enabled but no cache for '%s'"
+ msgstr "« cache uniquement » activé, mais pas de cache pour « %s »"
+ 
+-#: libdnf/repo/Repo.cpp:1355
++#: libdnf/repo/Repo.cpp:1362
+ #, c-format
+ msgid "repo: downloading from remote: %s"
+ msgstr "dépôt : téléchargement à distance en provenance de : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1362
++#: libdnf/repo/Repo.cpp:1369
+ #, c-format
+ msgid "Failed to download metadata for repo '%s': %s"
+ msgstr "Échec du téléchargement des métadonnées pour le dépôt « %s » : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1388
++#: libdnf/repo/Repo.cpp:1395
+ msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr "getCachedir() : échec du calcul de SHA256"
+ 
+-#: libdnf/repo/Repo.cpp:1416
++#: libdnf/repo/Repo.cpp:1423
+ #, c-format
+ msgid "Cannot create persistdir \"%s\": %s"
+ msgstr "Impossible de créer le dossier persistant « %s » : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1793
++#: libdnf/repo/Repo.cpp:1800
+ 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:1810
++#: libdnf/repo/Repo.cpp:1817
+ #, c-format
+ msgid "PackageTarget initialization failed: %s"
+ msgstr "L’initialisation de Package Target a échoué : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1916
++#: libdnf/repo/Repo.cpp:1923
+ #, c-format
+ msgid "Cannot open %s: %s"
+ msgstr "impossible d’ouvrir %s : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1960
++#: libdnf/repo/Repo.cpp:1967
+ #, c-format
+ msgid "Log handler with id %ld doesn't exist"
+ msgstr "Log handler ayant pour id %ld n’existe pas"
+@@ -1159,12 +1223,12 @@ msgstr "Pas en cours"
+ msgid "No transaction in progress"
+ msgstr "Aucune transaction n’est en cours"
+ 
+-#: libdnf/transaction/TransactionItem.cpp:147
++#: libdnf/transaction/TransactionItem.cpp:146
+ 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/transaction/TransactionItem.cpp:218
++#: libdnf/transaction/TransactionItem.cpp:217
+ msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ "Tentative de mettre à jour un élément de transaction dans une transaction "
+@@ -1199,11 +1263,23 @@ msgid "Can't add console output to unsaved transaction"
+ msgstr ""
+ "Ne peut pas ajouter une sortie de console à une transaction non enregistrée"
+ 
++#~ msgid "failed to add solv"
++#~ msgstr "n’a pu ajouter solv"
++
++#~ msgid "write_main() failed writing data: %i"
++#~ msgstr "write_main() n’a pu écrire les données : %i"
++
++#~ msgid "write_main() failed to re-load written solv file"
++#~ msgstr "write_main() n’a pas pu charger à nouveau le fichier solv"
++
++#~ msgid "write_ext(%1$d) has failed: %2$d"
++#~ msgstr "write_ext(%1$d) a échoué : %2$d"
++
++#~ msgid "repo_add_repomdxml/rpmmd() has failed."
++#~ msgstr "repo_add_repomdxml/rpmmd() a échoué."
++
+ #~ msgid "Failed to parse module artifact NEVRA '%s'"
+-#~ msgstr "Échec de l’analyse du module d’artéfact NEVRA : %s"
++#~ msgstr "Échec de l'analyse de l'artefact de module '%s'"
+ 
+ #~ msgid "Bad id for repo: %s, byte = %s %d"
+ #~ msgstr "ID erroné pour le dépôt : %s, byte = %s %d"
+-
+-#~ msgid "failed calculating RPMDB checksum"
+-#~ msgstr "n’a pu calculer la somme de contrôle RPMDB"
+diff --git a/po/ja.po b/po/ja.po
+index 4005b6a0..f16abcb2 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -1,21 +1,23 @@
+ # Casey Jones <nahareport@live.com>, 2018. #zanata
+ # Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
+ # Casey Jones <nahareport@yahoo.com>, 2020.
+-# Sundeep Anand <suanand@redhat.com>, 2021.
++# Sundeep Anand <suanand@redhat.com>, 2021, 2022.
++# Transtats <suanand@redhat.com>, 2022, 2023.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2022-01-05 01:53+0000\n"
+-"PO-Revision-Date: 2021-09-11 10:04+0000\n"
+-"Last-Translator: Ludek Janda <ljanda@redhat.com>\n"
+-"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/libdnf-dnf-4-master/ja/>\n"
++"POT-Creation-Date: 2023-02-28 09:24+0100\n"
++"PO-Revision-Date: 2023-03-07 14:20+0000\n"
++"Last-Translator: Transtats <suanand@redhat.com>\n"
++"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/"
++"libdnf-rhel-9/ja/>\n"
+ "Language: ja\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+-"X-Generator: Weblate 4.8\n"
++"X-Generator: Weblate 4.15.2\n"
+ 
+ #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40
+ msgid "no value specified"
+@@ -24,7 +26,7 @@ msgstr "値が指定されていません"
+ #: libdnf/conf/ConfigMain.cpp:67 libdnf/conf/OptionSeconds.cpp:48
+ #, c-format
+ msgid "seconds value '%s' must not be negative"
+-msgstr "2個目の値 '%s' は負の数にしないでください"
++msgstr "2 個目の値 '%s' は負の数にしないでください"
+ 
+ #: libdnf/conf/ConfigMain.cpp:71
+ #, c-format
+@@ -104,130 +106,143 @@ msgstr "'%s' を 秒に変換できません"
+ msgid "GetValue(): Value not set"
+ msgstr "GetValue(): 値は設定されていません"
+ 
+-#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
++#: libdnf/dnf-context.cpp:3189 libdnf/dnf-context.cpp:3198
+ #, c-format
+ msgid "Cannot enable more streams from module '%s' at the same time"
+ msgstr "モジュール '%s' から、さらにストリームを同時に有効にできません"
+ 
+-#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
++#: libdnf/dnf-context.cpp:3207 libdnf/dnf-context.cpp:3225
+ #, c-format
+ msgid ""
+ "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
+-msgstr "モジュール '%1$s' ストリーム '%2$s' を有効にできません。モジュールの状態はすでに変更されています"
++msgstr ""
++"モジュール '%1$s' ストリーム '%2$s' を有効にできません。モジュールの状態はす"
++"でに変更されています"
+ 
+-#: libdnf/dnf-context.cpp:3263
++#: libdnf/dnf-context.cpp:3274
+ #, c-format
+ msgid "Modular dependency problem with Defaults: %s"
+ msgstr "デフォルトのモジュラー依存問題: %s"
+ 
+-#: libdnf/dnf-context.cpp:3266
++#: libdnf/dnf-context.cpp:3277
+ #, c-format
+ msgid "Modular dependency problem with the latest modules: %s"
+ msgstr "最新のモジュールでモジュールの依存関係の問題: %s"
+ 
+-#: libdnf/dnf-context.cpp:3270
++#: libdnf/dnf-context.cpp:3281
+ #, c-format
+ msgid "Modular dependency problem: %s"
+ msgstr "モジュラーの依存に関する問題: %s"
+ 
+-#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
+-#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
+-#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
+-#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
++#: libdnf/dnf-context.cpp:3304 libdnf/dnf-context.cpp:3328
++#: libdnf/dnf-context.cpp:3339 libdnf/dnf-context.cpp:3378
++#: libdnf/dnf-context.cpp:3394 libdnf/dnf-context.cpp:3426
++#: libdnf/dnf-context.cpp:3475 libdnf/dnf-context.cpp:3485
+ #, c-format
+ msgid "Unable to resolve argument '%s'"
+ msgstr "引数 '%s' を解決できません"
+ 
+-#: libdnf/dnf-context.cpp:3300
++#: libdnf/dnf-context.cpp:3311
+ #, c-format
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'%s'"
++"Only module name is required. Ignoring unneeded information in argument: '%s'"
+ msgstr "モジュール名のみが必要です。引数の不必要な情報は無視します: '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3314
++#: libdnf/dnf-context.cpp:3325
+ #, c-format
+ msgid "Cannot reset module '%s': State of module already modified"
+-msgstr "モジュール '%s' をリセットできません。モジュールの状態はすでに変更されています"
++msgstr ""
++"モジュール '%s' をリセットできません。モジュールの状態はすでに変更されていま"
++"す"
+ 
+-#: libdnf/dnf-context.cpp:3325
++#: libdnf/dnf-context.cpp:3336
+ #, c-format
+ msgid "Cannot disable module '%s': State of module already modified"
+-msgstr "モジュール '%s' を無効にできません。モジュールの状態はすでに変更されています"
++msgstr ""
++"モジュール '%s' を無効にできません。モジュールの状態はすでに変更されています"
+ 
+-#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
+-#: libdnf/dnf-context.cpp:3633
++#: libdnf/dnf-context.cpp:3367 libdnf/dnf-context.cpp:3463
++#: libdnf/dnf-context.cpp:3644
+ msgid "No modular data available"
+ msgstr "モジュールデータは利用できません"
+ 
+-#: libdnf/dnf-context.cpp:3373
++#: libdnf/dnf-context.cpp:3384
+ #, c-format
+ msgid "Ignoring unneeded information in argument: '%s'"
+ msgstr "引数の不要な情報は無視します: '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3411
++#: libdnf/dnf-context.cpp:3422
+ #, c-format
+ msgid ""
+ "Problem during enablement of dependency tree for module '%1$s' stream "
+ "'%2$s': %3$s"
+-msgstr "モジュール '%1$s' ストリーム '%2$s' の依存関係ツリーの有効化中に問題: %3$s"
++msgstr ""
++"モジュール '%1$s' ストリーム '%2$s' の依存関係ツリーの有効化中に問題: %3$s"
+ 
+-#: libdnf/dnf-context.cpp:3423
++#: libdnf/dnf-context.cpp:3434
+ msgid "Problems appeared for module enable request:"
+-msgstr ""
++msgstr "モジュール有効化リクエストに発生する問題:"
+ 
+-#: libdnf/dnf-context.cpp:3518
++#: libdnf/dnf-context.cpp:3529
+ #, c-format
+ msgid "No active module packages found for module spec '%s'"
+ msgstr ""
++"モジュール仕様 '%s' について、アクティブなモジュールパッケージが見つかりませ"
++"ん"
+ 
+-#: libdnf/dnf-context.cpp:3523
+-#, fuzzy, c-format
+-#| msgid "cannot install both modules %s and %s"
++#: libdnf/dnf-context.cpp:3534
++#, c-format
+ msgid "Cannot install module '%s' from fail-safe repository"
+-msgstr "モジュール %s と %s どちらもインストールできません"
++msgstr "フェイルセーフリポジトリーからモジュール '%s' をインストールできません"
+ 
+-#: libdnf/dnf-context.cpp:3530
++#: libdnf/dnf-context.cpp:3541
+ #, c-format
+ msgid "No profile found matching '%s'"
+-msgstr ""
++msgstr "'%s' にマッチするプロファイルが見つかりません"
+ 
+-#: libdnf/dnf-context.cpp:3584
++#: libdnf/dnf-context.cpp:3595
+ #, c-format
+ msgid "No match for package '%s' for module spec %s"
+ msgstr ""
++"モジュール仕様 %s について、パッケージ '%s' にマッチする項目はありません"
+ 
+-#: libdnf/dnf-context.cpp:3595
++#: libdnf/dnf-context.cpp:3606
+ #, c-format
+ msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
+-msgstr ""
++msgstr "モジュール '%1$s' ストリーム '%2$s' のインストール中に問題: %3$s"
+ 
+-#: libdnf/dnf-context.cpp:3604
++#: libdnf/dnf-context.cpp:3615
+ msgid "Problems appeared for module install request:"
+-msgstr ""
++msgstr "モジュールインストールリクエストに発生する問題:"
+ 
+-#: libdnf/dnf-context.cpp:3663
++#: libdnf/dnf-context.cpp:3674
+ msgid "Problems appeared for module reset request:"
+-msgstr ""
++msgstr "モジュールリセットリクエストに発生する問題:"
+ 
+-#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
++#: libdnf/dnf-context.cpp:3675 libdnf/dnf-context.cpp:3734
+ msgid "Problems appeared for module disable request:"
+-msgstr ""
++msgstr "モジュール無効化リクエストに発生する問題:"
+ 
+-#: libdnf/dnf-context.cpp:3755
++#: libdnf/dnf-context.cpp:3766
+ #, c-format
+ msgid ""
+-"The operation would result in switching of module '%s' stream '%s' to stream"
+-" '%s'"
+-msgstr "オペレーションは、モジュール '%s' ストリーム '%s' を ストリーム '%s' へと切り替える結果となります"
++"The operation would result in switching of module '%s' stream '%s' to stream "
++"'%s'"
++msgstr ""
++"オペレーションは、モジュール '%s' ストリーム '%s' を ストリーム '%s' へと切り"
++"替える結果となります"
+ 
+-#: libdnf/dnf-context.cpp:3759
++#: libdnf/dnf-context.cpp:3770
+ msgid ""
+ "It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset <module_name>' command. After you reset the module, you can install the other stream."
++"It is recommended to remove all installed content from the module, and reset "
++"the module using 'microdnf module reset <module_name>' command. After you "
++"reset the module, you can install the other stream."
+ msgstr ""
+ "有効化されたモジュールのストリームの切り替えはできません。\n"
+-"モジュールからすべてのインストールされたコンテンツを削除し、'microdnf module reset <module_name>' コマンドを使用してモジュールをリセットすることを推奨します。モジュールのリセット後に、別のストリームをインストールできます。"
++"モジュールからすべてのインストールされたコンテンツを削除し、'microdnf module "
++"reset <module_name>' コマンドを使用してモジュールをリセットすることを推奨しま"
++"す。モジュールのリセット後に、別のストリームをインストールできます。"
+ 
+ #: libdnf/dnf-goal.cpp:107
+ msgid "Could not depsolve transaction; "
+@@ -254,7 +269,9 @@ msgstr " 問題: %s\n"
+ msgid ""
+ "No available modular metadata for modular package '%s'; cannot be installed "
+ "on the system"
+-msgstr "モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにインストールはできません"
++msgstr ""
++"モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにイ"
++"ンストールはできません"
+ 
+ #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166
+ #, c-format
+@@ -293,7 +310,8 @@ msgstr "トランザクションの実行中にエラーが発生しました: %
+ 
+ #: libdnf/dnf-rpmts.cpp:283
+ msgid "Error running transaction and no problems were reported!"
+-msgstr "トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!"
++msgstr ""
++"トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!"
+ 
+ #: libdnf/dnf-rpmts.cpp:346
+ msgid "Fatal error, run database recovery"
+@@ -309,84 +327,132 @@ msgstr "パッケージ %s を見つけることができませんでした"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "erase 要素 %1$s(%2$i) を追加することができません"
+ 
+-#: libdnf/dnf-sack.cpp:395
+-msgid "failed to add solv"
+-msgstr "solv の追加に失敗しました"
++#: libdnf/dnf-sack.cpp:251
++msgid "repo_add_solv() has failed."
++msgstr "repo_add_solv() は失敗しました。"
++
++#: libdnf/dnf-sack.cpp:415
++#, c-format
++msgid "Loading extension cache %s (%d) failed: "
++msgstr "拡張キャッシュの %s (%d) の読み込みに失敗しました: "
+ 
+-#: libdnf/dnf-sack.cpp:414
++#: libdnf/dnf-sack.cpp:429
+ #, c-format
+ msgid "no %1$s string for %2$s"
+ msgstr "%2$s の %1$s 文字列はありません"
+ 
+-#: libdnf/dnf-sack.cpp:424
++#: libdnf/dnf-sack.cpp:439
+ #, c-format
+ msgid "failed to open: %s"
+ msgstr "開くことに失敗しました: %s"
+ 
+-#: libdnf/dnf-sack.cpp:503
++#: libdnf/dnf-sack.cpp:518
+ #, c-format
+ msgid "cannot create temporary file: %s"
+ msgstr "一時ファイルを作成できません: %s"
+ 
+-#: libdnf/dnf-sack.cpp:513
++#: libdnf/dnf-sack.cpp:528
+ #, c-format
+ msgid "failed opening tmp file: %s"
+ msgstr "tmp ファイルを開くことに失敗しました: %s"
+ 
+-#: libdnf/dnf-sack.cpp:525
++#: libdnf/dnf-sack.cpp:550
++#, c-format
++msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
++msgstr ""
++"プライマリーキャッシュの %s repowriter 書き込み中に %i エラーが発生しました。"
++"エラー: %s"
++
++#: libdnf/dnf-sack.cpp:560
++#, c-format
++msgid "Failed closing tmp file %s: %s"
++msgstr "tmp ファイル %s の終了に失敗しました: %s"
++
++#: libdnf/dnf-sack.cpp:570
+ #, c-format
+-msgid "write_main() failed writing data: %i"
+-msgstr "write_main() はデータの書き込みに失敗しました: %i"
++msgid "Failed to use newly written primary cache: %s: "
++msgstr "新たに書き込まれたプライマリーキャッシュを使用できません: %s: "
+ 
+-#: libdnf/dnf-sack.cpp:542
+-msgid "write_main() failed to re-load written solv file"
+-msgstr "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました"
++#: libdnf/dnf-sack.cpp:576
++#, c-format
++msgid "Failed to use newly written primary cache: %s"
++msgstr "新たに書き込まれたプライマリーキャッシュを使用できません: %s"
+ 
+-#: libdnf/dnf-sack.cpp:607
++#: libdnf/dnf-sack.cpp:626
+ #, c-format
+ msgid "can not create temporary file %s"
+ msgstr "一時ファイル %s を作成できません"
+ 
+-#: libdnf/dnf-sack.cpp:625
++#: libdnf/dnf-sack.cpp:666
++#, c-format
++msgid ""
++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
++msgstr ""
++"拡張キャッシュ %s (%d) の書き込み中: repowriter の書き込みに失敗: %i、エ"
++"ラー: %s"
++
++#: libdnf/dnf-sack.cpp:676
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
+-msgstr "write_ext(%1$d) は失敗しました: %2$d"
++msgid "While writing extension cache (%d): cannot close temporary file: %s"
++msgstr "拡張キャッシュの書き込み中 (%d): 一時ファイルを終了できません: %s"
+ 
+-#: libdnf/dnf-sack.cpp:680
++#: libdnf/dnf-sack.cpp:692
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d): "
++msgstr "新たに書き込まれた拡張キャッシュを使用できませんでした: %s (%d): "
++
++#: libdnf/dnf-sack.cpp:699
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d)"
++msgstr "新たに書き込まれた拡張キャッシュを使用できませんでした: %s (%d)"
++
++#: libdnf/dnf-sack.cpp:740
+ msgid "null repo md file"
+ msgstr "null repo md ファイル"
+ 
+-#: libdnf/dnf-sack.cpp:689
++#: libdnf/dnf-sack.cpp:749
+ #, c-format
+ msgid "can not read file %1$s: %2$s"
+ msgstr "ファイル %1$s を読み込みできません: %2$s"
+ 
+-#: libdnf/dnf-sack.cpp:703
+-msgid "repo_add_solv() has failed."
+-msgstr "repo_add_solv() は失敗しました。"
++#: libdnf/dnf-sack.cpp:764
++#, c-format
++msgid "While loading repository failed to use %s: "
++msgstr "リポジトリーのロード中に %s が使用できませんでした: "
+ 
+-#: libdnf/dnf-sack.cpp:716
++#: libdnf/dnf-sack.cpp:775
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr "MD_TYPE_PRIMARY のロードに失敗しました。"
+ 
+-#: libdnf/dnf-sack.cpp:729
+-msgid "repo_add_repomdxml/rpmmd() has failed."
+-msgstr "repo_add_repomdxml/rpmmd() は失敗しました。"
++#: libdnf/dnf-sack.cpp:784
++#, c-format
++msgid "Opening repository primary data has failed: %s"
++msgstr "リポジトリーのプライマリーデータを開くと失敗します: %s"
++
++#: libdnf/dnf-sack.cpp:795
++#, c-format
++msgid "Loading repomd has failed: %s"
++msgstr "repomd の読み込みに失敗しました: %s"
++
++#: libdnf/dnf-sack.cpp:806
++#, c-format
++msgid "Loading primary has failed: %s"
++msgstr "プライマリーの読み込みに失敗しました: %s"
+ 
+-#: libdnf/dnf-sack.cpp:796
++#: libdnf/dnf-sack.cpp:872
+ msgid "failed to auto-detect architecture"
+ msgstr "アーキテクチャーの自動検出に失敗しました"
+ 
+-#: libdnf/dnf-sack.cpp:961
++#: libdnf/dnf-sack.cpp:1037
+ #, c-format
+ msgid "failed creating cachedir %s"
+ msgstr "cachedir %s の作成に失敗しました"
+ 
+-#: libdnf/dnf-sack.cpp:1738
++#: libdnf/dnf-sack.cpp:1814
+ msgid "failed loading RPMDB"
+ msgstr "RPMDB のロードに失敗しました"
+ 
+-#: libdnf/dnf-sack.cpp:2522
++#: libdnf/dnf-sack.cpp:2598
+ #, c-format
+ msgid "No module defaults found: %s"
+ msgstr "モジュールのデフォルトは見つかりませんでした: %s"
+@@ -415,69 +481,84 @@ msgstr "サイズ設定のない状態 %1$p で実行されました! [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "すでに 100%% の状態 [%s] にあります"
+ 
+-#: libdnf/dnf-transaction.cpp:300
++#: libdnf/dnf-transaction.cpp:302
+ #, c-format
+ msgid "Sources not set when trying to ensure package %s"
+ msgstr "パッケージ %s を確実にしようとする場合、ソースは設定されません"
+ 
+-#: libdnf/dnf-transaction.cpp:326
++#: libdnf/dnf-transaction.cpp:328
+ #, c-format
+ msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr "repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo はロード済み)"
++msgstr ""
++"repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo "
++"はロード済み)"
+ 
+-#: libdnf/dnf-transaction.cpp:367
++#: libdnf/dnf-transaction.cpp:369
+ msgid "Failed to check untrusted: "
+ msgstr "untrusted の確認に失敗しました: "
+ 
+-#: libdnf/dnf-transaction.cpp:377
++#: libdnf/dnf-transaction.cpp:379
+ #, c-format
+ msgid "Downloaded file for %s not found"
+ msgstr "%s にダウンロードしたファイルが見つかりませんでした"
+ 
+-#: libdnf/dnf-transaction.cpp:397
++#: libdnf/dnf-transaction.cpp:399
+ #, c-format
+ msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr "パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s"
++msgstr ""
++"パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s"
+ 
+-#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
++#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
+ msgid "Failed to get value for CacheDir"
+ msgstr "CacheDir の値の取得に失敗しました"
+ 
+-#: libdnf/dnf-transaction.cpp:911
++#: libdnf/dnf-transaction.cpp:913
+ #, c-format
+ msgid "Failed to get filesystem free size for %s: "
+ msgstr "%s に filesystem をフリーサイズで取得することに失敗しました: "
+ 
+-#: libdnf/dnf-transaction.cpp:919
++#: libdnf/dnf-transaction.cpp:921
+ #, c-format
+ msgid "Failed to get filesystem free size for %s"
+ msgstr "%s に filesystem をフリーサイズで取得することに失敗しました"
+ 
+-#: libdnf/dnf-transaction.cpp:935
++#: libdnf/dnf-transaction.cpp:937
+ #, c-format
+ msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+-msgstr "%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です"
++msgstr ""
++"%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です"
+ 
+-#: libdnf/dnf-transaction.cpp:1195
++#: libdnf/dnf-transaction.cpp:1196
+ msgid "failed to set root"
+ msgstr "root の設定に失敗しました"
+ 
+-#: libdnf/dnf-transaction.cpp:1416
++#: libdnf/dnf-transaction.cpp:1417
+ #, c-format
+ msgid "Error %i running transaction test"
+ msgstr "トランザクションテストの実行中にエラー %i"
+ 
+-#: libdnf/dnf-transaction.cpp:1456
++#: libdnf/dnf-transaction.cpp:1441
++#, c-format
++msgid "Error %i opening rpm database"
++msgstr "rpm データベースを開く際にエラー %i"
++
++#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
++msgid "The rpmdbCookie() function did not return cookie of rpm database."
++msgstr "rpmdbCookie() 関数は rpm データベースのクッキーを返しませんでした。"
++
++#: libdnf/dnf-transaction.cpp:1464
+ #, c-format
+ msgid "Error %i running transaction"
+ msgstr "トランザクションの実行中にエラー %i"
+ 
+-#: libdnf/dnf-transaction.cpp:1472
++#: libdnf/dnf-transaction.cpp:1480
+ #, c-format
+ msgid "Transaction did not go to writing phase, but returned no error(%i)"
+-msgstr "トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しませんでした"
++msgstr ""
++"トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しま"
++"せんでした"
+ 
+-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
+ #, c-format
+ msgid "cannot open directory %1$s: %2$s"
+ msgstr "ディレクトリー %1$s を開くことができません: %2$s"
+@@ -583,7 +664,9 @@ msgstr "パッケージ %s は %s を廃止しました。これは %s により
+ #: libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "installed package %s obsoletes %s provided by %s"
+-msgstr "インストール済パッケージ %s は %s を廃止しました。これは %s により提供されます"
++msgstr ""
++"インストール済パッケージ %s は %s を廃止しました。これは %s により提供されま"
++"す"
+ 
+ #: libdnf/goal/Goal.cpp:110
+ #, c-format
+@@ -593,7 +676,9 @@ msgstr "パッケージ %s は %s を暗に廃止しました。これは %s に
+ #: libdnf/goal/Goal.cpp:111
+ #, c-format
+ msgid "package %s requires %s, but none of the providers can be installed"
+-msgstr "パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできません"
++msgstr ""
++"パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできま"
++"せん"
+ 
+ #: libdnf/goal/Goal.cpp:112
+ #, c-format
+@@ -656,7 +741,9 @@ msgstr "モジュール %s は %s を廃止しました。これは %s により
+ #: libdnf/goal/Goal.cpp:136
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+-msgstr "インストール済モジュール %s は %s を廃止しました。これは %s により提供されます"
++msgstr ""
++"インストール済モジュール %s は %s を廃止しました。これは %s により提供されま"
++"す"
+ 
+ #: libdnf/goal/Goal.cpp:137
+ #, c-format
+@@ -666,7 +753,9 @@ msgstr "モジュール %s は %s を暗に廃止しました。これは %s に
+ #: libdnf/goal/Goal.cpp:138
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+-msgstr "モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできません"
++msgstr ""
++"モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできま"
++"せん"
+ 
+ #: libdnf/goal/Goal.cpp:139
+ #, c-format
+@@ -678,62 +767,67 @@ msgstr "モジュール %s は自己提供される %s と競合しています"
+ msgid "both module %s and %s obsolete %s"
+ msgstr "モジュール %s と %s 両方は %s を廃止しました"
+ 
+-#: libdnf/goal/Goal.cpp:1141
++#: libdnf/goal/Goal.cpp:1157
+ msgid "no solver set"
+ msgstr "設定されたソルバーはありません"
+ 
+-#: libdnf/goal/Goal.cpp:1146
++#: libdnf/goal/Goal.cpp:1162
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "%s を絶対的にすることに失敗しました"
+ 
+-#: libdnf/goal/Goal.cpp:1153
++#: libdnf/goal/Goal.cpp:1169
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "debugdata を %1$s へ書き込むことに失敗しました: %2$s"
+ 
+-#: libdnf/goal/Goal.cpp:1165
++#: libdnf/goal/Goal.cpp:1181
+ msgid "no solv in the goal"
+ msgstr "目標に solv がありません"
+ 
+-#: libdnf/goal/Goal.cpp:1167
++#: libdnf/goal/Goal.cpp:1183
+ msgid "no solution, cannot remove protected package"
+ msgstr "ソリューションがなく、保護されたパッケージを削除できません"
+ 
+-#: libdnf/goal/Goal.cpp:1170
++#: libdnf/goal/Goal.cpp:1186
+ msgid "no solution possible"
+ msgstr "可能なソリューションがありません"
+ 
+-#: libdnf/goal/Goal.cpp:1296
++#: libdnf/goal/Goal.cpp:1312
+ msgid "Problem: "
+ msgstr "問題: "
+ 
+-#: libdnf/goal/Goal.cpp:1301
++#: libdnf/goal/Goal.cpp:1317
+ #, c-format
+ msgid "Problem %d: "
+ msgstr "問題 %d: "
+ 
+-#: libdnf/goal/Goal.cpp:1634
++#: libdnf/goal/Goal.cpp:1650
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr "操作は結果的に以下の保護されたパッケージを削除します: "
+ 
+-#: libdnf/hy-iutil.cpp:326
++#: libdnf/hy-iutil.cpp:181
++#, c-format
++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
++msgstr "Libsolv の solv_toolversion の長さ: %zu ですが、最大の想定値: %zu です"
++
++#: libdnf/hy-iutil.cpp:408
+ #, c-format
+ msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr "名前を %1$s から %2$s へ変更できませんでした: %3$s"
+ 
+-#: libdnf/hy-iutil.cpp:334
++#: libdnf/hy-iutil.cpp:416
+ #, c-format
+ msgid "Failed setting perms on %1$s: %2$s"
+ msgstr "%1$s に権限を設定できませんでした: %2$s"
+ 
+-#: libdnf/hy-iutil.cpp:380
++#: libdnf/hy-iutil.cpp:462
+ #, c-format
+ msgid "cannot create directory %1$s: %2$s"
+ msgstr "ディレクトリー %1$s を作成できません : %2$s"
+ 
+-#: libdnf/hy-iutil.cpp:415
++#: libdnf/hy-iutil.cpp:497
+ #, c-format
+ msgid "cannot stat path %1$s: %2$s"
+ msgstr "パス %1$s のstatを調べられません : %2$s"
+@@ -812,7 +906,9 @@ msgstr "モジュール '%s:%s' のモジュラーフェイルセーフデータ
+ #: libdnf/module/ModulePackageContainer.cpp:1791
+ #, c-format
+ msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
+-msgstr "ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: %s"
++msgstr ""
++"ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: "
++"%s"
+ 
+ #: libdnf/module/ModulePackageContainer.cpp:1807
+ #, c-format
+@@ -829,7 +925,9 @@ msgstr "'%s' のモジュラーフェイルセーフデータを削除できま
+ msgid ""
+ "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is "
+ "disabled"
+-msgstr "ターゲットモジュール '%s' が無効であるため、モジュラーの廃止を '%s:%s' に適用できません"
++msgstr ""
++"ターゲットモジュール '%s' が無効であるため、モジュラーの廃止を '%s:%s' に適用"
++"できません"
+ 
+ #: libdnf/module/modulemd/ModuleMetadata.cpp:86
+ #, c-format
+@@ -859,7 +957,8 @@ msgstr "ストリームのアップグレードに失敗しました: %s"
+ #: libdnf/module/modulemd/ModuleMetadata.cpp:221
+ #, c-format
+ msgid "Cannot retrieve module obsoletes because no stream matching %s: %s"
+-msgstr "%s に一致するストリームがないため、モジュールの廃止を取得できません: %s"
++msgstr ""
++"%s に一致するストリームがないため、モジュールの廃止を取得できません: %s"
+ 
+ #: libdnf/plugin/plugin.cpp:46
+ #, c-format
+@@ -902,9 +1001,9 @@ msgid ""
+ "deprecated and the support will be dropped in future versions. Use '=' "
+ "operator instead."
+ msgstr ""
+-"reldeps で '==' "
+-"演算子を使用すると、未定義の動作が発生する可能性があります。これは非推奨で、将来のバージョンではサポートされなくなります。代わりに '=' "
+-"演算子を使用してください。"
++"reldeps で '==' 演算子を使用すると、未定義の動作が発生する可能性があります。"
++"これは非推奨で、将来のバージョンではサポートされなくなります。代わりに '=' 演"
++"算子を使用してください。"
+ 
+ #: libdnf/repo/Repo.cpp:321
+ #, c-format
+@@ -914,169 +1013,178 @@ msgstr "リポジトリー %s にはミラーまたは baseurl セットがあ
+ #: libdnf/repo/Repo.cpp:330
+ #, c-format
+ msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+-msgstr "リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッピング。"
++msgstr ""
++"リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッ"
++"ピング。"
+ 
+-#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641
+-#: libdnf/repo/Repo.cpp:1400
++#: libdnf/repo/Repo.cpp:491 libdnf/repo/Repo.cpp:612 libdnf/repo/Repo.cpp:643
++#: libdnf/repo/Repo.cpp:1407
+ #, c-format
+ msgid "repo '%s': 'basecachedir' is not set"
+ msgstr "repo '%s': 'basecachedir' が設定されていません"
+ 
+-#: libdnf/repo/Repo.cpp:512
++#: libdnf/repo/Repo.cpp:514
+ msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr "ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの設定を変更してください"
++"Maximum download speed is lower than minimum. Please change configuration of "
++"minrate or throttle"
++msgstr ""
++"ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの"
++"設定を変更してください"
+ 
+-#: libdnf/repo/Repo.cpp:546
++#: libdnf/repo/Repo.cpp:548
+ #, c-format
+ msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'"
+-msgstr "repo '%s': 'proxy_username' は設定済みですが、'proxy_password' は設定されていません"
++msgstr ""
++"repo '%s': 'proxy_username' は設定済みですが、'proxy_password' は設定されてい"
++"ません"
+ 
+-#: libdnf/repo/Repo.cpp:548
++#: libdnf/repo/Repo.cpp:550
+ msgid "'proxy_username' is set but not 'proxy_password'"
+-msgstr "'proxy_username' は設定済みですが、'proxy_password' は設定されていません"
++msgstr ""
++"'proxy_username' は設定済みですが、'proxy_password' は設定されていません"
+ 
+-#: libdnf/repo/Repo.cpp:629
++#: libdnf/repo/Repo.cpp:631
+ #, c-format
+ msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr "repo に対して有効な baseurl を見つけられません: %s"
+ 
+-#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682
++#: libdnf/repo/Repo.cpp:662 libdnf/repo/Repo.cpp:684
+ #, c-format
+ msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690
++#: libdnf/repo/Repo.cpp:670 libdnf/repo/Repo.cpp:692
+ #, c-format
+ msgid "%s: gpgme_op_import(): %s"
+ msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162
+-#: libdnf/repo/Repo.cpp:1236 libdnf/repo/Repo.cpp:1279
++#: libdnf/repo/Repo.cpp:711 libdnf/repo/Repo.cpp:1169 libdnf/repo/Repo.cpp:1243
++#: libdnf/repo/Repo.cpp:1286
+ #, c-format
+ msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr "repo 一時ディレクトリー \"%s\" を作成できません: %s"
+ 
+-#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917
++#: libdnf/repo/Repo.cpp:719 libdnf/repo/Repo.cpp:785 libdnf/repo/Repo.cpp:919
+ #, c-format
+ msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808
++#: libdnf/repo/Repo.cpp:746 libdnf/repo/Repo.cpp:810
+ #, c-format
+ msgid "can not list keys: %s"
+ msgstr "キーを一覧表示できません: %s"
+ 
+-#: libdnf/repo/Repo.cpp:837
++#: libdnf/repo/Repo.cpp:839
+ #, c-format
+ msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr "repo '%s' のGPG鍵の回収に失敗しました : %s"
+ 
+-#: libdnf/repo/Repo.cpp:890
++#: libdnf/repo/Repo.cpp:892
+ #, c-format
+ msgid "repo %s: 0x%s already imported"
+ msgstr "repo %s: 0x%s はインポート済みです"
+ 
+-#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79
++#: libdnf/repo/Repo.cpp:906 libdnf/utils/filesystem.cpp:79
+ #, c-format
+ msgid "Failed to create directory \"%s\": %d - %s"
+ msgstr "ディレクトリー \"%s\" の作成に失敗しました: %d - %s"
+ 
+-#: libdnf/repo/Repo.cpp:924
++#: libdnf/repo/Repo.cpp:926
+ #, c-format
+ msgid "repo %s: imported key 0x%s."
+ msgstr "repo %s: インポート済みのキー 0x%s。"
+ 
+-#: libdnf/repo/Repo.cpp:1176
++#: libdnf/repo/Repo.cpp:1183
+ #, c-format
+ msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr "復元中: repo '%s' はスキップされました、metalink はありません。"
+ 
+-#: libdnf/repo/Repo.cpp:1195
++#: libdnf/repo/Repo.cpp:1202
+ #, c-format
+ msgid "reviving: repo '%s' skipped, no usable hash."
+-msgstr "復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。"
++msgstr ""
++"復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。"
+ 
+-#: libdnf/repo/Repo.cpp:1218
++#: libdnf/repo/Repo.cpp:1225
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr "復元中: '%s' は失敗しました、%s の合計は一致しません。"
+ 
+-#: libdnf/repo/Repo.cpp:1224
++#: libdnf/repo/Repo.cpp:1231
+ #, c-format
+ msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr "復元中: '%s' は復元できます - metalink チェックサムが一致します。"
+ 
+-#: libdnf/repo/Repo.cpp:1253
++#: libdnf/repo/Repo.cpp:1260
+ #, c-format
+ msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr "復元中: '%s' は復元できます - repomd が一致します。"
+ 
+-#: libdnf/repo/Repo.cpp:1255
++#: libdnf/repo/Repo.cpp:1262
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr "復元中: '%s' に失敗しました、repomd が一致しません。"
+ 
+-#: libdnf/repo/Repo.cpp:1273
++#: libdnf/repo/Repo.cpp:1280
+ #, c-format
+ msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr "repo 送信先ディレクトリ \"%s\" を作成できません : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1293
++#: libdnf/repo/Repo.cpp:1300
+ #, c-format
+ msgid "Cannot create directory \"%s\": %s"
+ msgstr "ディレクトリー \"%s\" を作成できません: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1316
++#: libdnf/repo/Repo.cpp:1323
+ #, c-format
+ msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr "ディレクトリー名を \"%s\" から \"%s\" へと変更できません: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1339
++#: libdnf/repo/Repo.cpp:1346
+ #, c-format
+ msgid "repo: using cache for: %s"
+ msgstr "repo: キャッシュを使用: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1351
++#: libdnf/repo/Repo.cpp:1358
+ #, c-format
+ msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません"
++msgstr ""
++"キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません"
+ 
+-#: libdnf/repo/Repo.cpp:1355
++#: libdnf/repo/Repo.cpp:1362
+ #, c-format
+ msgid "repo: downloading from remote: %s"
+ msgstr "repo: リモートからダウンロード中: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1362
++#: libdnf/repo/Repo.cpp:1369
+ #, c-format
+ msgid "Failed to download metadata for repo '%s': %s"
+ msgstr "repo '%s' のメタデータのダウンロードに失敗しました : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1388
++#: libdnf/repo/Repo.cpp:1395
+ msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr "getCachedir(): SHA256 のコンピュテーションに失敗しました"
+ 
+-#: libdnf/repo/Repo.cpp:1416
++#: libdnf/repo/Repo.cpp:1423
+ #, c-format
+ msgid "Cannot create persistdir \"%s\": %s"
+ msgstr "persistdir \"%s\" を作成できません : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1793
++#: libdnf/repo/Repo.cpp:1800
+ msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr "resume は byterangestart param と同時に使用できません"
+ 
+-#: libdnf/repo/Repo.cpp:1810
++#: libdnf/repo/Repo.cpp:1817
+ #, c-format
+ msgid "PackageTarget initialization failed: %s"
+ msgstr "PackageTarget の初期化に失敗しました: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1916
++#: libdnf/repo/Repo.cpp:1923
+ #, c-format
+ msgid "Cannot open %s: %s"
+ msgstr "%s を開くことができません: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1960
++#: libdnf/repo/Repo.cpp:1967
+ #, c-format
+ msgid "Log handler with id %ld doesn't exist"
+ msgstr "id %ld を伴うログハンドラーは存在しません"
+@@ -1095,17 +1203,18 @@ msgstr "進行中ではありません"
+ msgid "No transaction in progress"
+ msgstr "進行中のトランザクションはありません"
+ 
+-#: libdnf/transaction/TransactionItem.cpp:147
++#: libdnf/transaction/TransactionItem.cpp:146
+ msgid "Attempt to insert transaction item into completed transaction"
+ msgstr "完了したトランザクションにトランザクションアイテムの挿入を試みます"
+ 
+-#: libdnf/transaction/TransactionItem.cpp:218
++#: libdnf/transaction/TransactionItem.cpp:217
+ msgid "Attempt to update transaction item in completed transaction"
+ msgstr "完了したトランザクションにトランザクションアイテムの更新を試みます"
+ 
+ #: libdnf/transaction/Transformer.cpp:76
+ msgid "Database Corrupted: no row 'version' in table 'config'"
+-msgstr "データベースが破損しています。テーブル 'config' の行 'version' がありません"
++msgstr ""
++"データベースが破損しています。テーブル 'config' の行 'version' がありません"
+ 
+ #: libdnf/transaction/Transformer.cpp:681
+ msgid "Transformer: can't open history persist dir"
+@@ -1128,12 +1237,24 @@ msgstr "TransactionItem の状態は設定されていません: %s"
+ msgid "Can't add console output to unsaved transaction"
+ msgstr "未保存のトランザクションにコンソールの出力を追加できません"
+ 
+-#, fuzzy
++#~ msgid "failed to add solv"
++#~ msgstr "solv の追加に失敗しました"
++
++#~ msgid "write_main() failed writing data: %i"
++#~ msgstr "write_main() はデータの書き込みに失敗しました: %i"
++
++#~ msgid "write_main() failed to re-load written solv file"
++#~ msgstr ""
++#~ "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました"
++
++#~ msgid "write_ext(%1$d) has failed: %2$d"
++#~ msgstr "write_ext(%1$d) は失敗しました: %2$d"
++
++#~ msgid "repo_add_repomdxml/rpmmd() has failed."
++#~ msgstr "repo_add_repomdxml/rpmmd() は失敗しました。"
++
+ #~ msgid "Failed to parse module artifact NEVRA '%s'"
+-#~ msgstr "デフォルトのアップグレードに失敗しました: %s"
++#~ msgstr "モジュールアーティファクト NEVRA '%s' の解析に失敗しました"
+ 
+ #~ msgid "Bad id for repo: %s, byte = %s %d"
+ #~ msgstr "repo に対する不正な id: %s, byte = %s %d"
+-
+-#~ msgid "failed calculating RPMDB checksum"
+-#~ msgstr "RPMDB チェックサムの計算に失敗しました"
+diff --git a/po/ko.po b/po/ko.po
+index 94d0994e..04ed2363 100644
+--- a/po/ko.po
++++ b/po/ko.po
+@@ -3,20 +3,23 @@
+ # This file is distributed under the same license as the PACKAGE package.
+ # Ludek Janda <ljanda@redhat.com>, 2018. #zanata
+ # simmon <simmon@nplob.com>, 2021.
++# Kim InSoo <simmon@nplob.com>, 2022.
++# 김인수 <simmon@nplob.com>, 2022, 2023.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2022-01-05 01:53+0000\n"
+-"PO-Revision-Date: 2021-11-04 08:05+0000\n"
+-"Last-Translator: simmon <simmon@nplob.com>\n"
+-"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/libdnf-dnf-4-master/ko/>\n"
++"POT-Creation-Date: 2023-02-28 09:24+0100\n"
++"PO-Revision-Date: 2023-03-02 22:20+0000\n"
++"Last-Translator: 김인수 <simmon@nplob.com>\n"
++"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/"
++"libdnf-rhel-9/ko/>\n"
+ "Language: ko\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+-"X-Generator: Weblate 4.8\n"
++"X-Generator: Weblate 4.15.2\n"
+ 
+ #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40
+ msgid "no value specified"
+@@ -105,129 +108,136 @@ msgstr "변환 할 수 없습니다 '%s'초까지"
+ msgid "GetValue(): Value not set"
+ msgstr "GetValue () : 값이 설정되지 않았습니다"
+ 
+-#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
++#: libdnf/dnf-context.cpp:3189 libdnf/dnf-context.cpp:3198
+ #, c-format
+ msgid "Cannot enable more streams from module '%s' at the same time"
+ msgstr "동시에 모듈 '%s’에서 다른 스트림을 활성화 할 수 없습니다"
+ 
+-#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
++#: libdnf/dnf-context.cpp:3207 libdnf/dnf-context.cpp:3225
+ #, c-format
+ msgid ""
+ "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
+-msgstr "모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었습니다"
++msgstr ""
++"모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었"
++"습니다"
+ 
+-#: libdnf/dnf-context.cpp:3263
++#: libdnf/dnf-context.cpp:3274
+ #, c-format
+ msgid "Modular dependency problem with Defaults: %s"
+ msgstr "기본설정에 모듈 의존성 문제: %s"
+ 
+-#: libdnf/dnf-context.cpp:3266
++#: libdnf/dnf-context.cpp:3277
+ #, c-format
+ msgid "Modular dependency problem with the latest modules: %s"
+ msgstr "최신 모듈에 모듈 의존성 문제: %s"
+ 
+-#: libdnf/dnf-context.cpp:3270
++#: libdnf/dnf-context.cpp:3281
+ #, c-format
+ msgid "Modular dependency problem: %s"
+ msgstr "모듈러 의존성 문제: %s"
+ 
+-#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
+-#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
+-#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
+-#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
++#: libdnf/dnf-context.cpp:3304 libdnf/dnf-context.cpp:3328
++#: libdnf/dnf-context.cpp:3339 libdnf/dnf-context.cpp:3378
++#: libdnf/dnf-context.cpp:3394 libdnf/dnf-context.cpp:3426
++#: libdnf/dnf-context.cpp:3475 libdnf/dnf-context.cpp:3485
+ #, c-format
+ msgid "Unable to resolve argument '%s'"
+ msgstr "인수 %s를 해결 할 수 없습니다"
+ 
+-#: libdnf/dnf-context.cpp:3300
++#: libdnf/dnf-context.cpp:3311
+ #, c-format
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'%s'"
++"Only module name is required. Ignoring unneeded information in argument: '%s'"
+ msgstr "모듈 이름만 필요합니다. 인수에서 불필요한 정보를 무시합니다: '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3314
++#: libdnf/dnf-context.cpp:3325
+ #, c-format
+ msgid "Cannot reset module '%s': State of module already modified"
+ msgstr "모듈 '%s 를 재설정 할 수 없습니다: 모듈 상태가 이미 변경되었습니다"
+ 
+-#: libdnf/dnf-context.cpp:3325
++#: libdnf/dnf-context.cpp:3336
+ #, c-format
+ msgid "Cannot disable module '%s': State of module already modified"
+ msgstr "모듈 '%s'사용 할 수 없습니다: 모듈 상태는 이미 적재되었습니다"
+ 
+-#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
+-#: libdnf/dnf-context.cpp:3633
++#: libdnf/dnf-context.cpp:3367 libdnf/dnf-context.cpp:3463
++#: libdnf/dnf-context.cpp:3644
+ msgid "No modular data available"
+ msgstr "모듈러 자료를 이용 할 수 없습니다"
+ 
+-#: libdnf/dnf-context.cpp:3373
++#: libdnf/dnf-context.cpp:3384
+ #, c-format
+ msgid "Ignoring unneeded information in argument: '%s'"
+ msgstr "인수: '%s'에 불필요한 정보를 무시하기"
+ 
+-#: libdnf/dnf-context.cpp:3411
++#: libdnf/dnf-context.cpp:3422
+ #, c-format
+ msgid ""
+ "Problem during enablement of dependency tree for module '%1$s' stream "
+ "'%2$s': %3$s"
+-msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 중에 발생하는 문제"
++msgstr ""
++"모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 중에 발생하는 "
++"문제"
+ 
+-#: libdnf/dnf-context.cpp:3423
++#: libdnf/dnf-context.cpp:3434
+ msgid "Problems appeared for module enable request:"
+ msgstr "모듈 활성화 요청에 나타난 문제:"
+ 
+-#: libdnf/dnf-context.cpp:3518
++#: libdnf/dnf-context.cpp:3529
+ #, c-format
+ msgid "No active module packages found for module spec '%s'"
+-msgstr "모듈 상세 '%s'에 동적 모듈 꾸러미를 찾을 수 없습니다"
++msgstr "모듈 상세 '%s'를 위한 활성 모듈 꾸러미가 없습니다"
+ 
+-#: libdnf/dnf-context.cpp:3523
++#: libdnf/dnf-context.cpp:3534
+ #, c-format
+ msgid "Cannot install module '%s' from fail-safe repository"
+-msgstr "실패-방지 저장소에서 모듈 '%s'을 설치 할 수 없습니다"
++msgstr "실패-방지 저장소에서 모듈 '%s'를 설치 할 수 없습니다"
+ 
+-#: libdnf/dnf-context.cpp:3530
++#: libdnf/dnf-context.cpp:3541
+ #, c-format
+ msgid "No profile found matching '%s'"
+ msgstr "'%s'와 일치하는 프로파일을 찾을 수 없습니다"
+ 
+-#: libdnf/dnf-context.cpp:3584
++#: libdnf/dnf-context.cpp:3595
+ #, c-format
+ msgid "No match for package '%s' for module spec %s"
+-msgstr "모듈 상세 %s와 꾸러미 '%s'가 일치하지 않습니다"
++msgstr "꾸러미 '%s'가(모듈 상세 %s에 대한) 일치하지 않습니다"
+ 
+-#: libdnf/dnf-context.cpp:3595
++#: libdnf/dnf-context.cpp:3606
+ #, c-format
+ msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
+-msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 설치하는 동안에 발생하는 문제"
++msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 설치 중에 발생하는 문제"
+ 
+-#: libdnf/dnf-context.cpp:3604
++#: libdnf/dnf-context.cpp:3615
+ msgid "Problems appeared for module install request:"
+ msgstr "모듈 설치 요청을 위해 나타난 문제:"
+ 
+-#: libdnf/dnf-context.cpp:3663
++#: libdnf/dnf-context.cpp:3674
+ msgid "Problems appeared for module reset request:"
+-msgstr "모듈 재설정 요청을 위해 나타난 문제:"
++msgstr "모듈 초기화 요청을 위해 나타난 문제:"
+ 
+-#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
++#: libdnf/dnf-context.cpp:3675 libdnf/dnf-context.cpp:3734
+ msgid "Problems appeared for module disable request:"
+ msgstr "모듈 비활성화 요청을 위해 나타난 문제:"
+ 
+-#: libdnf/dnf-context.cpp:3755
++#: libdnf/dnf-context.cpp:3766
+ #, c-format
+ msgid ""
+-"The operation would result in switching of module '%s' stream '%s' to stream"
+-" '%s'"
++"The operation would result in switching of module '%s' stream '%s' to stream "
++"'%s'"
+ msgstr "이 동작은 모듈 '%s'' 스트림 ‘%s'에서 스트림 '%s'로의 전환 결과입니다"
+ 
+-#: libdnf/dnf-context.cpp:3759
++#: libdnf/dnf-context.cpp:3770
+ msgid ""
+ "It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset <module_name>' command. After you reset the module, you can install the other stream."
++"It is recommended to remove all installed content from the module, and reset "
++"the module using 'microdnf module reset <module_name>' command. After you "
++"reset the module, you can install the other stream."
+ msgstr ""
+ "활성화된 모듈 스트림을 전환 할 수 없습니다.\n"
+-"설치된 모든 내용을 모듈에서 제거하고 ‘<module_name>' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치 할 수 있습니다."
++"설치된 모든 내용을 모듈에서 제거하고 ‘<module_name>' 명령을 사용하여 모듈을 "
++"재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치 할 수 있습니"
++"다."
+ 
+ #: libdnf/dnf-goal.cpp:107
+ msgid "Could not depsolve transaction; "
+@@ -254,7 +264,9 @@ msgstr " 문제: %s\n"
+ msgid ""
+ "No available modular metadata for modular package '%s'; cannot be installed "
+ "on the system"
+-msgstr "모듈러 꾸러미 '%s'에 사용 가능한 모듈러 메타데이터가 없으며; 시스템에 설치 할 수 없습니다"
++msgstr ""
++"모듈러 꾸러미 '%s'에 사용 가능한 모듈러 메타데이터가 없으며; 시스템에 설치 "
++"할 수 없습니다"
+ 
+ #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166
+ #, c-format
+@@ -293,7 +305,8 @@ msgstr "연결 실행 오류 : %s"
+ 
+ #: libdnf/dnf-rpmts.cpp:283
+ msgid "Error running transaction and no problems were reported!"
+-msgstr "연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!"
++msgstr ""
++"연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!"
+ 
+ #: libdnf/dnf-rpmts.cpp:346
+ msgid "Fatal error, run database recovery"
+@@ -309,84 +322,128 @@ msgstr "꾸러미를 찾지 못했습니다. %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "요소 지우기를 추가 할 수 없습니다. %1$s(%2$i)"
+ 
+-#: libdnf/dnf-sack.cpp:395
+-msgid "failed to add solv"
+-msgstr "solv를 추가하지 못했습니다"
++#: libdnf/dnf-sack.cpp:251
++msgid "repo_add_solv() has failed."
++msgstr "repo_add_solv() 실패하였습니다."
++
++#: libdnf/dnf-sack.cpp:415
++#, c-format
++msgid "Loading extension cache %s (%d) failed: "
++msgstr "확장 캐쉬 %s (%d) 적재 중 실패함: "
+ 
+-#: libdnf/dnf-sack.cpp:414
++#: libdnf/dnf-sack.cpp:429
+ #, c-format
+ msgid "no %1$s string for %2$s"
+ msgstr "%2$s에 %1$s 문자열이 없습니다"
+ 
+-#: libdnf/dnf-sack.cpp:424
++#: libdnf/dnf-sack.cpp:439
+ #, c-format
+ msgid "failed to open: %s"
+ msgstr "열지 못했습니다 : %s"
+ 
+-#: libdnf/dnf-sack.cpp:503
++#: libdnf/dnf-sack.cpp:518
+ #, c-format
+ msgid "cannot create temporary file: %s"
+ msgstr "임시 파일을 만들 수 없습니다. %s"
+ 
+-#: libdnf/dnf-sack.cpp:513
++#: libdnf/dnf-sack.cpp:528
+ #, c-format
+ msgid "failed opening tmp file: %s"
+ msgstr "여는 tmp 파일을 열지 못했습니다. %s"
+ 
+-#: libdnf/dnf-sack.cpp:525
++#: libdnf/dnf-sack.cpp:550
+ #, c-format
+-msgid "write_main() failed writing data: %i"
+-msgstr "write_main() 실패한 쓰기 자료: %i"
++msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
++msgstr "기본 캐쉬 %s를 쓰는 동안에 repowriter 쓰기가 실패함: %i, 오류: %s"
+ 
+-#: libdnf/dnf-sack.cpp:542
+-msgid "write_main() failed to re-load written solv file"
+-msgstr "write_main ()이 작성된 solv 파일을 다시 적재하지 못했습니다"
++#: libdnf/dnf-sack.cpp:560
++#, c-format
++msgid "Failed closing tmp file %s: %s"
++msgstr "tmp 파일을 닫는데 실패함 %s: %s"
++
++#: libdnf/dnf-sack.cpp:570
++#, c-format
++msgid "Failed to use newly written primary cache: %s: "
++msgstr "새롭게 작성된 기본 캐쉬를 사용하는데 실패함: %s: "
+ 
+-#: libdnf/dnf-sack.cpp:607
++#: libdnf/dnf-sack.cpp:576
++#, c-format
++msgid "Failed to use newly written primary cache: %s"
++msgstr "새롭게 작성된 기본 캐쉬를 사용하는데 실패함: %s"
++
++#: libdnf/dnf-sack.cpp:626
+ #, c-format
+ msgid "can not create temporary file %s"
+ msgstr "임시 파일을 만들 수 없습니다. %s"
+ 
+-#: libdnf/dnf-sack.cpp:625
++#: libdnf/dnf-sack.cpp:666
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
+-msgstr "write_ext(%1$d) 실패하였습니다: %2$d"
++msgid ""
++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
++msgstr "확장 캐쉬 %s (%d)를 쓰는 동안: repowriter 쓰기가 실패함: %i, 오류: %s"
+ 
+-#: libdnf/dnf-sack.cpp:680
++#: libdnf/dnf-sack.cpp:676
++#, c-format
++msgid "While writing extension cache (%d): cannot close temporary file: %s"
++msgstr "확장 캐쉬 (%d)를 쓰는 동안: 임시 파일을 닫을 수 없습니다: %s"
++
++#: libdnf/dnf-sack.cpp:692
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d): "
++msgstr "새롭게 작성된 확장 캐쉬를 사용하는데 실패함: %s (%d): "
++
++#: libdnf/dnf-sack.cpp:699
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d)"
++msgstr "새롭게 작성된 확장 캐쉬를 사용하는데 실패함: %s (%d)"
++
++#: libdnf/dnf-sack.cpp:740
+ msgid "null repo md file"
+ msgstr "null repo md 파일"
+ 
+-#: libdnf/dnf-sack.cpp:689
++#: libdnf/dnf-sack.cpp:749
+ #, c-format
+ msgid "can not read file %1$s: %2$s"
+ msgstr "파일을 읽을 수 없습니다. %1$s: %2$s"
+ 
+-#: libdnf/dnf-sack.cpp:703
+-msgid "repo_add_solv() has failed."
+-msgstr "repo_add_solv() 실패하였습니다."
++#: libdnf/dnf-sack.cpp:764
++#, c-format
++msgid "While loading repository failed to use %s: "
++msgstr "저장소를 적재하는 동안에 %s를 사용하는데 실패함: "
+ 
+-#: libdnf/dnf-sack.cpp:716
++#: libdnf/dnf-sack.cpp:775
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr "MD_TYPE_PRIMARY를 적재하지 못했습니다."
+ 
+-#: libdnf/dnf-sack.cpp:729
+-msgid "repo_add_repomdxml/rpmmd() has failed."
+-msgstr "repo_add_repomdxml/rpmmd() 실패하였습니다."
++#: libdnf/dnf-sack.cpp:784
++#, c-format
++msgid "Opening repository primary data has failed: %s"
++msgstr "저장소 기본 자료를 여는데 실패함: %s"
++
++#: libdnf/dnf-sack.cpp:795
++#, c-format
++msgid "Loading repomd has failed: %s"
++msgstr "repomd 적재하는데 실패함: %s"
++
++#: libdnf/dnf-sack.cpp:806
++#, c-format
++msgid "Loading primary has failed: %s"
++msgstr "기본 적재하는데 실패함: %s"
+ 
+-#: libdnf/dnf-sack.cpp:796
++#: libdnf/dnf-sack.cpp:872
+ msgid "failed to auto-detect architecture"
+ msgstr "구조 자동 검색에 실패했습니다"
+ 
+-#: libdnf/dnf-sack.cpp:961
++#: libdnf/dnf-sack.cpp:1037
+ #, c-format
+ msgid "failed creating cachedir %s"
+-msgstr "캐시 된 생성 실패 %s"
++msgstr "캐쉬 된 생성 실패 %s"
+ 
+-#: libdnf/dnf-sack.cpp:1738
++#: libdnf/dnf-sack.cpp:1814
+ msgid "failed loading RPMDB"
+ msgstr "RPMDB로드 실패"
+ 
+-#: libdnf/dnf-sack.cpp:2522
++#: libdnf/dnf-sack.cpp:2598
+ #, c-format
+ msgid "No module defaults found: %s"
+ msgstr "모듈 기본 설정을 찾을 수 없습니다: %s"
+@@ -415,69 +472,78 @@ msgstr "국가에서 행해진 %1$p 크기가 설정되지 않았습니다. [%2$
+ msgid "already at 100%% state [%s]"
+ msgstr "이미 100 %% 상태 [%s]"
+ 
+-#: libdnf/dnf-transaction.cpp:300
++#: libdnf/dnf-transaction.cpp:302
+ #, c-format
+ msgid "Sources not set when trying to ensure package %s"
+-msgstr "꾸러미를 만들 때 소스가 설정되지 않았습니다. %s"
++msgstr "꾸러미 %s를 확인 하려고 할 때 원천이 설정되지 않았습니다"
+ 
+-#: libdnf/dnf-transaction.cpp:326
++#: libdnf/dnf-transaction.cpp:328
+ #, c-format
+ msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr "보장하지 못함 %1$s 레포로서 %2$s 찾을 수 없음 (%3$i repos loaded)"
+ 
+-#: libdnf/dnf-transaction.cpp:367
++#: libdnf/dnf-transaction.cpp:369
+ msgid "Failed to check untrusted: "
+ msgstr "신뢰할 수 없는지 확인하지 못했습니다. "
+ 
+-#: libdnf/dnf-transaction.cpp:377
++#: libdnf/dnf-transaction.cpp:379
+ #, c-format
+ msgid "Downloaded file for %s not found"
+ msgstr "에 대한 내려받기 파일 %s 찾을 수 없음"
+ 
+-#: libdnf/dnf-transaction.cpp:397
++#: libdnf/dnf-transaction.cpp:399
+ #, c-format
+ msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr "꾸러미 %1$s 확인 및 복구 할 수 없습니다. %2$s GPG 사용 설정 됨 : %3$s"
+ 
+-#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
++#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
+ msgid "Failed to get value for CacheDir"
+ msgstr "CacheDir에 대한 값을 가져 오는 데 실패했습니다"
+ 
+-#: libdnf/dnf-transaction.cpp:911
++#: libdnf/dnf-transaction.cpp:913
+ #, c-format
+ msgid "Failed to get filesystem free size for %s: "
+ msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s: "
+ 
+-#: libdnf/dnf-transaction.cpp:919
++#: libdnf/dnf-transaction.cpp:921
+ #, c-format
+ msgid "Failed to get filesystem free size for %s"
+ msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s"
+ 
+-#: libdnf/dnf-transaction.cpp:935
++#: libdnf/dnf-transaction.cpp:937
+ #, c-format
+ msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr "여유 공간이 부족합니다. %1$s: 필요 %2$s, 이용 가능 %3$s"
+ 
+-#: libdnf/dnf-transaction.cpp:1195
++#: libdnf/dnf-transaction.cpp:1196
+ msgid "failed to set root"
+ msgstr "루트를 설정하지 못했습니다"
+ 
+-#: libdnf/dnf-transaction.cpp:1416
++#: libdnf/dnf-transaction.cpp:1417
+ #, c-format
+ msgid "Error %i running transaction test"
+ msgstr "%i 연결 실행 중 오류"
+ 
+-#: libdnf/dnf-transaction.cpp:1456
++#: libdnf/dnf-transaction.cpp:1441
++#, c-format
++msgid "Error %i opening rpm database"
++msgstr "rpm 데이타베이스를 여는 동안 오류 %i가 발생했습니다"
++
++#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
++msgid "The rpmdbCookie() function did not return cookie of rpm database."
++msgstr "rpmdbCookie() 함수는 rpm 데이타베이스의 쿠키를 반환하지 않습니다."
++
++#: libdnf/dnf-transaction.cpp:1464
+ #, c-format
+ msgid "Error %i running transaction"
+ msgstr "오류 %i 실행중인 연결"
+ 
+-#: libdnf/dnf-transaction.cpp:1472
++#: libdnf/dnf-transaction.cpp:1480
+ #, c-format
+ msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr "연결이 쓰기 단계로 이동하지 않았지만 오류를 반환하지 않았습니다 (%i)"
+ 
+-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
+ #, c-format
+ msgid "cannot open directory %1$s: %2$s"
+ msgstr "디렉토리를 열 수 없습니다. %1$s: %2$s"
+@@ -678,62 +744,67 @@ msgstr "모듈 %s가 자체적으로 제공된 %s와 충돌합니다"
+ msgid "both module %s and %s obsolete %s"
+ msgstr "모듈 %s와 %s가 %s에서 폐기되었습니다"
+ 
+-#: libdnf/goal/Goal.cpp:1141
++#: libdnf/goal/Goal.cpp:1157
+ msgid "no solver set"
+ msgstr "solver 설정 없음"
+ 
+-#: libdnf/goal/Goal.cpp:1146
++#: libdnf/goal/Goal.cpp:1162
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "%s 절대값을 생성을 실패하였습니다"
+ 
+-#: libdnf/goal/Goal.cpp:1153
++#: libdnf/goal/Goal.cpp:1169
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "%1$s: %2$s에 디버그자료 쓰기를 실패했습니다"
+ 
+-#: libdnf/goal/Goal.cpp:1165
++#: libdnf/goal/Goal.cpp:1181
+ msgid "no solv in the goal"
+ msgstr "목표에 solv가 없다"
+ 
+-#: libdnf/goal/Goal.cpp:1167
++#: libdnf/goal/Goal.cpp:1183
+ msgid "no solution, cannot remove protected package"
+ msgstr "해결책 없음, 보호 된 꾸러미를 제거 할 수 없음"
+ 
+-#: libdnf/goal/Goal.cpp:1170
++#: libdnf/goal/Goal.cpp:1186
+ msgid "no solution possible"
+ msgstr "해결책 없음"
+ 
+-#: libdnf/goal/Goal.cpp:1296
++#: libdnf/goal/Goal.cpp:1312
+ msgid "Problem: "
+ msgstr "문제: "
+ 
+-#: libdnf/goal/Goal.cpp:1301
++#: libdnf/goal/Goal.cpp:1317
+ #, c-format
+ msgid "Problem %d: "
+ msgstr "문제 %d: "
+ 
+-#: libdnf/goal/Goal.cpp:1634
++#: libdnf/goal/Goal.cpp:1650
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr "이 작업으로 인해 다음과 같은 보호 꾸러미가 제거됩니다. "
+ 
+-#: libdnf/hy-iutil.cpp:326
++#: libdnf/hy-iutil.cpp:181
++#, c-format
++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
++msgstr "Libsolv의 solv_toolversion은 %zu 길이지만 최대값은 %zu로 예상됩니다"
++
++#: libdnf/hy-iutil.cpp:408
+ #, c-format
+ msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr "%1$s 을 %2$s: %3$s에 이름 바꾸기 실패"
+ 
+-#: libdnf/hy-iutil.cpp:334
++#: libdnf/hy-iutil.cpp:416
+ #, c-format
+ msgid "Failed setting perms on %1$s: %2$s"
+ msgstr "%1$s: %2$s에 perms 설정 실패하였습니다"
+ 
+-#: libdnf/hy-iutil.cpp:380
++#: libdnf/hy-iutil.cpp:462
+ #, c-format
+ msgid "cannot create directory %1$s: %2$s"
+ msgstr "디렉토리를 생성 할 수 없습니다 %1$s: %2$s"
+ 
+-#: libdnf/hy-iutil.cpp:415
++#: libdnf/hy-iutil.cpp:497
+ #, c-format
+ msgid "cannot stat path %1$s: %2$s"
+ msgstr "경로 %1$s: %2$s stat 할 수 없습니다"
+@@ -829,7 +900,9 @@ msgstr "'%s'에서 모듈식 Fail Safe 자료를 제거 할 수 없습니다"
+ msgid ""
+ "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is "
+ "disabled"
+-msgstr "'%s:%s'에 사용되지 않는 모듈을 적용할 수 없습니다(대상 모듈 '%s'가 비활성화 되어 있기 때문에)"
++msgstr ""
++"'%s:%s'에 사용되지 않는 모듈을 적용할 수 없습니다(대상 모듈 '%s'가 비활성화 "
++"되어 있기 때문에)"
+ 
+ #: libdnf/module/modulemd/ModuleMetadata.cpp:86
+ #, c-format
+@@ -902,8 +975,9 @@ msgid ""
+ "deprecated and the support will be dropped in future versions. Use '=' "
+ "operator instead."
+ msgstr ""
+-"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 연산자는 더 이상 사용되지 않으며, 향후 "
+-"버전에서는 지원이 중단됩니다. 대신 '=' 연산자를 사용하세요."
++"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 "
++"연산자는 더 이상 사용되지 않으며, 향후 버전에서는 지원이 중단됩니다. 대신 "
++"'=' 연산자를 사용하세요."
+ 
+ #: libdnf/repo/Repo.cpp:321
+ #, c-format
+@@ -915,167 +989,170 @@ msgstr "저장소 %s 는 연결주소 또는 baseurl 구성을 갖고 있지 않
+ msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr "저장소 '%s'는 지원하지 않는 유형: 'type=%s'이며, 건너뜁니다."
+ 
+-#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641
+-#: libdnf/repo/Repo.cpp:1400
++#: libdnf/repo/Repo.cpp:491 libdnf/repo/Repo.cpp:612 libdnf/repo/Repo.cpp:643
++#: libdnf/repo/Repo.cpp:1407
+ #, c-format
+ msgid "repo '%s': 'basecachedir' is not set"
+ msgstr "repo '%s': 'basecachedir가 구성되어 있지 않습니다"
+ 
+-#: libdnf/repo/Repo.cpp:512
++#: libdnf/repo/Repo.cpp:514
+ msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
+-msgstr "최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주세요"
++"Maximum download speed is lower than minimum. Please change configuration of "
++"minrate or throttle"
++msgstr ""
++"최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주"
++"세요"
+ 
+-#: libdnf/repo/Repo.cpp:546
++#: libdnf/repo/Repo.cpp:548
+ #, c-format
+ msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'"
+-msgstr "repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다"
++msgstr ""
++"repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다"
+ 
+-#: libdnf/repo/Repo.cpp:548
++#: libdnf/repo/Repo.cpp:550
+ msgid "'proxy_username' is set but not 'proxy_password'"
+ msgstr "'proxy_username' 이 구성되어 있지만 'proxy_password'가 없습니다"
+ 
+-#: libdnf/repo/Repo.cpp:629
++#: libdnf/repo/Repo.cpp:631
+ #, c-format
+ msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr "repo: %s 를 위해 유효한 baseurl을 찾을 수 없습니다"
+ 
+-#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682
++#: libdnf/repo/Repo.cpp:662 libdnf/repo/Repo.cpp:684
+ #, c-format
+ msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690
++#: libdnf/repo/Repo.cpp:670 libdnf/repo/Repo.cpp:692
+ #, c-format
+ msgid "%s: gpgme_op_import(): %s"
+ msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162
+-#: libdnf/repo/Repo.cpp:1236 libdnf/repo/Repo.cpp:1279
++#: libdnf/repo/Repo.cpp:711 libdnf/repo/Repo.cpp:1169 libdnf/repo/Repo.cpp:1243
++#: libdnf/repo/Repo.cpp:1286
+ #, c-format
+ msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr "임시 저장소 디렉토리를 만들 수 없습니다 \"%s\": %s"
+ 
+-#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917
++#: libdnf/repo/Repo.cpp:719 libdnf/repo/Repo.cpp:785 libdnf/repo/Repo.cpp:919
+ #, c-format
+ msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808
++#: libdnf/repo/Repo.cpp:746 libdnf/repo/Repo.cpp:810
+ #, c-format
+ msgid "can not list keys: %s"
+ msgstr "열쇠를 나열 할 수 없습니다 : %s"
+ 
+-#: libdnf/repo/Repo.cpp:837
++#: libdnf/repo/Repo.cpp:839
+ #, c-format
+ msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr "repo '%s': %sf 를 위해 GPG key 가져오기에 실패하였습니다"
+ 
+-#: libdnf/repo/Repo.cpp:890
++#: libdnf/repo/Repo.cpp:892
+ #, c-format
+ msgid "repo %s: 0x%s already imported"
+ msgstr "repo %s: 0x%s를 이미 가져왔습니다"
+ 
+-#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79
++#: libdnf/repo/Repo.cpp:906 libdnf/utils/filesystem.cpp:79
+ #, c-format
+ msgid "Failed to create directory \"%s\": %d - %s"
+ msgstr "디렉토리를 생성 할 수 없습니다 \"%s\": %d - %s"
+ 
+-#: libdnf/repo/Repo.cpp:924
++#: libdnf/repo/Repo.cpp:926
+ #, c-format
+ msgid "repo %s: imported key 0x%s."
+ msgstr "repo %s: 0x%s 키를 가져왔습니다."
+ 
+-#: libdnf/repo/Repo.cpp:1176
++#: libdnf/repo/Repo.cpp:1183
+ #, c-format
+ msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr "부활: repo '%s' 건너 뛰었으며, 메타링크가 없습니다."
+ 
+-#: libdnf/repo/Repo.cpp:1195
++#: libdnf/repo/Repo.cpp:1202
+ #, c-format
+ msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr "부활: repo '%s'건너 뛰었으며, 사용 가능한 해쉬가 없습니다."
+ 
+-#: libdnf/repo/Repo.cpp:1218
++#: libdnf/repo/Repo.cpp:1225
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr "부활 : '%s'에 실패하고, %s 합과 일치하지 않음."
+ 
+-#: libdnf/repo/Repo.cpp:1224
++#: libdnf/repo/Repo.cpp:1231
+ #, c-format
+ msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr "부활: '%s'는 부활 할 수 있습니다 - 메타링크 체크섬이 일치합니다."
+ 
+-#: libdnf/repo/Repo.cpp:1253
++#: libdnf/repo/Repo.cpp:1260
+ #, c-format
+ msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr "부활: '%s'는 부활 할 수 있습니다 - repomd가 일치합니다."
+ 
+-#: libdnf/repo/Repo.cpp:1255
++#: libdnf/repo/Repo.cpp:1262
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr "부활: '%s'에 실패하고, 일치하지 않은 repomd."
+ 
+-#: libdnf/repo/Repo.cpp:1273
++#: libdnf/repo/Repo.cpp:1280
+ #, c-format
+ msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr "repo 목적지 디렉토리 \"%s\": %s 를 생성 할 수 없습니다"
+ 
+-#: libdnf/repo/Repo.cpp:1293
++#: libdnf/repo/Repo.cpp:1300
+ #, c-format
+ msgid "Cannot create directory \"%s\": %s"
+ msgstr "디렉토리를 만들 수 없습니다 \"%s\": %s"
+ 
+-#: libdnf/repo/Repo.cpp:1316
++#: libdnf/repo/Repo.cpp:1323
+ #, c-format
+ msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+-msgstr "디렉터리 이름을 바꿀 수 없습니다 \"%s\"~\"%s\": %s"
++msgstr "디렉토리 \"%s\"를 \"%s\": %s로 변경 할 수 없음"
+ 
+-#: libdnf/repo/Repo.cpp:1339
++#: libdnf/repo/Repo.cpp:1346
+ #, c-format
+ msgid "repo: using cache for: %s"
+ msgstr "repo: 캐쉬 사용: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1351
++#: libdnf/repo/Repo.cpp:1358
+ #, c-format
+ msgid "Cache-only enabled but no cache for '%s'"
+ msgstr "캐쉬만 사용 가능하지만 '%s'를 위해 캐쉬가 없습니다"
+ 
+-#: libdnf/repo/Repo.cpp:1355
++#: libdnf/repo/Repo.cpp:1362
+ #, c-format
+ msgid "repo: downloading from remote: %s"
+ msgstr "repo: 원격에서 내려받기 중: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1362
++#: libdnf/repo/Repo.cpp:1369
+ #, c-format
+ msgid "Failed to download metadata for repo '%s': %s"
+ msgstr "repo를 위한 메타자료 내려받기에 실패하였습니다 '%s': %s"
+ 
+-#: libdnf/repo/Repo.cpp:1388
++#: libdnf/repo/Repo.cpp:1395
+ msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr "getCachedir(): SHA256 계산에 실패했습니다"
+ 
+-#: libdnf/repo/Repo.cpp:1416
++#: libdnf/repo/Repo.cpp:1423
+ #, c-format
+ msgid "Cannot create persistdir \"%s\": %s"
+ msgstr "persistdir \"%s\": %s 를 생성 할 수 없습니다"
+ 
+-#: libdnf/repo/Repo.cpp:1793
++#: libdnf/repo/Repo.cpp:1800
+ msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr "이력서는 byterangestart 매개 변수와 동시에 사용 할 수 없습니다"
+ 
+-#: libdnf/repo/Repo.cpp:1810
++#: libdnf/repo/Repo.cpp:1817
+ #, c-format
+ msgid "PackageTarget initialization failed: %s"
+ msgstr "PackageTarget 초기화에 실패했습니다: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1916
++#: libdnf/repo/Repo.cpp:1923
+ #, c-format
+ msgid "Cannot open %s: %s"
+ msgstr "열 수 없습니다 %s: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1960
++#: libdnf/repo/Repo.cpp:1967
+ #, c-format
+ msgid "Log handler with id %ld doesn't exist"
+ msgstr "ID가 있는 로그 처리기 %ld가 존재하지 않습니다"
+@@ -1094,17 +1171,18 @@ msgstr "진행 중이 아님"
+ msgid "No transaction in progress"
+ msgstr "진행 중인 연결 없음"
+ 
+-#: libdnf/transaction/TransactionItem.cpp:147
++#: libdnf/transaction/TransactionItem.cpp:146
+ msgid "Attempt to insert transaction item into completed transaction"
+ msgstr "연결 항목을 완료된 연결에 삽입하려고 시도했습니다"
+ 
+-#: libdnf/transaction/TransactionItem.cpp:218
++#: libdnf/transaction/TransactionItem.cpp:217
+ msgid "Attempt to update transaction item in completed transaction"
+ msgstr "완료된 연결에서 연결 항목 최신화를 시도합니다"
+ 
+ #: libdnf/transaction/Transformer.cpp:76
+ msgid "Database Corrupted: no row 'version' in table 'config'"
+-msgstr "데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다"
++msgstr ""
++"데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다"
+ 
+ #: libdnf/transaction/Transformer.cpp:681
+ msgid "Transformer: can't open history persist dir"
+@@ -1127,8 +1205,20 @@ msgstr "TransactionItem 상태가 설정되지 않았습니다. %s"
+ msgid "Can't add console output to unsaved transaction"
+ msgstr "저장되지 않은 연결에 콘솔 출력을 추가 할 수 없습니다"
+ 
+-#~ msgid "Failed to parse module artifact NEVRA '%s'"
+-#~ msgstr "모듈 artifact NERVRA '%s'를 구문 분석하는데 실패하였습니다"
++#~ msgid "failed to add solv"
++#~ msgstr "solv를 추가하지 못했습니다"
++
++#~ msgid "write_main() failed writing data: %i"
++#~ msgstr "write_main() 실패한 쓰기 자료: %i"
++
++#~ msgid "write_main() failed to re-load written solv file"
++#~ msgstr "write_main ()이 작성된 solv 파일을 다시 적재하지 못했습니다"
+ 
+-#~ msgid "failed calculating RPMDB checksum"
+-#~ msgstr "RPMDB 체크섬 계산 실패"
++#~ msgid "write_ext(%1$d) has failed: %2$d"
++#~ msgstr "write_ext(%1$d) 실패하였습니다: %2$d"
++
++#~ msgid "repo_add_repomdxml/rpmmd() has failed."
++#~ msgstr "repo_add_repomdxml/rpmmd() 실패하였습니다."
++
++#~ msgid "Failed to parse module artifact NEVRA '%s'"
++#~ msgstr "모듈 artifact NERVE '%s' 구분 분석에 실패함"
+diff --git a/po/libdnf.pot b/po/libdnf.pot
+index 4ae537cd..fcd92f5a 100644
+--- a/po/libdnf.pot
++++ b/po/libdnf.pot
+@@ -8,7 +8,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2022-01-12 01:51+0000\n"
++"POT-Creation-Date: 2023-02-28 09:24+0100\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
+@@ -105,122 +105,122 @@ msgstr ""
+ msgid "GetValue(): Value not set"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
++#: libdnf/dnf-context.cpp:3189 libdnf/dnf-context.cpp:3198
+ #, c-format
+ msgid "Cannot enable more streams from module '%s' at the same time"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
++#: libdnf/dnf-context.cpp:3207 libdnf/dnf-context.cpp:3225
+ #, c-format
+ msgid ""
+ "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3263
++#: libdnf/dnf-context.cpp:3274
+ #, c-format
+ msgid "Modular dependency problem with Defaults: %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3266
++#: libdnf/dnf-context.cpp:3277
+ #, c-format
+ msgid "Modular dependency problem with the latest modules: %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3270
++#: libdnf/dnf-context.cpp:3281
+ #, c-format
+ msgid "Modular dependency problem: %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
+-#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
+-#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
+-#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
++#: libdnf/dnf-context.cpp:3304 libdnf/dnf-context.cpp:3328
++#: libdnf/dnf-context.cpp:3339 libdnf/dnf-context.cpp:3378
++#: libdnf/dnf-context.cpp:3394 libdnf/dnf-context.cpp:3426
++#: libdnf/dnf-context.cpp:3475 libdnf/dnf-context.cpp:3485
+ #, c-format
+ msgid "Unable to resolve argument '%s'"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3300
++#: libdnf/dnf-context.cpp:3311
+ #, c-format
+ msgid ""
+ "Only module name is required. Ignoring unneeded information in argument: '%s'"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3314
++#: libdnf/dnf-context.cpp:3325
+ #, c-format
+ msgid "Cannot reset module '%s': State of module already modified"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3325
++#: libdnf/dnf-context.cpp:3336
+ #, c-format
+ msgid "Cannot disable module '%s': State of module already modified"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
+-#: libdnf/dnf-context.cpp:3633
++#: libdnf/dnf-context.cpp:3367 libdnf/dnf-context.cpp:3463
++#: libdnf/dnf-context.cpp:3644
+ msgid "No modular data available"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3373
++#: libdnf/dnf-context.cpp:3384
+ #, c-format
+ msgid "Ignoring unneeded information in argument: '%s'"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3411
++#: libdnf/dnf-context.cpp:3422
+ #, c-format
+ msgid ""
+ "Problem during enablement of dependency tree for module '%1$s' stream "
+ "'%2$s': %3$s"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3423
++#: libdnf/dnf-context.cpp:3434
+ msgid "Problems appeared for module enable request:"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3518
++#: libdnf/dnf-context.cpp:3529
+ #, c-format
+ msgid "No active module packages found for module spec '%s'"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3523
++#: libdnf/dnf-context.cpp:3534
+ #, c-format
+ msgid "Cannot install module '%s' from fail-safe repository"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3530
++#: libdnf/dnf-context.cpp:3541
+ #, c-format
+ msgid "No profile found matching '%s'"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3584
++#: libdnf/dnf-context.cpp:3595
+ #, c-format
+ msgid "No match for package '%s' for module spec %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3595
++#: libdnf/dnf-context.cpp:3606
+ #, c-format
+ msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3604
++#: libdnf/dnf-context.cpp:3615
+ msgid "Problems appeared for module install request:"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3663
++#: libdnf/dnf-context.cpp:3674
+ msgid "Problems appeared for module reset request:"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
++#: libdnf/dnf-context.cpp:3675 libdnf/dnf-context.cpp:3734
+ msgid "Problems appeared for module disable request:"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3755
++#: libdnf/dnf-context.cpp:3766
+ #, c-format
+ msgid ""
+ "The operation would result in switching of module '%s' stream '%s' to stream "
+ "'%s'"
+ msgstr ""
+ 
+-#: libdnf/dnf-context.cpp:3759
++#: libdnf/dnf-context.cpp:3770
+ msgid ""
+ "It is not possible to switch enabled streams of a module.\n"
+ "It is recommended to remove all installed content from the module, and reset "
+@@ -309,84 +309,128 @@ msgstr ""
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:395
+-msgid "failed to add solv"
++#: libdnf/dnf-sack.cpp:251
++msgid "repo_add_solv() has failed."
++msgstr ""
++
++#: libdnf/dnf-sack.cpp:415
++#, c-format
++msgid "Loading extension cache %s (%d) failed: "
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:414
++#: libdnf/dnf-sack.cpp:429
+ #, c-format
+ msgid "no %1$s string for %2$s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:424
++#: libdnf/dnf-sack.cpp:439
+ #, c-format
+ msgid "failed to open: %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:503
++#: libdnf/dnf-sack.cpp:518
+ #, c-format
+ msgid "cannot create temporary file: %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:513
++#: libdnf/dnf-sack.cpp:528
+ #, c-format
+ msgid "failed opening tmp file: %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:525
++#: libdnf/dnf-sack.cpp:550
++#, c-format
++msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
++msgstr ""
++
++#: libdnf/dnf-sack.cpp:560
+ #, c-format
+-msgid "write_main() failed writing data: %i"
++msgid "Failed closing tmp file %s: %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:542
+-msgid "write_main() failed to re-load written solv file"
++#: libdnf/dnf-sack.cpp:570
++#, c-format
++msgid "Failed to use newly written primary cache: %s: "
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:607
++#: libdnf/dnf-sack.cpp:576
++#, c-format
++msgid "Failed to use newly written primary cache: %s"
++msgstr ""
++
++#: libdnf/dnf-sack.cpp:626
+ #, c-format
+ msgid "can not create temporary file %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:625
++#: libdnf/dnf-sack.cpp:666
++#, c-format
++msgid ""
++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
++msgstr ""
++
++#: libdnf/dnf-sack.cpp:676
++#, c-format
++msgid "While writing extension cache (%d): cannot close temporary file: %s"
++msgstr ""
++
++#: libdnf/dnf-sack.cpp:692
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d): "
++msgstr ""
++
++#: libdnf/dnf-sack.cpp:699
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
++msgid "Failed to use newly written extension cache: %s (%d)"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:680
++#: libdnf/dnf-sack.cpp:740
+ msgid "null repo md file"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:689
++#: libdnf/dnf-sack.cpp:749
+ #, c-format
+ msgid "can not read file %1$s: %2$s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:703
+-msgid "repo_add_solv() has failed."
++#: libdnf/dnf-sack.cpp:764
++#, c-format
++msgid "While loading repository failed to use %s: "
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:716
++#: libdnf/dnf-sack.cpp:775
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:729
+-msgid "repo_add_repomdxml/rpmmd() has failed."
++#: libdnf/dnf-sack.cpp:784
++#, c-format
++msgid "Opening repository primary data has failed: %s"
++msgstr ""
++
++#: libdnf/dnf-sack.cpp:795
++#, c-format
++msgid "Loading repomd has failed: %s"
++msgstr ""
++
++#: libdnf/dnf-sack.cpp:806
++#, c-format
++msgid "Loading primary has failed: %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:796
++#: libdnf/dnf-sack.cpp:872
+ msgid "failed to auto-detect architecture"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:961
++#: libdnf/dnf-sack.cpp:1037
+ #, c-format
+ msgid "failed creating cachedir %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:1738
++#: libdnf/dnf-sack.cpp:1814
+ msgid "failed loading RPMDB"
+ msgstr ""
+ 
+-#: libdnf/dnf-sack.cpp:2522
++#: libdnf/dnf-sack.cpp:2598
+ #, c-format
+ msgid "No module defaults found: %s"
+ msgstr ""
+@@ -415,69 +459,78 @@ msgstr ""
+ msgid "already at 100%% state [%s]"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:300
++#: libdnf/dnf-transaction.cpp:302
+ #, c-format
+ msgid "Sources not set when trying to ensure package %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:326
++#: libdnf/dnf-transaction.cpp:328
+ #, c-format
+ msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:367
++#: libdnf/dnf-transaction.cpp:369
+ msgid "Failed to check untrusted: "
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:377
++#: libdnf/dnf-transaction.cpp:379
+ #, c-format
+ msgid "Downloaded file for %s not found"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:397
++#: libdnf/dnf-transaction.cpp:399
+ #, c-format
+ msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
++#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
+ msgid "Failed to get value for CacheDir"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:911
++#: libdnf/dnf-transaction.cpp:913
+ #, c-format
+ msgid "Failed to get filesystem free size for %s: "
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:919
++#: libdnf/dnf-transaction.cpp:921
+ #, c-format
+ msgid "Failed to get filesystem free size for %s"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:935
++#: libdnf/dnf-transaction.cpp:937
+ #, c-format
+ msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:1195
++#: libdnf/dnf-transaction.cpp:1196
+ msgid "failed to set root"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:1416
++#: libdnf/dnf-transaction.cpp:1417
+ #, c-format
+ msgid "Error %i running transaction test"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:1456
++#: libdnf/dnf-transaction.cpp:1441
++#, c-format
++msgid "Error %i opening rpm database"
++msgstr ""
++
++#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
++msgid "The rpmdbCookie() function did not return cookie of rpm database."
++msgstr ""
++
++#: libdnf/dnf-transaction.cpp:1464
+ #, c-format
+ msgid "Error %i running transaction"
+ msgstr ""
+ 
+-#: libdnf/dnf-transaction.cpp:1472
++#: libdnf/dnf-transaction.cpp:1480
+ #, c-format
+ msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr ""
+ 
+-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
+ #, c-format
+ msgid "cannot open directory %1$s: %2$s"
+ msgstr ""
+@@ -678,62 +731,67 @@ msgstr ""
+ msgid "both module %s and %s obsolete %s"
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1141
++#: libdnf/goal/Goal.cpp:1157
+ msgid "no solver set"
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1146
++#: libdnf/goal/Goal.cpp:1162
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1153
++#: libdnf/goal/Goal.cpp:1169
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1165
++#: libdnf/goal/Goal.cpp:1181
+ msgid "no solv in the goal"
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1167
++#: libdnf/goal/Goal.cpp:1183
+ msgid "no solution, cannot remove protected package"
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1170
++#: libdnf/goal/Goal.cpp:1186
+ msgid "no solution possible"
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1296
++#: libdnf/goal/Goal.cpp:1312
+ msgid "Problem: "
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1301
++#: libdnf/goal/Goal.cpp:1317
+ #, c-format
+ msgid "Problem %d: "
+ msgstr ""
+ 
+-#: libdnf/goal/Goal.cpp:1634
++#: libdnf/goal/Goal.cpp:1650
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr ""
+ 
+-#: libdnf/hy-iutil.cpp:326
++#: libdnf/hy-iutil.cpp:181
++#, c-format
++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
++msgstr ""
++
++#: libdnf/hy-iutil.cpp:408
+ #, c-format
+ msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr ""
+ 
+-#: libdnf/hy-iutil.cpp:334
++#: libdnf/hy-iutil.cpp:416
+ #, c-format
+ msgid "Failed setting perms on %1$s: %2$s"
+ msgstr ""
+ 
+-#: libdnf/hy-iutil.cpp:380
++#: libdnf/hy-iutil.cpp:462
+ #, c-format
+ msgid "cannot create directory %1$s: %2$s"
+ msgstr ""
+ 
+-#: libdnf/hy-iutil.cpp:415
++#: libdnf/hy-iutil.cpp:497
+ #, c-format
+ msgid "cannot stat path %1$s: %2$s"
+ msgstr ""
+@@ -913,167 +971,167 @@ msgstr ""
+ msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641
+-#: libdnf/repo/Repo.cpp:1400
++#: libdnf/repo/Repo.cpp:491 libdnf/repo/Repo.cpp:612 libdnf/repo/Repo.cpp:643
++#: libdnf/repo/Repo.cpp:1407
+ #, c-format
+ msgid "repo '%s': 'basecachedir' is not set"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:512
++#: libdnf/repo/Repo.cpp:514
+ msgid ""
+ "Maximum download speed is lower than minimum. Please change configuration of "
+ "minrate or throttle"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:546
++#: libdnf/repo/Repo.cpp:548
+ #, c-format
+ msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:548
++#: libdnf/repo/Repo.cpp:550
+ msgid "'proxy_username' is set but not 'proxy_password'"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:629
++#: libdnf/repo/Repo.cpp:631
+ #, c-format
+ msgid "Cannot find a valid baseurl for repo: %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682
++#: libdnf/repo/Repo.cpp:662 libdnf/repo/Repo.cpp:684
+ #, c-format
+ msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690
++#: libdnf/repo/Repo.cpp:670 libdnf/repo/Repo.cpp:692
+ #, c-format
+ msgid "%s: gpgme_op_import(): %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236
+-#: libdnf/repo/Repo.cpp:1279
++#: libdnf/repo/Repo.cpp:711 libdnf/repo/Repo.cpp:1169 libdnf/repo/Repo.cpp:1243
++#: libdnf/repo/Repo.cpp:1286
+ #, c-format
+ msgid "Cannot create repo temporary directory \"%s\": %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917
++#: libdnf/repo/Repo.cpp:719 libdnf/repo/Repo.cpp:785 libdnf/repo/Repo.cpp:919
+ #, c-format
+ msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808
++#: libdnf/repo/Repo.cpp:746 libdnf/repo/Repo.cpp:810
+ #, c-format
+ msgid "can not list keys: %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:837
++#: libdnf/repo/Repo.cpp:839
+ #, c-format
+ msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:890
++#: libdnf/repo/Repo.cpp:892
+ #, c-format
+ msgid "repo %s: 0x%s already imported"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79
++#: libdnf/repo/Repo.cpp:906 libdnf/utils/filesystem.cpp:79
+ #, c-format
+ msgid "Failed to create directory \"%s\": %d - %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:924
++#: libdnf/repo/Repo.cpp:926
+ #, c-format
+ msgid "repo %s: imported key 0x%s."
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1176
++#: libdnf/repo/Repo.cpp:1183
+ #, c-format
+ msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1195
++#: libdnf/repo/Repo.cpp:1202
+ #, c-format
+ msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1218
++#: libdnf/repo/Repo.cpp:1225
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1224
++#: libdnf/repo/Repo.cpp:1231
+ #, c-format
+ msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1253
++#: libdnf/repo/Repo.cpp:1260
+ #, c-format
+ msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1255
++#: libdnf/repo/Repo.cpp:1262
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1273
++#: libdnf/repo/Repo.cpp:1280
+ #, c-format
+ msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1293
++#: libdnf/repo/Repo.cpp:1300
+ #, c-format
+ msgid "Cannot create directory \"%s\": %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1316
++#: libdnf/repo/Repo.cpp:1323
+ #, c-format
+ msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1339
++#: libdnf/repo/Repo.cpp:1346
+ #, c-format
+ msgid "repo: using cache for: %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1351
++#: libdnf/repo/Repo.cpp:1358
+ #, c-format
+ msgid "Cache-only enabled but no cache for '%s'"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1355
++#: libdnf/repo/Repo.cpp:1362
+ #, c-format
+ msgid "repo: downloading from remote: %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1362
++#: libdnf/repo/Repo.cpp:1369
+ #, c-format
+ msgid "Failed to download metadata for repo '%s': %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1388
++#: libdnf/repo/Repo.cpp:1395
+ msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1416
++#: libdnf/repo/Repo.cpp:1423
+ #, c-format
+ msgid "Cannot create persistdir \"%s\": %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1793
++#: libdnf/repo/Repo.cpp:1800
+ msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1810
++#: libdnf/repo/Repo.cpp:1817
+ #, c-format
+ msgid "PackageTarget initialization failed: %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1916
++#: libdnf/repo/Repo.cpp:1923
+ #, c-format
+ msgid "Cannot open %s: %s"
+ msgstr ""
+ 
+-#: libdnf/repo/Repo.cpp:1960
++#: libdnf/repo/Repo.cpp:1967
+ #, c-format
+ msgid "Log handler with id %ld doesn't exist"
+ msgstr ""
+@@ -1092,11 +1150,11 @@ msgstr ""
+ msgid "No transaction in progress"
+ msgstr ""
+ 
+-#: libdnf/transaction/TransactionItem.cpp:147
++#: libdnf/transaction/TransactionItem.cpp:146
+ msgid "Attempt to insert transaction item into completed transaction"
+ msgstr ""
+ 
+-#: libdnf/transaction/TransactionItem.cpp:218
++#: libdnf/transaction/TransactionItem.cpp:217
+ msgid "Attempt to update transaction item in completed transaction"
+ msgstr ""
+ 
+diff --git a/po/zh_CN.po b/po/zh_CN.po
+index 787086b5..6ca03861 100644
+--- a/po/zh_CN.po
++++ b/po/zh_CN.po
+@@ -1,21 +1,22 @@
+ # Charles Lee <lchopn@gmail.com>, 2017. #zanata, 2020, 2021.
+ # Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
+-# Qiyu Yan <yanqiyu01@gmail.com>, 2021.
+-# Sundeep Anand <suanand@redhat.com>, 2021.
++# Sundeep Anand <suanand@redhat.com>, 2021, 2022.
++# Transtats <suanand@redhat.com>, 2022, 2023.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2022-01-05 01:53+0000\n"
+-"PO-Revision-Date: 2021-09-11 10:04+0000\n"
+-"Last-Translator: Ludek Janda <ljanda@redhat.com>\n"
+-"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/dnf/libdnf-dnf-4-master/zh_CN/>\n"
++"POT-Creation-Date: 2023-02-28 09:24+0100\n"
++"PO-Revision-Date: 2023-03-07 14:20+0000\n"
++"Last-Translator: Transtats <suanand@redhat.com>\n"
++"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
++"projects/dnf/libdnf-rhel-9/zh_CN/>\n"
+ "Language: zh_CN\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+-"X-Generator: Weblate 4.8\n"
++"X-Generator: Weblate 4.15.2\n"
+ 
+ #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40
+ msgid "no value specified"
+@@ -104,130 +105,131 @@ msgstr "无法把 '%s' 转换为秒"
+ msgid "GetValue(): Value not set"
+ msgstr "GetValue(): 值没有设置"
+ 
+-#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
++#: libdnf/dnf-context.cpp:3189 libdnf/dnf-context.cpp:3198
+ #, c-format
+ msgid "Cannot enable more streams from module '%s' at the same time"
+ msgstr "无法同时从模块 '%s' 中启用更多流"
+ 
+-#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
++#: libdnf/dnf-context.cpp:3207 libdnf/dnf-context.cpp:3225
+ #, c-format
+ msgid ""
+ "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
+ msgstr "无法启用模块 '%1$s' 流 '%2$s':已经修改的模块状态"
+ 
+-#: libdnf/dnf-context.cpp:3263
++#: libdnf/dnf-context.cpp:3274
+ #, c-format
+ msgid "Modular dependency problem with Defaults: %s"
+ msgstr "默认设置的模块依赖性问题:%s"
+ 
+-#: libdnf/dnf-context.cpp:3266
++#: libdnf/dnf-context.cpp:3277
+ #, c-format
+ msgid "Modular dependency problem with the latest modules: %s"
+ msgstr "最新模块的模块化依赖关系问题: %s"
+ 
+-#: libdnf/dnf-context.cpp:3270
++#: libdnf/dnf-context.cpp:3281
+ #, c-format
+ msgid "Modular dependency problem: %s"
+ msgstr "模块依赖问题:%s"
+ 
+-#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
+-#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
+-#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
+-#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
++#: libdnf/dnf-context.cpp:3304 libdnf/dnf-context.cpp:3328
++#: libdnf/dnf-context.cpp:3339 libdnf/dnf-context.cpp:3378
++#: libdnf/dnf-context.cpp:3394 libdnf/dnf-context.cpp:3426
++#: libdnf/dnf-context.cpp:3475 libdnf/dnf-context.cpp:3485
+ #, c-format
+ msgid "Unable to resolve argument '%s'"
+ msgstr "无法解析参数 '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3300
++#: libdnf/dnf-context.cpp:3311
+ #, c-format
+ msgid ""
+-"Only module name is required. Ignoring unneeded information in argument: "
+-"'%s'"
++"Only module name is required. Ignoring unneeded information in argument: '%s'"
+ msgstr "只需要模块名。忽略参数 '%s' 中的无用信息"
+ 
+-#: libdnf/dnf-context.cpp:3314
++#: libdnf/dnf-context.cpp:3325
+ #, c-format
+ msgid "Cannot reset module '%s': State of module already modified"
+ msgstr "无法重置模块 '%s':已修改的模块状态"
+ 
+-#: libdnf/dnf-context.cpp:3325
++#: libdnf/dnf-context.cpp:3336
+ #, c-format
+ msgid "Cannot disable module '%s': State of module already modified"
+ msgstr "无法禁用模块 '%s':已经修改的模块状态"
+ 
+-#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
+-#: libdnf/dnf-context.cpp:3633
++#: libdnf/dnf-context.cpp:3367 libdnf/dnf-context.cpp:3463
++#: libdnf/dnf-context.cpp:3644
+ msgid "No modular data available"
+ msgstr "没有可用的模块数据"
+ 
+-#: libdnf/dnf-context.cpp:3373
++#: libdnf/dnf-context.cpp:3384
+ #, c-format
+ msgid "Ignoring unneeded information in argument: '%s'"
+-msgstr "忽略参数:\"%s\" 中不需要的信息"
++msgstr "忽略参数中不需要的信息:'%s'"
+ 
+-#: libdnf/dnf-context.cpp:3411
++#: libdnf/dnf-context.cpp:3422
+ #, c-format
+ msgid ""
+ "Problem during enablement of dependency tree for module '%1$s' stream "
+ "'%2$s': %3$s"
+ msgstr "为模块 '%1$s' 流 '%2$s' 启用依赖树时出现问题: %3$s"
+ 
+-#: libdnf/dnf-context.cpp:3423
++#: libdnf/dnf-context.cpp:3434
+ msgid "Problems appeared for module enable request:"
+-msgstr ""
++msgstr "模块启用请求出现问题:"
+ 
+-#: libdnf/dnf-context.cpp:3518
++#: libdnf/dnf-context.cpp:3529
+ #, c-format
+ msgid "No active module packages found for module spec '%s'"
+-msgstr ""
++msgstr "未找到模块规范 '%s' 的活动模块包"
+ 
+-#: libdnf/dnf-context.cpp:3523
+-#, fuzzy, c-format
+-#| msgid "cannot install both modules %s and %s"
++#: libdnf/dnf-context.cpp:3534
++#, c-format
+ msgid "Cannot install module '%s' from fail-safe repository"
+-msgstr "无法同时安装模块 %s 和 %s"
++msgstr "无法从故障保护存储库安装模块 '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3530
++#: libdnf/dnf-context.cpp:3541
+ #, c-format
+ msgid "No profile found matching '%s'"
+-msgstr ""
++msgstr "未找到匹配 '%s' 的配置文件"
+ 
+-#: libdnf/dnf-context.cpp:3584
++#: libdnf/dnf-context.cpp:3595
+ #, c-format
+ msgid "No match for package '%s' for module spec %s"
+-msgstr ""
++msgstr "没有匹配模块规范 %s 的包 '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3595
++#: libdnf/dnf-context.cpp:3606
+ #, c-format
+ msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
+-msgstr ""
++msgstr "在安装模块 '%1$s' 流 '%2$s'时的问题:%3$s"
+ 
+-#: libdnf/dnf-context.cpp:3604
++#: libdnf/dnf-context.cpp:3615
+ msgid "Problems appeared for module install request:"
+-msgstr ""
++msgstr "模块安装请求出现问题:"
+ 
+-#: libdnf/dnf-context.cpp:3663
++#: libdnf/dnf-context.cpp:3674
+ msgid "Problems appeared for module reset request:"
+-msgstr ""
++msgstr "模块重置请求出现问题:"
+ 
+-#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
++#: libdnf/dnf-context.cpp:3675 libdnf/dnf-context.cpp:3734
+ msgid "Problems appeared for module disable request:"
+-msgstr ""
++msgstr "模块禁用请求出现问题:"
+ 
+-#: libdnf/dnf-context.cpp:3755
++#: libdnf/dnf-context.cpp:3766
+ #, c-format
+ msgid ""
+-"The operation would result in switching of module '%s' stream '%s' to stream"
+-" '%s'"
++"The operation would result in switching of module '%s' stream '%s' to stream "
++"'%s'"
+ msgstr "这个操作会把模块 '%s' 从流 '%s' 切换到流 '%s'"
+ 
+-#: libdnf/dnf-context.cpp:3759
++#: libdnf/dnf-context.cpp:3770
+ msgid ""
+ "It is not possible to switch enabled streams of a module.\n"
+-"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset <module_name>' command. After you reset the module, you can install the other stream."
++"It is recommended to remove all installed content from the module, and reset "
++"the module using 'microdnf module reset <module_name>' command. After you "
++"reset the module, you can install the other stream."
+ msgstr ""
+ "无法切换一个模块已启用的流。 \n"
+-"推荐从模块中删除所有已安装的内容,使用 'microdnf module reset <module_name>' 命令重置模块。在重置模块后就可以安装其他流。"
++"推荐从模块中删除所有已安装的内容,使用 'microdnf module reset <module_name>' "
++"命令重置模块。在重置模块后就可以安装其他流。"
+ 
+ #: libdnf/dnf-goal.cpp:107
+ msgid "Could not depsolve transaction; "
+@@ -309,84 +311,128 @@ msgstr "无法找到软件包 %s"
+ msgid "could not add erase element %1$s(%2$i)"
+ msgstr "无法添加删除元素 %1$s(%2$i)"
+ 
+-#: libdnf/dnf-sack.cpp:395
+-msgid "failed to add solv"
+-msgstr "添加 solv 失败"
++#: libdnf/dnf-sack.cpp:251
++msgid "repo_add_solv() has failed."
++msgstr "repo_add_solv() 已失败。"
+ 
+-#: libdnf/dnf-sack.cpp:414
++#: libdnf/dnf-sack.cpp:415
++#, c-format
++msgid "Loading extension cache %s (%d) failed: "
++msgstr "加载扩展缓存 %s (%d) 失败: "
++
++#: libdnf/dnf-sack.cpp:429
+ #, c-format
+ msgid "no %1$s string for %2$s"
+-msgstr "没有为 %2$s 的 %1$s 字符串"
++msgstr "没有 %2$s 的 %1$s 字符串"
+ 
+-#: libdnf/dnf-sack.cpp:424
++#: libdnf/dnf-sack.cpp:439
+ #, c-format
+ msgid "failed to open: %s"
+ msgstr "打开失败:%s"
+ 
+-#: libdnf/dnf-sack.cpp:503
++#: libdnf/dnf-sack.cpp:518
+ #, c-format
+ msgid "cannot create temporary file: %s"
+ msgstr "不能创建临时文件: %s"
+ 
+-#: libdnf/dnf-sack.cpp:513
++#: libdnf/dnf-sack.cpp:528
+ #, c-format
+ msgid "failed opening tmp file: %s"
+ msgstr "打开 tmp 文件失败: %s"
+ 
+-#: libdnf/dnf-sack.cpp:525
++#: libdnf/dnf-sack.cpp:550
++#, c-format
++msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
++msgstr "写主缓存 %s 时 repowriter 写失败:%i 错误:%s"
++
++#: libdnf/dnf-sack.cpp:560
+ #, c-format
+-msgid "write_main() failed writing data: %i"
+-msgstr "write_main() 写数据失败: %i"
++msgid "Failed closing tmp file %s: %s"
++msgstr "关闭临时文件 %s 失败:%s"
+ 
+-#: libdnf/dnf-sack.cpp:542
+-msgid "write_main() failed to re-load written solv file"
+-msgstr "write_main() 重新加载写的 solv 文件失败"
++#: libdnf/dnf-sack.cpp:570
++#, c-format
++msgid "Failed to use newly written primary cache: %s: "
++msgstr "使用新写的主缓存失败:%s: "
++
++#: libdnf/dnf-sack.cpp:576
++#, c-format
++msgid "Failed to use newly written primary cache: %s"
++msgstr "使用新写的主缓存失败:%s"
+ 
+-#: libdnf/dnf-sack.cpp:607
++#: libdnf/dnf-sack.cpp:626
+ #, c-format
+ msgid "can not create temporary file %s"
+ msgstr "不能创建临时文件 %s"
+ 
+-#: libdnf/dnf-sack.cpp:625
++#: libdnf/dnf-sack.cpp:666
+ #, c-format
+-msgid "write_ext(%1$d) has failed: %2$d"
+-msgstr "write_ext(%1$d) 已失败: %2$d"
++msgid ""
++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
++msgstr "编写扩展缓存 %s (%d) 时: repowriter 写失败: %i,错误: %s"
+ 
+-#: libdnf/dnf-sack.cpp:680
++#: libdnf/dnf-sack.cpp:676
++#, c-format
++msgid "While writing extension cache (%d): cannot close temporary file: %s"
++msgstr "编写扩展缓存 (%d) 时:无法关闭临时文件:%s"
++
++#: libdnf/dnf-sack.cpp:692
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d): "
++msgstr "使用新写的扩展缓存失败:%s (%d): "
++
++#: libdnf/dnf-sack.cpp:699
++#, c-format
++msgid "Failed to use newly written extension cache: %s (%d)"
++msgstr "使用新写的扩展缓存失败:%s (%d)"
++
++#: libdnf/dnf-sack.cpp:740
+ msgid "null repo md file"
+-msgstr "null repo md 文件"
++msgstr "null 存储库 md 文件"
+ 
+-#: libdnf/dnf-sack.cpp:689
++#: libdnf/dnf-sack.cpp:749
+ #, c-format
+ msgid "can not read file %1$s: %2$s"
+ msgstr "不能读文件 %1$s: %2$s"
+ 
+-#: libdnf/dnf-sack.cpp:703
+-msgid "repo_add_solv() has failed."
+-msgstr "repo_add_solv() 已失败。"
++#: libdnf/dnf-sack.cpp:764
++#, c-format
++msgid "While loading repository failed to use %s: "
++msgstr "加载软件仓库时使用 %s 失败: "
+ 
+-#: libdnf/dnf-sack.cpp:716
++#: libdnf/dnf-sack.cpp:775
+ msgid "loading of MD_TYPE_PRIMARY has failed."
+ msgstr "加载 MD_TYPE_PRIMARY 失败。"
+ 
+-#: libdnf/dnf-sack.cpp:729
+-msgid "repo_add_repomdxml/rpmmd() has failed."
+-msgstr "repo_add_repomdxml/rpmmd() 已失败。"
++#: libdnf/dnf-sack.cpp:784
++#, c-format
++msgid "Opening repository primary data has failed: %s"
++msgstr "打开仓库主数据失败:%s"
++
++#: libdnf/dnf-sack.cpp:795
++#, c-format
++msgid "Loading repomd has failed: %s"
++msgstr "加载 repomd 失败:%s"
++
++#: libdnf/dnf-sack.cpp:806
++#, c-format
++msgid "Loading primary has failed: %s"
++msgstr "加载主设备失败:%s"
+ 
+-#: libdnf/dnf-sack.cpp:796
++#: libdnf/dnf-sack.cpp:872
+ msgid "failed to auto-detect architecture"
+ msgstr "自动检测架构失败"
+ 
+-#: libdnf/dnf-sack.cpp:961
++#: libdnf/dnf-sack.cpp:1037
+ #, c-format
+ msgid "failed creating cachedir %s"
+ msgstr "无法创建 cachedir %s"
+ 
+-#: libdnf/dnf-sack.cpp:1738
++#: libdnf/dnf-sack.cpp:1814
+ msgid "failed loading RPMDB"
+ msgstr "无法加载 RPMDB"
+ 
+-#: libdnf/dnf-sack.cpp:2522
++#: libdnf/dnf-sack.cpp:2598
+ #, c-format
+ msgid "No module defaults found: %s"
+ msgstr "没有找到模块默认设置:%s"
+@@ -415,69 +461,78 @@ msgstr "在一个没有设置大小的状态 %1$p 中做! [%2$s]"
+ msgid "already at 100%% state [%s]"
+ msgstr "已是 100%% 状态 [%s]"
+ 
+-#: libdnf/dnf-transaction.cpp:300
++#: libdnf/dnf-transaction.cpp:302
+ #, c-format
+ msgid "Sources not set when trying to ensure package %s"
+ msgstr "在尝试确保软件包 %s 时源没有设置"
+ 
+-#: libdnf/dnf-transaction.cpp:326
++#: libdnf/dnf-transaction.cpp:328
+ #, c-format
+ msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
+-msgstr "无法确保 %1$s,因为 repo %2$s 没有找到 (%3$i repos 已加载)"
++msgstr "无法确保 %1$s,因为存储库 %2$s 没有找到 (%3$i 存储库已加载)"
+ 
+-#: libdnf/dnf-transaction.cpp:367
++#: libdnf/dnf-transaction.cpp:369
+ msgid "Failed to check untrusted: "
+ msgstr "检查不被信任失败 : "
+ 
+-#: libdnf/dnf-transaction.cpp:377
++#: libdnf/dnf-transaction.cpp:379
+ #, c-format
+ msgid "Downloaded file for %s not found"
+ msgstr "没有找到下载的文件 %s"
+ 
+-#: libdnf/dnf-transaction.cpp:397
++#: libdnf/dnf-transaction.cpp:399
+ #, c-format
+ msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
+-msgstr "软件包 %1$s 不能被验证,repo %2$s 启用了 GPG: %3$s"
++msgstr "软件包 %1$s 不能被验证,存储库 %2$s 启用了 GPG: %3$s"
+ 
+-#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
++#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
+ msgid "Failed to get value for CacheDir"
+ msgstr "无法为 CacheDir 获得值"
+ 
+-#: libdnf/dnf-transaction.cpp:911
++#: libdnf/dnf-transaction.cpp:913
+ #, c-format
+ msgid "Failed to get filesystem free size for %s: "
+ msgstr "无法为 %s 获得文件系统可用空间的大小: "
+ 
+-#: libdnf/dnf-transaction.cpp:919
++#: libdnf/dnf-transaction.cpp:921
+ #, c-format
+ msgid "Failed to get filesystem free size for %s"
+ msgstr "无法为 %s 获得文件系统可用空间的大小"
+ 
+-#: libdnf/dnf-transaction.cpp:935
++#: libdnf/dnf-transaction.cpp:937
+ #, c-format
+ msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
+ msgstr "%1$s 没有足够的空闲空间: 需要 %2$s,可用 %3$s"
+ 
+-#: libdnf/dnf-transaction.cpp:1195
++#: libdnf/dnf-transaction.cpp:1196
+ msgid "failed to set root"
+ msgstr "设置 root 失败"
+ 
+-#: libdnf/dnf-transaction.cpp:1416
++#: libdnf/dnf-transaction.cpp:1417
+ #, c-format
+ msgid "Error %i running transaction test"
+-msgstr "错误 %i 运行事务测试"
++msgstr "运行事务测试时错误 %i"
++
++#: libdnf/dnf-transaction.cpp:1441
++#, c-format
++msgid "Error %i opening rpm database"
++msgstr "打开 rpm 数据库时错误 %i"
++
++#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
++msgid "The rpmdbCookie() function did not return cookie of rpm database."
++msgstr "rpmdbCookie()函数没有返回 rpm 数据库的 cookie。"
+ 
+-#: libdnf/dnf-transaction.cpp:1456
++#: libdnf/dnf-transaction.cpp:1464
+ #, c-format
+ msgid "Error %i running transaction"
+-msgstr "错误 %i 运行事务"
++msgstr "运行事务时错误 %i"
+ 
+-#: libdnf/dnf-transaction.cpp:1472
++#: libdnf/dnf-transaction.cpp:1480
+ #, c-format
+ msgid "Transaction did not go to writing phase, but returned no error(%i)"
+ msgstr "事务没有进入写阶段,但没有返回错误(%i)"
+ 
+-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
+ #, c-format
+ msgid "cannot open directory %1$s: %2$s"
+ msgstr "无法打开目录 %1$s: %2$s"
+@@ -563,7 +618,7 @@ msgstr "软件包 %s 被排除过滤过滤掉"
+ #: libdnf/goal/Goal.cpp:105
+ #, c-format
+ msgid "nothing provides %s needed by %s"
+-msgstr "没有东西可提供 %s(%s 需要)"
++msgstr "没有提供 %s 所需要的 %s"
+ 
+ #: libdnf/goal/Goal.cpp:106
+ #, c-format
+@@ -578,17 +633,17 @@ msgstr "软件包 %s 与 %s(由 %s 提供)冲突"
+ #: libdnf/goal/Goal.cpp:108
+ #, c-format
+ msgid "package %s obsoletes %s provided by %s"
+-msgstr "软件包 %s 取代了 %s(由 %s 提供)"
++msgstr "软件包 %s 淘汰了 %s 提供的 %s"
+ 
+ #: libdnf/goal/Goal.cpp:109
+ #, c-format
+ msgid "installed package %s obsoletes %s provided by %s"
+-msgstr "已安装的软件包 %s 取代了 %s(由 %s 提供)"
++msgstr "已安装的软件包 %s 淘汰了 %s 提供的 %s"
+ 
+ #: libdnf/goal/Goal.cpp:110
+ #, c-format
+ msgid "package %s implicitly obsoletes %s provided by %s"
+-msgstr "软件包 %s 隐式地取代了 %s(由 %s 提供)"
++msgstr "软件包 %s 隐式地淘汰了 %s 提供的 %s"
+ 
+ #: libdnf/goal/Goal.cpp:111
+ #, c-format
+@@ -636,37 +691,37 @@ msgstr "模块 %s 不可安装"
+ #: libdnf/goal/Goal.cpp:132
+ #, c-format
+ msgid "nothing provides %s needed by module %s"
+-msgstr "没有东西提供 %s(模块 %s 需要它)"
++msgstr "没有提供模块 %s 所需要的 %s"
+ 
+ #: libdnf/goal/Goal.cpp:133
+ #, c-format
+ msgid "cannot install both modules %s and %s"
+-msgstr "无法同时安装模块 %s 和 %s"
++msgstr "不能同时安装模块 %s 和 %s"
+ 
+ #: libdnf/goal/Goal.cpp:134
+ #, c-format
+ msgid "module %s conflicts with %s provided by %s"
+-msgstr "模块 %s 与 %s (由 %s 提供)冲突"
++msgstr "模块 %s 与 %s 提供的 %s 冲突"
+ 
+ #: libdnf/goal/Goal.cpp:135
+ #, c-format
+ msgid "module %s obsoletes %s provided by %s"
+-msgstr "模块 %s 取代了 %s(由 %s 提供)"
++msgstr "模块 %s 淘汰了 %s 提供的 %s"
+ 
+ #: libdnf/goal/Goal.cpp:136
+ #, c-format
+ msgid "installed module %s obsoletes %s provided by %s"
+-msgstr "已安装的模块 %s 取代了 %s(由 %s 提供)"
++msgstr "已安装的模块 %s 淘汰了 %s 提供的 %s"
+ 
+ #: libdnf/goal/Goal.cpp:137
+ #, c-format
+ msgid "module %s implicitly obsoletes %s provided by %s"
+-msgstr "模块 %s 隐式地取代了 %s(由 %s 提供)"
++msgstr "模块 %s 隐式地淘汰了 %s 提供的 %s"
+ 
+ #: libdnf/goal/Goal.cpp:138
+ #, c-format
+ msgid "module %s requires %s, but none of the providers can be installed"
+-msgstr "模块 %s 需要 %s,但没有提供者可以被安装"
++msgstr "模块 %s 需要 %s,但无法安装任何提供程序"
+ 
+ #: libdnf/goal/Goal.cpp:139
+ #, c-format
+@@ -678,62 +733,67 @@ msgstr "模块 %s 与自己提供的 %s 冲突"
+ msgid "both module %s and %s obsolete %s"
+ msgstr "模块 %s 和 %s 同时取代了 %s"
+ 
+-#: libdnf/goal/Goal.cpp:1141
++#: libdnf/goal/Goal.cpp:1157
+ msgid "no solver set"
+ msgstr "无 solver 设置"
+ 
+-#: libdnf/goal/Goal.cpp:1146
++#: libdnf/goal/Goal.cpp:1162
+ #, c-format
+ msgid "failed to make %s absolute"
+ msgstr "无法使 %s 绝对"
+ 
+-#: libdnf/goal/Goal.cpp:1153
++#: libdnf/goal/Goal.cpp:1169
+ #, c-format
+ msgid "failed writing debugdata to %1$s: %2$s"
+ msgstr "把 debugdata 写入到 %1$s 失败: %2$s"
+ 
+-#: libdnf/goal/Goal.cpp:1165
++#: libdnf/goal/Goal.cpp:1181
+ msgid "no solv in the goal"
+ msgstr "在目标中没有 solv"
+ 
+-#: libdnf/goal/Goal.cpp:1167
++#: libdnf/goal/Goal.cpp:1183
+ msgid "no solution, cannot remove protected package"
+ msgstr "没有解决方案,不能删除保护的软件包"
+ 
+-#: libdnf/goal/Goal.cpp:1170
++#: libdnf/goal/Goal.cpp:1186
+ msgid "no solution possible"
+ msgstr "没有可能的解决方案"
+ 
+-#: libdnf/goal/Goal.cpp:1296
++#: libdnf/goal/Goal.cpp:1312
+ msgid "Problem: "
+ msgstr "问题: "
+ 
+-#: libdnf/goal/Goal.cpp:1301
++#: libdnf/goal/Goal.cpp:1317
+ #, c-format
+ msgid "Problem %d: "
+ msgstr "问题 %d: "
+ 
+-#: libdnf/goal/Goal.cpp:1634
++#: libdnf/goal/Goal.cpp:1650
+ msgid ""
+ "The operation would result in removing the following protected packages: "
+ msgstr "这个操作将会导致删除以下受保护的软件包: "
+ 
+-#: libdnf/hy-iutil.cpp:326
++#: libdnf/hy-iutil.cpp:181
++#, c-format
++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
++msgstr "Libsolv 的 solv_toolversion 为: %zu,但我们预计最大为:%zu"
++
++#: libdnf/hy-iutil.cpp:408
+ #, c-format
+ msgid "Failed renaming %1$s to %2$s: %3$s"
+ msgstr "将 %1$s 重命名为 %2$s 失败: %3$s"
+ 
+-#: libdnf/hy-iutil.cpp:334
++#: libdnf/hy-iutil.cpp:416
+ #, c-format
+ msgid "Failed setting perms on %1$s: %2$s"
+ msgstr "在 %1$s 中设置 perms 失败: %2$s"
+ 
+-#: libdnf/hy-iutil.cpp:380
++#: libdnf/hy-iutil.cpp:462
+ #, c-format
+ msgid "cannot create directory %1$s: %2$s"
+ msgstr "无法创建目录 %1$s: %2$s"
+ 
+-#: libdnf/hy-iutil.cpp:415
++#: libdnf/hy-iutil.cpp:497
+ #, c-format
+ msgid "cannot stat path %1$s: %2$s"
+ msgstr "无法 stat 路径 %1$s: %2$s"
+@@ -773,7 +833,7 @@ msgstr "无法为模块 '%s' 启用多个流"
+ #: libdnf/module/ModulePackageContainer.cpp:346
+ #, c-format
+ msgid "Conflicting defaults with repo '%s': %s"
+-msgstr "默认设置与 repo '%s' 冲突 : %s"
++msgstr "默认设置与存储库 '%s' 冲突 : %s"
+ 
+ #: libdnf/module/ModulePackageContainer.cpp:917
+ msgid "Installing module profiles:\n"
+@@ -822,7 +882,7 @@ msgstr "无法把模块 Fail Safe 数据保存到 '%s'"
+ #: libdnf/module/ModulePackageContainer.cpp:1830
+ #, c-format
+ msgid "Unable to remove a modular Fail Safe data in '%s'"
+-msgstr "无法删除 '%s' 处的模块 Fail Safe 数据"
++msgstr "无法删除 '%s' 中的模块 Fail Safe 数据"
+ 
+ #: libdnf/module/ModulePackageContainer.cpp:1862
+ #, c-format
+@@ -902,8 +962,8 @@ msgid ""
+ "deprecated and the support will be dropped in future versions. Use '=' "
+ "operator instead."
+ msgstr ""
+-"在 reldeps 中使用 '==' 操作符可能导致一个未定义的行为。这个操作符已被废弃,并且在未来的版本中会取消对它的支持。请使用 '=' "
+-"操作符代替。"
++"在 reldeps 中使用 '==' 操作符可能导致一个未定义的行为。这个操作符已被废弃,并"
++"且在未来的版本中会取消对它的支持。请使用 '=' 操作符代替。"
+ 
+ #: libdnf/repo/Repo.cpp:321
+ #, c-format
+@@ -915,167 +975,167 @@ msgstr "软件仓库 %s 没有设置镜像或者 baseurl。"
+ msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
+ msgstr "仓库 '%s' 有不被支持的类型: 'type=%s', 忽略。"
+ 
+-#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641
+-#: libdnf/repo/Repo.cpp:1400
++#: libdnf/repo/Repo.cpp:491 libdnf/repo/Repo.cpp:612 libdnf/repo/Repo.cpp:643
++#: libdnf/repo/Repo.cpp:1407
+ #, c-format
+ msgid "repo '%s': 'basecachedir' is not set"
+-msgstr "Repo '%s': 'basecachedir' 没有设置"
++msgstr "存储库 '%s': 'basecachedir' 没有设置"
+ 
+-#: libdnf/repo/Repo.cpp:512
++#: libdnf/repo/Repo.cpp:514
+ msgid ""
+-"Maximum download speed is lower than minimum. Please change configuration of"
+-" minrate or throttle"
++"Maximum download speed is lower than minimum. Please change configuration of "
++"minrate or throttle"
+ msgstr "最大下载速度低于最小值。请修改 minrate 或 throttle 的配置"
+ 
+-#: libdnf/repo/Repo.cpp:546
++#: libdnf/repo/Repo.cpp:548
+ #, c-format
+ msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'"
+-msgstr "Repo '%s': 'proxy_username' 已被设置,但没有设置 'proxy_password'"
++msgstr "存储库 '%s': 'proxy_username' 已被设置,但没有设置 'proxy_password'"
+ 
+-#: libdnf/repo/Repo.cpp:548
++#: libdnf/repo/Repo.cpp:550
+ msgid "'proxy_username' is set but not 'proxy_password'"
+ msgstr "'proxy_username' 已被设置,但没有设置 'proxy_password'"
+ 
+-#: libdnf/repo/Repo.cpp:629
++#: libdnf/repo/Repo.cpp:631
+ #, c-format
+ msgid "Cannot find a valid baseurl for repo: %s"
+-msgstr "无法为仓库 %s 找到一个有效的 baseurl"
++msgstr "无法为存储库找到一个有效的 baseurl:%s"
+ 
+-#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682
++#: libdnf/repo/Repo.cpp:662 libdnf/repo/Repo.cpp:684
+ #, c-format
+ msgid "%s: gpgme_data_new_from_fd(): %s"
+ msgstr "%s: gpgme_data_new_from_fd(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690
++#: libdnf/repo/Repo.cpp:670 libdnf/repo/Repo.cpp:692
+ #, c-format
+ msgid "%s: gpgme_op_import(): %s"
+ msgstr "%s: gpgme_op_import(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162
+-#: libdnf/repo/Repo.cpp:1236 libdnf/repo/Repo.cpp:1279
++#: libdnf/repo/Repo.cpp:711 libdnf/repo/Repo.cpp:1169 libdnf/repo/Repo.cpp:1243
++#: libdnf/repo/Repo.cpp:1286
+ #, c-format
+ msgid "Cannot create repo temporary directory \"%s\": %s"
+-msgstr "无法创建 repo 临时目录 \"%s\": %s"
++msgstr "无法创建存储库临时目录 \"%s\": %s"
+ 
+-#: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917
++#: libdnf/repo/Repo.cpp:719 libdnf/repo/Repo.cpp:785 libdnf/repo/Repo.cpp:919
+ #, c-format
+ msgid "%s: gpgme_ctx_set_engine_info(): %s"
+ msgstr "%s: gpgme_ctx_set_engine_info(): %s"
+ 
+-#: libdnf/repo/Repo.cpp:744 libdnf/repo/Repo.cpp:808
++#: 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:837
++#: libdnf/repo/Repo.cpp:839
+ #, c-format
+ msgid "Failed to retrieve GPG key for repo '%s': %s"
+ msgstr "为仓库 '%s' 获取 GPG 密钥失败 : %s"
+ 
+-#: libdnf/repo/Repo.cpp:890
++#: libdnf/repo/Repo.cpp:892
+ #, c-format
+ msgid "repo %s: 0x%s already imported"
+-msgstr "repo %s: 0x%s 已被导入"
++msgstr "存储库 %s: 0x%s 已被导入"
+ 
+-#: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79
++#: libdnf/repo/Repo.cpp:906 libdnf/utils/filesystem.cpp:79
+ #, c-format
+ msgid "Failed to create directory \"%s\": %d - %s"
+ msgstr "无法创建目录 \"%s\": %d - %s"
+ 
+-#: libdnf/repo/Repo.cpp:924
++#: libdnf/repo/Repo.cpp:926
+ #, c-format
+ msgid "repo %s: imported key 0x%s."
+-msgstr "repo %s: 已导入密钥 0x%s。"
++msgstr "存储库 %s: 已导入密钥 0x%s。"
+ 
+-#: libdnf/repo/Repo.cpp:1176
++#: libdnf/repo/Repo.cpp:1183
+ #, c-format
+ msgid "reviving: repo '%s' skipped, no metalink."
+ msgstr "恢复中: 仓库 '%s' 已被跳过,无 metalink。"
+ 
+-#: libdnf/repo/Repo.cpp:1195
++#: libdnf/repo/Repo.cpp:1202
+ #, c-format
+ msgid "reviving: repo '%s' skipped, no usable hash."
+ msgstr "恢复中: 仓库 '%s' 已被跳过,无可用 hash。"
+ 
+-#: libdnf/repo/Repo.cpp:1218
++#: libdnf/repo/Repo.cpp:1225
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched %s sum."
+ msgstr "恢复: '%s' 失败,不匹配的 %s sum。"
+ 
+-#: libdnf/repo/Repo.cpp:1224
++#: libdnf/repo/Repo.cpp:1231
+ #, c-format
+ msgid "reviving: '%s' can be revived - metalink checksums match."
+ msgstr "恢复中: '%s' 可以被恢复 - metalink 校验和匹配。"
+ 
+-#: libdnf/repo/Repo.cpp:1253
++#: libdnf/repo/Repo.cpp:1260
+ #, c-format
+ msgid "reviving: '%s' can be revived - repomd matches."
+ msgstr "恢复: '%s' 可用被恢复 - repomd 匹配。"
+ 
+-#: libdnf/repo/Repo.cpp:1255
++#: libdnf/repo/Repo.cpp:1262
+ #, c-format
+ msgid "reviving: failed for '%s', mismatched repomd."
+ msgstr "恢复: '%s' 失败,不匹配的 repomd。"
+ 
+-#: libdnf/repo/Repo.cpp:1273
++#: libdnf/repo/Repo.cpp:1280
+ #, c-format
+ msgid "Cannot create repo destination directory \"%s\": %s"
+ msgstr "无法创建仓库目标目录 \"%s\": %s"
+ 
+-#: libdnf/repo/Repo.cpp:1293
++#: libdnf/repo/Repo.cpp:1300
+ #, c-format
+ msgid "Cannot create directory \"%s\": %s"
+ msgstr "无法创建目录 \"%s\": %s"
+ 
+-#: libdnf/repo/Repo.cpp:1316
++#: libdnf/repo/Repo.cpp:1323
+ #, c-format
+ msgid "Cannot rename directory \"%s\" to \"%s\": %s"
+ msgstr "无法把目录 \"%s\" 重命名为 \"%s\": %s"
+ 
+-#: libdnf/repo/Repo.cpp:1339
++#: libdnf/repo/Repo.cpp:1346
+ #, c-format
+ msgid "repo: using cache for: %s"
+-msgstr "仓库: 正在为 %s 使用缓存"
++msgstr "存储库:使用缓存用于:%s"
+ 
+-#: libdnf/repo/Repo.cpp:1351
++#: libdnf/repo/Repo.cpp:1358
+ #, c-format
+ msgid "Cache-only enabled but no cache for '%s'"
+-msgstr "仅使用缓存已开启但没有 '%s' 的缓存"
++msgstr "仅启用缓存,但没有 '%s' 的缓存"
+ 
+-#: libdnf/repo/Repo.cpp:1355
++#: libdnf/repo/Repo.cpp:1362
+ #, c-format
+ msgid "repo: downloading from remote: %s"
+-msgstr "repo: 从远程下载: %s"
++msgstr "存储库: 从远程下载: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1362
++#: libdnf/repo/Repo.cpp:1369
+ #, c-format
+ msgid "Failed to download metadata for repo '%s': %s"
+ msgstr "为仓库 '%s' 下载元数据失败 : %s"
+ 
+-#: libdnf/repo/Repo.cpp:1388
++#: libdnf/repo/Repo.cpp:1395
+ msgid "getCachedir(): Computation of SHA256 failed"
+ msgstr "getCachedir(): 计算 SHA256 失败"
+ 
+-#: libdnf/repo/Repo.cpp:1416
++#: libdnf/repo/Repo.cpp:1423
+ #, c-format
+ msgid "Cannot create persistdir \"%s\": %s"
+ msgstr "无法创建 persistdir \"%s\": %s"
+ 
+-#: libdnf/repo/Repo.cpp:1793
++#: libdnf/repo/Repo.cpp:1800
+ msgid "resume cannot be used simultaneously with the byterangestart param"
+ msgstr "resume 不能和 the byterangestart 参数同时使用"
+ 
+-#: libdnf/repo/Repo.cpp:1810
++#: libdnf/repo/Repo.cpp:1817
+ #, c-format
+ msgid "PackageTarget initialization failed: %s"
+ msgstr "PackageTarget 初始失败: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1916
++#: libdnf/repo/Repo.cpp:1923
+ #, c-format
+ msgid "Cannot open %s: %s"
+ msgstr "无法打开 %s: %s"
+ 
+-#: libdnf/repo/Repo.cpp:1960
++#: libdnf/repo/Repo.cpp:1967
+ #, c-format
+ msgid "Log handler with id %ld doesn't exist"
+ msgstr "id 为 %ld 的日志处理器不存在"
+@@ -1094,11 +1154,11 @@ msgstr "没有在进行中"
+ msgid "No transaction in progress"
+ msgstr "没有事务在进行中"
+ 
+-#: libdnf/transaction/TransactionItem.cpp:147
++#: libdnf/transaction/TransactionItem.cpp:146
+ msgid "Attempt to insert transaction item into completed transaction"
+ msgstr "试图向已完成的事务中插入事务项"
+ 
+-#: libdnf/transaction/TransactionItem.cpp:218
++#: libdnf/transaction/TransactionItem.cpp:217
+ msgid "Attempt to update transaction item in completed transaction"
+ msgstr "试图在已完成的事务中更新事务"
+ 
+@@ -1108,7 +1168,7 @@ msgstr "数据库损坏:表 'config' 中没有 'version' 行"
+ 
+ #: libdnf/transaction/Transformer.cpp:681
+ msgid "Transformer: can't open history persist dir"
+-msgstr "Transformer: 无法打开 history persist dir"
++msgstr "转换程序: 无法打开历史持久目录"
+ 
+ #: libdnf/transaction/Transformer.cpp:694
+ msgid "Couldn't find a history database"
+@@ -1127,8 +1187,23 @@ msgstr "TransactionItem 状态没有设置:%s"
+ msgid "Can't add console output to unsaved transaction"
+ msgstr "无法向未保存的事务中添加控制台输出"
+ 
++#~ msgid "failed to add solv"
++#~ msgstr "添加 solv 失败"
++
++#~ msgid "write_main() failed writing data: %i"
++#~ msgstr "write_main() 写数据失败: %i"
++
++#~ msgid "write_main() failed to re-load written solv file"
++#~ msgstr "write_main() 重新加载写的 solv 文件失败"
++
++#~ msgid "write_ext(%1$d) has failed: %2$d"
++#~ msgstr "write_ext(%1$d) 已失败: %2$d"
++
++#~ msgid "repo_add_repomdxml/rpmmd() has failed."
++#~ msgstr "repo_add_repomdxml/rpmmd() 已失败。"
++
++#~ msgid "Failed to parse module artifact NEVRA '%s'"
++#~ msgstr "无法解析模块工件 NEVRA '%s'"
++
+ #~ msgid "Bad id for repo: %s, byte = %s %d"
+ #~ msgstr "repo 的 id 无效: %s, byte = %s %d"
+-
+-#~ msgid "failed calculating RPMDB checksum"
+-#~ msgstr "无法计算 RPMDB checksum"
+-- 
+2.39.2
+
diff --git a/SOURCES/0003-Update-translations-RHEL-9.1.patch b/SOURCES/0003-Update-translations-RHEL-9.1.patch
deleted file mode 100644
index 041b56b..0000000
--- a/SOURCES/0003-Update-translations-RHEL-9.1.patch
+++ /dev/null
@@ -1,3454 +0,0 @@
-From 56f44d26b12e08910e8d101932c152ab743826da Mon Sep 17 00:00:00 2001
-From: Marek Blaha <mblaha@redhat.com>
-Date: Thu, 15 Sep 2022 13:27:23 +0200
-Subject: [PATCH] Update translations RHEL 9.1
-
----
- po/fr.po      | 337 ++++++++++++++++++++++++-----------------
- po/ja.po      | 404 ++++++++++++++++++++++++++++++++------------------
- po/ko.po      | 329 +++++++++++++++++++++++++---------------
- po/libdnf.pot | 215 +++++++++++++++++----------
- po/zh_CN.po   | 368 ++++++++++++++++++++++++++-------------------
- 5 files changed, 1020 insertions(+), 633 deletions(-)
-
-diff --git a/po/fr.po b/po/fr.po
-index 20e8417a..65fa6395 100644
---- a/po/fr.po
-+++ b/po/fr.po
-@@ -1,27 +1,27 @@
--# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2016. #zanata, 2021.
-+# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2016. #zanata
- # José Fournier <jaaf64@zoraldia.com>, 2016. #zanata
- # José Fournier <jaaf64@zoraldia.com>, 2017. #zanata
- # Jérôme Fenal <jfenal@gmail.com>, 2017. #zanata
- # Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
--# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata, 2021.
--# Julien Humbert <julroy67@gmail.com>, 2020, 2021.
--# Arnaud T. <listes.00@gmail.com>, 2020.
--# Sundeep Anand <suanand@redhat.com>, 2021.
-+# Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>, 2019. #zanata
-+# Julien Humbert <julroy67@gmail.com>, 2020.
-+# Sundeep Anand <suanand@redhat.com>, 2021, 2022.
- # Titouan Bénard <itotutona@evta.fr>, 2021.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-01-05 01:53+0000\n"
--"PO-Revision-Date: 2021-10-10 00:45+0000\n"
--"Last-Translator: Titouan Bénard <itotutona@evta.fr>\n"
--"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/libdnf-dnf-4-master/fr/>\n"
-+"POT-Creation-Date: 2022-08-30 14:53+0200\n"
-+"PO-Revision-Date: 2022-03-02 10:16+0000\n"
-+"Last-Translator: Sundeep Anand <suanand@redhat.com>\n"
-+"Language-Team: French <https://translate.fedoraproject.org/projects/dnf/"
-+"libdnf-rhel-9/fr/>\n"
- "Language: fr\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=n > 1;\n"
--"X-Generator: Weblate 4.8\n"
-+"X-Generator: Weblate 4.11\n"
- 
- #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40
- msgid "no value specified"
-@@ -110,73 +110,72 @@ msgstr "n’a pu convertir « %s » en secondes"
- msgid "GetValue(): Value not set"
- msgstr "GetValue() : valeur non définie"
- 
--#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
-+#: libdnf/dnf-context.cpp:3179 libdnf/dnf-context.cpp:3188
- #, c-format
- msgid "Cannot enable more streams from module '%s' at the same time"
- msgstr "Ne peut pas activer plus de flux du module '%s' en même temps"
- 
--#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
-+#: libdnf/dnf-context.cpp:3197 libdnf/dnf-context.cpp:3215
- #, c-format
- msgid ""
- "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
- msgstr ""
--"Impossible d'activer le flux de module '%1$s' stream '%2$s' : état du module"
--" déjà modifié"
-+"Impossible d'activer le flux de module '%1$s' stream '%2$s' : état du module "
-+"déjà modifié"
- 
--#: libdnf/dnf-context.cpp:3263
-+#: libdnf/dnf-context.cpp:3264
- #, c-format
- msgid "Modular dependency problem with Defaults: %s"
- msgstr "Problème de dépendance modulaire avec les valeurs par défaut : %s"
- 
--#: libdnf/dnf-context.cpp:3266
-+#: libdnf/dnf-context.cpp:3267
- #, c-format
- msgid "Modular dependency problem with the latest modules: %s"
- msgstr "Problème de dépendance modulaire avec les derniers modules : %s"
- 
--#: libdnf/dnf-context.cpp:3270
-+#: libdnf/dnf-context.cpp:3271
- #, c-format
- msgid "Modular dependency problem: %s"
- msgstr "Problème de dépendance modulaire : %s"
- 
--#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
--#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
--#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
--#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
-+#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318
-+#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368
-+#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416
-+#: libdnf/dnf-context.cpp:3465 libdnf/dnf-context.cpp:3475
- #, c-format
- msgid "Unable to resolve argument '%s'"
- msgstr "Impossible de résoudre le paramètre ’%s’"
- 
--#: libdnf/dnf-context.cpp:3300
-+#: libdnf/dnf-context.cpp:3301
- #, c-format
- msgid ""
--"Only module name is required. Ignoring unneeded information in argument: "
--"'%s'"
-+"Only module name is required. Ignoring unneeded information in argument: '%s'"
- msgstr ""
- "Seul le nom du module est nécessaire. Les paramètres inutiles ont été "
- "ignorés : ’%s’"
- 
--#: libdnf/dnf-context.cpp:3314
-+#: libdnf/dnf-context.cpp:3315
- #, c-format
- msgid "Cannot reset module '%s': State of module already modified"
- msgstr ""
- "Impossible de réinitialiser le module '%s' : État du module déjà modifié"
- 
--#: libdnf/dnf-context.cpp:3325
-+#: libdnf/dnf-context.cpp:3326
- #, c-format
- msgid "Cannot disable module '%s': State of module already modified"
- msgstr "Impossible de désactiver le module '%s' : État du module déjà modifié"
- 
--#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
--#: libdnf/dnf-context.cpp:3633
-+#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3453
-+#: libdnf/dnf-context.cpp:3634
- msgid "No modular data available"
- msgstr "Aucune donnée modulaire disponible"
- 
--#: libdnf/dnf-context.cpp:3373
-+#: libdnf/dnf-context.cpp:3374
- #, c-format
- msgid "Ignoring unneeded information in argument: '%s'"
- msgstr "Ignorer les informations inutiles dans l'argumentation : '%s'"
- 
--#: libdnf/dnf-context.cpp:3411
-+#: libdnf/dnf-context.cpp:3412
- #, c-format
- msgid ""
- "Problem during enablement of dependency tree for module '%1$s' stream "
-@@ -185,72 +184,71 @@ msgstr ""
- "Problème lors de l'activation de l'arbre des dépendances pour le module "
- "'%1$s' flux '%2$s' : %3$s"
- 
--#: libdnf/dnf-context.cpp:3423
-+#: libdnf/dnf-context.cpp:3424
- msgid "Problems appeared for module enable request:"
--msgstr "Des problèmes sont apparus durant la requête d’activation du module :"
-+msgstr "Des problèmes sont apparus pour la demande d'activation du module :"
- 
--#: libdnf/dnf-context.cpp:3518
-+#: libdnf/dnf-context.cpp:3519
- #, c-format
- msgid "No active module packages found for module spec '%s'"
- msgstr ""
--"Aucun package de module actif trouvé pour la spécification de module '%s'"
-+"Aucun paquetage de module actif n'a été trouvé pour le module spec '%s'"
- 
--#: libdnf/dnf-context.cpp:3523
-+#: libdnf/dnf-context.cpp:3524
- #, c-format
- msgid "Cannot install module '%s' from fail-safe repository"
--msgstr ""
--"Impossible d'installer le module '%s' à partir du référentiel de sécurité "
--"intégrée"
-+msgstr "Impossible d'installer le module '%s' à partir du dépôt de sécurité"
- 
--#: libdnf/dnf-context.cpp:3530
-+#: libdnf/dnf-context.cpp:3531
- #, c-format
- msgid "No profile found matching '%s'"
- msgstr "Aucun profil trouvé correspondant à '%s'"
- 
--#: libdnf/dnf-context.cpp:3584
-+#: libdnf/dnf-context.cpp:3585
- #, c-format
- msgid "No match for package '%s' for module spec %s"
--msgstr ""
--"Aucune correspondance pour le package '%s' pour la spécification de module "
--"%s"
-+msgstr "Aucune correspondance pour le paquet '%s' pour le module spec %s"
- 
--#: libdnf/dnf-context.cpp:3595
-+#: libdnf/dnf-context.cpp:3596
- #, c-format
- msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
--msgstr ""
--"Problème lors de l'installation du module « %1$s » du flux « %2$s » : %3$s"
-+msgstr "Problème lors de l'installation du module '%1$s' stream '%2$s' : %3$s"
- 
--#: libdnf/dnf-context.cpp:3604
-+#: libdnf/dnf-context.cpp:3605
- msgid "Problems appeared for module install request:"
--msgstr ""
--"Des problèmes sont apparus durant la requête d’installation du module :"
-+msgstr "Des problèmes sont apparus pour la demande d'installation du module :"
- 
--#: libdnf/dnf-context.cpp:3663
-+#: libdnf/dnf-context.cpp:3664
- msgid "Problems appeared for module reset request:"
- msgstr ""
--"Des problèmes sont apparus durant la requête de réinitialisation du module :"
-+"Des problèmes sont apparus pour la demande de réinitialisation des modules :"
- 
--#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
-+#: libdnf/dnf-context.cpp:3665 libdnf/dnf-context.cpp:3724
- msgid "Problems appeared for module disable request:"
- msgstr ""
--"Des problèmes sont apparus durant la requête de désactivation du module :"
-+"Des problèmes sont apparus pour la demande de désactivation du module :"
- 
--#: libdnf/dnf-context.cpp:3755
-+#: libdnf/dnf-context.cpp:3756
- #, c-format
- msgid ""
--"The operation would result in switching of module '%s' stream '%s' to stream"
--" '%s'"
-+"The operation would result in switching of module '%s' stream '%s' to stream "
-+"'%s'"
- msgstr ""
--"Le résultat de l’opération sera le basculement du flux « %s » du module « %s"
--" » vers le flux « %s »"
-+"Le résultat de l’opération sera le basculement du flux « %s » du module « %s "
-+"» vers le flux « %s »"
- 
--#: libdnf/dnf-context.cpp:3759
-+#: libdnf/dnf-context.cpp:3760
- msgid ""
- "It is not possible to switch enabled streams of a module.\n"
--"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset <module_name>' command. After you reset the module, you can install the other stream."
-+"It is recommended to remove all installed content from the module, and reset "
-+"the module using 'microdnf module reset <module_name>' command. After you "
-+"reset the module, you can install the other stream."
- msgstr ""
- "Il n’est pas possible de basculer les flux actifs d’un module. \n"
--"Il est recommandé de retirer tout contenu installé par le module, et de réinitialiser le mode en utilisant la commande 'microdnf module reset <module_name>’. Après la réinitialisation du module, vous pouvez installer les autres flux."
-+"Il est recommandé de retirer tout contenu installé par le module, et de "
-+"réinitialiser le mode en utilisant la commande 'microdnf module reset "
-+"<module_name>’. Après la réinitialisation du module, vous pouvez installer "
-+"les autres flux."
- 
- #: libdnf/dnf-goal.cpp:107
- msgid "Could not depsolve transaction; "
-@@ -335,84 +333,126 @@ msgstr "n’a pas pu trouver le package %s"
- msgid "could not add erase element %1$s(%2$i)"
- msgstr "n’a pas pu ajouter d’élément pour effacer %1$s(%2$i)"
- 
--#: libdnf/dnf-sack.cpp:395
--msgid "failed to add solv"
--msgstr "n’a pu ajouter solv"
-+#: libdnf/dnf-sack.cpp:251
-+msgid "repo_add_solv() has failed."
-+msgstr "repo_add_solv() a échoué."
-+
-+#: libdnf/dnf-sack.cpp:415
-+#, c-format
-+msgid "Loading extension cache %s (%d) failed: "
-+msgstr ""
- 
--#: libdnf/dnf-sack.cpp:414
-+#: libdnf/dnf-sack.cpp:429
- #, c-format
- msgid "no %1$s string for %2$s"
- msgstr "aucune chaine %1$s pour %2$s"
- 
--#: libdnf/dnf-sack.cpp:424
-+#: libdnf/dnf-sack.cpp:439
- #, c-format
- msgid "failed to open: %s"
- msgstr "n’a pas pu ouvrir : %s"
- 
--#: libdnf/dnf-sack.cpp:503
-+#: libdnf/dnf-sack.cpp:518
- #, c-format
- msgid "cannot create temporary file: %s"
- msgstr "n’a pas pu créer le fichier temporaire : %s"
- 
--#: libdnf/dnf-sack.cpp:513
-+#: libdnf/dnf-sack.cpp:528
- #, c-format
- msgid "failed opening tmp file: %s"
- msgstr "n’a pas pu ouvrir le fichier tmp : %s"
- 
--#: libdnf/dnf-sack.cpp:525
-+#: libdnf/dnf-sack.cpp:550
-+#, c-format
-+msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:560
-+#, fuzzy, c-format
-+#| msgid "failed opening tmp file: %s"
-+msgid "Failed closing tmp file %s: %s"
-+msgstr "n’a pas pu ouvrir le fichier tmp : %s"
-+
-+#: libdnf/dnf-sack.cpp:570
- #, c-format
--msgid "write_main() failed writing data: %i"
--msgstr "write_main() n’a pu écrire les données : %i"
-+msgid "Failed to use newly written primary cache: %s: "
-+msgstr ""
- 
--#: libdnf/dnf-sack.cpp:542
--msgid "write_main() failed to re-load written solv file"
--msgstr "write_main() n’a pas pu charger à nouveau le fichier solv"
-+#: libdnf/dnf-sack.cpp:576
-+#, c-format
-+msgid "Failed to use newly written primary cache: %s"
-+msgstr ""
- 
--#: libdnf/dnf-sack.cpp:607
-+#: libdnf/dnf-sack.cpp:626
- #, c-format
- msgid "can not create temporary file %s"
- msgstr "n’a pas pu créer le fichier temporaire %s"
- 
--#: libdnf/dnf-sack.cpp:625
-+#: libdnf/dnf-sack.cpp:666
- #, c-format
--msgid "write_ext(%1$d) has failed: %2$d"
--msgstr "write_ext(%1$d) a échoué : %2$d"
-+msgid ""
-+"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:676
-+#, c-format
-+msgid "While writing extension cache (%d): cannot close temporary file: %s"
-+msgstr ""
- 
--#: libdnf/dnf-sack.cpp:680
-+#: libdnf/dnf-sack.cpp:692
-+#, c-format
-+msgid "Failed to use newly written extension cache: %s (%d): "
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:699
-+#, c-format
-+msgid "Failed to use newly written extension cache: %s (%d)"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:740
- msgid "null repo md file"
- msgstr "fichier md de dépôt nul"
- 
--#: libdnf/dnf-sack.cpp:689
-+#: libdnf/dnf-sack.cpp:749
- #, c-format
- msgid "can not read file %1$s: %2$s"
- msgstr "n’a pu lire le fichier %1$s : %2$s"
- 
--#: libdnf/dnf-sack.cpp:703
--msgid "repo_add_solv() has failed."
--msgstr "repo_add_solv() a échoué."
-+#: libdnf/dnf-sack.cpp:764
-+#, c-format
-+msgid "While loading repository failed to use %s: "
-+msgstr ""
- 
--#: libdnf/dnf-sack.cpp:716
-+#: libdnf/dnf-sack.cpp:775
- msgid "loading of MD_TYPE_PRIMARY has failed."
- msgstr "échec du chargement du MD_TYPE_PRIMARY."
- 
--#: libdnf/dnf-sack.cpp:729
--msgid "repo_add_repomdxml/rpmmd() has failed."
--msgstr "repo_add_repomdxml/rpmmd() a échoué."
-+#: libdnf/dnf-sack.cpp:787
-+#, fuzzy, c-format
-+#| msgid "Loading plugin file=\"%s\""
-+msgid "Loading repomd has failed: %s"
-+msgstr "Chargement du fichier d’extension fichier=« %s »"
-+
-+#: libdnf/dnf-sack.cpp:798
-+#, fuzzy, c-format
-+#| msgid "Loading plugin file=\"%s\""
-+msgid "Loading primary has failed: %s"
-+msgstr "Chargement du fichier d’extension fichier=« %s »"
- 
--#: libdnf/dnf-sack.cpp:796
-+#: libdnf/dnf-sack.cpp:864
- msgid "failed to auto-detect architecture"
- msgstr "n’a pu auto-détecter l’architecture"
- 
--#: libdnf/dnf-sack.cpp:961
-+#: libdnf/dnf-sack.cpp:1029
- #, c-format
- msgid "failed creating cachedir %s"
- msgstr "n’a pu créer le cachedir %s"
- 
--#: libdnf/dnf-sack.cpp:1738
-+#: libdnf/dnf-sack.cpp:1806
- msgid "failed loading RPMDB"
- msgstr "n’a pu télécharger RPMDB"
- 
--#: libdnf/dnf-sack.cpp:2522
-+#: libdnf/dnf-sack.cpp:2590
- #, c-format
- msgid "No module defaults found: %s"
- msgstr "Aucun module par défaut n’a été trouvé : %s"
-@@ -441,75 +481,85 @@ msgstr "effectué sur un état %1$p qui n’avait pas de taille définie [%2$s]"
- msgid "already at 100%% state [%s]"
- msgstr "déjà en état à 100%% [%s]"
- 
--#: libdnf/dnf-transaction.cpp:300
-+#: libdnf/dnf-transaction.cpp:302
- #, c-format
- msgid "Sources not set when trying to ensure package %s"
- msgstr "Sources non définies quand vous essayez d’assurer paquet %s"
- 
--#: libdnf/dnf-transaction.cpp:326
-+#: libdnf/dnf-transaction.cpp:328
- #, c-format
- msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
- msgstr "N’a pu assurer %1$s comme dépôt %2$s non trouvé (%3$i dépôts chargés)"
- 
--#: libdnf/dnf-transaction.cpp:367
-+#: libdnf/dnf-transaction.cpp:369
- msgid "Failed to check untrusted: "
- msgstr "Échec de la vérification d’untrusted : "
- 
--#: libdnf/dnf-transaction.cpp:377
-+#: libdnf/dnf-transaction.cpp:379
- #, c-format
- msgid "Downloaded file for %s not found"
- msgstr "Fichier téléchargé pour %s non trouvé"
- 
--#: libdnf/dnf-transaction.cpp:397
-+#: libdnf/dnf-transaction.cpp:399
- #, c-format
- msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
- msgstr ""
- "le paquet %1$s ne peut être vérifié et le dépôt %2$s est activé GPG : %3$s"
- 
--#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
-+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
- msgid "Failed to get value for CacheDir"
- msgstr "N’a pas pu obtenir la valeur de CacheDir"
- 
--#: libdnf/dnf-transaction.cpp:911
-+#: libdnf/dnf-transaction.cpp:913
- #, c-format
- msgid "Failed to get filesystem free size for %s: "
- msgstr ""
- "Échec de l’obtention de l’espace libre du système de fichiers pour %s : "
- 
--#: libdnf/dnf-transaction.cpp:919
-+#: libdnf/dnf-transaction.cpp:921
- #, c-format
- msgid "Failed to get filesystem free size for %s"
- msgstr "N’a pas pu obtenir la taille libre du système de fichiers pour %s"
- 
--#: libdnf/dnf-transaction.cpp:935
-+#: libdnf/dnf-transaction.cpp:937
- #, c-format
- msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
- msgstr ""
--"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible "
--"%3$s"
-+"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible %3$s"
- 
--#: libdnf/dnf-transaction.cpp:1195
-+#: libdnf/dnf-transaction.cpp:1196
- msgid "failed to set root"
- msgstr "n’a pu réussi à définir root"
- 
--#: libdnf/dnf-transaction.cpp:1416
-+#: libdnf/dnf-transaction.cpp:1417
- #, c-format
- msgid "Error %i running transaction test"
- msgstr "Erreur %i lors du test transactionnel"
- 
--#: libdnf/dnf-transaction.cpp:1456
-+#: libdnf/dnf-transaction.cpp:1441
-+#, c-format
-+msgid "Error %i opening rpm database"
-+msgstr "Erreur %i lors de l’ouverture de la base de données rpm"
-+
-+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
-+msgid "The rpmdbCookie() function did not return cookie of rpm database."
-+msgstr ""
-+"La fonction rpmdbCookie() n'a pas retourné le cookie de la base de données "
-+"rpm."
-+
-+#: libdnf/dnf-transaction.cpp:1464
- #, c-format
- msgid "Error %i running transaction"
- msgstr "Erreur %i pendant la transaction"
- 
--#: libdnf/dnf-transaction.cpp:1472
-+#: libdnf/dnf-transaction.cpp:1480
- #, c-format
- msgid "Transaction did not go to writing phase, but returned no error(%i)"
- msgstr ""
- "La transaction n’a pas pu opérer en phase d’écriture, mais a renvoyé « no "
- "error(%i) »"
- 
--#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
-+#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
- #, c-format
- msgid "cannot open directory %1$s: %2$s"
- msgstr "impossible d’ouvrir le dossier %1$s : %2$s"
-@@ -528,8 +578,7 @@ msgstr ""
- #: libdnf/goal/Goal.cpp:79
- msgid "Ill-formed Selector used for the operation, incorrect comparison type"
- msgstr ""
--"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison "
--"incorrecte"
-+"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison incorrecte"
- 
- #: libdnf/goal/Goal.cpp:90 libdnf/goal/Goal.cpp:117
- msgid " does not belong to a distupgrade repository"
-@@ -717,63 +766,68 @@ msgstr "le module %s est en conflit avec %s fourni par lui-même"
- msgid "both module %s and %s obsolete %s"
- msgstr "à la fois le module %s et %s rendent obsolète %s"
- 
--#: libdnf/goal/Goal.cpp:1141
-+#: libdnf/goal/Goal.cpp:1157
- msgid "no solver set"
- msgstr "aucun solveur défini"
- 
--#: libdnf/goal/Goal.cpp:1146
-+#: libdnf/goal/Goal.cpp:1162
- #, c-format
- msgid "failed to make %s absolute"
- msgstr "n’a pas pu rendre %s absolu"
- 
--#: libdnf/goal/Goal.cpp:1153
-+#: libdnf/goal/Goal.cpp:1169
- #, c-format
- msgid "failed writing debugdata to %1$s: %2$s"
- msgstr "échec de l’écriture des debugdata dans %1$s : %2$s"
- 
--#: libdnf/goal/Goal.cpp:1165
-+#: libdnf/goal/Goal.cpp:1181
- msgid "no solv in the goal"
- msgstr "pas de solv dans l’objectif"
- 
--#: libdnf/goal/Goal.cpp:1167
-+#: libdnf/goal/Goal.cpp:1183
- msgid "no solution, cannot remove protected package"
- msgstr "aucune solution, n’a pas pu supprimer le package protégé"
- 
--#: libdnf/goal/Goal.cpp:1170
-+#: libdnf/goal/Goal.cpp:1186
- msgid "no solution possible"
- msgstr "aucune solution n’est possible"
- 
--#: libdnf/goal/Goal.cpp:1296
-+#: libdnf/goal/Goal.cpp:1312
- msgid "Problem: "
- msgstr "Problème : "
- 
--#: libdnf/goal/Goal.cpp:1301
-+#: libdnf/goal/Goal.cpp:1317
- #, c-format
- msgid "Problem %d: "
- msgstr "Probléme %d : "
- 
--#: libdnf/goal/Goal.cpp:1634
-+#: libdnf/goal/Goal.cpp:1650
- 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/hy-iutil.cpp:326
-+#: libdnf/hy-iutil.cpp:181
-+#, c-format
-+msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
-+msgstr ""
-+
-+#: libdnf/hy-iutil.cpp:408
- #, 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"
- 
--#: libdnf/hy-iutil.cpp:334
-+#: libdnf/hy-iutil.cpp:416
- #, c-format
- msgid "Failed setting perms on %1$s: %2$s"
- msgstr "N’a pas pu définir les permissions sur %1$s : %2$s"
- 
--#: libdnf/hy-iutil.cpp:380
-+#: libdnf/hy-iutil.cpp:462
- #, c-format
- msgid "cannot create directory %1$s: %2$s"
- msgstr "impossible de créer le dossier %1$s : %2$s"
- 
--#: libdnf/hy-iutil.cpp:415
-+#: libdnf/hy-iutil.cpp:497
- #, c-format
- msgid "cannot stat path %1$s: %2$s"
- msgstr "impossible de stat le chemin %1$s : %2$s"
-@@ -870,8 +924,7 @@ msgstr ""
- #: libdnf/module/ModulePackageContainer.cpp:1830
- #, c-format
- msgid "Unable to remove a modular Fail Safe data in '%s'"
--msgstr ""
--"Impossible de supprimer les données de sécurité modulaires dans « %s »"
-+msgstr "Impossible de supprimer les données de sécurité modulaires dans « %s »"
- 
- #: libdnf/module/ModulePackageContainer.cpp:1862
- #, c-format
-@@ -958,8 +1011,8 @@ msgid ""
- "operator instead."
- msgstr ""
- "L’utilisation de l’opérateur « == » dans reldeps peut entraîner un "
--"comportement indéfini. Il est déprécié et le support sera abandonné dans les"
--" prochaines versions. Utilisez plutôt l’opérateur « = »."
-+"comportement indéfini. Il est déprécié et le support sera abandonné dans les "
-+"prochaines versions. Utilisez plutôt l’opérateur « = »."
- 
- #: libdnf/repo/Repo.cpp:321
- #, c-format
-@@ -980,8 +1033,8 @@ msgstr "repo '%s' : 'basecachedir' n'est pas fixé"
- 
- #: libdnf/repo/Repo.cpp:512
- msgid ""
--"Maximum download speed is lower than minimum. Please change configuration of"
--" minrate or throttle"
-+"Maximum download speed is lower than minimum. Please change configuration of "
-+"minrate or throttle"
- msgstr ""
- "La vitesse de téléchargement maximale est plus basse que le minimum. "
- "Veuillez modifier les paramètres minrate ou throttle"
-@@ -1012,8 +1065,8 @@ msgstr "%s : gpgme_data_new_from_fd() : %s"
- msgid "%s: gpgme_op_import(): %s"
- msgstr "%s : gpgme_op_import() : %s"
- 
--#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162
--#: libdnf/repo/Repo.cpp:1236 libdnf/repo/Repo.cpp:1279
-+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236
-+#: libdnf/repo/Repo.cpp:1279
- #, c-format
- msgid "Cannot create repo temporary directory \"%s\": %s"
- msgstr "Impossible de créer le répertoire temporaire du dépôt « %s » : %s"
-@@ -1159,12 +1212,12 @@ msgstr "Pas en cours"
- msgid "No transaction in progress"
- msgstr "Aucune transaction n’est en cours"
- 
--#: libdnf/transaction/TransactionItem.cpp:147
-+#: libdnf/transaction/TransactionItem.cpp:146
- 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/transaction/TransactionItem.cpp:218
-+#: libdnf/transaction/TransactionItem.cpp:217
- msgid "Attempt to update transaction item in completed transaction"
- msgstr ""
- "Tentative de mettre à jour un élément de transaction dans une transaction "
-@@ -1199,11 +1252,23 @@ msgid "Can't add console output to unsaved transaction"
- msgstr ""
- "Ne peut pas ajouter une sortie de console à une transaction non enregistrée"
- 
-+#~ msgid "failed to add solv"
-+#~ msgstr "n’a pu ajouter solv"
-+
-+#~ msgid "write_main() failed writing data: %i"
-+#~ msgstr "write_main() n’a pu écrire les données : %i"
-+
-+#~ msgid "write_main() failed to re-load written solv file"
-+#~ msgstr "write_main() n’a pas pu charger à nouveau le fichier solv"
-+
-+#~ msgid "write_ext(%1$d) has failed: %2$d"
-+#~ msgstr "write_ext(%1$d) a échoué : %2$d"
-+
-+#~ msgid "repo_add_repomdxml/rpmmd() has failed."
-+#~ msgstr "repo_add_repomdxml/rpmmd() a échoué."
-+
- #~ msgid "Failed to parse module artifact NEVRA '%s'"
--#~ msgstr "Échec de l’analyse du module d’artéfact NEVRA : %s"
-+#~ msgstr "Échec de l'analyse de l'artefact de module '%s'"
- 
- #~ msgid "Bad id for repo: %s, byte = %s %d"
- #~ msgstr "ID erroné pour le dépôt : %s, byte = %s %d"
--
--#~ msgid "failed calculating RPMDB checksum"
--#~ msgstr "n’a pu calculer la somme de contrôle RPMDB"
-diff --git a/po/ja.po b/po/ja.po
-index 4005b6a0..ded77846 100644
---- a/po/ja.po
-+++ b/po/ja.po
-@@ -1,21 +1,23 @@
- # Casey Jones <nahareport@live.com>, 2018. #zanata
- # Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
- # Casey Jones <nahareport@yahoo.com>, 2020.
--# Sundeep Anand <suanand@redhat.com>, 2021.
-+# Sundeep Anand <suanand@redhat.com>, 2021, 2022.
-+# Transtats <suanand@redhat.com>, 2022.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-01-05 01:53+0000\n"
--"PO-Revision-Date: 2021-09-11 10:04+0000\n"
--"Last-Translator: Ludek Janda <ljanda@redhat.com>\n"
--"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/libdnf-dnf-4-master/ja/>\n"
-+"POT-Creation-Date: 2022-08-30 14:53+0200\n"
-+"PO-Revision-Date: 2022-09-06 07:19+0000\n"
-+"Last-Translator: Transtats <suanand@redhat.com>\n"
-+"Language-Team: Japanese <https://translate.fedoraproject.org/projects/dnf/"
-+"libdnf-rhel-9/ja/>\n"
- "Language: ja\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=1; plural=0;\n"
--"X-Generator: Weblate 4.8\n"
-+"X-Generator: Weblate 4.14\n"
- 
- #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40
- msgid "no value specified"
-@@ -24,7 +26,7 @@ msgstr "値が指定されていません"
- #: libdnf/conf/ConfigMain.cpp:67 libdnf/conf/OptionSeconds.cpp:48
- #, c-format
- msgid "seconds value '%s' must not be negative"
--msgstr "2個目の値 '%s' は負の数にしないでください"
-+msgstr "2 個目の値 '%s' は負の数にしないでください"
- 
- #: libdnf/conf/ConfigMain.cpp:71
- #, c-format
-@@ -104,130 +106,143 @@ msgstr "'%s' を 秒に変換できません"
- msgid "GetValue(): Value not set"
- msgstr "GetValue(): 値は設定されていません"
- 
--#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
-+#: libdnf/dnf-context.cpp:3179 libdnf/dnf-context.cpp:3188
- #, c-format
- msgid "Cannot enable more streams from module '%s' at the same time"
- msgstr "モジュール '%s' から、さらにストリームを同時に有効にできません"
- 
--#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
-+#: libdnf/dnf-context.cpp:3197 libdnf/dnf-context.cpp:3215
- #, c-format
- msgid ""
- "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
--msgstr "モジュール '%1$s' ストリーム '%2$s' を有効にできません。モジュールの状態はすでに変更されています"
-+msgstr ""
-+"モジュール '%1$s' ストリーム '%2$s' を有効にできません。モジュールの状態はす"
-+"でに変更されています"
- 
--#: libdnf/dnf-context.cpp:3263
-+#: libdnf/dnf-context.cpp:3264
- #, c-format
- msgid "Modular dependency problem with Defaults: %s"
- msgstr "デフォルトのモジュラー依存問題: %s"
- 
--#: libdnf/dnf-context.cpp:3266
-+#: libdnf/dnf-context.cpp:3267
- #, c-format
- msgid "Modular dependency problem with the latest modules: %s"
- msgstr "最新のモジュールでモジュールの依存関係の問題: %s"
- 
--#: libdnf/dnf-context.cpp:3270
-+#: libdnf/dnf-context.cpp:3271
- #, c-format
- msgid "Modular dependency problem: %s"
- msgstr "モジュラーの依存に関する問題: %s"
- 
--#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
--#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
--#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
--#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
-+#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318
-+#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368
-+#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416
-+#: libdnf/dnf-context.cpp:3465 libdnf/dnf-context.cpp:3475
- #, c-format
- msgid "Unable to resolve argument '%s'"
- msgstr "引数 '%s' を解決できません"
- 
--#: libdnf/dnf-context.cpp:3300
-+#: libdnf/dnf-context.cpp:3301
- #, c-format
- msgid ""
--"Only module name is required. Ignoring unneeded information in argument: "
--"'%s'"
-+"Only module name is required. Ignoring unneeded information in argument: '%s'"
- msgstr "モジュール名のみが必要です。引数の不必要な情報は無視します: '%s'"
- 
--#: libdnf/dnf-context.cpp:3314
-+#: libdnf/dnf-context.cpp:3315
- #, c-format
- msgid "Cannot reset module '%s': State of module already modified"
--msgstr "モジュール '%s' をリセットできません。モジュールの状態はすでに変更されています"
-+msgstr ""
-+"モジュール '%s' をリセットできません。モジュールの状態はすでに変更されていま"
-+"す"
- 
--#: libdnf/dnf-context.cpp:3325
-+#: libdnf/dnf-context.cpp:3326
- #, c-format
- msgid "Cannot disable module '%s': State of module already modified"
--msgstr "モジュール '%s' を無効にできません。モジュールの状態はすでに変更されています"
-+msgstr ""
-+"モジュール '%s' を無効にできません。モジュールの状態はすでに変更されています"
- 
--#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
--#: libdnf/dnf-context.cpp:3633
-+#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3453
-+#: libdnf/dnf-context.cpp:3634
- msgid "No modular data available"
- msgstr "モジュールデータは利用できません"
- 
--#: libdnf/dnf-context.cpp:3373
-+#: libdnf/dnf-context.cpp:3374
- #, c-format
- msgid "Ignoring unneeded information in argument: '%s'"
- msgstr "引数の不要な情報は無視します: '%s'"
- 
--#: libdnf/dnf-context.cpp:3411
-+#: libdnf/dnf-context.cpp:3412
- #, c-format
- msgid ""
- "Problem during enablement of dependency tree for module '%1$s' stream "
- "'%2$s': %3$s"
--msgstr "モジュール '%1$s' ストリーム '%2$s' の依存関係ツリーの有効化中に問題: %3$s"
-+msgstr ""
-+"モジュール '%1$s' ストリーム '%2$s' の依存関係ツリーの有効化中に問題: %3$s"
- 
--#: libdnf/dnf-context.cpp:3423
-+#: libdnf/dnf-context.cpp:3424
- msgid "Problems appeared for module enable request:"
--msgstr ""
-+msgstr "モジュール有効化リクエストに発生する問題:"
- 
--#: libdnf/dnf-context.cpp:3518
-+#: libdnf/dnf-context.cpp:3519
- #, c-format
- msgid "No active module packages found for module spec '%s'"
- msgstr ""
-+"モジュール仕様 '%s' について、アクティブなモジュールパッケージが見つかりませ"
-+"ん"
- 
--#: libdnf/dnf-context.cpp:3523
--#, fuzzy, c-format
--#| msgid "cannot install both modules %s and %s"
-+#: libdnf/dnf-context.cpp:3524
-+#, c-format
- msgid "Cannot install module '%s' from fail-safe repository"
--msgstr "モジュール %s と %s どちらもインストールできません"
-+msgstr "フェイルセーフリポジトリーからモジュール '%s' をインストールできません"
- 
--#: libdnf/dnf-context.cpp:3530
-+#: libdnf/dnf-context.cpp:3531
- #, c-format
- msgid "No profile found matching '%s'"
--msgstr ""
-+msgstr "'%s' にマッチするプロファイルが見つかりません"
- 
--#: libdnf/dnf-context.cpp:3584
-+#: libdnf/dnf-context.cpp:3585
- #, c-format
- msgid "No match for package '%s' for module spec %s"
- msgstr ""
-+"モジュール仕様 %s について、パッケージ '%s' にマッチする項目はありません"
- 
--#: libdnf/dnf-context.cpp:3595
-+#: libdnf/dnf-context.cpp:3596
- #, c-format
- msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
--msgstr ""
-+msgstr "モジュール '%1$s' ストリーム '%2$s' のインストール中に問題: %3$s"
- 
--#: libdnf/dnf-context.cpp:3604
-+#: libdnf/dnf-context.cpp:3605
- msgid "Problems appeared for module install request:"
--msgstr ""
-+msgstr "モジュールインストールリクエストに発生する問題:"
- 
--#: libdnf/dnf-context.cpp:3663
-+#: libdnf/dnf-context.cpp:3664
- msgid "Problems appeared for module reset request:"
--msgstr ""
-+msgstr "モジュールリセットリクエストに発生する問題:"
- 
--#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
-+#: libdnf/dnf-context.cpp:3665 libdnf/dnf-context.cpp:3724
- msgid "Problems appeared for module disable request:"
--msgstr ""
-+msgstr "モジュール無効化リクエストに発生する問題:"
- 
--#: libdnf/dnf-context.cpp:3755
-+#: libdnf/dnf-context.cpp:3756
- #, c-format
- msgid ""
--"The operation would result in switching of module '%s' stream '%s' to stream"
--" '%s'"
--msgstr "オペレーションは、モジュール '%s' ストリーム '%s' を ストリーム '%s' へと切り替える結果となります"
-+"The operation would result in switching of module '%s' stream '%s' to stream "
-+"'%s'"
-+msgstr ""
-+"オペレーションは、モジュール '%s' ストリーム '%s' を ストリーム '%s' へと切り"
-+"替える結果となります"
- 
--#: libdnf/dnf-context.cpp:3759
-+#: libdnf/dnf-context.cpp:3760
- msgid ""
- "It is not possible to switch enabled streams of a module.\n"
--"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset <module_name>' command. After you reset the module, you can install the other stream."
-+"It is recommended to remove all installed content from the module, and reset "
-+"the module using 'microdnf module reset <module_name>' command. After you "
-+"reset the module, you can install the other stream."
- msgstr ""
- "有効化されたモジュールのストリームの切り替えはできません。\n"
--"モジュールからすべてのインストールされたコンテンツを削除し、'microdnf module reset <module_name>' コマンドを使用してモジュールをリセットすることを推奨します。モジュールのリセット後に、別のストリームをインストールできます。"
-+"モジュールからすべてのインストールされたコンテンツを削除し、'microdnf module "
-+"reset <module_name>' コマンドを使用してモジュールをリセットすることを推奨しま"
-+"す。モジュールのリセット後に、別のストリームをインストールできます。"
- 
- #: libdnf/dnf-goal.cpp:107
- msgid "Could not depsolve transaction; "
-@@ -254,7 +269,9 @@ msgstr " 問題: %s\n"
- msgid ""
- "No available modular metadata for modular package '%s'; cannot be installed "
- "on the system"
--msgstr "モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにインストールはできません"
-+msgstr ""
-+"モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにイ"
-+"ンストールはできません"
- 
- #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166
- #, c-format
-@@ -293,7 +310,8 @@ msgstr "トランザクションの実行中にエラーが発生しました: %
- 
- #: libdnf/dnf-rpmts.cpp:283
- msgid "Error running transaction and no problems were reported!"
--msgstr "トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!"
-+msgstr ""
-+"トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!"
- 
- #: libdnf/dnf-rpmts.cpp:346
- msgid "Fatal error, run database recovery"
-@@ -309,84 +327,125 @@ msgstr "パッケージ %s を見つけることができませんでした"
- msgid "could not add erase element %1$s(%2$i)"
- msgstr "erase 要素 %1$s(%2$i) を追加することができません"
- 
--#: libdnf/dnf-sack.cpp:395
--msgid "failed to add solv"
--msgstr "solv の追加に失敗しました"
-+#: libdnf/dnf-sack.cpp:251
-+msgid "repo_add_solv() has failed."
-+msgstr "repo_add_solv() は失敗しました。"
- 
--#: libdnf/dnf-sack.cpp:414
-+#: libdnf/dnf-sack.cpp:415
-+#, c-format
-+msgid "Loading extension cache %s (%d) failed: "
-+msgstr "拡張キャッシュの %s (%d) の読み込みに失敗しました: "
-+
-+#: libdnf/dnf-sack.cpp:429
- #, c-format
- msgid "no %1$s string for %2$s"
- msgstr "%2$s の %1$s 文字列はありません"
- 
--#: libdnf/dnf-sack.cpp:424
-+#: libdnf/dnf-sack.cpp:439
- #, c-format
- msgid "failed to open: %s"
- msgstr "開くことに失敗しました: %s"
- 
--#: libdnf/dnf-sack.cpp:503
-+#: libdnf/dnf-sack.cpp:518
- #, c-format
- msgid "cannot create temporary file: %s"
- msgstr "一時ファイルを作成できません: %s"
- 
--#: libdnf/dnf-sack.cpp:513
-+#: libdnf/dnf-sack.cpp:528
- #, c-format
- msgid "failed opening tmp file: %s"
- msgstr "tmp ファイルを開くことに失敗しました: %s"
- 
--#: libdnf/dnf-sack.cpp:525
-+#: libdnf/dnf-sack.cpp:550
- #, c-format
--msgid "write_main() failed writing data: %i"
--msgstr "write_main() はデータの書き込みに失敗しました: %i"
-+msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
-+msgstr "プライマリーキャッシュの %s repowriter 書き込み中に %i "
-+"エラーが発生しました。エラー: %s"
- 
--#: libdnf/dnf-sack.cpp:542
--msgid "write_main() failed to re-load written solv file"
--msgstr "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました"
-+#: libdnf/dnf-sack.cpp:560
-+#, c-format
-+msgid "Failed closing tmp file %s: %s"
-+msgstr "tmp ファイル %s の終了に失敗しました: %s"
-+
-+#: libdnf/dnf-sack.cpp:570
-+#, c-format
-+msgid "Failed to use newly written primary cache: %s: "
-+msgstr "新たに書き込まれたプライマリーキャッシュを使用できません: %s: "
-+
-+#: libdnf/dnf-sack.cpp:576
-+#, c-format
-+msgid "Failed to use newly written primary cache: %s"
-+msgstr "新たに書き込まれたプライマリーキャッシュを使用できません: %s"
- 
--#: libdnf/dnf-sack.cpp:607
-+#: libdnf/dnf-sack.cpp:626
- #, c-format
- msgid "can not create temporary file %s"
- msgstr "一時ファイル %s を作成できません"
- 
--#: libdnf/dnf-sack.cpp:625
-+#: libdnf/dnf-sack.cpp:666
- #, c-format
--msgid "write_ext(%1$d) has failed: %2$d"
--msgstr "write_ext(%1$d) は失敗しました: %2$d"
-+msgid ""
-+"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
-+msgstr "拡張キャッシュ %s (%d) の書き込み中: repowriter の書き込みに失敗: %i、エラー:"
-+" %s"
-+
-+#: libdnf/dnf-sack.cpp:676
-+#, c-format
-+msgid "While writing extension cache (%d): cannot close temporary file: %s"
-+msgstr "拡張キャッシュの書き込み中 (%d): 一時ファイルを終了できません: %s"
-+
-+#: libdnf/dnf-sack.cpp:692
-+#, c-format
-+msgid "Failed to use newly written extension cache: %s (%d): "
-+msgstr "新たに書き込まれた拡張キャッシュを使用できませんでした: %s (%d): "
-+
-+#: libdnf/dnf-sack.cpp:699
-+#, c-format
-+msgid "Failed to use newly written extension cache: %s (%d)"
-+msgstr "新たに書き込まれた拡張キャッシュを使用できませんでした: %s (%d)"
- 
--#: libdnf/dnf-sack.cpp:680
-+#: libdnf/dnf-sack.cpp:740
- msgid "null repo md file"
- msgstr "null repo md ファイル"
- 
--#: libdnf/dnf-sack.cpp:689
-+#: libdnf/dnf-sack.cpp:749
- #, c-format
- msgid "can not read file %1$s: %2$s"
- msgstr "ファイル %1$s を読み込みできません: %2$s"
- 
--#: libdnf/dnf-sack.cpp:703
--msgid "repo_add_solv() has failed."
--msgstr "repo_add_solv() は失敗しました。"
-+#: libdnf/dnf-sack.cpp:764
-+#, c-format
-+msgid "While loading repository failed to use %s: "
-+msgstr "リポジトリーのロード中に %s が使用できませんでした: "
- 
--#: libdnf/dnf-sack.cpp:716
-+#: libdnf/dnf-sack.cpp:775
- msgid "loading of MD_TYPE_PRIMARY has failed."
- msgstr "MD_TYPE_PRIMARY のロードに失敗しました。"
- 
--#: libdnf/dnf-sack.cpp:729
--msgid "repo_add_repomdxml/rpmmd() has failed."
--msgstr "repo_add_repomdxml/rpmmd() は失敗しました。"
-+#: libdnf/dnf-sack.cpp:787
-+#, c-format
-+msgid "Loading repomd has failed: %s"
-+msgstr "repomd の読み込みに失敗しました: %s"
-+
-+#: libdnf/dnf-sack.cpp:798
-+#, c-format
-+msgid "Loading primary has failed: %s"
-+msgstr "プライマリーの読み込みに失敗しました: %s"
- 
--#: libdnf/dnf-sack.cpp:796
-+#: libdnf/dnf-sack.cpp:864
- msgid "failed to auto-detect architecture"
- msgstr "アーキテクチャーの自動検出に失敗しました"
- 
--#: libdnf/dnf-sack.cpp:961
-+#: libdnf/dnf-sack.cpp:1029
- #, c-format
- msgid "failed creating cachedir %s"
- msgstr "cachedir %s の作成に失敗しました"
- 
--#: libdnf/dnf-sack.cpp:1738
-+#: libdnf/dnf-sack.cpp:1806
- msgid "failed loading RPMDB"
- msgstr "RPMDB のロードに失敗しました"
- 
--#: libdnf/dnf-sack.cpp:2522
-+#: libdnf/dnf-sack.cpp:2590
- #, c-format
- msgid "No module defaults found: %s"
- msgstr "モジュールのデフォルトは見つかりませんでした: %s"
-@@ -415,69 +474,84 @@ msgstr "サイズ設定のない状態 %1$p で実行されました! [%2$s]"
- msgid "already at 100%% state [%s]"
- msgstr "すでに 100%% の状態 [%s] にあります"
- 
--#: libdnf/dnf-transaction.cpp:300
-+#: libdnf/dnf-transaction.cpp:302
- #, c-format
- msgid "Sources not set when trying to ensure package %s"
- msgstr "パッケージ %s を確実にしようとする場合、ソースは設定されません"
- 
--#: libdnf/dnf-transaction.cpp:326
-+#: libdnf/dnf-transaction.cpp:328
- #, c-format
- msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
--msgstr "repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo はロード済み)"
-+msgstr ""
-+"repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo "
-+"はロード済み)"
- 
--#: libdnf/dnf-transaction.cpp:367
-+#: libdnf/dnf-transaction.cpp:369
- msgid "Failed to check untrusted: "
- msgstr "untrusted の確認に失敗しました: "
- 
--#: libdnf/dnf-transaction.cpp:377
-+#: libdnf/dnf-transaction.cpp:379
- #, c-format
- msgid "Downloaded file for %s not found"
- msgstr "%s にダウンロードしたファイルが見つかりませんでした"
- 
--#: libdnf/dnf-transaction.cpp:397
-+#: libdnf/dnf-transaction.cpp:399
- #, c-format
- msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
--msgstr "パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s"
-+msgstr ""
-+"パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s"
- 
--#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
-+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
- msgid "Failed to get value for CacheDir"
- msgstr "CacheDir の値の取得に失敗しました"
- 
--#: libdnf/dnf-transaction.cpp:911
-+#: libdnf/dnf-transaction.cpp:913
- #, c-format
- msgid "Failed to get filesystem free size for %s: "
- msgstr "%s に filesystem をフリーサイズで取得することに失敗しました: "
- 
--#: libdnf/dnf-transaction.cpp:919
-+#: libdnf/dnf-transaction.cpp:921
- #, c-format
- msgid "Failed to get filesystem free size for %s"
- msgstr "%s に filesystem をフリーサイズで取得することに失敗しました"
- 
--#: libdnf/dnf-transaction.cpp:935
-+#: libdnf/dnf-transaction.cpp:937
- #, c-format
- msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
--msgstr "%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です"
-+msgstr ""
-+"%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です"
- 
--#: libdnf/dnf-transaction.cpp:1195
-+#: libdnf/dnf-transaction.cpp:1196
- msgid "failed to set root"
- msgstr "root の設定に失敗しました"
- 
--#: libdnf/dnf-transaction.cpp:1416
-+#: libdnf/dnf-transaction.cpp:1417
- #, c-format
- msgid "Error %i running transaction test"
- msgstr "トランザクションテストの実行中にエラー %i"
- 
--#: libdnf/dnf-transaction.cpp:1456
-+#: libdnf/dnf-transaction.cpp:1441
-+#, c-format
-+msgid "Error %i opening rpm database"
-+msgstr "rpm データベースを開く際にエラー %i"
-+
-+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
-+msgid "The rpmdbCookie() function did not return cookie of rpm database."
-+msgstr "rpmdbCookie() 関数は rpm データベースのクッキーを返しませんでした。"
-+
-+#: libdnf/dnf-transaction.cpp:1464
- #, c-format
- msgid "Error %i running transaction"
- msgstr "トランザクションの実行中にエラー %i"
- 
--#: libdnf/dnf-transaction.cpp:1472
-+#: libdnf/dnf-transaction.cpp:1480
- #, c-format
- msgid "Transaction did not go to writing phase, but returned no error(%i)"
--msgstr "トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しませんでした"
-+msgstr ""
-+"トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しま"
-+"せんでした"
- 
--#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
-+#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
- #, c-format
- msgid "cannot open directory %1$s: %2$s"
- msgstr "ディレクトリー %1$s を開くことができません: %2$s"
-@@ -583,7 +657,9 @@ msgstr "パッケージ %s は %s を廃止しました。これは %s により
- #: libdnf/goal/Goal.cpp:109
- #, c-format
- msgid "installed package %s obsoletes %s provided by %s"
--msgstr "インストール済パッケージ %s は %s を廃止しました。これは %s により提供されます"
-+msgstr ""
-+"インストール済パッケージ %s は %s を廃止しました。これは %s により提供されま"
-+"す"
- 
- #: libdnf/goal/Goal.cpp:110
- #, c-format
-@@ -593,7 +669,9 @@ msgstr "パッケージ %s は %s を暗に廃止しました。これは %s に
- #: libdnf/goal/Goal.cpp:111
- #, c-format
- msgid "package %s requires %s, but none of the providers can be installed"
--msgstr "パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできません"
-+msgstr ""
-+"パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできま"
-+"せん"
- 
- #: libdnf/goal/Goal.cpp:112
- #, c-format
-@@ -656,7 +734,9 @@ msgstr "モジュール %s は %s を廃止しました。これは %s により
- #: libdnf/goal/Goal.cpp:136
- #, c-format
- msgid "installed module %s obsoletes %s provided by %s"
--msgstr "インストール済モジュール %s は %s を廃止しました。これは %s により提供されます"
-+msgstr ""
-+"インストール済モジュール %s は %s を廃止しました。これは %s により提供されま"
-+"す"
- 
- #: libdnf/goal/Goal.cpp:137
- #, c-format
-@@ -666,7 +746,9 @@ msgstr "モジュール %s は %s を暗に廃止しました。これは %s に
- #: libdnf/goal/Goal.cpp:138
- #, c-format
- msgid "module %s requires %s, but none of the providers can be installed"
--msgstr "モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできません"
-+msgstr ""
-+"モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできま"
-+"せん"
- 
- #: libdnf/goal/Goal.cpp:139
- #, c-format
-@@ -678,62 +760,67 @@ msgstr "モジュール %s は自己提供される %s と競合しています"
- msgid "both module %s and %s obsolete %s"
- msgstr "モジュール %s と %s 両方は %s を廃止しました"
- 
--#: libdnf/goal/Goal.cpp:1141
-+#: libdnf/goal/Goal.cpp:1157
- msgid "no solver set"
- msgstr "設定されたソルバーはありません"
- 
--#: libdnf/goal/Goal.cpp:1146
-+#: libdnf/goal/Goal.cpp:1162
- #, c-format
- msgid "failed to make %s absolute"
- msgstr "%s を絶対的にすることに失敗しました"
- 
--#: libdnf/goal/Goal.cpp:1153
-+#: libdnf/goal/Goal.cpp:1169
- #, c-format
- msgid "failed writing debugdata to %1$s: %2$s"
- msgstr "debugdata を %1$s へ書き込むことに失敗しました: %2$s"
- 
--#: libdnf/goal/Goal.cpp:1165
-+#: libdnf/goal/Goal.cpp:1181
- msgid "no solv in the goal"
- msgstr "目標に solv がありません"
- 
--#: libdnf/goal/Goal.cpp:1167
-+#: libdnf/goal/Goal.cpp:1183
- msgid "no solution, cannot remove protected package"
- msgstr "ソリューションがなく、保護されたパッケージを削除できません"
- 
--#: libdnf/goal/Goal.cpp:1170
-+#: libdnf/goal/Goal.cpp:1186
- msgid "no solution possible"
- msgstr "可能なソリューションがありません"
- 
--#: libdnf/goal/Goal.cpp:1296
-+#: libdnf/goal/Goal.cpp:1312
- msgid "Problem: "
- msgstr "問題: "
- 
--#: libdnf/goal/Goal.cpp:1301
-+#: libdnf/goal/Goal.cpp:1317
- #, c-format
- msgid "Problem %d: "
- msgstr "問題 %d: "
- 
--#: libdnf/goal/Goal.cpp:1634
-+#: libdnf/goal/Goal.cpp:1650
- msgid ""
- "The operation would result in removing the following protected packages: "
- msgstr "操作は結果的に以下の保護されたパッケージを削除します: "
- 
--#: libdnf/hy-iutil.cpp:326
-+#: libdnf/hy-iutil.cpp:181
-+#, c-format
-+msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
-+msgstr "Libsolv の solv_toolversion の長さ: %zu ですが、最大の想定値: %zu です"
-+
-+#: libdnf/hy-iutil.cpp:408
- #, c-format
- msgid "Failed renaming %1$s to %2$s: %3$s"
- msgstr "名前を %1$s から %2$s へ変更できませんでした: %3$s"
- 
--#: libdnf/hy-iutil.cpp:334
-+#: libdnf/hy-iutil.cpp:416
- #, c-format
- msgid "Failed setting perms on %1$s: %2$s"
- msgstr "%1$s に権限を設定できませんでした: %2$s"
- 
--#: libdnf/hy-iutil.cpp:380
-+#: libdnf/hy-iutil.cpp:462
- #, c-format
- msgid "cannot create directory %1$s: %2$s"
- msgstr "ディレクトリー %1$s を作成できません : %2$s"
- 
--#: libdnf/hy-iutil.cpp:415
-+#: libdnf/hy-iutil.cpp:497
- #, c-format
- msgid "cannot stat path %1$s: %2$s"
- msgstr "パス %1$s のstatを調べられません : %2$s"
-@@ -812,7 +899,9 @@ msgstr "モジュール '%s:%s' のモジュラーフェイルセーフデータ
- #: libdnf/module/ModulePackageContainer.cpp:1791
- #, c-format
- msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s"
--msgstr "ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: %s"
-+msgstr ""
-+"ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: "
-+"%s"
- 
- #: libdnf/module/ModulePackageContainer.cpp:1807
- #, c-format
-@@ -829,7 +918,9 @@ msgstr "'%s' のモジュラーフェイルセーフデータを削除できま
- msgid ""
- "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is "
- "disabled"
--msgstr "ターゲットモジュール '%s' が無効であるため、モジュラーの廃止を '%s:%s' に適用できません"
-+msgstr ""
-+"ターゲットモジュール '%s' が無効であるため、モジュラーの廃止を '%s:%s' に適用"
-+"できません"
- 
- #: libdnf/module/modulemd/ModuleMetadata.cpp:86
- #, c-format
-@@ -859,7 +950,8 @@ msgstr "ストリームのアップグレードに失敗しました: %s"
- #: libdnf/module/modulemd/ModuleMetadata.cpp:221
- #, c-format
- msgid "Cannot retrieve module obsoletes because no stream matching %s: %s"
--msgstr "%s に一致するストリームがないため、モジュールの廃止を取得できません: %s"
-+msgstr ""
-+"%s に一致するストリームがないため、モジュールの廃止を取得できません: %s"
- 
- #: libdnf/plugin/plugin.cpp:46
- #, c-format
-@@ -902,9 +994,9 @@ msgid ""
- "deprecated and the support will be dropped in future versions. Use '=' "
- "operator instead."
- msgstr ""
--"reldeps で '==' "
--"演算子を使用すると、未定義の動作が発生する可能性があります。これは非推奨で、将来のバージョンではサポートされなくなります。代わりに '=' "
--"演算子を使用してください。"
-+"reldeps で '==' 演算子を使用すると、未定義の動作が発生する可能性があります。"
-+"これは非推奨で、将来のバージョンではサポートされなくなります。代わりに '=' 演"
-+"算子を使用してください。"
- 
- #: libdnf/repo/Repo.cpp:321
- #, c-format
-@@ -914,7 +1006,9 @@ msgstr "リポジトリー %s にはミラーまたは baseurl セットがあ
- #: libdnf/repo/Repo.cpp:330
- #, c-format
- msgid "Repository '%s' has unsupported type: 'type=%s', skipping."
--msgstr "リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッピング。"
-+msgstr ""
-+"リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッ"
-+"ピング。"
- 
- #: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641
- #: libdnf/repo/Repo.cpp:1400
-@@ -924,18 +1018,23 @@ msgstr "repo '%s': 'basecachedir' が設定されていません"
- 
- #: libdnf/repo/Repo.cpp:512
- msgid ""
--"Maximum download speed is lower than minimum. Please change configuration of"
--" minrate or throttle"
--msgstr "ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの設定を変更してください"
-+"Maximum download speed is lower than minimum. Please change configuration of "
-+"minrate or throttle"
-+msgstr ""
-+"ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの"
-+"設定を変更してください"
- 
- #: libdnf/repo/Repo.cpp:546
- #, c-format
- msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'"
--msgstr "repo '%s': 'proxy_username' は設定済みですが、'proxy_password' は設定されていません"
-+msgstr ""
-+"repo '%s': 'proxy_username' は設定済みですが、'proxy_password' は設定されてい"
-+"ません"
- 
- #: libdnf/repo/Repo.cpp:548
- msgid "'proxy_username' is set but not 'proxy_password'"
--msgstr "'proxy_username' は設定済みですが、'proxy_password' は設定されていません"
-+msgstr ""
-+"'proxy_username' は設定済みですが、'proxy_password' は設定されていません"
- 
- #: libdnf/repo/Repo.cpp:629
- #, c-format
-@@ -952,8 +1051,8 @@ msgstr "%s: gpgme_data_new_from_fd(): %s"
- msgid "%s: gpgme_op_import(): %s"
- msgstr "%s: gpgme_op_import(): %s"
- 
--#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162
--#: libdnf/repo/Repo.cpp:1236 libdnf/repo/Repo.cpp:1279
-+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236
-+#: libdnf/repo/Repo.cpp:1279
- #, c-format
- msgid "Cannot create repo temporary directory \"%s\": %s"
- msgstr "repo 一時ディレクトリー \"%s\" を作成できません: %s"
-@@ -996,7 +1095,8 @@ msgstr "復元中: repo '%s' はスキップされました、metalink はあり
- #: libdnf/repo/Repo.cpp:1195
- #, c-format
- msgid "reviving: repo '%s' skipped, no usable hash."
--msgstr "復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。"
-+msgstr ""
-+"復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。"
- 
- #: libdnf/repo/Repo.cpp:1218
- #, c-format
-@@ -1041,7 +1141,8 @@ msgstr "repo: キャッシュを使用: %s"
- #: libdnf/repo/Repo.cpp:1351
- #, c-format
- msgid "Cache-only enabled but no cache for '%s'"
--msgstr "キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません"
-+msgstr ""
-+"キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません"
- 
- #: libdnf/repo/Repo.cpp:1355
- #, c-format
-@@ -1095,17 +1196,18 @@ msgstr "進行中ではありません"
- msgid "No transaction in progress"
- msgstr "進行中のトランザクションはありません"
- 
--#: libdnf/transaction/TransactionItem.cpp:147
-+#: libdnf/transaction/TransactionItem.cpp:146
- msgid "Attempt to insert transaction item into completed transaction"
- msgstr "完了したトランザクションにトランザクションアイテムの挿入を試みます"
- 
--#: libdnf/transaction/TransactionItem.cpp:218
-+#: libdnf/transaction/TransactionItem.cpp:217
- msgid "Attempt to update transaction item in completed transaction"
- msgstr "完了したトランザクションにトランザクションアイテムの更新を試みます"
- 
- #: libdnf/transaction/Transformer.cpp:76
- msgid "Database Corrupted: no row 'version' in table 'config'"
--msgstr "データベースが破損しています。テーブル 'config' の行 'version' がありません"
-+msgstr ""
-+"データベースが破損しています。テーブル 'config' の行 'version' がありません"
- 
- #: libdnf/transaction/Transformer.cpp:681
- msgid "Transformer: can't open history persist dir"
-@@ -1128,12 +1230,24 @@ msgstr "TransactionItem の状態は設定されていません: %s"
- msgid "Can't add console output to unsaved transaction"
- msgstr "未保存のトランザクションにコンソールの出力を追加できません"
- 
--#, fuzzy
-+#~ msgid "failed to add solv"
-+#~ msgstr "solv の追加に失敗しました"
-+
-+#~ msgid "write_main() failed writing data: %i"
-+#~ msgstr "write_main() はデータの書き込みに失敗しました: %i"
-+
-+#~ msgid "write_main() failed to re-load written solv file"
-+#~ msgstr ""
-+#~ "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました"
-+
-+#~ msgid "write_ext(%1$d) has failed: %2$d"
-+#~ msgstr "write_ext(%1$d) は失敗しました: %2$d"
-+
-+#~ msgid "repo_add_repomdxml/rpmmd() has failed."
-+#~ msgstr "repo_add_repomdxml/rpmmd() は失敗しました。"
-+
- #~ msgid "Failed to parse module artifact NEVRA '%s'"
--#~ msgstr "デフォルトのアップグレードに失敗しました: %s"
-+#~ msgstr "モジュールアーティファクト NEVRA '%s' の解析に失敗しました"
- 
- #~ msgid "Bad id for repo: %s, byte = %s %d"
- #~ msgstr "repo に対する不正な id: %s, byte = %s %d"
--
--#~ msgid "failed calculating RPMDB checksum"
--#~ msgstr "RPMDB チェックサムの計算に失敗しました"
-diff --git a/po/ko.po b/po/ko.po
-index 94d0994e..6c1d6f74 100644
---- a/po/ko.po
-+++ b/po/ko.po
-@@ -3,20 +3,23 @@
- # This file is distributed under the same license as the PACKAGE package.
- # Ludek Janda <ljanda@redhat.com>, 2018. #zanata
- # simmon <simmon@nplob.com>, 2021.
-+# Kim InSoo <simmon@nplob.com>, 2022.
-+# 김인수 <simmon@nplob.com>, 2022.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-01-05 01:53+0000\n"
--"PO-Revision-Date: 2021-11-04 08:05+0000\n"
--"Last-Translator: simmon <simmon@nplob.com>\n"
--"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/libdnf-dnf-4-master/ko/>\n"
-+"POT-Creation-Date: 2022-08-30 14:53+0200\n"
-+"PO-Revision-Date: 2022-09-02 02:19+0000\n"
-+"Last-Translator: 김인수 <simmon@nplob.com>\n"
-+"Language-Team: Korean <https://translate.fedoraproject.org/projects/dnf/"
-+"libdnf-rhel-9/ko/>\n"
- "Language: ko\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=1; plural=0;\n"
--"X-Generator: Weblate 4.8\n"
-+"X-Generator: Weblate 4.14\n"
- 
- #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40
- msgid "no value specified"
-@@ -105,129 +108,136 @@ msgstr "변환 할 수 없습니다 '%s'초까지"
- msgid "GetValue(): Value not set"
- msgstr "GetValue () : 값이 설정되지 않았습니다"
- 
--#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
-+#: libdnf/dnf-context.cpp:3179 libdnf/dnf-context.cpp:3188
- #, c-format
- msgid "Cannot enable more streams from module '%s' at the same time"
- msgstr "동시에 모듈 '%s’에서 다른 스트림을 활성화 할 수 없습니다"
- 
--#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
-+#: libdnf/dnf-context.cpp:3197 libdnf/dnf-context.cpp:3215
- #, c-format
- msgid ""
- "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
--msgstr "모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었습니다"
-+msgstr ""
-+"모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었"
-+"습니다"
- 
--#: libdnf/dnf-context.cpp:3263
-+#: libdnf/dnf-context.cpp:3264
- #, c-format
- msgid "Modular dependency problem with Defaults: %s"
- msgstr "기본설정에 모듈 의존성 문제: %s"
- 
--#: libdnf/dnf-context.cpp:3266
-+#: libdnf/dnf-context.cpp:3267
- #, c-format
- msgid "Modular dependency problem with the latest modules: %s"
- msgstr "최신 모듈에 모듈 의존성 문제: %s"
- 
--#: libdnf/dnf-context.cpp:3270
-+#: libdnf/dnf-context.cpp:3271
- #, c-format
- msgid "Modular dependency problem: %s"
- msgstr "모듈러 의존성 문제: %s"
- 
--#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
--#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
--#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
--#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
-+#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318
-+#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368
-+#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416
-+#: libdnf/dnf-context.cpp:3465 libdnf/dnf-context.cpp:3475
- #, c-format
- msgid "Unable to resolve argument '%s'"
- msgstr "인수 %s를 해결 할 수 없습니다"
- 
--#: libdnf/dnf-context.cpp:3300
-+#: libdnf/dnf-context.cpp:3301
- #, c-format
- msgid ""
--"Only module name is required. Ignoring unneeded information in argument: "
--"'%s'"
-+"Only module name is required. Ignoring unneeded information in argument: '%s'"
- msgstr "모듈 이름만 필요합니다. 인수에서 불필요한 정보를 무시합니다: '%s'"
- 
--#: libdnf/dnf-context.cpp:3314
-+#: libdnf/dnf-context.cpp:3315
- #, c-format
- msgid "Cannot reset module '%s': State of module already modified"
- msgstr "모듈 '%s 를 재설정 할 수 없습니다: 모듈 상태가 이미 변경되었습니다"
- 
--#: libdnf/dnf-context.cpp:3325
-+#: libdnf/dnf-context.cpp:3326
- #, c-format
- msgid "Cannot disable module '%s': State of module already modified"
- msgstr "모듈 '%s'사용 할 수 없습니다: 모듈 상태는 이미 적재되었습니다"
- 
--#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
--#: libdnf/dnf-context.cpp:3633
-+#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3453
-+#: libdnf/dnf-context.cpp:3634
- msgid "No modular data available"
- msgstr "모듈러 자료를 이용 할 수 없습니다"
- 
--#: libdnf/dnf-context.cpp:3373
-+#: libdnf/dnf-context.cpp:3374
- #, c-format
- msgid "Ignoring unneeded information in argument: '%s'"
- msgstr "인수: '%s'에 불필요한 정보를 무시하기"
- 
--#: libdnf/dnf-context.cpp:3411
-+#: libdnf/dnf-context.cpp:3412
- #, c-format
- msgid ""
- "Problem during enablement of dependency tree for module '%1$s' stream "
- "'%2$s': %3$s"
--msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 중에 발생하는 문제"
-+msgstr ""
-+"모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 중에 발생하는 "
-+"문제"
- 
--#: libdnf/dnf-context.cpp:3423
-+#: libdnf/dnf-context.cpp:3424
- msgid "Problems appeared for module enable request:"
- msgstr "모듈 활성화 요청에 나타난 문제:"
- 
--#: libdnf/dnf-context.cpp:3518
-+#: libdnf/dnf-context.cpp:3519
- #, c-format
- msgid "No active module packages found for module spec '%s'"
--msgstr "모듈 상세 '%s'에 동적 모듈 꾸러미를 찾을 수 없습니다"
-+msgstr "모듈 상세 '%s'를 위한 활성 모듈 꾸러미가 없습니다"
- 
--#: libdnf/dnf-context.cpp:3523
-+#: libdnf/dnf-context.cpp:3524
- #, c-format
- msgid "Cannot install module '%s' from fail-safe repository"
--msgstr "실패-방지 저장소에서 모듈 '%s'을 설치 할 수 없습니다"
-+msgstr "실패-방지 저장소에서 모듈 '%s'를 설치 할 수 없습니다"
- 
--#: libdnf/dnf-context.cpp:3530
-+#: libdnf/dnf-context.cpp:3531
- #, c-format
- msgid "No profile found matching '%s'"
- msgstr "'%s'와 일치하는 프로파일을 찾을 수 없습니다"
- 
--#: libdnf/dnf-context.cpp:3584
-+#: libdnf/dnf-context.cpp:3585
- #, c-format
- msgid "No match for package '%s' for module spec %s"
--msgstr "모듈 상세 %s와 꾸러미 '%s'가 일치하지 않습니다"
-+msgstr "꾸러미 '%s'가(모듈 상세 %s에 대한) 일치하지 않습니다"
- 
--#: libdnf/dnf-context.cpp:3595
-+#: libdnf/dnf-context.cpp:3596
- #, c-format
- msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
--msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 설치하는 동안에 발생하는 문제"
-+msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 설치 중에 발생하는 문제"
- 
--#: libdnf/dnf-context.cpp:3604
-+#: libdnf/dnf-context.cpp:3605
- msgid "Problems appeared for module install request:"
- msgstr "모듈 설치 요청을 위해 나타난 문제:"
- 
--#: libdnf/dnf-context.cpp:3663
-+#: libdnf/dnf-context.cpp:3664
- msgid "Problems appeared for module reset request:"
--msgstr "모듈 재설정 요청을 위해 나타난 문제:"
-+msgstr "모듈 초기화 요청을 위해 나타난 문제:"
- 
--#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
-+#: libdnf/dnf-context.cpp:3665 libdnf/dnf-context.cpp:3724
- msgid "Problems appeared for module disable request:"
- msgstr "모듈 비활성화 요청을 위해 나타난 문제:"
- 
--#: libdnf/dnf-context.cpp:3755
-+#: libdnf/dnf-context.cpp:3756
- #, c-format
- msgid ""
--"The operation would result in switching of module '%s' stream '%s' to stream"
--" '%s'"
-+"The operation would result in switching of module '%s' stream '%s' to stream "
-+"'%s'"
- msgstr "이 동작은 모듈 '%s'' 스트림 ‘%s'에서 스트림 '%s'로의 전환 결과입니다"
- 
--#: libdnf/dnf-context.cpp:3759
-+#: libdnf/dnf-context.cpp:3760
- msgid ""
- "It is not possible to switch enabled streams of a module.\n"
--"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset <module_name>' command. After you reset the module, you can install the other stream."
-+"It is recommended to remove all installed content from the module, and reset "
-+"the module using 'microdnf module reset <module_name>' command. After you "
-+"reset the module, you can install the other stream."
- msgstr ""
- "활성화된 모듈 스트림을 전환 할 수 없습니다.\n"
--"설치된 모든 내용을 모듈에서 제거하고 ‘<module_name>' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치 할 수 있습니다."
-+"설치된 모든 내용을 모듈에서 제거하고 ‘<module_name>' 명령을 사용하여 모듈을 "
-+"재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치 할 수 있습니"
-+"다."
- 
- #: libdnf/dnf-goal.cpp:107
- msgid "Could not depsolve transaction; "
-@@ -254,7 +264,9 @@ msgstr " 문제: %s\n"
- msgid ""
- "No available modular metadata for modular package '%s'; cannot be installed "
- "on the system"
--msgstr "모듈러 꾸러미 '%s'에 사용 가능한 모듈러 메타데이터가 없으며; 시스템에 설치 할 수 없습니다"
-+msgstr ""
-+"모듈러 꾸러미 '%s'에 사용 가능한 모듈러 메타데이터가 없으며; 시스템에 설치 "
-+"할 수 없습니다"
- 
- #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166
- #, c-format
-@@ -293,7 +305,8 @@ msgstr "연결 실행 오류 : %s"
- 
- #: libdnf/dnf-rpmts.cpp:283
- msgid "Error running transaction and no problems were reported!"
--msgstr "연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!"
-+msgstr ""
-+"연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!"
- 
- #: libdnf/dnf-rpmts.cpp:346
- msgid "Fatal error, run database recovery"
-@@ -309,84 +322,123 @@ msgstr "꾸러미를 찾지 못했습니다. %s"
- msgid "could not add erase element %1$s(%2$i)"
- msgstr "요소 지우기를 추가 할 수 없습니다. %1$s(%2$i)"
- 
--#: libdnf/dnf-sack.cpp:395
--msgid "failed to add solv"
--msgstr "solv를 추가하지 못했습니다"
-+#: libdnf/dnf-sack.cpp:251
-+msgid "repo_add_solv() has failed."
-+msgstr "repo_add_solv() 실패하였습니다."
- 
--#: libdnf/dnf-sack.cpp:414
-+#: libdnf/dnf-sack.cpp:415
-+#, c-format
-+msgid "Loading extension cache %s (%d) failed: "
-+msgstr "확장 캐쉬 %s (%d) 적재 중 실패함: "
-+
-+#: libdnf/dnf-sack.cpp:429
- #, c-format
- msgid "no %1$s string for %2$s"
- msgstr "%2$s에 %1$s 문자열이 없습니다"
- 
--#: libdnf/dnf-sack.cpp:424
-+#: libdnf/dnf-sack.cpp:439
- #, c-format
- msgid "failed to open: %s"
- msgstr "열지 못했습니다 : %s"
- 
--#: libdnf/dnf-sack.cpp:503
-+#: libdnf/dnf-sack.cpp:518
- #, c-format
- msgid "cannot create temporary file: %s"
- msgstr "임시 파일을 만들 수 없습니다. %s"
- 
--#: libdnf/dnf-sack.cpp:513
-+#: libdnf/dnf-sack.cpp:528
- #, c-format
- msgid "failed opening tmp file: %s"
- msgstr "여는 tmp 파일을 열지 못했습니다. %s"
- 
--#: libdnf/dnf-sack.cpp:525
-+#: libdnf/dnf-sack.cpp:550
-+#, c-format
-+msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
-+msgstr "기본 캐쉬 %s를 쓰는 동안에 repowriter 쓰기가 실패함: %i, 오류: %s"
-+
-+#: libdnf/dnf-sack.cpp:560
-+#, c-format
-+msgid "Failed closing tmp file %s: %s"
-+msgstr "tmp 파일을 닫는데 실패함 %s: %s"
-+
-+#: libdnf/dnf-sack.cpp:570
- #, c-format
--msgid "write_main() failed writing data: %i"
--msgstr "write_main() 실패한 쓰기 자료: %i"
-+msgid "Failed to use newly written primary cache: %s: "
-+msgstr "새롭게 작성된 기본 캐쉬를 사용하는데 실패함: %s: "
- 
--#: libdnf/dnf-sack.cpp:542
--msgid "write_main() failed to re-load written solv file"
--msgstr "write_main ()이 작성된 solv 파일을 다시 적재하지 못했습니다"
-+#: libdnf/dnf-sack.cpp:576
-+#, c-format
-+msgid "Failed to use newly written primary cache: %s"
-+msgstr "새롭게 작성된 기본 캐쉬를 사용하는데 실패함: %s"
- 
--#: libdnf/dnf-sack.cpp:607
-+#: libdnf/dnf-sack.cpp:626
- #, c-format
- msgid "can not create temporary file %s"
- msgstr "임시 파일을 만들 수 없습니다. %s"
- 
--#: libdnf/dnf-sack.cpp:625
-+#: libdnf/dnf-sack.cpp:666
-+#, c-format
-+msgid ""
-+"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
-+msgstr "확장 캐쉬 %s (%d)를 쓰는 동안: repowriter 쓰기가 실패함: %i, 오류: %s"
-+
-+#: libdnf/dnf-sack.cpp:676
-+#, c-format
-+msgid "While writing extension cache (%d): cannot close temporary file: %s"
-+msgstr "확장 캐쉬 (%d)를 쓰는 동안: 임시 파일을 닫을 수 없습니다: %s"
-+
-+#: libdnf/dnf-sack.cpp:692
-+#, c-format
-+msgid "Failed to use newly written extension cache: %s (%d): "
-+msgstr "새롭게 작성된 확장 캐쉬를 사용하는데 실패함: %s (%d): "
-+
-+#: libdnf/dnf-sack.cpp:699
- #, c-format
--msgid "write_ext(%1$d) has failed: %2$d"
--msgstr "write_ext(%1$d) 실패하였습니다: %2$d"
-+msgid "Failed to use newly written extension cache: %s (%d)"
-+msgstr "새롭게 작성된 확장 캐쉬를 사용하는데 실패함: %s (%d)"
- 
--#: libdnf/dnf-sack.cpp:680
-+#: libdnf/dnf-sack.cpp:740
- msgid "null repo md file"
- msgstr "null repo md 파일"
- 
--#: libdnf/dnf-sack.cpp:689
-+#: libdnf/dnf-sack.cpp:749
- #, c-format
- msgid "can not read file %1$s: %2$s"
- msgstr "파일을 읽을 수 없습니다. %1$s: %2$s"
- 
--#: libdnf/dnf-sack.cpp:703
--msgid "repo_add_solv() has failed."
--msgstr "repo_add_solv() 실패하였습니다."
-+#: libdnf/dnf-sack.cpp:764
-+#, c-format
-+msgid "While loading repository failed to use %s: "
-+msgstr "저장소를 적재하는 동안에 %s를 사용하는데 실패함: "
- 
--#: libdnf/dnf-sack.cpp:716
-+#: libdnf/dnf-sack.cpp:775
- msgid "loading of MD_TYPE_PRIMARY has failed."
- msgstr "MD_TYPE_PRIMARY를 적재하지 못했습니다."
- 
--#: libdnf/dnf-sack.cpp:729
--msgid "repo_add_repomdxml/rpmmd() has failed."
--msgstr "repo_add_repomdxml/rpmmd() 실패하였습니다."
-+#: libdnf/dnf-sack.cpp:787
-+#, c-format
-+msgid "Loading repomd has failed: %s"
-+msgstr "repomd 적재하는데 실패함: %s"
-+
-+#: libdnf/dnf-sack.cpp:798
-+#, c-format
-+msgid "Loading primary has failed: %s"
-+msgstr "기본 적재하는데 실패함: %s"
- 
--#: libdnf/dnf-sack.cpp:796
-+#: libdnf/dnf-sack.cpp:864
- msgid "failed to auto-detect architecture"
- msgstr "구조 자동 검색에 실패했습니다"
- 
--#: libdnf/dnf-sack.cpp:961
-+#: libdnf/dnf-sack.cpp:1029
- #, c-format
- msgid "failed creating cachedir %s"
--msgstr "캐시 된 생성 실패 %s"
-+msgstr "캐쉬 된 생성 실패 %s"
- 
--#: libdnf/dnf-sack.cpp:1738
-+#: libdnf/dnf-sack.cpp:1806
- msgid "failed loading RPMDB"
- msgstr "RPMDB로드 실패"
- 
--#: libdnf/dnf-sack.cpp:2522
-+#: libdnf/dnf-sack.cpp:2590
- #, c-format
- msgid "No module defaults found: %s"
- msgstr "모듈 기본 설정을 찾을 수 없습니다: %s"
-@@ -415,69 +467,78 @@ msgstr "국가에서 행해진 %1$p 크기가 설정되지 않았습니다. [%2$
- msgid "already at 100%% state [%s]"
- msgstr "이미 100 %% 상태 [%s]"
- 
--#: libdnf/dnf-transaction.cpp:300
-+#: libdnf/dnf-transaction.cpp:302
- #, c-format
- msgid "Sources not set when trying to ensure package %s"
- msgstr "꾸러미를 만들 때 소스가 설정되지 않았습니다. %s"
- 
--#: libdnf/dnf-transaction.cpp:326
-+#: libdnf/dnf-transaction.cpp:328
- #, c-format
- msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
- msgstr "보장하지 못함 %1$s 레포로서 %2$s 찾을 수 없음 (%3$i repos loaded)"
- 
--#: libdnf/dnf-transaction.cpp:367
-+#: libdnf/dnf-transaction.cpp:369
- msgid "Failed to check untrusted: "
- msgstr "신뢰할 수 없는지 확인하지 못했습니다. "
- 
--#: libdnf/dnf-transaction.cpp:377
-+#: libdnf/dnf-transaction.cpp:379
- #, c-format
- msgid "Downloaded file for %s not found"
- msgstr "에 대한 내려받기 파일 %s 찾을 수 없음"
- 
--#: libdnf/dnf-transaction.cpp:397
-+#: libdnf/dnf-transaction.cpp:399
- #, c-format
- msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
- msgstr "꾸러미 %1$s 확인 및 복구 할 수 없습니다. %2$s GPG 사용 설정 됨 : %3$s"
- 
--#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
-+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
- msgid "Failed to get value for CacheDir"
- msgstr "CacheDir에 대한 값을 가져 오는 데 실패했습니다"
- 
--#: libdnf/dnf-transaction.cpp:911
-+#: libdnf/dnf-transaction.cpp:913
- #, c-format
- msgid "Failed to get filesystem free size for %s: "
- msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s: "
- 
--#: libdnf/dnf-transaction.cpp:919
-+#: libdnf/dnf-transaction.cpp:921
- #, c-format
- msgid "Failed to get filesystem free size for %s"
- msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니다. %s"
- 
--#: libdnf/dnf-transaction.cpp:935
-+#: libdnf/dnf-transaction.cpp:937
- #, c-format
- msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
- msgstr "여유 공간이 부족합니다. %1$s: 필요 %2$s, 이용 가능 %3$s"
- 
--#: libdnf/dnf-transaction.cpp:1195
-+#: libdnf/dnf-transaction.cpp:1196
- msgid "failed to set root"
- msgstr "루트를 설정하지 못했습니다"
- 
--#: libdnf/dnf-transaction.cpp:1416
-+#: libdnf/dnf-transaction.cpp:1417
- #, c-format
- msgid "Error %i running transaction test"
- msgstr "%i 연결 실행 중 오류"
- 
--#: libdnf/dnf-transaction.cpp:1456
-+#: libdnf/dnf-transaction.cpp:1441
-+#, c-format
-+msgid "Error %i opening rpm database"
-+msgstr "rpm 데이타베이스를 여는 동안 오류 %i가 발생했습니다"
-+
-+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
-+msgid "The rpmdbCookie() function did not return cookie of rpm database."
-+msgstr "rpmdbCookie() 함수는 rpm 데이타베이스의 쿠키를 반환하지 않습니다."
-+
-+#: libdnf/dnf-transaction.cpp:1464
- #, c-format
- msgid "Error %i running transaction"
- msgstr "오류 %i 실행중인 연결"
- 
--#: libdnf/dnf-transaction.cpp:1472
-+#: libdnf/dnf-transaction.cpp:1480
- #, c-format
- msgid "Transaction did not go to writing phase, but returned no error(%i)"
- msgstr "연결이 쓰기 단계로 이동하지 않았지만 오류를 반환하지 않았습니다 (%i)"
- 
--#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
-+#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
- #, c-format
- msgid "cannot open directory %1$s: %2$s"
- msgstr "디렉토리를 열 수 없습니다. %1$s: %2$s"
-@@ -678,62 +739,67 @@ msgstr "모듈 %s가 자체적으로 제공된 %s와 충돌합니다"
- msgid "both module %s and %s obsolete %s"
- msgstr "모듈 %s와 %s가 %s에서 폐기되었습니다"
- 
--#: libdnf/goal/Goal.cpp:1141
-+#: libdnf/goal/Goal.cpp:1157
- msgid "no solver set"
- msgstr "solver 설정 없음"
- 
--#: libdnf/goal/Goal.cpp:1146
-+#: libdnf/goal/Goal.cpp:1162
- #, c-format
- msgid "failed to make %s absolute"
- msgstr "%s 절대값을 생성을 실패하였습니다"
- 
--#: libdnf/goal/Goal.cpp:1153
-+#: libdnf/goal/Goal.cpp:1169
- #, c-format
- msgid "failed writing debugdata to %1$s: %2$s"
- msgstr "%1$s: %2$s에 디버그자료 쓰기를 실패했습니다"
- 
--#: libdnf/goal/Goal.cpp:1165
-+#: libdnf/goal/Goal.cpp:1181
- msgid "no solv in the goal"
- msgstr "목표에 solv가 없다"
- 
--#: libdnf/goal/Goal.cpp:1167
-+#: libdnf/goal/Goal.cpp:1183
- msgid "no solution, cannot remove protected package"
- msgstr "해결책 없음, 보호 된 꾸러미를 제거 할 수 없음"
- 
--#: libdnf/goal/Goal.cpp:1170
-+#: libdnf/goal/Goal.cpp:1186
- msgid "no solution possible"
- msgstr "해결책 없음"
- 
--#: libdnf/goal/Goal.cpp:1296
-+#: libdnf/goal/Goal.cpp:1312
- msgid "Problem: "
- msgstr "문제: "
- 
--#: libdnf/goal/Goal.cpp:1301
-+#: libdnf/goal/Goal.cpp:1317
- #, c-format
- msgid "Problem %d: "
- msgstr "문제 %d: "
- 
--#: libdnf/goal/Goal.cpp:1634
-+#: libdnf/goal/Goal.cpp:1650
- msgid ""
- "The operation would result in removing the following protected packages: "
- msgstr "이 작업으로 인해 다음과 같은 보호 꾸러미가 제거됩니다. "
- 
--#: libdnf/hy-iutil.cpp:326
-+#: libdnf/hy-iutil.cpp:181
-+#, c-format
-+msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
-+msgstr "Libsolv의 solv_toolversion은 %zu 길이지만 최대값은 %zu로 예상됩니다"
-+
-+#: libdnf/hy-iutil.cpp:408
- #, c-format
- msgid "Failed renaming %1$s to %2$s: %3$s"
- msgstr "%1$s 을 %2$s: %3$s에 이름 바꾸기 실패"
- 
--#: libdnf/hy-iutil.cpp:334
-+#: libdnf/hy-iutil.cpp:416
- #, c-format
- msgid "Failed setting perms on %1$s: %2$s"
- msgstr "%1$s: %2$s에 perms 설정 실패하였습니다"
- 
--#: libdnf/hy-iutil.cpp:380
-+#: libdnf/hy-iutil.cpp:462
- #, c-format
- msgid "cannot create directory %1$s: %2$s"
- msgstr "디렉토리를 생성 할 수 없습니다 %1$s: %2$s"
- 
--#: libdnf/hy-iutil.cpp:415
-+#: libdnf/hy-iutil.cpp:497
- #, c-format
- msgid "cannot stat path %1$s: %2$s"
- msgstr "경로 %1$s: %2$s stat 할 수 없습니다"
-@@ -829,7 +895,9 @@ msgstr "'%s'에서 모듈식 Fail Safe 자료를 제거 할 수 없습니다"
- msgid ""
- "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is "
- "disabled"
--msgstr "'%s:%s'에 사용되지 않는 모듈을 적용할 수 없습니다(대상 모듈 '%s'가 비활성화 되어 있기 때문에)"
-+msgstr ""
-+"'%s:%s'에 사용되지 않는 모듈을 적용할 수 없습니다(대상 모듈 '%s'가 비활성화 "
-+"되어 있기 때문에)"
- 
- #: libdnf/module/modulemd/ModuleMetadata.cpp:86
- #, c-format
-@@ -902,8 +970,9 @@ msgid ""
- "deprecated and the support will be dropped in future versions. Use '=' "
- "operator instead."
- msgstr ""
--"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 연산자는 더 이상 사용되지 않으며, 향후 "
--"버전에서는 지원이 중단됩니다. 대신 '=' 연산자를 사용하세요."
-+"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 "
-+"연산자는 더 이상 사용되지 않으며, 향후 버전에서는 지원이 중단됩니다. 대신 "
-+"'=' 연산자를 사용하세요."
- 
- #: libdnf/repo/Repo.cpp:321
- #, c-format
-@@ -923,14 +992,17 @@ msgstr "repo '%s': 'basecachedir가 구성되어 있지 않습니다"
- 
- #: libdnf/repo/Repo.cpp:512
- msgid ""
--"Maximum download speed is lower than minimum. Please change configuration of"
--" minrate or throttle"
--msgstr "최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주세요"
-+"Maximum download speed is lower than minimum. Please change configuration of "
-+"minrate or throttle"
-+msgstr ""
-+"최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주"
-+"세요"
- 
- #: libdnf/repo/Repo.cpp:546
- #, c-format
- msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'"
--msgstr "repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다"
-+msgstr ""
-+"repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다"
- 
- #: libdnf/repo/Repo.cpp:548
- msgid "'proxy_username' is set but not 'proxy_password'"
-@@ -951,8 +1023,8 @@ msgstr "%s: gpgme_data_new_from_fd(): %s"
- msgid "%s: gpgme_op_import(): %s"
- msgstr "%s: gpgme_op_import(): %s"
- 
--#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162
--#: libdnf/repo/Repo.cpp:1236 libdnf/repo/Repo.cpp:1279
-+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236
-+#: libdnf/repo/Repo.cpp:1279
- #, c-format
- msgid "Cannot create repo temporary directory \"%s\": %s"
- msgstr "임시 저장소 디렉토리를 만들 수 없습니다 \"%s\": %s"
-@@ -1030,7 +1102,7 @@ msgstr "디렉토리를 만들 수 없습니다 \"%s\": %s"
- #: libdnf/repo/Repo.cpp:1316
- #, c-format
- msgid "Cannot rename directory \"%s\" to \"%s\": %s"
--msgstr "디렉터리 이름을 바꿀 수 없습니다 \"%s\"~\"%s\": %s"
-+msgstr "디렉토리 \"%s\"를 \"%s\": %s로 변경 할 수 없음"
- 
- #: libdnf/repo/Repo.cpp:1339
- #, c-format
-@@ -1094,17 +1166,18 @@ msgstr "진행 중이 아님"
- msgid "No transaction in progress"
- msgstr "진행 중인 연결 없음"
- 
--#: libdnf/transaction/TransactionItem.cpp:147
-+#: libdnf/transaction/TransactionItem.cpp:146
- msgid "Attempt to insert transaction item into completed transaction"
- msgstr "연결 항목을 완료된 연결에 삽입하려고 시도했습니다"
- 
--#: libdnf/transaction/TransactionItem.cpp:218
-+#: libdnf/transaction/TransactionItem.cpp:217
- msgid "Attempt to update transaction item in completed transaction"
- msgstr "완료된 연결에서 연결 항목 최신화를 시도합니다"
- 
- #: libdnf/transaction/Transformer.cpp:76
- msgid "Database Corrupted: no row 'version' in table 'config'"
--msgstr "데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다"
-+msgstr ""
-+"데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다"
- 
- #: libdnf/transaction/Transformer.cpp:681
- msgid "Transformer: can't open history persist dir"
-@@ -1127,8 +1200,20 @@ msgstr "TransactionItem 상태가 설정되지 않았습니다. %s"
- msgid "Can't add console output to unsaved transaction"
- msgstr "저장되지 않은 연결에 콘솔 출력을 추가 할 수 없습니다"
- 
--#~ msgid "Failed to parse module artifact NEVRA '%s'"
--#~ msgstr "모듈 artifact NERVRA '%s'를 구문 분석하는데 실패하였습니다"
-+#~ msgid "failed to add solv"
-+#~ msgstr "solv를 추가하지 못했습니다"
- 
--#~ msgid "failed calculating RPMDB checksum"
--#~ msgstr "RPMDB 체크섬 계산 실패"
-+#~ msgid "write_main() failed writing data: %i"
-+#~ msgstr "write_main() 실패한 쓰기 자료: %i"
-+
-+#~ msgid "write_main() failed to re-load written solv file"
-+#~ msgstr "write_main ()이 작성된 solv 파일을 다시 적재하지 못했습니다"
-+
-+#~ msgid "write_ext(%1$d) has failed: %2$d"
-+#~ msgstr "write_ext(%1$d) 실패하였습니다: %2$d"
-+
-+#~ msgid "repo_add_repomdxml/rpmmd() has failed."
-+#~ msgstr "repo_add_repomdxml/rpmmd() 실패하였습니다."
-+
-+#~ msgid "Failed to parse module artifact NEVRA '%s'"
-+#~ msgstr "모듈 artifact NERVE '%s' 구분 분석에 실패함"
-diff --git a/po/libdnf.pot b/po/libdnf.pot
-index 4ae537cd..dafae9c7 100644
---- a/po/libdnf.pot
-+++ b/po/libdnf.pot
-@@ -8,7 +8,7 @@ msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-01-12 01:51+0000\n"
-+"POT-Creation-Date: 2022-08-30 14:53+0200\n"
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
- "Language-Team: LANGUAGE <LL@li.org>\n"
-@@ -105,122 +105,122 @@ msgstr ""
- msgid "GetValue(): Value not set"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
-+#: libdnf/dnf-context.cpp:3179 libdnf/dnf-context.cpp:3188
- #, c-format
- msgid "Cannot enable more streams from module '%s' at the same time"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
-+#: libdnf/dnf-context.cpp:3197 libdnf/dnf-context.cpp:3215
- #, c-format
- msgid ""
- "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3263
-+#: libdnf/dnf-context.cpp:3264
- #, c-format
- msgid "Modular dependency problem with Defaults: %s"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3266
-+#: libdnf/dnf-context.cpp:3267
- #, c-format
- msgid "Modular dependency problem with the latest modules: %s"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3270
-+#: libdnf/dnf-context.cpp:3271
- #, c-format
- msgid "Modular dependency problem: %s"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
--#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
--#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
--#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
-+#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318
-+#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368
-+#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416
-+#: libdnf/dnf-context.cpp:3465 libdnf/dnf-context.cpp:3475
- #, c-format
- msgid "Unable to resolve argument '%s'"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3300
-+#: libdnf/dnf-context.cpp:3301
- #, c-format
- msgid ""
- "Only module name is required. Ignoring unneeded information in argument: '%s'"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3314
-+#: libdnf/dnf-context.cpp:3315
- #, c-format
- msgid "Cannot reset module '%s': State of module already modified"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3325
-+#: libdnf/dnf-context.cpp:3326
- #, c-format
- msgid "Cannot disable module '%s': State of module already modified"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
--#: libdnf/dnf-context.cpp:3633
-+#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3453
-+#: libdnf/dnf-context.cpp:3634
- msgid "No modular data available"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3373
-+#: libdnf/dnf-context.cpp:3374
- #, c-format
- msgid "Ignoring unneeded information in argument: '%s'"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3411
-+#: libdnf/dnf-context.cpp:3412
- #, c-format
- msgid ""
- "Problem during enablement of dependency tree for module '%1$s' stream "
- "'%2$s': %3$s"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3423
-+#: libdnf/dnf-context.cpp:3424
- msgid "Problems appeared for module enable request:"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3518
-+#: libdnf/dnf-context.cpp:3519
- #, c-format
- msgid "No active module packages found for module spec '%s'"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3523
-+#: libdnf/dnf-context.cpp:3524
- #, c-format
- msgid "Cannot install module '%s' from fail-safe repository"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3530
-+#: libdnf/dnf-context.cpp:3531
- #, c-format
- msgid "No profile found matching '%s'"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3584
-+#: libdnf/dnf-context.cpp:3585
- #, c-format
- msgid "No match for package '%s' for module spec %s"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3595
-+#: libdnf/dnf-context.cpp:3596
- #, c-format
- msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3604
-+#: libdnf/dnf-context.cpp:3605
- msgid "Problems appeared for module install request:"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3663
-+#: libdnf/dnf-context.cpp:3664
- msgid "Problems appeared for module reset request:"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
-+#: libdnf/dnf-context.cpp:3665 libdnf/dnf-context.cpp:3724
- msgid "Problems appeared for module disable request:"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3755
-+#: libdnf/dnf-context.cpp:3756
- #, c-format
- msgid ""
- "The operation would result in switching of module '%s' stream '%s' to stream "
- "'%s'"
- msgstr ""
- 
--#: libdnf/dnf-context.cpp:3759
-+#: libdnf/dnf-context.cpp:3760
- msgid ""
- "It is not possible to switch enabled streams of a module.\n"
- "It is recommended to remove all installed content from the module, and reset "
-@@ -309,84 +309,123 @@ msgstr ""
- msgid "could not add erase element %1$s(%2$i)"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:395
--msgid "failed to add solv"
-+#: libdnf/dnf-sack.cpp:251
-+msgid "repo_add_solv() has failed."
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:414
-+#: libdnf/dnf-sack.cpp:415
-+#, c-format
-+msgid "Loading extension cache %s (%d) failed: "
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:429
- #, c-format
- msgid "no %1$s string for %2$s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:424
-+#: libdnf/dnf-sack.cpp:439
- #, c-format
- msgid "failed to open: %s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:503
-+#: libdnf/dnf-sack.cpp:518
- #, c-format
- msgid "cannot create temporary file: %s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:513
-+#: libdnf/dnf-sack.cpp:528
- #, c-format
- msgid "failed opening tmp file: %s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:525
-+#: libdnf/dnf-sack.cpp:550
-+#, c-format
-+msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:560
-+#, c-format
-+msgid "Failed closing tmp file %s: %s"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:570
- #, c-format
--msgid "write_main() failed writing data: %i"
-+msgid "Failed to use newly written primary cache: %s: "
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:542
--msgid "write_main() failed to re-load written solv file"
-+#: libdnf/dnf-sack.cpp:576
-+#, c-format
-+msgid "Failed to use newly written primary cache: %s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:607
-+#: libdnf/dnf-sack.cpp:626
- #, c-format
- msgid "can not create temporary file %s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:625
-+#: libdnf/dnf-sack.cpp:666
-+#, c-format
-+msgid ""
-+"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:676
-+#, c-format
-+msgid "While writing extension cache (%d): cannot close temporary file: %s"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:692
- #, c-format
--msgid "write_ext(%1$d) has failed: %2$d"
-+msgid "Failed to use newly written extension cache: %s (%d): "
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:680
-+#: libdnf/dnf-sack.cpp:699
-+#, c-format
-+msgid "Failed to use newly written extension cache: %s (%d)"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:740
- msgid "null repo md file"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:689
-+#: libdnf/dnf-sack.cpp:749
- #, c-format
- msgid "can not read file %1$s: %2$s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:703
--msgid "repo_add_solv() has failed."
-+#: libdnf/dnf-sack.cpp:764
-+#, c-format
-+msgid "While loading repository failed to use %s: "
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:716
-+#: libdnf/dnf-sack.cpp:775
- msgid "loading of MD_TYPE_PRIMARY has failed."
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:729
--msgid "repo_add_repomdxml/rpmmd() has failed."
-+#: libdnf/dnf-sack.cpp:787
-+#, c-format
-+msgid "Loading repomd has failed: %s"
-+msgstr ""
-+
-+#: libdnf/dnf-sack.cpp:798
-+#, c-format
-+msgid "Loading primary has failed: %s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:796
-+#: libdnf/dnf-sack.cpp:864
- msgid "failed to auto-detect architecture"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:961
-+#: libdnf/dnf-sack.cpp:1029
- #, c-format
- msgid "failed creating cachedir %s"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:1738
-+#: libdnf/dnf-sack.cpp:1806
- msgid "failed loading RPMDB"
- msgstr ""
- 
--#: libdnf/dnf-sack.cpp:2522
-+#: libdnf/dnf-sack.cpp:2590
- #, c-format
- msgid "No module defaults found: %s"
- msgstr ""
-@@ -415,69 +454,78 @@ msgstr ""
- msgid "already at 100%% state [%s]"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:300
-+#: libdnf/dnf-transaction.cpp:302
- #, c-format
- msgid "Sources not set when trying to ensure package %s"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:326
-+#: libdnf/dnf-transaction.cpp:328
- #, c-format
- msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:367
-+#: libdnf/dnf-transaction.cpp:369
- msgid "Failed to check untrusted: "
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:377
-+#: libdnf/dnf-transaction.cpp:379
- #, c-format
- msgid "Downloaded file for %s not found"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:397
-+#: libdnf/dnf-transaction.cpp:399
- #, c-format
- msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
-+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
- msgid "Failed to get value for CacheDir"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:911
-+#: libdnf/dnf-transaction.cpp:913
- #, c-format
- msgid "Failed to get filesystem free size for %s: "
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:919
-+#: libdnf/dnf-transaction.cpp:921
- #, c-format
- msgid "Failed to get filesystem free size for %s"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:935
-+#: libdnf/dnf-transaction.cpp:937
- #, c-format
- msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:1195
-+#: libdnf/dnf-transaction.cpp:1196
- msgid "failed to set root"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:1416
-+#: libdnf/dnf-transaction.cpp:1417
- #, c-format
- msgid "Error %i running transaction test"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:1456
-+#: libdnf/dnf-transaction.cpp:1441
-+#, c-format
-+msgid "Error %i opening rpm database"
-+msgstr ""
-+
-+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
-+msgid "The rpmdbCookie() function did not return cookie of rpm database."
-+msgstr ""
-+
-+#: libdnf/dnf-transaction.cpp:1464
- #, c-format
- msgid "Error %i running transaction"
- msgstr ""
- 
--#: libdnf/dnf-transaction.cpp:1472
-+#: libdnf/dnf-transaction.cpp:1480
- #, c-format
- msgid "Transaction did not go to writing phase, but returned no error(%i)"
- msgstr ""
- 
--#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
-+#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
- #, c-format
- msgid "cannot open directory %1$s: %2$s"
- msgstr ""
-@@ -678,62 +726,67 @@ msgstr ""
- msgid "both module %s and %s obsolete %s"
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1141
-+#: libdnf/goal/Goal.cpp:1157
- msgid "no solver set"
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1146
-+#: libdnf/goal/Goal.cpp:1162
- #, c-format
- msgid "failed to make %s absolute"
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1153
-+#: libdnf/goal/Goal.cpp:1169
- #, c-format
- msgid "failed writing debugdata to %1$s: %2$s"
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1165
-+#: libdnf/goal/Goal.cpp:1181
- msgid "no solv in the goal"
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1167
-+#: libdnf/goal/Goal.cpp:1183
- msgid "no solution, cannot remove protected package"
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1170
-+#: libdnf/goal/Goal.cpp:1186
- msgid "no solution possible"
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1296
-+#: libdnf/goal/Goal.cpp:1312
- msgid "Problem: "
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1301
-+#: libdnf/goal/Goal.cpp:1317
- #, c-format
- msgid "Problem %d: "
- msgstr ""
- 
--#: libdnf/goal/Goal.cpp:1634
-+#: libdnf/goal/Goal.cpp:1650
- msgid ""
- "The operation would result in removing the following protected packages: "
- msgstr ""
- 
--#: libdnf/hy-iutil.cpp:326
-+#: libdnf/hy-iutil.cpp:181
-+#, c-format
-+msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
-+msgstr ""
-+
-+#: libdnf/hy-iutil.cpp:408
- #, c-format
- msgid "Failed renaming %1$s to %2$s: %3$s"
- msgstr ""
- 
--#: libdnf/hy-iutil.cpp:334
-+#: libdnf/hy-iutil.cpp:416
- #, c-format
- msgid "Failed setting perms on %1$s: %2$s"
- msgstr ""
- 
--#: libdnf/hy-iutil.cpp:380
-+#: libdnf/hy-iutil.cpp:462
- #, c-format
- msgid "cannot create directory %1$s: %2$s"
- msgstr ""
- 
--#: libdnf/hy-iutil.cpp:415
-+#: libdnf/hy-iutil.cpp:497
- #, c-format
- msgid "cannot stat path %1$s: %2$s"
- msgstr ""
-@@ -1092,11 +1145,11 @@ msgstr ""
- msgid "No transaction in progress"
- msgstr ""
- 
--#: libdnf/transaction/TransactionItem.cpp:147
-+#: libdnf/transaction/TransactionItem.cpp:146
- msgid "Attempt to insert transaction item into completed transaction"
- msgstr ""
- 
--#: libdnf/transaction/TransactionItem.cpp:218
-+#: libdnf/transaction/TransactionItem.cpp:217
- msgid "Attempt to update transaction item in completed transaction"
- msgstr ""
- 
-diff --git a/po/zh_CN.po b/po/zh_CN.po
-index 787086b5..d931ab2e 100644
---- a/po/zh_CN.po
-+++ b/po/zh_CN.po
-@@ -1,21 +1,22 @@
- # Charles Lee <lchopn@gmail.com>, 2017. #zanata, 2020, 2021.
- # Ludek Janda <ljanda@redhat.com>, 2018. #zanata, 2021.
--# Qiyu Yan <yanqiyu01@gmail.com>, 2021.
--# Sundeep Anand <suanand@redhat.com>, 2021.
-+# Sundeep Anand <suanand@redhat.com>, 2021, 2022.
-+# Transtats <suanand@redhat.com>, 2022.
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "Report-Msgid-Bugs-To: \n"
--"POT-Creation-Date: 2022-01-05 01:53+0000\n"
--"PO-Revision-Date: 2021-09-11 10:04+0000\n"
--"Last-Translator: Ludek Janda <ljanda@redhat.com>\n"
--"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/dnf/libdnf-dnf-4-master/zh_CN/>\n"
-+"POT-Creation-Date: 2022-08-30 14:53+0200\n"
-+"PO-Revision-Date: 2022-09-06 07:19+0000\n"
-+"Last-Translator: Transtats <suanand@redhat.com>\n"
-+"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/"
-+"projects/dnf/libdnf-rhel-9/zh_CN/>\n"
- "Language: zh_CN\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=1; plural=0;\n"
--"X-Generator: Weblate 4.8\n"
-+"X-Generator: Weblate 4.14\n"
- 
- #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40
- msgid "no value specified"
-@@ -104,130 +105,131 @@ msgstr "无法把 '%s' 转换为秒"
- msgid "GetValue(): Value not set"
- msgstr "GetValue(): 值没有设置"
- 
--#: libdnf/dnf-context.cpp:3178 libdnf/dnf-context.cpp:3187
-+#: libdnf/dnf-context.cpp:3179 libdnf/dnf-context.cpp:3188
- #, c-format
- msgid "Cannot enable more streams from module '%s' at the same time"
- msgstr "无法同时从模块 '%s' 中启用更多流"
- 
--#: libdnf/dnf-context.cpp:3196 libdnf/dnf-context.cpp:3214
-+#: libdnf/dnf-context.cpp:3197 libdnf/dnf-context.cpp:3215
- #, c-format
- msgid ""
- "Cannot enable module '%1$s' stream '%2$s': State of module already modified"
- msgstr "无法启用模块 '%1$s' 流 '%2$s':已经修改的模块状态"
- 
--#: libdnf/dnf-context.cpp:3263
-+#: libdnf/dnf-context.cpp:3264
- #, c-format
- msgid "Modular dependency problem with Defaults: %s"
- msgstr "默认设置的模块依赖性问题:%s"
- 
--#: libdnf/dnf-context.cpp:3266
-+#: libdnf/dnf-context.cpp:3267
- #, c-format
- msgid "Modular dependency problem with the latest modules: %s"
- msgstr "最新模块的模块化依赖关系问题: %s"
- 
--#: libdnf/dnf-context.cpp:3270
-+#: libdnf/dnf-context.cpp:3271
- #, c-format
- msgid "Modular dependency problem: %s"
- msgstr "模块依赖问题:%s"
- 
--#: libdnf/dnf-context.cpp:3293 libdnf/dnf-context.cpp:3317
--#: libdnf/dnf-context.cpp:3328 libdnf/dnf-context.cpp:3367
--#: libdnf/dnf-context.cpp:3383 libdnf/dnf-context.cpp:3415
--#: libdnf/dnf-context.cpp:3464 libdnf/dnf-context.cpp:3474
-+#: libdnf/dnf-context.cpp:3294 libdnf/dnf-context.cpp:3318
-+#: libdnf/dnf-context.cpp:3329 libdnf/dnf-context.cpp:3368
-+#: libdnf/dnf-context.cpp:3384 libdnf/dnf-context.cpp:3416
-+#: libdnf/dnf-context.cpp:3465 libdnf/dnf-context.cpp:3475
- #, c-format
- msgid "Unable to resolve argument '%s'"
- msgstr "无法解析参数 '%s'"
- 
--#: libdnf/dnf-context.cpp:3300
-+#: libdnf/dnf-context.cpp:3301
- #, c-format
- msgid ""
--"Only module name is required. Ignoring unneeded information in argument: "
--"'%s'"
-+"Only module name is required. Ignoring unneeded information in argument: '%s'"
- msgstr "只需要模块名。忽略参数 '%s' 中的无用信息"
- 
--#: libdnf/dnf-context.cpp:3314
-+#: libdnf/dnf-context.cpp:3315
- #, c-format
- msgid "Cannot reset module '%s': State of module already modified"
- msgstr "无法重置模块 '%s':已修改的模块状态"
- 
--#: libdnf/dnf-context.cpp:3325
-+#: libdnf/dnf-context.cpp:3326
- #, c-format
- msgid "Cannot disable module '%s': State of module already modified"
- msgstr "无法禁用模块 '%s':已经修改的模块状态"
- 
--#: libdnf/dnf-context.cpp:3356 libdnf/dnf-context.cpp:3452
--#: libdnf/dnf-context.cpp:3633
-+#: libdnf/dnf-context.cpp:3357 libdnf/dnf-context.cpp:3453
-+#: libdnf/dnf-context.cpp:3634
- msgid "No modular data available"
- msgstr "没有可用的模块数据"
- 
--#: libdnf/dnf-context.cpp:3373
-+#: libdnf/dnf-context.cpp:3374
- #, c-format
- msgid "Ignoring unneeded information in argument: '%s'"
--msgstr "忽略参数:\"%s\" 中不需要的信息"
-+msgstr "忽略参数中不需要的信息:'%s'"
- 
--#: libdnf/dnf-context.cpp:3411
-+#: libdnf/dnf-context.cpp:3412
- #, c-format
- msgid ""
- "Problem during enablement of dependency tree for module '%1$s' stream "
- "'%2$s': %3$s"
- msgstr "为模块 '%1$s' 流 '%2$s' 启用依赖树时出现问题: %3$s"
- 
--#: libdnf/dnf-context.cpp:3423
-+#: libdnf/dnf-context.cpp:3424
- msgid "Problems appeared for module enable request:"
--msgstr ""
-+msgstr "模块启用请求出现问题:"
- 
--#: libdnf/dnf-context.cpp:3518
-+#: libdnf/dnf-context.cpp:3519
- #, c-format
- msgid "No active module packages found for module spec '%s'"
--msgstr ""
-+msgstr "未找到模块规范 '%s' 的活动模块包"
- 
--#: libdnf/dnf-context.cpp:3523
--#, fuzzy, c-format
--#| msgid "cannot install both modules %s and %s"
-+#: libdnf/dnf-context.cpp:3524
-+#, c-format
- msgid "Cannot install module '%s' from fail-safe repository"
--msgstr "无法同时安装模块 %s 和 %s"
-+msgstr "无法从故障保护存储库安装模块 '%s'"
- 
--#: libdnf/dnf-context.cpp:3530
-+#: libdnf/dnf-context.cpp:3531
- #, c-format
- msgid "No profile found matching '%s'"
--msgstr ""
-+msgstr "未找到匹配 '%s' 的配置文件"
- 
--#: libdnf/dnf-context.cpp:3584
-+#: libdnf/dnf-context.cpp:3585
- #, c-format
- msgid "No match for package '%s' for module spec %s"
--msgstr ""
-+msgstr "没有匹配模块规范 %s 的包 '%s'"
- 
--#: libdnf/dnf-context.cpp:3595
-+#: libdnf/dnf-context.cpp:3596
- #, c-format
- msgid "Problem during install for module '%1$s' stream '%2$s': %3$s"
--msgstr ""
-+msgstr "在安装模块 '%1$s' 流 '%2$s'时的问题:%3$s"
- 
--#: libdnf/dnf-context.cpp:3604
-+#: libdnf/dnf-context.cpp:3605
- msgid "Problems appeared for module install request:"
--msgstr ""
-+msgstr "模块安装请求出现问题:"
- 
--#: libdnf/dnf-context.cpp:3663
-+#: libdnf/dnf-context.cpp:3664
- msgid "Problems appeared for module reset request:"
--msgstr ""
-+msgstr "模块重置请求出现问题:"
- 
--#: libdnf/dnf-context.cpp:3664 libdnf/dnf-context.cpp:3723
-+#: libdnf/dnf-context.cpp:3665 libdnf/dnf-context.cpp:3724
- msgid "Problems appeared for module disable request:"
--msgstr ""
-+msgstr "模块禁用请求出现问题:"
- 
--#: libdnf/dnf-context.cpp:3755
-+#: libdnf/dnf-context.cpp:3756
- #, c-format
- msgid ""
--"The operation would result in switching of module '%s' stream '%s' to stream"
--" '%s'"
-+"The operation would result in switching of module '%s' stream '%s' to stream "
-+"'%s'"
- msgstr "这个操作会把模块 '%s' 从流 '%s' 切换到流 '%s'"
- 
--#: libdnf/dnf-context.cpp:3759
-+#: libdnf/dnf-context.cpp:3760
- msgid ""
- "It is not possible to switch enabled streams of a module.\n"
--"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset <module_name>' command. After you reset the module, you can install the other stream."
-+"It is recommended to remove all installed content from the module, and reset "
-+"the module using 'microdnf module reset <module_name>' command. After you "
-+"reset the module, you can install the other stream."
- msgstr ""
- "无法切换一个模块已启用的流。 \n"
--"推荐从模块中删除所有已安装的内容,使用 'microdnf module reset <module_name>' 命令重置模块。在重置模块后就可以安装其他流。"
-+"推荐从模块中删除所有已安装的内容,使用 'microdnf module reset <module_name>' "
-+"命令重置模块。在重置模块后就可以安装其他流。"
- 
- #: libdnf/dnf-goal.cpp:107
- msgid "Could not depsolve transaction; "
-@@ -309,84 +311,123 @@ msgstr "无法找到软件包 %s"
- msgid "could not add erase element %1$s(%2$i)"
- msgstr "无法添加删除元素 %1$s(%2$i)"
- 
--#: libdnf/dnf-sack.cpp:395
--msgid "failed to add solv"
--msgstr "添加 solv 失败"
-+#: libdnf/dnf-sack.cpp:251
-+msgid "repo_add_solv() has failed."
-+msgstr "repo_add_solv() 已失败。"
-+
-+#: libdnf/dnf-sack.cpp:415
-+#, c-format
-+msgid "Loading extension cache %s (%d) failed: "
-+msgstr "加载扩展缓存 %s (%d) 失败: "
- 
--#: libdnf/dnf-sack.cpp:414
-+#: libdnf/dnf-sack.cpp:429
- #, c-format
- msgid "no %1$s string for %2$s"
--msgstr "没有为 %2$s 的 %1$s 字符串"
-+msgstr "没有 %2$s 的 %1$s 字符串"
- 
--#: libdnf/dnf-sack.cpp:424
-+#: libdnf/dnf-sack.cpp:439
- #, c-format
- msgid "failed to open: %s"
- msgstr "打开失败:%s"
- 
--#: libdnf/dnf-sack.cpp:503
-+#: libdnf/dnf-sack.cpp:518
- #, c-format
- msgid "cannot create temporary file: %s"
- msgstr "不能创建临时文件: %s"
- 
--#: libdnf/dnf-sack.cpp:513
-+#: libdnf/dnf-sack.cpp:528
- #, c-format
- msgid "failed opening tmp file: %s"
- msgstr "打开 tmp 文件失败: %s"
- 
--#: libdnf/dnf-sack.cpp:525
-+#: libdnf/dnf-sack.cpp:550
- #, c-format
--msgid "write_main() failed writing data: %i"
--msgstr "write_main() 写数据失败: %i"
-+msgid "While writing primary cache %s repowriter write failed: %i, error: %s"
-+msgstr "写主缓存 %s 时 repowriter 写失败:%i 错误:%s"
- 
--#: libdnf/dnf-sack.cpp:542
--msgid "write_main() failed to re-load written solv file"
--msgstr "write_main() 重新加载写的 solv 文件失败"
-+#: libdnf/dnf-sack.cpp:560
-+#, c-format
-+msgid "Failed closing tmp file %s: %s"
-+msgstr "关闭临时文件 %s 失败:%s"
-+
-+#: libdnf/dnf-sack.cpp:570
-+#, c-format
-+msgid "Failed to use newly written primary cache: %s: "
-+msgstr "使用新写的主缓存失败:%s: "
- 
--#: libdnf/dnf-sack.cpp:607
-+#: libdnf/dnf-sack.cpp:576
-+#, c-format
-+msgid "Failed to use newly written primary cache: %s"
-+msgstr "使用新写的主缓存失败:%s"
-+
-+#: libdnf/dnf-sack.cpp:626
- #, c-format
- msgid "can not create temporary file %s"
- msgstr "不能创建临时文件 %s"
- 
--#: libdnf/dnf-sack.cpp:625
-+#: libdnf/dnf-sack.cpp:666
-+#, c-format
-+msgid ""
-+"While writing extension cache %s (%d): repowriter write failed: %i, error: %s"
-+msgstr "编写扩展缓存 %s (%d) 时: repowriter 写失败: %i,错误: %s"
-+
-+#: libdnf/dnf-sack.cpp:676
- #, c-format
--msgid "write_ext(%1$d) has failed: %2$d"
--msgstr "write_ext(%1$d) 已失败: %2$d"
-+msgid "While writing extension cache (%d): cannot close temporary file: %s"
-+msgstr "编写扩展缓存 (%d) 时:无法关闭临时文件:%s"
- 
--#: libdnf/dnf-sack.cpp:680
-+#: libdnf/dnf-sack.cpp:692
-+#, c-format
-+msgid "Failed to use newly written extension cache: %s (%d): "
-+msgstr "使用新写的扩展缓存失败:%s (%d): "
-+
-+#: libdnf/dnf-sack.cpp:699
-+#, c-format
-+msgid "Failed to use newly written extension cache: %s (%d)"
-+msgstr "使用新写的扩展缓存失败:%s (%d)"
-+
-+#: libdnf/dnf-sack.cpp:740
- msgid "null repo md file"
--msgstr "null repo md 文件"
-+msgstr "null 存储库 md 文件"
- 
--#: libdnf/dnf-sack.cpp:689
-+#: libdnf/dnf-sack.cpp:749
- #, c-format
- msgid "can not read file %1$s: %2$s"
- msgstr "不能读文件 %1$s: %2$s"
- 
--#: libdnf/dnf-sack.cpp:703
--msgid "repo_add_solv() has failed."
--msgstr "repo_add_solv() 已失败。"
-+#: libdnf/dnf-sack.cpp:764
-+#, c-format
-+msgid "While loading repository failed to use %s: "
-+msgstr "加载软件仓库时使用 %s 失败: "
- 
--#: libdnf/dnf-sack.cpp:716
-+#: libdnf/dnf-sack.cpp:775
- msgid "loading of MD_TYPE_PRIMARY has failed."
- msgstr "加载 MD_TYPE_PRIMARY 失败。"
- 
--#: libdnf/dnf-sack.cpp:729
--msgid "repo_add_repomdxml/rpmmd() has failed."
--msgstr "repo_add_repomdxml/rpmmd() 已失败。"
-+#: libdnf/dnf-sack.cpp:787
-+#, c-format
-+msgid "Loading repomd has failed: %s"
-+msgstr "加载 repomd 失败:%s"
- 
--#: libdnf/dnf-sack.cpp:796
-+#: libdnf/dnf-sack.cpp:798
-+#, c-format
-+msgid "Loading primary has failed: %s"
-+msgstr "加载主设备失败:%s"
-+
-+#: libdnf/dnf-sack.cpp:864
- msgid "failed to auto-detect architecture"
- msgstr "自动检测架构失败"
- 
--#: libdnf/dnf-sack.cpp:961
-+#: libdnf/dnf-sack.cpp:1029
- #, c-format
- msgid "failed creating cachedir %s"
- msgstr "无法创建 cachedir %s"
- 
--#: libdnf/dnf-sack.cpp:1738
-+#: libdnf/dnf-sack.cpp:1806
- msgid "failed loading RPMDB"
- msgstr "无法加载 RPMDB"
- 
--#: libdnf/dnf-sack.cpp:2522
-+#: libdnf/dnf-sack.cpp:2590
- #, c-format
- msgid "No module defaults found: %s"
- msgstr "没有找到模块默认设置:%s"
-@@ -415,69 +456,78 @@ msgstr "在一个没有设置大小的状态 %1$p 中做! [%2$s]"
- msgid "already at 100%% state [%s]"
- msgstr "已是 100%% 状态 [%s]"
- 
--#: libdnf/dnf-transaction.cpp:300
-+#: libdnf/dnf-transaction.cpp:302
- #, c-format
- msgid "Sources not set when trying to ensure package %s"
- msgstr "在尝试确保软件包 %s 时源没有设置"
- 
--#: libdnf/dnf-transaction.cpp:326
-+#: libdnf/dnf-transaction.cpp:328
- #, c-format
- msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)"
--msgstr "无法确保 %1$s,因为 repo %2$s 没有找到 (%3$i repos 已加载)"
-+msgstr "无法确保 %1$s,因为存储库 %2$s 没有找到 (%3$i 存储库已加载)"
- 
--#: libdnf/dnf-transaction.cpp:367
-+#: libdnf/dnf-transaction.cpp:369
- msgid "Failed to check untrusted: "
- msgstr "检查不被信任失败 : "
- 
--#: libdnf/dnf-transaction.cpp:377
-+#: libdnf/dnf-transaction.cpp:379
- #, c-format
- msgid "Downloaded file for %s not found"
- msgstr "没有找到下载的文件 %s"
- 
--#: libdnf/dnf-transaction.cpp:397
-+#: libdnf/dnf-transaction.cpp:399
- #, c-format
- msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s"
--msgstr "软件包 %1$s 不能被验证,repo %2$s 启用了 GPG: %3$s"
-+msgstr "软件包 %1$s 不能被验证,存储库 %2$s 启用了 GPG: %3$s"
- 
--#: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903
-+#: libdnf/dnf-transaction.cpp:833 libdnf/dnf-transaction.cpp:905
- msgid "Failed to get value for CacheDir"
- msgstr "无法为 CacheDir 获得值"
- 
--#: libdnf/dnf-transaction.cpp:911
-+#: libdnf/dnf-transaction.cpp:913
- #, c-format
- msgid "Failed to get filesystem free size for %s: "
- msgstr "无法为 %s 获得文件系统可用空间的大小: "
- 
--#: libdnf/dnf-transaction.cpp:919
-+#: libdnf/dnf-transaction.cpp:921
- #, c-format
- msgid "Failed to get filesystem free size for %s"
- msgstr "无法为 %s 获得文件系统可用空间的大小"
- 
--#: libdnf/dnf-transaction.cpp:935
-+#: libdnf/dnf-transaction.cpp:937
- #, c-format
- msgid "Not enough free space in %1$s: needed %2$s, available %3$s"
- msgstr "%1$s 没有足够的空闲空间: 需要 %2$s,可用 %3$s"
- 
--#: libdnf/dnf-transaction.cpp:1195
-+#: libdnf/dnf-transaction.cpp:1196
- msgid "failed to set root"
- msgstr "设置 root 失败"
- 
--#: libdnf/dnf-transaction.cpp:1416
-+#: libdnf/dnf-transaction.cpp:1417
- #, c-format
- msgid "Error %i running transaction test"
--msgstr "错误 %i 运行事务测试"
-+msgstr "运行事务测试时错误 %i"
-+
-+#: libdnf/dnf-transaction.cpp:1441
-+#, c-format
-+msgid "Error %i opening rpm database"
-+msgstr "打开 rpm 数据库时错误 %i"
-+
-+#: libdnf/dnf-transaction.cpp:1449 libdnf/dnf-transaction.cpp:1495
-+msgid "The rpmdbCookie() function did not return cookie of rpm database."
-+msgstr "rpmdbCookie()函数没有返回 rpm 数据库的 cookie。"
- 
--#: libdnf/dnf-transaction.cpp:1456
-+#: libdnf/dnf-transaction.cpp:1464
- #, c-format
- msgid "Error %i running transaction"
--msgstr "错误 %i 运行事务"
-+msgstr "运行事务时错误 %i"
- 
--#: libdnf/dnf-transaction.cpp:1472
-+#: libdnf/dnf-transaction.cpp:1480
- #, c-format
- msgid "Transaction did not go to writing phase, but returned no error(%i)"
- msgstr "事务没有进入写阶段,但没有返回错误(%i)"
- 
--#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:403
-+#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485
- #, c-format
- msgid "cannot open directory %1$s: %2$s"
- msgstr "无法打开目录 %1$s: %2$s"
-@@ -563,7 +613,7 @@ msgstr "软件包 %s 被排除过滤过滤掉"
- #: libdnf/goal/Goal.cpp:105
- #, c-format
- msgid "nothing provides %s needed by %s"
--msgstr "没有东西可提供 %s(%s 需要)"
-+msgstr "没有提供 %s 所需要的 %s"
- 
- #: libdnf/goal/Goal.cpp:106
- #, c-format
-@@ -578,17 +628,17 @@ msgstr "软件包 %s 与 %s(由 %s 提供)冲突"
- #: libdnf/goal/Goal.cpp:108
- #, c-format
- msgid "package %s obsoletes %s provided by %s"
--msgstr "软件包 %s 取代了 %s(由 %s 提供)"
-+msgstr "软件包 %s 淘汰了 %s 提供的 %s"
- 
- #: libdnf/goal/Goal.cpp:109
- #, c-format
- msgid "installed package %s obsoletes %s provided by %s"
--msgstr "已安装的软件包 %s 取代了 %s(由 %s 提供)"
-+msgstr "已安装的软件包 %s 淘汰了 %s 提供的 %s"
- 
- #: libdnf/goal/Goal.cpp:110
- #, c-format
- msgid "package %s implicitly obsoletes %s provided by %s"
--msgstr "软件包 %s 隐式地取代了 %s(由 %s 提供)"
-+msgstr "软件包 %s 隐式地淘汰了 %s 提供的 %s"
- 
- #: libdnf/goal/Goal.cpp:111
- #, c-format
-@@ -636,37 +686,37 @@ msgstr "模块 %s 不可安装"
- #: libdnf/goal/Goal.cpp:132
- #, c-format
- msgid "nothing provides %s needed by module %s"
--msgstr "没有东西提供 %s(模块 %s 需要它)"
-+msgstr "没有提供模块 %s 所需要的 %s"
- 
- #: libdnf/goal/Goal.cpp:133
- #, c-format
- msgid "cannot install both modules %s and %s"
--msgstr "无法同时安装模块 %s 和 %s"
-+msgstr "不能同时安装模块 %s 和 %s"
- 
- #: libdnf/goal/Goal.cpp:134
- #, c-format
- msgid "module %s conflicts with %s provided by %s"
--msgstr "模块 %s 与 %s (由 %s 提供)冲突"
-+msgstr "模块 %s 与 %s 提供的 %s 冲突"
- 
- #: libdnf/goal/Goal.cpp:135
- #, c-format
- msgid "module %s obsoletes %s provided by %s"
--msgstr "模块 %s 取代了 %s(由 %s 提供)"
-+msgstr "模块 %s 淘汰了 %s 提供的 %s"
- 
- #: libdnf/goal/Goal.cpp:136
- #, c-format
- msgid "installed module %s obsoletes %s provided by %s"
--msgstr "已安装的模块 %s 取代了 %s(由 %s 提供)"
-+msgstr "已安装的模块 %s 淘汰了 %s 提供的 %s"
- 
- #: libdnf/goal/Goal.cpp:137
- #, c-format
- msgid "module %s implicitly obsoletes %s provided by %s"
--msgstr "模块 %s 隐式地取代了 %s(由 %s 提供)"
-+msgstr "模块 %s 隐式地淘汰了 %s 提供的 %s"
- 
- #: libdnf/goal/Goal.cpp:138
- #, c-format
- msgid "module %s requires %s, but none of the providers can be installed"
--msgstr "模块 %s 需要 %s,但没有提供者可以被安装"
-+msgstr "模块 %s 需要 %s,但无法安装任何提供程序"
- 
- #: libdnf/goal/Goal.cpp:139
- #, c-format
-@@ -678,62 +728,67 @@ msgstr "模块 %s 与自己提供的 %s 冲突"
- msgid "both module %s and %s obsolete %s"
- msgstr "模块 %s 和 %s 同时取代了 %s"
- 
--#: libdnf/goal/Goal.cpp:1141
-+#: libdnf/goal/Goal.cpp:1157
- msgid "no solver set"
- msgstr "无 solver 设置"
- 
--#: libdnf/goal/Goal.cpp:1146
-+#: libdnf/goal/Goal.cpp:1162
- #, c-format
- msgid "failed to make %s absolute"
- msgstr "无法使 %s 绝对"
- 
--#: libdnf/goal/Goal.cpp:1153
-+#: libdnf/goal/Goal.cpp:1169
- #, c-format
- msgid "failed writing debugdata to %1$s: %2$s"
- msgstr "把 debugdata 写入到 %1$s 失败: %2$s"
- 
--#: libdnf/goal/Goal.cpp:1165
-+#: libdnf/goal/Goal.cpp:1181
- msgid "no solv in the goal"
- msgstr "在目标中没有 solv"
- 
--#: libdnf/goal/Goal.cpp:1167
-+#: libdnf/goal/Goal.cpp:1183
- msgid "no solution, cannot remove protected package"
- msgstr "没有解决方案,不能删除保护的软件包"
- 
--#: libdnf/goal/Goal.cpp:1170
-+#: libdnf/goal/Goal.cpp:1186
- msgid "no solution possible"
- msgstr "没有可能的解决方案"
- 
--#: libdnf/goal/Goal.cpp:1296
-+#: libdnf/goal/Goal.cpp:1312
- msgid "Problem: "
- msgstr "问题: "
- 
--#: libdnf/goal/Goal.cpp:1301
-+#: libdnf/goal/Goal.cpp:1317
- #, c-format
- msgid "Problem %d: "
- msgstr "问题 %d: "
- 
--#: libdnf/goal/Goal.cpp:1634
-+#: libdnf/goal/Goal.cpp:1650
- msgid ""
- "The operation would result in removing the following protected packages: "
- msgstr "这个操作将会导致删除以下受保护的软件包: "
- 
--#: libdnf/hy-iutil.cpp:326
-+#: libdnf/hy-iutil.cpp:181
-+#, c-format
-+msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu"
-+msgstr "Libsolv 的 solv_toolversion 为: %zu,但我们预计最大为:%zu"
-+
-+#: libdnf/hy-iutil.cpp:408
- #, c-format
- msgid "Failed renaming %1$s to %2$s: %3$s"
- msgstr "将 %1$s 重命名为 %2$s 失败: %3$s"
- 
--#: libdnf/hy-iutil.cpp:334
-+#: libdnf/hy-iutil.cpp:416
- #, c-format
- msgid "Failed setting perms on %1$s: %2$s"
- msgstr "在 %1$s 中设置 perms 失败: %2$s"
- 
--#: libdnf/hy-iutil.cpp:380
-+#: libdnf/hy-iutil.cpp:462
- #, c-format
- msgid "cannot create directory %1$s: %2$s"
- msgstr "无法创建目录 %1$s: %2$s"
- 
--#: libdnf/hy-iutil.cpp:415
-+#: libdnf/hy-iutil.cpp:497
- #, c-format
- msgid "cannot stat path %1$s: %2$s"
- msgstr "无法 stat 路径 %1$s: %2$s"
-@@ -773,7 +828,7 @@ msgstr "无法为模块 '%s' 启用多个流"
- #: libdnf/module/ModulePackageContainer.cpp:346
- #, c-format
- msgid "Conflicting defaults with repo '%s': %s"
--msgstr "默认设置与 repo '%s' 冲突 : %s"
-+msgstr "默认设置与存储库 '%s' 冲突 : %s"
- 
- #: libdnf/module/ModulePackageContainer.cpp:917
- msgid "Installing module profiles:\n"
-@@ -822,7 +877,7 @@ msgstr "无法把模块 Fail Safe 数据保存到 '%s'"
- #: libdnf/module/ModulePackageContainer.cpp:1830
- #, c-format
- msgid "Unable to remove a modular Fail Safe data in '%s'"
--msgstr "无法删除 '%s' 处的模块 Fail Safe 数据"
-+msgstr "无法删除 '%s' 中的模块 Fail Safe 数据"
- 
- #: libdnf/module/ModulePackageContainer.cpp:1862
- #, c-format
-@@ -902,8 +957,8 @@ msgid ""
- "deprecated and the support will be dropped in future versions. Use '=' "
- "operator instead."
- msgstr ""
--"在 reldeps 中使用 '==' 操作符可能导致一个未定义的行为。这个操作符已被废弃,并且在未来的版本中会取消对它的支持。请使用 '=' "
--"操作符代替。"
-+"在 reldeps 中使用 '==' 操作符可能导致一个未定义的行为。这个操作符已被废弃,并"
-+"且在未来的版本中会取消对它的支持。请使用 '=' 操作符代替。"
- 
- #: libdnf/repo/Repo.cpp:321
- #, c-format
-@@ -919,18 +974,18 @@ msgstr "仓库 '%s' 有不被支持的类型: 'type=%s', 忽略。"
- #: libdnf/repo/Repo.cpp:1400
- #, c-format
- msgid "repo '%s': 'basecachedir' is not set"
--msgstr "Repo '%s': 'basecachedir' 没有设置"
-+msgstr "存储库 '%s': 'basecachedir' 没有设置"
- 
- #: libdnf/repo/Repo.cpp:512
- msgid ""
--"Maximum download speed is lower than minimum. Please change configuration of"
--" minrate or throttle"
-+"Maximum download speed is lower than minimum. Please change configuration of "
-+"minrate or throttle"
- msgstr "最大下载速度低于最小值。请修改 minrate 或 throttle 的配置"
- 
- #: libdnf/repo/Repo.cpp:546
- #, c-format
- msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'"
--msgstr "Repo '%s': 'proxy_username' 已被设置,但没有设置 'proxy_password'"
-+msgstr "存储库 '%s': 'proxy_username' 已被设置,但没有设置 'proxy_password'"
- 
- #: libdnf/repo/Repo.cpp:548
- msgid "'proxy_username' is set but not 'proxy_password'"
-@@ -939,7 +994,7 @@ msgstr "'proxy_username' 已被设置,但没有设置 'proxy_password'"
- #: libdnf/repo/Repo.cpp:629
- #, c-format
- msgid "Cannot find a valid baseurl for repo: %s"
--msgstr "无法为仓库 %s 找到一个有效的 baseurl"
-+msgstr "无法为存储库找到一个有效的 baseurl:%s"
- 
- #: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682
- #, c-format
-@@ -951,11 +1006,11 @@ msgstr "%s: gpgme_data_new_from_fd(): %s"
- msgid "%s: gpgme_op_import(): %s"
- msgstr "%s: gpgme_op_import(): %s"
- 
--#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162
--#: libdnf/repo/Repo.cpp:1236 libdnf/repo/Repo.cpp:1279
-+#: libdnf/repo/Repo.cpp:709 libdnf/repo/Repo.cpp:1162 libdnf/repo/Repo.cpp:1236
-+#: libdnf/repo/Repo.cpp:1279
- #, c-format
- msgid "Cannot create repo temporary directory \"%s\": %s"
--msgstr "无法创建 repo 临时目录 \"%s\": %s"
-+msgstr "无法创建存储库临时目录 \"%s\": %s"
- 
- #: libdnf/repo/Repo.cpp:717 libdnf/repo/Repo.cpp:783 libdnf/repo/Repo.cpp:917
- #, c-format
-@@ -975,7 +1030,7 @@ msgstr "为仓库 '%s' 获取 GPG 密钥失败 : %s"
- #: libdnf/repo/Repo.cpp:890
- #, c-format
- msgid "repo %s: 0x%s already imported"
--msgstr "repo %s: 0x%s 已被导入"
-+msgstr "存储库 %s: 0x%s 已被导入"
- 
- #: libdnf/repo/Repo.cpp:904 libdnf/utils/filesystem.cpp:79
- #, c-format
-@@ -985,7 +1040,7 @@ msgstr "无法创建目录 \"%s\": %d - %s"
- #: libdnf/repo/Repo.cpp:924
- #, c-format
- msgid "repo %s: imported key 0x%s."
--msgstr "repo %s: 已导入密钥 0x%s。"
-+msgstr "存储库 %s: 已导入密钥 0x%s。"
- 
- #: libdnf/repo/Repo.cpp:1176
- #, c-format
-@@ -1035,17 +1090,17 @@ msgstr "无法把目录 \"%s\" 重命名为 \"%s\": %s"
- #: libdnf/repo/Repo.cpp:1339
- #, c-format
- msgid "repo: using cache for: %s"
--msgstr "仓库: 正在为 %s 使用缓存"
-+msgstr "存储库:使用缓存用于:%s"
- 
- #: libdnf/repo/Repo.cpp:1351
- #, c-format
- msgid "Cache-only enabled but no cache for '%s'"
--msgstr "仅使用缓存已开启但没有 '%s' 的缓存"
-+msgstr "仅启用缓存,但没有 '%s' 的缓存"
- 
- #: libdnf/repo/Repo.cpp:1355
- #, c-format
- msgid "repo: downloading from remote: %s"
--msgstr "repo: 从远程下载: %s"
-+msgstr "存储库: 从远程下载: %s"
- 
- #: libdnf/repo/Repo.cpp:1362
- #, c-format
-@@ -1094,11 +1149,11 @@ msgstr "没有在进行中"
- msgid "No transaction in progress"
- msgstr "没有事务在进行中"
- 
--#: libdnf/transaction/TransactionItem.cpp:147
-+#: libdnf/transaction/TransactionItem.cpp:146
- msgid "Attempt to insert transaction item into completed transaction"
- msgstr "试图向已完成的事务中插入事务项"
- 
--#: libdnf/transaction/TransactionItem.cpp:218
-+#: libdnf/transaction/TransactionItem.cpp:217
- msgid "Attempt to update transaction item in completed transaction"
- msgstr "试图在已完成的事务中更新事务"
- 
-@@ -1108,7 +1163,7 @@ msgstr "数据库损坏:表 'config' 中没有 'version' 行"
- 
- #: libdnf/transaction/Transformer.cpp:681
- msgid "Transformer: can't open history persist dir"
--msgstr "Transformer: 无法打开 history persist dir"
-+msgstr "转换程序: 无法打开历史持久目录"
- 
- #: libdnf/transaction/Transformer.cpp:694
- msgid "Couldn't find a history database"
-@@ -1127,8 +1182,23 @@ msgstr "TransactionItem 状态没有设置:%s"
- msgid "Can't add console output to unsaved transaction"
- msgstr "无法向未保存的事务中添加控制台输出"
- 
-+#~ msgid "failed to add solv"
-+#~ msgstr "添加 solv 失败"
-+
-+#~ msgid "write_main() failed writing data: %i"
-+#~ msgstr "write_main() 写数据失败: %i"
-+
-+#~ msgid "write_main() failed to re-load written solv file"
-+#~ msgstr "write_main() 重新加载写的 solv 文件失败"
-+
-+#~ msgid "write_ext(%1$d) has failed: %2$d"
-+#~ msgstr "write_ext(%1$d) 已失败: %2$d"
-+
-+#~ msgid "repo_add_repomdxml/rpmmd() has failed."
-+#~ msgstr "repo_add_repomdxml/rpmmd() 已失败。"
-+
-+#~ msgid "Failed to parse module artifact NEVRA '%s'"
-+#~ msgstr "无法解析模块工件 NEVRA '%s'"
-+
- #~ msgid "Bad id for repo: %s, byte = %s %d"
- #~ msgstr "repo 的 id 无效: %s, byte = %s %d"
--
--#~ msgid "failed calculating RPMDB checksum"
--#~ msgstr "无法计算 RPMDB checksum"
--- 
-2.37.3
-
diff --git a/SPECS/libdnf.spec b/SPECS/libdnf.spec
index 31b0f6c..70d1b89 100644
--- a/SPECS/libdnf.spec
+++ b/SPECS/libdnf.spec
@@ -4,7 +4,7 @@
 %global dnf_conflict 4.10.0-4
 %global swig_version 3.0.12
 %global libdnf_major_version 0
-%global libdnf_minor_version 67
+%global libdnf_minor_version 69
 %global libdnf_micro_version 0
 
 %define __cmake_in_source_build 1
@@ -61,9 +61,9 @@ 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-advisory-upgrade-filter-out-advPkgs-with-different-a.patch
-Patch2:         0002-Add-obsoletes-to-filtering-for-advisory-candidates.patch
-Patch3:         0003-Update-translations-RHEL-9.1.patch
+Patch1:         0001-Allow-change-of-arch-during-security-updates-with-no.patch
+Patch2:         0002-Update-translations-RHEL-9.2.patch
+
 
 BuildRequires:  cmake
 BuildRequires:  gcc
@@ -307,6 +307,21 @@ popd
 %endif
 
 %changelog
+* Wed Mar 08 2023 Marek Blaha <mblaha@redhat.com> - 0.69.0-3
+- Update translations
+
+* Mon Oct 31 2022 Nicola Sella <nsella@redhat.com> - 0.69.0-2
+- Allow change of arch during security updates with noarch
+
+* Thu Sep 22 2022 Lukas Hrazky <lhrazky@redhat.com> - 0.69.0-1
+- Update to 0.69.0
+- Expose librepo max_downloads_per_mirror configuration
+- Fix listing a repository without cpeid (RhBug:2066334)
+- Gracefully handle failure to open repo primary file
+- context: Fix doc dnf_context_install/remove/update/distrosync
+- context: dnf_context_remove accepts `<package-spec>` as dnf, unify code
+- dnf-context: Disconnect signal handler before dropping file monitor ref
+
 * Thu Sep 15 2022 Marek Blaha <mblaha@redhat.com> - 0.67.0-3
 - Update translations