From dfef069ef58e4a31e3632fac9b1098265557320a Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Thu, 11 Mar 2021 08:12:33 +0000 Subject: [PATCH] import dnf-4.4.2-11.el8 --- SOURCES/0019-Update-translations.patch | 12740 +++++++++++++++++++++++ SPECS/dnf.spec | 6 +- 2 files changed, 12745 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0019-Update-translations.patch diff --git a/SOURCES/0019-Update-translations.patch b/SOURCES/0019-Update-translations.patch new file mode 100644 index 0000000..f6d9c68 --- /dev/null +++ b/SOURCES/0019-Update-translations.patch @@ -0,0 +1,12740 @@ +From c01dc4f6a6cdc7297b9ffacc6fe96142f02e4d54 Mon Sep 17 00:00:00 2001 +From: Marek Blaha +Date: Mon, 8 Mar 2021 16:22:58 +0100 +Subject: [PATCH] Update translations + +--- + po/CMakeLists.txt | 1 + + po/dnf.pot | 943 +++++++++++++++++++------------------- + po/fr.po | 1042 ++++++++++++++++++++++-------------------- + po/ja.po | 1112 +++++++++++++++++++++++---------------------- + po/ko.po | 965 ++++++++++++++++++++------------------- + po/zh_CN.po | 1086 +++++++++++++++++++++---------------------- + 6 files changed, 2649 insertions(+), 2500 deletions(-) + +diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt +index 1e17f342..40d020dd 100644 +--- a/po/CMakeLists.txt ++++ b/po/CMakeLists.txt +@@ -15,6 +15,7 @@ if (GIT_FOUND) + OUTPUT_VARIABLE CURRENT_BRANCH + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) ++ set(CURRENT_BRANCH "rhel-8") + + # output _weblate-clone is never created so the clonning of weblate repo is always processed + # and fresh *.po files are used +diff --git a/po/dnf.pot b/po/dnf.pot +index f7101537..18d8c5ba 100644 +--- a/po/dnf.pot ++++ b/po/dnf.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" ++"POT-Creation-Date: 2021-02-22 09:22+0100\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -73,7 +73,7 @@ msgstr "" + msgid "Unknown configuration option: %s = %s in %s" + msgstr "" + +-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299 ++#: dnf/automatic/main.py:237 dnf/cli/cli.py:304 + msgid "GPG check FAILED" + msgstr "" + +@@ -86,9 +86,10 @@ msgid "Started dnf-automatic." + msgstr "" + + #: dnf/automatic/main.py:308 +-#, python-format +-msgid "Sleep for %s seconds" +-msgstr "" ++msgid "Sleep for {} second" ++msgid_plural "Sleep for {} seconds" ++msgstr[0] "" ++msgstr[1] "" + + #: dnf/automatic/main.py:315 + msgid "System is off-line." +@@ -100,7 +101,7 @@ msgstr "" + msgid "Error: %s" + msgstr "" + +-#: dnf/base.py:146 ++#: dnf/base.py:146 dnf/base.py:472 dnf/base.py:474 + msgid "loading repo '{}' failure: {}" + msgstr "" + +@@ -108,237 +109,237 @@ msgstr "" + msgid "Loading repository '{}' has failed" + msgstr "" + +-#: dnf/base.py:320 ++#: dnf/base.py:322 + msgid "Metadata timer caching disabled when running on metered connection." + msgstr "" + +-#: dnf/base.py:325 ++#: dnf/base.py:327 + msgid "Metadata timer caching disabled when running on a battery." + msgstr "" + +-#: dnf/base.py:330 ++#: dnf/base.py:332 + msgid "Metadata timer caching disabled." + msgstr "" + +-#: dnf/base.py:335 ++#: dnf/base.py:337 + msgid "Metadata cache refreshed recently." + msgstr "" + +-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:343 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "" + +-#: dnf/base.py:348 ++#: dnf/base.py:350 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "" + +-#: dnf/base.py:350 ++#: dnf/base.py:352 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "" + + #. expires within the checking period: +-#: dnf/base.py:354 ++#: dnf/base.py:356 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "" + +-#: dnf/base.py:358 ++#: dnf/base.py:360 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "" + + #. performs the md sync +-#: dnf/base.py:364 ++#: dnf/base.py:366 + msgid "Metadata cache created." + msgstr "" + +-#: dnf/base.py:397 ++#: dnf/base.py:399 dnf/base.py:466 + #, python-format + msgid "%s: using metadata from %s." + msgstr "" + +-#: dnf/base.py:409 ++#: dnf/base.py:411 dnf/base.py:479 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "" + +-#: dnf/base.py:412 ++#: dnf/base.py:414 + #, python-format + msgid "Last metadata expiration check: %s ago on %s." + msgstr "" + +-#: dnf/base.py:443 ++#: dnf/base.py:507 + msgid "" + "The downloaded packages were saved in cache until the next successful " + "transaction." + msgstr "" + +-#: dnf/base.py:445 ++#: dnf/base.py:509 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "" + +-#: dnf/base.py:535 ++#: dnf/base.py:599 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "" + +-#: dnf/base.py:591 ++#: dnf/base.py:655 + #, python-format + msgid "Failed to add groups file for repository: %s - %s" + msgstr "" + +-#: dnf/base.py:823 ++#: dnf/base.py:887 + msgid "Running transaction check" + msgstr "" + +-#: dnf/base.py:831 ++#: dnf/base.py:895 + msgid "Error: transaction check vs depsolve:" + msgstr "" + +-#: dnf/base.py:837 ++#: dnf/base.py:901 + msgid "Transaction check succeeded." + msgstr "" + +-#: dnf/base.py:840 ++#: dnf/base.py:904 + msgid "Running transaction test" + msgstr "" + +-#: dnf/base.py:850 dnf/base.py:992 ++#: dnf/base.py:914 dnf/base.py:1065 + msgid "RPM: {}" + msgstr "" + +-#: dnf/base.py:851 ++#: dnf/base.py:915 + msgid "Transaction test error:" + msgstr "" + +-#: dnf/base.py:862 ++#: dnf/base.py:926 + msgid "Transaction test succeeded." + msgstr "" + +-#: dnf/base.py:883 ++#: dnf/base.py:947 + msgid "Running transaction" + msgstr "" + +-#: dnf/base.py:911 ++#: dnf/base.py:984 + msgid "Disk Requirements:" + msgstr "" + +-#: dnf/base.py:914 ++#: dnf/base.py:987 + #, python-brace-format + msgid "At least {0}MB more space needed on the {1} filesystem." + msgid_plural "At least {0}MB more space needed on the {1} filesystem." + msgstr[0] "" + msgstr[1] "" + +-#: dnf/base.py:921 ++#: dnf/base.py:994 + msgid "Error Summary" + msgstr "" + +-#: dnf/base.py:947 ++#: dnf/base.py:1020 + #, python-brace-format + msgid "RPMDB altered outside of {prog}." + msgstr "" + +-#: dnf/base.py:993 dnf/base.py:1001 ++#: dnf/base.py:1066 dnf/base.py:1074 + msgid "Could not run transaction." + msgstr "" + +-#: dnf/base.py:996 ++#: dnf/base.py:1069 + msgid "Transaction couldn't start:" + msgstr "" + +-#: dnf/base.py:1010 ++#: dnf/base.py:1083 + #, python-format + msgid "Failed to remove transaction file %s" + msgstr "" + +-#: dnf/base.py:1092 ++#: dnf/base.py:1165 + msgid "Some packages were not downloaded. Retrying." + msgstr "" + +-#: dnf/base.py:1122 ++#: dnf/base.py:1195 + #, python-format + msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)" + msgstr "" + +-#: dnf/base.py:1125 ++#: dnf/base.py:1198 + #, python-format + msgid "" + "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)" + msgstr "" + +-#: dnf/base.py:1167 ++#: dnf/base.py:1240 + msgid "Cannot add local packages, because transaction job already exists" + msgstr "" + +-#: dnf/base.py:1181 ++#: dnf/base.py:1254 + msgid "Could not open: {}" + msgstr "" + +-#: dnf/base.py:1219 ++#: dnf/base.py:1292 + #, python-format + msgid "Public key for %s is not installed" + msgstr "" + +-#: dnf/base.py:1223 ++#: dnf/base.py:1296 + #, python-format + msgid "Problem opening package %s" + msgstr "" + +-#: dnf/base.py:1231 ++#: dnf/base.py:1304 + #, python-format + msgid "Public key for %s is not trusted" + msgstr "" + +-#: dnf/base.py:1235 ++#: dnf/base.py:1308 + #, python-format + msgid "Package %s is not signed" + msgstr "" + +-#: dnf/base.py:1265 ++#: dnf/base.py:1338 + #, python-format + msgid "Cannot remove %s" + msgstr "" + +-#: dnf/base.py:1269 ++#: dnf/base.py:1342 + #, python-format + msgid "%s removed" + msgstr "" + +-#: dnf/base.py:1549 ++#: dnf/base.py:1622 + msgid "No match for group package \"{}\"" + msgstr "" + +-#: dnf/base.py:1635 ++#: dnf/base.py:1708 + #, python-format + msgid "Adding packages from group '%s': %s" + msgstr "" + +-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442 ++#: dnf/base.py:1731 dnf/cli/cli.py:220 dnf/cli/commands/__init__.py:442 + #: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592 + #: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80 + #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110 + msgid "Nothing to do." + msgstr "" + +-#: dnf/base.py:1676 ++#: dnf/base.py:1749 + msgid "No groups marked for removal." + msgstr "" + +-#: dnf/base.py:1710 ++#: dnf/base.py:1783 + msgid "No group marked for upgrade." + msgstr "" + +-#: dnf/base.py:1925 ++#: dnf/base.py:1997 + #, python-format + msgid "Package %s not installed, cannot downgrade it." + msgstr "" + +-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980 +-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411 ++#: dnf/base.py:1999 dnf/base.py:2018 dnf/base.py:2031 dnf/base.py:2052 ++#: dnf/base.py:2101 dnf/base.py:2109 dnf/base.py:2243 dnf/cli/cli.py:416 + #: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482 + #: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633 + #: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147 +@@ -348,141 +349,127 @@ msgstr "" + msgid "No match for argument: %s" + msgstr "" + +-#: dnf/base.py:1934 ++#: dnf/base.py:2006 + #, python-format + msgid "Package %s of lower version already installed, cannot downgrade it." + msgstr "" + +-#: dnf/base.py:1957 ++#: dnf/base.py:2029 + #, python-format + msgid "Package %s not installed, cannot reinstall it." + msgstr "" + +-#: dnf/base.py:1972 ++#: dnf/base.py:2044 + #, python-format + msgid "File %s is a source package and cannot be updated, ignoring." + msgstr "" + +-#: dnf/base.py:1978 ++#: dnf/base.py:2050 + #, python-format + msgid "Package %s not installed, cannot update it." + msgstr "" + +-#: dnf/base.py:1987 ++#: dnf/base.py:2059 + #, python-format + msgid "" + "The same or higher version of %s is already installed, cannot update it." + msgstr "" + +-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2098 dnf/cli/commands/reinstall.py:81 + #, python-format + msgid "Package %s available, but not installed." + msgstr "" + +-#: dnf/base.py:2032 ++#: dnf/base.py:2104 + #, python-format + msgid "Package %s available, but installed for different architecture." + msgstr "" + +-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699 ++#: dnf/base.py:2129 + #, python-format + msgid "No package %s installed." + msgstr "" + +-#: dnf/base.py:2075 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2147 dnf/cli/commands/install.py:136 + #: dnf/cli/commands/remove.py:133 + #, python-format + msgid "Not a valid form: %s" + msgstr "" + +-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681 +-#: dnf/cli/commands/remove.py:163 ++#: dnf/base.py:2162 dnf/cli/commands/__init__.py:681 ++#: dnf/cli/commands/remove.py:162 + msgid "No packages marked for removal." + msgstr "" + +-#: dnf/base.py:2179 dnf/cli/cli.py:422 ++#: dnf/base.py:2250 dnf/cli/cli.py:427 + #, python-format + msgid "Packages for argument %s available, but not installed." + msgstr "" + +-#: dnf/base.py:2184 ++#: dnf/base.py:2255 + #, python-format + msgid "Package %s of lowest version already installed, cannot downgrade it." + msgstr "" + +-#: dnf/base.py:2242 +-msgid "Action not handled: {}" +-msgstr "" +- +-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703 +-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169 +-#, python-format +-msgid "No package %s available." +-msgstr "" +- +-#: dnf/base.py:2269 +-msgid "no package matched" +-msgstr "" +- +-#: dnf/base.py:2290 ++#: dnf/base.py:2302 + msgid "No security updates needed, but {} update available" + msgstr "" + +-#: dnf/base.py:2292 ++#: dnf/base.py:2304 + msgid "No security updates needed, but {} updates available" + msgstr "" + +-#: dnf/base.py:2296 ++#: dnf/base.py:2308 + msgid "No security updates needed for \"{}\", but {} update available" + msgstr "" + +-#: dnf/base.py:2298 ++#: dnf/base.py:2310 + msgid "No security updates needed for \"{}\", but {} updates available" + msgstr "" + + #. raise an exception, because po.repoid is not in self.repos +-#: dnf/base.py:2319 ++#: dnf/base.py:2331 + #, python-format + msgid "Unable to retrieve a key for a commandline package: %s" + msgstr "" + +-#: dnf/base.py:2327 ++#: dnf/base.py:2339 + #, python-format + msgid ". Failing package is: %s" + msgstr "" + +-#: dnf/base.py:2328 ++#: dnf/base.py:2340 + #, python-format + msgid "GPG Keys are configured as: %s" + msgstr "" + +-#: dnf/base.py:2340 ++#: dnf/base.py:2352 + #, python-format + msgid "GPG key at %s (0x%s) is already installed" + msgstr "" + +-#: dnf/base.py:2373 ++#: dnf/base.py:2385 + msgid "The key has been approved." + msgstr "" + +-#: dnf/base.py:2376 ++#: dnf/base.py:2388 + msgid "The key has been rejected." + msgstr "" + +-#: dnf/base.py:2409 ++#: dnf/base.py:2421 + #, python-format + msgid "Key import failed (code %d)" + msgstr "" + +-#: dnf/base.py:2411 ++#: dnf/base.py:2423 + msgid "Key imported successfully" + msgstr "" + +-#: dnf/base.py:2415 ++#: dnf/base.py:2427 + msgid "Didn't install any keys" + msgstr "" + +-#: dnf/base.py:2418 ++#: dnf/base.py:2430 + #, python-format + msgid "" + "The GPG keys listed for the \"%s\" repository are already installed but they " +@@ -490,49 +477,49 @@ msgid "" + "Check that the correct key URLs are configured for this repository." + msgstr "" + +-#: dnf/base.py:2429 ++#: dnf/base.py:2441 + msgid "Import of key(s) didn't help, wrong key(s)?" + msgstr "" + +-#: dnf/base.py:2482 ++#: dnf/base.py:2494 + msgid " * Maybe you meant: {}" + msgstr "" + +-#: dnf/base.py:2514 ++#: dnf/base.py:2526 + msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" + msgstr "" + +-#: dnf/base.py:2517 ++#: dnf/base.py:2529 + msgid "Some packages from local repository have incorrect checksum" + msgstr "" + +-#: dnf/base.py:2520 ++#: dnf/base.py:2532 + msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" + msgstr "" + +-#: dnf/base.py:2523 ++#: dnf/base.py:2535 + msgid "" + "Some packages have invalid cache, but cannot be downloaded due to \"--" + "cacheonly\" option" + msgstr "" + +-#: dnf/base.py:2541 dnf/base.py:2561 ++#: dnf/base.py:2553 dnf/base.py:2573 + msgid "No match for argument" + msgstr "" + +-#: dnf/base.py:2549 dnf/base.py:2569 ++#: dnf/base.py:2561 dnf/base.py:2581 + msgid "All matches were filtered out by exclude filtering for argument" + msgstr "" + +-#: dnf/base.py:2551 ++#: dnf/base.py:2563 + msgid "All matches were filtered out by modular filtering for argument" + msgstr "" + +-#: dnf/base.py:2567 ++#: dnf/base.py:2579 + msgid "All matches were installed from a different repository for argument" + msgstr "" + +-#: dnf/base.py:2583 ++#: dnf/base.py:2626 + #, python-format + msgid "Package %s is already installed." + msgstr "" +@@ -552,8 +539,8 @@ msgstr "" + msgid "Cannot read file \"%s\": %s" + msgstr "" + +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902 +-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:803 ++#: dnf/cli/cli.py:807 dnf/cli/commands/alias.py:108 + #, python-format + msgid "Config error: %s" + msgstr "" +@@ -584,7 +571,7 @@ msgid "" + "stream '{2}'" + msgstr "" + +-#: dnf/cli/cli.py:172 ++#: dnf/cli/cli.py:173 + #, python-brace-format + msgid "" + "It is not possible to switch enabled streams of a module.\n" +@@ -593,199 +580,178 @@ msgid "" + "reset the module, you can install the other stream." + msgstr "" + +-#: dnf/cli/cli.py:210 ++#: dnf/cli/cli.py:211 + #, python-brace-format + msgid "{prog} will only download packages for the transaction." + msgstr "" + +-#: dnf/cli/cli.py:213 ++#: dnf/cli/cli.py:214 + #, python-brace-format + msgid "" + "{prog} will only download packages, install gpg keys, and check the " + "transaction." + msgstr "" + +-#: dnf/cli/cli.py:217 ++#: dnf/cli/cli.py:218 + msgid "Operation aborted." + msgstr "" + +-#: dnf/cli/cli.py:224 ++#: dnf/cli/cli.py:225 + msgid "Downloading Packages:" + msgstr "" + +-#: dnf/cli/cli.py:230 ++#: dnf/cli/cli.py:231 + msgid "Error downloading packages:" + msgstr "" + +-#: dnf/cli/cli.py:258 ++#: dnf/cli/cli.py:263 + msgid "Transaction failed" + msgstr "" + +-#: dnf/cli/cli.py:281 ++#: dnf/cli/cli.py:286 + msgid "" + "Refusing to automatically import keys when running unattended.\n" + "Use \"-y\" to override." + msgstr "" + +-#: dnf/cli/cli.py:331 ++#: dnf/cli/cli.py:336 + msgid "Changelogs for {}" + msgstr "" + +-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511 ++#: dnf/cli/cli.py:369 dnf/cli/cli.py:510 dnf/cli/cli.py:516 + msgid "Obsoleting Packages" + msgstr "" + +-#: dnf/cli/cli.py:393 ++#: dnf/cli/cli.py:398 + msgid "No packages marked for distribution synchronization." + msgstr "" + +-#: dnf/cli/cli.py:428 ++#: dnf/cli/cli.py:424 dnf/cli/commands/group.py:395 ++#, python-format ++msgid "No package %s available." ++msgstr "" ++ ++#: dnf/cli/cli.py:433 + msgid "No packages marked for downgrade." + msgstr "" + +-#: dnf/cli/cli.py:479 ++#: dnf/cli/cli.py:484 + msgid "Installed Packages" + msgstr "" + +-#: dnf/cli/cli.py:487 ++#: dnf/cli/cli.py:492 + msgid "Available Packages" + msgstr "" + +-#: dnf/cli/cli.py:491 ++#: dnf/cli/cli.py:496 + msgid "Autoremove Packages" + msgstr "" + +-#: dnf/cli/cli.py:493 ++#: dnf/cli/cli.py:498 + msgid "Extra Packages" + msgstr "" + +-#: dnf/cli/cli.py:497 ++#: dnf/cli/cli.py:502 + msgid "Available Upgrades" + msgstr "" + +-#: dnf/cli/cli.py:513 ++#: dnf/cli/cli.py:518 + msgid "Recently Added Packages" + msgstr "" + +-#: dnf/cli/cli.py:518 ++#: dnf/cli/cli.py:522 + msgid "No matching Packages to list" + msgstr "" + +-#: dnf/cli/cli.py:599 ++#: dnf/cli/cli.py:603 + msgid "No Matches found" + msgstr "" + +-#: dnf/cli/cli.py:609 +-msgid "No transaction ID given" +-msgstr "" +- +-#: dnf/cli/cli.py:614 +-msgid "Not found given transaction ID" +-msgstr "" +- +-#: dnf/cli/cli.py:623 +-msgid "Found more than one transaction ID!" +-msgstr "" +- +-#: dnf/cli/cli.py:640 +-#, python-format +-msgid "Transaction history is incomplete, before %u." +-msgstr "" +- +-#: dnf/cli/cli.py:642 +-#, python-format +-msgid "Transaction history is incomplete, after %u." +-msgstr "" +- +-#: dnf/cli/cli.py:689 +-msgid "Undoing transaction {}, from {}" +-msgstr "" +- +-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:670 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "" + +-#: dnf/cli/cli.py:783 ++#: dnf/cli/cli.py:684 + #, python-format + msgid "No repository match: %s" + msgstr "" + +-#: dnf/cli/cli.py:817 ++#: dnf/cli/cli.py:718 + msgid "" + "This command has to be run with superuser privileges (under the root user on " + "most systems)." + msgstr "" + +-#: dnf/cli/cli.py:847 ++#: dnf/cli/cli.py:748 + #, python-format + msgid "No such command: %s. Please use %s --help" + msgstr "" + +-#: dnf/cli/cli.py:850 ++#: dnf/cli/cli.py:751 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" + "command(%s)'\"" + msgstr "" + +-#: dnf/cli/cli.py:854 ++#: dnf/cli/cli.py:755 + #, python-brace-format + msgid "" + "It could be a {prog} plugin command, but loading of plugins is currently " + "disabled." + msgstr "" + +-#: dnf/cli/cli.py:912 ++#: dnf/cli/cli.py:813 + msgid "" + "--destdir or --downloaddir must be used with --downloadonly or download or " + "system-upgrade command." + msgstr "" + +-#: dnf/cli/cli.py:918 ++#: dnf/cli/cli.py:819 + msgid "" + "--enable, --set-enabled and --disable, --set-disabled must be used with " + "config-manager command." + msgstr "" + +-#: dnf/cli/cli.py:1000 ++#: dnf/cli/cli.py:901 + msgid "" + "Warning: Enforcing GPG signature check globally as per active RPM security " + "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" + msgstr "" + +-#: dnf/cli/cli.py:1020 ++#: dnf/cli/cli.py:921 + msgid "Config file \"{}\" does not exist" + msgstr "" + +-#: dnf/cli/cli.py:1040 ++#: dnf/cli/cli.py:941 + msgid "" + "Unable to detect release version (use '--releasever' to specify release " + "version)" + msgstr "" + +-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1028 dnf/cli/commands/repoquery.py:471 + msgid "argument {}: not allowed with argument {}" + msgstr "" + +-#: dnf/cli/cli.py:1134 ++#: dnf/cli/cli.py:1035 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "" + +-#: dnf/cli/cli.py:1154 ++#: dnf/cli/cli.py:1055 + msgid "Excludes in dnf.conf: " + msgstr "" + +-#: dnf/cli/cli.py:1157 ++#: dnf/cli/cli.py:1058 + msgid "Includes in dnf.conf: " + msgstr "" + +-#: dnf/cli/cli.py:1160 ++#: dnf/cli/cli.py:1061 + msgid "Excludes in repo " + msgstr "" + +-#: dnf/cli/cli.py:1163 ++#: dnf/cli/cli.py:1064 + msgid "Includes in repo " + msgstr "" + +@@ -831,7 +797,7 @@ msgid "show all packages (default)" + msgstr "" + + #: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743 +-#: dnf/cli/commands/module.py:351 ++#: dnf/cli/commands/module.py:373 + msgid "show only available packages" + msgstr "" + +@@ -1157,78 +1123,78 @@ msgstr "" + msgid "No group data available for configured repositories." + msgstr "" + +-#: dnf/cli/commands/group.py:129 ++#: dnf/cli/commands/group.py:126 + #, python-format + msgid "Warning: Group %s does not exist." + msgstr "" + +-#: dnf/cli/commands/group.py:170 ++#: dnf/cli/commands/group.py:167 + msgid "Warning: No groups match:" + msgstr "" + +-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193 +-#: dnf/cli/output.py:1226 ++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190 ++#: dnf/cli/output.py:1139 + msgid "" + msgstr "" + +-#: dnf/cli/commands/group.py:199 ++#: dnf/cli/commands/group.py:196 + msgid "Available Environment Groups:" + msgstr "" + +-#: dnf/cli/commands/group.py:201 ++#: dnf/cli/commands/group.py:198 + msgid "Installed Environment Groups:" + msgstr "" + +-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294 ++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291 + msgid "Installed Groups:" + msgstr "" + +-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301 ++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298 + msgid "Installed Language Groups:" + msgstr "" + +-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308 ++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305 + msgid "Available Groups:" + msgstr "" + +-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315 ++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312 + msgid "Available Language Groups:" + msgstr "" + +-#: dnf/cli/commands/group.py:322 ++#: dnf/cli/commands/group.py:319 + msgid "include optional packages from group" + msgstr "" + +-#: dnf/cli/commands/group.py:325 ++#: dnf/cli/commands/group.py:322 + msgid "show also hidden groups" + msgstr "" + +-#: dnf/cli/commands/group.py:327 ++#: dnf/cli/commands/group.py:324 + msgid "show only installed groups" + msgstr "" + +-#: dnf/cli/commands/group.py:329 ++#: dnf/cli/commands/group.py:326 + msgid "show only available groups" + msgstr "" + +-#: dnf/cli/commands/group.py:331 ++#: dnf/cli/commands/group.py:328 + msgid "show also ID of groups" + msgstr "" + +-#: dnf/cli/commands/group.py:333 ++#: dnf/cli/commands/group.py:330 + msgid "available subcommands: {} (default), {}" + msgstr "" + +-#: dnf/cli/commands/group.py:337 ++#: dnf/cli/commands/group.py:334 + msgid "argument for group subcommand" + msgstr "" + +-#: dnf/cli/commands/group.py:346 ++#: dnf/cli/commands/group.py:343 + #, python-format + msgid "Invalid groups sub-command, use: %s." + msgstr "" + +-#: dnf/cli/commands/group.py:403 ++#: dnf/cli/commands/group.py:398 + msgid "Unable to find a mandatory group package." + msgstr "" + +@@ -1272,69 +1238,90 @@ msgstr "" + msgid "More than one argument given as transaction file name." + msgstr "" + +-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126 ++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130 + msgid "No transaction ID or package name given." + msgstr "" + +-#: dnf/cli/commands/history.py:138 ++#: dnf/cli/commands/history.py:142 + #, python-format + msgid "You don't have access to the history DB: %s" + msgstr "" + +-#: dnf/cli/commands/history.py:147 ++#: dnf/cli/commands/history.py:151 + #, python-format + msgid "" + "Cannot undo transaction %s, doing so would result in an inconsistent package " + "database." + msgstr "" + +-#: dnf/cli/commands/history.py:152 ++#: dnf/cli/commands/history.py:156 + #, python-format + msgid "" + "Cannot rollback transaction %s, doing so would result in an inconsistent " + "package database." + msgstr "" + +-#: dnf/cli/commands/history.py:222 ++#: dnf/cli/commands/history.py:175 ++msgid "No transaction ID given" ++msgstr "" ++ ++#: dnf/cli/commands/history.py:179 ++#, python-brace-format ++msgid "Transaction ID \"{0}\" not found." ++msgstr "" ++ ++#: dnf/cli/commands/history.py:185 ++msgid "Found more than one transaction ID!" ++msgstr "" ++ ++#: dnf/cli/commands/history.py:203 ++#, python-format ++msgid "Transaction history is incomplete, before %u." ++msgstr "" ++ ++#: dnf/cli/commands/history.py:205 ++#, python-format ++msgid "Transaction history is incomplete, after %u." ++msgstr "" ++ ++#: dnf/cli/commands/history.py:256 ++msgid "No packages to list" ++msgstr "" ++ ++#: dnf/cli/commands/history.py:279 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." + msgstr "" + +-#: dnf/cli/commands/history.py:226 ++#: dnf/cli/commands/history.py:283 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." + msgstr "" + +-#: dnf/cli/commands/history.py:255 ++#: dnf/cli/commands/history.py:312 + msgid "No transaction which manipulates package '{}' was found." + msgstr "" + +-#: dnf/cli/commands/history.py:305 +-#, python-brace-format +-msgid "Transaction ID \"{id}\" not found." +-msgstr "" +- +-#: dnf/cli/commands/history.py:313 ++#: dnf/cli/commands/history.py:357 + msgid "{} exists, overwrite?" + msgstr "" + +-#: dnf/cli/commands/history.py:316 ++#: dnf/cli/commands/history.py:360 + msgid "Not overwriting {}, exiting." + msgstr "" + +-#: dnf/cli/commands/history.py:323 ++#: dnf/cli/commands/history.py:367 + msgid "Transaction saved to {}." + msgstr "" + +-#: dnf/cli/commands/history.py:326 ++#: dnf/cli/commands/history.py:370 + msgid "Error storing transaction: {}" + msgstr "" + +-#: dnf/cli/commands/history.py:350 +-msgid "" +-"Warning, the following problems occurred while replaying the transaction:" ++#: dnf/cli/commands/history.py:386 ++msgid "Warning, the following problems occurred while running a transaction:" + msgstr "" + + #: dnf/cli/commands/install.py:47 +@@ -1354,7 +1341,7 @@ msgstr "" + msgid "Not a valid rpm file path: %s" + msgstr "" + +-#: dnf/cli/commands/install.py:167 ++#: dnf/cli/commands/install.py:166 + #, python-brace-format + msgid "There are following alternatives for \"{0}\": {1}" + msgstr "" +@@ -1394,7 +1381,7 @@ msgid "%s marked as group installed." + msgstr "" + + #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129 +-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279 ++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282 + msgid "Error:" + msgstr "" + +@@ -1450,42 +1437,46 @@ msgid "Package {} belongs to multiple modules, skipping" + msgstr "" + + #: dnf/cli/commands/module.py:277 ++msgid "switch a module to a stream and distrosync rpm packages" ++msgstr "" ++ ++#: dnf/cli/commands/module.py:299 + msgid "list modular packages" + msgstr "" + +-#: dnf/cli/commands/module.py:292 ++#: dnf/cli/commands/module.py:314 + msgid "list packages belonging to a module" + msgstr "" + +-#: dnf/cli/commands/module.py:327 ++#: dnf/cli/commands/module.py:349 + msgid "Interact with Modules." + msgstr "" + +-#: dnf/cli/commands/module.py:340 ++#: dnf/cli/commands/module.py:362 + msgid "show only enabled modules" + msgstr "" + +-#: dnf/cli/commands/module.py:343 ++#: dnf/cli/commands/module.py:365 + msgid "show only disabled modules" + msgstr "" + +-#: dnf/cli/commands/module.py:346 ++#: dnf/cli/commands/module.py:368 + msgid "show only installed modules or packages" + msgstr "" + +-#: dnf/cli/commands/module.py:349 ++#: dnf/cli/commands/module.py:371 + msgid "show profile content" + msgstr "" + +-#: dnf/cli/commands/module.py:354 ++#: dnf/cli/commands/module.py:376 + msgid "remove all modular packages" + msgstr "" + +-#: dnf/cli/commands/module.py:364 ++#: dnf/cli/commands/module.py:386 + msgid "Module specification" + msgstr "" + +-#: dnf/cli/commands/module.py:386 ++#: dnf/cli/commands/module.py:408 + msgid "{} {} {}: too few arguments" + msgstr "" + +@@ -1960,22 +1951,22 @@ msgstr "" + msgid "Keyword to search for" + msgstr "" + +-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506 ++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460 + msgctxt "long" + msgid "Name" + msgstr "" + +-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559 ++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513 + msgctxt "long" + msgid "Summary" + msgstr "" + +-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569 ++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523 + msgctxt "long" + msgid "Description" + msgstr "" + +-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562 ++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516 + msgid "URL" + msgstr "" + +@@ -2087,16 +2078,16 @@ msgid "" + "exit (or quit) exit the shell" + msgstr "" + +-#: dnf/cli/commands/shell.py:259 ++#: dnf/cli/commands/shell.py:262 + #, python-format + msgid "Error: Cannot open %s for reading" + msgstr "" + +-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187 ++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187 + msgid "Complete!" + msgstr "" + +-#: dnf/cli/commands/shell.py:291 ++#: dnf/cli/commands/shell.py:294 + msgid "Leaving Shell" + msgstr "" + +@@ -2287,8 +2278,8 @@ msgstr "" + msgid "Files" + msgstr "" + +-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499 +-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774 ++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1652 ++#: dnf/cli/output.py:1654 dnf/util.py:591 + msgid "Installed" + msgstr "" + +@@ -2609,13 +2600,13 @@ msgstr "" + #. Translators: This is abbreviated 'Name'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:505 ++#: dnf/cli/output.py:459 + msgctxt "short" + msgid "Name" + msgstr "" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:511 ++#: dnf/cli/output.py:465 + msgid "Epoch" + msgstr "" + +@@ -2623,38 +2614,38 @@ msgstr "" + #. use the full (unabbreviated) term 'Version' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:512 dnf/cli/output.py:1335 ++#: dnf/cli/output.py:466 dnf/cli/output.py:1248 + msgctxt "short" + msgid "Version" + msgstr "" + + #. Translators: This is the full (unabbreviated) term 'Version'. +-#: dnf/cli/output.py:513 dnf/cli/output.py:1337 ++#: dnf/cli/output.py:467 dnf/cli/output.py:1250 + msgctxt "long" + msgid "Version" + msgstr "" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:516 ++#: dnf/cli/output.py:470 + msgid "Release" + msgstr "" + + #. Translators: This is abbreviated 'Architecture', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:517 dnf/cli/output.py:1326 ++#: dnf/cli/output.py:471 dnf/cli/output.py:1239 + msgctxt "short" + msgid "Arch" + msgstr "" + + #. Translators: This is the full word 'Architecture', used when + #. we have enough space. +-#: dnf/cli/output.py:518 dnf/cli/output.py:1329 ++#: dnf/cli/output.py:472 dnf/cli/output.py:1242 + msgctxt "long" + msgid "Architecture" + msgstr "" + + #. Translators: This is the full (unabbreviated) term 'Size'. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1352 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1265 + msgctxt "long" + msgid "Size" + msgstr "" +@@ -2663,32 +2654,32 @@ msgstr "" + #. not be longer than 5 characters. If the term 'Size' in your + #. language is not longer than 5 characters then you can use it + #. unabbreviated. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1350 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1263 + msgctxt "short" + msgid "Size" + msgstr "" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:524 ++#: dnf/cli/output.py:478 + msgid "Source" + msgstr "" + + #. Translators: This is abbreviated 'Repository', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:525 dnf/cli/output.py:1341 ++#: dnf/cli/output.py:479 dnf/cli/output.py:1254 + msgctxt "short" + msgid "Repo" + msgstr "" + + #. Translators: This is the full word 'Repository', used when + #. we have enough space. +-#: dnf/cli/output.py:526 dnf/cli/output.py:1344 ++#: dnf/cli/output.py:480 dnf/cli/output.py:1257 + msgctxt "long" + msgid "Repository" + msgstr "" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:533 ++#: dnf/cli/output.py:487 + msgid "From repo" + msgstr "" + +@@ -2696,324 +2687,320 @@ msgstr "" + #. print(_("Committer : %s") % ucd(pkg.committer)) + #. print(_("Committime : %s") % time.ctime(pkg.committime)) + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:539 ++#: dnf/cli/output.py:493 + msgid "Packager" + msgstr "" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:541 ++#: dnf/cli/output.py:495 + msgid "Buildtime" + msgstr "" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:545 ++#: dnf/cli/output.py:499 + msgid "Install time" + msgstr "" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:554 ++#: dnf/cli/output.py:508 + msgid "Installed by" + msgstr "" + + #. Translators: This is abbreviated 'Summary'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:558 ++#: dnf/cli/output.py:512 + msgctxt "short" + msgid "Summary" + msgstr "" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:564 ++#: dnf/cli/output.py:518 + msgid "License" + msgstr "" + + #. Translators: This is abbreviated 'Description'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:568 ++#: dnf/cli/output.py:522 + msgctxt "short" + msgid "Description" + msgstr "" + +-#: dnf/cli/output.py:695 +-msgid "No packages to list" +-msgstr "" +- +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "y" + msgstr "" + +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "yes" + msgstr "" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "n" + msgstr "" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "no" + msgstr "" + +-#: dnf/cli/output.py:711 ++#: dnf/cli/output.py:655 + msgid "Is this ok [y/N]: " + msgstr "" + +-#: dnf/cli/output.py:715 ++#: dnf/cli/output.py:659 + msgid "Is this ok [Y/n]: " + msgstr "" + +-#: dnf/cli/output.py:795 ++#: dnf/cli/output.py:739 + #, python-format + msgid "Group: %s" + msgstr "" + +-#: dnf/cli/output.py:799 ++#: dnf/cli/output.py:743 + #, python-format + msgid " Group-Id: %s" + msgstr "" + +-#: dnf/cli/output.py:801 dnf/cli/output.py:840 ++#: dnf/cli/output.py:745 dnf/cli/output.py:784 + #, python-format + msgid " Description: %s" + msgstr "" + +-#: dnf/cli/output.py:803 ++#: dnf/cli/output.py:747 + #, python-format + msgid " Language: %s" + msgstr "" + +-#: dnf/cli/output.py:806 ++#: dnf/cli/output.py:750 + msgid " Mandatory Packages:" + msgstr "" + +-#: dnf/cli/output.py:807 ++#: dnf/cli/output.py:751 + msgid " Default Packages:" + msgstr "" + +-#: dnf/cli/output.py:808 ++#: dnf/cli/output.py:752 + msgid " Optional Packages:" + msgstr "" + +-#: dnf/cli/output.py:809 ++#: dnf/cli/output.py:753 + msgid " Conditional Packages:" + msgstr "" + +-#: dnf/cli/output.py:834 ++#: dnf/cli/output.py:778 + #, python-format + msgid "Environment Group: %s" + msgstr "" + +-#: dnf/cli/output.py:837 ++#: dnf/cli/output.py:781 + #, python-format + msgid " Environment-Id: %s" + msgstr "" + +-#: dnf/cli/output.py:843 ++#: dnf/cli/output.py:787 + msgid " Mandatory Groups:" + msgstr "" + +-#: dnf/cli/output.py:844 ++#: dnf/cli/output.py:788 + msgid " Optional Groups:" + msgstr "" + +-#: dnf/cli/output.py:865 ++#: dnf/cli/output.py:809 + msgid "Matched from:" + msgstr "" + +-#: dnf/cli/output.py:879 ++#: dnf/cli/output.py:823 + #, python-format + msgid "Filename : %s" + msgstr "" + +-#: dnf/cli/output.py:904 ++#: dnf/cli/output.py:848 + #, python-format + msgid "Repo : %s" + msgstr "" + +-#: dnf/cli/output.py:913 ++#: dnf/cli/output.py:857 + msgid "Description : " + msgstr "" + +-#: dnf/cli/output.py:917 ++#: dnf/cli/output.py:861 + #, python-format + msgid "URL : %s" + msgstr "" + +-#: dnf/cli/output.py:921 ++#: dnf/cli/output.py:865 + #, python-format + msgid "License : %s" + msgstr "" + +-#: dnf/cli/output.py:927 ++#: dnf/cli/output.py:871 + #, python-format + msgid "Provide : %s" + msgstr "" + +-#: dnf/cli/output.py:947 ++#: dnf/cli/output.py:891 + #, python-format + msgid "Other : %s" + msgstr "" + +-#: dnf/cli/output.py:996 ++#: dnf/cli/output.py:940 + msgid "There was an error calculating total download size" + msgstr "" + +-#: dnf/cli/output.py:1002 ++#: dnf/cli/output.py:946 + #, python-format + msgid "Total size: %s" + msgstr "" + +-#: dnf/cli/output.py:1005 ++#: dnf/cli/output.py:949 + #, python-format + msgid "Total download size: %s" + msgstr "" + +-#: dnf/cli/output.py:1008 ++#: dnf/cli/output.py:952 + #, python-format + msgid "Installed size: %s" + msgstr "" + +-#: dnf/cli/output.py:1026 ++#: dnf/cli/output.py:970 + msgid "There was an error calculating installed size" + msgstr "" + +-#: dnf/cli/output.py:1030 ++#: dnf/cli/output.py:974 + #, python-format + msgid "Freed space: %s" + msgstr "" + +-#: dnf/cli/output.py:1039 ++#: dnf/cli/output.py:983 + msgid "Marking packages as installed by the group:" + msgstr "" + +-#: dnf/cli/output.py:1046 ++#: dnf/cli/output.py:990 + msgid "Marking packages as removed by the group:" + msgstr "" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Group" + msgstr "" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Packages" + msgstr "" + +-#: dnf/cli/output.py:1133 ++#: dnf/cli/output.py:1046 + msgid "Installing group/module packages" + msgstr "" + +-#: dnf/cli/output.py:1134 ++#: dnf/cli/output.py:1047 + msgid "Installing group packages" + msgstr "" + + #. TRANSLATORS: This is for a list of packages to be installed. +-#: dnf/cli/output.py:1138 ++#: dnf/cli/output.py:1051 + msgctxt "summary" + msgid "Installing" + msgstr "" + + #. TRANSLATORS: This is for a list of packages to be upgraded. +-#: dnf/cli/output.py:1140 ++#: dnf/cli/output.py:1053 + msgctxt "summary" + msgid "Upgrading" + msgstr "" + + #. TRANSLATORS: This is for a list of packages to be reinstalled. +-#: dnf/cli/output.py:1142 ++#: dnf/cli/output.py:1055 + msgctxt "summary" + msgid "Reinstalling" + msgstr "" + +-#: dnf/cli/output.py:1144 ++#: dnf/cli/output.py:1057 + msgid "Installing dependencies" + msgstr "" + +-#: dnf/cli/output.py:1145 ++#: dnf/cli/output.py:1058 + msgid "Installing weak dependencies" + msgstr "" + + #. TRANSLATORS: This is for a list of packages to be removed. +-#: dnf/cli/output.py:1147 ++#: dnf/cli/output.py:1060 + msgid "Removing" + msgstr "" + +-#: dnf/cli/output.py:1148 ++#: dnf/cli/output.py:1061 + msgid "Removing dependent packages" + msgstr "" + +-#: dnf/cli/output.py:1149 ++#: dnf/cli/output.py:1062 + msgid "Removing unused dependencies" + msgstr "" + + #. TRANSLATORS: This is for a list of packages to be downgraded. +-#: dnf/cli/output.py:1151 ++#: dnf/cli/output.py:1064 + msgctxt "summary" + msgid "Downgrading" + msgstr "" + +-#: dnf/cli/output.py:1176 ++#: dnf/cli/output.py:1089 + msgid "Installing module profiles" + msgstr "" + +-#: dnf/cli/output.py:1185 ++#: dnf/cli/output.py:1098 + msgid "Disabling module profiles" + msgstr "" + +-#: dnf/cli/output.py:1194 ++#: dnf/cli/output.py:1107 + msgid "Enabling module streams" + msgstr "" + +-#: dnf/cli/output.py:1202 ++#: dnf/cli/output.py:1115 + msgid "Switching module streams" + msgstr "" + +-#: dnf/cli/output.py:1210 ++#: dnf/cli/output.py:1123 + msgid "Disabling modules" + msgstr "" + +-#: dnf/cli/output.py:1218 ++#: dnf/cli/output.py:1131 + msgid "Resetting modules" + msgstr "" + +-#: dnf/cli/output.py:1230 ++#: dnf/cli/output.py:1143 + msgid "Installing Environment Groups" + msgstr "" + +-#: dnf/cli/output.py:1237 ++#: dnf/cli/output.py:1150 + msgid "Upgrading Environment Groups" + msgstr "" + +-#: dnf/cli/output.py:1244 ++#: dnf/cli/output.py:1157 + msgid "Removing Environment Groups" + msgstr "" + +-#: dnf/cli/output.py:1251 ++#: dnf/cli/output.py:1164 + msgid "Installing Groups" + msgstr "" + +-#: dnf/cli/output.py:1258 ++#: dnf/cli/output.py:1171 + msgid "Upgrading Groups" + msgstr "" + +-#: dnf/cli/output.py:1265 ++#: dnf/cli/output.py:1178 + msgid "Removing Groups" + msgstr "" + +-#: dnf/cli/output.py:1281 ++#: dnf/cli/output.py:1194 + #, python-format + msgid "" + "Skipping packages with conflicts:\n" + "(add '%s' to command line to force their upgrade)" + msgstr "" + +-#: dnf/cli/output.py:1291 ++#: dnf/cli/output.py:1204 + #, python-format + msgid "Skipping packages with broken dependencies%s" + msgstr "" + +-#: dnf/cli/output.py:1295 ++#: dnf/cli/output.py:1208 + msgid " or part of a group" + msgstr "" + +@@ -3021,22 +3008,22 @@ msgstr "" + #. use the full (unabbreviated) term 'Package' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:1320 ++#: dnf/cli/output.py:1233 + msgctxt "short" + msgid "Package" + msgstr "" + + #. Translators: This is the full (unabbreviated) term 'Package'. +-#: dnf/cli/output.py:1322 ++#: dnf/cli/output.py:1235 + msgctxt "long" + msgid "Package" + msgstr "" + +-#: dnf/cli/output.py:1371 ++#: dnf/cli/output.py:1284 + msgid "replacing" + msgstr "" + +-#: dnf/cli/output.py:1378 ++#: dnf/cli/output.py:1291 + #, python-format + msgid "" + "\n" +@@ -3045,289 +3032,273 @@ msgid "" + msgstr "" + + #. TODO: remove +-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933 ++#: dnf/cli/output.py:1296 dnf/cli/output.py:1812 dnf/cli/output.py:1813 + msgid "Install" + msgstr "" + +-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941 ++#: dnf/cli/output.py:1300 dnf/cli/output.py:1821 + msgid "Upgrade" + msgstr "" + +-#: dnf/cli/output.py:1388 ++#: dnf/cli/output.py:1301 + msgid "Remove" + msgstr "" + +-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939 ++#: dnf/cli/output.py:1303 dnf/cli/output.py:1819 + msgid "Downgrade" + msgstr "" + +-#: dnf/cli/output.py:1391 ++#: dnf/cli/output.py:1304 + msgid "Skip" + msgstr "" + +-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416 ++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329 + msgid "Package" + msgid_plural "Packages" + msgstr[0] "" + msgstr[1] "" + +-#: dnf/cli/output.py:1418 ++#: dnf/cli/output.py:1331 + msgid "Dependent package" + msgid_plural "Dependent packages" + msgstr[0] "" + msgstr[1] "" + +-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942 +-msgid "Upgraded" +-msgstr "" +- +-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940 +-msgid "Downgraded" +-msgstr "" +- +-#: dnf/cli/output.py:1503 +-msgid "Reinstalled" +-msgstr "" +- +-#: dnf/cli/output.py:1504 +-msgid "Skipped" +-msgstr "" +- +-#: dnf/cli/output.py:1505 +-msgid "Removed" +-msgstr "" +- +-#: dnf/cli/output.py:1508 +-msgid "Failed" +-msgstr "" +- +-#: dnf/cli/output.py:1559 ++#: dnf/cli/output.py:1439 + msgid "Total" + msgstr "" + +-#: dnf/cli/output.py:1587 ++#: dnf/cli/output.py:1467 + msgid "" + msgstr "" + +-#: dnf/cli/output.py:1588 ++#: dnf/cli/output.py:1468 + msgid "System" + msgstr "" + +-#: dnf/cli/output.py:1638 ++#: dnf/cli/output.py:1518 + msgid "Command line" + msgstr "" + + #. TRANSLATORS: user names who executed transaction in history command output +-#: dnf/cli/output.py:1649 ++#: dnf/cli/output.py:1529 + msgid "User name" + msgstr "" + +-#: dnf/cli/output.py:1651 ++#: dnf/cli/output.py:1531 + msgid "ID" + msgstr "" + +-#: dnf/cli/output.py:1653 ++#: dnf/cli/output.py:1533 + msgid "Date and time" + msgstr "" + +-#: dnf/cli/output.py:1654 ++#: dnf/cli/output.py:1534 + msgid "Action(s)" + msgstr "" + +-#: dnf/cli/output.py:1655 ++#: dnf/cli/output.py:1535 + msgid "Altered" + msgstr "" + +-#: dnf/cli/output.py:1698 ++#: dnf/cli/output.py:1578 + msgid "No transactions" + msgstr "" + +-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715 ++#: dnf/cli/output.py:1579 dnf/cli/output.py:1595 + msgid "Failed history info" + msgstr "" + +-#: dnf/cli/output.py:1714 ++#: dnf/cli/output.py:1594 + msgid "No transaction ID, or package, given" + msgstr "" + +-#: dnf/cli/output.py:1772 ++#: dnf/cli/output.py:1652 + msgid "Erased" + msgstr "" + +-#: dnf/cli/output.py:1774 ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1820 dnf/util.py:590 ++msgid "Downgraded" ++msgstr "" ++ ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1822 dnf/util.py:589 ++msgid "Upgraded" ++msgstr "" ++ ++#: dnf/cli/output.py:1654 + msgid "Not installed" + msgstr "" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Newer" + msgstr "" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Older" + msgstr "" + +-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825 ++#: dnf/cli/output.py:1703 dnf/cli/output.py:1705 + msgid "Transaction ID :" + msgstr "" + +-#: dnf/cli/output.py:1828 ++#: dnf/cli/output.py:1708 + msgid "Begin time :" + msgstr "" + +-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833 ++#: dnf/cli/output.py:1711 dnf/cli/output.py:1713 + msgid "Begin rpmdb :" + msgstr "" + +-#: dnf/cli/output.py:1839 ++#: dnf/cli/output.py:1719 + #, python-format + msgid "(%u seconds)" + msgstr "" + +-#: dnf/cli/output.py:1841 ++#: dnf/cli/output.py:1721 + #, python-format + msgid "(%u minutes)" + msgstr "" + +-#: dnf/cli/output.py:1843 ++#: dnf/cli/output.py:1723 + #, python-format + msgid "(%u hours)" + msgstr "" + +-#: dnf/cli/output.py:1845 ++#: dnf/cli/output.py:1725 + #, python-format + msgid "(%u days)" + msgstr "" + +-#: dnf/cli/output.py:1846 ++#: dnf/cli/output.py:1726 + msgid "End time :" + msgstr "" + +-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851 ++#: dnf/cli/output.py:1729 dnf/cli/output.py:1731 + msgid "End rpmdb :" + msgstr "" + +-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860 ++#: dnf/cli/output.py:1738 dnf/cli/output.py:1740 + msgid "User :" + msgstr "" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1751 + msgid "Aborted" + msgstr "" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869 +-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1747 dnf/cli/output.py:1749 ++#: dnf/cli/output.py:1751 dnf/cli/output.py:1753 dnf/cli/output.py:1755 + msgid "Return-Code :" + msgstr "" + +-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1747 dnf/cli/output.py:1755 + msgid "Success" + msgstr "" + +-#: dnf/cli/output.py:1869 ++#: dnf/cli/output.py:1749 + msgid "Failures:" + msgstr "" + +-#: dnf/cli/output.py:1873 ++#: dnf/cli/output.py:1753 + msgid "Failure:" + msgstr "" + +-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885 ++#: dnf/cli/output.py:1763 dnf/cli/output.py:1765 + msgid "Releasever :" + msgstr "" + +-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892 ++#: dnf/cli/output.py:1770 dnf/cli/output.py:1772 + msgid "Command Line :" + msgstr "" + +-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899 ++#: dnf/cli/output.py:1777 dnf/cli/output.py:1779 + msgid "Comment :" + msgstr "" + +-#: dnf/cli/output.py:1903 ++#: dnf/cli/output.py:1783 + msgid "Transaction performed with:" + msgstr "" + +-#: dnf/cli/output.py:1912 ++#: dnf/cli/output.py:1792 + msgid "Packages Altered:" + msgstr "" + +-#: dnf/cli/output.py:1918 ++#: dnf/cli/output.py:1798 + msgid "Scriptlet output:" + msgstr "" + +-#: dnf/cli/output.py:1925 ++#: dnf/cli/output.py:1805 + msgid "Errors:" + msgstr "" + +-#: dnf/cli/output.py:1934 ++#: dnf/cli/output.py:1814 + msgid "Dep-Install" + msgstr "" + +-#: dnf/cli/output.py:1935 ++#: dnf/cli/output.py:1815 + msgid "Obsoleted" + msgstr "" + +-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85 ++#: dnf/cli/output.py:1816 dnf/transaction.py:84 dnf/transaction.py:85 + msgid "Obsoleting" + msgstr "" + +-#: dnf/cli/output.py:1937 ++#: dnf/cli/output.py:1817 + msgid "Erase" + msgstr "" + +-#: dnf/cli/output.py:1938 ++#: dnf/cli/output.py:1818 + msgid "Reinstall" + msgstr "" + +-#: dnf/cli/output.py:2016 ++#: dnf/cli/output.py:1892 + #, python-format + msgid "---> Package %s.%s %s will be installed" + msgstr "" + +-#: dnf/cli/output.py:2018 ++#: dnf/cli/output.py:1894 + #, python-format + msgid "---> Package %s.%s %s will be an upgrade" + msgstr "" + +-#: dnf/cli/output.py:2020 ++#: dnf/cli/output.py:1896 + #, python-format + msgid "---> Package %s.%s %s will be erased" + msgstr "" + +-#: dnf/cli/output.py:2022 ++#: dnf/cli/output.py:1898 + #, python-format + msgid "---> Package %s.%s %s will be reinstalled" + msgstr "" + +-#: dnf/cli/output.py:2024 ++#: dnf/cli/output.py:1900 + #, python-format + msgid "---> Package %s.%s %s will be a downgrade" + msgstr "" + +-#: dnf/cli/output.py:2026 ++#: dnf/cli/output.py:1902 + #, python-format + msgid "---> Package %s.%s %s will be obsoleting" + msgstr "" + +-#: dnf/cli/output.py:2028 ++#: dnf/cli/output.py:1904 + #, python-format + msgid "---> Package %s.%s %s will be upgraded" + msgstr "" + +-#: dnf/cli/output.py:2030 ++#: dnf/cli/output.py:1906 + #, python-format + msgid "---> Package %s.%s %s will be obsoleted" + msgstr "" + +-#: dnf/cli/output.py:2039 ++#: dnf/cli/output.py:1915 + msgid "--> Starting dependency resolution" + msgstr "" + +-#: dnf/cli/output.py:2044 ++#: dnf/cli/output.py:1919 + msgid "--> Finished dependency resolution" + msgstr "" + +-#: dnf/cli/output.py:2058 dnf/crypto.py:132 ++#: dnf/cli/output.py:1933 dnf/crypto.py:132 + #, python-format + msgid "" + "Importing GPG key 0x%s:\n" +@@ -3409,7 +3380,7 @@ msgstr "" + msgid "Environment id '%s' does not exist." + msgstr "" + +-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453 ++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487 + #, python-format + msgid "Environment id '%s' is not installed." + msgstr "" +@@ -3516,6 +3487,11 @@ msgstr "" + msgid "repo %s: imported key 0x%s." + msgstr "" + ++#: dnf/crypto.py:177 ++#, python-format ++msgid "retrieving repo key for %s unencrypted from %s" ++msgstr "" ++ + #: dnf/db/group.py:293 + msgid "" + "No available modular metadata for modular package '{}', it cannot be " +@@ -3598,7 +3574,7 @@ msgid_plural "Modular dependency problems with Defaults:" + msgstr[0] "" + msgstr[1] "" + +-#: dnf/exceptions.py:131 dnf/module/module_base.py:686 ++#: dnf/exceptions.py:131 dnf/module/module_base.py:841 + msgid "Modular dependency problem:" + msgid_plural "Modular dependency problems:" + msgstr[0] "" +@@ -3646,8 +3622,8 @@ msgid "" + "Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive" + msgstr "" + +-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421 +-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543 ++#: dnf/module/module_base.py:54 dnf/module/module_base.py:547 ++#: dnf/module/module_base.py:603 dnf/module/module_base.py:669 + msgid "Ignoring unnecessary profile: '{}/{}'" + msgstr "" + +@@ -3656,17 +3632,17 @@ msgstr "" + msgid "All matches for argument '{0}' in module '{1}:{2}' are not active" + msgstr "" + +-#: dnf/module/module_base.py:92 ++#: dnf/module/module_base.py:92 dnf/module/module_base.py:202 + #, python-brace-format + msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "" + +-#: dnf/module/module_base.py:102 ++#: dnf/module/module_base.py:102 dnf/module/module_base.py:212 + msgid "" + "Unable to match profile for argument {}. Available profiles for '{}:{}': {}" + msgstr "" + +-#: dnf/module/module_base.py:106 ++#: dnf/module/module_base.py:106 dnf/module/module_base.py:216 + msgid "Unable to match profile for argument {}" + msgstr "" + +@@ -3682,40 +3658,54 @@ msgstr "" + msgid "Default profile {} not available in module {}:{}" + msgstr "" + +-#: dnf/module/module_base.py:142 ++#: dnf/module/module_base.py:142 dnf/module/module_base.py:245 + msgid "Installing module from Fail-Safe repository is not allowed" + msgstr "" + +-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193 +-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355 +-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417 +-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539 +-msgid "Unable to resolve argument {}" ++#: dnf/module/module_base.py:194 ++#, python-brace-format ++msgid "No active matches for argument '{0}' in module '{1}:{2}'" + msgstr "" + +-#: dnf/module/module_base.py:160 +-msgid "No match for package {}" ++#: dnf/module/module_base.py:226 ++#, python-brace-format ++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'" ++msgstr "" ++ ++#: dnf/module/module_base.py:265 ++msgid "No packages available to distrosync for package name '{}'" + msgstr "" + +-#: dnf/module/module_base.py:204 ++#: dnf/module/module_base.py:308 dnf/module/module_base.py:452 ++#: dnf/module/module_base.py:477 dnf/module/module_base.py:496 ++#: dnf/module/module_base.py:543 dnf/module/module_base.py:599 ++#: dnf/module/module_base.py:665 dnf/module/module_base.py:827 ++msgid "Unable to resolve argument {}" ++msgstr "" ++ ++#: dnf/module/module_base.py:319 + #, python-brace-format + msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "" + +-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251 ++#: dnf/module/module_base.py:338 dnf/module/module_base.py:366 + msgid "Unable to match profile in argument {}" + msgstr "" + +-#: dnf/module/module_base.py:231 ++#: dnf/module/module_base.py:346 + msgid "Upgrading module from Fail-Safe repository is not allowed" + msgstr "" + +-#: dnf/module/module_base.py:367 ++#: dnf/module/module_base.py:500 + msgid "" + "Only module name is required. Ignoring unneeded information in argument: '{}'" + msgstr "" + +-#: dnf/package.py:298 ++#: dnf/module/module_base.py:828 ++msgid "No match for package {}" ++msgstr "" ++ ++#: dnf/package.py:333 + #, python-format + msgid "%s: %s check failed: %s vs %s" + msgstr "" +@@ -3796,6 +3786,12 @@ msgstr "" + msgid "Errors occurred during test transaction." + msgstr "" + ++#: dnf/sack.py:47 ++msgid "" ++"allow_vendor_change is disabled. This option is currently not supported for " ++"downgrade and distro-sync commands" ++msgstr "" ++ + #. TRANSLATORS: This is for a single package currently being downgraded. + #: dnf/transaction.py:80 + msgctxt "currently" +@@ -3842,160 +3838,183 @@ msgstr "" + msgid "Preparing" + msgstr "" + +-#: dnf/transaction_sr.py:60 ++#: dnf/transaction_sr.py:66 + #, python-brace-format +-msgid "Errors in \"{filename}\":" ++msgid "" ++"The following problems occurred while replaying the transaction from file " ++"\"{filename}\":" + msgstr "" + +-#: dnf/transaction_sr.py:70 +-#, python-brace-format +-msgid "Error in \"{filename}\": {error}" ++#: dnf/transaction_sr.py:68 ++msgid "The following problems occurred while running a transaction:" + msgstr "" + +-#: dnf/transaction_sr.py:87 ++#: dnf/transaction_sr.py:89 + #, python-brace-format + msgid "Invalid major version \"{major}\", number expected." + msgstr "" + +-#: dnf/transaction_sr.py:95 ++#: dnf/transaction_sr.py:97 + #, python-brace-format + msgid "Invalid minor version \"{minor}\", number expected." + msgstr "" + +-#: dnf/transaction_sr.py:101 ++#: dnf/transaction_sr.py:103 + #, python-brace-format + msgid "" + "Incompatible major version \"{major}\", supported major version is " + "\"{major_supp}\"." + msgstr "" + +-#: dnf/transaction_sr.py:244 ++#: dnf/transaction_sr.py:224 ++msgid "" ++"Conflicting TransactionReplay arguments have been specified: filename, data" ++msgstr "" ++ ++#: dnf/transaction_sr.py:265 + #, python-brace-format + msgid "Unexpected type of \"{id}\", {exp} expected." + msgstr "" + +-#: dnf/transaction_sr.py:250 ++#: dnf/transaction_sr.py:271 + #, python-brace-format + msgid "Missing key \"{key}\"." + msgstr "" + +-#: dnf/transaction_sr.py:263 ++#: dnf/transaction_sr.py:285 + #, python-brace-format + msgid "Missing object key \"{key}\" in an rpm." + msgstr "" + +-#: dnf/transaction_sr.py:267 ++#: dnf/transaction_sr.py:289 + #, python-brace-format + msgid "" + "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"." + msgstr "" + +-#: dnf/transaction_sr.py:275 ++#: dnf/transaction_sr.py:297 + #, python-brace-format + msgid "Cannot parse NEVRA for package \"{nevra}\"." + msgstr "" + +-#: dnf/transaction_sr.py:286 ++#: dnf/transaction_sr.py:321 + #, python-brace-format + msgid "Cannot find rpm nevra \"{nevra}\"." + msgstr "" + +-#: dnf/transaction_sr.py:301 ++#: dnf/transaction_sr.py:336 + #, python-brace-format + msgid "Package \"{na}\" is already installed for action \"{action}\"." + msgstr "" + +-#: dnf/transaction_sr.py:311 ++#: dnf/transaction_sr.py:345 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\" not available in repositories for action " + "\"{action}\"." + msgstr "" + +-#: dnf/transaction_sr.py:322 ++#: dnf/transaction_sr.py:356 + #, python-brace-format + msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"." + msgstr "" + +-#: dnf/transaction_sr.py:336 ++#: dnf/transaction_sr.py:370 + #, python-brace-format + msgid "" + "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"." + msgstr "" + +-#: dnf/transaction_sr.py:343 ++#: dnf/transaction_sr.py:377 + #, python-format + msgid "Group id '%s' is not available." + msgstr "" + +-#: dnf/transaction_sr.py:364 ++#: dnf/transaction_sr.py:398 + #, python-brace-format + msgid "Missing object key \"{key}\" in groups.packages." + msgstr "" + +-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387 ++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421 + #, python-format + msgid "Group id '%s' is not installed." + msgstr "" + +-#: dnf/transaction_sr.py:398 ++#: dnf/transaction_sr.py:432 + #, python-format + msgid "Environment id '%s' is not available." + msgstr "" + +-#: dnf/transaction_sr.py:422 ++#: dnf/transaction_sr.py:456 + #, python-brace-format + msgid "" + "Invalid value \"{group_type}\" of environments.groups.group_type, only " + "\"mandatory\" or \"optional\" is supported." + msgstr "" + +-#: dnf/transaction_sr.py:430 ++#: dnf/transaction_sr.py:464 + #, python-brace-format + msgid "Missing object key \"{key}\" in environments.groups." + msgstr "" + +-#: dnf/transaction_sr.py:508 ++#: dnf/transaction_sr.py:542 + #, python-brace-format + msgid "Unexpected value of group action \"{action}\" for group \"{group}\"." + msgstr "" + +-#: dnf/transaction_sr.py:513 ++#: dnf/transaction_sr.py:547 + #, python-brace-format + msgid "Missing object key \"{key}\" in a group." + msgstr "" + +-#: dnf/transaction_sr.py:537 ++#: dnf/transaction_sr.py:571 + #, python-brace-format + msgid "" + "Unexpected value of environment action \"{action}\" for environment " + "\"{env}\"." + msgstr "" + +-#: dnf/transaction_sr.py:542 ++#: dnf/transaction_sr.py:576 + #, python-brace-format + msgid "Missing object key \"{key}\" in an environment." + msgstr "" + +-#: dnf/transaction_sr.py:581 ++#: dnf/transaction_sr.py:615 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\", which is not present in the transaction file, was " + "pulled into the transaction." + msgstr "" + +-#: dnf/util.py:391 dnf/util.py:393 ++#: dnf/util.py:393 dnf/util.py:395 + msgid "Problem" + msgstr "" + +-#: dnf/util.py:444 ++#: dnf/util.py:446 + msgid "TransactionItem not found for key: {}" + msgstr "" + +-#: dnf/util.py:454 ++#: dnf/util.py:456 + msgid "TransactionSWDBItem not found for key: {}" + msgstr "" + +-#: dnf/util.py:457 ++#: dnf/util.py:459 + msgid "Errors occurred during transaction." + msgstr "" ++ ++#: dnf/util.py:595 ++msgid "Reinstalled" ++msgstr "" ++ ++#: dnf/util.py:596 ++msgid "Skipped" ++msgstr "" ++ ++#: dnf/util.py:597 ++msgid "Removed" ++msgstr "" ++ ++#: dnf/util.py:600 ++msgid "Failed" ++msgstr "" ++ +diff --git a/po/fr.po b/po/fr.po +index 4e883335..bf1ccb6a 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -18,20 +18,21 @@ + # Ludek Janda , 2018. #zanata + # Jean-Baptiste Holcroft , 2019. #zanata, 2020. + # Julien Humbert , 2020. ++# Sundeep Anand , 2021. + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" +-"PO-Revision-Date: 2020-09-12 11:29+0000\n" +-"Last-Translator: Julien Humbert \n" +-"Language-Team: French \n" ++"POT-Creation-Date: 2021-02-22 09:22+0100\n" ++"PO-Revision-Date: 2021-03-08 10:29+0000\n" ++"Last-Translator: Sundeep Anand \n" ++"Language-Team: French \n" + "Language: fr\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=n > 1;\n" +-"X-Generator: Weblate 4.2.2\n" ++"X-Generator: Weblate 4.5.1\n" + + #: dnf/automatic/emitter.py:32 + #, python-format +@@ -88,7 +89,7 @@ msgstr "Valeur de configuration inconnue : %s=%s dans %s ; %s" + msgid "Unknown configuration option: %s = %s in %s" + msgstr "Option de configuration inconnue : %s=%s dans %s" + +-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299 ++#: dnf/automatic/main.py:237 dnf/cli/cli.py:304 + msgid "GPG check FAILED" + msgstr "La vérification GPG a ÉCHOUÉ" + +@@ -101,9 +102,10 @@ msgid "Started dnf-automatic." + msgstr "dnf-automatic démarré." + + #: dnf/automatic/main.py:308 +-#, python-format +-msgid "Sleep for %s seconds" +-msgstr "Mise en sommeil pendant %s secondes" ++msgid "Sleep for {} second" ++msgid_plural "Sleep for {} seconds" ++msgstr[0] "Mise en sommeil pendant {} seconde" ++msgstr[1] "Mise en sommeil pendant {} secondes" + + #: dnf/automatic/main.py:315 + msgid "System is off-line." +@@ -115,7 +117,7 @@ msgstr "Le système est hors-ligne." + msgid "Error: %s" + msgstr "Erreur : %s" + +-#: dnf/base.py:146 ++#: dnf/base.py:146 dnf/base.py:472 dnf/base.py:474 + msgid "loading repo '{}' failure: {}" + msgstr "Erreur lors du chargement du dépôt « {} » : {}" + +@@ -123,76 +125,76 @@ msgstr "Erreur lors du chargement du dépôt « {} » : {}" + msgid "Loading repository '{}' has failed" + msgstr "Échec du chargement du dépôt « {} »" + +-#: dnf/base.py:320 ++#: dnf/base.py:322 + msgid "Metadata timer caching disabled when running on metered connection." + msgstr "" + "Mise en cache temporisée des métadonnées désactivée lors du fonctionnement " + "sur connexion limitée." + +-#: dnf/base.py:325 ++#: dnf/base.py:327 + msgid "Metadata timer caching disabled when running on a battery." + msgstr "" + "Mise en cache temporisée des métadonnées désactivée lors du fonctionnement " + "sur batterie." + +-#: dnf/base.py:330 ++#: dnf/base.py:332 + msgid "Metadata timer caching disabled." + msgstr "Mise en cache temporisée des métadonnées désactivée." + +-#: dnf/base.py:335 ++#: dnf/base.py:337 + msgid "Metadata cache refreshed recently." + msgstr "Cache des métadonnées mis à jour récemment." + +-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:343 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "Il n’y a pas de dépôts activés dans « {} »." + +-#: dnf/base.py:348 ++#: dnf/base.py:350 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "%s : n’expirera jamais et ne sera pas réinitialisé." + +-#: dnf/base.py:350 ++#: dnf/base.py:352 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "%s : a expiré et sera réinitialisé." + + #. expires within the checking period: +-#: dnf/base.py:354 ++#: dnf/base.py:356 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "" + "%s : métadonnées expireront après %d secondes et seront réinitialisées " + "maintenant" + +-#: dnf/base.py:358 ++#: dnf/base.py:360 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "%s : expireront après %d secondes." + + #. performs the md sync +-#: dnf/base.py:364 ++#: dnf/base.py:366 + msgid "Metadata cache created." + msgstr "Cache des métadonnées créé." + +-#: dnf/base.py:397 ++#: dnf/base.py:399 dnf/base.py:466 + #, python-format + msgid "%s: using metadata from %s." + msgstr "%s : utilisation des métadonnées depuis le %s." + +-#: dnf/base.py:409 ++#: dnf/base.py:411 dnf/base.py:479 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "Dépôts ignorés : %s" + +-#: dnf/base.py:412 ++#: dnf/base.py:414 + #, python-format + msgid "Last metadata expiration check: %s ago on %s." + msgstr "" + "Dernière vérification de l’expiration des métadonnées effectuée il y a %s le" + " %s." + +-#: dnf/base.py:443 ++#: dnf/base.py:507 + msgid "" + "The downloaded packages were saved in cache until the next successful " + "transaction." +@@ -200,59 +202,59 @@ msgstr "" + "Les paquets téléchargés ont été mis en cache jusqu’à la prochaine " + "transaction réussie." + +-#: dnf/base.py:445 ++#: dnf/base.py:509 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "Vous pouvez supprimer les paquets en cache en exécutant « %s »." + +-#: dnf/base.py:535 ++#: dnf/base.py:599 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "tsflag invalide dans le fichier de configuration : %s" + +-#: dnf/base.py:591 ++#: dnf/base.py:655 + #, python-format + msgid "Failed to add groups file for repository: %s - %s" + msgstr "Échec d’ajout du fichier de groupes pour le dépôt : %s - %s" + +-#: dnf/base.py:823 ++#: dnf/base.py:887 + msgid "Running transaction check" + msgstr "Test de la transaction" + +-#: dnf/base.py:831 ++#: dnf/base.py:895 + msgid "Error: transaction check vs depsolve:" + msgstr "" + "Erreur : vérification de transaction contre résolution des dépendances :" + +-#: dnf/base.py:837 ++#: dnf/base.py:901 + msgid "Transaction check succeeded." + msgstr "La vérification de la transaction a réussi." + +-#: dnf/base.py:840 ++#: dnf/base.py:904 + msgid "Running transaction test" + msgstr "Lancement de la transaction de test" + +-#: dnf/base.py:850 dnf/base.py:992 ++#: dnf/base.py:914 dnf/base.py:1065 + msgid "RPM: {}" + msgstr "RPM : {}" + +-#: dnf/base.py:851 ++#: dnf/base.py:915 + msgid "Transaction test error:" + msgstr "Erreur de la transaction de test :" + +-#: dnf/base.py:862 ++#: dnf/base.py:926 + msgid "Transaction test succeeded." + msgstr "Transaction de test réussie." + +-#: dnf/base.py:883 ++#: dnf/base.py:947 + msgid "Running transaction" + msgstr "Exécution de la transaction" + +-#: dnf/base.py:911 ++#: dnf/base.py:984 + msgid "Disk Requirements:" + msgstr "Besoins en espace disque :" + +-#: dnf/base.py:914 ++#: dnf/base.py:987 + #, python-brace-format + msgid "At least {0}MB more space needed on the {1} filesystem." + msgid_plural "At least {0}MB more space needed on the {1} filesystem." +@@ -263,40 +265,40 @@ msgstr[1] "" + "Au moins {0} Mio supplémentaires sont nécessaires sur le système de fichiers" + " {1}." + +-#: dnf/base.py:921 ++#: dnf/base.py:994 + msgid "Error Summary" + msgstr "Résumé des erreurs" + +-#: dnf/base.py:947 ++#: dnf/base.py:1020 + #, python-brace-format + msgid "RPMDB altered outside of {prog}." + msgstr "RPMDB modifié en dehors de {prog}." + +-#: dnf/base.py:993 dnf/base.py:1001 ++#: dnf/base.py:1066 dnf/base.py:1074 + msgid "Could not run transaction." + msgstr "Impossible d’exécuter la transaction." + +-#: dnf/base.py:996 ++#: dnf/base.py:1069 + msgid "Transaction couldn't start:" + msgstr "La transaction n’a pas pu démarrer :" + +-#: dnf/base.py:1010 ++#: dnf/base.py:1083 + #, python-format + msgid "Failed to remove transaction file %s" + msgstr "Échec de la suppression du fichier de transaction %s" + +-#: dnf/base.py:1092 ++#: dnf/base.py:1165 + msgid "Some packages were not downloaded. Retrying." + msgstr "Certains paquets n’ont pas été téléchargés. Nouvel essai." + +-#: dnf/base.py:1122 ++#: dnf/base.py:1195 + #, python-format + msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)" + msgstr "" + "Les Delta RPM ont réduit la taille des mises à jour de %.1f Mio à %.1f Mio " + "(%d.1%% économisés)" + +-#: dnf/base.py:1125 ++#: dnf/base.py:1198 + #, python-format + msgid "" + "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)" +@@ -304,77 +306,77 @@ msgstr "" + "L’échec des Delta RPMs ont fait augmenter les %.1f MO de mises à jour de " + "%.1f MB (%d.1%% gaspillés)" + +-#: dnf/base.py:1167 ++#: dnf/base.py:1240 + msgid "Cannot add local packages, because transaction job already exists" + msgstr "" + "Impossible d’ajouter des paquets locaux, car un travail de transaction " + "existe déjà" + +-#: dnf/base.py:1181 ++#: dnf/base.py:1254 + msgid "Could not open: {}" + msgstr "Impossible d’ouvrir : {}" + +-#: dnf/base.py:1219 ++#: dnf/base.py:1292 + #, python-format + msgid "Public key for %s is not installed" + msgstr "La clé publique pour %s n’est pas installée" + +-#: dnf/base.py:1223 ++#: dnf/base.py:1296 + #, python-format + msgid "Problem opening package %s" + msgstr "Problème à l’ouverture du paquet %s" + +-#: dnf/base.py:1231 ++#: dnf/base.py:1304 + #, python-format + msgid "Public key for %s is not trusted" + msgstr "La clé publique pour %s n’est pas de confiance" + +-#: dnf/base.py:1235 ++#: dnf/base.py:1308 + #, python-format + msgid "Package %s is not signed" + msgstr "Le paquet %s n’est pas signé" + +-#: dnf/base.py:1265 ++#: dnf/base.py:1338 + #, python-format + msgid "Cannot remove %s" + msgstr "Impossible de supprimer %s" + +-#: dnf/base.py:1269 ++#: dnf/base.py:1342 + #, python-format + msgid "%s removed" + msgstr "%s supprimé" + +-#: dnf/base.py:1549 ++#: dnf/base.py:1622 + msgid "No match for group package \"{}\"" + msgstr "Aucune correspondance pour le paquet du groupe « {} »" + +-#: dnf/base.py:1635 ++#: dnf/base.py:1708 + #, python-format + msgid "Adding packages from group '%s': %s" + msgstr "Ajout de paquets en provenance du groupe « %s » : %s" + +-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442 ++#: dnf/base.py:1731 dnf/cli/cli.py:220 dnf/cli/commands/__init__.py:442 + #: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592 + #: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80 + #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110 + msgid "Nothing to do." + msgstr "Rien à faire." + +-#: dnf/base.py:1676 ++#: dnf/base.py:1749 + msgid "No groups marked for removal." + msgstr "Aucun groupe marqué pour suppression." + +-#: dnf/base.py:1710 ++#: dnf/base.py:1783 + msgid "No group marked for upgrade." + msgstr "Aucun groupe marqué pour mise à jour." + +-#: dnf/base.py:1925 ++#: dnf/base.py:1997 + #, python-format + msgid "Package %s not installed, cannot downgrade it." + msgstr "Le paquet %s n’est pas installé, impossible de le rétrograder." + +-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980 +-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411 ++#: dnf/base.py:1999 dnf/base.py:2018 dnf/base.py:2031 dnf/base.py:2052 ++#: dnf/base.py:2101 dnf/base.py:2109 dnf/base.py:2243 dnf/cli/cli.py:416 + #: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482 + #: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633 + #: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147 +@@ -384,30 +386,30 @@ msgstr "Le paquet %s n’est pas installé, impossible de le rétrograder." + msgid "No match for argument: %s" + msgstr "Aucune correspondance pour l’argument : %s" + +-#: dnf/base.py:1934 ++#: dnf/base.py:2006 + #, python-format + msgid "Package %s of lower version already installed, cannot downgrade it." + msgstr "" + "Le paquet %s est déjà installé dans une version inférieure, impossible de le" + " rétrograder." + +-#: dnf/base.py:1957 ++#: dnf/base.py:2029 + #, python-format + msgid "Package %s not installed, cannot reinstall it." + msgstr "Le paquet %s n’est pas installé, impossible de le réinstaller." + +-#: dnf/base.py:1972 ++#: dnf/base.py:2044 + #, python-format + msgid "File %s is a source package and cannot be updated, ignoring." + msgstr "" + "Le fichier %s est un paquet source et ne peut pas être mis à jour, ignoré." + +-#: dnf/base.py:1978 ++#: dnf/base.py:2050 + #, python-format + msgid "Package %s not installed, cannot update it." + msgstr "Le paquet %s n’est pas installé, impossible de le mettre à jour." + +-#: dnf/base.py:1987 ++#: dnf/base.py:2059 + #, python-format + msgid "" + "The same or higher version of %s is already installed, cannot update it." +@@ -415,127 +417,113 @@ msgstr "" + "La même une ou version supérieure de %s est déjà installée, mise à jour " + "impossible." + +-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2098 dnf/cli/commands/reinstall.py:81 + #, python-format + msgid "Package %s available, but not installed." + msgstr "Le paquet %s est disponible mais n’est pas installé." + +-#: dnf/base.py:2032 ++#: dnf/base.py:2104 + #, python-format + msgid "Package %s available, but installed for different architecture." + msgstr "" + "Le paquet %s est disponible mais est installé pour une autre architecture." + +-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699 ++#: dnf/base.py:2129 + #, python-format + msgid "No package %s installed." + msgstr "Aucun paquet %s installé." + +-#: dnf/base.py:2075 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2147 dnf/cli/commands/install.py:136 + #: dnf/cli/commands/remove.py:133 + #, python-format + msgid "Not a valid form: %s" + msgstr "Format invalide : %s" + +-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681 +-#: dnf/cli/commands/remove.py:163 ++#: dnf/base.py:2162 dnf/cli/commands/__init__.py:681 ++#: dnf/cli/commands/remove.py:162 + msgid "No packages marked for removal." + msgstr "Aucun paquet marqué pour suppression." + +-#: dnf/base.py:2179 dnf/cli/cli.py:422 ++#: dnf/base.py:2250 dnf/cli/cli.py:427 + #, python-format + msgid "Packages for argument %s available, but not installed." + msgstr "Les paquets pour le paramètre %s sont disponibles mais pas installés." + +-#: dnf/base.py:2184 ++#: dnf/base.py:2255 + #, python-format + msgid "Package %s of lowest version already installed, cannot downgrade it." + msgstr "" + "La version la plus ancienne du paquet %s est déjà installée, impossible de " + "le rétrograder." + +-#: dnf/base.py:2242 +-msgid "Action not handled: {}" +-msgstr "Action non gérée : {}" +- +-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703 +-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169 +-#, python-format +-msgid "No package %s available." +-msgstr "Aucun paquet %s n’est disponible." +- +-#: dnf/base.py:2269 +-msgid "no package matched" +-msgstr "aucun paquet correspondant" +- +-#: dnf/base.py:2290 ++#: dnf/base.py:2302 + msgid "No security updates needed, but {} update available" + msgstr "" + "Aucune mise à jour de sécurité n’est nécessaire, mais la mise à jour {} est " + "disponible" + +-#: dnf/base.py:2292 ++#: dnf/base.py:2304 + msgid "No security updates needed, but {} updates available" + msgstr "" + "Aucune mise à jour de sécurité n’est nécessaire, mais les mises à jour {} " + "sont disponibles" + +-#: dnf/base.py:2296 ++#: dnf/base.py:2308 + msgid "No security updates needed for \"{}\", but {} update available" + msgstr "" + "Aucune mise à jour de sécurité n’est nécessaire pour « {} », mais la mise à " + "jour {} est disponible" + +-#: dnf/base.py:2298 ++#: dnf/base.py:2310 + msgid "No security updates needed for \"{}\", but {} updates available" + msgstr "" + "Aucune mise à jour de sécurité n’est nécessaire pour « {} », mais les mises " + "à jour {} sont disponibles" + + #. raise an exception, because po.repoid is not in self.repos +-#: dnf/base.py:2319 ++#: dnf/base.py:2331 + #, python-format + msgid "Unable to retrieve a key for a commandline package: %s" + msgstr "" + "Impossible de récupérer une clé pour un paquet en ligne de commande : %s" + +-#: dnf/base.py:2327 ++#: dnf/base.py:2339 + #, python-format + msgid ". Failing package is: %s" + msgstr ". Le paquet en erreur est : %s" + +-#: dnf/base.py:2328 ++#: dnf/base.py:2340 + #, python-format + msgid "GPG Keys are configured as: %s" + msgstr "Les clés GPG sont configurées comme : %s" + +-#: dnf/base.py:2340 ++#: dnf/base.py:2352 + #, python-format + msgid "GPG key at %s (0x%s) is already installed" + msgstr "La clé GPG %s (0x%s) est déjà installée" + +-#: dnf/base.py:2373 ++#: dnf/base.py:2385 + msgid "The key has been approved." + msgstr "La clef a été approuvée." + +-#: dnf/base.py:2376 ++#: dnf/base.py:2388 + msgid "The key has been rejected." + msgstr "La clef a été rejetée." + +-#: dnf/base.py:2409 ++#: dnf/base.py:2421 + #, python-format + msgid "Key import failed (code %d)" + msgstr "L’import de la clé a échoué (code %d)" + +-#: dnf/base.py:2411 ++#: dnf/base.py:2423 + msgid "Key imported successfully" + msgstr "La clé a bien été importée" + +-#: dnf/base.py:2415 ++#: dnf/base.py:2427 + msgid "Didn't install any keys" + msgstr "Toutes les clés n’ont pas été installées" + +-#: dnf/base.py:2418 ++#: dnf/base.py:2430 + #, python-format + msgid "" + "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n" +@@ -544,28 +532,28 @@ msgstr "" + "Les clés GPG listées pour le dépôt « %s » sont déjà installées mais sont incorrectes pour ce paquet.\n" + "Vérifiez que les URL des clés pour ce dépôt soient correctes." + +-#: dnf/base.py:2429 ++#: dnf/base.py:2441 + msgid "Import of key(s) didn't help, wrong key(s)?" + msgstr "" + "L’import de la ou des clés n’a pas résolu le problème, clés incorrectes ?" + +-#: dnf/base.py:2482 ++#: dnf/base.py:2494 + msgid " * Maybe you meant: {}" + msgstr " * Peut-être vouliez-vous dire : {}" + +-#: dnf/base.py:2514 ++#: dnf/base.py:2526 + msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" + msgstr "Le paquet \"{}\" du dépôt local \"{}\" a une somme de contrôle incorrecte" + +-#: dnf/base.py:2517 ++#: dnf/base.py:2529 + msgid "Some packages from local repository have incorrect checksum" + msgstr "Certains paquets du dépôt local ont une somme de contrôle incorrecte" + +-#: dnf/base.py:2520 ++#: dnf/base.py:2532 + msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" + msgstr "Le paquet \"{}\" du dépôt \"{}\" a une somme de contrôle incorrecte" + +-#: dnf/base.py:2523 ++#: dnf/base.py:2535 + msgid "" + "Some packages have invalid cache, but cannot be downloaded due to \"--" + "cacheonly\" option" +@@ -573,29 +561,29 @@ msgstr "" + "Certains paquets ont un cache invalide, mais ne peuvent pas être téléchargés" + " à cause de l’option « --cacheonly »" + +-#: dnf/base.py:2541 dnf/base.py:2561 ++#: dnf/base.py:2553 dnf/base.py:2573 + msgid "No match for argument" + msgstr "Aucune correspondance pour le paramètre" + +-#: dnf/base.py:2549 dnf/base.py:2569 ++#: dnf/base.py:2561 dnf/base.py:2581 + msgid "All matches were filtered out by exclude filtering for argument" + msgstr "" + "Toutes les correspondances ont été filtrées en excluant le filtrage pour " + "l’argument" + +-#: dnf/base.py:2551 ++#: dnf/base.py:2563 + msgid "All matches were filtered out by modular filtering for argument" + msgstr "" + "Toutes les correspondances ont été filtrées par filtrage modulaire pour les " + "arguments" + +-#: dnf/base.py:2567 ++#: dnf/base.py:2579 + msgid "All matches were installed from a different repository for argument" + msgstr "" + "Toutes les correspondances ont été installées à partir d’un dépôt différent " + "pour le paramètre" + +-#: dnf/base.py:2583 ++#: dnf/base.py:2626 + #, python-format + msgid "Package %s is already installed." + msgstr "Le paquet %s est déjà installé." +@@ -616,8 +604,8 @@ msgstr "La lecture du fichier « %s » a échoué : %s" + msgid "Cannot read file \"%s\": %s" + msgstr "Impossible de lire le fichier « %s » : %s" + +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902 +-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:803 ++#: dnf/cli/cli.py:807 dnf/cli/commands/alias.py:108 + #, python-format + msgid "Config error: %s" + msgstr "Erreur de configuration : %s" +@@ -650,7 +638,7 @@ msgstr "" + "Le résulta de l’opération sera le basculement du flux« {1} » du module « {0}" + " » vers le flux« {2} »" + +-#: dnf/cli/cli.py:172 ++#: dnf/cli/cli.py:173 + #, python-brace-format + msgid "" + "It is not possible to switch enabled streams of a module.\n" +@@ -659,12 +647,12 @@ msgstr "" + "Il n’est pas possible de basculer les flux actifs d’un module.\n" + "Il et recommandé de retirer tout contenu installé par le module, et de réinitialiser le mode en utilisant la commande « {prog} module reset ». Après la réinitialisation, vous pouvez installer les autres flux." + +-#: dnf/cli/cli.py:210 ++#: dnf/cli/cli.py:211 + #, python-brace-format + msgid "{prog} will only download packages for the transaction." + msgstr "{prog} ne téléchargera que les paquets pour la transaction." + +-#: dnf/cli/cli.py:213 ++#: dnf/cli/cli.py:214 + #, python-brace-format + msgid "" + "{prog} will only download packages, install gpg keys, and check the " +@@ -673,23 +661,23 @@ msgstr "" + "{prog} ne téléchargera que les paquets, installera les clefs GPG et " + "vérifiera la transaction." + +-#: dnf/cli/cli.py:217 ++#: dnf/cli/cli.py:218 + msgid "Operation aborted." + msgstr "Opération avortée." + +-#: dnf/cli/cli.py:224 ++#: dnf/cli/cli.py:225 + msgid "Downloading Packages:" + msgstr "Téléchargement des paquets :" + +-#: dnf/cli/cli.py:230 ++#: dnf/cli/cli.py:231 + msgid "Error downloading packages:" + msgstr "Erreur de téléchargement des paquets :" + +-#: dnf/cli/cli.py:258 ++#: dnf/cli/cli.py:263 + msgid "Transaction failed" + msgstr "La transaction a échoué" + +-#: dnf/cli/cli.py:281 ++#: dnf/cli/cli.py:286 + msgid "" + "Refusing to automatically import keys when running unattended.\n" + "Use \"-y\" to override." +@@ -697,91 +685,70 @@ msgstr "" + "Refus de l’importation automatique des clés lors d’une exécution sans surveillance.\n" + "Utilisez l’option « -y » pour passer outre." + +-#: dnf/cli/cli.py:331 ++#: dnf/cli/cli.py:336 + msgid "Changelogs for {}" + msgstr "Changements pour {}" + +-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511 ++#: dnf/cli/cli.py:369 dnf/cli/cli.py:510 dnf/cli/cli.py:516 + msgid "Obsoleting Packages" + msgstr "Passage de paquets en obsolètes" + +-#: dnf/cli/cli.py:393 ++#: dnf/cli/cli.py:398 + msgid "No packages marked for distribution synchronization." + msgstr "Aucun paquet marqué pour la synchronisation de la distribution." + +-#: dnf/cli/cli.py:428 ++#: dnf/cli/cli.py:424 dnf/cli/commands/group.py:395 ++#, python-format ++msgid "No package %s available." ++msgstr "Aucun paquet %s n’est disponible." ++ ++#: dnf/cli/cli.py:433 + msgid "No packages marked for downgrade." + msgstr "Aucun paquet n’a été marqué pour passer à une version antérieure." + +-#: dnf/cli/cli.py:479 ++#: dnf/cli/cli.py:484 + msgid "Installed Packages" + msgstr "Paquets installés" + +-#: dnf/cli/cli.py:487 ++#: dnf/cli/cli.py:492 + msgid "Available Packages" + msgstr "Paquets disponibles" + +-#: dnf/cli/cli.py:491 ++#: dnf/cli/cli.py:496 + msgid "Autoremove Packages" + msgstr "Supprime des paquets automatiquement" + +-#: dnf/cli/cli.py:493 ++#: dnf/cli/cli.py:498 + msgid "Extra Packages" + msgstr "Paquets supplémentaires" + +-#: dnf/cli/cli.py:497 ++#: dnf/cli/cli.py:502 + msgid "Available Upgrades" + msgstr "Mises à jour disponibles" + +-#: dnf/cli/cli.py:513 ++#: dnf/cli/cli.py:518 + msgid "Recently Added Packages" + msgstr "Paquets récemment ajoutés" + +-#: dnf/cli/cli.py:518 ++#: dnf/cli/cli.py:522 + msgid "No matching Packages to list" + msgstr "Aucun paquet correspondant à lister" + +-#: dnf/cli/cli.py:599 ++#: dnf/cli/cli.py:603 + msgid "No Matches found" + msgstr "Aucune correspondance trouvée" + +-#: dnf/cli/cli.py:609 +-msgid "No transaction ID given" +-msgstr "Aucun identifiant de transaction n’a été fourni" +- +-#: dnf/cli/cli.py:614 +-msgid "Not found given transaction ID" +-msgstr "L’identifiant de transaction fourni est introuvable" +- +-#: dnf/cli/cli.py:623 +-msgid "Found more than one transaction ID!" +-msgstr "Plus d’un identifiant de transaction ont été trouvés !" +- +-#: dnf/cli/cli.py:640 +-#, python-format +-msgid "Transaction history is incomplete, before %u." +-msgstr "L’historique des transactions est incomplet, avant %u." +- +-#: dnf/cli/cli.py:642 +-#, python-format +-msgid "Transaction history is incomplete, after %u." +-msgstr "L’historique des transactions est incomplet, après %u." +- +-#: dnf/cli/cli.py:689 +-msgid "Undoing transaction {}, from {}" +-msgstr "Révocation de lla transaction {}, de {}" +- +-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:670 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "Dépôt inconnu : « %s »" + +-#: dnf/cli/cli.py:783 ++#: dnf/cli/cli.py:684 + #, python-format + msgid "No repository match: %s" + msgstr "Aucun dépôt ne correspond à %s" + +-#: dnf/cli/cli.py:817 ++#: dnf/cli/cli.py:718 + msgid "" + "This command has to be run with superuser privileges (under the root user on" + " most systems)." +@@ -789,12 +756,12 @@ msgstr "" + "Cette commande doit être exécutée avec les privilèges super-utilisateur " + "(sous l’utilisateur root sur la plupart des systèmes)." + +-#: dnf/cli/cli.py:847 ++#: dnf/cli/cli.py:748 + #, python-format + msgid "No such command: %s. Please use %s --help" + msgstr "Aucune commande telle que : %s. Veuillez utiliser %s --help" + +-#: dnf/cli/cli.py:850 ++#: dnf/cli/cli.py:751 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" +@@ -803,7 +770,7 @@ msgstr "" + "Cela est peut-être une commande d’un module supplémentaire de {PROG}, " + "essayez : « {prog} install 'dnf-command(%s)' »" + +-#: dnf/cli/cli.py:854 ++#: dnf/cli/cli.py:755 + #, python-brace-format + msgid "" + "It could be a {prog} plugin command, but loading of plugins is currently " +@@ -812,7 +779,7 @@ msgstr "" + "Cela est peut-être une commande d’un module supplémentaire de {prog}, mais " + "le chargement de modules supplémentaires est actuellement désactivé." + +-#: dnf/cli/cli.py:912 ++#: dnf/cli/cli.py:813 + msgid "" + "--destdir or --downloaddir must be used with --downloadonly or download or " + "system-upgrade command." +@@ -820,7 +787,7 @@ msgstr "" + "--destdir ou --downloaddir doit être utilisé avec la commande --downloadonly" + " ou download ou system-upgrade command." + +-#: dnf/cli/cli.py:918 ++#: dnf/cli/cli.py:819 + msgid "" + "--enable, --set-enabled and --disable, --set-disabled must be used with " + "config-manager command." +@@ -828,7 +795,7 @@ msgstr "" + "--enable, --set-enabled et --disable, --set-disabled doit être utilisé avec " + "la commande config-manager." + +-#: dnf/cli/cli.py:1000 ++#: dnf/cli/cli.py:901 + msgid "" + "Warning: Enforcing GPG signature check globally as per active RPM security " + "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" +@@ -837,11 +804,11 @@ msgstr "" + "politique de sécurité RPM active (voir « gpgcheck » dans dnf.conf(5) pour " + "savoir comment interpréter ce message)" + +-#: dnf/cli/cli.py:1020 ++#: dnf/cli/cli.py:921 + msgid "Config file \"{}\" does not exist" + msgstr "Le fichier de configuration \"{}\" n’existe pas" + +-#: dnf/cli/cli.py:1040 ++#: dnf/cli/cli.py:941 + msgid "" + "Unable to detect release version (use '--releasever' to specify release " + "version)" +@@ -849,28 +816,28 @@ msgstr "" + "Impossible de détecter le numéro de version (utilisez « --releasever » pour " + "spécifier une version)" + +-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1028 dnf/cli/commands/repoquery.py:471 + msgid "argument {}: not allowed with argument {}" + msgstr "paramètre {} : non autorisé avec le paramètre {}" + +-#: dnf/cli/cli.py:1134 ++#: dnf/cli/cli.py:1035 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "Commande « %s » déjà définie" + +-#: dnf/cli/cli.py:1154 ++#: dnf/cli/cli.py:1055 + msgid "Excludes in dnf.conf: " + msgstr "Exclut dans dnf.conf : " + +-#: dnf/cli/cli.py:1157 ++#: dnf/cli/cli.py:1058 + msgid "Includes in dnf.conf: " + msgstr "Inclut dans dnf.conf : " + +-#: dnf/cli/cli.py:1160 ++#: dnf/cli/cli.py:1061 + msgid "Excludes in repo " + msgstr "Exclut dans dépôt " + +-#: dnf/cli/cli.py:1163 ++#: dnf/cli/cli.py:1064 + msgid "Includes in repo " + msgstr "Inclut dans dépôt " + +@@ -929,7 +896,7 @@ msgid "show all packages (default)" + msgstr "affiche tous les paquets (par défaut)" + + #: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743 +-#: dnf/cli/commands/module.py:351 ++#: dnf/cli/commands/module.py:373 + msgid "show only available packages" + msgstr "affiche uniquement les paquets disponibles" + +@@ -1260,78 +1227,78 @@ msgstr "affiche ou utilise les informations des groupes" + msgid "No group data available for configured repositories." + msgstr "Aucune donnée sur les groupes disponibles pour les dépôts configurés." + +-#: dnf/cli/commands/group.py:129 ++#: dnf/cli/commands/group.py:126 + #, python-format + msgid "Warning: Group %s does not exist." + msgstr "Attention : le groupe %s n’existe pas." + +-#: dnf/cli/commands/group.py:170 ++#: dnf/cli/commands/group.py:167 + msgid "Warning: No groups match:" + msgstr "Attention : aucun groupe ne correspond à :" + +-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193 +-#: dnf/cli/output.py:1226 ++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190 ++#: dnf/cli/output.py:1139 + msgid "" + msgstr "" + +-#: dnf/cli/commands/group.py:199 ++#: dnf/cli/commands/group.py:196 + msgid "Available Environment Groups:" + msgstr "Groupes d’environnements disponibles :" + +-#: dnf/cli/commands/group.py:201 ++#: dnf/cli/commands/group.py:198 + msgid "Installed Environment Groups:" + msgstr "Groupes d’environnements installés :" + +-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294 ++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291 + msgid "Installed Groups:" + msgstr "Groupes installés :" + +-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301 ++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298 + msgid "Installed Language Groups:" + msgstr "Groupes de langues installés :" + +-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308 ++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305 + msgid "Available Groups:" + msgstr "Groupes disponibles :" + +-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315 ++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312 + msgid "Available Language Groups:" + msgstr "Groupes de langues disponibles :" + +-#: dnf/cli/commands/group.py:322 ++#: dnf/cli/commands/group.py:319 + msgid "include optional packages from group" + msgstr "inclure les paquets optionnels du groupe" + +-#: dnf/cli/commands/group.py:325 ++#: dnf/cli/commands/group.py:322 + msgid "show also hidden groups" + msgstr "affiche également les groupes cachés" + +-#: dnf/cli/commands/group.py:327 ++#: dnf/cli/commands/group.py:324 + msgid "show only installed groups" + msgstr "affiche seulement les groupes installés" + +-#: dnf/cli/commands/group.py:329 ++#: dnf/cli/commands/group.py:326 + msgid "show only available groups" + msgstr "affiche uniquement les groupes disponibles" + +-#: dnf/cli/commands/group.py:331 ++#: dnf/cli/commands/group.py:328 + msgid "show also ID of groups" + msgstr "affiche également les ID des groupes" + +-#: dnf/cli/commands/group.py:333 ++#: dnf/cli/commands/group.py:330 + msgid "available subcommands: {} (default), {}" + msgstr "sous-commandes disponibles : {} (par défaut), {}" + +-#: dnf/cli/commands/group.py:337 ++#: dnf/cli/commands/group.py:334 + msgid "argument for group subcommand" + msgstr "paramètre pour la sous-commande group" + +-#: dnf/cli/commands/group.py:346 ++#: dnf/cli/commands/group.py:343 + #, python-format + msgid "Invalid groups sub-command, use: %s." + msgstr "Sous-commande de groupes invalide, utilisez : %s." + +-#: dnf/cli/commands/group.py:403 ++#: dnf/cli/commands/group.py:398 + msgid "Unable to find a mandatory group package." + msgstr "Impossible de trouver un paquet obligatoire du groupe." + +@@ -1385,16 +1352,16 @@ msgstr "Pas de transaction ou de nom de fichier fourni." + msgid "More than one argument given as transaction file name." + msgstr "Plus d’un argument donné comme nom de fichier de transaction." + +-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126 ++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130 + msgid "No transaction ID or package name given." + msgstr "Pas d’identifiant de transaction ou de nom de paquet fourni." + +-#: dnf/cli/commands/history.py:138 ++#: dnf/cli/commands/history.py:142 + #, python-format + msgid "You don't have access to the history DB: %s" + msgstr "Vous n’avez pas accès à la base de données de l’historique : %s" + +-#: dnf/cli/commands/history.py:147 ++#: dnf/cli/commands/history.py:151 + #, python-format + msgid "" + "Cannot undo transaction %s, doing so would result in an inconsistent package" +@@ -1403,7 +1370,7 @@ msgstr "" + "Impossible de défaire la transaction %s ; cela aboutirait à une base de " + "données des paquets incohérente." + +-#: dnf/cli/commands/history.py:152 ++#: dnf/cli/commands/history.py:156 + #, python-format + msgid "" + "Cannot rollback transaction %s, doing so would result in an inconsistent " +@@ -1412,7 +1379,34 @@ msgstr "" + "Impossible de défaire la transaction %s ; cela aboutirait à une base de " + "données des paquets incohérente." + +-#: dnf/cli/commands/history.py:222 ++#: dnf/cli/commands/history.py:175 ++msgid "No transaction ID given" ++msgstr "Aucun identifiant de transaction n’a été fourni" ++ ++#: dnf/cli/commands/history.py:179 ++#, python-brace-format ++msgid "Transaction ID \"{0}\" not found." ++msgstr "ID de transaction \"{0}\" introuvable." ++ ++#: dnf/cli/commands/history.py:185 ++msgid "Found more than one transaction ID!" ++msgstr "Plus d’un identifiant de transaction ont été trouvés !" ++ ++#: dnf/cli/commands/history.py:203 ++#, python-format ++msgid "Transaction history is incomplete, before %u." ++msgstr "L’historique des transactions est incomplet, avant %u." ++ ++#: dnf/cli/commands/history.py:205 ++#, python-format ++msgid "Transaction history is incomplete, after %u." ++msgstr "L’historique des transactions est incomplet, après %u." ++ ++#: dnf/cli/commands/history.py:256 ++msgid "No packages to list" ++msgstr "Aucun paquet à lister" ++ ++#: dnf/cli/commands/history.py:279 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." +@@ -1420,7 +1414,7 @@ msgstr "" + "La définition de la plage d’identifiants de transaction est invalide « {} ».\n" + "Utilisez « .. »." + +-#: dnf/cli/commands/history.py:226 ++#: dnf/cli/commands/history.py:283 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." +@@ -1428,37 +1422,31 @@ msgstr "" + "Impossible de convertir « {} » à ID transaction.\n" + "Utiliser « », « last », « last- »." + +-#: dnf/cli/commands/history.py:255 ++#: dnf/cli/commands/history.py:312 + msgid "No transaction which manipulates package '{}' was found." + msgstr "Aucune transaction manipulant le paquet « {} » n’a été trouvée." + +-#: dnf/cli/commands/history.py:305 +-#, python-brace-format +-msgid "Transaction ID \"{id}\" not found." +-msgstr "ID de Transaction « {id} » non trouvé." +- +-#: dnf/cli/commands/history.py:313 ++#: dnf/cli/commands/history.py:357 + msgid "{} exists, overwrite?" + msgstr "{} existe, l’écraser ?" + +-#: dnf/cli/commands/history.py:316 ++#: dnf/cli/commands/history.py:360 + msgid "Not overwriting {}, exiting." + msgstr "{} non écrasé, sortie." + +-#: dnf/cli/commands/history.py:323 ++#: dnf/cli/commands/history.py:367 + msgid "Transaction saved to {}." + msgstr "Transaction enregistrée vers {}." + +-#: dnf/cli/commands/history.py:326 ++#: dnf/cli/commands/history.py:370 + msgid "Error storing transaction: {}" + msgstr "Erreur lors du stockage de la transaction : {}" + +-#: dnf/cli/commands/history.py:350 +-msgid "" +-"Warning, the following problems occurred while replaying the transaction:" ++#: dnf/cli/commands/history.py:386 ++msgid "Warning, the following problems occurred while running a transaction:" + msgstr "" +-"Attention, les problèmes suivants sont survenus lors de la relecture de la " +-"transaction :" ++"Attention, les problèmes suivants sont survenus lors de l'exécution d'une " ++"transaction :" + + #: dnf/cli/commands/install.py:47 + msgid "install a package or packages on your system" +@@ -1477,7 +1465,7 @@ msgstr "Impossible de trouver une correspondance" + msgid "Not a valid rpm file path: %s" + msgstr "Chemin du fichier RPM invalide : %s" + +-#: dnf/cli/commands/install.py:167 ++#: dnf/cli/commands/install.py:166 + #, python-brace-format + msgid "There are following alternatives for \"{0}\": {1}" + msgstr "Il existe les alternatives suivantes pour \"{0}\" : {1}" +@@ -1522,7 +1510,7 @@ msgid "%s marked as group installed." + msgstr "%s marqué comme étant installé par un groupe." + + #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129 +-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279 ++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282 + msgid "Error:" + msgstr "Erreur :" + +@@ -1580,42 +1568,46 @@ msgid "Package {} belongs to multiple modules, skipping" + msgstr "Le paquet {} appartient à de multiples modules, ignorer" + + #: dnf/cli/commands/module.py:277 ++msgid "switch a module to a stream and distrosync rpm packages" ++msgstr "passer un module à un flux et à des paquets de rpm de distrosync" ++ ++#: dnf/cli/commands/module.py:299 + msgid "list modular packages" + msgstr "dresser une liste des paquets modulaires" + +-#: dnf/cli/commands/module.py:292 ++#: dnf/cli/commands/module.py:314 + msgid "list packages belonging to a module" + msgstr "dresser une liste des paquets appartenant à un module" + +-#: dnf/cli/commands/module.py:327 ++#: dnf/cli/commands/module.py:349 + msgid "Interact with Modules." + msgstr "Interagit avec les modules." + +-#: dnf/cli/commands/module.py:340 ++#: dnf/cli/commands/module.py:362 + msgid "show only enabled modules" + msgstr "n’affiche que les modules activés" + +-#: dnf/cli/commands/module.py:343 ++#: dnf/cli/commands/module.py:365 + msgid "show only disabled modules" + msgstr "n’affiche que les modules désactivés" + +-#: dnf/cli/commands/module.py:346 ++#: dnf/cli/commands/module.py:368 + msgid "show only installed modules or packages" + msgstr "affiche uniquement les paquets ou modules installés" + +-#: dnf/cli/commands/module.py:349 ++#: dnf/cli/commands/module.py:371 + msgid "show profile content" + msgstr "affiche le contenu du profil" + +-#: dnf/cli/commands/module.py:354 ++#: dnf/cli/commands/module.py:376 + msgid "remove all modular packages" + msgstr "Supprimer les paquets modulaires" + +-#: dnf/cli/commands/module.py:364 ++#: dnf/cli/commands/module.py:386 + msgid "Module specification" + msgstr "Caractéristique de module" + +-#: dnf/cli/commands/module.py:386 ++#: dnf/cli/commands/module.py:408 + msgid "{} {} {}: too few arguments" + msgstr "{} {} {} : trop peu de paramètres" + +@@ -2133,22 +2125,22 @@ msgstr "MOTCLEF" + msgid "Keyword to search for" + msgstr "Mot-clef à chercher" + +-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506 ++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460 + msgctxt "long" + msgid "Name" + msgstr "Nom" + +-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559 ++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513 + msgctxt "long" + msgid "Summary" + msgstr "Résumé" + +-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569 ++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523 + msgctxt "long" + msgid "Description" + msgstr "Description" + +-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562 ++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516 + msgid "URL" + msgstr "URL" + +@@ -2291,16 +2283,16 @@ msgstr "" + "run résoud et exécute l’ensemble de transactions\n" + "exit (ou quit) quitte l’interpréteur de commandes" + +-#: dnf/cli/commands/shell.py:259 ++#: dnf/cli/commands/shell.py:262 + #, python-format + msgid "Error: Cannot open %s for reading" + msgstr "Erreur : %s n’a pu être ouvert pour lecture" + +-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187 ++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187 + msgid "Complete!" + msgstr "Terminé !" + +-#: dnf/cli/commands/shell.py:291 ++#: dnf/cli/commands/shell.py:294 + msgid "Leaving Shell" + msgstr "Abandon de l’interpréteur de commandes" + +@@ -2497,8 +2489,8 @@ msgstr "Criticité" + msgid "Files" + msgstr "Fichiers" + +-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499 +-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774 ++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1652 ++#: dnf/cli/output.py:1654 dnf/util.py:591 + msgid "Installed" + msgstr "Installé" + +@@ -2862,13 +2854,13 @@ msgstr "Impossible d’encoder l’argument « %s » : %s" + #. Translators: This is abbreviated 'Name'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:505 ++#: dnf/cli/output.py:459 + msgctxt "short" + msgid "Name" + msgstr "Nom" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:511 ++#: dnf/cli/output.py:465 + msgid "Epoch" + msgstr "Époque" + +@@ -2876,38 +2868,38 @@ msgstr "Époque" + #. use the full (unabbreviated) term 'Version' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:512 dnf/cli/output.py:1335 ++#: dnf/cli/output.py:466 dnf/cli/output.py:1248 + msgctxt "short" + msgid "Version" + msgstr "Version" + + #. Translators: This is the full (unabbreviated) term 'Version'. +-#: dnf/cli/output.py:513 dnf/cli/output.py:1337 ++#: dnf/cli/output.py:467 dnf/cli/output.py:1250 + msgctxt "long" + msgid "Version" + msgstr "Version" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:516 ++#: dnf/cli/output.py:470 + msgid "Release" + msgstr "Publication" + + #. Translators: This is abbreviated 'Architecture', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:517 dnf/cli/output.py:1326 ++#: dnf/cli/output.py:471 dnf/cli/output.py:1239 + msgctxt "short" + msgid "Arch" + msgstr "Architecture" + + #. Translators: This is the full word 'Architecture', used when + #. we have enough space. +-#: dnf/cli/output.py:518 dnf/cli/output.py:1329 ++#: dnf/cli/output.py:472 dnf/cli/output.py:1242 + msgctxt "long" + msgid "Architecture" + msgstr "Architecture" + + #. Translators: This is the full (unabbreviated) term 'Size'. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1352 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1265 + msgctxt "long" + msgid "Size" + msgstr "Taille" +@@ -2916,32 +2908,32 @@ msgstr "Taille" + #. not be longer than 5 characters. If the term 'Size' in your + #. language is not longer than 5 characters then you can use it + #. unabbreviated. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1350 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1263 + msgctxt "short" + msgid "Size" + msgstr "Taille" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:524 ++#: dnf/cli/output.py:478 + msgid "Source" + msgstr "Source" + + #. Translators: This is abbreviated 'Repository', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:525 dnf/cli/output.py:1341 ++#: dnf/cli/output.py:479 dnf/cli/output.py:1254 + msgctxt "short" + msgid "Repo" + msgstr "Dépôt" + + #. Translators: This is the full word 'Repository', used when + #. we have enough space. +-#: dnf/cli/output.py:526 dnf/cli/output.py:1344 ++#: dnf/cli/output.py:480 dnf/cli/output.py:1257 + msgctxt "long" + msgid "Repository" + msgstr "Dépôt" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:533 ++#: dnf/cli/output.py:487 + msgid "From repo" + msgstr "Depuis le dépôt" + +@@ -2949,316 +2941,312 @@ msgstr "Depuis le dépôt" + #. print(_("Committer : %s") % ucd(pkg.committer)) + #. print(_("Committime : %s") % time.ctime(pkg.committime)) + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:539 ++#: dnf/cli/output.py:493 + msgid "Packager" + msgstr "Empaqueteur" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:541 ++#: dnf/cli/output.py:495 + msgid "Buildtime" + msgstr "Date de compilation" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:545 ++#: dnf/cli/output.py:499 + msgid "Install time" + msgstr "Date d’installation" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:554 ++#: dnf/cli/output.py:508 + msgid "Installed by" + msgstr "Installé par" + + #. Translators: This is abbreviated 'Summary'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:558 ++#: dnf/cli/output.py:512 + msgctxt "short" + msgid "Summary" + msgstr "Résumé" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:564 ++#: dnf/cli/output.py:518 + msgid "License" + msgstr "Licence" + + #. Translators: This is abbreviated 'Description'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:568 ++#: dnf/cli/output.py:522 + msgctxt "short" + msgid "Description" + msgstr "Description" + +-#: dnf/cli/output.py:695 +-msgid "No packages to list" +-msgstr "Aucun paquet à lister" +- +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "y" + msgstr "o" + +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "yes" + msgstr "oui" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "n" + msgstr "n" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "no" + msgstr "non" + +-#: dnf/cli/output.py:711 ++#: dnf/cli/output.py:655 + msgid "Is this ok [y/N]: " + msgstr "Voulez-vous continuer ? [o/N] : " + +-#: dnf/cli/output.py:715 ++#: dnf/cli/output.py:659 + msgid "Is this ok [Y/n]: " + msgstr "Voulez-vous continuer ? [O/n] : " + +-#: dnf/cli/output.py:795 ++#: dnf/cli/output.py:739 + #, python-format + msgid "Group: %s" + msgstr "Groupe : %s" + +-#: dnf/cli/output.py:799 ++#: dnf/cli/output.py:743 + #, python-format + msgid " Group-Id: %s" + msgstr " Identifiant du groupe : %s" + +-#: dnf/cli/output.py:801 dnf/cli/output.py:840 ++#: dnf/cli/output.py:745 dnf/cli/output.py:784 + #, python-format + msgid " Description: %s" + msgstr " Description : %s" + +-#: dnf/cli/output.py:803 ++#: dnf/cli/output.py:747 + #, python-format + msgid " Language: %s" + msgstr " Langue : %s" + +-#: dnf/cli/output.py:806 ++#: dnf/cli/output.py:750 + msgid " Mandatory Packages:" + msgstr " Paquets obligatoires :" + +-#: dnf/cli/output.py:807 ++#: dnf/cli/output.py:751 + msgid " Default Packages:" + msgstr " Paquets par défaut :" + +-#: dnf/cli/output.py:808 ++#: dnf/cli/output.py:752 + msgid " Optional Packages:" + msgstr " Paquets optionnels :" + +-#: dnf/cli/output.py:809 ++#: dnf/cli/output.py:753 + msgid " Conditional Packages:" + msgstr " Paquets conditionnels :" + +-#: dnf/cli/output.py:834 ++#: dnf/cli/output.py:778 + #, python-format + msgid "Environment Group: %s" + msgstr "Groupe d’environnement : %s" + +-#: dnf/cli/output.py:837 ++#: dnf/cli/output.py:781 + #, python-format + msgid " Environment-Id: %s" + msgstr " Identifiant d’environnement : %s" + +-#: dnf/cli/output.py:843 ++#: dnf/cli/output.py:787 + msgid " Mandatory Groups:" + msgstr " Groupes obligatoires :" + +-#: dnf/cli/output.py:844 ++#: dnf/cli/output.py:788 + msgid " Optional Groups:" + msgstr " Groupes optionnels :" + +-#: dnf/cli/output.py:865 ++#: dnf/cli/output.py:809 + msgid "Matched from:" + msgstr "Correspondances trouvées dans  :" + +-#: dnf/cli/output.py:879 ++#: dnf/cli/output.py:823 + #, python-format + msgid "Filename : %s" + msgstr "Nom de fichier : %s" + +-#: dnf/cli/output.py:904 ++#: dnf/cli/output.py:848 + #, python-format + msgid "Repo : %s" + msgstr "Dépôt   : %s" + +-#: dnf/cli/output.py:913 ++#: dnf/cli/output.py:857 + msgid "Description : " + msgstr "Description  : " + +-#: dnf/cli/output.py:917 ++#: dnf/cli/output.py:861 + #, python-format + msgid "URL : %s" + msgstr "URL : %s" + +-#: dnf/cli/output.py:921 ++#: dnf/cli/output.py:865 + #, python-format + msgid "License : %s" + msgstr "Licence  : %s" + +-#: dnf/cli/output.py:927 ++#: dnf/cli/output.py:871 + #, python-format + msgid "Provide : %s" + msgstr "Provide : %s" + +-#: dnf/cli/output.py:947 ++#: dnf/cli/output.py:891 + #, python-format + msgid "Other : %s" + msgstr "Autre : %s" + +-#: dnf/cli/output.py:996 ++#: dnf/cli/output.py:940 + msgid "There was an error calculating total download size" + msgstr "" + "Une erreur est survenue pendant le calcul de la taille totale des " + "téléchargements" + +-#: dnf/cli/output.py:1002 ++#: dnf/cli/output.py:946 + #, python-format + msgid "Total size: %s" + msgstr "Taille totale  : %s" + +-#: dnf/cli/output.py:1005 ++#: dnf/cli/output.py:949 + #, python-format + msgid "Total download size: %s" + msgstr "Taille totale des téléchargements : %s" + +-#: dnf/cli/output.py:1008 ++#: dnf/cli/output.py:952 + #, python-format + msgid "Installed size: %s" + msgstr "Taille des paquets installés : %s" + +-#: dnf/cli/output.py:1026 ++#: dnf/cli/output.py:970 + msgid "There was an error calculating installed size" + msgstr "" + "Une erreur est survenue pendant le calcul de la taille des paquets " + "installées" + +-#: dnf/cli/output.py:1030 ++#: dnf/cli/output.py:974 + #, python-format + msgid "Freed space: %s" + msgstr "Espace libéré : %s" + +-#: dnf/cli/output.py:1039 ++#: dnf/cli/output.py:983 + msgid "Marking packages as installed by the group:" + msgstr "Marquage des paquets installés par le groupe :" + +-#: dnf/cli/output.py:1046 ++#: dnf/cli/output.py:990 + msgid "Marking packages as removed by the group:" + msgstr "Marquage des paquets supprimés par le groupe :" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Group" + msgstr "Groupe" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Packages" + msgstr "Paquets" + +-#: dnf/cli/output.py:1133 ++#: dnf/cli/output.py:1046 + msgid "Installing group/module packages" + msgstr "Installation des paquets du groupe/module" + +-#: dnf/cli/output.py:1134 ++#: dnf/cli/output.py:1047 + msgid "Installing group packages" + msgstr "Installation du groupe de paquets" + + #. TRANSLATORS: This is for a list of packages to be installed. +-#: dnf/cli/output.py:1138 ++#: dnf/cli/output.py:1051 + msgctxt "summary" + msgid "Installing" + msgstr "Installation" + + #. TRANSLATORS: This is for a list of packages to be upgraded. +-#: dnf/cli/output.py:1140 ++#: dnf/cli/output.py:1053 + msgctxt "summary" + msgid "Upgrading" + msgstr "Mise à jour" + + #. TRANSLATORS: This is for a list of packages to be reinstalled. +-#: dnf/cli/output.py:1142 ++#: dnf/cli/output.py:1055 + msgctxt "summary" + msgid "Reinstalling" + msgstr "Réinstallation" + +-#: dnf/cli/output.py:1144 ++#: dnf/cli/output.py:1057 + msgid "Installing dependencies" + msgstr "Installation des dépendances" + +-#: dnf/cli/output.py:1145 ++#: dnf/cli/output.py:1058 + msgid "Installing weak dependencies" + msgstr "Installation des dépendances faibles" + + #. TRANSLATORS: This is for a list of packages to be removed. +-#: dnf/cli/output.py:1147 ++#: dnf/cli/output.py:1060 + msgid "Removing" + msgstr "Suppression" + +-#: dnf/cli/output.py:1148 ++#: dnf/cli/output.py:1061 + msgid "Removing dependent packages" + msgstr "Supprimer des paquets dépendants" + +-#: dnf/cli/output.py:1149 ++#: dnf/cli/output.py:1062 + msgid "Removing unused dependencies" + msgstr "Suppression des dépendances inutilisées" + + #. TRANSLATORS: This is for a list of packages to be downgraded. +-#: dnf/cli/output.py:1151 ++#: dnf/cli/output.py:1064 + msgctxt "summary" + msgid "Downgrading" + msgstr "Rétrogradation" + +-#: dnf/cli/output.py:1176 ++#: dnf/cli/output.py:1089 + msgid "Installing module profiles" + msgstr "Installation des profils de module" + +-#: dnf/cli/output.py:1185 ++#: dnf/cli/output.py:1098 + msgid "Disabling module profiles" + msgstr "Désactivation des profils de module" + +-#: dnf/cli/output.py:1194 ++#: dnf/cli/output.py:1107 + msgid "Enabling module streams" + msgstr "Activation des flux de modules" + +-#: dnf/cli/output.py:1202 ++#: dnf/cli/output.py:1115 + msgid "Switching module streams" + msgstr "Basculement des flux de modules" + +-#: dnf/cli/output.py:1210 ++#: dnf/cli/output.py:1123 + msgid "Disabling modules" + msgstr "Désactivation des modules" + +-#: dnf/cli/output.py:1218 ++#: dnf/cli/output.py:1131 + msgid "Resetting modules" + msgstr "Réinitialisation des modules" + +-#: dnf/cli/output.py:1230 ++#: dnf/cli/output.py:1143 + msgid "Installing Environment Groups" + msgstr "Installation des groupes d’environnement" + +-#: dnf/cli/output.py:1237 ++#: dnf/cli/output.py:1150 + msgid "Upgrading Environment Groups" + msgstr "Mise à niveau des groupes d’environnement" + +-#: dnf/cli/output.py:1244 ++#: dnf/cli/output.py:1157 + msgid "Removing Environment Groups" + msgstr "Suppression des groupes d’environnement" + +-#: dnf/cli/output.py:1251 ++#: dnf/cli/output.py:1164 + msgid "Installing Groups" + msgstr "Installation des groupes" + +-#: dnf/cli/output.py:1258 ++#: dnf/cli/output.py:1171 + msgid "Upgrading Groups" + msgstr "Mise à niveau des groupes" + +-#: dnf/cli/output.py:1265 ++#: dnf/cli/output.py:1178 + msgid "Removing Groups" + msgstr "Suppression des groupes" + +-#: dnf/cli/output.py:1281 ++#: dnf/cli/output.py:1194 + #, python-format + msgid "" + "Skipping packages with conflicts:\n" +@@ -3267,12 +3255,12 @@ msgstr "" + "Ignorer les paquets en conflit :\n" + "(ajouter « %s » à la ligne de commande pour forcer leur mise à niveau)" + +-#: dnf/cli/output.py:1291 ++#: dnf/cli/output.py:1204 + #, python-format + msgid "Skipping packages with broken dependencies%s" + msgstr "Ignorer les paquets ayant des dépendances cassées %s" + +-#: dnf/cli/output.py:1295 ++#: dnf/cli/output.py:1208 + msgid " or part of a group" + msgstr " ou qui fait parti d’un groupe" + +@@ -3280,22 +3268,22 @@ msgstr " ou qui fait parti d’un groupe" + #. use the full (unabbreviated) term 'Package' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:1320 ++#: dnf/cli/output.py:1233 + msgctxt "short" + msgid "Package" + msgstr "Paquet" + + #. Translators: This is the full (unabbreviated) term 'Package'. +-#: dnf/cli/output.py:1322 ++#: dnf/cli/output.py:1235 + msgctxt "long" + msgid "Package" + msgstr "Paquet" + +-#: dnf/cli/output.py:1371 ++#: dnf/cli/output.py:1284 + msgid "replacing" + msgstr "remplacement" + +-#: dnf/cli/output.py:1378 ++#: dnf/cli/output.py:1291 + #, python-format + msgid "" + "\n" +@@ -3307,289 +3295,273 @@ msgstr "" + "%s\n" + + #. TODO: remove +-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933 ++#: dnf/cli/output.py:1296 dnf/cli/output.py:1812 dnf/cli/output.py:1813 + msgid "Install" + msgstr "Installer" + +-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941 ++#: dnf/cli/output.py:1300 dnf/cli/output.py:1821 + msgid "Upgrade" + msgstr "Mettre à niveau" + +-#: dnf/cli/output.py:1388 ++#: dnf/cli/output.py:1301 + msgid "Remove" + msgstr "Supprimer" + +-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939 ++#: dnf/cli/output.py:1303 dnf/cli/output.py:1819 + msgid "Downgrade" + msgstr "Retrograder" + +-#: dnf/cli/output.py:1391 ++#: dnf/cli/output.py:1304 + msgid "Skip" + msgstr "Ignorer" + +-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416 ++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329 + msgid "Package" + msgid_plural "Packages" + msgstr[0] "Paquet" + msgstr[1] "Paquets" + +-#: dnf/cli/output.py:1418 ++#: dnf/cli/output.py:1331 + msgid "Dependent package" + msgid_plural "Dependent packages" + msgstr[0] "Paquet dépendant" + msgstr[1] "Paquets dépendants" + +-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942 +-msgid "Upgraded" +-msgstr "Mis à niveau" +- +-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940 +-msgid "Downgraded" +-msgstr "Rétrogradé" +- +-#: dnf/cli/output.py:1503 +-msgid "Reinstalled" +-msgstr "Réinstallé" +- +-#: dnf/cli/output.py:1504 +-msgid "Skipped" +-msgstr "Ignoré" +- +-#: dnf/cli/output.py:1505 +-msgid "Removed" +-msgstr "Supprimé" +- +-#: dnf/cli/output.py:1508 +-msgid "Failed" +-msgstr "Échec" +- +-#: dnf/cli/output.py:1559 ++#: dnf/cli/output.py:1439 + msgid "Total" + msgstr "Total" + +-#: dnf/cli/output.py:1587 ++#: dnf/cli/output.py:1467 + msgid "" + msgstr "" + +-#: dnf/cli/output.py:1588 ++#: dnf/cli/output.py:1468 + msgid "System" + msgstr "Système" + +-#: dnf/cli/output.py:1638 ++#: dnf/cli/output.py:1518 + msgid "Command line" + msgstr "Ligne de commande" + + #. TRANSLATORS: user names who executed transaction in history command output +-#: dnf/cli/output.py:1649 ++#: dnf/cli/output.py:1529 + msgid "User name" + msgstr "Nom d’utilisateur" + +-#: dnf/cli/output.py:1651 ++#: dnf/cli/output.py:1531 + msgid "ID" + msgstr "ID" + +-#: dnf/cli/output.py:1653 ++#: dnf/cli/output.py:1533 + msgid "Date and time" + msgstr "Date et heure" + +-#: dnf/cli/output.py:1654 ++#: dnf/cli/output.py:1534 + msgid "Action(s)" + msgstr "Action(s)" + +-#: dnf/cli/output.py:1655 ++#: dnf/cli/output.py:1535 + msgid "Altered" + msgstr "Modifié" + +-#: dnf/cli/output.py:1698 ++#: dnf/cli/output.py:1578 + msgid "No transactions" + msgstr "Pas de transaction" + +-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715 ++#: dnf/cli/output.py:1579 dnf/cli/output.py:1595 + msgid "Failed history info" + msgstr "Infos sur l’historique des échecs" + +-#: dnf/cli/output.py:1714 ++#: dnf/cli/output.py:1594 + msgid "No transaction ID, or package, given" + msgstr "Pas de paquet ou d’identifiant de transaction fourni" + +-#: dnf/cli/output.py:1772 ++#: dnf/cli/output.py:1652 + msgid "Erased" + msgstr "Effacé" + +-#: dnf/cli/output.py:1774 ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1820 dnf/util.py:590 ++msgid "Downgraded" ++msgstr "Rétrogradé" ++ ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1822 dnf/util.py:589 ++msgid "Upgraded" ++msgstr "Mis à niveau" ++ ++#: dnf/cli/output.py:1654 + msgid "Not installed" + msgstr "Non installé" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Newer" + msgstr "Plus récent" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Older" + msgstr "Plus ancien" + +-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825 ++#: dnf/cli/output.py:1703 dnf/cli/output.py:1705 + msgid "Transaction ID :" + msgstr "Identifiant de transaction :" + +-#: dnf/cli/output.py:1828 ++#: dnf/cli/output.py:1708 + msgid "Begin time :" + msgstr "Temps de début :" + +-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833 ++#: dnf/cli/output.py:1711 dnf/cli/output.py:1713 + msgid "Begin rpmdb :" + msgstr "Début de RPMDB :" + +-#: dnf/cli/output.py:1839 ++#: dnf/cli/output.py:1719 + #, python-format + msgid "(%u seconds)" + msgstr "(%u secondes)" + +-#: dnf/cli/output.py:1841 ++#: dnf/cli/output.py:1721 + #, python-format + msgid "(%u minutes)" + msgstr "(%u minutes)" + +-#: dnf/cli/output.py:1843 ++#: dnf/cli/output.py:1723 + #, python-format + msgid "(%u hours)" + msgstr "(%u heures)" + +-#: dnf/cli/output.py:1845 ++#: dnf/cli/output.py:1725 + #, python-format + msgid "(%u days)" + msgstr "(%u jours)" + +-#: dnf/cli/output.py:1846 ++#: dnf/cli/output.py:1726 + msgid "End time :" + msgstr "Temps de fin :" + +-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851 ++#: dnf/cli/output.py:1729 dnf/cli/output.py:1731 + msgid "End rpmdb :" + msgstr "Fin de RPMDB :" + +-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860 ++#: dnf/cli/output.py:1738 dnf/cli/output.py:1740 + msgid "User :" + msgstr "Utilisateur :" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1751 + msgid "Aborted" + msgstr "Avorté" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869 +-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1747 dnf/cli/output.py:1749 ++#: dnf/cli/output.py:1751 dnf/cli/output.py:1753 dnf/cli/output.py:1755 + msgid "Return-Code :" + msgstr "Code de retour :" + +-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1747 dnf/cli/output.py:1755 + msgid "Success" + msgstr "Réussi" + +-#: dnf/cli/output.py:1869 ++#: dnf/cli/output.py:1749 + msgid "Failures:" + msgstr "Échecs :" + +-#: dnf/cli/output.py:1873 ++#: dnf/cli/output.py:1753 + msgid "Failure:" + msgstr "Échec :" + +-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885 ++#: dnf/cli/output.py:1763 dnf/cli/output.py:1765 + msgid "Releasever :" + msgstr "Releasever :" + +-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892 ++#: dnf/cli/output.py:1770 dnf/cli/output.py:1772 + msgid "Command Line :" + msgstr "Ligne de commande :" + +-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899 ++#: dnf/cli/output.py:1777 dnf/cli/output.py:1779 + msgid "Comment :" + msgstr "Commentaire :" + +-#: dnf/cli/output.py:1903 ++#: dnf/cli/output.py:1783 + msgid "Transaction performed with:" + msgstr "Transaction effectuée avec :" + +-#: dnf/cli/output.py:1912 ++#: dnf/cli/output.py:1792 + msgid "Packages Altered:" + msgstr "Paquets modifiés :" + +-#: dnf/cli/output.py:1918 ++#: dnf/cli/output.py:1798 + msgid "Scriptlet output:" + msgstr "Sortie du mini script :" + +-#: dnf/cli/output.py:1925 ++#: dnf/cli/output.py:1805 + msgid "Errors:" + msgstr "Erreurs :" + +-#: dnf/cli/output.py:1934 ++#: dnf/cli/output.py:1814 + msgid "Dep-Install" + msgstr "Installation des dépendances" + +-#: dnf/cli/output.py:1935 ++#: dnf/cli/output.py:1815 + msgid "Obsoleted" + msgstr "Rendu obsolète" + +-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85 ++#: dnf/cli/output.py:1816 dnf/transaction.py:84 dnf/transaction.py:85 + msgid "Obsoleting" + msgstr "Rend obsolète" + +-#: dnf/cli/output.py:1937 ++#: dnf/cli/output.py:1817 + msgid "Erase" + msgstr "Effacement" + +-#: dnf/cli/output.py:1938 ++#: dnf/cli/output.py:1818 + msgid "Reinstall" + msgstr "Réinstallation" + +-#: dnf/cli/output.py:2016 ++#: dnf/cli/output.py:1892 + #, python-format + msgid "---> Package %s.%s %s will be installed" + msgstr "---> Le paquet %s.%s %s sera installé" + +-#: dnf/cli/output.py:2018 ++#: dnf/cli/output.py:1894 + #, python-format + msgid "---> Package %s.%s %s will be an upgrade" + msgstr "---> Le paquet %s.%s %s sera une mise à jour" + +-#: dnf/cli/output.py:2020 ++#: dnf/cli/output.py:1896 + #, python-format + msgid "---> Package %s.%s %s will be erased" + msgstr "---> Le paquet %s.%s %s sera supprimé" + +-#: dnf/cli/output.py:2022 ++#: dnf/cli/output.py:1898 + #, python-format + msgid "---> Package %s.%s %s will be reinstalled" + msgstr "---> Le paquet %s.%s %s sera réinstallé" + +-#: dnf/cli/output.py:2024 ++#: dnf/cli/output.py:1900 + #, python-format + msgid "---> Package %s.%s %s will be a downgrade" + msgstr "---> Le paquet %s.%s %s sera une rétrogradation" + +-#: dnf/cli/output.py:2026 ++#: dnf/cli/output.py:1902 + #, python-format + msgid "---> Package %s.%s %s will be obsoleting" + msgstr "---> Le paquet %s.%s %s sera rendu obsolète" + +-#: dnf/cli/output.py:2028 ++#: dnf/cli/output.py:1904 + #, python-format + msgid "---> Package %s.%s %s will be upgraded" + msgstr "---> Le paquet %s.%s %s sera mis à jour" + +-#: dnf/cli/output.py:2030 ++#: dnf/cli/output.py:1906 + #, python-format + msgid "---> Package %s.%s %s will be obsoleted" + msgstr "---> Le paquet %s.%s %s sera rendu obsolète" + +-#: dnf/cli/output.py:2039 ++#: dnf/cli/output.py:1915 + msgid "--> Starting dependency resolution" + msgstr "--> Début de la résolution des dépendances" + +-#: dnf/cli/output.py:2044 ++#: dnf/cli/output.py:1919 + msgid "--> Finished dependency resolution" + msgstr "--> Résolution des dépendances terminée" + +-#: dnf/cli/output.py:2058 dnf/crypto.py:132 ++#: dnf/cli/output.py:1933 dnf/crypto.py:132 + #, python-format + msgid "" + "Importing GPG key 0x%s:\n" +@@ -3677,7 +3649,7 @@ msgstr "Module ou Groupe « %s » n’existe pas." + msgid "Environment id '%s' does not exist." + msgstr "L’id d’environnement « %s » n’existe pas." + +-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453 ++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487 + #, python-format + msgid "Environment id '%s' is not installed." + msgstr "L’id d’environnement « %s » n’est pas installé." +@@ -3791,6 +3763,11 @@ msgstr "dépôt %s : 0x%s déjà importé" + msgid "repo %s: imported key 0x%s." + msgstr "dépôt %s : clé importée 0x%s." + ++#: dnf/crypto.py:177 ++#, python-format ++msgid "retrieving repo key for %s unencrypted from %s" ++msgstr "récupération de la clé de repo de %s non cryptée à partir %s" ++ + #: dnf/db/group.py:293 + msgid "" + "No available modular metadata for modular package '{}', it cannot be " +@@ -3878,7 +3855,7 @@ msgid_plural "Modular dependency problems with Defaults:" + msgstr[0] "Problème de dépendance modulaire avec les valeurs par défaut :" + msgstr[1] "Problèmes de dépendance modulaire avec les valeurs par défaut :" + +-#: dnf/exceptions.py:131 dnf/module/module_base.py:686 ++#: dnf/exceptions.py:131 dnf/module/module_base.py:841 + msgid "Modular dependency problem:" + msgid_plural "Modular dependency problems:" + msgstr[0] "Problème de dépendance modulaire :" +@@ -3935,8 +3912,8 @@ msgstr "" + "\n" + "Aide : [d]éfaut, [e]activé, [x]désactivé, [i]nstallé, [a]ctivé" + +-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421 +-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543 ++#: dnf/module/module_base.py:54 dnf/module/module_base.py:547 ++#: dnf/module/module_base.py:603 dnf/module/module_base.py:669 + msgid "Ignoring unnecessary profile: '{}/{}'" + msgstr "Profil inutile ignoré : {}/{}" + +@@ -3947,21 +3924,21 @@ msgstr "" + "Toutes les correspondance pour le paramètre « {0} » dans le mode module « " + "{1}:{2} » ne sont pas actives" + +-#: dnf/module/module_base.py:92 ++#: dnf/module/module_base.py:92 dnf/module/module_base.py:202 + #, python-brace-format + msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "" + "L’installation du module « {0} » à partir du dépôt Fail-Safe {1} n’est pas " + "permise" + +-#: dnf/module/module_base.py:102 ++#: dnf/module/module_base.py:102 dnf/module/module_base.py:212 + msgid "" + "Unable to match profile for argument {}. Available profiles for '{}:{}': {}" + msgstr "" + "Impossible de faire correspondre le profil pour l’argument {}. Profils " + "disponibles pour « {}:{} » : {}" + +-#: dnf/module/module_base.py:106 ++#: dnf/module/module_base.py:106 dnf/module/module_base.py:216 + msgid "Unable to match profile for argument {}" + msgstr "Impossible de faire correspondre le profil pour l’argument {}" + +@@ -3978,39 +3955,53 @@ msgstr "Aucun profil pour le module {} : {}" + msgid "Default profile {} not available in module {}:{}" + msgstr "Le profil par défaut {} n’est pas disponible dans le module {} : {}" + +-#: dnf/module/module_base.py:142 ++#: dnf/module/module_base.py:142 dnf/module/module_base.py:245 + msgid "Installing module from Fail-Safe repository is not allowed" + msgstr "" + "L’installation du module à partir du dépôt Fail-Safe n’est pas permise" + +-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193 +-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355 +-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417 +-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539 ++#: dnf/module/module_base.py:194 ++#, python-brace-format ++msgid "No active matches for argument '{0}' in module '{1}:{2}'" ++msgstr "" ++"Aucune correspondance active pour l'argument '{0}' dans le module '{1}:{2}'" ++ ++#: dnf/module/module_base.py:226 ++#, python-brace-format ++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'" ++msgstr "" ++"Le profil installé '{0}' n'est pas disponible dans le module '{1}' stream " ++"'{2}'" ++ ++#: dnf/module/module_base.py:265 ++msgid "No packages available to distrosync for package name '{}'" ++msgstr "" ++"Aucun paquet disponible pour la distribution pour le nom de paquet '{}'" ++ ++#: dnf/module/module_base.py:308 dnf/module/module_base.py:452 ++#: dnf/module/module_base.py:477 dnf/module/module_base.py:496 ++#: dnf/module/module_base.py:543 dnf/module/module_base.py:599 ++#: dnf/module/module_base.py:665 dnf/module/module_base.py:827 + msgid "Unable to resolve argument {}" + msgstr "Impossible de résoudre le paramètre {}" + +-#: dnf/module/module_base.py:160 +-msgid "No match for package {}" +-msgstr "Aucune correspondance pour le paquet {}" +- +-#: dnf/module/module_base.py:204 ++#: dnf/module/module_base.py:319 + #, python-brace-format + msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "" + "La mise à niveau du module « {0} » à partir du dépôt Fail-Safe {1} n’est pas" + " permise" + +-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251 ++#: dnf/module/module_base.py:338 dnf/module/module_base.py:366 + msgid "Unable to match profile in argument {}" + msgstr "Impossible de faire correspondre le profil dans l’argument {}" + +-#: dnf/module/module_base.py:231 ++#: dnf/module/module_base.py:346 + msgid "Upgrading module from Fail-Safe repository is not allowed" + msgstr "" + "La mise à niveau du module à partir du dépôt Fail-Safe n’est pas permise" + +-#: dnf/module/module_base.py:367 ++#: dnf/module/module_base.py:500 + msgid "" + "Only module name is required. Ignoring unneeded information in argument: " + "'{}'" +@@ -4018,7 +4009,11 @@ msgstr "" + "Seul le nom du module est nécessaire. Les paramètres inutiles ont été " + "ignorés : « {} »" + +-#: dnf/package.py:298 ++#: dnf/module/module_base.py:828 ++msgid "No match for package {}" ++msgstr "Aucune correspondance pour le paquet {}" ++ ++#: dnf/package.py:333 + #, python-format + msgid "%s: %s check failed: %s vs %s" + msgstr "%s : %s vérification a échoué : %s vs %s" +@@ -4032,12 +4027,12 @@ msgstr "%s est un fichier vide" + #: dnf/persistor.py:91 + #, python-format + msgid "Failed to load expired repos cache: %s" +-msgstr "" ++msgstr "Echec du chargement du cache des repos expirés : %s" + + #: dnf/persistor.py:99 + #, python-format + msgid "Failed to store expired repos cache: %s" +-msgstr "" ++msgstr "N'a pas réussi à stocker le cache des repos expirés : %s" + + #: dnf/persistor.py:106 + msgid "Failed storing last makecache time." +@@ -4102,6 +4097,14 @@ msgstr "Ajout du dépôt %s depuis le %s" + msgid "Errors occurred during test transaction." + msgstr "Des erreurs sont survenues lors de la transaction de test." + ++#: dnf/sack.py:47 ++msgid "" ++"allow_vendor_change is disabled. This option is currently not supported for " ++"downgrade and distro-sync commands" ++msgstr "" ++"allow_vendor_change est désactivé. Cette option n'est actuellement pas prise" ++" en charge pour les commandes de downgrade et de distro-sync" ++ + #. TRANSLATORS: This is for a single package currently being downgraded. + #: dnf/transaction.py:80 + msgctxt "currently" +@@ -4148,27 +4151,31 @@ msgstr "Exécution du scriptlet" + msgid "Preparing" + msgstr "Préparation" + +-#: dnf/transaction_sr.py:60 ++#: dnf/transaction_sr.py:66 + #, python-brace-format +-msgid "Errors in \"{filename}\":" +-msgstr "Erreurs dans « {filename} » :" ++msgid "" ++"The following problems occurred while replaying the transaction from file " ++"\"{filename}\":" ++msgstr "" ++"Les problèmes suivants sont survenus lors de la relecture de la transaction " ++"à partir du fichier \"{filename}\" :" + +-#: dnf/transaction_sr.py:70 +-#, python-brace-format +-msgid "Error in \"{filename}\": {error}" +-msgstr "Erreur dans « {filename} » : {error}" ++#: dnf/transaction_sr.py:68 ++msgid "The following problems occurred while running a transaction:" ++msgstr "" ++"Les problèmes suivants sont survenus lors de l'exécution d'une transaction :" + +-#: dnf/transaction_sr.py:87 ++#: dnf/transaction_sr.py:89 + #, python-brace-format + msgid "Invalid major version \"{major}\", number expected." + msgstr "Version majeur invalide « {major} », numéro attendu." + +-#: dnf/transaction_sr.py:95 ++#: dnf/transaction_sr.py:97 + #, python-brace-format + msgid "Invalid minor version \"{minor}\", number expected." + msgstr "Version mineure invalide « {minor} », numéro attendu." + +-#: dnf/transaction_sr.py:101 ++#: dnf/transaction_sr.py:103 + #, python-brace-format + msgid "" + "Incompatible major version \"{major}\", supported major version is " +@@ -4177,137 +4184,186 @@ msgstr "" + "Version majeure incompatible « {major} », la version majeure prise en charge" + " est « {major_supp} »." + +-#: dnf/transaction_sr.py:244 ++#: dnf/transaction_sr.py:224 ++msgid "" ++"Conflicting TransactionReplay arguments have been specified: filename, data" ++msgstr "" ++"Des arguments contradictoires de TransactionReplay ont été spécifiés : nom " ++"de fichier, données" ++ ++#: dnf/transaction_sr.py:265 + #, python-brace-format + msgid "Unexpected type of \"{id}\", {exp} expected." + msgstr "Type de « {id} » inattendu, {exp} attendu." + +-#: dnf/transaction_sr.py:250 ++#: dnf/transaction_sr.py:271 + #, python-brace-format + msgid "Missing key \"{key}\"." + msgstr "Clé « {key} » manquante." + +-#: dnf/transaction_sr.py:263 ++#: dnf/transaction_sr.py:285 + #, python-brace-format + msgid "Missing object key \"{key}\" in an rpm." + msgstr "Clé objet « {key} » manquante dans un rpm." + +-#: dnf/transaction_sr.py:267 ++#: dnf/transaction_sr.py:289 + #, python-brace-format + msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"." + msgstr "" ++"Valeur inattendue de la raison du paquet \"{reason}\" pour rpm nevra " ++"\"{nevra}\"." + +-#: dnf/transaction_sr.py:275 ++#: dnf/transaction_sr.py:297 + #, python-brace-format + msgid "Cannot parse NEVRA for package \"{nevra}\"." +-msgstr "" ++msgstr "Impossible d'analyser NEVRA pour le paquet \"{nevra}\"." + +-#: dnf/transaction_sr.py:286 ++#: dnf/transaction_sr.py:321 + #, python-brace-format + msgid "Cannot find rpm nevra \"{nevra}\"." +-msgstr "" ++msgstr "Impossible de trouver rpm nevra \"{nevra}\"." + +-#: dnf/transaction_sr.py:301 +-#, fuzzy, python-brace-format +-#| msgid "Package %s is already installed." ++#: dnf/transaction_sr.py:336 ++#, python-brace-format + msgid "Package \"{na}\" is already installed for action \"{action}\"." +-msgstr "Le paquet %s est déjà installé." ++msgstr "Le paquet \"%s\" est déjà installé pour l'action \"{action}\"." + +-#: dnf/transaction_sr.py:311 ++#: dnf/transaction_sr.py:345 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\" not available in repositories for action " + "\"{action}\"." + msgstr "" ++"Le paquet nevra \"{nevra}\" n'est pas disponible dans les dépôts pour action" ++" \"{action}\"." + +-#: dnf/transaction_sr.py:322 ++#: dnf/transaction_sr.py:356 + #, python-brace-format + msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"." +-msgstr "" ++msgstr "Le paquet nevra \"{nevra}\" n'est pas installé pour l'action \"{action}\"." + +-#: dnf/transaction_sr.py:336 ++#: dnf/transaction_sr.py:370 + #, python-brace-format + msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"." +-msgstr "" ++msgstr "Valeur inattendue de l'action paquet \"{action}\" pour rpm nevra \"{nevra}\"." + +-#: dnf/transaction_sr.py:343 +-#, fuzzy, python-format +-#| msgid "Module or Group '%s' is not available." ++#: dnf/transaction_sr.py:377 ++#, python-format + msgid "Group id '%s' is not available." +-msgstr "Module ou Groupe « %s » non disponible." ++msgstr "L'id du groupe '%s' n'est pas disponible." + +-#: dnf/transaction_sr.py:364 ++#: dnf/transaction_sr.py:398 + #, python-brace-format + msgid "Missing object key \"{key}\" in groups.packages." +-msgstr "" ++msgstr "Clé d'objet manquante \"{key}\" dans groups.packages." + +-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387 +-#, fuzzy, python-format +-#| msgid "Module or Group '%s' is not installed." ++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421 ++#, python-format + msgid "Group id '%s' is not installed." +-msgstr "Module ou Groupe « %s » non installé." ++msgstr "L'id de groupe '%s' non installé." + +-#: dnf/transaction_sr.py:398 +-#, fuzzy, python-format +-#| msgid "Environment '%s' is not available." ++#: dnf/transaction_sr.py:432 ++#, python-format + msgid "Environment id '%s' is not available." +-msgstr "L’environnement « %s » n’est pas disponible." ++msgstr "L’id e l’environnement « %s » n’est pas disponible." + +-#: dnf/transaction_sr.py:422 ++#: dnf/transaction_sr.py:456 + #, python-brace-format + msgid "" + "Invalid value \"{group_type}\" of environments.groups.group_type, only " + "\"mandatory\" or \"optional\" is supported." + msgstr "" ++"Valeur invalide \"{group_type}\" de environments.groups.group_type, seul \" " ++"obligatoire \" ou \" optionnel \" est supporté." + +-#: dnf/transaction_sr.py:430 ++#: dnf/transaction_sr.py:464 + #, python-brace-format + msgid "Missing object key \"{key}\" in environments.groups." +-msgstr "" ++msgstr "Clé d'objet manquante \"{key}\" dans environments.groups." + +-#: dnf/transaction_sr.py:508 ++#: dnf/transaction_sr.py:542 + #, python-brace-format + msgid "Unexpected value of group action \"{action}\" for group \"{group}\"." + msgstr "" ++"Valeur inattendue de l'action de groupe \"{action}\" pour le groupe " ++"\"{group}\"." + +-#: dnf/transaction_sr.py:513 ++#: dnf/transaction_sr.py:547 + #, python-brace-format + msgid "Missing object key \"{key}\" in a group." +-msgstr "" ++msgstr "Clé d'objet manquant \"{key}\" dans un groupe." + +-#: dnf/transaction_sr.py:537 ++#: dnf/transaction_sr.py:571 + #, python-brace-format + msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"." + msgstr "" ++"Valeur inattendue de l'action environnementale \"{action}\" pour " ++"l'environnement \"{env}\"." + +-#: dnf/transaction_sr.py:542 ++#: dnf/transaction_sr.py:576 + #, python-brace-format + msgid "Missing object key \"{key}\" in an environment." +-msgstr "" ++msgstr "Clé d'objet manquant \"{key}\" dans un environnement." + +-#: dnf/transaction_sr.py:581 ++#: dnf/transaction_sr.py:615 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\", which is not present in the transaction file, was" + " pulled into the transaction." + msgstr "" ++"Le paquet nevra \"{nevra}\", qui n'est pas présent dans le fichier de " ++"transaction, a été introduit dans la transaction." + +-#: dnf/util.py:391 dnf/util.py:393 ++#: dnf/util.py:393 dnf/util.py:395 + msgid "Problem" + msgstr "Problème" + +-#: dnf/util.py:444 ++#: dnf/util.py:446 + msgid "TransactionItem not found for key: {}" + msgstr "TransactionItem n’a pas été trouvé pour la clef : {}" + +-#: dnf/util.py:454 ++#: dnf/util.py:456 + msgid "TransactionSWDBItem not found for key: {}" + msgstr "TransactionSWDBItem n’a pas été trouvé pour la clef : {}" + +-#: dnf/util.py:457 ++#: dnf/util.py:459 + msgid "Errors occurred during transaction." + msgstr "Des erreurs sont survenues lors de la transaction." + ++#: dnf/util.py:595 ++msgid "Reinstalled" ++msgstr "Réinstallé" ++ ++#: dnf/util.py:596 ++msgid "Skipped" ++msgstr "Ignoré" ++ ++#: dnf/util.py:597 ++msgid "Removed" ++msgstr "Supprimé" ++ ++#: dnf/util.py:600 ++msgid "Failed" ++msgstr "Échec" ++ ++#~ msgid "Action not handled: {}" ++#~ msgstr "Action non gérée : {}" ++ ++#~ msgid "no package matched" ++#~ msgstr "aucun paquet correspondant" ++ ++#~ msgid "Not found given transaction ID" ++#~ msgstr "L’identifiant de transaction fourni est introuvable" ++ ++#~ msgid "Undoing transaction {}, from {}" ++#~ msgstr "Révocation de lla transaction {}, de {}" ++ ++#~ msgid "Errors in \"{filename}\":" ++#~ msgstr "Erreurs dans « {filename} » :" ++ ++#~ msgid "Error in \"{filename}\": {error}" ++#~ msgstr "Erreur dans « {filename} » : {error}" ++ + #~ msgid "format for displaying found packages" + #~ msgstr "format d’affichage des paquets trouvés" + +diff --git a/po/ja.po b/po/ja.po +index 6435271c..00529771 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -22,20 +22,21 @@ + # Julien Humbert , 2020. + # Casey Jones , 2020. + # Hajime Taira , 2020. ++# Sundeep Anand , 2021. + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" +-"PO-Revision-Date: 2020-07-27 05:29+0000\n" +-"Last-Translator: Hajime Taira \n" +-"Language-Team: Japanese \n" ++"POT-Creation-Date: 2021-02-22 09:22+0100\n" ++"PO-Revision-Date: 2021-03-08 10:29+0000\n" ++"Last-Translator: Sundeep Anand \n" ++"Language-Team: Japanese \n" + "Language: ja\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" +-"X-Generator: Weblate 4.1.1\n" ++"X-Generator: Weblate 4.5.1\n" + + #: dnf/automatic/emitter.py:32 + #, python-format +@@ -45,7 +46,7 @@ msgstr "'%s' に以下の更新が適用されました:" + #: dnf/automatic/emitter.py:33 + #, python-format + msgid "Updates completed at %s" +-msgstr "'%s' に更新が適用されました。" ++msgstr "'%s' に更新が適用されました" + + #: dnf/automatic/emitter.py:34 + #, python-format +@@ -92,7 +93,7 @@ msgstr "不明な設定値: %s=%s in %s; %s" + msgid "Unknown configuration option: %s = %s in %s" + msgstr "不明な設定オプション: %s = %s in %s" + +-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299 ++#: dnf/automatic/main.py:237 dnf/cli/cli.py:304 + msgid "GPG check FAILED" + msgstr "GPG の確認に失敗しました" + +@@ -105,9 +106,9 @@ msgid "Started dnf-automatic." + msgstr "dnf-automatic を開始しました。" + + #: dnf/automatic/main.py:308 +-#, python-format +-msgid "Sleep for %s seconds" +-msgstr "%s 秒スリープします" ++msgid "Sleep for {} second" ++msgid_plural "Sleep for {} seconds" ++msgstr[0] "{} 秒スリープします" + + #: dnf/automatic/main.py:315 + msgid "System is off-line." +@@ -119,7 +120,7 @@ msgstr "システムはオフラインです。" + msgid "Error: %s" + msgstr "エラー: %s" + +-#: dnf/base.py:146 ++#: dnf/base.py:146 dnf/base.py:472 dnf/base.py:474 + msgid "loading repo '{}' failure: {}" + msgstr "repo '{}' のロードに失敗しました: {}" + +@@ -127,236 +128,236 @@ msgstr "repo '{}' のロードに失敗しました: {}" + msgid "Loading repository '{}' has failed" + msgstr "repository '{}' のロードに失敗しました" + +-#: dnf/base.py:320 ++#: dnf/base.py:322 + msgid "Metadata timer caching disabled when running on metered connection." + msgstr "metered 接続で実行する際、メタデータタイマーキャッシュは無効化されました。" + +-#: dnf/base.py:325 ++#: dnf/base.py:327 + msgid "Metadata timer caching disabled when running on a battery." + msgstr "バッテリーで実行する際、メタデータタイマーキャッシュは無効化されました。" + +-#: dnf/base.py:330 ++#: dnf/base.py:332 + msgid "Metadata timer caching disabled." + msgstr "メタデータタイマーキャッシュは無効化されました。" + +-#: dnf/base.py:335 ++#: dnf/base.py:337 + msgid "Metadata cache refreshed recently." + msgstr "メタデータキャッシュは最近、リフレッシュされました。" + +-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:343 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "\"{}\" には有効化されたリポジトリーがありません。" + +-#: dnf/base.py:348 ++#: dnf/base.py:350 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "%s: は期限切れになることはなく、リフレッシュされることもありません。" + +-#: dnf/base.py:350 ++#: dnf/base.py:352 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "%s: は期限切れとなったのでリフレッシュされます。" + + #. expires within the checking period: +-#: dnf/base.py:354 ++#: dnf/base.py:356 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "%s: メタデータは %d 秒後に期限切れとなり、すぐにリフレッシュされます" + +-#: dnf/base.py:358 ++#: dnf/base.py:360 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "%s: は %d 秒後に期限切れとなります。" + + #. performs the md sync +-#: dnf/base.py:364 ++#: dnf/base.py:366 + msgid "Metadata cache created." + msgstr "メタデータキャッシュを作成しました。" + +-#: dnf/base.py:397 ++#: dnf/base.py:399 dnf/base.py:466 + #, python-format + msgid "%s: using metadata from %s." +-msgstr "%s: は %s から取得したメタデータを使用中" ++msgstr "%s: は %s から取得したメタデータを使用中。" + +-#: dnf/base.py:409 ++#: dnf/base.py:411 dnf/base.py:479 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "リポジトリーを無視します: %s" + +-#: dnf/base.py:412 ++#: dnf/base.py:414 + #, python-format + msgid "Last metadata expiration check: %s ago on %s." + msgstr "メタデータの期限切れの最終確認: %s 時間前の %s に実施しました。" + +-#: dnf/base.py:443 ++#: dnf/base.py:507 + msgid "" + "The downloaded packages were saved in cache until the next successful " + "transaction." + msgstr "ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。" + +-#: dnf/base.py:445 ++#: dnf/base.py:509 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "'%s' を実行することでキャッシュパッケージを削除できます。" + +-#: dnf/base.py:535 ++#: dnf/base.py:599 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "設定ファイルの tsflag が無効です: %s" + +-#: dnf/base.py:591 ++#: dnf/base.py:655 + #, python-format + msgid "Failed to add groups file for repository: %s - %s" + msgstr "リポジトリーのグループファイルを追加できませんでした: %s - %s" + +-#: dnf/base.py:823 ++#: dnf/base.py:887 + msgid "Running transaction check" + msgstr "トランザクションの確認を実行中" + +-#: dnf/base.py:831 ++#: dnf/base.py:895 + msgid "Error: transaction check vs depsolve:" + msgstr "エラー: トランザクションの確認 vs depsolve:" + +-#: dnf/base.py:837 ++#: dnf/base.py:901 + msgid "Transaction check succeeded." + msgstr "トランザクションの確認に成功しました。" + +-#: dnf/base.py:840 ++#: dnf/base.py:904 + msgid "Running transaction test" + msgstr "トランザクションのテストを実行中" + +-#: dnf/base.py:850 dnf/base.py:992 ++#: dnf/base.py:914 dnf/base.py:1065 + msgid "RPM: {}" + msgstr "RPM: {}" + +-#: dnf/base.py:851 ++#: dnf/base.py:915 + msgid "Transaction test error:" + msgstr "トランザクションテストエラー:" + +-#: dnf/base.py:862 ++#: dnf/base.py:926 + msgid "Transaction test succeeded." + msgstr "トランザクションのテストに成功しました。" + +-#: dnf/base.py:883 ++#: dnf/base.py:947 + msgid "Running transaction" + msgstr "トランザクションを実行中" + +-#: dnf/base.py:911 ++#: dnf/base.py:984 + msgid "Disk Requirements:" +-msgstr "ディスク要件" ++msgstr "ディスク要件:" + +-#: dnf/base.py:914 ++#: dnf/base.py:987 + #, python-brace-format + msgid "At least {0}MB more space needed on the {1} filesystem." + msgid_plural "At least {0}MB more space needed on the {1} filesystem." + msgstr[0] "{1} ファイルシステムに最低 {0}MB の追加スペースが必要です。" + +-#: dnf/base.py:921 ++#: dnf/base.py:994 + msgid "Error Summary" + msgstr "エラーの概要" + +-#: dnf/base.py:947 ++#: dnf/base.py:1020 + #, python-brace-format + msgid "RPMDB altered outside of {prog}." + msgstr "RPMDBは {prog} のサポート外に変更されました。" + +-#: dnf/base.py:993 dnf/base.py:1001 ++#: dnf/base.py:1066 dnf/base.py:1074 + msgid "Could not run transaction." + msgstr "トランザクションを実行できませんでした。" + +-#: dnf/base.py:996 ++#: dnf/base.py:1069 + msgid "Transaction couldn't start:" + msgstr "トランザクションを開始できませんでした:" + +-#: dnf/base.py:1010 ++#: dnf/base.py:1083 + #, python-format + msgid "Failed to remove transaction file %s" + msgstr "トランザクションファイル %s の削除に失敗しました" + +-#: dnf/base.py:1092 ++#: dnf/base.py:1165 + msgid "Some packages were not downloaded. Retrying." + msgstr "一部のパッケージはダウンロードされませんでした。再試行中です。" + +-#: dnf/base.py:1122 ++#: dnf/base.py:1195 + #, python-format + msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)" + msgstr "Delta RPM により %.1f MB の更新を %.1f MB に削減できました。(%d.1%% がキャッシュされていました)" + +-#: dnf/base.py:1125 ++#: dnf/base.py:1198 + #, python-format + msgid "" + "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)" + msgstr "非効率な Delta RPM により %.1f MB の更新が増加し、%.1f MB となりました。(%d.1%% が無駄になりました)" + +-#: dnf/base.py:1167 ++#: dnf/base.py:1240 + msgid "Cannot add local packages, because transaction job already exists" + msgstr "ローカルパッケージを追加できません、トランザクションジョブがすでに存在するためです" + +-#: dnf/base.py:1181 ++#: dnf/base.py:1254 + msgid "Could not open: {}" + msgstr "開くことができませんでした: {}" + +-#: dnf/base.py:1219 ++#: dnf/base.py:1292 + #, python-format + msgid "Public key for %s is not installed" + msgstr "%s の公開鍵がインストールされていません" + +-#: dnf/base.py:1223 ++#: dnf/base.py:1296 + #, python-format + msgid "Problem opening package %s" + msgstr "パッケージ %s を開くことができません" + +-#: dnf/base.py:1231 ++#: dnf/base.py:1304 + #, python-format + msgid "Public key for %s is not trusted" + msgstr "%s の公開鍵は信頼されていません" + +-#: dnf/base.py:1235 ++#: dnf/base.py:1308 + #, python-format + msgid "Package %s is not signed" + msgstr "パッケージ %s は署名されていません" + +-#: dnf/base.py:1265 ++#: dnf/base.py:1338 + #, python-format + msgid "Cannot remove %s" + msgstr "%s を削除できません" + +-#: dnf/base.py:1269 ++#: dnf/base.py:1342 + #, python-format + msgid "%s removed" + msgstr "%s を削除しました" + +-#: dnf/base.py:1549 ++#: dnf/base.py:1622 + msgid "No match for group package \"{}\"" +-msgstr "グループパッケージ \"{}\" に一致するものはありません" ++msgstr "グループパッケージ \"{}\" に一致するものはありません" + +-#: dnf/base.py:1635 ++#: dnf/base.py:1708 + #, python-format + msgid "Adding packages from group '%s': %s" + msgstr "グループ '%s' からのパッケージを追加します: %s" + +-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442 ++#: dnf/base.py:1731 dnf/cli/cli.py:220 dnf/cli/commands/__init__.py:442 + #: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592 + #: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80 + #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110 + msgid "Nothing to do." + msgstr "行うべきことはありません。" + +-#: dnf/base.py:1676 ++#: dnf/base.py:1749 + msgid "No groups marked for removal." + msgstr "削除対象のパッケージはありません。" + +-#: dnf/base.py:1710 ++#: dnf/base.py:1783 + msgid "No group marked for upgrade." + msgstr "アップグレード対象のグループはありません。" + +-#: dnf/base.py:1925 ++#: dnf/base.py:1997 + #, python-format + msgid "Package %s not installed, cannot downgrade it." + msgstr "パッケージ %s はインストールされていないので、ダウングレードできません。" + +-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980 +-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411 ++#: dnf/base.py:1999 dnf/base.py:2018 dnf/base.py:2031 dnf/base.py:2052 ++#: dnf/base.py:2101 dnf/base.py:2109 dnf/base.py:2243 dnf/cli/cli.py:416 + #: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482 + #: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633 + #: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147 +@@ -366,141 +367,127 @@ msgstr "パッケージ %s はインストールされていないので、ダ + msgid "No match for argument: %s" + msgstr "一致した引数がありません: %s" + +-#: dnf/base.py:1934 ++#: dnf/base.py:2006 + #, python-format + msgid "Package %s of lower version already installed, cannot downgrade it." + msgstr "下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。" + +-#: dnf/base.py:1957 ++#: dnf/base.py:2029 + #, python-format + msgid "Package %s not installed, cannot reinstall it." + msgstr "パッケージ %s はインストールされていないのでの、再インストールできません。" + +-#: dnf/base.py:1972 ++#: dnf/base.py:2044 + #, python-format + msgid "File %s is a source package and cannot be updated, ignoring." + msgstr "ファイル %s はソースパッケージで更新できません。無視します。" + +-#: dnf/base.py:1978 ++#: dnf/base.py:2050 + #, python-format + msgid "Package %s not installed, cannot update it." + msgstr "パッケージ %s はインストールされていないので、更新できません。" + +-#: dnf/base.py:1987 ++#: dnf/base.py:2059 + #, python-format + msgid "" + "The same or higher version of %s is already installed, cannot update it." + msgstr "同じまたはさらに新しいバージョンの %s が既にインストールされています、アップデートできません。" + +-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2098 dnf/cli/commands/reinstall.py:81 + #, python-format + msgid "Package %s available, but not installed." + msgstr "パッケージ %s は利用可能ですが、インストールされていません。" + +-#: dnf/base.py:2032 ++#: dnf/base.py:2104 + #, python-format + msgid "Package %s available, but installed for different architecture." + msgstr "パッケージ %s は利用可能ですが、他のアーキテクチャー用にインストールされています。" + +-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699 ++#: dnf/base.py:2129 + #, python-format + msgid "No package %s installed." + msgstr "パッケージ %s はインストールされていません。" + +-#: dnf/base.py:2075 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2147 dnf/cli/commands/install.py:136 + #: dnf/cli/commands/remove.py:133 + #, python-format + msgid "Not a valid form: %s" + msgstr "有効な形式ではありません: %s" + +-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681 +-#: dnf/cli/commands/remove.py:163 ++#: dnf/base.py:2162 dnf/cli/commands/__init__.py:681 ++#: dnf/cli/commands/remove.py:162 + msgid "No packages marked for removal." + msgstr "削除対象のパッケージはありません。" + +-#: dnf/base.py:2179 dnf/cli/cli.py:422 ++#: dnf/base.py:2250 dnf/cli/cli.py:427 + #, python-format + msgid "Packages for argument %s available, but not installed." +-msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。" ++msgstr "引数 %s のパッケージは利用可能ですが、インストールされていません。" + +-#: dnf/base.py:2184 ++#: dnf/base.py:2255 + #, python-format + msgid "Package %s of lowest version already installed, cannot downgrade it." + msgstr "最下位バージョンのパッケージ %s はインストール済みなので、ダウングレードできません。" + +-#: dnf/base.py:2242 +-msgid "Action not handled: {}" +-msgstr "動作は対処されていません: {}" +- +-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703 +-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169 +-#, python-format +-msgid "No package %s available." +-msgstr "利用可能なパッケージ %s がありません。" +- +-#: dnf/base.py:2269 +-msgid "no package matched" +-msgstr "一致したパッケージはありません。" +- +-#: dnf/base.py:2290 ++#: dnf/base.py:2302 + msgid "No security updates needed, but {} update available" + msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です" + +-#: dnf/base.py:2292 ++#: dnf/base.py:2304 + msgid "No security updates needed, but {} updates available" + msgstr "セキュリティー更新は必要ありませんが、{} 更新が利用可能です" + +-#: dnf/base.py:2296 ++#: dnf/base.py:2308 + msgid "No security updates needed for \"{}\", but {} update available" + msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です" + +-#: dnf/base.py:2298 ++#: dnf/base.py:2310 + msgid "No security updates needed for \"{}\", but {} updates available" + msgstr "\"{}\" のセキュリティー更新は必要ありませんが、{} 更新が利用可能です" + + #. raise an exception, because po.repoid is not in self.repos +-#: dnf/base.py:2319 ++#: dnf/base.py:2331 + #, python-format + msgid "Unable to retrieve a key for a commandline package: %s" +-msgstr "" ++msgstr "コマンドラインパッケージのキーを取得できません: %s" + +-#: dnf/base.py:2327 ++#: dnf/base.py:2339 + #, python-format + msgid ". Failing package is: %s" + msgstr ". 失敗したパッケージは: %s" + +-#: dnf/base.py:2328 ++#: dnf/base.py:2340 + #, python-format + msgid "GPG Keys are configured as: %s" + msgstr "GPG 鍵が設定されています: %s" + +-#: dnf/base.py:2340 ++#: dnf/base.py:2352 + #, python-format + msgid "GPG key at %s (0x%s) is already installed" + msgstr "%s (0x%s) の GPG 鍵はインストール済みです" + +-#: dnf/base.py:2373 ++#: dnf/base.py:2385 + msgid "The key has been approved." + msgstr "鍵が承認されました。" + +-#: dnf/base.py:2376 ++#: dnf/base.py:2388 + msgid "The key has been rejected." + msgstr "鍵が拒否されました。" + +-#: dnf/base.py:2409 ++#: dnf/base.py:2421 + #, python-format + msgid "Key import failed (code %d)" + msgstr "鍵のインポートに失敗しました (コード: %d)" + +-#: dnf/base.py:2411 ++#: dnf/base.py:2423 + msgid "Key imported successfully" + msgstr "鍵のインポートに成功しました" + +-#: dnf/base.py:2415 ++#: dnf/base.py:2427 + msgid "Didn't install any keys" + msgstr "鍵を 1 つもインストールしませんでした" + +-#: dnf/base.py:2418 ++#: dnf/base.py:2430 + #, python-format + msgid "" + "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n" +@@ -509,49 +496,49 @@ msgstr "" + "\"%s\" リポジトリーに一覧表示されている GPG 鍵はインストール済みですが、このパッケージには適切ではありません。\n" + "正しい鍵 URL がこのリポジトリー用に設定されているか確認してください。" + +-#: dnf/base.py:2429 ++#: dnf/base.py:2441 + msgid "Import of key(s) didn't help, wrong key(s)?" + msgstr "鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?" + +-#: dnf/base.py:2482 ++#: dnf/base.py:2494 + msgid " * Maybe you meant: {}" + msgstr " * おそらく: {}" + +-#: dnf/base.py:2514 ++#: dnf/base.py:2526 + msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" + msgstr "ローカルリポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません" + +-#: dnf/base.py:2517 ++#: dnf/base.py:2529 + msgid "Some packages from local repository have incorrect checksum" + msgstr "ローカルリポジトリーのいくつかのパッケージのチェックサムは正しくありません" + +-#: dnf/base.py:2520 ++#: dnf/base.py:2532 + msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" + msgstr "リポジトリー \"{}\" のパッケージ \"{}\" のチェックサムは正しくありません" + +-#: dnf/base.py:2523 ++#: dnf/base.py:2535 + msgid "" + "Some packages have invalid cache, but cannot be downloaded due to \"--" + "cacheonly\" option" + msgstr "いくつかのパッケージには無効なキャッシュがありますが、\"--cacheonly\" オプションによりダウンロードできません" + +-#: dnf/base.py:2541 dnf/base.py:2561 ++#: dnf/base.py:2553 dnf/base.py:2573 + msgid "No match for argument" + msgstr "一致した引数がありません" + +-#: dnf/base.py:2549 dnf/base.py:2569 ++#: dnf/base.py:2561 dnf/base.py:2581 + msgid "All matches were filtered out by exclude filtering for argument" +-msgstr "すべての検索結果は引数の除外フィルタリングに一致しません(filter out)" ++msgstr "すべての検索結果は引数の除外フィルタリングに一致しません (filter out)" + +-#: dnf/base.py:2551 ++#: dnf/base.py:2563 + msgid "All matches were filtered out by modular filtering for argument" +-msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません(filter out)" ++msgstr "すべての検出結果は引数のモジュラーフィルタリングに一致しません (filter out)" + +-#: dnf/base.py:2567 ++#: dnf/base.py:2579 + msgid "All matches were installed from a different repository for argument" + msgstr "すべての検索結果は引数に対し異なるレポジトリからインストールされたものです" + +-#: dnf/base.py:2583 ++#: dnf/base.py:2626 + #, python-format + msgid "Package %s is already installed." + msgstr "パッケージ %s は既にインストールされています。" +@@ -571,8 +558,8 @@ msgstr "ファイル \"%s\" の解析に失敗しました: %s" + msgid "Cannot read file \"%s\": %s" + msgstr "ファイル \"%s\" を読み込めません: %s" + +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902 +-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:803 ++#: dnf/cli/cli.py:807 dnf/cli/commands/alias.py:108 + #, python-format + msgid "Config error: %s" + msgstr "設定エラー: %s" +@@ -603,7 +590,7 @@ msgid "" + "stream '{2}'" + msgstr "オペレーションは、モジュール '{0}' ストリーム '{1}' を ストリーム '{2}' へと切り替える結果となります" + +-#: dnf/cli/cli.py:172 ++#: dnf/cli/cli.py:173 + #, python-brace-format + msgid "" + "It is not possible to switch enabled streams of a module.\n" +@@ -612,35 +599,35 @@ msgstr "" + "モジュールの有効なストリームを切り替えることはできません。\n" + "モジュールからインストールされた全てのコンテンツを削除し、 '{prog} module reset ' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。" + +-#: dnf/cli/cli.py:210 ++#: dnf/cli/cli.py:211 + #, python-brace-format + msgid "{prog} will only download packages for the transaction." + msgstr "{prog} はトランザクションでパッケージのダウンロードのみ行います。" + +-#: dnf/cli/cli.py:213 ++#: dnf/cli/cli.py:214 + #, python-brace-format + msgid "" + "{prog} will only download packages, install gpg keys, and check the " + "transaction." + msgstr "{prog} はパッケージのダウンロード、gpgキーのインストール、トランザクションのチェックのみ行います。" + +-#: dnf/cli/cli.py:217 ++#: dnf/cli/cli.py:218 + msgid "Operation aborted." + msgstr "操作が中断されました。" + +-#: dnf/cli/cli.py:224 ++#: dnf/cli/cli.py:225 + msgid "Downloading Packages:" + msgstr "パッケージのダウンロード:" + +-#: dnf/cli/cli.py:230 ++#: dnf/cli/cli.py:231 + msgid "Error downloading packages:" + msgstr "パッケージのダウンロード中にエラーが発生しました:" + +-#: dnf/cli/cli.py:258 ++#: dnf/cli/cli.py:263 + msgid "Transaction failed" + msgstr "トランザクションが失敗しました" + +-#: dnf/cli/cli.py:281 ++#: dnf/cli/cli.py:286 + msgid "" + "Refusing to automatically import keys when running unattended.\n" + "Use \"-y\" to override." +@@ -648,116 +635,95 @@ msgstr "" + "無人での実行中に鍵の自動インポートを拒否します。\n" + "オーバーライドするには \"-y\" を使用してください。" + +-#: dnf/cli/cli.py:331 ++#: dnf/cli/cli.py:336 + msgid "Changelogs for {}" + msgstr "{} の Changelogs" + +-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511 ++#: dnf/cli/cli.py:369 dnf/cli/cli.py:510 dnf/cli/cli.py:516 + msgid "Obsoleting Packages" + msgstr "パッケージの廃止" + +-#: dnf/cli/cli.py:393 ++#: dnf/cli/cli.py:398 + msgid "No packages marked for distribution synchronization." +-msgstr "ディストリビューション同期対象のパッケージがありません" ++msgstr "ディストリビューション同期対象のパッケージがありません。" ++ ++#: dnf/cli/cli.py:424 dnf/cli/commands/group.py:395 ++#, python-format ++msgid "No package %s available." ++msgstr "利用可能なパッケージ %s がありません。" + +-#: dnf/cli/cli.py:428 ++#: dnf/cli/cli.py:433 + msgid "No packages marked for downgrade." + msgstr "ダウングレード対象のパッケージはありません。" + +-#: dnf/cli/cli.py:479 ++#: dnf/cli/cli.py:484 + msgid "Installed Packages" + msgstr "インストール済みパッケージ" + +-#: dnf/cli/cli.py:487 ++#: dnf/cli/cli.py:492 + msgid "Available Packages" + msgstr "利用可能なパッケージ" + +-#: dnf/cli/cli.py:491 ++#: dnf/cli/cli.py:496 + msgid "Autoremove Packages" + msgstr "パッケージを自動削除します" + +-#: dnf/cli/cli.py:493 ++#: dnf/cli/cli.py:498 + msgid "Extra Packages" + msgstr "エクストラパッケージ" + +-#: dnf/cli/cli.py:497 ++#: dnf/cli/cli.py:502 + msgid "Available Upgrades" + msgstr "利用可能なアップグレード" + +-#: dnf/cli/cli.py:513 ++#: dnf/cli/cli.py:518 + msgid "Recently Added Packages" + msgstr "最近追加したパッケージ" + +-#: dnf/cli/cli.py:518 ++#: dnf/cli/cli.py:522 + msgid "No matching Packages to list" + msgstr "表示するための一致したパッケージはありません" + +-#: dnf/cli/cli.py:599 ++#: dnf/cli/cli.py:603 + msgid "No Matches found" + msgstr "一致したものは見つかりませんでした" + +-#: dnf/cli/cli.py:609 +-msgid "No transaction ID given" +-msgstr "トランザクション ID は指定されていません" +- +-#: dnf/cli/cli.py:614 +-msgid "Not found given transaction ID" +-msgstr "指定されたトランザクション ID は見つかりません" +- +-#: dnf/cli/cli.py:623 +-msgid "Found more than one transaction ID!" +-msgstr "1 つ以上のトランザクション ID が見つかりました!" +- +-#: dnf/cli/cli.py:640 +-#, python-format +-msgid "Transaction history is incomplete, before %u." +-msgstr "%u の前のトランザクション履歴が不完全です。" +- +-#: dnf/cli/cli.py:642 +-#, python-format +-msgid "Transaction history is incomplete, after %u." +-msgstr "%u の後のトランザクション履歴が不完全です。" +- +-#: dnf/cli/cli.py:689 +-msgid "Undoing transaction {}, from {}" +-msgstr "トランザクション {} を {} から取り消しています" +- +-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:670 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "不明な repo : '%s'" + +-#: dnf/cli/cli.py:783 ++#: dnf/cli/cli.py:684 + #, python-format + msgid "No repository match: %s" + msgstr "一致するリポジトリーがありません: %s" + +-#: dnf/cli/cli.py:817 ++#: dnf/cli/cli.py:718 + msgid "" + "This command has to be run with superuser privileges (under the root user on" + " most systems)." + msgstr "このコマンドはスーパーユーザー特権(大概のシステムではrootユーザー)で実行しなければいけません。" + +-#: dnf/cli/cli.py:847 ++#: dnf/cli/cli.py:748 + #, python-format + msgid "No such command: %s. Please use %s --help" +-msgstr "そのようなコマンドはありません: %s. %s --help を使用してください。" ++msgstr "そのようなコマンドはありません: %s. %s --help を使用してください" + +-#: dnf/cli/cli.py:850 ++#: dnf/cli/cli.py:751 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" + "command(%s)'\"" + msgstr "{PROG} プラグインコマンドを実行できません、試してください: \"{prog} install 'dnf-command(%s)'\"" + +-#: dnf/cli/cli.py:854 ++#: dnf/cli/cli.py:755 + #, python-brace-format + msgid "" + "It could be a {prog} plugin command, but loading of plugins is currently " + "disabled." + msgstr "{prog} プラグインコマンドを実行できません、プラグインのロードが現在無効になっているようです。" + +-#: dnf/cli/cli.py:912 ++#: dnf/cli/cli.py:813 + msgid "" + "--destdir or --downloaddir must be used with --downloadonly or download or " + "system-upgrade command." +@@ -765,7 +731,7 @@ msgstr "" + "--destdir または --downloaddir は、--downloadonly、download あるいは system-upgrade " + "コマンドと共に使用する必要があります。" + +-#: dnf/cli/cli.py:918 ++#: dnf/cli/cli.py:819 + msgid "" + "--enable, --set-enabled and --disable, --set-disabled must be used with " + "config-manager command." +@@ -773,7 +739,7 @@ msgstr "" + "--enable と --set-enabled および --disable と --set-disabled は、config-manager " + "コマンドと共に使用しなければなりません。" + +-#: dnf/cli/cli.py:1000 ++#: dnf/cli/cli.py:901 + msgid "" + "Warning: Enforcing GPG signature check globally as per active RPM security " + "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" +@@ -781,38 +747,38 @@ msgstr "" + "警告: アクティブな RPM セキュリティーポリシーにより、GPG 署名の確認をグローバルに強制します " + "(このメッセージをスケルチするには、dnf.conf(5) の 'gpgcheck' を参照してください)" + +-#: dnf/cli/cli.py:1020 ++#: dnf/cli/cli.py:921 + msgid "Config file \"{}\" does not exist" + msgstr "設定ファイル \"{}\" は存在しません" + +-#: dnf/cli/cli.py:1040 ++#: dnf/cli/cli.py:941 + msgid "" + "Unable to detect release version (use '--releasever' to specify release " + "version)" + msgstr "リリースバージョンを検出できません (リリースバージョンを指定するには '--releasever' を使用してください)" + +-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1028 dnf/cli/commands/repoquery.py:471 + msgid "argument {}: not allowed with argument {}" + msgstr "引数 {}: 引数 {} と許可されていません" + +-#: dnf/cli/cli.py:1134 ++#: dnf/cli/cli.py:1035 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "コマンド \"%s\" はすでに定義済みです" + +-#: dnf/cli/cli.py:1154 ++#: dnf/cli/cli.py:1055 + msgid "Excludes in dnf.conf: " + msgstr "dnf.conf で除外します: " + +-#: dnf/cli/cli.py:1157 ++#: dnf/cli/cli.py:1058 + msgid "Includes in dnf.conf: " + msgstr "dnf.conf で含めます: " + +-#: dnf/cli/cli.py:1160 ++#: dnf/cli/cli.py:1061 + msgid "Excludes in repo " + msgstr "repo で除外します " + +-#: dnf/cli/cli.py:1163 ++#: dnf/cli/cli.py:1064 + msgid "Includes in repo " + msgstr "repo に含めます " + +@@ -869,7 +835,7 @@ msgid "show all packages (default)" + msgstr "すべてのパッケージを表示します (デフォルト)" + + #: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743 +-#: dnf/cli/commands/module.py:351 ++#: dnf/cli/commands/module.py:373 + msgid "show only available packages" + msgstr "利用可能なパッケージのみを表示します" + +@@ -1194,78 +1160,78 @@ msgstr "グループ情報を表示または使用します" + msgid "No group data available for configured repositories." + msgstr "設定されたリポジトリーが利用可能なグループデータはありません。" + +-#: dnf/cli/commands/group.py:129 ++#: dnf/cli/commands/group.py:126 + #, python-format + msgid "Warning: Group %s does not exist." + msgstr "警告: グループ %s は存在しません。" + +-#: dnf/cli/commands/group.py:170 ++#: dnf/cli/commands/group.py:167 + msgid "Warning: No groups match:" + msgstr "警告: 一致するグループはありません:" + +-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193 +-#: dnf/cli/output.py:1226 ++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190 ++#: dnf/cli/output.py:1139 + msgid "" + msgstr "" + +-#: dnf/cli/commands/group.py:199 ++#: dnf/cli/commands/group.py:196 + msgid "Available Environment Groups:" + msgstr "利用可能な環境グループ:" + +-#: dnf/cli/commands/group.py:201 ++#: dnf/cli/commands/group.py:198 + msgid "Installed Environment Groups:" + msgstr "インストール済みの環境グループ:" + +-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294 ++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291 + msgid "Installed Groups:" + msgstr "インストール済みのグループ:" + +-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301 ++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298 + msgid "Installed Language Groups:" + msgstr "インストール済みの言語グループ:" + +-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308 ++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305 + msgid "Available Groups:" + msgstr "利用可能なグループ:" + +-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315 ++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312 + msgid "Available Language Groups:" + msgstr "利用可能な言語グループ:" + +-#: dnf/cli/commands/group.py:322 ++#: dnf/cli/commands/group.py:319 + msgid "include optional packages from group" + msgstr "グループのオプションパッケージを含めます" + +-#: dnf/cli/commands/group.py:325 ++#: dnf/cli/commands/group.py:322 + msgid "show also hidden groups" + msgstr "非表示のグループも表示します" + +-#: dnf/cli/commands/group.py:327 ++#: dnf/cli/commands/group.py:324 + msgid "show only installed groups" + msgstr "インストール済みのグループのみを表示します" + +-#: dnf/cli/commands/group.py:329 ++#: dnf/cli/commands/group.py:326 + msgid "show only available groups" + msgstr "利用可能なグループのみを表示します" + +-#: dnf/cli/commands/group.py:331 ++#: dnf/cli/commands/group.py:328 + msgid "show also ID of groups" + msgstr "グループIDも表示" + +-#: dnf/cli/commands/group.py:333 ++#: dnf/cli/commands/group.py:330 + msgid "available subcommands: {} (default), {}" + msgstr "利用可能なサブコマンド: {} (default), {}" + +-#: dnf/cli/commands/group.py:337 ++#: dnf/cli/commands/group.py:334 + msgid "argument for group subcommand" + msgstr "グループサブコマンドの引数" + +-#: dnf/cli/commands/group.py:346 ++#: dnf/cli/commands/group.py:343 + #, python-format + msgid "Invalid groups sub-command, use: %s." +-msgstr "groups のサブコマンドが無効です: %s. を使用します" ++msgstr "groups のサブコマンドが無効です: %s を使用します。" + +-#: dnf/cli/commands/group.py:403 ++#: dnf/cli/commands/group.py:398 + msgid "Unable to find a mandatory group package." + msgstr "必須のグループパッケージを見つけることができません。" + +@@ -1275,25 +1241,25 @@ msgstr "トランザクション履歴を表示、または使用します" + + #: dnf/cli/commands/history.py:66 + msgid "For the store command, file path to store the transaction to" +-msgstr "" ++msgstr "store コマンドの場合は、トランザクションを保存するファイルパス" + + #: dnf/cli/commands/history.py:68 + msgid "" + "For the replay command, don't check for installed packages matching those in" + " transaction" +-msgstr "" ++msgstr "replay コマンドの場合は、トランザクション内のパッケージに一致するインストール済みパッケージを確認しない" + + #: dnf/cli/commands/history.py:71 + msgid "" + "For the replay command, don't check for extra packages pulled into the " + "transaction" +-msgstr "" ++msgstr "replay コマンドの場合は、トランザクションにプルされた追加パッケージを確認しない" + + #: dnf/cli/commands/history.py:74 + msgid "" + "For the replay command, skip packages that are not available or have missing" + " dependencies" +-msgstr "" ++msgstr "replay コマンドの場合は、利用できないパッケージや、依存関係が不足しているパッケージをスキップ" + + #: dnf/cli/commands/history.py:94 + msgid "" +@@ -1304,41 +1270,64 @@ msgstr "" + "'{}' は 1 つのトランザクション ID またはパッケージ名が必要です。" + + #: dnf/cli/commands/history.py:101 +-#, fuzzy +-#| msgid "No transaction ID or package name given." + msgid "No transaction file name given." +-msgstr "トランザクション ID、またはパッケージ名が指定されていません。" ++msgstr "トランザクションファイル名が指定されていません。" + + #: dnf/cli/commands/history.py:103 +-#, fuzzy +-#| msgid "Failed to remove transaction file %s" + msgid "More than one argument given as transaction file name." +-msgstr "トランザクションファイル %s の削除に失敗しました" ++msgstr "トランザクションファイル名として指定された複数の引数。" + +-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126 ++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130 + msgid "No transaction ID or package name given." + msgstr "トランザクション ID、またはパッケージ名が指定されていません。" + +-#: dnf/cli/commands/history.py:138 ++#: dnf/cli/commands/history.py:142 + #, python-format + msgid "You don't have access to the history DB: %s" + msgstr "履歴 DB にアクセスできません: %s" + +-#: dnf/cli/commands/history.py:147 ++#: dnf/cli/commands/history.py:151 + #, python-format + msgid "" + "Cannot undo transaction %s, doing so would result in an inconsistent package" + " database." + msgstr "トランザクション %s を取り消すことはできません。取り消すことで、パッケージデータベースに矛盾が生じます。" + +-#: dnf/cli/commands/history.py:152 ++#: dnf/cli/commands/history.py:156 + #, python-format + msgid "" + "Cannot rollback transaction %s, doing so would result in an inconsistent " + "package database." + msgstr "トランザクション %s をロールバックすることはできません。ロールバックすることで、パッケージデータベースに矛盾が生じます。" + +-#: dnf/cli/commands/history.py:222 ++#: dnf/cli/commands/history.py:175 ++msgid "No transaction ID given" ++msgstr "トランザクション ID は指定されていません" ++ ++#: dnf/cli/commands/history.py:179 ++#, python-brace-format ++msgid "Transaction ID \"{0}\" not found." ++msgstr "トランザクション ID \"{0}\" が見つかりません。" ++ ++#: dnf/cli/commands/history.py:185 ++msgid "Found more than one transaction ID!" ++msgstr "1 つ以上のトランザクション ID が見つかりました!" ++ ++#: dnf/cli/commands/history.py:203 ++#, python-format ++msgid "Transaction history is incomplete, before %u." ++msgstr "%u の前のトランザクション履歴が不完全です。" ++ ++#: dnf/cli/commands/history.py:205 ++#, python-format ++msgid "Transaction history is incomplete, after %u." ++msgstr "%u の後のトランザクション履歴が不完全です。" ++ ++#: dnf/cli/commands/history.py:256 ++msgid "No packages to list" ++msgstr "一覧表示するパッケージはありません" ++ ++#: dnf/cli/commands/history.py:279 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." +@@ -1346,7 +1335,7 @@ msgstr "" + "無効なトランザクション ID の範囲の定義 '{}'。\n" + "'..' を使用してください。" + +-#: dnf/cli/commands/history.py:226 ++#: dnf/cli/commands/history.py:283 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." +@@ -1354,40 +1343,29 @@ msgstr "" + "'{}' をトランザクション IDに変換できません。\n" + "'', 'last', 'last-' を使用してください。" + +-#: dnf/cli/commands/history.py:255 ++#: dnf/cli/commands/history.py:312 + msgid "No transaction which manipulates package '{}' was found." + msgstr "パッケージ '{}' を操作するトランザクションが見つかりません。" + +-#: dnf/cli/commands/history.py:305 +-#, fuzzy, python-brace-format +-#| msgid "TransactionItem not found for key: {}" +-msgid "Transaction ID \"{id}\" not found." +-msgstr "TransactionItemが見つかりません鍵: {}" +- +-#: dnf/cli/commands/history.py:313 ++#: dnf/cli/commands/history.py:357 + msgid "{} exists, overwrite?" +-msgstr "" ++msgstr "{} は存在します。上書きしますか?" + +-#: dnf/cli/commands/history.py:316 ++#: dnf/cli/commands/history.py:360 + msgid "Not overwriting {}, exiting." +-msgstr "" ++msgstr "{} は存在するため上書きしません。" + +-#: dnf/cli/commands/history.py:323 +-#, fuzzy +-#| msgid "Transaction failed" ++#: dnf/cli/commands/history.py:367 + msgid "Transaction saved to {}." +-msgstr "トランザクションが失敗しました" ++msgstr "{} に保存されているトランザクション。" + +-#: dnf/cli/commands/history.py:326 +-#, fuzzy +-#| msgid "Errors occurred during transaction." ++#: dnf/cli/commands/history.py:370 + msgid "Error storing transaction: {}" +-msgstr "トランザクション中にエラーが発生しました。" ++msgstr "トランザクションの保存エラー: {}" + +-#: dnf/cli/commands/history.py:350 +-msgid "" +-"Warning, the following problems occurred while replaying the transaction:" +-msgstr "" ++#: dnf/cli/commands/history.py:386 ++msgid "Warning, the following problems occurred while running a transaction:" ++msgstr "警告: トランザクションの実行中に以下の問題が発生しました。" + + #: dnf/cli/commands/install.py:47 + msgid "install a package or packages on your system" +@@ -1406,7 +1384,7 @@ msgstr "一致するものが見つかりません" + msgid "Not a valid rpm file path: %s" + msgstr "有効な rpm ファイルパスではありません: %s" + +-#: dnf/cli/commands/install.py:167 ++#: dnf/cli/commands/install.py:166 + #, python-brace-format + msgid "There are following alternatives for \"{0}\": {1}" + msgstr "\"{0}\"には次の選択肢があります: {1}" +@@ -1449,7 +1427,7 @@ msgid "%s marked as group installed." + msgstr "グループインストールには %s のマークがついています。" + + #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129 +-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279 ++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282 + msgid "Error:" + msgstr "エラー:" + +@@ -1505,42 +1483,46 @@ msgid "Package {} belongs to multiple modules, skipping" + msgstr "パッケージ {} は複数のモジュールに属しています、スキップします" + + #: dnf/cli/commands/module.py:277 ++msgid "switch a module to a stream and distrosync rpm packages" ++msgstr "モジュールをストリームに切り替え、rpm パッケージを distrosync します" ++ ++#: dnf/cli/commands/module.py:299 + msgid "list modular packages" + msgstr "モジュラーパッケージをリスト" + +-#: dnf/cli/commands/module.py:292 ++#: dnf/cli/commands/module.py:314 + msgid "list packages belonging to a module" + msgstr "モジュールに属するパッケージをリスト" + +-#: dnf/cli/commands/module.py:327 ++#: dnf/cli/commands/module.py:349 + msgid "Interact with Modules." + msgstr "モジュールと対話します。" + +-#: dnf/cli/commands/module.py:340 ++#: dnf/cli/commands/module.py:362 + msgid "show only enabled modules" + msgstr "有効なモジュールのみを表示します" + +-#: dnf/cli/commands/module.py:343 ++#: dnf/cli/commands/module.py:365 + msgid "show only disabled modules" + msgstr "無効なモジュールのみを表示します" + +-#: dnf/cli/commands/module.py:346 ++#: dnf/cli/commands/module.py:368 + msgid "show only installed modules or packages" + msgstr "インストールされたモジュールまたはパッケージのみ表示" + +-#: dnf/cli/commands/module.py:349 ++#: dnf/cli/commands/module.py:371 + msgid "show profile content" + msgstr "プロファイルコンテンツを表示します" + +-#: dnf/cli/commands/module.py:354 ++#: dnf/cli/commands/module.py:376 + msgid "remove all modular packages" + msgstr "すべてのモジュラーパッケージを削除" + +-#: dnf/cli/commands/module.py:364 ++#: dnf/cli/commands/module.py:386 + msgid "Module specification" + msgstr "モジュールspec" + +-#: dnf/cli/commands/module.py:386 ++#: dnf/cli/commands/module.py:408 + msgid "{} {} {}: too few arguments" + msgstr "{} {} {}: 引数が足りません" + +@@ -1843,6 +1825,8 @@ msgid "" + "display format for listing packages: \"%%{name} %%{version} ...\", use " + "--querytags to view full tag list" + msgstr "" ++"パッケージを一覧表示するための形式の表示: \"%%{name} %%{version} ...\"。--querytags " ++"を指定して完全なタグリストを表示" + + #: dnf/cli/commands/repoquery.py:198 + msgid "show available tags to use with --queryformat" +@@ -1977,7 +1961,7 @@ msgid "" + msgstr "" + "オプションの '--resolve' は、'--conflicts'、'--depends'、'--enhances'、'--provides'、'--" + "recommends'、'--requires'、'--requires-pre'、'--suggests' または '--supplements' " +-"オプションのいずれか 1 つと使用する必要があります。" ++"オプションのいずれか 1 つと使用する必要があります" + + #: dnf/cli/commands/repoquery.py:305 + msgid "" +@@ -1986,7 +1970,7 @@ msgid "" + "--resolve'" + msgstr "" + "オプションの '--recursive' は、'--whatrequires ' (オプションでは '--exactdeps' ではなく、'" +-"--alldeps' と共に使用) または '--requires --resolve' と共に使用する必要があります。" ++"--alldeps' と共に使用) または '--requires --resolve' と共に使用する必要があります" + + #: dnf/cli/commands/repoquery.py:312 + msgid "argument {} requires --whatrequires or --whatdepends option" +@@ -2027,22 +2011,22 @@ msgstr "KEYWORD" + msgid "Keyword to search for" + msgstr "検索のキーワード" + +-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506 ++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460 + msgctxt "long" + msgid "Name" + msgstr "名前" + +-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559 ++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513 + msgctxt "long" + msgid "Summary" + msgstr "概要" + +-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569 ++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523 + msgctxt "long" + msgid "Description" + msgstr "説明" + +-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562 ++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516 + msgid "URL" + msgstr "URL" + +@@ -2185,16 +2169,16 @@ msgstr "" + "実行 トランザクションセットの解決および実行\n" + "終了 (または 中止) シェルの終了" + +-#: dnf/cli/commands/shell.py:259 ++#: dnf/cli/commands/shell.py:262 + #, python-format + msgid "Error: Cannot open %s for reading" + msgstr "エラー: 読み込み用に %s を開くことができません" + +-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187 ++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187 + msgid "Complete!" + msgstr "完了しました!" + +-#: dnf/cli/commands/shell.py:291 ++#: dnf/cli/commands/shell.py:294 + msgid "Leaving Shell" + msgstr "シェルを終了します" + +@@ -2385,8 +2369,8 @@ msgstr "重大度" + msgid "Files" + msgstr "ファイル" + +-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499 +-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774 ++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1652 ++#: dnf/cli/output.py:1654 dnf/util.py:591 + msgid "Installed" + msgstr "インストール済み" + +@@ -2709,13 +2693,13 @@ msgstr "引数をエンコードできません '%s': %s" + #. Translators: This is abbreviated 'Name'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:505 ++#: dnf/cli/output.py:459 + msgctxt "short" + msgid "Name" + msgstr "名前" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:511 ++#: dnf/cli/output.py:465 + msgid "Epoch" + msgstr "エポック" + +@@ -2723,38 +2707,38 @@ msgstr "エポック" + #. use the full (unabbreviated) term 'Version' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:512 dnf/cli/output.py:1335 ++#: dnf/cli/output.py:466 dnf/cli/output.py:1248 + msgctxt "short" + msgid "Version" + msgstr "バージョン" + + #. Translators: This is the full (unabbreviated) term 'Version'. +-#: dnf/cli/output.py:513 dnf/cli/output.py:1337 ++#: dnf/cli/output.py:467 dnf/cli/output.py:1250 + msgctxt "long" + msgid "Version" + msgstr "バージョン" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:516 ++#: dnf/cli/output.py:470 + msgid "Release" + msgstr "リリース" + + #. Translators: This is abbreviated 'Architecture', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:517 dnf/cli/output.py:1326 ++#: dnf/cli/output.py:471 dnf/cli/output.py:1239 + msgctxt "short" + msgid "Arch" + msgstr "Arch" + + #. Translators: This is the full word 'Architecture', used when + #. we have enough space. +-#: dnf/cli/output.py:518 dnf/cli/output.py:1329 ++#: dnf/cli/output.py:472 dnf/cli/output.py:1242 + msgctxt "long" + msgid "Architecture" + msgstr "アーキテクチャー" + + #. Translators: This is the full (unabbreviated) term 'Size'. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1352 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1265 + msgctxt "long" + msgid "Size" + msgstr "サイズ" +@@ -2763,32 +2747,32 @@ msgstr "サイズ" + #. not be longer than 5 characters. If the term 'Size' in your + #. language is not longer than 5 characters then you can use it + #. unabbreviated. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1350 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1263 + msgctxt "short" + msgid "Size" + msgstr "サイズ" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:524 ++#: dnf/cli/output.py:478 + msgid "Source" + msgstr "ソース" + + #. Translators: This is abbreviated 'Repository', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:525 dnf/cli/output.py:1341 ++#: dnf/cli/output.py:479 dnf/cli/output.py:1254 + msgctxt "short" + msgid "Repo" + msgstr "Repo" + + #. Translators: This is the full word 'Repository', used when + #. we have enough space. +-#: dnf/cli/output.py:526 dnf/cli/output.py:1344 ++#: dnf/cli/output.py:480 dnf/cli/output.py:1257 + msgctxt "long" + msgid "Repository" + msgstr "リポジトリー" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:533 ++#: dnf/cli/output.py:487 + msgid "From repo" + msgstr "repo から" + +@@ -2796,312 +2780,308 @@ msgstr "repo から" + #. print(_("Committer : %s") % ucd(pkg.committer)) + #. print(_("Committime : %s") % time.ctime(pkg.committime)) + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:539 ++#: dnf/cli/output.py:493 + msgid "Packager" + msgstr "パッケージャー" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:541 ++#: dnf/cli/output.py:495 + msgid "Buildtime" + msgstr "ビルド時間" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:545 ++#: dnf/cli/output.py:499 + msgid "Install time" + msgstr "インストール時間" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:554 ++#: dnf/cli/output.py:508 + msgid "Installed by" + msgstr "インストール済み" + + #. Translators: This is abbreviated 'Summary'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:558 ++#: dnf/cli/output.py:512 + msgctxt "short" + msgid "Summary" + msgstr "概要" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:564 ++#: dnf/cli/output.py:518 + msgid "License" + msgstr "ライセンス" + + #. Translators: This is abbreviated 'Description'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:568 ++#: dnf/cli/output.py:522 + msgctxt "short" + msgid "Description" + msgstr "説明" + +-#: dnf/cli/output.py:695 +-msgid "No packages to list" +-msgstr "一覧表示するパッケージはありません" +- +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "y" + msgstr "y" + +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "yes" + msgstr "はい" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "n" + msgstr "n" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "no" + msgstr "いいえ" + +-#: dnf/cli/output.py:711 ++#: dnf/cli/output.py:655 + msgid "Is this ok [y/N]: " + msgstr "これでよろしいですか? [y/N]: " + +-#: dnf/cli/output.py:715 ++#: dnf/cli/output.py:659 + msgid "Is this ok [Y/n]: " + msgstr "これでよろしいですか? [Y/n]: " + +-#: dnf/cli/output.py:795 ++#: dnf/cli/output.py:739 + #, python-format + msgid "Group: %s" + msgstr "グループ: %s" + +-#: dnf/cli/output.py:799 ++#: dnf/cli/output.py:743 + #, python-format + msgid " Group-Id: %s" + msgstr " グループ ID: %s" + +-#: dnf/cli/output.py:801 dnf/cli/output.py:840 ++#: dnf/cli/output.py:745 dnf/cli/output.py:784 + #, python-format + msgid " Description: %s" + msgstr " 説明: %s" + +-#: dnf/cli/output.py:803 ++#: dnf/cli/output.py:747 + #, python-format + msgid " Language: %s" + msgstr " 言語: %s" + +-#: dnf/cli/output.py:806 ++#: dnf/cli/output.py:750 + msgid " Mandatory Packages:" + msgstr " 必須なパッケージ:" + +-#: dnf/cli/output.py:807 ++#: dnf/cli/output.py:751 + msgid " Default Packages:" + msgstr " 標準パッケージ:" + +-#: dnf/cli/output.py:808 ++#: dnf/cli/output.py:752 + msgid " Optional Packages:" + msgstr " オプション パッケージ:" + +-#: dnf/cli/output.py:809 ++#: dnf/cli/output.py:753 + msgid " Conditional Packages:" + msgstr " 条件付きパッケージ:" + +-#: dnf/cli/output.py:834 ++#: dnf/cli/output.py:778 + #, python-format + msgid "Environment Group: %s" + msgstr "環境グループ: %s" + +-#: dnf/cli/output.py:837 ++#: dnf/cli/output.py:781 + #, python-format + msgid " Environment-Id: %s" + msgstr " 環境 Id: %s" + +-#: dnf/cli/output.py:843 ++#: dnf/cli/output.py:787 + msgid " Mandatory Groups:" + msgstr " 必須なグループ:" + +-#: dnf/cli/output.py:844 ++#: dnf/cli/output.py:788 + msgid " Optional Groups:" + msgstr " 任意なグループ:" + +-#: dnf/cli/output.py:865 ++#: dnf/cli/output.py:809 + msgid "Matched from:" + msgstr "一致:" + +-#: dnf/cli/output.py:879 ++#: dnf/cli/output.py:823 + #, python-format + msgid "Filename : %s" + msgstr "ファイル名 : %s" + +-#: dnf/cli/output.py:904 ++#: dnf/cli/output.py:848 + #, python-format + msgid "Repo : %s" + msgstr "Repo : %s" + +-#: dnf/cli/output.py:913 ++#: dnf/cli/output.py:857 + msgid "Description : " +-msgstr "説明 : " ++msgstr "説明: " + +-#: dnf/cli/output.py:917 ++#: dnf/cli/output.py:861 + #, python-format + msgid "URL : %s" + msgstr "URL : %s" + +-#: dnf/cli/output.py:921 ++#: dnf/cli/output.py:865 + #, python-format + msgid "License : %s" + msgstr "ライセンス : %s" + +-#: dnf/cli/output.py:927 ++#: dnf/cli/output.py:871 + #, python-format + msgid "Provide : %s" + msgstr "提供する : %s" + +-#: dnf/cli/output.py:947 ++#: dnf/cli/output.py:891 + #, python-format + msgid "Other : %s" + msgstr "その他 : %s" + +-#: dnf/cli/output.py:996 ++#: dnf/cli/output.py:940 + msgid "There was an error calculating total download size" + msgstr "ダウンロードサイズの合計を計算中にエラーが発生しました" + +-#: dnf/cli/output.py:1002 ++#: dnf/cli/output.py:946 + #, python-format + msgid "Total size: %s" + msgstr "合計サイズ: %s" + +-#: dnf/cli/output.py:1005 ++#: dnf/cli/output.py:949 + #, python-format + msgid "Total download size: %s" + msgstr "ダウンロードサイズの合計: %s" + +-#: dnf/cli/output.py:1008 ++#: dnf/cli/output.py:952 + #, python-format + msgid "Installed size: %s" + msgstr "インストール後のサイズ: %s" + +-#: dnf/cli/output.py:1026 ++#: dnf/cli/output.py:970 + msgid "There was an error calculating installed size" + msgstr "インストール後のサイズを計算中にエラーが発生しました" + +-#: dnf/cli/output.py:1030 ++#: dnf/cli/output.py:974 + #, python-format + msgid "Freed space: %s" + msgstr "解放された容量: %s" + +-#: dnf/cli/output.py:1039 ++#: dnf/cli/output.py:983 + msgid "Marking packages as installed by the group:" + msgstr "パッケージをグループごとにインストール済みとマークします:" + +-#: dnf/cli/output.py:1046 ++#: dnf/cli/output.py:990 + msgid "Marking packages as removed by the group:" + msgstr "パッケージをグループごとに削除済みとマークします:" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Group" + msgstr "グループ" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Packages" + msgstr "パッケージ" + +-#: dnf/cli/output.py:1133 ++#: dnf/cli/output.py:1046 + msgid "Installing group/module packages" + msgstr "group/moduleパッケージをインストール" + +-#: dnf/cli/output.py:1134 ++#: dnf/cli/output.py:1047 + msgid "Installing group packages" + msgstr "グループパッケージのインストール" + + #. TRANSLATORS: This is for a list of packages to be installed. +-#: dnf/cli/output.py:1138 ++#: dnf/cli/output.py:1051 + msgctxt "summary" + msgid "Installing" + msgstr "インストール" + + #. TRANSLATORS: This is for a list of packages to be upgraded. +-#: dnf/cli/output.py:1140 ++#: dnf/cli/output.py:1053 + msgctxt "summary" + msgid "Upgrading" + msgstr "アップグレード" + + #. TRANSLATORS: This is for a list of packages to be reinstalled. +-#: dnf/cli/output.py:1142 ++#: dnf/cli/output.py:1055 + msgctxt "summary" + msgid "Reinstalling" + msgstr "再インストール" + +-#: dnf/cli/output.py:1144 ++#: dnf/cli/output.py:1057 + msgid "Installing dependencies" + msgstr "依存関係のインストール" + +-#: dnf/cli/output.py:1145 ++#: dnf/cli/output.py:1058 + msgid "Installing weak dependencies" + msgstr "弱い依存関係のインストール" + + #. TRANSLATORS: This is for a list of packages to be removed. +-#: dnf/cli/output.py:1147 ++#: dnf/cli/output.py:1060 + msgid "Removing" + msgstr "削除中" + +-#: dnf/cli/output.py:1148 ++#: dnf/cli/output.py:1061 + msgid "Removing dependent packages" + msgstr "依存関係パッケージの削除" + +-#: dnf/cli/output.py:1149 ++#: dnf/cli/output.py:1062 + msgid "Removing unused dependencies" + msgstr "未使用の依存関係の削除" + + #. TRANSLATORS: This is for a list of packages to be downgraded. +-#: dnf/cli/output.py:1151 ++#: dnf/cli/output.py:1064 + msgctxt "summary" + msgid "Downgrading" + msgstr "ダウングレード" + +-#: dnf/cli/output.py:1176 ++#: dnf/cli/output.py:1089 + msgid "Installing module profiles" + msgstr "モジュールプロファイルのインストール中" + +-#: dnf/cli/output.py:1185 ++#: dnf/cli/output.py:1098 + msgid "Disabling module profiles" + msgstr "モジュールプロファイルの無効化中" + +-#: dnf/cli/output.py:1194 ++#: dnf/cli/output.py:1107 + msgid "Enabling module streams" + msgstr "モジュールストリームの有効化中" + +-#: dnf/cli/output.py:1202 ++#: dnf/cli/output.py:1115 + msgid "Switching module streams" + msgstr "モジュールストリームの切り替え中" + +-#: dnf/cli/output.py:1210 ++#: dnf/cli/output.py:1123 + msgid "Disabling modules" + msgstr "モジュールの無効化" + +-#: dnf/cli/output.py:1218 ++#: dnf/cli/output.py:1131 + msgid "Resetting modules" + msgstr "モジュールの再設定中" + +-#: dnf/cli/output.py:1230 ++#: dnf/cli/output.py:1143 + msgid "Installing Environment Groups" + msgstr "環境グループのインストール中" + +-#: dnf/cli/output.py:1237 ++#: dnf/cli/output.py:1150 + msgid "Upgrading Environment Groups" + msgstr "環境グループのアップグレード中" + +-#: dnf/cli/output.py:1244 ++#: dnf/cli/output.py:1157 + msgid "Removing Environment Groups" + msgstr "環境グループの削除中" + +-#: dnf/cli/output.py:1251 ++#: dnf/cli/output.py:1164 + msgid "Installing Groups" + msgstr "グループのインストール中" + +-#: dnf/cli/output.py:1258 ++#: dnf/cli/output.py:1171 + msgid "Upgrading Groups" + msgstr "グループのアップグレード中" + +-#: dnf/cli/output.py:1265 ++#: dnf/cli/output.py:1178 + msgid "Removing Groups" + msgstr "グループの削除中" + +-#: dnf/cli/output.py:1281 ++#: dnf/cli/output.py:1194 + #, python-format + msgid "" + "Skipping packages with conflicts:\n" +@@ -3110,12 +3090,12 @@ msgstr "" + "競合するパッケージをスキップします:\n" + "(アップグレードを強制するにはコマンドラインに '%s' を追加します)" + +-#: dnf/cli/output.py:1291 ++#: dnf/cli/output.py:1204 + #, python-format + msgid "Skipping packages with broken dependencies%s" + msgstr "壊れた dependencies%s のパッケージをスキップします" + +-#: dnf/cli/output.py:1295 ++#: dnf/cli/output.py:1208 + msgid " or part of a group" + msgstr " またはグループの一部" + +@@ -3123,22 +3103,22 @@ msgstr " またはグループの一部" + #. use the full (unabbreviated) term 'Package' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:1320 ++#: dnf/cli/output.py:1233 + msgctxt "short" + msgid "Package" + msgstr "パッケージ" + + #. Translators: This is the full (unabbreviated) term 'Package'. +-#: dnf/cli/output.py:1322 ++#: dnf/cli/output.py:1235 + msgctxt "long" + msgid "Package" + msgstr "パッケージ" + +-#: dnf/cli/output.py:1371 ++#: dnf/cli/output.py:1284 + msgid "replacing" + msgstr "置き換え" + +-#: dnf/cli/output.py:1378 ++#: dnf/cli/output.py:1291 + #, python-format + msgid "" + "\n" +@@ -3150,287 +3130,271 @@ msgstr "" + "%s\n" + + #. TODO: remove +-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933 ++#: dnf/cli/output.py:1296 dnf/cli/output.py:1812 dnf/cli/output.py:1813 + msgid "Install" + msgstr "インストール" + +-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941 ++#: dnf/cli/output.py:1300 dnf/cli/output.py:1821 + msgid "Upgrade" + msgstr "アップグレード" + +-#: dnf/cli/output.py:1388 ++#: dnf/cli/output.py:1301 + msgid "Remove" + msgstr "削除" + +-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939 ++#: dnf/cli/output.py:1303 dnf/cli/output.py:1819 + msgid "Downgrade" + msgstr "ダウングレード" + +-#: dnf/cli/output.py:1391 ++#: dnf/cli/output.py:1304 + msgid "Skip" + msgstr "スキップ" + +-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416 ++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329 + msgid "Package" + msgid_plural "Packages" + msgstr[0] "パッケージ" + +-#: dnf/cli/output.py:1418 ++#: dnf/cli/output.py:1331 + msgid "Dependent package" + msgid_plural "Dependent packages" + msgstr[0] "依存パッケージ" + +-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942 +-msgid "Upgraded" +-msgstr "アップグレード済み" +- +-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940 +-msgid "Downgraded" +-msgstr "ダウングレード済み" +- +-#: dnf/cli/output.py:1503 +-msgid "Reinstalled" +-msgstr "再インストール済み" +- +-#: dnf/cli/output.py:1504 +-msgid "Skipped" +-msgstr "スキップ済み" +- +-#: dnf/cli/output.py:1505 +-msgid "Removed" +-msgstr "削除しました" +- +-#: dnf/cli/output.py:1508 +-msgid "Failed" +-msgstr "失敗しました" +- +-#: dnf/cli/output.py:1559 ++#: dnf/cli/output.py:1439 + msgid "Total" + msgstr "合計" + +-#: dnf/cli/output.py:1587 ++#: dnf/cli/output.py:1467 + msgid "" + msgstr "<未設定>" + +-#: dnf/cli/output.py:1588 ++#: dnf/cli/output.py:1468 + msgid "System" + msgstr "システム" + +-#: dnf/cli/output.py:1638 ++#: dnf/cli/output.py:1518 + msgid "Command line" + msgstr "コマンドライン" + + #. TRANSLATORS: user names who executed transaction in history command output +-#: dnf/cli/output.py:1649 ++#: dnf/cli/output.py:1529 + msgid "User name" + msgstr "ユーザー名" + +-#: dnf/cli/output.py:1651 ++#: dnf/cli/output.py:1531 + msgid "ID" + msgstr "ID" + +-#: dnf/cli/output.py:1653 ++#: dnf/cli/output.py:1533 + msgid "Date and time" + msgstr "日時" + +-#: dnf/cli/output.py:1654 ++#: dnf/cli/output.py:1534 + msgid "Action(s)" + msgstr "動作" + +-#: dnf/cli/output.py:1655 ++#: dnf/cli/output.py:1535 + msgid "Altered" + msgstr "変更されました" + +-#: dnf/cli/output.py:1698 ++#: dnf/cli/output.py:1578 + msgid "No transactions" + msgstr "トランザクションがありません" + +-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715 ++#: dnf/cli/output.py:1579 dnf/cli/output.py:1595 + msgid "Failed history info" + msgstr "失敗した履歴情報" + +-#: dnf/cli/output.py:1714 ++#: dnf/cli/output.py:1594 + msgid "No transaction ID, or package, given" + msgstr "トランザクション ID、またはパッケージが指定されていません" + +-#: dnf/cli/output.py:1772 ++#: dnf/cli/output.py:1652 + msgid "Erased" + msgstr "削除されました" + +-#: dnf/cli/output.py:1774 ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1820 dnf/util.py:590 ++msgid "Downgraded" ++msgstr "ダウングレード済み" ++ ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1822 dnf/util.py:589 ++msgid "Upgraded" ++msgstr "アップグレード済み" ++ ++#: dnf/cli/output.py:1654 + msgid "Not installed" + msgstr "インストールされていません" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Newer" + msgstr "新しい" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Older" + msgstr "古い" + +-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825 ++#: dnf/cli/output.py:1703 dnf/cli/output.py:1705 + msgid "Transaction ID :" + msgstr "トランザクション ID :" + +-#: dnf/cli/output.py:1828 ++#: dnf/cli/output.py:1708 + msgid "Begin time :" + msgstr "開始時間 :" + +-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833 ++#: dnf/cli/output.py:1711 dnf/cli/output.py:1713 + msgid "Begin rpmdb :" + msgstr "開始 rpmdb :" + +-#: dnf/cli/output.py:1839 ++#: dnf/cli/output.py:1719 + #, python-format + msgid "(%u seconds)" + msgstr "(%u 秒)" + +-#: dnf/cli/output.py:1841 ++#: dnf/cli/output.py:1721 + #, python-format + msgid "(%u minutes)" + msgstr "(%u 分)" + +-#: dnf/cli/output.py:1843 ++#: dnf/cli/output.py:1723 + #, python-format + msgid "(%u hours)" + msgstr "(%u 時間)" + +-#: dnf/cli/output.py:1845 ++#: dnf/cli/output.py:1725 + #, python-format + msgid "(%u days)" + msgstr "(%u 日)" + +-#: dnf/cli/output.py:1846 ++#: dnf/cli/output.py:1726 + msgid "End time :" + msgstr "終了時間 :" + +-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851 ++#: dnf/cli/output.py:1729 dnf/cli/output.py:1731 + msgid "End rpmdb :" + msgstr "終了 rpmdb :" + +-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860 ++#: dnf/cli/output.py:1738 dnf/cli/output.py:1740 + msgid "User :" + msgstr "ユーザー :" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1751 + msgid "Aborted" + msgstr "中断しました" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869 +-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1747 dnf/cli/output.py:1749 ++#: dnf/cli/output.py:1751 dnf/cli/output.py:1753 dnf/cli/output.py:1755 + msgid "Return-Code :" + msgstr "終了コード :" + +-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1747 dnf/cli/output.py:1755 + msgid "Success" + msgstr "成功" + +-#: dnf/cli/output.py:1869 ++#: dnf/cli/output.py:1749 + msgid "Failures:" + msgstr "失敗:" + +-#: dnf/cli/output.py:1873 ++#: dnf/cli/output.py:1753 + msgid "Failure:" + msgstr "失敗しました:" + +-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885 ++#: dnf/cli/output.py:1763 dnf/cli/output.py:1765 + msgid "Releasever :" + msgstr "Releasever :" + +-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892 ++#: dnf/cli/output.py:1770 dnf/cli/output.py:1772 + msgid "Command Line :" + msgstr "コマンドライン :" + +-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899 ++#: dnf/cli/output.py:1777 dnf/cli/output.py:1779 + msgid "Comment :" + msgstr "コメント :" + +-#: dnf/cli/output.py:1903 ++#: dnf/cli/output.py:1783 + msgid "Transaction performed with:" + msgstr "実行されたトランザクション:" + +-#: dnf/cli/output.py:1912 ++#: dnf/cli/output.py:1792 + msgid "Packages Altered:" + msgstr "変更されたパッケージ:" + +-#: dnf/cli/output.py:1918 ++#: dnf/cli/output.py:1798 + msgid "Scriptlet output:" + msgstr "Scriptlet の出力:" + +-#: dnf/cli/output.py:1925 ++#: dnf/cli/output.py:1805 + msgid "Errors:" + msgstr "エラー:" + +-#: dnf/cli/output.py:1934 ++#: dnf/cli/output.py:1814 + msgid "Dep-Install" + msgstr "Dep-Install" + +-#: dnf/cli/output.py:1935 ++#: dnf/cli/output.py:1815 + msgid "Obsoleted" + msgstr "廃止された" + +-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85 ++#: dnf/cli/output.py:1816 dnf/transaction.py:84 dnf/transaction.py:85 + msgid "Obsoleting" + msgstr "廃止" + +-#: dnf/cli/output.py:1937 ++#: dnf/cli/output.py:1817 + msgid "Erase" + msgstr "削除" + +-#: dnf/cli/output.py:1938 ++#: dnf/cli/output.py:1818 + msgid "Reinstall" + msgstr "再インストール" + +-#: dnf/cli/output.py:2016 ++#: dnf/cli/output.py:1892 + #, python-format + msgid "---> Package %s.%s %s will be installed" + msgstr "---> パッケージ %s.%s %s はインストールされます" + +-#: dnf/cli/output.py:2018 ++#: dnf/cli/output.py:1894 + #, python-format + msgid "---> Package %s.%s %s will be an upgrade" + msgstr "---> パッケージ %s.%s %s はアップグレードされます" + +-#: dnf/cli/output.py:2020 ++#: dnf/cli/output.py:1896 + #, python-format + msgid "---> Package %s.%s %s will be erased" + msgstr "---> パッケージ %s.%s %s は消去されます" + +-#: dnf/cli/output.py:2022 ++#: dnf/cli/output.py:1898 + #, python-format + msgid "---> Package %s.%s %s will be reinstalled" + msgstr "---> パッケージ %s.%s %s は再インストールされます" + +-#: dnf/cli/output.py:2024 ++#: dnf/cli/output.py:1900 + #, python-format + msgid "---> Package %s.%s %s will be a downgrade" + msgstr "---> パッケージ %s.%s %s はダウングレードされます" + +-#: dnf/cli/output.py:2026 ++#: dnf/cli/output.py:1902 + #, python-format + msgid "---> Package %s.%s %s will be obsoleting" + msgstr "---> パッケージ %s.%s %s は廃止となります" + +-#: dnf/cli/output.py:2028 ++#: dnf/cli/output.py:1904 + #, python-format + msgid "---> Package %s.%s %s will be upgraded" + msgstr "---> パッケージ %s.%s %s はアップグレードされます" + +-#: dnf/cli/output.py:2030 ++#: dnf/cli/output.py:1906 + #, python-format + msgid "---> Package %s.%s %s will be obsoleted" + msgstr "---> パッケージ %s.%s %s は廃止されます" + +-#: dnf/cli/output.py:2039 ++#: dnf/cli/output.py:1915 + msgid "--> Starting dependency resolution" + msgstr "--> 依存関係の解決を開始しました" + +-#: dnf/cli/output.py:2044 ++#: dnf/cli/output.py:1919 + msgid "--> Finished dependency resolution" + msgstr "--> 依存関係の解決が完了しました" + +-#: dnf/cli/output.py:2058 dnf/crypto.py:132 ++#: dnf/cli/output.py:1933 dnf/crypto.py:132 + #, python-format + msgid "" + "Importing GPG key 0x%s:\n" +@@ -3512,16 +3476,14 @@ msgid "Module or Group '%s' does not exist." + msgstr "モジュールまたはグループ '%s' は存在しません。" + + #: dnf/comps.py:599 +-#, fuzzy, python-format +-#| msgid "Environment '%s' is not installed." ++#, python-format + msgid "Environment id '%s' does not exist." +-msgstr "環境 '%s' はインストールされていません。" ++msgstr "環境 id '%s' は存在しません。" + +-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453 +-#, fuzzy, python-format +-#| msgid "Environment '%s' is not installed." ++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487 ++#, python-format + msgid "Environment id '%s' is not installed." +-msgstr "環境 '%s' はインストールされていません。" ++msgstr "環境 id '%s' はインストールされていません。" + + #: dnf/comps.py:639 + #, python-format +@@ -3534,10 +3496,9 @@ msgid "Environment '%s' is not available." + msgstr "環境 '%s' は利用不可です。" + + #: dnf/comps.py:673 +-#, fuzzy, python-format +-#| msgid "Group_id '%s' does not exist." ++#, python-format + msgid "Group id '%s' does not exist." +-msgstr "Group_id '%s' は存在しません。" ++msgstr "グループ id '%s' は存在しません。" + + #: dnf/conf/config.py:136 + #, python-format +@@ -3588,7 +3549,7 @@ msgstr "repo %s には setopt の前に %s attr. がありませんでした" + #: dnf/conf/read.py:51 + #, python-format + msgid "Warning: failed loading '%s', skipping." +-msgstr "警告: '%s' のロードに失敗、スキップします。" ++msgstr "警告: '%s' のロードに失敗、スキップします。" + + #: dnf/conf/read.py:63 + msgid "Bad id for repo: {} ({}), byte = {} {}" +@@ -3628,6 +3589,11 @@ msgstr "repo %s: 0x%s はインポート済みです" + msgid "repo %s: imported key 0x%s." + msgstr "repo %s: インポート済みの鍵 0x%s。" + ++#: dnf/crypto.py:177 ++#, python-format ++msgid "retrieving repo key for %s unencrypted from %s" ++msgstr "%s から暗号化されていない %s の repo キーを取得しています" ++ + #: dnf/db/group.py:293 + msgid "" + "No available modular metadata for modular package '{}', it cannot be " +@@ -3710,7 +3676,7 @@ msgid "Modular dependency problem with Defaults:" + msgid_plural "Modular dependency problems with Defaults:" + msgstr[0] "デフォルトのモジュラー依存問題:" + +-#: dnf/exceptions.py:131 dnf/module/module_base.py:686 ++#: dnf/exceptions.py:131 dnf/module/module_base.py:841 + msgid "Modular dependency problem:" + msgid_plural "Modular dependency problems:" + msgstr[0] "モジュラーの依存に関する問題:" +@@ -3764,8 +3730,8 @@ msgstr "" + "\n" + "ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive" + +-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421 +-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543 ++#: dnf/module/module_base.py:54 dnf/module/module_base.py:547 ++#: dnf/module/module_base.py:603 dnf/module/module_base.py:669 + msgid "Ignoring unnecessary profile: '{}/{}'" + msgstr "不要なプロファイルを無視します: '{}/{}'" + +@@ -3774,17 +3740,17 @@ msgstr "不要なプロファイルを無視します: '{}/{}'" + msgid "All matches for argument '{0}' in module '{1}:{2}' are not active" + msgstr "モジュール '{1}:{2}' の引数 '{0}' に一致するものはすべて非アクティブです" + +-#: dnf/module/module_base.py:92 ++#: dnf/module/module_base.py:92 dnf/module/module_base.py:202 + #, python-brace-format + msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "フェイルセーフレポジトリー {1} からのモジュール '{0}' インストールは許可されていません" + +-#: dnf/module/module_base.py:102 ++#: dnf/module/module_base.py:102 dnf/module/module_base.py:212 + msgid "" + "Unable to match profile for argument {}. Available profiles for '{}:{}': {}" + msgstr "引数 {} でプロファイルが見つかりません。利用可能プロファイル '{}:{}': {}" + +-#: dnf/module/module_base.py:106 ++#: dnf/module/module_base.py:106 dnf/module/module_base.py:216 + msgid "Unable to match profile for argument {}" + msgstr "引数 {} でプロファイルが見つかりません" + +@@ -3800,41 +3766,55 @@ msgstr "モジュール {}:{} にプロファイルがありません" + msgid "Default profile {} not available in module {}:{}" + msgstr "デフォルトのプロファイル {} はモジュール {}:{} で利用不可です" + +-#: dnf/module/module_base.py:142 ++#: dnf/module/module_base.py:142 dnf/module/module_base.py:245 + msgid "Installing module from Fail-Safe repository is not allowed" + msgstr "フェイルセーフレポジトリーからのモジュールインストールは許可されていません" + +-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193 +-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355 +-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417 +-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539 ++#: dnf/module/module_base.py:194 ++#, python-brace-format ++msgid "No active matches for argument '{0}' in module '{1}:{2}'" ++msgstr "モジュール '{1}:{2}' の引数 '{0}' には、アクティブな一致がありません" ++ ++#: dnf/module/module_base.py:226 ++#, python-brace-format ++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'" ++msgstr "インストールされたプロファイル '{0}' は、モジュール '{1}' ストリーム '{2}' では利用できません" ++ ++#: dnf/module/module_base.py:265 ++msgid "No packages available to distrosync for package name '{}'" ++msgstr "パッケージ名 '{}' 向けに distrosync するパッケージはありません" ++ ++#: dnf/module/module_base.py:308 dnf/module/module_base.py:452 ++#: dnf/module/module_base.py:477 dnf/module/module_base.py:496 ++#: dnf/module/module_base.py:543 dnf/module/module_base.py:599 ++#: dnf/module/module_base.py:665 dnf/module/module_base.py:827 + msgid "Unable to resolve argument {}" + msgstr "引数 {} を解決できません" + +-#: dnf/module/module_base.py:160 +-msgid "No match for package {}" +-msgstr "パッケージ {} に一致するものはありません" +- +-#: dnf/module/module_base.py:204 ++#: dnf/module/module_base.py:319 + #, python-brace-format + msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "フェイルセーフレポジトリー {1} からのモジュール '{0}' アップグレードは許可されていません" + +-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251 ++#: dnf/module/module_base.py:338 dnf/module/module_base.py:366 + msgid "Unable to match profile in argument {}" + msgstr "引数 {} でプロファイルを一致できません" + +-#: dnf/module/module_base.py:231 ++#: dnf/module/module_base.py:346 + msgid "Upgrading module from Fail-Safe repository is not allowed" + msgstr "フェイルセーフレポジトリーからのモジュールアップグレードは許可されていません" + +-#: dnf/module/module_base.py:367 ++#: dnf/module/module_base.py:500 + msgid "" + "Only module name is required. Ignoring unneeded information in argument: " + "'{}'" + msgstr "モジュール名のみが必要です。引数で不必要な情報を無視します: '{}'" + +-#: dnf/package.py:298 ++#: dnf/module/module_base.py:828 ++msgid "No match for package {}" ++msgstr "パッケージ {} に一致するものはありません" ++ ++#: dnf/package.py:333 + #, python-format + msgid "%s: %s check failed: %s vs %s" + msgstr "%s: %s の確認に失敗しました: %s vs %s" +@@ -3848,12 +3828,12 @@ msgstr "%s は空のファイルです" + #: dnf/persistor.py:91 + #, python-format + msgid "Failed to load expired repos cache: %s" +-msgstr "" ++msgstr "期限切れのリポジトリーキャッシュのロードに失敗しました: %s" + + #: dnf/persistor.py:99 + #, python-format + msgid "Failed to store expired repos cache: %s" +-msgstr "" ++msgstr "期限切れのリポジトリーキャッシュの保存に失敗しました: %s" + + #: dnf/persistor.py:106 + msgid "Failed storing last makecache time." +@@ -3915,6 +3895,14 @@ msgstr "%s から %s repo を追加しました" + msgid "Errors occurred during test transaction." + msgstr "テストトランザクション中にエラーが発生しました。" + ++#: dnf/sack.py:47 ++msgid "" ++"allow_vendor_change is disabled. This option is currently not supported for " ++"downgrade and distro-sync commands" ++msgstr "" ++"allow_vendor_change は無効になっています。このオプションは、downgrade コマンドおよび distro-sync " ++"コマンドではサポートされていません" ++ + #. TRANSLATORS: This is for a single package currently being downgraded. + #: dnf/transaction.py:80 + msgctxt "currently" +@@ -3961,168 +3949,200 @@ msgstr "scriptletの実行中" + msgid "Preparing" + msgstr "準備" + +-#: dnf/transaction_sr.py:60 ++#: dnf/transaction_sr.py:66 + #, python-brace-format +-msgid "Errors in \"{filename}\":" +-msgstr "" ++msgid "" ++"The following problems occurred while replaying the transaction from file " ++"\"{filename}\":" ++msgstr "ファイル \"{filename}\" からのトランザクションの再生中に以下の問題が発生しました。" + +-#: dnf/transaction_sr.py:70 +-#, python-brace-format +-msgid "Error in \"{filename}\": {error}" +-msgstr "" ++#: dnf/transaction_sr.py:68 ++msgid "The following problems occurred while running a transaction:" ++msgstr "トランザクションの実行中に以下の問題が発生しました。" + +-#: dnf/transaction_sr.py:87 ++#: dnf/transaction_sr.py:89 + #, python-brace-format + msgid "Invalid major version \"{major}\", number expected." +-msgstr "" ++msgstr "無効なメジャーバージョン \"{major}\"。数字が必要です。" + +-#: dnf/transaction_sr.py:95 ++#: dnf/transaction_sr.py:97 + #, python-brace-format + msgid "Invalid minor version \"{minor}\", number expected." +-msgstr "" ++msgstr "無効なマイナーバージョン \"{minor}\"。数字が必要です。" + +-#: dnf/transaction_sr.py:101 ++#: dnf/transaction_sr.py:103 + #, python-brace-format + msgid "" + "Incompatible major version \"{major}\", supported major version is " + "\"{major_supp}\"." +-msgstr "" ++msgstr "互換性のないメジャーバージョン \"{major}\"。サポートされているメジャーバージョンは \"{major_supp}\" です。" ++ ++#: dnf/transaction_sr.py:224 ++msgid "" ++"Conflicting TransactionReplay arguments have been specified: filename, data" ++msgstr "競合する TransactionReplay 引数が指定されています。filename, data" + +-#: dnf/transaction_sr.py:244 ++#: dnf/transaction_sr.py:265 + #, python-brace-format + msgid "Unexpected type of \"{id}\", {exp} expected." +-msgstr "" ++msgstr "予期しない {id}\" のタイプ。{exp} が必要です。" + +-#: dnf/transaction_sr.py:250 ++#: dnf/transaction_sr.py:271 + #, python-brace-format + msgid "Missing key \"{key}\"." +-msgstr "" ++msgstr "\"{key}\" キーがありません。" + +-#: dnf/transaction_sr.py:263 ++#: dnf/transaction_sr.py:285 + #, python-brace-format + msgid "Missing object key \"{key}\" in an rpm." +-msgstr "" ++msgstr "オブジェクトキー \"{key}\" が rpm にありません。" + +-#: dnf/transaction_sr.py:267 ++#: dnf/transaction_sr.py:289 + #, python-brace-format + msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"." +-msgstr "" ++msgstr "rpm nevra \"{nevra}\" の予期しないパッケージ理由 \"{reason}\" の値。" + +-#: dnf/transaction_sr.py:275 ++#: dnf/transaction_sr.py:297 + #, python-brace-format + msgid "Cannot parse NEVRA for package \"{nevra}\"." +-msgstr "" ++msgstr "パッケージ \"{nevra}\" の NEVRA を解析できません。" + +-#: dnf/transaction_sr.py:286 ++#: dnf/transaction_sr.py:321 + #, python-brace-format + msgid "Cannot find rpm nevra \"{nevra}\"." +-msgstr "" ++msgstr "rpm nevra \"{nevra}\" を見つけることはできません。" + +-#: dnf/transaction_sr.py:301 +-#, fuzzy, python-brace-format +-#| msgid "Package %s is already installed." ++#: dnf/transaction_sr.py:336 ++#, python-brace-format + msgid "Package \"{na}\" is already installed for action \"{action}\"." +-msgstr "パッケージ %s は既にインストールされています。" ++msgstr "パッケージ \"{na}\" は、アクション \"{action}\" 用に既にインストールされています。" + +-#: dnf/transaction_sr.py:311 ++#: dnf/transaction_sr.py:345 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\" not available in repositories for action " + "\"{action}\"." +-msgstr "" ++msgstr "アクション \"{action}\" に利用できる パッケージ nevra \"{nevra}\" はレポジトリーにありません。" + +-#: dnf/transaction_sr.py:322 ++#: dnf/transaction_sr.py:356 + #, python-brace-format + msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"." +-msgstr "" ++msgstr "アクション \"{action}\" には、パッケージ nevra \"{nevra}\" インストールされていません。" + +-#: dnf/transaction_sr.py:336 ++#: dnf/transaction_sr.py:370 + #, python-brace-format + msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"." +-msgstr "" ++msgstr "rpm nevra \"{nevra}\" の、パッケージアクション \"{action}\" の予期しない値。" + +-#: dnf/transaction_sr.py:343 +-#, fuzzy, python-format +-#| msgid "Module or Group '%s' is not available." ++#: dnf/transaction_sr.py:377 ++#, python-format + msgid "Group id '%s' is not available." +-msgstr "モジュールまたはグループ '%s' は利用不可です。" ++msgstr "グループ id '%s' は利用できません。" + +-#: dnf/transaction_sr.py:364 ++#: dnf/transaction_sr.py:398 + #, python-brace-format + msgid "Missing object key \"{key}\" in groups.packages." +-msgstr "" ++msgstr "オブジェクトキー \"{key}\" が groups.packages に含まれません。" + +-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387 +-#, fuzzy, python-format +-#| msgid "Module or Group '%s' is not installed." ++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421 ++#, python-format + msgid "Group id '%s' is not installed." +-msgstr "モジュールまたはグループ '%s' がインストールされていません。" ++msgstr "グループ id '%s' がインストールされていません。" + +-#: dnf/transaction_sr.py:398 +-#, fuzzy, python-format +-#| msgid "Environment '%s' is not available." ++#: dnf/transaction_sr.py:432 ++#, python-format + msgid "Environment id '%s' is not available." +-msgstr "環境 '%s' は利用不可です。" ++msgstr "環境 id '%s' は利用できません。" + +-#: dnf/transaction_sr.py:422 ++#: dnf/transaction_sr.py:456 + #, python-brace-format + msgid "" + "Invalid value \"{group_type}\" of environments.groups.group_type, only " + "\"mandatory\" or \"optional\" is supported." + msgstr "" ++"environments.groups.group_type の無効な値 \"{group_type}\"。\"mandatory\" または " ++"\"optional\" のみに対応しています。" + +-#: dnf/transaction_sr.py:430 ++#: dnf/transaction_sr.py:464 + #, python-brace-format + msgid "Missing object key \"{key}\" in environments.groups." +-msgstr "" ++msgstr "オブジェクトキー \"{key}\" が environments.groups に含まれません。" + +-#: dnf/transaction_sr.py:508 ++#: dnf/transaction_sr.py:542 + #, python-brace-format + msgid "Unexpected value of group action \"{action}\" for group \"{group}\"." +-msgstr "" ++msgstr "グループ \"{group}\" の グループアクション \"{action}\" の予期しない値。" + +-#: dnf/transaction_sr.py:513 ++#: dnf/transaction_sr.py:547 + #, python-brace-format + msgid "Missing object key \"{key}\" in a group." +-msgstr "" ++msgstr "オブジェクトキー \"{key}\" がグループ内にありません。" + +-#: dnf/transaction_sr.py:537 ++#: dnf/transaction_sr.py:571 + #, python-brace-format + msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"." +-msgstr "" ++msgstr "環境 \"{env}\" の環境アクション \"{action}\" の予期しない値。" + +-#: dnf/transaction_sr.py:542 ++#: dnf/transaction_sr.py:576 + #, python-brace-format + msgid "Missing object key \"{key}\" in an environment." +-msgstr "" ++msgstr "オブジェクトキー \"{key}\" が環境にありません。" + +-#: dnf/transaction_sr.py:581 ++#: dnf/transaction_sr.py:615 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\", which is not present in the transaction file, was" + " pulled into the transaction." +-msgstr "" ++msgstr "トランザクションファイルに存在しないパッケージ nevra \"{nevra}\" がトランザクションにプルされていました。" + + # translation auto-copied from project jbpm-designer, version 6.0.1, document + # org.jbpm/jbpm-designer- + # api/resources/org/jbpm/designer/resources/i18n/DesignerConstants, author + # nmirasch +-#: dnf/util.py:391 dnf/util.py:393 ++#: dnf/util.py:393 dnf/util.py:395 + msgid "Problem" + msgstr "問題" + +-#: dnf/util.py:444 ++#: dnf/util.py:446 + msgid "TransactionItem not found for key: {}" + msgstr "TransactionItemが見つかりません鍵: {}" + +-#: dnf/util.py:454 ++#: dnf/util.py:456 + msgid "TransactionSWDBItem not found for key: {}" + msgstr "TransactionSWDBItemが見つかりません鍵: {}" + +-#: dnf/util.py:457 ++#: dnf/util.py:459 + msgid "Errors occurred during transaction." + msgstr "トランザクション中にエラーが発生しました。" + ++#: dnf/util.py:595 ++msgid "Reinstalled" ++msgstr "再インストール済み" ++ ++#: dnf/util.py:596 ++msgid "Skipped" ++msgstr "スキップ済み" ++ ++#: dnf/util.py:597 ++msgid "Removed" ++msgstr "削除しました" ++ ++#: dnf/util.py:600 ++msgid "Failed" ++msgstr "失敗しました" ++ ++#~ msgid "Action not handled: {}" ++#~ msgstr "動作は対処されていません: {}" ++ ++#~ msgid "no package matched" ++#~ msgstr "一致したパッケージはありません。" ++ ++#~ msgid "Not found given transaction ID" ++#~ msgstr "指定されたトランザクション ID は見つかりません" ++ ++#~ msgid "Undoing transaction {}, from {}" ++#~ msgstr "トランザクション {} を {} から取り消しています" ++ + #~ msgid "format for displaying found packages" + #~ msgstr "見つかったパッケージを表示する形式" + +diff --git a/po/ko.po b/po/ko.po +index 449f6130..9f37ae13 100644 +--- a/po/ko.po ++++ b/po/ko.po +@@ -5,7 +5,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" ++"POT-Creation-Date: 2021-02-22 09:22+0100\n" + "PO-Revision-Date: 2020-09-12 11:29+0000\n" + "Last-Translator: Ludek Janda \n" + "Language-Team: Korean \n" +@@ -72,7 +72,7 @@ msgstr "알 수없는 설정: %s=%s in %s; %s" + msgid "Unknown configuration option: %s = %s in %s" + msgstr "알 수없는 옵션 : %s = %s in %s" + +-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299 ++#: dnf/automatic/main.py:237 dnf/cli/cli.py:304 + msgid "GPG check FAILED" + msgstr "GPG 확인 실패" + +@@ -85,9 +85,11 @@ msgid "Started dnf-automatic." + msgstr "dnf-automatic을 시작했습니다." + + #: dnf/automatic/main.py:308 +-#, python-format +-msgid "Sleep for %s seconds" +-msgstr "%s 초 동안 절전합니다" ++#, fuzzy ++#| msgid "Sleep for %s seconds" ++msgid "Sleep for {} second" ++msgid_plural "Sleep for {} seconds" ++msgstr[0] "%s 초 동안 절전합니다" + + #: dnf/automatic/main.py:315 + msgid "System is off-line." +@@ -99,7 +101,7 @@ msgstr "" + msgid "Error: %s" + msgstr "오류: %s" + +-#: dnf/base.py:146 ++#: dnf/base.py:146 dnf/base.py:472 dnf/base.py:474 + msgid "loading repo '{}' failure: {}" + msgstr "repo '{}'의 로드에 실패했습니다 : {}" + +@@ -107,236 +109,236 @@ msgstr "repo '{}'의 로드에 실패했습니다 : {}" + msgid "Loading repository '{}' has failed" + msgstr "리포지토리 '{}'의 로드에 실패했습니다" + +-#: dnf/base.py:320 ++#: dnf/base.py:322 + msgid "Metadata timer caching disabled when running on metered connection." + msgstr "데이터 통신 연결을 사용할 때 메타 데이터 타이머 캐싱을 비활성화합니다." + +-#: dnf/base.py:325 ++#: dnf/base.py:327 + msgid "Metadata timer caching disabled when running on a battery." + msgstr "배터리를 사용할할 때 메타 데이터 타이머 캐싱을 비활성화합니다." + +-#: dnf/base.py:330 ++#: dnf/base.py:332 + msgid "Metadata timer caching disabled." + msgstr "메타 데이터 타이머 캐싱이 비활성화되었습니다." + +-#: dnf/base.py:335 ++#: dnf/base.py:337 + msgid "Metadata cache refreshed recently." + msgstr "최근에 메타 데이터 캐시가 새로 고쳐졌습니다." + +-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:343 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "\"{}\"에 사용 가능한 저장소가 없습니다." + +-#: dnf/base.py:348 ++#: dnf/base.py:350 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "%s: 만료되지 않고 새로 고침되지 않습니다." + +-#: dnf/base.py:350 ++#: dnf/base.py:352 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "%s: 만료되어 새로 고침됩니다." + + #. expires within the checking period: +-#: dnf/base.py:354 ++#: dnf/base.py:356 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "%s: 메타 데이터는 %d 초 이후에 만료되며 이제 새로 고침됩니다." + +-#: dnf/base.py:358 ++#: dnf/base.py:360 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "%s: %d 초 후에 만료됩니다." + + #. performs the md sync +-#: dnf/base.py:364 ++#: dnf/base.py:366 + msgid "Metadata cache created." + msgstr "메타 데이터 캐시가 생성되었습니다." + +-#: dnf/base.py:397 ++#: dnf/base.py:399 dnf/base.py:466 + #, python-format + msgid "%s: using metadata from %s." + msgstr "%s: %s에서 메타 데이터 사용 중" + +-#: dnf/base.py:409 ++#: dnf/base.py:411 dnf/base.py:479 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "리포지토리를 무시합니다: %s" + +-#: dnf/base.py:412 ++#: dnf/base.py:414 + #, python-format + msgid "Last metadata expiration check: %s ago on %s." + msgstr "마지막 메타 데이터 만료 확인 :%s. %s 이전에 확인" + +-#: dnf/base.py:443 ++#: dnf/base.py:507 + msgid "" + "The downloaded packages were saved in cache until the next successful " + "transaction." + msgstr "다운로드된 패키지는 다음 번 성공적인 트랜잭션까지 캐시에 저장됩니다." + +-#: dnf/base.py:445 ++#: dnf/base.py:509 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "'%s'을/를 실행하여 캐시 패키지를 삭제할 수 있습니다." + +-#: dnf/base.py:535 ++#: dnf/base.py:599 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "설정 파일에서 tsflag 사용이 잘못되었습니다: %s" + +-#: dnf/base.py:591 ++#: dnf/base.py:655 + #, python-format + msgid "Failed to add groups file for repository: %s - %s" + msgstr "리포지토리의 그룹 파일을 추가하지 못했습니다. %s - %s" + +-#: dnf/base.py:823 ++#: dnf/base.py:887 + msgid "Running transaction check" + msgstr "트랜잭션 확인 실행 중" + +-#: dnf/base.py:831 ++#: dnf/base.py:895 + msgid "Error: transaction check vs depsolve:" + msgstr "오류 : 트랜잭션 확인 및 종속성 해결 오류" + +-#: dnf/base.py:837 ++#: dnf/base.py:901 + msgid "Transaction check succeeded." + msgstr "트랜잭션 확인에 성공했습니다." + +-#: dnf/base.py:840 ++#: dnf/base.py:904 + msgid "Running transaction test" + msgstr "트랜잭션 테스트 실행 중" + +-#: dnf/base.py:850 dnf/base.py:992 ++#: dnf/base.py:914 dnf/base.py:1065 + msgid "RPM: {}" + msgstr "RPM: {}" + +-#: dnf/base.py:851 ++#: dnf/base.py:915 + msgid "Transaction test error:" + msgstr "트랜잭션 테스트 오류:" + +-#: dnf/base.py:862 ++#: dnf/base.py:926 + msgid "Transaction test succeeded." + msgstr "트랜잭션 테스트에 성공했습니다." + +-#: dnf/base.py:883 ++#: dnf/base.py:947 + msgid "Running transaction" + msgstr "트랜잭션 실행 중" + +-#: dnf/base.py:911 ++#: dnf/base.py:984 + msgid "Disk Requirements:" + msgstr "디스크 요구 사항 :" + +-#: dnf/base.py:914 ++#: dnf/base.py:987 + #, python-brace-format + msgid "At least {0}MB more space needed on the {1} filesystem." + msgid_plural "At least {0}MB more space needed on the {1} filesystem." + msgstr[0] "{1} 파일 시스템에 최소 {0}MB의 공간이 더 필요합니다." + +-#: dnf/base.py:921 ++#: dnf/base.py:994 + msgid "Error Summary" + msgstr "오류 요약" + +-#: dnf/base.py:947 ++#: dnf/base.py:1020 + #, python-brace-format + msgid "RPMDB altered outside of {prog}." + msgstr "RPMDB는 {prog} 외부에서 변경되었습니다." + +-#: dnf/base.py:993 dnf/base.py:1001 ++#: dnf/base.py:1066 dnf/base.py:1074 + msgid "Could not run transaction." + msgstr "트랜잭션을 실행할 수 없습니다." + +-#: dnf/base.py:996 ++#: dnf/base.py:1069 + msgid "Transaction couldn't start:" + msgstr "트랜잭션을 시작할 수 없습니다 :" + +-#: dnf/base.py:1010 ++#: dnf/base.py:1083 + #, python-format + msgid "Failed to remove transaction file %s" + msgstr "%s 트랜잭션 파일을 삭제하지 못했습니다" + +-#: dnf/base.py:1092 ++#: dnf/base.py:1165 + msgid "Some packages were not downloaded. Retrying." + msgstr "일부 패키지가 다운로드되지 않았습니다. 다시 시도 중입니다." + +-#: dnf/base.py:1122 ++#: dnf/base.py:1195 + #, python-format + msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)" + msgstr "Delta RPM이 %.1f MB의 업데이트를 %.1f MB로 줄였습니다. (%d.1 %% 절약됨)" + +-#: dnf/base.py:1125 ++#: dnf/base.py:1198 + #, python-format + msgid "" + "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)" + msgstr "Delta RPM은 %.1f MB의 업데이트를 %.1f MB로 줄이는데 실패했습니다. (%d.1 %% 손실됨)" + +-#: dnf/base.py:1167 ++#: dnf/base.py:1240 + msgid "Cannot add local packages, because transaction job already exists" + msgstr "트랜잭션 작업이 이미 존재하므로 로컬 패키지를 추가할 수 없습니다" + +-#: dnf/base.py:1181 ++#: dnf/base.py:1254 + msgid "Could not open: {}" + msgstr "열 수 없음 : {}" + +-#: dnf/base.py:1219 ++#: dnf/base.py:1292 + #, python-format + msgid "Public key for %s is not installed" + msgstr "%s의 공개 키는 설치되어 있지 않습니다." + +-#: dnf/base.py:1223 ++#: dnf/base.py:1296 + #, python-format + msgid "Problem opening package %s" + msgstr "%s 패키지를 여는 중에 문제가 발생했습니다" + +-#: dnf/base.py:1231 ++#: dnf/base.py:1304 + #, python-format + msgid "Public key for %s is not trusted" + msgstr "%s의 공개 키는 신뢰할 수 없습니다" + +-#: dnf/base.py:1235 ++#: dnf/base.py:1308 + #, python-format + msgid "Package %s is not signed" + msgstr "%s 패키지가 서명되지 않았습니다" + +-#: dnf/base.py:1265 ++#: dnf/base.py:1338 + #, python-format + msgid "Cannot remove %s" + msgstr "%s을/를 삭제할 수 없습니다." + +-#: dnf/base.py:1269 ++#: dnf/base.py:1342 + #, python-format + msgid "%s removed" + msgstr "%s가 삭제되었습니다" + +-#: dnf/base.py:1549 ++#: dnf/base.py:1622 + msgid "No match for group package \"{}\"" + msgstr "그룹 패키지 \"{}\"에 일치하는 항목이 없습니다" + +-#: dnf/base.py:1635 ++#: dnf/base.py:1708 + #, python-format + msgid "Adding packages from group '%s': %s" + msgstr "'%s' 그룹에서 패키지 추가: %s" + +-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442 ++#: dnf/base.py:1731 dnf/cli/cli.py:220 dnf/cli/commands/__init__.py:442 + #: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592 + #: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80 + #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110 + msgid "Nothing to do." + msgstr "처리가 필요하지 않습니다" + +-#: dnf/base.py:1676 ++#: dnf/base.py:1749 + msgid "No groups marked for removal." + msgstr "제거할 패키지 그룹이 없습니다" + +-#: dnf/base.py:1710 ++#: dnf/base.py:1783 + msgid "No group marked for upgrade." + msgstr "업그레이드용으로 표시된 그룹이 없습니다." + +-#: dnf/base.py:1925 ++#: dnf/base.py:1997 + #, python-format + msgid "Package %s not installed, cannot downgrade it." + msgstr "%s 패키지가 설치되어 있지 않기 때문에 다운 그레이드할 수 없습니다." + +-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980 +-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411 ++#: dnf/base.py:1999 dnf/base.py:2018 dnf/base.py:2031 dnf/base.py:2052 ++#: dnf/base.py:2101 dnf/base.py:2109 dnf/base.py:2243 dnf/cli/cli.py:416 + #: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482 + #: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633 + #: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147 +@@ -346,141 +348,127 @@ msgstr "%s 패키지가 설치되어 있지 않기 때문에 다운 그레이드 + msgid "No match for argument: %s" + msgstr "일치하는 인수가 없습니다 : %s" + +-#: dnf/base.py:1934 ++#: dnf/base.py:2006 + #, python-format + msgid "Package %s of lower version already installed, cannot downgrade it." + msgstr "%s 패키지의 하위 버전이 이미 설치되어 있으므로 다운 그레이드할 수 없습니다." + +-#: dnf/base.py:1957 ++#: dnf/base.py:2029 + #, python-format + msgid "Package %s not installed, cannot reinstall it." + msgstr "%s 패키지가 설치되어 있지 않기 때문에 다시 설치할 수 없습니다." + +-#: dnf/base.py:1972 ++#: dnf/base.py:2044 + #, python-format + msgid "File %s is a source package and cannot be updated, ignoring." + msgstr "%s 파일은 소스 패키지이며 업데이트할 수 없습니다. 무시합니다." + +-#: dnf/base.py:1978 ++#: dnf/base.py:2050 + #, python-format + msgid "Package %s not installed, cannot update it." + msgstr "%s 패키지가 설치되어 있지 않기 때문에 업데이트할 수 없습니다." + +-#: dnf/base.py:1987 ++#: dnf/base.py:2059 + #, python-format + msgid "" + "The same or higher version of %s is already installed, cannot update it." + msgstr "%s 이상의 버전이 이미 설치되어 있으므로 업데이트할 수 없습니다." + +-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2098 dnf/cli/commands/reinstall.py:81 + #, python-format + msgid "Package %s available, but not installed." + msgstr "%s 패키지는 사용할 수는 있지만 설치되어 있지 않습니다." + +-#: dnf/base.py:2032 ++#: dnf/base.py:2104 + #, python-format + msgid "Package %s available, but installed for different architecture." + msgstr "%s 패키지는 사용 가능하지만 다른 아키텍처 용으로 설치되어 있습니다." + +-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699 ++#: dnf/base.py:2129 + #, python-format + msgid "No package %s installed." + msgstr "%s 패키지는 설치되어 있지 않습니다" + +-#: dnf/base.py:2075 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2147 dnf/cli/commands/install.py:136 + #: dnf/cli/commands/remove.py:133 + #, python-format + msgid "Not a valid form: %s" + msgstr "잘못된 형식: %s" + +-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681 +-#: dnf/cli/commands/remove.py:163 ++#: dnf/base.py:2162 dnf/cli/commands/__init__.py:681 ++#: dnf/cli/commands/remove.py:162 + msgid "No packages marked for removal." + msgstr "제거 대상 패키지가 없습니다." + +-#: dnf/base.py:2179 dnf/cli/cli.py:422 ++#: dnf/base.py:2250 dnf/cli/cli.py:427 + #, python-format + msgid "Packages for argument %s available, but not installed." + msgstr "%s 인수에 대한 패키지를 사용할 수 있지만 설치되어 있지 않습니다." + +-#: dnf/base.py:2184 ++#: dnf/base.py:2255 + #, python-format + msgid "Package %s of lowest version already installed, cannot downgrade it." + msgstr "%s 패키지의 최하위 버전이 이미 설치되어 있으므로 다운 그레이드할 수 없습니다." + +-#: dnf/base.py:2242 +-msgid "Action not handled: {}" +-msgstr "작업이 처리되지 않았습니다: {}" +- +-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703 +-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169 +-#, python-format +-msgid "No package %s available." +-msgstr "사용 가능한 패키지 %s가 없습니다." +- +-#: dnf/base.py:2269 +-msgid "no package matched" +-msgstr "일치하는 패키지가 없습니다." +- +-#: dnf/base.py:2290 ++#: dnf/base.py:2302 + msgid "No security updates needed, but {} update available" + msgstr "보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다" + +-#: dnf/base.py:2292 ++#: dnf/base.py:2304 + msgid "No security updates needed, but {} updates available" + msgstr "보안 업데이트는 필요하지 않지만 {} 업데이트가 가능합니다" + +-#: dnf/base.py:2296 ++#: dnf/base.py:2308 + msgid "No security updates needed for \"{}\", but {} update available" + msgstr "\"{}\"에는 보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다" + +-#: dnf/base.py:2298 ++#: dnf/base.py:2310 + msgid "No security updates needed for \"{}\", but {} updates available" + msgstr "\"{}\"에는 보안 업데이트가 필요하지 않지만 {} 업데이트가 가능합니다" + + #. raise an exception, because po.repoid is not in self.repos +-#: dnf/base.py:2319 ++#: dnf/base.py:2331 + #, python-format + msgid "Unable to retrieve a key for a commandline package: %s" + msgstr "" + +-#: dnf/base.py:2327 ++#: dnf/base.py:2339 + #, python-format + msgid ". Failing package is: %s" + msgstr "실패한 패키지는 다음과 같습니다. %s" + +-#: dnf/base.py:2328 ++#: dnf/base.py:2340 + #, python-format + msgid "GPG Keys are configured as: %s" + msgstr "GPG 키는 다음과 같이 설정되어 있습니다. %s" + +-#: dnf/base.py:2340 ++#: dnf/base.py:2352 + #, python-format + msgid "GPG key at %s (0x%s) is already installed" + msgstr "%s (0x%s)의 GPG 키가 이미 설치되어 있습니다" + +-#: dnf/base.py:2373 ++#: dnf/base.py:2385 + msgid "The key has been approved." + msgstr "키가 승인되었습니다." + +-#: dnf/base.py:2376 ++#: dnf/base.py:2388 + msgid "The key has been rejected." + msgstr "키가 거부되었습니다." + +-#: dnf/base.py:2409 ++#: dnf/base.py:2421 + #, python-format + msgid "Key import failed (code %d)" + msgstr "키 가져 오기에 실패했습니다 (코드 %d)" + +-#: dnf/base.py:2411 ++#: dnf/base.py:2423 + msgid "Key imported successfully" + msgstr "키 가져오기에 성공했습니다" + +-#: dnf/base.py:2415 ++#: dnf/base.py:2427 + msgid "Didn't install any keys" + msgstr "키를 하나도 설치하지 못했습니다" + +-#: dnf/base.py:2418 ++#: dnf/base.py:2430 + #, python-format + msgid "" + "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n" +@@ -489,49 +477,49 @@ msgstr "" + "해당 GPG 키는 \"%s\"저장소가 이미 설치되어 있지만이 패키지에 맞지 않습니다.\n" + "이 저장소에 대해 올바른 키 URL이 구성되었는지 확인하십시오." + +-#: dnf/base.py:2429 ++#: dnf/base.py:2441 + msgid "Import of key(s) didn't help, wrong key(s)?" + msgstr "가져온 키에 문제가 있습니다. 잘못된 키입니까?" + +-#: dnf/base.py:2482 ++#: dnf/base.py:2494 + msgid " * Maybe you meant: {}" + msgstr " * 다음을 의미할 수도 있습니다: {}" + +-#: dnf/base.py:2514 ++#: dnf/base.py:2526 + msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" + msgstr "로컬 저장소 \"{}\"의 \"{}\"패키지에 잘못된 체크섬이 있습니다" + +-#: dnf/base.py:2517 ++#: dnf/base.py:2529 + msgid "Some packages from local repository have incorrect checksum" + msgstr "로컬 저장소의 일부 패키지에 잘못된 체크섬이 있습니다" + +-#: dnf/base.py:2520 ++#: dnf/base.py:2532 + msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" + msgstr "저장소 \"{}\"의 패키지 \"{}\"에 잘못된 체크섬이 있습니다" + +-#: dnf/base.py:2523 ++#: dnf/base.py:2535 + msgid "" + "Some packages have invalid cache, but cannot be downloaded due to \"--" + "cacheonly\" option" + msgstr "일부 패키지에는 유효하지 않은 캐시가 있지만 \"--cacheonly\"옵션으로 인해 다운로드할 수 없습니다" + +-#: dnf/base.py:2541 dnf/base.py:2561 ++#: dnf/base.py:2553 dnf/base.py:2573 + msgid "No match for argument" + msgstr "일치하는 인수가 없습니다" + +-#: dnf/base.py:2549 dnf/base.py:2569 ++#: dnf/base.py:2561 dnf/base.py:2581 + msgid "All matches were filtered out by exclude filtering for argument" + msgstr "모든 일치 항목이 인수의 제외 필터로 필터링되었습니다" + +-#: dnf/base.py:2551 ++#: dnf/base.py:2563 + msgid "All matches were filtered out by modular filtering for argument" + msgstr "모든 일치 항목이 인수의 모듈식 필터로 필터링되었습니다" + +-#: dnf/base.py:2567 ++#: dnf/base.py:2579 + msgid "All matches were installed from a different repository for argument" + msgstr "모든 일치 항목이 인수의 다른 리포지토리에서 설치되었습니다" + +-#: dnf/base.py:2583 ++#: dnf/base.py:2626 + #, python-format + msgid "Package %s is already installed." + msgstr "패키지 %s이/가 이미 설치되어 있습니다." +@@ -551,8 +539,8 @@ msgstr "\"%s\" 파일의 구문 분석에 실패했습니다 : %s" + msgid "Cannot read file \"%s\": %s" + msgstr "\"%s\" 파일을 읽을 수 없습니다: %s" + +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902 +-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:803 ++#: dnf/cli/cli.py:807 dnf/cli/commands/alias.py:108 + #, python-format + msgid "Config error: %s" + msgstr "설정 오류: %s" +@@ -583,7 +571,7 @@ msgid "" + "stream '{2}'" + msgstr "이 작업은 '{0}' 모듈을 '{1}' 스트림에서 ‘{2}' 스트림으로 전환합니다" + +-#: dnf/cli/cli.py:172 ++#: dnf/cli/cli.py:173 + #, python-brace-format + msgid "" + "It is not possible to switch enabled streams of a module.\n" +@@ -592,35 +580,35 @@ msgstr "" + "활성화된 모듈 스트림을 전환 할 수 없습니다.\n" + "설치된 모든 내용을 모듈에서 제거하고 ‘{prog} module reset ' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후 다른 스트림을 설치할 수 있습니다." + +-#: dnf/cli/cli.py:210 ++#: dnf/cli/cli.py:211 + #, python-brace-format + msgid "{prog} will only download packages for the transaction." + msgstr "{prog}은/는 트랜잭션용 패키지 만 다운로드합니다." + +-#: dnf/cli/cli.py:213 ++#: dnf/cli/cli.py:214 + #, python-brace-format + msgid "" + "{prog} will only download packages, install gpg keys, and check the " + "transaction." + msgstr "{prog}은/는 패키지 만 다운로드하고 gpg 키를 설치하며 트랜잭션을 확인합니다." + +-#: dnf/cli/cli.py:217 ++#: dnf/cli/cli.py:218 + msgid "Operation aborted." + msgstr "작업이 중지됨." + +-#: dnf/cli/cli.py:224 ++#: dnf/cli/cli.py:225 + msgid "Downloading Packages:" + msgstr "패키지 다운로드중:" + +-#: dnf/cli/cli.py:230 ++#: dnf/cli/cli.py:231 + msgid "Error downloading packages:" + msgstr "패키지 다운로드중 오류 발생:" + +-#: dnf/cli/cli.py:258 ++#: dnf/cli/cli.py:263 + msgid "Transaction failed" + msgstr "트랜잭션 실패" + +-#: dnf/cli/cli.py:281 ++#: dnf/cli/cli.py:286 + msgid "" + "Refusing to automatically import keys when running unattended.\n" + "Use \"-y\" to override." +@@ -628,117 +616,96 @@ msgstr "" + "키를 자동으로 가져 오는 것을 거부합니다.\n" + "동작을 무시하려면 \"-y\"를 사용하십시오." + +-#: dnf/cli/cli.py:331 ++#: dnf/cli/cli.py:336 + msgid "Changelogs for {}" + msgstr "{}의 변경 사항" + +-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511 ++#: dnf/cli/cli.py:369 dnf/cli/cli.py:510 dnf/cli/cli.py:516 + msgid "Obsoleting Packages" + msgstr "더 이상 사용되지 않는 패키지" + +-#: dnf/cli/cli.py:393 ++#: dnf/cli/cli.py:398 + msgid "No packages marked for distribution synchronization." + msgstr "배포 동기화가 필요한 패키지가 없습니다." + +-#: dnf/cli/cli.py:428 ++#: dnf/cli/cli.py:424 dnf/cli/commands/group.py:395 ++#, python-format ++msgid "No package %s available." ++msgstr "사용 가능한 패키지 %s가 없습니다." ++ ++#: dnf/cli/cli.py:433 + msgid "No packages marked for downgrade." + msgstr "다운 그레이드 대상으로 표시된 패키지가 없습니다." + +-#: dnf/cli/cli.py:479 ++#: dnf/cli/cli.py:484 + msgid "Installed Packages" + msgstr "설치된 패키지" + +-#: dnf/cli/cli.py:487 ++#: dnf/cli/cli.py:492 + msgid "Available Packages" + msgstr "사용 가능한 패키지" + +-#: dnf/cli/cli.py:491 ++#: dnf/cli/cli.py:496 + msgid "Autoremove Packages" + msgstr "패키지 자동 삭제" + + # ctx::sourcefile::Systems Navigation Menu +-#: dnf/cli/cli.py:493 ++#: dnf/cli/cli.py:498 + msgid "Extra Packages" + msgstr "추가 패키지" + +-#: dnf/cli/cli.py:497 ++#: dnf/cli/cli.py:502 + msgid "Available Upgrades" + msgstr "사용 가능한 업그레이드" + +-#: dnf/cli/cli.py:513 ++#: dnf/cli/cli.py:518 + msgid "Recently Added Packages" + msgstr "최근에 추가 된 패키지" + +-#: dnf/cli/cli.py:518 ++#: dnf/cli/cli.py:522 + msgid "No matching Packages to list" + msgstr "목록과 일치하는 패키지가 없습니다" + +-#: dnf/cli/cli.py:599 ++#: dnf/cli/cli.py:603 + msgid "No Matches found" + msgstr "검색 결과가 없습니다" + +-#: dnf/cli/cli.py:609 +-msgid "No transaction ID given" +-msgstr "지정된 트랜잭션 ID가 없습니다" +- +-#: dnf/cli/cli.py:614 +-msgid "Not found given transaction ID" +-msgstr "주어진 트랜잭션 ID를 찾을 수 없습니다" +- +-#: dnf/cli/cli.py:623 +-msgid "Found more than one transaction ID!" +-msgstr "두 개 이상의 트랜잭션 ID를 찾았습니다!" +- +-#: dnf/cli/cli.py:640 +-#, python-format +-msgid "Transaction history is incomplete, before %u." +-msgstr "%u이전 트랜잭션 내역이 불완전합니다." +- +-#: dnf/cli/cli.py:642 +-#, python-format +-msgid "Transaction history is incomplete, after %u." +-msgstr "%u이후 트랜잭션 내역이 불완전합니다." +- +-#: dnf/cli/cli.py:689 +-msgid "Undoing transaction {}, from {}" +-msgstr "{}에서 {} 트랜잭션 실행을 취소하고 있습니다" +- +-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:670 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "알 수 없는 저장소: '%s'" + +-#: dnf/cli/cli.py:783 ++#: dnf/cli/cli.py:684 + #, python-format + msgid "No repository match: %s" + msgstr "일치하는 저장소가 없습니다 : %s" + +-#: dnf/cli/cli.py:817 ++#: dnf/cli/cli.py:718 + msgid "" + "This command has to be run with superuser privileges (under the root user on" + " most systems)." + msgstr "이 명령은 수퍼 유저 권한으로 실행해야합니다 (대부분의 시스템에서 root 사용자로 실행)." + +-#: dnf/cli/cli.py:847 ++#: dnf/cli/cli.py:748 + #, python-format + msgid "No such command: %s. Please use %s --help" + msgstr "명령을 찾을 수 없습니다: %s . %s --help를 사용하십시오" + +-#: dnf/cli/cli.py:850 ++#: dnf/cli/cli.py:751 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" + "command(%s)'\"" + msgstr "{PROG} 플러그인 명령일 수 있습니다: \"{prog} 'dnf-command(%s)'\"" + +-#: dnf/cli/cli.py:854 ++#: dnf/cli/cli.py:755 + #, python-brace-format + msgid "" + "It could be a {prog} plugin command, but loading of plugins is currently " + "disabled." + msgstr "{prog} 플러그인 명령일 수 있지만 플러그인 로딩은 현재 비활성화되어 있습니다." + +-#: dnf/cli/cli.py:912 ++#: dnf/cli/cli.py:813 + msgid "" + "--destdir or --downloaddir must be used with --downloadonly or download or " + "system-upgrade command." +@@ -746,7 +713,7 @@ msgstr "" + "--destdir 또는 --downloaddir은 --downloadonly 또는 download 또는 system-upgrade 명령과" + " 함께 사용해야합니다." + +-#: dnf/cli/cli.py:918 ++#: dnf/cli/cli.py:819 + msgid "" + "--enable, --set-enabled and --disable, --set-disabled must be used with " + "config-manager command." +@@ -754,7 +721,7 @@ msgstr "" + "--enable, --set-enabled 및 --disable, --set-disabled는 config-manager 명령과 함께 " + "사용해야합니다." + +-#: dnf/cli/cli.py:1000 ++#: dnf/cli/cli.py:901 + msgid "" + "Warning: Enforcing GPG signature check globally as per active RPM security " + "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" +@@ -762,38 +729,38 @@ msgstr "" + "경고: 활성화된 RPM 보안 정책에 따라 GPG 서명 검사를 전체적으로 시행합니다 (이 메시지를 제거하는 방법은 dnf.conf (5)의" + " 'gpgcheck' 참조)" + +-#: dnf/cli/cli.py:1020 ++#: dnf/cli/cli.py:921 + msgid "Config file \"{}\" does not exist" + msgstr "\"{}\" 설정 파일이 존재하지 않습니다" + +-#: dnf/cli/cli.py:1040 ++#: dnf/cli/cli.py:941 + msgid "" + "Unable to detect release version (use '--releasever' to specify release " + "version)" + msgstr "릴리스 버전을 찾을 수 없습니다 ('--releasever'를 사용하여 릴리스 버전을 지정하십시오)" + +-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1028 dnf/cli/commands/repoquery.py:471 + msgid "argument {}: not allowed with argument {}" + msgstr "인수 {}: 인수 {}과 함께 사용할 수 없습니다" + +-#: dnf/cli/cli.py:1134 ++#: dnf/cli/cli.py:1035 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "\"%s\" 명령이 이미 정의되어 있습니다" + +-#: dnf/cli/cli.py:1154 ++#: dnf/cli/cli.py:1055 + msgid "Excludes in dnf.conf: " + msgstr "dnf.conf에서 제외: " + +-#: dnf/cli/cli.py:1157 ++#: dnf/cli/cli.py:1058 + msgid "Includes in dnf.conf: " + msgstr "dnf.conf에 포함:. " + +-#: dnf/cli/cli.py:1160 ++#: dnf/cli/cli.py:1061 + msgid "Excludes in repo " + msgstr "리포지토리에서 제외 " + +-#: dnf/cli/cli.py:1163 ++#: dnf/cli/cli.py:1064 + msgid "Includes in repo " + msgstr "리포지토리에 포함 " + +@@ -849,7 +816,7 @@ msgid "show all packages (default)" + msgstr "모든 패키지 표시 (기본값)" + + #: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743 +-#: dnf/cli/commands/module.py:351 ++#: dnf/cli/commands/module.py:373 + msgid "show only available packages" + msgstr "사용 가능한 패키지 만 표시" + +@@ -1174,78 +1141,78 @@ msgstr "그룹 정보를 표시하거나 사용합니다" + msgid "No group data available for configured repositories." + msgstr "설정된 리포지토리에 사용할 수있는 그룹 데이터가 없습니다." + +-#: dnf/cli/commands/group.py:129 ++#: dnf/cli/commands/group.py:126 + #, python-format + msgid "Warning: Group %s does not exist." + msgstr "경고: %s 그룹이 존재하지 않습니다." + +-#: dnf/cli/commands/group.py:170 ++#: dnf/cli/commands/group.py:167 + msgid "Warning: No groups match:" + msgstr "경고: 일치하는 그룹이 없습니다" + +-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193 +-#: dnf/cli/output.py:1226 ++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190 ++#: dnf/cli/output.py:1139 + msgid "" + msgstr "" + +-#: dnf/cli/commands/group.py:199 ++#: dnf/cli/commands/group.py:196 + msgid "Available Environment Groups:" + msgstr "사용 가능한 환경 그룹 :" + +-#: dnf/cli/commands/group.py:201 ++#: dnf/cli/commands/group.py:198 + msgid "Installed Environment Groups:" + msgstr "설치된 환경 그룹 :" + +-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294 ++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291 + msgid "Installed Groups:" + msgstr "설치된 그룹 :" + +-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301 ++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298 + msgid "Installed Language Groups:" + msgstr "설치된 언어 그룹 :" + +-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308 ++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305 + msgid "Available Groups:" + msgstr "사용 가능한 그룹 :" + +-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315 ++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312 + msgid "Available Language Groups:" + msgstr "사용 가능한 언어 그룹 :" + +-#: dnf/cli/commands/group.py:322 ++#: dnf/cli/commands/group.py:319 + msgid "include optional packages from group" + msgstr "그룹의 선택 패키지를 포함합니다" + +-#: dnf/cli/commands/group.py:325 ++#: dnf/cli/commands/group.py:322 + msgid "show also hidden groups" + msgstr "숨겨진 그룹도 표시합니다" + +-#: dnf/cli/commands/group.py:327 ++#: dnf/cli/commands/group.py:324 + msgid "show only installed groups" + msgstr "설치된 그룹 만 표시합니다" + +-#: dnf/cli/commands/group.py:329 ++#: dnf/cli/commands/group.py:326 + msgid "show only available groups" + msgstr "사용 가능한 그룹 만 표시합니다" + +-#: dnf/cli/commands/group.py:331 ++#: dnf/cli/commands/group.py:328 + msgid "show also ID of groups" + msgstr "그룹 ID 표시" + +-#: dnf/cli/commands/group.py:333 ++#: dnf/cli/commands/group.py:330 + msgid "available subcommands: {} (default), {}" + msgstr "사용 가능한 하위 명령: {} (기본값), {}" + +-#: dnf/cli/commands/group.py:337 ++#: dnf/cli/commands/group.py:334 + msgid "argument for group subcommand" + msgstr "그룹 하위 명령의 인수" + +-#: dnf/cli/commands/group.py:346 ++#: dnf/cli/commands/group.py:343 + #, python-format + msgid "Invalid groups sub-command, use: %s." + msgstr "그룹 하위 명령이 잘못되었습니다. %s을/를 사용합니다." + +-#: dnf/cli/commands/group.py:403 ++#: dnf/cli/commands/group.py:398 + msgid "Unable to find a mandatory group package." + msgstr "필수 그룹 패키지를 찾을 수 없습니다." + +@@ -1295,30 +1262,58 @@ msgstr "주어진 거래 ID가 없습니다." + msgid "More than one argument given as transaction file name." + msgstr "트랜잭션 파일을 제거하지 못했습니다. %s" + +-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126 ++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130 + msgid "No transaction ID or package name given." + msgstr "트랜잭션 ID 또는 패키지 이름이 없습니다." + +-#: dnf/cli/commands/history.py:138 ++#: dnf/cli/commands/history.py:142 + #, python-format + msgid "You don't have access to the history DB: %s" + msgstr "기록 DB에 액세스할 수 없습니다: %s" + +-#: dnf/cli/commands/history.py:147 ++#: dnf/cli/commands/history.py:151 + #, python-format + msgid "" + "Cannot undo transaction %s, doing so would result in an inconsistent package" + " database." + msgstr "%s 트랜잭션을 취소할 수 없습니다. 취소하면 패키지 데이터베이스가 일치하지 않게 됩니다." + +-#: dnf/cli/commands/history.py:152 ++#: dnf/cli/commands/history.py:156 + #, python-format + msgid "" + "Cannot rollback transaction %s, doing so would result in an inconsistent " + "package database." + msgstr "%s 트랜잭션을 롤백할 수 없습니다. 이렇게하면 패키지 데이터베이스가 일치하지 않게 됩니다." + +-#: dnf/cli/commands/history.py:222 ++#: dnf/cli/commands/history.py:175 ++msgid "No transaction ID given" ++msgstr "지정된 트랜잭션 ID가 없습니다" ++ ++#: dnf/cli/commands/history.py:179 ++#, fuzzy, python-brace-format ++#| msgid "TransactionItem not found for key: {}" ++msgid "Transaction ID \"{0}\" not found." ++msgstr "{} 키에 대한 TransactionItem을 찾을 수 없습니다" ++ ++#: dnf/cli/commands/history.py:185 ++msgid "Found more than one transaction ID!" ++msgstr "두 개 이상의 트랜잭션 ID를 찾았습니다!" ++ ++#: dnf/cli/commands/history.py:203 ++#, python-format ++msgid "Transaction history is incomplete, before %u." ++msgstr "%u이전 트랜잭션 내역이 불완전합니다." ++ ++#: dnf/cli/commands/history.py:205 ++#, python-format ++msgid "Transaction history is incomplete, after %u." ++msgstr "%u이후 트랜잭션 내역이 불완전합니다." ++ ++#: dnf/cli/commands/history.py:256 ++msgid "No packages to list" ++msgstr "목록에 패키지가 없습니다" ++ ++#: dnf/cli/commands/history.py:279 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." +@@ -1326,7 +1321,7 @@ msgstr "" + "잘못된 트랜잭션 ID 범위 정의 '{}'. \n" + "'..' 사용." + +-#: dnf/cli/commands/history.py:226 ++#: dnf/cli/commands/history.py:283 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." +@@ -1334,38 +1329,32 @@ msgstr "" + "'{}'을 (를) 트랜잭션 ID로 변환할 수 없습니다. \n" + "'', 'last', 'last-' 사용." + +-#: dnf/cli/commands/history.py:255 ++#: dnf/cli/commands/history.py:312 + msgid "No transaction which manipulates package '{}' was found." + msgstr "패키지 '{}'을 (를) 사용하는 트랜잭션이 없습니다." + +-#: dnf/cli/commands/history.py:305 +-#, python-brace-format +-msgid "Transaction ID \"{id}\" not found." +-msgstr "" +- +-#: dnf/cli/commands/history.py:313 ++#: dnf/cli/commands/history.py:357 + msgid "{} exists, overwrite?" + msgstr "" + +-#: dnf/cli/commands/history.py:316 ++#: dnf/cli/commands/history.py:360 + msgid "Not overwriting {}, exiting." + msgstr "" + +-#: dnf/cli/commands/history.py:323 ++#: dnf/cli/commands/history.py:367 + #, fuzzy + #| msgid "Transaction test succeeded." + msgid "Transaction saved to {}." + msgstr "트랜잭션 테스트가 완료되었습니다." + +-#: dnf/cli/commands/history.py:326 ++#: dnf/cli/commands/history.py:370 + #, fuzzy + #| msgid "Errors occurred during transaction." + msgid "Error storing transaction: {}" + msgstr "거래 중에 오류가 발생했습니다." + +-#: dnf/cli/commands/history.py:350 +-msgid "" +-"Warning, the following problems occurred while replaying the transaction:" ++#: dnf/cli/commands/history.py:386 ++msgid "Warning, the following problems occurred while running a transaction:" + msgstr "" + + #: dnf/cli/commands/install.py:47 +@@ -1385,7 +1374,7 @@ msgstr "일치하는 항목을 찾을 수 없습니다" + msgid "Not a valid rpm file path: %s" + msgstr "올바른 rpm 파일 경로가 아닙니다. %s" + +-#: dnf/cli/commands/install.py:167 ++#: dnf/cli/commands/install.py:166 + #, python-brace-format + msgid "There are following alternatives for \"{0}\": {1}" + msgstr "다음은 “{0}\"의 대안입니다. {1}" +@@ -1428,7 +1417,7 @@ msgid "%s marked as group installed." + msgstr "%s은/는 그룹이 설치한 것으로 표시되었습니다" + + #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129 +-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279 ++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282 + msgid "Error:" + msgstr "오류:" + +@@ -1484,42 +1473,46 @@ msgid "Package {} belongs to multiple modules, skipping" + msgstr "{} 패키지는 여러 모듈에 속합니다. 건너 뛰기" + + #: dnf/cli/commands/module.py:277 ++msgid "switch a module to a stream and distrosync rpm packages" ++msgstr "" ++ ++#: dnf/cli/commands/module.py:299 + msgid "list modular packages" + msgstr "모듈 패키지 목록" + +-#: dnf/cli/commands/module.py:292 ++#: dnf/cli/commands/module.py:314 + msgid "list packages belonging to a module" + msgstr "모듈에 속하는 패키지를 나열하십시오" + +-#: dnf/cli/commands/module.py:327 ++#: dnf/cli/commands/module.py:349 + msgid "Interact with Modules." + msgstr "모듈과 상호 작용합니다." + +-#: dnf/cli/commands/module.py:340 ++#: dnf/cli/commands/module.py:362 + msgid "show only enabled modules" + msgstr "활성화된 모듈 만 표시" + +-#: dnf/cli/commands/module.py:343 ++#: dnf/cli/commands/module.py:365 + msgid "show only disabled modules" + msgstr "비활성화된 모듈 만 표시" + +-#: dnf/cli/commands/module.py:346 ++#: dnf/cli/commands/module.py:368 + msgid "show only installed modules or packages" + msgstr "설치된 모듈 또는 패키지 만 표시" + +-#: dnf/cli/commands/module.py:349 ++#: dnf/cli/commands/module.py:371 + msgid "show profile content" + msgstr "프로파일 내용 표시" + +-#: dnf/cli/commands/module.py:354 ++#: dnf/cli/commands/module.py:376 + msgid "remove all modular packages" + msgstr "모든 모듈 패키지 삭제" + +-#: dnf/cli/commands/module.py:364 ++#: dnf/cli/commands/module.py:386 + msgid "Module specification" + msgstr "모듈 사양" + +-#: dnf/cli/commands/module.py:386 ++#: dnf/cli/commands/module.py:408 + msgid "{} {} {}: too few arguments" + msgstr "{} {} {}: 인수가 부족합니다" + +@@ -2004,22 +1997,22 @@ msgstr "KEYWORD" + msgid "Keyword to search for" + msgstr "검색 키워드" + +-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506 ++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460 + msgctxt "long" + msgid "Name" + msgstr "이름" + +-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559 ++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513 + msgctxt "long" + msgid "Summary" + msgstr "요약" + +-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569 ++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523 + msgctxt "long" + msgid "Description" + msgstr "설명" + +-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562 ++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516 + msgid "URL" + msgstr "URL" + +@@ -2162,16 +2155,16 @@ msgstr "" + "run 트랜잭션 세트 분석 및 실행\n" + "exit (or quit) 쉘 종료" + +-#: dnf/cli/commands/shell.py:259 ++#: dnf/cli/commands/shell.py:262 + #, python-format + msgid "Error: Cannot open %s for reading" + msgstr "오류: 읽기 전용 %s를 열 수 없습니다" + +-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187 ++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187 + msgid "Complete!" + msgstr "완료되었습니다!" + +-#: dnf/cli/commands/shell.py:291 ++#: dnf/cli/commands/shell.py:294 + msgid "Leaving Shell" + msgstr "쉘 나가기" + +@@ -2364,8 +2357,8 @@ msgstr "파일" + + # translation auto-copied from project subscription-manager, version 1.11.X, + # document keys +-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499 +-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774 ++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1652 ++#: dnf/cli/output.py:1654 dnf/util.py:591 + msgid "Installed" + msgstr "설치됨" + +@@ -2688,13 +2681,13 @@ msgstr "‘%s' 인수를 인코딩할 수 없습니다: %s" + #. Translators: This is abbreviated 'Name'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:505 ++#: dnf/cli/output.py:459 + msgctxt "short" + msgid "Name" + msgstr "이름" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:511 ++#: dnf/cli/output.py:465 + msgid "Epoch" + msgstr "기간" + +@@ -2702,38 +2695,38 @@ msgstr "기간" + #. use the full (unabbreviated) term 'Version' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:512 dnf/cli/output.py:1335 ++#: dnf/cli/output.py:466 dnf/cli/output.py:1248 + msgctxt "short" + msgid "Version" + msgstr "버전" + + #. Translators: This is the full (unabbreviated) term 'Version'. +-#: dnf/cli/output.py:513 dnf/cli/output.py:1337 ++#: dnf/cli/output.py:467 dnf/cli/output.py:1250 + msgctxt "long" + msgid "Version" + msgstr "버전" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:516 ++#: dnf/cli/output.py:470 + msgid "Release" + msgstr "릴리즈" + + #. Translators: This is abbreviated 'Architecture', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:517 dnf/cli/output.py:1326 ++#: dnf/cli/output.py:471 dnf/cli/output.py:1239 + msgctxt "short" + msgid "Arch" + msgstr "아키텍처" + + #. Translators: This is the full word 'Architecture', used when + #. we have enough space. +-#: dnf/cli/output.py:518 dnf/cli/output.py:1329 ++#: dnf/cli/output.py:472 dnf/cli/output.py:1242 + msgctxt "long" + msgid "Architecture" + msgstr "아키텍처" + + #. Translators: This is the full (unabbreviated) term 'Size'. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1352 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1265 + msgctxt "long" + msgid "Size" + msgstr "크기" +@@ -2742,32 +2735,32 @@ msgstr "크기" + #. not be longer than 5 characters. If the term 'Size' in your + #. language is not longer than 5 characters then you can use it + #. unabbreviated. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1350 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1263 + msgctxt "short" + msgid "Size" + msgstr "크기" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:524 ++#: dnf/cli/output.py:478 + msgid "Source" + msgstr "소스" + + #. Translators: This is abbreviated 'Repository', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:525 dnf/cli/output.py:1341 ++#: dnf/cli/output.py:479 dnf/cli/output.py:1254 + msgctxt "short" + msgid "Repo" + msgstr "리포지터리" + + #. Translators: This is the full word 'Repository', used when + #. we have enough space. +-#: dnf/cli/output.py:526 dnf/cli/output.py:1344 ++#: dnf/cli/output.py:480 dnf/cli/output.py:1257 + msgctxt "long" + msgid "Repository" + msgstr "리포지터리" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:533 ++#: dnf/cli/output.py:487 + msgid "From repo" + msgstr "리포지터리에서" + +@@ -2775,314 +2768,310 @@ msgstr "리포지터리에서" + #. print(_("Committer : %s") % ucd(pkg.committer)) + #. print(_("Committime : %s") % time.ctime(pkg.committime)) + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:539 ++#: dnf/cli/output.py:493 + msgid "Packager" + msgstr "패키지 프로그램" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:541 ++#: dnf/cli/output.py:495 + msgid "Buildtime" + msgstr "빌드 시간" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:545 ++#: dnf/cli/output.py:499 + msgid "Install time" + msgstr "설치 시간" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:554 ++#: dnf/cli/output.py:508 + msgid "Installed by" + msgstr "설치자" + + #. Translators: This is abbreviated 'Summary'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:558 ++#: dnf/cli/output.py:512 + msgctxt "short" + msgid "Summary" + msgstr "요약" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:564 ++#: dnf/cli/output.py:518 + msgid "License" + msgstr "라이센스" + + #. Translators: This is abbreviated 'Description'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:568 ++#: dnf/cli/output.py:522 + msgctxt "short" + msgid "Description" + msgstr "설명" + +-#: dnf/cli/output.py:695 +-msgid "No packages to list" +-msgstr "목록에 패키지가 없습니다" +- +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "y" + msgstr "y" + +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "yes" + msgstr "예" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "n" + msgstr "n" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "no" + msgstr "아니요" + +-#: dnf/cli/output.py:711 ++#: dnf/cli/output.py:655 + msgid "Is this ok [y/N]: " + msgstr "정말입니까 [y/N]: " + +-#: dnf/cli/output.py:715 ++#: dnf/cli/output.py:659 + msgid "Is this ok [Y/n]: " + msgstr "정말입니까 [Y/n]: " + +-#: dnf/cli/output.py:795 ++#: dnf/cli/output.py:739 + #, python-format + msgid "Group: %s" + msgstr "그룹 %s" + +-#: dnf/cli/output.py:799 ++#: dnf/cli/output.py:743 + #, python-format + msgid " Group-Id: %s" + msgstr " 그룹 ID: %s" + +-#: dnf/cli/output.py:801 dnf/cli/output.py:840 ++#: dnf/cli/output.py:745 dnf/cli/output.py:784 + #, python-format + msgid " Description: %s" + msgstr " 설명: %s" + +-#: dnf/cli/output.py:803 ++#: dnf/cli/output.py:747 + #, python-format + msgid " Language: %s" + msgstr " 언어: %s" + +-#: dnf/cli/output.py:806 ++#: dnf/cli/output.py:750 + msgid " Mandatory Packages:" + msgstr " 필수 패키지 :" + +-#: dnf/cli/output.py:807 ++#: dnf/cli/output.py:751 + msgid " Default Packages:" + msgstr " 기본 패키지 :" + +-#: dnf/cli/output.py:808 ++#: dnf/cli/output.py:752 + msgid " Optional Packages:" + msgstr " 선택적인 패키지 :" + +-#: dnf/cli/output.py:809 ++#: dnf/cli/output.py:753 + msgid " Conditional Packages:" + msgstr " 추가 가능 패키지 :" + +-#: dnf/cli/output.py:834 ++#: dnf/cli/output.py:778 + #, python-format + msgid "Environment Group: %s" + msgstr "환경 그룹 : %s" + +-#: dnf/cli/output.py:837 ++#: dnf/cli/output.py:781 + #, python-format + msgid " Environment-Id: %s" + msgstr " 환경 -ID : %s" + +-#: dnf/cli/output.py:843 ++#: dnf/cli/output.py:787 + msgid " Mandatory Groups:" + msgstr " 필수 그룹 :" + +-#: dnf/cli/output.py:844 ++#: dnf/cli/output.py:788 + msgid " Optional Groups:" + msgstr " 선택적인 그룹 :" + +-#: dnf/cli/output.py:865 ++#: dnf/cli/output.py:809 + msgid "Matched from:" + msgstr "일치하는 항목 :" + +-#: dnf/cli/output.py:879 ++#: dnf/cli/output.py:823 + #, python-format + msgid "Filename : %s" + msgstr "파일 이름 : %s" + +-#: dnf/cli/output.py:904 ++#: dnf/cli/output.py:848 + #, python-format + msgid "Repo : %s" + msgstr "리포지토리 : %s" + +-#: dnf/cli/output.py:913 ++#: dnf/cli/output.py:857 + msgid "Description : " + msgstr "설명 : " + +-#: dnf/cli/output.py:917 ++#: dnf/cli/output.py:861 + #, python-format + msgid "URL : %s" + msgstr "URL : %s" + +-#: dnf/cli/output.py:921 ++#: dnf/cli/output.py:865 + #, python-format + msgid "License : %s" + msgstr "라이센스 : %s" + +-#: dnf/cli/output.py:927 ++#: dnf/cli/output.py:871 + #, python-format + msgid "Provide : %s" + msgstr "제공 : %s" + +-#: dnf/cli/output.py:947 ++#: dnf/cli/output.py:891 + #, python-format + msgid "Other : %s" + msgstr "기타 : %s" + +-#: dnf/cli/output.py:996 ++#: dnf/cli/output.py:940 + msgid "There was an error calculating total download size" + msgstr "총 다운로드 크기를 계산하는 중에 오류가 발생했습니다" + +-#: dnf/cli/output.py:1002 ++#: dnf/cli/output.py:946 + #, python-format + msgid "Total size: %s" + msgstr "전체 크기: %s" + +-#: dnf/cli/output.py:1005 ++#: dnf/cli/output.py:949 + #, python-format + msgid "Total download size: %s" + msgstr "총 다운로드 크기 : %s" + +-#: dnf/cli/output.py:1008 ++#: dnf/cli/output.py:952 + #, python-format + msgid "Installed size: %s" + msgstr "설치된 크기 : %s" + +-#: dnf/cli/output.py:1026 ++#: dnf/cli/output.py:970 + msgid "There was an error calculating installed size" + msgstr "설치된 크기를 계산하는 동안 오류가 발생했습니다" + +-#: dnf/cli/output.py:1030 ++#: dnf/cli/output.py:974 + #, python-format + msgid "Freed space: %s" + msgstr "사용 가능한 공간 : %s" + +-#: dnf/cli/output.py:1039 ++#: dnf/cli/output.py:983 + msgid "Marking packages as installed by the group:" + msgstr "그룹에 설치된 패키지 표시:" + +-#: dnf/cli/output.py:1046 ++#: dnf/cli/output.py:990 + msgid "Marking packages as removed by the group:" + msgstr "그룹에 의해 제거된 패키지 표시:" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Group" + msgstr "그룹" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Packages" + msgstr "패키지" + +-#: dnf/cli/output.py:1133 ++#: dnf/cli/output.py:1046 + msgid "Installing group/module packages" + msgstr "그룹 / 모듈 패키지 설치" + +-#: dnf/cli/output.py:1134 ++#: dnf/cli/output.py:1047 + msgid "Installing group packages" + msgstr "그룹 패키지 설치" + + #. TRANSLATORS: This is for a list of packages to be installed. +-#: dnf/cli/output.py:1138 ++#: dnf/cli/output.py:1051 + msgctxt "summary" + msgid "Installing" + msgstr "설치 중" + + #. TRANSLATORS: This is for a list of packages to be upgraded. +-#: dnf/cli/output.py:1140 ++#: dnf/cli/output.py:1053 + msgctxt "summary" + msgid "Upgrading" + msgstr "업그레이드 중" + + #. TRANSLATORS: This is for a list of packages to be reinstalled. +-#: dnf/cli/output.py:1142 ++#: dnf/cli/output.py:1055 + msgctxt "summary" + msgid "Reinstalling" + msgstr "재설치 중" + +-#: dnf/cli/output.py:1144 ++#: dnf/cli/output.py:1057 + msgid "Installing dependencies" + msgstr "종속 패키지 설치 중" + +-#: dnf/cli/output.py:1145 ++#: dnf/cli/output.py:1058 + msgid "Installing weak dependencies" + msgstr "취약한 종속 패키지 설치 중" + + #. TRANSLATORS: This is for a list of packages to be removed. + # translation auto-copied from project subscription-manager, version 1.11.X, + # document keys +-#: dnf/cli/output.py:1147 ++#: dnf/cli/output.py:1060 + msgid "Removing" + msgstr "삭제 중" + +-#: dnf/cli/output.py:1148 ++#: dnf/cli/output.py:1061 + msgid "Removing dependent packages" + msgstr "종속 패키지 제거" + +-#: dnf/cli/output.py:1149 ++#: dnf/cli/output.py:1062 + msgid "Removing unused dependencies" + msgstr "사용하지 않는 종속 패키지 제거" + + #. TRANSLATORS: This is for a list of packages to be downgraded. +-#: dnf/cli/output.py:1151 ++#: dnf/cli/output.py:1064 + msgctxt "summary" + msgid "Downgrading" + msgstr "다운그레이드 중" + +-#: dnf/cli/output.py:1176 ++#: dnf/cli/output.py:1089 + msgid "Installing module profiles" + msgstr "모듈 프로파일 설치" + +-#: dnf/cli/output.py:1185 ++#: dnf/cli/output.py:1098 + msgid "Disabling module profiles" + msgstr "모듈 프로파일 비활성화" + +-#: dnf/cli/output.py:1194 ++#: dnf/cli/output.py:1107 + msgid "Enabling module streams" + msgstr "모듈 스트림 활성화" + +-#: dnf/cli/output.py:1202 ++#: dnf/cli/output.py:1115 + msgid "Switching module streams" + msgstr "모듈 스트림 전환" + +-#: dnf/cli/output.py:1210 ++#: dnf/cli/output.py:1123 + msgid "Disabling modules" + msgstr "모듈 비활성화" + +-#: dnf/cli/output.py:1218 ++#: dnf/cli/output.py:1131 + msgid "Resetting modules" + msgstr "모듈 재설정" + +-#: dnf/cli/output.py:1230 ++#: dnf/cli/output.py:1143 + msgid "Installing Environment Groups" + msgstr "환경 그룹 설치" + +-#: dnf/cli/output.py:1237 ++#: dnf/cli/output.py:1150 + msgid "Upgrading Environment Groups" + msgstr "환경 그룹 업그레이드" + +-#: dnf/cli/output.py:1244 ++#: dnf/cli/output.py:1157 + msgid "Removing Environment Groups" + msgstr "환경 그룹 제거" + +-#: dnf/cli/output.py:1251 ++#: dnf/cli/output.py:1164 + msgid "Installing Groups" + msgstr "그룹 설치" + +-#: dnf/cli/output.py:1258 ++#: dnf/cli/output.py:1171 + msgid "Upgrading Groups" + msgstr "그룹 업그레이드" + +-#: dnf/cli/output.py:1265 ++#: dnf/cli/output.py:1178 + msgid "Removing Groups" + msgstr "그룹 제거" + +-#: dnf/cli/output.py:1281 ++#: dnf/cli/output.py:1194 + #, python-format + msgid "" + "Skipping packages with conflicts:\n" +@@ -3091,12 +3080,12 @@ msgstr "" + "충돌 패키지 건너 뛰기 :\n" + "(업그레이드를 강제하려면 명령행에 '%s' 추가)" + +-#: dnf/cli/output.py:1291 ++#: dnf/cli/output.py:1204 + #, python-format + msgid "Skipping packages with broken dependencies%s" + msgstr "손상된 종속성이 있는 %s 패키지 건너 뛰기" + +-#: dnf/cli/output.py:1295 ++#: dnf/cli/output.py:1208 + msgid " or part of a group" + msgstr " 또는 그룹의 일부" + +@@ -3104,22 +3093,22 @@ msgstr " 또는 그룹의 일부" + #. use the full (unabbreviated) term 'Package' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:1320 ++#: dnf/cli/output.py:1233 + msgctxt "short" + msgid "Package" + msgstr "패키지" + + #. Translators: This is the full (unabbreviated) term 'Package'. +-#: dnf/cli/output.py:1322 ++#: dnf/cli/output.py:1235 + msgctxt "long" + msgid "Package" + msgstr "패키지" + +-#: dnf/cli/output.py:1371 ++#: dnf/cli/output.py:1284 + msgid "replacing" + msgstr "교체" + +-#: dnf/cli/output.py:1378 ++#: dnf/cli/output.py:1291 + #, python-format + msgid "" + "\n" +@@ -3131,292 +3120,276 @@ msgstr "" + "%s\n" + + #. TODO: remove +-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933 ++#: dnf/cli/output.py:1296 dnf/cli/output.py:1812 dnf/cli/output.py:1813 + msgid "Install" + msgstr "설치" + + # ctx::sourcefile::Navigation Menu +-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941 ++#: dnf/cli/output.py:1300 dnf/cli/output.py:1821 + msgid "Upgrade" + msgstr "업그레이드" + +-#: dnf/cli/output.py:1388 ++#: dnf/cli/output.py:1301 + msgid "Remove" + msgstr "삭제" + +-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939 ++#: dnf/cli/output.py:1303 dnf/cli/output.py:1819 + msgid "Downgrade" + msgstr "다운 그레이드" + +-#: dnf/cli/output.py:1391 ++#: dnf/cli/output.py:1304 + msgid "Skip" + msgstr "건너뛰기" + +-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416 ++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329 + msgid "Package" + msgid_plural "Packages" + msgstr[0] "패키지" + +-#: dnf/cli/output.py:1418 ++#: dnf/cli/output.py:1331 + msgid "Dependent package" + msgid_plural "Dependent packages" + msgstr[0] "종속 패키지" + +-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942 +-msgid "Upgraded" +-msgstr "업그레이드 됨" +- +-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940 +-msgid "Downgraded" +-msgstr "다운 그레이드" +- +-#: dnf/cli/output.py:1503 +-msgid "Reinstalled" +-msgstr "다시 설치됨" +- +-#: dnf/cli/output.py:1504 +-msgid "Skipped" +-msgstr "건너 뛰기됨" +- +-#: dnf/cli/output.py:1505 +-msgid "Removed" +-msgstr "제거됨" +- +-#: dnf/cli/output.py:1508 +-msgid "Failed" +-msgstr "실패하였습니다" +- + # auto translated by TM merge from project: RHOSP Director Installation and + # Usage , version: 11-Korean, DocId: master +-#: dnf/cli/output.py:1559 ++#: dnf/cli/output.py:1439 + msgid "Total" + msgstr "합계" + +-#: dnf/cli/output.py:1587 ++#: dnf/cli/output.py:1467 + msgid "" + msgstr "" + +-#: dnf/cli/output.py:1588 ++#: dnf/cli/output.py:1468 + msgid "System" + msgstr "시스템" + +-#: dnf/cli/output.py:1638 ++#: dnf/cli/output.py:1518 + msgid "Command line" + msgstr "명령행" + + #. TRANSLATORS: user names who executed transaction in history command output +-#: dnf/cli/output.py:1649 ++#: dnf/cli/output.py:1529 + msgid "User name" + msgstr "사용자 이름" + + # translation auto-copied from project subscription-manager, version 1.11.X, + # document keys +-#: dnf/cli/output.py:1651 ++#: dnf/cli/output.py:1531 + msgid "ID" + msgstr "ID" + +-#: dnf/cli/output.py:1653 ++#: dnf/cli/output.py:1533 + msgid "Date and time" + msgstr "날짜와 시간" + +-#: dnf/cli/output.py:1654 ++#: dnf/cli/output.py:1534 + msgid "Action(s)" + msgstr "작업" + +-#: dnf/cli/output.py:1655 ++#: dnf/cli/output.py:1535 + msgid "Altered" + msgstr "변경됨" + +-#: dnf/cli/output.py:1698 ++#: dnf/cli/output.py:1578 + msgid "No transactions" + msgstr "트랜잭션 없음" + +-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715 ++#: dnf/cli/output.py:1579 dnf/cli/output.py:1595 + msgid "Failed history info" + msgstr "실패 기록 정보" + +-#: dnf/cli/output.py:1714 ++#: dnf/cli/output.py:1594 + msgid "No transaction ID, or package, given" + msgstr "트랜잭션 ID 또는 패키지가 지정되지 않았습니다" + +-#: dnf/cli/output.py:1772 ++#: dnf/cli/output.py:1652 + msgid "Erased" + msgstr "삭제됨" + +-#: dnf/cli/output.py:1774 ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1820 dnf/util.py:590 ++msgid "Downgraded" ++msgstr "다운 그레이드" ++ ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1822 dnf/util.py:589 ++msgid "Upgraded" ++msgstr "업그레이드 됨" ++ ++#: dnf/cli/output.py:1654 + msgid "Not installed" + msgstr "설치되지 않음" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Newer" + msgstr "최신" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Older" + msgstr "이전" + +-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825 ++#: dnf/cli/output.py:1703 dnf/cli/output.py:1705 + msgid "Transaction ID :" + msgstr "트랜잭션 ID :" + +-#: dnf/cli/output.py:1828 ++#: dnf/cli/output.py:1708 + msgid "Begin time :" + msgstr "시작 시간 :" + +-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833 ++#: dnf/cli/output.py:1711 dnf/cli/output.py:1713 + msgid "Begin rpmdb :" + msgstr "rpmdb 시작 :" + +-#: dnf/cli/output.py:1839 ++#: dnf/cli/output.py:1719 + #, python-format + msgid "(%u seconds)" + msgstr "(%u 초)" + +-#: dnf/cli/output.py:1841 ++#: dnf/cli/output.py:1721 + #, python-format + msgid "(%u minutes)" + msgstr "(%u 분)" + +-#: dnf/cli/output.py:1843 ++#: dnf/cli/output.py:1723 + #, python-format + msgid "(%u hours)" + msgstr "(%u 시간)" + +-#: dnf/cli/output.py:1845 ++#: dnf/cli/output.py:1725 + #, python-format + msgid "(%u days)" + msgstr "(%u 일)" + +-#: dnf/cli/output.py:1846 ++#: dnf/cli/output.py:1726 + msgid "End time :" + msgstr "종료 시간 :" + +-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851 ++#: dnf/cli/output.py:1729 dnf/cli/output.py:1731 + msgid "End rpmdb :" + msgstr "rpmdb 종료:" + +-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860 ++#: dnf/cli/output.py:1738 dnf/cli/output.py:1740 + msgid "User :" + msgstr "사용자 :" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1751 + msgid "Aborted" + msgstr "중지됨" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869 +-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1747 dnf/cli/output.py:1749 ++#: dnf/cli/output.py:1751 dnf/cli/output.py:1753 dnf/cli/output.py:1755 + msgid "Return-Code :" + msgstr "반환 코드 :" + +-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1747 dnf/cli/output.py:1755 + msgid "Success" + msgstr "성공" + +-#: dnf/cli/output.py:1869 ++#: dnf/cli/output.py:1749 + msgid "Failures:" + msgstr "실패 :" + +-#: dnf/cli/output.py:1873 ++#: dnf/cli/output.py:1753 + msgid "Failure:" + msgstr "실패:" + +-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885 ++#: dnf/cli/output.py:1763 dnf/cli/output.py:1765 + msgid "Releasever :" + msgstr "Releasever :" + +-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892 ++#: dnf/cli/output.py:1770 dnf/cli/output.py:1772 + msgid "Command Line :" + msgstr "명령 줄 :" + +-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899 ++#: dnf/cli/output.py:1777 dnf/cli/output.py:1779 + msgid "Comment :" + msgstr "댓글 :" + +-#: dnf/cli/output.py:1903 ++#: dnf/cli/output.py:1783 + msgid "Transaction performed with:" + msgstr "실행된 트랜잭션:" + +-#: dnf/cli/output.py:1912 ++#: dnf/cli/output.py:1792 + msgid "Packages Altered:" + msgstr "변경된 패키지 :" + +-#: dnf/cli/output.py:1918 ++#: dnf/cli/output.py:1798 + msgid "Scriptlet output:" + msgstr "Scriptlet 출력 :" + +-#: dnf/cli/output.py:1925 ++#: dnf/cli/output.py:1805 + msgid "Errors:" + msgstr "오류 :" + +-#: dnf/cli/output.py:1934 ++#: dnf/cli/output.py:1814 + msgid "Dep-Install" + msgstr "Dep-Install" + +-#: dnf/cli/output.py:1935 ++#: dnf/cli/output.py:1815 + msgid "Obsoleted" + msgstr "사용 중지됨" + +-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85 ++#: dnf/cli/output.py:1816 dnf/transaction.py:84 dnf/transaction.py:85 + msgid "Obsoleting" + msgstr "사용 중지" + +-#: dnf/cli/output.py:1937 ++#: dnf/cli/output.py:1817 + msgid "Erase" + msgstr "삭제" + +-#: dnf/cli/output.py:1938 ++#: dnf/cli/output.py:1818 + msgid "Reinstall" + msgstr "재설치" + +-#: dnf/cli/output.py:2016 ++#: dnf/cli/output.py:1892 + #, python-format + msgid "---> Package %s.%s %s will be installed" + msgstr "---> 패키지 %s.%s %s이/가 설치됩니다" + +-#: dnf/cli/output.py:2018 ++#: dnf/cli/output.py:1894 + #, python-format + msgid "---> Package %s.%s %s will be an upgrade" + msgstr "---> 패키지 %s.%s %s이/가 업그레이드됩니다" + +-#: dnf/cli/output.py:2020 ++#: dnf/cli/output.py:1896 + #, python-format + msgid "---> Package %s.%s %s will be erased" + msgstr "---> 패키지 %s.%s %s이/가 제거됩니다" + +-#: dnf/cli/output.py:2022 ++#: dnf/cli/output.py:1898 + #, python-format + msgid "---> Package %s.%s %s will be reinstalled" + msgstr "---> 패키지 %s.%s %s이/가 다시 설치됩니다" + +-#: dnf/cli/output.py:2024 ++#: dnf/cli/output.py:1900 + #, python-format + msgid "---> Package %s.%s %s will be a downgrade" + msgstr "---> 패키지 %s.%s %s이/가 다운그레이드됩니다" + +-#: dnf/cli/output.py:2026 ++#: dnf/cli/output.py:1902 + #, python-format + msgid "---> Package %s.%s %s will be obsoleting" + msgstr "---> 패키지 %s.%s %s이/가 더 이상 사용되지 않습니다" + +-#: dnf/cli/output.py:2028 ++#: dnf/cli/output.py:1904 + #, python-format + msgid "---> Package %s.%s %s will be upgraded" + msgstr "---> 패키지 %s.%s %s이/가 업그레이드됩니다" + +-#: dnf/cli/output.py:2030 ++#: dnf/cli/output.py:1906 + #, python-format + msgid "---> Package %s.%s %s will be obsoleted" + msgstr "---> 패키지 %s.%s %s이/가 더 이상 사용되지 않습니다" + +-#: dnf/cli/output.py:2039 ++#: dnf/cli/output.py:1915 + msgid "--> Starting dependency resolution" + msgstr "-> 종석성 해결 시작" + +-#: dnf/cli/output.py:2044 ++#: dnf/cli/output.py:1919 + msgid "--> Finished dependency resolution" + msgstr "-> 종속성 해결 완료" + +-#: dnf/cli/output.py:2058 dnf/crypto.py:132 ++#: dnf/cli/output.py:1933 dnf/crypto.py:132 + #, python-format + msgid "" + "Importing GPG key 0x%s:\n" +@@ -3503,7 +3476,7 @@ msgstr "모듈 또는 그룹 '%s'이/가 존재하지 않습니다." + msgid "Environment id '%s' does not exist." + msgstr "환경 '%s'이 설치되지 않았습니다." + +-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453 ++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487 + #, fuzzy, python-format + #| msgid "Environment '%s' is not installed." + msgid "Environment id '%s' is not installed." +@@ -3614,6 +3587,11 @@ msgstr "repo %s: 0x%s을/를 이미 가져왔습니다" + msgid "repo %s: imported key 0x%s." + msgstr "repo %s: 0x%s 키를 가져왔습니다." + ++#: dnf/crypto.py:177 ++#, python-format ++msgid "retrieving repo key for %s unencrypted from %s" ++msgstr "" ++ + #: dnf/db/group.py:293 + msgid "" + "No available modular metadata for modular package '{}', it cannot be " +@@ -3698,7 +3676,7 @@ msgid "Modular dependency problem with Defaults:" + msgid_plural "Modular dependency problems with Defaults:" + msgstr[0] "기본값의 모듈 종속성 문제 :" + +-#: dnf/exceptions.py:131 dnf/module/module_base.py:686 ++#: dnf/exceptions.py:131 dnf/module/module_base.py:841 + msgid "Modular dependency problem:" + msgid_plural "Modular dependency problems:" + msgstr[0] "모듈 종속성 문제 :" +@@ -3752,8 +3730,8 @@ msgstr "" + "\n" + "힌트 : [d] efault, [e] nabled, [x] disabled, [i] stalled, [a] ctive" + +-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421 +-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543 ++#: dnf/module/module_base.py:54 dnf/module/module_base.py:547 ++#: dnf/module/module_base.py:603 dnf/module/module_base.py:669 + msgid "Ignoring unnecessary profile: '{}/{}'" + msgstr "불필요한 프로파일을 무시합니다: '{}/{}'" + +@@ -3762,17 +3740,17 @@ msgstr "불필요한 프로파일을 무시합니다: '{}/{}'" + msgid "All matches for argument '{0}' in module '{1}:{2}' are not active" + msgstr "모듈 '{1}:{2}'의 인수 '{0}'에 대한 모든 일치 항목이 활성화되지 않았습니다" + +-#: dnf/module/module_base.py:92 ++#: dnf/module/module_base.py:92 dnf/module/module_base.py:202 + #, python-brace-format + msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "Fail-Safe 리포지토리 {1}에서 모듈 '{0}’을/를 설치할 수 없습니다" + +-#: dnf/module/module_base.py:102 ++#: dnf/module/module_base.py:102 dnf/module/module_base.py:212 + msgid "" + "Unable to match profile for argument {}. Available profiles for '{}:{}': {}" + msgstr "인수 {}의 프로파일을 찾을 수 없습니다. '{}:{}'에 사용 가능한 프로파일: {}" + +-#: dnf/module/module_base.py:106 ++#: dnf/module/module_base.py:106 dnf/module/module_base.py:216 + msgid "Unable to match profile for argument {}" + msgstr "인수 {}의 프로파일을 찾을 수 없습니다" + +@@ -3788,41 +3766,58 @@ msgstr "{} : {} 모듈에 대한 프로파일이 없습니다" + msgid "Default profile {} not available in module {}:{}" + msgstr "{} 모듈에서 기본 프로필 {}을 (를) 사용할 수 없음 : {}" + +-#: dnf/module/module_base.py:142 ++#: dnf/module/module_base.py:142 dnf/module/module_base.py:245 + msgid "Installing module from Fail-Safe repository is not allowed" + msgstr "Fail-Safe 리포지토리에서 모듈을 설치할 수 없습니다" + +-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193 +-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355 +-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417 +-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539 ++#: dnf/module/module_base.py:194 ++#, fuzzy, python-brace-format ++#| msgid "" ++#| "All matches for argument '{0}' in module '{1}:{2}' are not active" ++msgid "No active matches for argument '{0}' in module '{1}:{2}'" ++msgstr "모듈 '{1}:{2}'의 인수 '{0}'에 대한 모든 일치 항목이 활성화되지 않았습니다" ++ ++#: dnf/module/module_base.py:226 ++#, fuzzy, python-brace-format ++#| msgid "Default profile {} not available in module {}:{}" ++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'" ++msgstr "{} 모듈에서 기본 프로필 {}을 (를) 사용할 수 없음 : {}" ++ ++#: dnf/module/module_base.py:265 ++msgid "No packages available to distrosync for package name '{}'" ++msgstr "" ++ ++#: dnf/module/module_base.py:308 dnf/module/module_base.py:452 ++#: dnf/module/module_base.py:477 dnf/module/module_base.py:496 ++#: dnf/module/module_base.py:543 dnf/module/module_base.py:599 ++#: dnf/module/module_base.py:665 dnf/module/module_base.py:827 + msgid "Unable to resolve argument {}" + msgstr "인수 {}을 (를) 구문 분석할 수 없습니다" + +-#: dnf/module/module_base.py:160 +-msgid "No match for package {}" +-msgstr "{} 패키지와 일치하지 않습니다" +- +-#: dnf/module/module_base.py:204 ++#: dnf/module/module_base.py:319 + #, python-brace-format + msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "Fail-Safe 리포지토리 {1}에서 모듈 '{0}’을/를 업그레이드할 수 없습니다" + +-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251 ++#: dnf/module/module_base.py:338 dnf/module/module_base.py:366 + msgid "Unable to match profile in argument {}" + msgstr "인수 {}에서 프로파일이 일치하지 않습니다" + +-#: dnf/module/module_base.py:231 ++#: dnf/module/module_base.py:346 + msgid "Upgrading module from Fail-Safe repository is not allowed" + msgstr "Fail-Safe 리포지토리에서 모듈을 업그레이드할 수 없습니다" + +-#: dnf/module/module_base.py:367 ++#: dnf/module/module_base.py:500 + msgid "" + "Only module name is required. Ignoring unneeded information in argument: " + "'{}'" + msgstr "모듈 이름만 필요합니다. '{}'인수에서 불필요한 정보를 무시합니다" + +-#: dnf/package.py:298 ++#: dnf/module/module_base.py:828 ++msgid "No match for package {}" ++msgstr "{} 패키지와 일치하지 않습니다" ++ ++#: dnf/package.py:333 + #, python-format + msgid "%s: %s check failed: %s vs %s" + msgstr "%s: %s 확인 실패 : %s 대 %s" +@@ -3903,6 +3898,12 @@ msgstr "%s 에서 %s repo를 추가했습니다" + msgid "Errors occurred during test transaction." + msgstr "트랜잭션 테스트 중에 오류가 발생했습니다." + ++#: dnf/sack.py:47 ++msgid "" ++"allow_vendor_change is disabled. This option is currently not supported for " ++"downgrade and distro-sync commands" ++msgstr "" ++ + #. TRANSLATORS: This is for a single package currently being downgraded. + #: dnf/transaction.py:80 + msgctxt "currently" +@@ -3949,163 +3950,199 @@ msgstr "scriptlet 실행 중" + msgid "Preparing" + msgstr "준비 중" + +-#: dnf/transaction_sr.py:60 ++#: dnf/transaction_sr.py:66 + #, python-brace-format +-msgid "Errors in \"{filename}\":" ++msgid "" ++"The following problems occurred while replaying the transaction from file " ++"\"{filename}\":" + msgstr "" + +-#: dnf/transaction_sr.py:70 +-#, python-brace-format +-msgid "Error in \"{filename}\": {error}" +-msgstr "" ++#: dnf/transaction_sr.py:68 ++#, fuzzy ++#| msgid "Errors occurred during transaction." ++msgid "The following problems occurred while running a transaction:" ++msgstr "트랜잭션 중에 오류가 발생했습니다." + +-#: dnf/transaction_sr.py:87 ++#: dnf/transaction_sr.py:89 + #, python-brace-format + msgid "Invalid major version \"{major}\", number expected." + msgstr "" + +-#: dnf/transaction_sr.py:95 ++#: dnf/transaction_sr.py:97 + #, python-brace-format + msgid "Invalid minor version \"{minor}\", number expected." + msgstr "" + +-#: dnf/transaction_sr.py:101 ++#: dnf/transaction_sr.py:103 + #, python-brace-format + msgid "" + "Incompatible major version \"{major}\", supported major version is " + "\"{major_supp}\"." + msgstr "" + +-#: dnf/transaction_sr.py:244 ++#: dnf/transaction_sr.py:224 ++msgid "" ++"Conflicting TransactionReplay arguments have been specified: filename, data" ++msgstr "" ++ ++#: dnf/transaction_sr.py:265 + #, python-brace-format + msgid "Unexpected type of \"{id}\", {exp} expected." + msgstr "" + +-#: dnf/transaction_sr.py:250 ++#: dnf/transaction_sr.py:271 + #, python-brace-format + msgid "Missing key \"{key}\"." + msgstr "" + +-#: dnf/transaction_sr.py:263 ++#: dnf/transaction_sr.py:285 + #, python-brace-format + msgid "Missing object key \"{key}\" in an rpm." + msgstr "" + +-#: dnf/transaction_sr.py:267 ++#: dnf/transaction_sr.py:289 + #, python-brace-format + msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"." + msgstr "" + +-#: dnf/transaction_sr.py:275 ++#: dnf/transaction_sr.py:297 + #, python-brace-format + msgid "Cannot parse NEVRA for package \"{nevra}\"." + msgstr "" + +-#: dnf/transaction_sr.py:286 ++#: dnf/transaction_sr.py:321 + #, python-brace-format + msgid "Cannot find rpm nevra \"{nevra}\"." + msgstr "" + +-#: dnf/transaction_sr.py:301 ++#: dnf/transaction_sr.py:336 + #, python-brace-format + msgid "Package \"{na}\" is already installed for action \"{action}\"." + msgstr "" + +-#: dnf/transaction_sr.py:311 ++#: dnf/transaction_sr.py:345 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\" not available in repositories for action " + "\"{action}\"." + msgstr "" + +-#: dnf/transaction_sr.py:322 ++#: dnf/transaction_sr.py:356 + #, python-brace-format + msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"." + msgstr "" + +-#: dnf/transaction_sr.py:336 ++#: dnf/transaction_sr.py:370 + #, python-brace-format + msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"." + msgstr "" + +-#: dnf/transaction_sr.py:343 ++#: dnf/transaction_sr.py:377 + #, fuzzy, python-format + #| msgid "Group_id '%s' does not exist." + msgid "Group id '%s' is not available." + msgstr "Group_id '%s' 존재하지 않는다." + +-#: dnf/transaction_sr.py:364 ++#: dnf/transaction_sr.py:398 + #, python-brace-format + msgid "Missing object key \"{key}\" in groups.packages." + msgstr "" + +-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387 ++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421 + #, fuzzy, python-format + #| msgid "Environment '%s' is not installed." + msgid "Group id '%s' is not installed." + msgstr "환경 '%s'이 설치되지 않았습니다." + +-#: dnf/transaction_sr.py:398 ++#: dnf/transaction_sr.py:432 + #, fuzzy, python-format + #| msgid "Environment '%s' is not installed." + msgid "Environment id '%s' is not available." + msgstr "환경 '%s'이 설치되지 않았습니다." + +-#: dnf/transaction_sr.py:422 ++#: dnf/transaction_sr.py:456 + #, python-brace-format + msgid "" + "Invalid value \"{group_type}\" of environments.groups.group_type, only " + "\"mandatory\" or \"optional\" is supported." + msgstr "" + +-#: dnf/transaction_sr.py:430 ++#: dnf/transaction_sr.py:464 + #, python-brace-format + msgid "Missing object key \"{key}\" in environments.groups." + msgstr "" + +-#: dnf/transaction_sr.py:508 ++#: dnf/transaction_sr.py:542 + #, python-brace-format + msgid "Unexpected value of group action \"{action}\" for group \"{group}\"." + msgstr "" + +-#: dnf/transaction_sr.py:513 ++#: dnf/transaction_sr.py:547 + #, python-brace-format + msgid "Missing object key \"{key}\" in a group." + msgstr "" + +-#: dnf/transaction_sr.py:537 ++#: dnf/transaction_sr.py:571 + #, python-brace-format + msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"." + msgstr "" + +-#: dnf/transaction_sr.py:542 ++#: dnf/transaction_sr.py:576 + #, python-brace-format + msgid "Missing object key \"{key}\" in an environment." + msgstr "" + +-#: dnf/transaction_sr.py:581 ++#: dnf/transaction_sr.py:615 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\", which is not present in the transaction file, was" + " pulled into the transaction." + msgstr "" + +-#: dnf/util.py:391 dnf/util.py:393 ++#: dnf/util.py:393 dnf/util.py:395 + msgid "Problem" + msgstr "문제" + +-#: dnf/util.py:444 ++#: dnf/util.py:446 + msgid "TransactionItem not found for key: {}" + msgstr "{} 키에 대한 TransactionItem을 찾을 수 없습니다" + +-#: dnf/util.py:454 ++#: dnf/util.py:456 + msgid "TransactionSWDBItem not found for key: {}" + msgstr "{} 키에 대한 TransactionSWDBItem을 찾을 수 없습니다" + +-#: dnf/util.py:457 ++#: dnf/util.py:459 + msgid "Errors occurred during transaction." + msgstr "트랜잭션 중에 오류가 발생했습니다." + ++#: dnf/util.py:595 ++msgid "Reinstalled" ++msgstr "다시 설치됨" ++ ++#: dnf/util.py:596 ++msgid "Skipped" ++msgstr "건너 뛰기됨" ++ ++#: dnf/util.py:597 ++msgid "Removed" ++msgstr "제거됨" ++ ++#: dnf/util.py:600 ++msgid "Failed" ++msgstr "실패하였습니다" ++ ++#~ msgid "Action not handled: {}" ++#~ msgstr "작업이 처리되지 않았습니다: {}" ++ ++#~ msgid "no package matched" ++#~ msgstr "일치하는 패키지가 없습니다." ++ ++#~ msgid "Not found given transaction ID" ++#~ msgstr "주어진 트랜잭션 ID를 찾을 수 없습니다" ++ ++#~ msgid "Undoing transaction {}, from {}" ++#~ msgstr "{}에서 {} 트랜잭션 실행을 취소하고 있습니다" ++ + #~ msgid "format for displaying found packages" + #~ msgstr "발견 된 패키지를 표시하기위한 형식" + +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 7ede4ed8..d1c433a3 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -26,20 +26,21 @@ + # Anonymous , 2020. + # Hongqiao Chen , 2020. + # Harry Chen , 2020. ++# Sundeep Anand , 2021. + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" +-"PO-Revision-Date: 2020-08-02 08:29+0000\n" +-"Last-Translator: Charles Lee \n" +-"Language-Team: Chinese (Simplified) \n" ++"POT-Creation-Date: 2021-02-22 09:22+0100\n" ++"PO-Revision-Date: 2021-03-08 10:29+0000\n" ++"Last-Translator: Sundeep Anand \n" ++"Language-Team: Chinese (Simplified) \n" + "Language: zh_CN\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" +-"X-Generator: Weblate 4.1.1\n" ++"X-Generator: Weblate 4.5.1\n" + + #: dnf/automatic/emitter.py:32 + #, python-format +@@ -96,7 +97,7 @@ msgstr "未知配置值: %s=%s 在 %s 中; %s" + msgid "Unknown configuration option: %s = %s in %s" + msgstr "未知配置选项:%s = %s 在 %s 中" + +-#: dnf/automatic/main.py:237 dnf/cli/cli.py:299 ++#: dnf/automatic/main.py:237 dnf/cli/cli.py:304 + msgid "GPG check FAILED" + msgstr "GPG 检查失败" + +@@ -109,9 +110,9 @@ msgid "Started dnf-automatic." + msgstr "启动的 dnf-automatic。" + + #: dnf/automatic/main.py:308 +-#, python-format +-msgid "Sleep for %s seconds" +-msgstr "休眠 %s 秒" ++msgid "Sleep for {} second" ++msgid_plural "Sleep for {} seconds" ++msgstr[0] "休眠 {} 秒" + + #: dnf/automatic/main.py:315 + msgid "System is off-line." +@@ -123,7 +124,7 @@ msgstr "系统离线。" + msgid "Error: %s" + msgstr "错误:%s" + +-#: dnf/base.py:146 ++#: dnf/base.py:146 dnf/base.py:472 dnf/base.py:474 + msgid "loading repo '{}' failure: {}" + msgstr "加载仓库 '{}' 失败:{}" + +@@ -131,236 +132,236 @@ msgstr "加载仓库 '{}' 失败:{}" + msgid "Loading repository '{}' has failed" + msgstr "加载仓库 '{}' 失败" + +-#: dnf/base.py:320 ++#: dnf/base.py:322 + msgid "Metadata timer caching disabled when running on metered connection." + msgstr "在使用按流量计费的连接时禁用元数据计时缓存。" + +-#: dnf/base.py:325 ++#: dnf/base.py:327 + msgid "Metadata timer caching disabled when running on a battery." + msgstr "在使用电池时禁用元数据计时缓存。" + +-#: dnf/base.py:330 ++#: dnf/base.py:332 + msgid "Metadata timer caching disabled." + msgstr "元数据计时缓存已禁用。" + +-#: dnf/base.py:335 ++#: dnf/base.py:337 + msgid "Metadata cache refreshed recently." + msgstr "元数据缓存近期已刷新。" + +-#: dnf/base.py:341 dnf/cli/commands/__init__.py:91 ++#: dnf/base.py:343 dnf/cli/commands/__init__.py:91 + msgid "There are no enabled repositories in \"{}\"." + msgstr "在\"{}\"中没有被启用的仓库。" + +-#: dnf/base.py:348 ++#: dnf/base.py:350 + #, python-format + msgid "%s: will never be expired and will not be refreshed." + msgstr "%s: 永远不过期并不会被刷新。" + +-#: dnf/base.py:350 ++#: dnf/base.py:352 + #, python-format + msgid "%s: has expired and will be refreshed." + msgstr "%s: 已过期并不会被刷新。" + + #. expires within the checking period: +-#: dnf/base.py:354 ++#: dnf/base.py:356 + #, python-format + msgid "%s: metadata will expire after %d seconds and will be refreshed now" + msgstr "%s: 元数据将在 %d 秒后过期,现在将会被刷新" + +-#: dnf/base.py:358 ++#: dnf/base.py:360 + #, python-format + msgid "%s: will expire after %d seconds." + msgstr "%s: 将会在 %d 秒后过期。" + + #. performs the md sync +-#: dnf/base.py:364 ++#: dnf/base.py:366 + msgid "Metadata cache created." + msgstr "元数据缓存已建立。" + +-#: dnf/base.py:397 ++#: dnf/base.py:399 dnf/base.py:466 + #, python-format + msgid "%s: using metadata from %s." + msgstr "%s:正在使用截止于 %s 的元数据。" + +-#: dnf/base.py:409 ++#: dnf/base.py:411 dnf/base.py:479 + #, python-format + msgid "Ignoring repositories: %s" + msgstr "正在忽略仓库:%s" + +-#: dnf/base.py:412 ++#: dnf/base.py:414 + #, python-format + msgid "Last metadata expiration check: %s ago on %s." + msgstr "上次元数据过期检查:%s 前,执行于 %s。" + +-#: dnf/base.py:443 ++#: dnf/base.py:507 + msgid "" + "The downloaded packages were saved in cache until the next successful " + "transaction." + msgstr "下载的软件包保存在缓存中,直到下次成功执行事务。" + +-#: dnf/base.py:445 ++#: dnf/base.py:509 + #, python-format + msgid "You can remove cached packages by executing '%s'." + msgstr "您可以通过执行 '%s' 删除软件包缓存。" + +-#: dnf/base.py:535 ++#: dnf/base.py:599 + #, python-format + msgid "Invalid tsflag in config file: %s" + msgstr "配置文件 %s 中使用 tsflag 是错误的" + +-#: dnf/base.py:591 ++#: dnf/base.py:655 + #, python-format + msgid "Failed to add groups file for repository: %s - %s" + msgstr "为仓库 %s 添加组文件时失败:%s" + +-#: dnf/base.py:823 ++#: dnf/base.py:887 + msgid "Running transaction check" + msgstr "运行事务检查" + +-#: dnf/base.py:831 ++#: dnf/base.py:895 + msgid "Error: transaction check vs depsolve:" + msgstr "错误:事务检查与依赖解决错误:" + +-#: dnf/base.py:837 ++#: dnf/base.py:901 + msgid "Transaction check succeeded." + msgstr "事务检查成功。" + +-#: dnf/base.py:840 ++#: dnf/base.py:904 + msgid "Running transaction test" + msgstr "运行事务测试" + +-#: dnf/base.py:850 dnf/base.py:992 ++#: dnf/base.py:914 dnf/base.py:1065 + msgid "RPM: {}" + msgstr "RPM软件包: {}" + +-#: dnf/base.py:851 ++#: dnf/base.py:915 + msgid "Transaction test error:" + msgstr "事物测试失败:" + +-#: dnf/base.py:862 ++#: dnf/base.py:926 + msgid "Transaction test succeeded." + msgstr "事务测试成功。" + +-#: dnf/base.py:883 ++#: dnf/base.py:947 + msgid "Running transaction" + msgstr "运行事务" + +-#: dnf/base.py:911 ++#: dnf/base.py:984 + msgid "Disk Requirements:" + msgstr "磁盘需求:" + +-#: dnf/base.py:914 ++#: dnf/base.py:987 + #, python-brace-format + msgid "At least {0}MB more space needed on the {1} filesystem." + msgid_plural "At least {0}MB more space needed on the {1} filesystem." + msgstr[0] "在文件系统{1}上至少需要{0}MB的可用空间。" + +-#: dnf/base.py:921 ++#: dnf/base.py:994 + msgid "Error Summary" + msgstr "错误汇总" + +-#: dnf/base.py:947 ++#: dnf/base.py:1020 + #, python-brace-format + msgid "RPMDB altered outside of {prog}." + msgstr "RPMDB 在 {prog} 外被改动了。" + +-#: dnf/base.py:993 dnf/base.py:1001 ++#: dnf/base.py:1066 dnf/base.py:1074 + msgid "Could not run transaction." + msgstr "不能执行事务。" + +-#: dnf/base.py:996 ++#: dnf/base.py:1069 + msgid "Transaction couldn't start:" + msgstr "事务无法启动:" + +-#: dnf/base.py:1010 ++#: dnf/base.py:1083 + #, python-format + msgid "Failed to remove transaction file %s" + msgstr "移除事务文件 %s 失败" + +-#: dnf/base.py:1092 ++#: dnf/base.py:1165 + msgid "Some packages were not downloaded. Retrying." + msgstr "某些软件包没有被下载。正在重试。" + +-#: dnf/base.py:1122 ++#: dnf/base.py:1195 + #, python-format + msgid "Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)" + msgstr "增量 RPM 将 %.1f MB 的更新减少至 %.1f MB(已节省 %d.1%% )" + +-#: dnf/base.py:1125 ++#: dnf/base.py:1198 + #, python-format + msgid "" + "Failed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)" + msgstr "增量 RPM 未能将 %.1f MB 的更新减少至 %.1f MB(已浪费 %d.1%% )" + +-#: dnf/base.py:1167 ++#: dnf/base.py:1240 + msgid "Cannot add local packages, because transaction job already exists" + msgstr "由于事物已经存在,无法添加本地软件包" + +-#: dnf/base.py:1181 ++#: dnf/base.py:1254 + msgid "Could not open: {}" + msgstr "无法打开: {}" + +-#: dnf/base.py:1219 ++#: dnf/base.py:1292 + #, python-format + msgid "Public key for %s is not installed" + msgstr "%s 的公钥没有安装" + +-#: dnf/base.py:1223 ++#: dnf/base.py:1296 + #, python-format + msgid "Problem opening package %s" + msgstr "打开软件包 %s 出现问题" + +-#: dnf/base.py:1231 ++#: dnf/base.py:1304 + #, python-format + msgid "Public key for %s is not trusted" + msgstr "%s 的公钥不可信任" + +-#: dnf/base.py:1235 ++#: dnf/base.py:1308 + #, python-format + msgid "Package %s is not signed" + msgstr "软件包 %s 没有签名" + +-#: dnf/base.py:1265 ++#: dnf/base.py:1338 + #, python-format + msgid "Cannot remove %s" + msgstr "无法删除 %s" + +-#: dnf/base.py:1269 ++#: dnf/base.py:1342 + #, python-format + msgid "%s removed" + msgstr "%s 已删除" + +-#: dnf/base.py:1549 ++#: dnf/base.py:1622 + msgid "No match for group package \"{}\"" + msgstr "没有和组 \"{}\" 匹配的" + +-#: dnf/base.py:1635 ++#: dnf/base.py:1708 + #, python-format + msgid "Adding packages from group '%s': %s" + msgstr "从组 '%s': %s 添加软件包" + +-#: dnf/base.py:1658 dnf/cli/cli.py:219 dnf/cli/commands/__init__.py:442 ++#: dnf/base.py:1731 dnf/cli/cli.py:220 dnf/cli/commands/__init__.py:442 + #: dnf/cli/commands/__init__.py:499 dnf/cli/commands/__init__.py:592 + #: dnf/cli/commands/__init__.py:641 dnf/cli/commands/install.py:80 + #: dnf/cli/commands/install.py:103 dnf/cli/commands/install.py:110 + msgid "Nothing to do." + msgstr "无需任何处理。" + +-#: dnf/base.py:1676 ++#: dnf/base.py:1749 + msgid "No groups marked for removal." + msgstr "没有软件包组需要移除。" + +-#: dnf/base.py:1710 ++#: dnf/base.py:1783 + msgid "No group marked for upgrade." + msgstr "没有标记为要升级的组。" + +-#: dnf/base.py:1925 ++#: dnf/base.py:1997 + #, python-format + msgid "Package %s not installed, cannot downgrade it." + msgstr "软件包 %s 并没有能够安装,无法进行降级操作。" + +-#: dnf/base.py:1927 dnf/base.py:1946 dnf/base.py:1959 dnf/base.py:1980 +-#: dnf/base.py:2029 dnf/base.py:2037 dnf/base.py:2172 dnf/cli/cli.py:411 ++#: dnf/base.py:1999 dnf/base.py:2018 dnf/base.py:2031 dnf/base.py:2052 ++#: dnf/base.py:2101 dnf/base.py:2109 dnf/base.py:2243 dnf/cli/cli.py:416 + #: dnf/cli/commands/__init__.py:425 dnf/cli/commands/__init__.py:482 + #: dnf/cli/commands/__init__.py:586 dnf/cli/commands/__init__.py:633 + #: dnf/cli/commands/__init__.py:711 dnf/cli/commands/install.py:147 +@@ -370,141 +371,127 @@ msgstr "软件包 %s 并没有能够安装,无法进行降级操作。" + msgid "No match for argument: %s" + msgstr "未找到匹配的参数: %s" + +-#: dnf/base.py:1934 ++#: dnf/base.py:2006 + #, python-format + msgid "Package %s of lower version already installed, cannot downgrade it." + msgstr "软件包 %s 的低版本已经安装,无法进行降级。" + +-#: dnf/base.py:1957 ++#: dnf/base.py:2029 + #, python-format + msgid "Package %s not installed, cannot reinstall it." + msgstr "软件包 %s 未能够安装成功,无法进行重新安装。" + +-#: dnf/base.py:1972 ++#: dnf/base.py:2044 + #, python-format + msgid "File %s is a source package and cannot be updated, ignoring." + msgstr "%s 文件无法被升级,已忽略。" + +-#: dnf/base.py:1978 ++#: dnf/base.py:2050 + #, python-format + msgid "Package %s not installed, cannot update it." + msgstr "软件包 %s 未安装,无法更新。" + +-#: dnf/base.py:1987 ++#: dnf/base.py:2059 + #, python-format + msgid "" + "The same or higher version of %s is already installed, cannot update it." + msgstr "已经安装了软件包%s的相同或更高版本,无法更新。" + +-#: dnf/base.py:2026 dnf/cli/commands/reinstall.py:81 ++#: dnf/base.py:2098 dnf/cli/commands/reinstall.py:81 + #, python-format + msgid "Package %s available, but not installed." + msgstr "软件包 %s 可用,但没有被安装。" + +-#: dnf/base.py:2032 ++#: dnf/base.py:2104 + #, python-format + msgid "Package %s available, but installed for different architecture." + msgstr "软件包 %s 可用,当是为其它架构安装。" + +-#: dnf/base.py:2057 dnf/base.py:2250 dnf/cli/cli.py:668 dnf/cli/cli.py:699 ++#: dnf/base.py:2129 + #, python-format + msgid "No package %s installed." + msgstr "没有软件包 %s 安装。" + +-#: dnf/base.py:2075 dnf/cli/commands/install.py:136 ++#: dnf/base.py:2147 dnf/cli/commands/install.py:136 + #: dnf/cli/commands/remove.py:133 + #, python-format + msgid "Not a valid form: %s" + msgstr "无效: %s" + +-#: dnf/base.py:2091 dnf/cli/commands/__init__.py:681 +-#: dnf/cli/commands/remove.py:163 ++#: dnf/base.py:2162 dnf/cli/commands/__init__.py:681 ++#: dnf/cli/commands/remove.py:162 + msgid "No packages marked for removal." + msgstr "没有软件包需要移除。" + +-#: dnf/base.py:2179 dnf/cli/cli.py:422 ++#: dnf/base.py:2250 dnf/cli/cli.py:427 + #, python-format + msgid "Packages for argument %s available, but not installed." + msgstr "针对于参数 %s 的软件包可用, 但是目前没有安装。" + +-#: dnf/base.py:2184 ++#: dnf/base.py:2255 + #, python-format + msgid "Package %s of lowest version already installed, cannot downgrade it." + msgstr "软件包 %s 的最低版本已经安装,无法再进行降级。" + +-#: dnf/base.py:2242 +-msgid "Action not handled: {}" +-msgstr "操作没被处理:{}" +- +-#: dnf/base.py:2256 dnf/cli/cli.py:419 dnf/cli/cli.py:673 dnf/cli/cli.py:703 +-#: dnf/cli/commands/group.py:400 dnf/cli/commands/history.py:169 +-#, python-format +-msgid "No package %s available." +-msgstr "没有可用的软件包 %s。" +- +-#: dnf/base.py:2269 +-msgid "no package matched" +-msgstr "没有能够与之匹配的软件包" +- +-#: dnf/base.py:2290 ++#: dnf/base.py:2302 + msgid "No security updates needed, but {} update available" + msgstr "没有必须的安全更新, 但是 {} 的更新可用" + +-#: dnf/base.py:2292 ++#: dnf/base.py:2304 + msgid "No security updates needed, but {} updates available" + msgstr "没有必须的安全更新, 但是 {} 的更新可用" + +-#: dnf/base.py:2296 ++#: dnf/base.py:2308 + msgid "No security updates needed for \"{}\", but {} update available" + msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用" + +-#: dnf/base.py:2298 ++#: dnf/base.py:2310 + msgid "No security updates needed for \"{}\", but {} updates available" + msgstr "没有针对于\"{}\" 所必须的安全更新, 但是 {} 的更新可用" + + #. raise an exception, because po.repoid is not in self.repos +-#: dnf/base.py:2319 ++#: dnf/base.py:2331 + #, python-format + msgid "Unable to retrieve a key for a commandline package: %s" +-msgstr "" ++msgstr "无法获取命令行软件包的密钥: %s" + +-#: dnf/base.py:2327 ++#: dnf/base.py:2339 + #, python-format + msgid ". Failing package is: %s" + msgstr ". 失败的软件包是:%s" + +-#: dnf/base.py:2328 ++#: dnf/base.py:2340 + #, python-format + msgid "GPG Keys are configured as: %s" + msgstr "GPG密钥配置为:%s" + +-#: dnf/base.py:2340 ++#: dnf/base.py:2352 + #, python-format + msgid "GPG key at %s (0x%s) is already installed" + msgstr "%s 的 GPG 公钥(0x%s)已安装" + +-#: dnf/base.py:2373 ++#: dnf/base.py:2385 + msgid "The key has been approved." + msgstr "密钥已被确认。" + +-#: dnf/base.py:2376 ++#: dnf/base.py:2388 + msgid "The key has been rejected." + msgstr "密钥已被拒绝。" + +-#: dnf/base.py:2409 ++#: dnf/base.py:2421 + #, python-format + msgid "Key import failed (code %d)" + msgstr "导入公钥失败(代码 %d)" + +-#: dnf/base.py:2411 ++#: dnf/base.py:2423 + msgid "Key imported successfully" + msgstr "导入公钥成功" + +-#: dnf/base.py:2415 ++#: dnf/base.py:2427 + msgid "Didn't install any keys" + msgstr "没有安装任何公钥" + +-#: dnf/base.py:2418 ++#: dnf/base.py:2430 + #, python-format + msgid "" + "The GPG keys listed for the \"%s\" repository are already installed but they are not correct for this package.\n" +@@ -513,49 +500,49 @@ msgstr "" + "仓库 \"%s\" 的 GPG 公钥已安装,但是不适用于此软件包。\n" + "请检查此仓库的公钥 URL 是否配置正确。" + +-#: dnf/base.py:2429 ++#: dnf/base.py:2441 + msgid "Import of key(s) didn't help, wrong key(s)?" + msgstr "导入的密钥没有公钥,错误的公钥?" + +-#: dnf/base.py:2482 ++#: dnf/base.py:2494 + msgid " * Maybe you meant: {}" + msgstr " * 可能您的意思是:{}" + +-#: dnf/base.py:2514 ++#: dnf/base.py:2526 + msgid "Package \"{}\" from local repository \"{}\" has incorrect checksum" + msgstr "软件包 \"{}\"(来自于本地仓库 \"{}\")的 checksum 不正确" + +-#: dnf/base.py:2517 ++#: dnf/base.py:2529 + msgid "Some packages from local repository have incorrect checksum" + msgstr "本地仓库的一些软件包校验值(checksum)不正确,无法确定软件包完整" + +-#: dnf/base.py:2520 ++#: dnf/base.py:2532 + msgid "Package \"{}\" from repository \"{}\" has incorrect checksum" + msgstr "软件包 \"{}\"(来自仓库 \"{}\")的 checksum 不正确" + +-#: dnf/base.py:2523 ++#: dnf/base.py:2535 + msgid "" + "Some packages have invalid cache, but cannot be downloaded due to \"--" + "cacheonly\" option" + msgstr "以下软件包有无效缓存,因为使用了 \"--cacheonly\" 选项不能下载" + +-#: dnf/base.py:2541 dnf/base.py:2561 ++#: dnf/base.py:2553 dnf/base.py:2573 + msgid "No match for argument" + msgstr "未找到匹配的参数" + +-#: dnf/base.py:2549 dnf/base.py:2569 ++#: dnf/base.py:2561 dnf/base.py:2581 + msgid "All matches were filtered out by exclude filtering for argument" + msgstr "由于您的搜索参数,所有相关结果都已被滤掉" + +-#: dnf/base.py:2551 ++#: dnf/base.py:2563 + msgid "All matches were filtered out by modular filtering for argument" + msgstr "所有的匹配结果均已经被参数的模块化过滤条件筛除" + +-#: dnf/base.py:2567 ++#: dnf/base.py:2579 + msgid "All matches were installed from a different repository for argument" + msgstr "已从另一个仓库安装了参数的所有匹配" + +-#: dnf/base.py:2583 ++#: dnf/base.py:2626 + #, python-format + msgid "Package %s is already installed." + msgstr "软件包 %s 已安装。" +@@ -575,8 +562,8 @@ msgstr "解析文件 \"%s\" 失败:%s" + msgid "Cannot read file \"%s\": %s" + msgstr "无法读取文件 \"%s\": %s" + +-#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:902 +-#: dnf/cli/cli.py:906 dnf/cli/commands/alias.py:108 ++#: dnf/cli/aliases.py:115 dnf/cli/aliases.py:129 dnf/cli/cli.py:803 ++#: dnf/cli/cli.py:807 dnf/cli/commands/alias.py:108 + #, python-format + msgid "Config error: %s" + msgstr "配置错误:%s" +@@ -607,7 +594,7 @@ msgid "" + "stream '{2}'" + msgstr "这个操作会把模块 '{0}' 从流 '{1}' 切换到流 '{2}'" + +-#: dnf/cli/cli.py:172 ++#: dnf/cli/cli.py:173 + #, python-brace-format + msgid "" + "It is not possible to switch enabled streams of a module.\n" +@@ -616,35 +603,35 @@ msgstr "" + "无法切换已启用模块的流。\n" + "推荐移除来自模块的所有已安装内容,然后通过 '{prog} module reset ' 命令重置模块。在您重置模块之后,就可以安装其他的流。" + +-#: dnf/cli/cli.py:210 ++#: dnf/cli/cli.py:211 + #, python-brace-format + msgid "{prog} will only download packages for the transaction." + msgstr "{prog}将仅会从事务下载软件包。" + +-#: dnf/cli/cli.py:213 ++#: dnf/cli/cli.py:214 + #, python-brace-format + msgid "" + "{prog} will only download packages, install gpg keys, and check the " + "transaction." + msgstr "{prog}将仅会下载软件包,导入gpg密钥并检查事务。" + +-#: dnf/cli/cli.py:217 ++#: dnf/cli/cli.py:218 + msgid "Operation aborted." + msgstr "操作中止。" + +-#: dnf/cli/cli.py:224 ++#: dnf/cli/cli.py:225 + msgid "Downloading Packages:" + msgstr "下载软件包:" + +-#: dnf/cli/cli.py:230 ++#: dnf/cli/cli.py:231 + msgid "Error downloading packages:" + msgstr "下载软件包出错 :" + +-#: dnf/cli/cli.py:258 ++#: dnf/cli/cli.py:263 + msgid "Transaction failed" + msgstr "事务失败" + +-#: dnf/cli/cli.py:281 ++#: dnf/cli/cli.py:286 + msgid "" + "Refusing to automatically import keys when running unattended.\n" + "Use \"-y\" to override." +@@ -652,116 +639,95 @@ msgstr "" + "如果不加干预,拒绝自动导入公钥。\n" + "指定 \"-y\" 改变这个行为。" + +-#: dnf/cli/cli.py:331 ++#: dnf/cli/cli.py:336 + msgid "Changelogs for {}" + msgstr "{}的变更记录" + +-#: dnf/cli/cli.py:364 dnf/cli/cli.py:505 dnf/cli/cli.py:511 ++#: dnf/cli/cli.py:369 dnf/cli/cli.py:510 dnf/cli/cli.py:516 + msgid "Obsoleting Packages" + msgstr "取代的软件包" + +-#: dnf/cli/cli.py:393 ++#: dnf/cli/cli.py:398 + msgid "No packages marked for distribution synchronization." + msgstr "没有软件包需要发行版同步。" + +-#: dnf/cli/cli.py:428 ++#: dnf/cli/cli.py:424 dnf/cli/commands/group.py:395 ++#, python-format ++msgid "No package %s available." ++msgstr "没有可用的软件包 %s。" ++ ++#: dnf/cli/cli.py:433 + msgid "No packages marked for downgrade." + msgstr "没有标记要降级的软件包。" + +-#: dnf/cli/cli.py:479 ++#: dnf/cli/cli.py:484 + msgid "Installed Packages" + msgstr "已安装的软件包" + +-#: dnf/cli/cli.py:487 ++#: dnf/cli/cli.py:492 + msgid "Available Packages" + msgstr "可安装的软件包" + +-#: dnf/cli/cli.py:491 ++#: dnf/cli/cli.py:496 + msgid "Autoremove Packages" + msgstr "自动移除软件包" + +-#: dnf/cli/cli.py:493 ++#: dnf/cli/cli.py:498 + msgid "Extra Packages" + msgstr "更多软件包" + +-#: dnf/cli/cli.py:497 ++#: dnf/cli/cli.py:502 + msgid "Available Upgrades" + msgstr "可用升级" + +-#: dnf/cli/cli.py:513 ++#: dnf/cli/cli.py:518 + msgid "Recently Added Packages" + msgstr "最近添加的软件包" + +-#: dnf/cli/cli.py:518 ++#: dnf/cli/cli.py:522 + msgid "No matching Packages to list" + msgstr "没有匹配的软件包可以列出" + +-#: dnf/cli/cli.py:599 ++#: dnf/cli/cli.py:603 + msgid "No Matches found" + msgstr "没有找到匹配的软件包" + +-#: dnf/cli/cli.py:609 +-msgid "No transaction ID given" +-msgstr "没有事务 ID" +- +-#: dnf/cli/cli.py:614 +-msgid "Not found given transaction ID" +-msgstr "未找到指定事务 ID" +- +-#: dnf/cli/cli.py:623 +-msgid "Found more than one transaction ID!" +-msgstr "找到多个事务 ID!" +- +-#: dnf/cli/cli.py:640 +-#, python-format +-msgid "Transaction history is incomplete, before %u." +-msgstr "在 %u 之前,事务历史不完整。" +- +-#: dnf/cli/cli.py:642 +-#, python-format +-msgid "Transaction history is incomplete, after %u." +-msgstr "在 %u 之后,事务历史不完整。" +- +-#: dnf/cli/cli.py:689 +-msgid "Undoing transaction {}, from {}" +-msgstr "撤销事务 {},从 {}" +- +-#: dnf/cli/cli.py:769 dnf/cli/commands/shell.py:237 ++#: dnf/cli/cli.py:670 dnf/cli/commands/shell.py:237 + #, python-format + msgid "Unknown repo: '%s'" + msgstr "未知仓库:'%s'" + +-#: dnf/cli/cli.py:783 ++#: dnf/cli/cli.py:684 + #, python-format + msgid "No repository match: %s" + msgstr "没有仓库匹配: %s" + +-#: dnf/cli/cli.py:817 ++#: dnf/cli/cli.py:718 + msgid "" + "This command has to be run with superuser privileges (under the root user on" + " most systems)." + msgstr "运行此命令需要管理员特权(多数系统下是root用户)。" + +-#: dnf/cli/cli.py:847 ++#: dnf/cli/cli.py:748 + #, python-format + msgid "No such command: %s. Please use %s --help" + msgstr "未找到命令: %s。请使用 %s --help" + +-#: dnf/cli/cli.py:850 ++#: dnf/cli/cli.py:751 + #, python-format, python-brace-format + msgid "" + "It could be a {PROG} plugin command, try: \"{prog} install 'dnf-" + "command(%s)'\"" + msgstr "它可能是一个{PROG}插件命令,尝试:\"{prog} install 'dnf-command(%s)'\"" + +-#: dnf/cli/cli.py:854 ++#: dnf/cli/cli.py:755 + #, python-brace-format + msgid "" + "It could be a {prog} plugin command, but loading of plugins is currently " + "disabled." + msgstr "这可能是一个 {prog} 插件的命令,但是插件的加载当前已经禁用。" + +-#: dnf/cli/cli.py:912 ++#: dnf/cli/cli.py:813 + msgid "" + "--destdir or --downloaddir must be used with --downloadonly or download or " + "system-upgrade command." +@@ -769,51 +735,51 @@ msgstr "" + "--destdir 或 --downloaddir 必须和 --downloadonly 或 download 或 system-upgrade " + "命令一起使用。" + +-#: dnf/cli/cli.py:918 ++#: dnf/cli/cli.py:819 + msgid "" + "--enable, --set-enabled and --disable, --set-disabled must be used with " + "config-manager command." + msgstr "" + "--enable、--set-enabled 和 --disable、--set-disabled 必须和 config-manager 命令一起使用。" + +-#: dnf/cli/cli.py:1000 ++#: dnf/cli/cli.py:901 + msgid "" + "Warning: Enforcing GPG signature check globally as per active RPM security " + "policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message)" + msgstr "警告:由于活动的RPM安全策略,强制执行全局GPG签名检查 (请参照dnf.conf(5)中的'gpgcheck'以了解如何阻止这条信息)" + +-#: dnf/cli/cli.py:1020 ++#: dnf/cli/cli.py:921 + msgid "Config file \"{}\" does not exist" + msgstr "配置文件 \"{}\" 不存在" + +-#: dnf/cli/cli.py:1040 ++#: dnf/cli/cli.py:941 + msgid "" + "Unable to detect release version (use '--releasever' to specify release " + "version)" + msgstr "无法找到发布版本(可用 '--releasever' 指定版本)" + +-#: dnf/cli/cli.py:1127 dnf/cli/commands/repoquery.py:471 ++#: dnf/cli/cli.py:1028 dnf/cli/commands/repoquery.py:471 + msgid "argument {}: not allowed with argument {}" + msgstr "参数 {}:不允许与参数 {} 一起使用" + +-#: dnf/cli/cli.py:1134 ++#: dnf/cli/cli.py:1035 + #, python-format + msgid "Command \"%s\" already defined" + msgstr "命令 \"%s\" 已有定义" + +-#: dnf/cli/cli.py:1154 ++#: dnf/cli/cli.py:1055 + msgid "Excludes in dnf.conf: " + msgstr "在 dnf.conf 中排除: " + +-#: dnf/cli/cli.py:1157 ++#: dnf/cli/cli.py:1058 + msgid "Includes in dnf.conf: " + msgstr "在 dnf.conf 中包括: " + +-#: dnf/cli/cli.py:1160 ++#: dnf/cli/cli.py:1061 + msgid "Excludes in repo " + msgstr "在 repo 中排除 " + +-#: dnf/cli/cli.py:1163 ++#: dnf/cli/cli.py:1064 + msgid "Includes in repo " + msgstr "在 repo 中包括 " + +@@ -870,7 +836,7 @@ msgid "show all packages (default)" + msgstr "显示所有的软件包(默认)" + + #: dnf/cli/commands/__init__.py:171 dnf/cli/commands/__init__.py:743 +-#: dnf/cli/commands/module.py:351 ++#: dnf/cli/commands/module.py:373 + msgid "show only available packages" + msgstr "只显示可用的软件包" + +@@ -1195,78 +1161,78 @@ msgstr "显示或使用组信息" + msgid "No group data available for configured repositories." + msgstr "配置的软件源不包含组数据。" + +-#: dnf/cli/commands/group.py:129 ++#: dnf/cli/commands/group.py:126 + #, python-format + msgid "Warning: Group %s does not exist." + msgstr "警告:组 %s 不存在。" + +-#: dnf/cli/commands/group.py:170 ++#: dnf/cli/commands/group.py:167 + msgid "Warning: No groups match:" + msgstr "警告:没有匹配的组:" + +-#: dnf/cli/commands/group.py:182 dnf/cli/commands/group.py:193 +-#: dnf/cli/output.py:1226 ++#: dnf/cli/commands/group.py:179 dnf/cli/commands/group.py:190 ++#: dnf/cli/output.py:1139 + msgid "" + msgstr "<名称-未设定>" + +-#: dnf/cli/commands/group.py:199 ++#: dnf/cli/commands/group.py:196 + msgid "Available Environment Groups:" + msgstr "可用环境组:" + +-#: dnf/cli/commands/group.py:201 ++#: dnf/cli/commands/group.py:198 + msgid "Installed Environment Groups:" + msgstr "已安装的环境组:" + +-#: dnf/cli/commands/group.py:208 dnf/cli/commands/group.py:294 ++#: dnf/cli/commands/group.py:205 dnf/cli/commands/group.py:291 + msgid "Installed Groups:" + msgstr "已安装组:" + +-#: dnf/cli/commands/group.py:215 dnf/cli/commands/group.py:301 ++#: dnf/cli/commands/group.py:212 dnf/cli/commands/group.py:298 + msgid "Installed Language Groups:" + msgstr "已安装语言组:" + +-#: dnf/cli/commands/group.py:225 dnf/cli/commands/group.py:308 ++#: dnf/cli/commands/group.py:222 dnf/cli/commands/group.py:305 + msgid "Available Groups:" + msgstr "可用组:" + +-#: dnf/cli/commands/group.py:232 dnf/cli/commands/group.py:315 ++#: dnf/cli/commands/group.py:229 dnf/cli/commands/group.py:312 + msgid "Available Language Groups:" + msgstr "可用语言组:" + +-#: dnf/cli/commands/group.py:322 ++#: dnf/cli/commands/group.py:319 + msgid "include optional packages from group" + msgstr "包含可选软件包" + +-#: dnf/cli/commands/group.py:325 ++#: dnf/cli/commands/group.py:322 + msgid "show also hidden groups" + msgstr "同时显示已隐藏的软件组" + +-#: dnf/cli/commands/group.py:327 ++#: dnf/cli/commands/group.py:324 + msgid "show only installed groups" + msgstr "只显示已安装的软件组" + +-#: dnf/cli/commands/group.py:329 ++#: dnf/cli/commands/group.py:326 + msgid "show only available groups" + msgstr "只显示可获得的团队" + +-#: dnf/cli/commands/group.py:331 ++#: dnf/cli/commands/group.py:328 + msgid "show also ID of groups" + msgstr "同时显示组的 ID" + +-#: dnf/cli/commands/group.py:333 ++#: dnf/cli/commands/group.py:330 + msgid "available subcommands: {} (default), {}" + msgstr "可用的子命令:{} (默认), {}" + +-#: dnf/cli/commands/group.py:337 ++#: dnf/cli/commands/group.py:334 + msgid "argument for group subcommand" + msgstr "组子命令的参数" + +-#: dnf/cli/commands/group.py:346 ++#: dnf/cli/commands/group.py:343 + #, python-format + msgid "Invalid groups sub-command, use: %s." + msgstr "无效的组子命令,请使用:%s 。" + +-#: dnf/cli/commands/group.py:403 ++#: dnf/cli/commands/group.py:398 + msgid "Unable to find a mandatory group package." + msgstr "无法找到一个必须的组软件包。" + +@@ -1276,25 +1242,25 @@ msgstr "显示或使用事务历史" + + #: dnf/cli/commands/history.py:66 + msgid "For the store command, file path to store the transaction to" +-msgstr "" ++msgstr "对于 store 命令,将事务保存到的文件路径" + + #: dnf/cli/commands/history.py:68 + msgid "" + "For the replay command, don't check for installed packages matching those in" + " transaction" +-msgstr "" ++msgstr "对于 replay 命令,不检查与事务中匹配的安装的软件包" + + #: dnf/cli/commands/history.py:71 + msgid "" + "For the replay command, don't check for extra packages pulled into the " + "transaction" +-msgstr "" ++msgstr "对于 replay 命令,不检查提取到事务中的额外的软件包" + + #: dnf/cli/commands/history.py:74 + msgid "" + "For the replay command, skip packages that are not available or have missing" + " dependencies" +-msgstr "" ++msgstr "对于 replay 命令,跳过不可用或者缺少依赖项的软件包" + + #: dnf/cli/commands/history.py:94 + msgid "" +@@ -1305,41 +1271,64 @@ msgstr "" + "'{}' 需要一个事务 ID 或软件包名。" + + #: dnf/cli/commands/history.py:101 +-#, fuzzy +-#| msgid "No transaction ID or package name given." + msgid "No transaction file name given." +-msgstr "没有提供事务 ID 或软件包名。" ++msgstr "没有给定事务文件名称。" + + #: dnf/cli/commands/history.py:103 +-#, fuzzy +-#| msgid "Failed to remove transaction file %s" + msgid "More than one argument given as transaction file name." +-msgstr "移除事务文件 %s 失败" ++msgstr "提供了多于一个的作为事务文件名的参数。" + +-#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:126 ++#: dnf/cli/commands/history.py:122 dnf/cli/commands/history.py:130 + msgid "No transaction ID or package name given." + msgstr "没有提供事务 ID 或软件包名。" + +-#: dnf/cli/commands/history.py:138 ++#: dnf/cli/commands/history.py:142 + #, python-format + msgid "You don't have access to the history DB: %s" + msgstr "你没有权限访问历史数据库:%s" + +-#: dnf/cli/commands/history.py:147 ++#: dnf/cli/commands/history.py:151 + #, python-format + msgid "" + "Cannot undo transaction %s, doing so would result in an inconsistent package" + " database." + msgstr "无法撤销事务 %s,这样做将可能导致不一致的软件包数据库。" + +-#: dnf/cli/commands/history.py:152 ++#: dnf/cli/commands/history.py:156 + #, python-format + msgid "" + "Cannot rollback transaction %s, doing so would result in an inconsistent " + "package database." + msgstr "无法回滚事务 %s,这样做将可能导致不一致的软件包数据库。" + +-#: dnf/cli/commands/history.py:222 ++#: dnf/cli/commands/history.py:175 ++msgid "No transaction ID given" ++msgstr "没有事务 ID" ++ ++#: dnf/cli/commands/history.py:179 ++#, python-brace-format ++msgid "Transaction ID \"{0}\" not found." ++msgstr "没有找到事务 ID \"{0}\"。" ++ ++#: dnf/cli/commands/history.py:185 ++msgid "Found more than one transaction ID!" ++msgstr "找到多个事务 ID!" ++ ++#: dnf/cli/commands/history.py:203 ++#, python-format ++msgid "Transaction history is incomplete, before %u." ++msgstr "在 %u 之前,事务历史不完整。" ++ ++#: dnf/cli/commands/history.py:205 ++#, python-format ++msgid "Transaction history is incomplete, after %u." ++msgstr "在 %u 之后,事务历史不完整。" ++ ++#: dnf/cli/commands/history.py:256 ++msgid "No packages to list" ++msgstr "没有可以列出的软件包" ++ ++#: dnf/cli/commands/history.py:279 + msgid "" + "Invalid transaction ID range definition '{}'.\n" + "Use '..'." +@@ -1347,7 +1336,7 @@ msgstr "" + "无效的事务 ID 范围定义 '{}'。\n" + "使用 '..'。" + +-#: dnf/cli/commands/history.py:226 ++#: dnf/cli/commands/history.py:283 + msgid "" + "Can't convert '{}' to transaction ID.\n" + "Use '', 'last', 'last-'." +@@ -1355,40 +1344,29 @@ msgstr "" + "无法将 '{}' 转换为事务 ID。\n" + "请使用 ''、'last'、'last-'。" + +-#: dnf/cli/commands/history.py:255 ++#: dnf/cli/commands/history.py:312 + msgid "No transaction which manipulates package '{}' was found." + msgstr "没有找到操作软件包 '{}' 的事务。" + +-#: dnf/cli/commands/history.py:305 +-#, fuzzy, python-brace-format +-#| msgid "TransactionItem not found for key: {}" +-msgid "Transaction ID \"{id}\" not found." +-msgstr "找不到键的 TransactionItem: {}" +- +-#: dnf/cli/commands/history.py:313 ++#: dnf/cli/commands/history.py:357 + msgid "{} exists, overwrite?" +-msgstr "" ++msgstr "{} 已存在,是否覆盖?" + +-#: dnf/cli/commands/history.py:316 ++#: dnf/cli/commands/history.py:360 + msgid "Not overwriting {}, exiting." +-msgstr "" ++msgstr "不覆盖 {},退出。" + +-#: dnf/cli/commands/history.py:323 +-#, fuzzy +-#| msgid "Transaction failed" ++#: dnf/cli/commands/history.py:367 + msgid "Transaction saved to {}." +-msgstr "事务失败" ++msgstr "事务保存到 {}。" + +-#: dnf/cli/commands/history.py:326 +-#, fuzzy +-#| msgid "Errors occurred during transaction." ++#: dnf/cli/commands/history.py:370 + msgid "Error storing transaction: {}" +-msgstr "事务过程中出现错误。" ++msgstr "存储事务出错:{}" + +-#: dnf/cli/commands/history.py:350 +-msgid "" +-"Warning, the following problems occurred while replaying the transaction:" +-msgstr "" ++#: dnf/cli/commands/history.py:386 ++msgid "Warning, the following problems occurred while running a transaction:" ++msgstr "警告,在运行事务时发生以下问题:" + + #: dnf/cli/commands/install.py:47 + msgid "install a package or packages on your system" +@@ -1407,7 +1385,7 @@ msgstr "没有任何匹配" + msgid "Not a valid rpm file path: %s" + msgstr "RPM文件路径错误:%s" + +-#: dnf/cli/commands/install.py:167 ++#: dnf/cli/commands/install.py:166 + #, python-brace-format + msgid "There are following alternatives for \"{0}\": {1}" + msgstr "以下是 \"{0}\" 的替代 : {1}" +@@ -1450,7 +1428,7 @@ msgid "%s marked as group installed." + msgstr "%s 已标记为已安装软件组。" + + #: dnf/cli/commands/mark.py:85 dnf/cli/commands/shell.py:129 +-#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:279 ++#: dnf/cli/commands/shell.py:237 dnf/cli/commands/shell.py:282 + msgid "Error:" + msgstr "错误:" + +@@ -1506,42 +1484,46 @@ msgid "Package {} belongs to multiple modules, skipping" + msgstr "软件包 {} 属于多个模块,正在跳过" + + #: dnf/cli/commands/module.py:277 ++msgid "switch a module to a stream and distrosync rpm packages" ++msgstr "将模块切换到流和 distrosync rpm 软件包" ++ ++#: dnf/cli/commands/module.py:299 + msgid "list modular packages" + msgstr "列出模块包" + +-#: dnf/cli/commands/module.py:292 ++#: dnf/cli/commands/module.py:314 + msgid "list packages belonging to a module" + msgstr "列出属于一个模块的软件包" + +-#: dnf/cli/commands/module.py:327 ++#: dnf/cli/commands/module.py:349 + msgid "Interact with Modules." + msgstr "与模块交互。" + +-#: dnf/cli/commands/module.py:340 ++#: dnf/cli/commands/module.py:362 + msgid "show only enabled modules" + msgstr "只显示启用的模块" + +-#: dnf/cli/commands/module.py:343 ++#: dnf/cli/commands/module.py:365 + msgid "show only disabled modules" + msgstr "只显示禁用的模块" + +-#: dnf/cli/commands/module.py:346 ++#: dnf/cli/commands/module.py:368 + msgid "show only installed modules or packages" + msgstr "只显示已安装的模块或者软件包" + +-#: dnf/cli/commands/module.py:349 ++#: dnf/cli/commands/module.py:371 + msgid "show profile content" + msgstr "显示档案内容" + +-#: dnf/cli/commands/module.py:354 ++#: dnf/cli/commands/module.py:376 + msgid "remove all modular packages" + msgstr "移除所有模块包" + +-#: dnf/cli/commands/module.py:364 ++#: dnf/cli/commands/module.py:386 + msgid "Module specification" + msgstr "模块规格" + +-#: dnf/cli/commands/module.py:386 ++#: dnf/cli/commands/module.py:408 + msgid "{} {} {}: too few arguments" + msgstr "{} {} {}: 参数太少" + +@@ -2026,22 +2008,22 @@ msgstr "KEYWORD" + msgid "Keyword to search for" + msgstr "要搜索的关键字" + +-#: dnf/cli/commands/search.py:61 dnf/cli/output.py:506 ++#: dnf/cli/commands/search.py:61 dnf/cli/output.py:460 + msgctxt "long" + msgid "Name" + msgstr "名称" + +-#: dnf/cli/commands/search.py:62 dnf/cli/output.py:559 ++#: dnf/cli/commands/search.py:62 dnf/cli/output.py:513 + msgctxt "long" + msgid "Summary" + msgstr "概况" + +-#: dnf/cli/commands/search.py:63 dnf/cli/output.py:569 ++#: dnf/cli/commands/search.py:63 dnf/cli/output.py:523 + msgctxt "long" + msgid "Description" + msgstr "描述" + +-#: dnf/cli/commands/search.py:64 dnf/cli/output.py:562 ++#: dnf/cli/commands/search.py:64 dnf/cli/output.py:516 + msgid "URL" + msgstr "URL" + +@@ -2184,16 +2166,16 @@ msgstr "" + "run 解析以及运行事务集\n" + "exit (或 quit) 退出 shell" + +-#: dnf/cli/commands/shell.py:259 ++#: dnf/cli/commands/shell.py:262 + #, python-format + msgid "Error: Cannot open %s for reading" + msgstr "错误:无法打开%s来读取" + +-#: dnf/cli/commands/shell.py:281 dnf/cli/main.py:187 ++#: dnf/cli/commands/shell.py:284 dnf/cli/main.py:187 + msgid "Complete!" + msgstr "完毕!" + +-#: dnf/cli/commands/shell.py:291 ++#: dnf/cli/commands/shell.py:294 + msgid "Leaving Shell" + msgstr "离开终端" + +@@ -2384,8 +2366,8 @@ msgstr "严重性" + msgid "Files" + msgstr "文件" + +-#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1499 +-#: dnf/cli/output.py:1772 dnf/cli/output.py:1774 ++#: dnf/cli/commands/updateinfo.py:359 dnf/cli/output.py:1652 ++#: dnf/cli/output.py:1654 dnf/util.py:591 + msgid "Installed" + msgstr "已安装" + +@@ -2706,13 +2688,13 @@ msgstr "无法编码参数 '%s': %s" + #. Translators: This is abbreviated 'Name'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:505 ++#: dnf/cli/output.py:459 + msgctxt "short" + msgid "Name" + msgstr "名称" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:511 ++#: dnf/cli/output.py:465 + msgid "Epoch" + msgstr "时期" + +@@ -2720,38 +2702,38 @@ msgstr "时期" + #. use the full (unabbreviated) term 'Version' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:512 dnf/cli/output.py:1335 ++#: dnf/cli/output.py:466 dnf/cli/output.py:1248 + msgctxt "short" + msgid "Version" + msgstr "版本" + + #. Translators: This is the full (unabbreviated) term 'Version'. +-#: dnf/cli/output.py:513 dnf/cli/output.py:1337 ++#: dnf/cli/output.py:467 dnf/cli/output.py:1250 + msgctxt "long" + msgid "Version" + msgstr "版本" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:516 ++#: dnf/cli/output.py:470 + msgid "Release" + msgstr "发布" + + #. Translators: This is abbreviated 'Architecture', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:517 dnf/cli/output.py:1326 ++#: dnf/cli/output.py:471 dnf/cli/output.py:1239 + msgctxt "short" + msgid "Arch" + msgstr "架构" + + #. Translators: This is the full word 'Architecture', used when + #. we have enough space. +-#: dnf/cli/output.py:518 dnf/cli/output.py:1329 ++#: dnf/cli/output.py:472 dnf/cli/output.py:1242 + msgctxt "long" + msgid "Architecture" + msgstr "架构" + + #. Translators: This is the full (unabbreviated) term 'Size'. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1352 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1265 + msgctxt "long" + msgid "Size" + msgstr "大小" +@@ -2760,32 +2742,32 @@ msgstr "大小" + #. not be longer than 5 characters. If the term 'Size' in your + #. language is not longer than 5 characters then you can use it + #. unabbreviated. +-#: dnf/cli/output.py:520 dnf/cli/output.py:1350 ++#: dnf/cli/output.py:474 dnf/cli/output.py:1263 + msgctxt "short" + msgid "Size" + msgstr "大小" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:524 ++#: dnf/cli/output.py:478 + msgid "Source" + msgstr "源" + + #. Translators: This is abbreviated 'Repository', used when + #. we have not enough space to display the full word. +-#: dnf/cli/output.py:525 dnf/cli/output.py:1341 ++#: dnf/cli/output.py:479 dnf/cli/output.py:1254 + msgctxt "short" + msgid "Repo" + msgstr "仓库" + + #. Translators: This is the full word 'Repository', used when + #. we have enough space. +-#: dnf/cli/output.py:526 dnf/cli/output.py:1344 ++#: dnf/cli/output.py:480 dnf/cli/output.py:1257 + msgctxt "long" + msgid "Repository" + msgstr "仓库" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:533 ++#: dnf/cli/output.py:487 + msgid "From repo" + msgstr "来自仓库" + +@@ -2793,312 +2775,308 @@ msgstr "来自仓库" + #. print(_("Committer : %s") % ucd(pkg.committer)) + #. print(_("Committime : %s") % time.ctime(pkg.committime)) + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:539 ++#: dnf/cli/output.py:493 + msgid "Packager" + msgstr "打包者" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:541 ++#: dnf/cli/output.py:495 + msgid "Buildtime" + msgstr "构建时间" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:545 ++#: dnf/cli/output.py:499 + msgid "Install time" + msgstr "安装时间" + + #. Translators: This message should be no longer than 12 chars. +-#: dnf/cli/output.py:554 ++#: dnf/cli/output.py:508 + msgid "Installed by" + msgstr "安装者" + + #. Translators: This is abbreviated 'Summary'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:558 ++#: dnf/cli/output.py:512 + msgctxt "short" + msgid "Summary" + msgstr "概况" + + #. Translators: This message should be no longer than 12 characters. +-#: dnf/cli/output.py:564 ++#: dnf/cli/output.py:518 + msgid "License" + msgstr "协议" + + #. Translators: This is abbreviated 'Description'. Should be no longer + #. than 12 characters. You can use the full version if it is short + #. enough in your language. +-#: dnf/cli/output.py:568 ++#: dnf/cli/output.py:522 + msgctxt "short" + msgid "Description" + msgstr "描述" + +-#: dnf/cli/output.py:695 +-msgid "No packages to list" +-msgstr "没有可以列出的软件包" +- +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "y" + msgstr "y" + +-#: dnf/cli/output.py:706 ++#: dnf/cli/output.py:650 + msgid "yes" + msgstr "是" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "n" + msgstr "n" + +-#: dnf/cli/output.py:707 ++#: dnf/cli/output.py:651 + msgid "no" + msgstr "否" + +-#: dnf/cli/output.py:711 ++#: dnf/cli/output.py:655 + msgid "Is this ok [y/N]: " + msgstr "确定吗?[y/N]: " + +-#: dnf/cli/output.py:715 ++#: dnf/cli/output.py:659 + msgid "Is this ok [Y/n]: " + msgstr "确定吗?[Y/n]: " + +-#: dnf/cli/output.py:795 ++#: dnf/cli/output.py:739 + #, python-format + msgid "Group: %s" + msgstr "组:%s" + +-#: dnf/cli/output.py:799 ++#: dnf/cli/output.py:743 + #, python-format + msgid " Group-Id: %s" + msgstr " 组编号:%s" + +-#: dnf/cli/output.py:801 dnf/cli/output.py:840 ++#: dnf/cli/output.py:745 dnf/cli/output.py:784 + #, python-format + msgid " Description: %s" + msgstr " 描述:%s" + +-#: dnf/cli/output.py:803 ++#: dnf/cli/output.py:747 + #, python-format + msgid " Language: %s" + msgstr " 语言:%s" + +-#: dnf/cli/output.py:806 ++#: dnf/cli/output.py:750 + msgid " Mandatory Packages:" + msgstr " 必要的软件包:" + +-#: dnf/cli/output.py:807 ++#: dnf/cli/output.py:751 + msgid " Default Packages:" + msgstr " 默认的软件包:" + +-#: dnf/cli/output.py:808 ++#: dnf/cli/output.py:752 + msgid " Optional Packages:" + msgstr " 可选的软件包:" + +-#: dnf/cli/output.py:809 ++#: dnf/cli/output.py:753 + msgid " Conditional Packages:" + msgstr " 可能的软件包:" + +-#: dnf/cli/output.py:834 ++#: dnf/cli/output.py:778 + #, python-format + msgid "Environment Group: %s" + msgstr "环境组:%s" + +-#: dnf/cli/output.py:837 ++#: dnf/cli/output.py:781 + #, python-format + msgid " Environment-Id: %s" + msgstr " 环境-Id:%s" + +-#: dnf/cli/output.py:843 ++#: dnf/cli/output.py:787 + msgid " Mandatory Groups:" + msgstr " 必选软件包组:" + +-#: dnf/cli/output.py:844 ++#: dnf/cli/output.py:788 + msgid " Optional Groups:" + msgstr " 可选软件包组:" + +-#: dnf/cli/output.py:865 ++#: dnf/cli/output.py:809 + msgid "Matched from:" + msgstr "匹配来源:" + +-#: dnf/cli/output.py:879 ++#: dnf/cli/output.py:823 + #, python-format + msgid "Filename : %s" + msgstr "文件名 :%s" + +-#: dnf/cli/output.py:904 ++#: dnf/cli/output.py:848 + #, python-format + msgid "Repo : %s" + msgstr "仓库 :%s" + +-#: dnf/cli/output.py:913 ++#: dnf/cli/output.py:857 + msgid "Description : " + msgstr "描述: " + +-#: dnf/cli/output.py:917 ++#: dnf/cli/output.py:861 + #, python-format + msgid "URL : %s" + msgstr "网址 :%s" + +-#: dnf/cli/output.py:921 ++#: dnf/cli/output.py:865 + #, python-format + msgid "License : %s" + msgstr "协议 :%s" + +-#: dnf/cli/output.py:927 ++#: dnf/cli/output.py:871 + #, python-format + msgid "Provide : %s" + msgstr "提供 : %s" + +-#: dnf/cli/output.py:947 ++#: dnf/cli/output.py:891 + #, python-format + msgid "Other : %s" + msgstr "其它 : %s" + +-#: dnf/cli/output.py:996 ++#: dnf/cli/output.py:940 + msgid "There was an error calculating total download size" + msgstr "计算总下载量时出错" + +-#: dnf/cli/output.py:1002 ++#: dnf/cli/output.py:946 + #, python-format + msgid "Total size: %s" + msgstr "总计:%s" + +-#: dnf/cli/output.py:1005 ++#: dnf/cli/output.py:949 + #, python-format + msgid "Total download size: %s" + msgstr "总下载:%s" + +-#: dnf/cli/output.py:1008 ++#: dnf/cli/output.py:952 + #, python-format + msgid "Installed size: %s" + msgstr "安装大小:%s" + +-#: dnf/cli/output.py:1026 ++#: dnf/cli/output.py:970 + msgid "There was an error calculating installed size" + msgstr "计算安装大小时出错" + +-#: dnf/cli/output.py:1030 ++#: dnf/cli/output.py:974 + #, python-format + msgid "Freed space: %s" + msgstr "将会释放空间:%s" + +-#: dnf/cli/output.py:1039 ++#: dnf/cli/output.py:983 + msgid "Marking packages as installed by the group:" + msgstr "标记软件包为遵循软件包组安装的:" + +-#: dnf/cli/output.py:1046 ++#: dnf/cli/output.py:990 + msgid "Marking packages as removed by the group:" + msgstr "标记软件包为遵循软件包组移除的:" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Group" + msgstr "组" + +-#: dnf/cli/output.py:1056 ++#: dnf/cli/output.py:1000 + msgid "Packages" + msgstr "软件包" + +-#: dnf/cli/output.py:1133 ++#: dnf/cli/output.py:1046 + msgid "Installing group/module packages" + msgstr "安装组/模块包" + +-#: dnf/cli/output.py:1134 ++#: dnf/cli/output.py:1047 + msgid "Installing group packages" + msgstr "安装软件包组" + + #. TRANSLATORS: This is for a list of packages to be installed. +-#: dnf/cli/output.py:1138 ++#: dnf/cli/output.py:1051 + msgctxt "summary" + msgid "Installing" + msgstr "安装" + + #. TRANSLATORS: This is for a list of packages to be upgraded. +-#: dnf/cli/output.py:1140 ++#: dnf/cli/output.py:1053 + msgctxt "summary" + msgid "Upgrading" + msgstr "升级" + + #. TRANSLATORS: This is for a list of packages to be reinstalled. +-#: dnf/cli/output.py:1142 ++#: dnf/cli/output.py:1055 + msgctxt "summary" + msgid "Reinstalling" + msgstr "重新安装" + +-#: dnf/cli/output.py:1144 ++#: dnf/cli/output.py:1057 + msgid "Installing dependencies" + msgstr "安装依赖关系" + +-#: dnf/cli/output.py:1145 ++#: dnf/cli/output.py:1058 + msgid "Installing weak dependencies" + msgstr "安装弱的依赖" + + #. TRANSLATORS: This is for a list of packages to be removed. +-#: dnf/cli/output.py:1147 ++#: dnf/cli/output.py:1060 + msgid "Removing" + msgstr "移除" + +-#: dnf/cli/output.py:1148 ++#: dnf/cli/output.py:1061 + msgid "Removing dependent packages" + msgstr "移除依赖的软件包" + +-#: dnf/cli/output.py:1149 ++#: dnf/cli/output.py:1062 + msgid "Removing unused dependencies" + msgstr "清除未被使用的依赖关系" + + #. TRANSLATORS: This is for a list of packages to be downgraded. +-#: dnf/cli/output.py:1151 ++#: dnf/cli/output.py:1064 + msgctxt "summary" + msgid "Downgrading" + msgstr "降级" + +-#: dnf/cli/output.py:1176 ++#: dnf/cli/output.py:1089 + msgid "Installing module profiles" + msgstr "安装模块配置档案" + +-#: dnf/cli/output.py:1185 ++#: dnf/cli/output.py:1098 + msgid "Disabling module profiles" + msgstr "禁用模块配置档案" + +-#: dnf/cli/output.py:1194 ++#: dnf/cli/output.py:1107 + msgid "Enabling module streams" + msgstr "启用模块流" + +-#: dnf/cli/output.py:1202 ++#: dnf/cli/output.py:1115 + msgid "Switching module streams" + msgstr "切换模块流" + +-#: dnf/cli/output.py:1210 ++#: dnf/cli/output.py:1123 + msgid "Disabling modules" + msgstr "禁用模块" + +-#: dnf/cli/output.py:1218 ++#: dnf/cli/output.py:1131 + msgid "Resetting modules" + msgstr "重置模块" + +-#: dnf/cli/output.py:1230 ++#: dnf/cli/output.py:1143 + msgid "Installing Environment Groups" + msgstr "安装环境组" + +-#: dnf/cli/output.py:1237 ++#: dnf/cli/output.py:1150 + msgid "Upgrading Environment Groups" + msgstr "升级环境组" + +-#: dnf/cli/output.py:1244 ++#: dnf/cli/output.py:1157 + msgid "Removing Environment Groups" + msgstr "删除环境组" + +-#: dnf/cli/output.py:1251 ++#: dnf/cli/output.py:1164 + msgid "Installing Groups" + msgstr "安装组" + +-#: dnf/cli/output.py:1258 ++#: dnf/cli/output.py:1171 + msgid "Upgrading Groups" + msgstr "升级组" + +-#: dnf/cli/output.py:1265 ++#: dnf/cli/output.py:1178 + msgid "Removing Groups" + msgstr "删除组" + +-#: dnf/cli/output.py:1281 ++#: dnf/cli/output.py:1194 + #, python-format + msgid "" + "Skipping packages with conflicts:\n" +@@ -3107,12 +3085,12 @@ msgstr "" + "跳过有冲突的软件包:\n" + "(添加 '%s' 至命令行来强制升级)" + +-#: dnf/cli/output.py:1291 ++#: dnf/cli/output.py:1204 + #, python-format + msgid "Skipping packages with broken dependencies%s" + msgstr "跳过存在损坏依赖关系的软件包 %s" + +-#: dnf/cli/output.py:1295 ++#: dnf/cli/output.py:1208 + msgid " or part of a group" + msgstr " 或一个组的一部分" + +@@ -3120,22 +3098,22 @@ msgstr " 或一个组的一部分" + #. use the full (unabbreviated) term 'Package' if you think that + #. the translation to your language is not too long and will + #. always fit to limited space. +-#: dnf/cli/output.py:1320 ++#: dnf/cli/output.py:1233 + msgctxt "short" + msgid "Package" + msgstr "软件包" + + #. Translators: This is the full (unabbreviated) term 'Package'. +-#: dnf/cli/output.py:1322 ++#: dnf/cli/output.py:1235 + msgctxt "long" + msgid "Package" + msgstr "软件包" + +-#: dnf/cli/output.py:1371 ++#: dnf/cli/output.py:1284 + msgid "replacing" + msgstr "替换" + +-#: dnf/cli/output.py:1378 ++#: dnf/cli/output.py:1291 + #, python-format + msgid "" + "\n" +@@ -3147,287 +3125,271 @@ msgstr "" + "%s\n" + + #. TODO: remove +-#: dnf/cli/output.py:1383 dnf/cli/output.py:1932 dnf/cli/output.py:1933 ++#: dnf/cli/output.py:1296 dnf/cli/output.py:1812 dnf/cli/output.py:1813 + msgid "Install" + msgstr "安装" + +-#: dnf/cli/output.py:1387 dnf/cli/output.py:1941 ++#: dnf/cli/output.py:1300 dnf/cli/output.py:1821 + msgid "Upgrade" + msgstr "升级" + +-#: dnf/cli/output.py:1388 ++#: dnf/cli/output.py:1301 + msgid "Remove" + msgstr "移除" + +-#: dnf/cli/output.py:1390 dnf/cli/output.py:1939 ++#: dnf/cli/output.py:1303 dnf/cli/output.py:1819 + msgid "Downgrade" + msgstr "降级" + +-#: dnf/cli/output.py:1391 ++#: dnf/cli/output.py:1304 + msgid "Skip" + msgstr "跳过" + +-#: dnf/cli/output.py:1400 dnf/cli/output.py:1416 ++#: dnf/cli/output.py:1313 dnf/cli/output.py:1329 + msgid "Package" + msgid_plural "Packages" + msgstr[0] "软件包" + +-#: dnf/cli/output.py:1418 ++#: dnf/cli/output.py:1331 + msgid "Dependent package" + msgid_plural "Dependent packages" + msgstr[0] "依赖软件包" + +-#: dnf/cli/output.py:1497 dnf/cli/output.py:1773 dnf/cli/output.py:1942 +-msgid "Upgraded" +-msgstr "已升级" +- +-#: dnf/cli/output.py:1498 dnf/cli/output.py:1773 dnf/cli/output.py:1940 +-msgid "Downgraded" +-msgstr "已降级" +- +-#: dnf/cli/output.py:1503 +-msgid "Reinstalled" +-msgstr "已重装" +- +-#: dnf/cli/output.py:1504 +-msgid "Skipped" +-msgstr "已跳过" +- +-#: dnf/cli/output.py:1505 +-msgid "Removed" +-msgstr "已移除" +- +-#: dnf/cli/output.py:1508 +-msgid "Failed" +-msgstr "失败" +- +-#: dnf/cli/output.py:1559 ++#: dnf/cli/output.py:1439 + msgid "Total" + msgstr "总计" + +-#: dnf/cli/output.py:1587 ++#: dnf/cli/output.py:1467 + msgid "" + msgstr "<空>" + +-#: dnf/cli/output.py:1588 ++#: dnf/cli/output.py:1468 + msgid "System" + msgstr "系统" + +-#: dnf/cli/output.py:1638 ++#: dnf/cli/output.py:1518 + msgid "Command line" + msgstr "命令行" + + #. TRANSLATORS: user names who executed transaction in history command output +-#: dnf/cli/output.py:1649 ++#: dnf/cli/output.py:1529 + msgid "User name" + msgstr "用户名" + +-#: dnf/cli/output.py:1651 ++#: dnf/cli/output.py:1531 + msgid "ID" + msgstr "ID" + +-#: dnf/cli/output.py:1653 ++#: dnf/cli/output.py:1533 + msgid "Date and time" + msgstr "日期和时间" + +-#: dnf/cli/output.py:1654 ++#: dnf/cli/output.py:1534 + msgid "Action(s)" + msgstr "操作" + +-#: dnf/cli/output.py:1655 ++#: dnf/cli/output.py:1535 + msgid "Altered" + msgstr "更改" + +-#: dnf/cli/output.py:1698 ++#: dnf/cli/output.py:1578 + msgid "No transactions" + msgstr "没有事务" + +-#: dnf/cli/output.py:1699 dnf/cli/output.py:1715 ++#: dnf/cli/output.py:1579 dnf/cli/output.py:1595 + msgid "Failed history info" + msgstr "失败的历史信息" + +-#: dnf/cli/output.py:1714 ++#: dnf/cli/output.py:1594 + msgid "No transaction ID, or package, given" + msgstr "未指定事务 ID、或者软件包" + +-#: dnf/cli/output.py:1772 ++#: dnf/cli/output.py:1652 + msgid "Erased" + msgstr "已删除" + +-#: dnf/cli/output.py:1774 ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1820 dnf/util.py:590 ++msgid "Downgraded" ++msgstr "已降级" ++ ++#: dnf/cli/output.py:1653 dnf/cli/output.py:1822 dnf/util.py:589 ++msgid "Upgraded" ++msgstr "已升级" ++ ++#: dnf/cli/output.py:1654 + msgid "Not installed" + msgstr "未安装" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Newer" + msgstr "较早的" + +-#: dnf/cli/output.py:1775 ++#: dnf/cli/output.py:1655 + msgid "Older" + msgstr "较老的" + +-#: dnf/cli/output.py:1823 dnf/cli/output.py:1825 ++#: dnf/cli/output.py:1703 dnf/cli/output.py:1705 + msgid "Transaction ID :" + msgstr "事务 ID:" + +-#: dnf/cli/output.py:1828 ++#: dnf/cli/output.py:1708 + msgid "Begin time :" + msgstr "起始时间 :" + +-#: dnf/cli/output.py:1831 dnf/cli/output.py:1833 ++#: dnf/cli/output.py:1711 dnf/cli/output.py:1713 + msgid "Begin rpmdb :" + msgstr "起始 RPM 数据库 :" + +-#: dnf/cli/output.py:1839 ++#: dnf/cli/output.py:1719 + #, python-format + msgid "(%u seconds)" + msgstr "(%u 秒)" + +-#: dnf/cli/output.py:1841 ++#: dnf/cli/output.py:1721 + #, python-format + msgid "(%u minutes)" + msgstr "(%u 分钟)" + +-#: dnf/cli/output.py:1843 ++#: dnf/cli/output.py:1723 + #, python-format + msgid "(%u hours)" + msgstr "(%u 小时)" + +-#: dnf/cli/output.py:1845 ++#: dnf/cli/output.py:1725 + #, python-format + msgid "(%u days)" + msgstr "(%u 天)" + +-#: dnf/cli/output.py:1846 ++#: dnf/cli/output.py:1726 + msgid "End time :" + msgstr "结束时间 :" + +-#: dnf/cli/output.py:1849 dnf/cli/output.py:1851 ++#: dnf/cli/output.py:1729 dnf/cli/output.py:1731 + msgid "End rpmdb :" + msgstr "结束 RPM 数据库 :" + +-#: dnf/cli/output.py:1858 dnf/cli/output.py:1860 ++#: dnf/cli/output.py:1738 dnf/cli/output.py:1740 + msgid "User :" + msgstr "用户 :" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1871 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1751 + msgid "Aborted" + msgstr "已终止" + +-#: dnf/cli/output.py:1864 dnf/cli/output.py:1867 dnf/cli/output.py:1869 +-#: dnf/cli/output.py:1871 dnf/cli/output.py:1873 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1744 dnf/cli/output.py:1747 dnf/cli/output.py:1749 ++#: dnf/cli/output.py:1751 dnf/cli/output.py:1753 dnf/cli/output.py:1755 + msgid "Return-Code :" + msgstr "返回码 :" + +-#: dnf/cli/output.py:1867 dnf/cli/output.py:1875 ++#: dnf/cli/output.py:1747 dnf/cli/output.py:1755 + msgid "Success" + msgstr "成功" + +-#: dnf/cli/output.py:1869 ++#: dnf/cli/output.py:1749 + msgid "Failures:" + msgstr "失败:" + +-#: dnf/cli/output.py:1873 ++#: dnf/cli/output.py:1753 + msgid "Failure:" + msgstr "失败:" + +-#: dnf/cli/output.py:1883 dnf/cli/output.py:1885 ++#: dnf/cli/output.py:1763 dnf/cli/output.py:1765 + msgid "Releasever :" + msgstr "Releasever :" + +-#: dnf/cli/output.py:1890 dnf/cli/output.py:1892 ++#: dnf/cli/output.py:1770 dnf/cli/output.py:1772 + msgid "Command Line :" + msgstr "命令行 :" + +-#: dnf/cli/output.py:1897 dnf/cli/output.py:1899 ++#: dnf/cli/output.py:1777 dnf/cli/output.py:1779 + msgid "Comment :" + msgstr "注释 :" + +-#: dnf/cli/output.py:1903 ++#: dnf/cli/output.py:1783 + msgid "Transaction performed with:" + msgstr "事务完成由:" + +-#: dnf/cli/output.py:1912 ++#: dnf/cli/output.py:1792 + msgid "Packages Altered:" + msgstr "已改变的包:" + +-#: dnf/cli/output.py:1918 ++#: dnf/cli/output.py:1798 + msgid "Scriptlet output:" + msgstr "Scriptlet 输出:" + +-#: dnf/cli/output.py:1925 ++#: dnf/cli/output.py:1805 + msgid "Errors:" + msgstr "错误:" + +-#: dnf/cli/output.py:1934 ++#: dnf/cli/output.py:1814 + msgid "Dep-Install" + msgstr "依赖安装" + +-#: dnf/cli/output.py:1935 ++#: dnf/cli/output.py:1815 + msgid "Obsoleted" + msgstr "已废弃" + +-#: dnf/cli/output.py:1936 dnf/transaction.py:84 dnf/transaction.py:85 ++#: dnf/cli/output.py:1816 dnf/transaction.py:84 dnf/transaction.py:85 + msgid "Obsoleting" + msgstr "废弃" + +-#: dnf/cli/output.py:1937 ++#: dnf/cli/output.py:1817 + msgid "Erase" + msgstr "删除" + +-#: dnf/cli/output.py:1938 ++#: dnf/cli/output.py:1818 + msgid "Reinstall" + msgstr "重装" + +-#: dnf/cli/output.py:2016 ++#: dnf/cli/output.py:1892 + #, python-format + msgid "---> Package %s.%s %s will be installed" + msgstr "---> 软件包 %s.%s %s 将会被安装" + +-#: dnf/cli/output.py:2018 ++#: dnf/cli/output.py:1894 + #, python-format + msgid "---> Package %s.%s %s will be an upgrade" + msgstr "---> 软件包 %s.%s %s 将作为一个更新" + +-#: dnf/cli/output.py:2020 ++#: dnf/cli/output.py:1896 + #, python-format + msgid "---> Package %s.%s %s will be erased" + msgstr "---> 软件包 %s.%s %s 将会被清除" + +-#: dnf/cli/output.py:2022 ++#: dnf/cli/output.py:1898 + #, python-format + msgid "---> Package %s.%s %s will be reinstalled" + msgstr "---> 软件包 %s.%s %s 将会被重新安装" + +-#: dnf/cli/output.py:2024 ++#: dnf/cli/output.py:1900 + #, python-format + msgid "---> Package %s.%s %s will be a downgrade" + msgstr "---> 软件包 %s.%s %s 将会被降级" + +-#: dnf/cli/output.py:2026 ++#: dnf/cli/output.py:1902 + #, python-format + msgid "---> Package %s.%s %s will be obsoleting" + msgstr "---> 软件包 %s.%s %s 将会废弃" + +-#: dnf/cli/output.py:2028 ++#: dnf/cli/output.py:1904 + #, python-format + msgid "---> Package %s.%s %s will be upgraded" + msgstr "---> 软件包 %s.%s %s 将会被升级" + +-#: dnf/cli/output.py:2030 ++#: dnf/cli/output.py:1906 + #, python-format + msgid "---> Package %s.%s %s will be obsoleted" + msgstr "---> 软件包 %s.%s %s 将会被废弃" + +-#: dnf/cli/output.py:2039 ++#: dnf/cli/output.py:1915 + msgid "--> Starting dependency resolution" + msgstr "--> 开始解决依赖关系" + +-#: dnf/cli/output.py:2044 ++#: dnf/cli/output.py:1919 + msgid "--> Finished dependency resolution" + msgstr "--> 依赖关系解决完成" + +-#: dnf/cli/output.py:2058 dnf/crypto.py:132 ++#: dnf/cli/output.py:1933 dnf/crypto.py:132 + #, python-format + msgid "" + "Importing GPG key 0x%s:\n" +@@ -3509,16 +3471,14 @@ msgid "Module or Group '%s' does not exist." + msgstr "模块或者组 '%s' 不存在。" + + #: dnf/comps.py:599 +-#, fuzzy, python-format +-#| msgid "Environment '%s' is not installed." ++#, python-format + msgid "Environment id '%s' does not exist." +-msgstr "环境组 '%s' 没有安装。" ++msgstr "环境 id '%s' 不存在。" + +-#: dnf/comps.py:622 dnf/transaction_sr.py:443 dnf/transaction_sr.py:453 +-#, fuzzy, python-format +-#| msgid "Environment '%s' is not installed." ++#: dnf/comps.py:622 dnf/transaction_sr.py:477 dnf/transaction_sr.py:487 ++#, python-format + msgid "Environment id '%s' is not installed." +-msgstr "环境组 '%s' 没有安装。" ++msgstr "环境 id '%s' 没有安装。" + + #: dnf/comps.py:639 + #, python-format +@@ -3531,10 +3491,9 @@ msgid "Environment '%s' is not available." + msgstr "环境 '%s' 不可用。" + + #: dnf/comps.py:673 +-#, fuzzy, python-format +-#| msgid "Group_id '%s' does not exist." ++#, python-format + msgid "Group id '%s' does not exist." +-msgstr "Group_id '%s' 不存在。" ++msgstr "组 id '%s' 不存在。" + + #: dnf/conf/config.py:136 + #, python-format +@@ -3593,7 +3552,7 @@ msgstr "repo 的 id 无效: {} ({}), byte = {} {}" + + #: dnf/conf/read.py:67 + msgid "Bad id for repo: {}, byte = {} {}" +-msgstr "repo 的 id 无效: %s, byte = %s %d" ++msgstr "repo 的 id 无效: {}, byte = {} {}" + + #: dnf/conf/read.py:75 + msgid "Repository '{}' ({}): Error parsing config: {}" +@@ -3625,6 +3584,11 @@ msgstr "repo %s: 0x%s 已被导入" + msgid "repo %s: imported key 0x%s." + msgstr "repo %s: 已导入密钥 0x%s。" + ++#: dnf/crypto.py:177 ++#, python-format ++msgid "retrieving repo key for %s unencrypted from %s" ++msgstr "为 %s 从 %s 获取的 repo 密钥未加密" ++ + #: dnf/db/group.py:293 + msgid "" + "No available modular metadata for modular package '{}', it cannot be " +@@ -3707,7 +3671,7 @@ msgid "Modular dependency problem with Defaults:" + msgid_plural "Modular dependency problems with Defaults:" + msgstr[0] "默认设置中的模块依赖问题 :" + +-#: dnf/exceptions.py:131 dnf/module/module_base.py:686 ++#: dnf/exceptions.py:131 dnf/module/module_base.py:841 + msgid "Modular dependency problem:" + msgid_plural "Modular dependency problems:" + msgstr[0] "模块依赖问题:" +@@ -3761,27 +3725,27 @@ msgstr "" + "\n" + "提示 : [d]默认, [e]启用, [x]禁用, [i]已安装的, [a]活跃的" + +-#: dnf/module/module_base.py:54 dnf/module/module_base.py:421 +-#: dnf/module/module_base.py:477 dnf/module/module_base.py:543 ++#: dnf/module/module_base.py:54 dnf/module/module_base.py:547 ++#: dnf/module/module_base.py:603 dnf/module/module_base.py:669 + msgid "Ignoring unnecessary profile: '{}/{}'" + msgstr "正在忽略无用的配置文件'{}/{}'" + + #: dnf/module/module_base.py:84 + #, python-brace-format + msgid "All matches for argument '{0}' in module '{1}:{2}' are not active" +-msgstr "模块 '{1}:{2}' 中参数 '{0}' 的所有匹配项目都未激活" ++msgstr "模块 '{1}:{2}' 中的参数 '{0}' 的所有匹配项目都未激活" + +-#: dnf/module/module_base.py:92 ++#: dnf/module/module_base.py:92 dnf/module/module_base.py:202 + #, python-brace-format + msgid "Installing module '{0}' from Fail-Safe repository {1} is not allowed" +-msgstr "不允许从失效保险仓库 {1} 安装模块 '{0}'" ++msgstr "不允许从 Fail-Safe repository {1} 安装模块 '{0}'" + +-#: dnf/module/module_base.py:102 ++#: dnf/module/module_base.py:102 dnf/module/module_base.py:212 + msgid "" + "Unable to match profile for argument {}. Available profiles for '{}:{}': {}" + msgstr "不能为参数 {} 匹配配置文件。'{}:{}' 可用的配置文件为 : {}" + +-#: dnf/module/module_base.py:106 ++#: dnf/module/module_base.py:106 dnf/module/module_base.py:216 + msgid "Unable to match profile for argument {}" + msgstr "无法配置参数 {} 中的配置档案" + +@@ -3797,41 +3761,55 @@ msgstr "没有模块 {}:{} 的配置文件" + msgid "Default profile {} not available in module {}:{}" + msgstr "默认配置文件 {} 在模块 {}:{} 中不可用" + +-#: dnf/module/module_base.py:142 ++#: dnf/module/module_base.py:142 dnf/module/module_base.py:245 + msgid "Installing module from Fail-Safe repository is not allowed" + msgstr "不允许从失效保险仓库中安装模块" + +-#: dnf/module/module_base.py:159 dnf/module/module_base.py:193 +-#: dnf/module/module_base.py:337 dnf/module/module_base.py:355 +-#: dnf/module/module_base.py:363 dnf/module/module_base.py:417 +-#: dnf/module/module_base.py:473 dnf/module/module_base.py:539 ++#: dnf/module/module_base.py:194 ++#, python-brace-format ++msgid "No active matches for argument '{0}' in module '{1}:{2}'" ++msgstr "模块 '{1}:{2}' 中的参数 '{0}' 没有活跃的匹配" ++ ++#: dnf/module/module_base.py:226 ++#, python-brace-format ++msgid "Installed profile '{0}' is not available in module '{1}' stream '{2}'" ++msgstr "在模块 '{1}' 流 '{2}' 中没有安装的配置集 '{0}'" ++ ++#: dnf/module/module_base.py:265 ++msgid "No packages available to distrosync for package name '{}'" ++msgstr "软件包名称 '{}' 没有可用的软件包用于 distrosync" ++ ++#: dnf/module/module_base.py:308 dnf/module/module_base.py:452 ++#: dnf/module/module_base.py:477 dnf/module/module_base.py:496 ++#: dnf/module/module_base.py:543 dnf/module/module_base.py:599 ++#: dnf/module/module_base.py:665 dnf/module/module_base.py:827 + msgid "Unable to resolve argument {}" + msgstr "无法解析参数 {}" + +-#: dnf/module/module_base.py:160 +-msgid "No match for package {}" +-msgstr "没有和{}匹配的软件包" +- +-#: dnf/module/module_base.py:204 ++#: dnf/module/module_base.py:319 + #, python-brace-format + msgid "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed" + msgstr "不允许从失效保险仓库 {1} 中升级模块 '{0}'" + +-#: dnf/module/module_base.py:223 dnf/module/module_base.py:251 ++#: dnf/module/module_base.py:338 dnf/module/module_base.py:366 + msgid "Unable to match profile in argument {}" + msgstr "无法匹配参数 {} 中的配置档案" + +-#: dnf/module/module_base.py:231 ++#: dnf/module/module_base.py:346 + msgid "Upgrading module from Fail-Safe repository is not allowed" + msgstr "不允许从失效保险仓库中升级模块" + +-#: dnf/module/module_base.py:367 ++#: dnf/module/module_base.py:500 + msgid "" + "Only module name is required. Ignoring unneeded information in argument: " + "'{}'" + msgstr "只需要模块名。正在忽略'{}'中的无用信息" + +-#: dnf/package.py:298 ++#: dnf/module/module_base.py:828 ++msgid "No match for package {}" ++msgstr "没有和{}匹配的软件包" ++ ++#: dnf/package.py:333 + #, python-format + msgid "%s: %s check failed: %s vs %s" + msgstr "%s: %s 检查失败:%s vs %s" +@@ -3845,12 +3823,12 @@ msgstr "%s 为空文件" + #: dnf/persistor.py:91 + #, python-format + msgid "Failed to load expired repos cache: %s" +-msgstr "" ++msgstr "加载过期的仓库缓存失败: %s" + + #: dnf/persistor.py:99 + #, python-format + msgid "Failed to store expired repos cache: %s" +-msgstr "" ++msgstr "存储已过期的仓库缓存失败: %s" + + #: dnf/persistor.py:106 + msgid "Failed storing last makecache time." +@@ -3912,6 +3890,12 @@ msgstr "已添加 %s 仓库来自 %s" + msgid "Errors occurred during test transaction." + msgstr "测试事务过程中出现错误。" + ++#: dnf/sack.py:47 ++msgid "" ++"allow_vendor_change is disabled. This option is currently not supported for " ++"downgrade and distro-sync commands" ++msgstr "allow_vendor_change 被禁用。目前不支持 downgrade 和 distro-sync 命令" ++ + #. TRANSLATORS: This is for a single package currently being downgraded. + #: dnf/transaction.py:80 + msgctxt "currently" +@@ -3958,164 +3942,196 @@ msgstr "运行脚本" + msgid "Preparing" + msgstr "准备中" + +-#: dnf/transaction_sr.py:60 ++#: dnf/transaction_sr.py:66 + #, python-brace-format +-msgid "Errors in \"{filename}\":" +-msgstr "" ++msgid "" ++"The following problems occurred while replaying the transaction from file " ++"\"{filename}\":" ++msgstr "在从文件 \"{filename}\" replay 事务时发生以下问题:" + +-#: dnf/transaction_sr.py:70 +-#, python-brace-format +-msgid "Error in \"{filename}\": {error}" +-msgstr "" ++#: dnf/transaction_sr.py:68 ++msgid "The following problems occurred while running a transaction:" ++msgstr "运行事务时发生以下问题:" + +-#: dnf/transaction_sr.py:87 ++#: dnf/transaction_sr.py:89 + #, python-brace-format + msgid "Invalid major version \"{major}\", number expected." +-msgstr "" ++msgstr "无效的主版本 \"{major}\",需要是数字。" + +-#: dnf/transaction_sr.py:95 ++#: dnf/transaction_sr.py:97 + #, python-brace-format + msgid "Invalid minor version \"{minor}\", number expected." +-msgstr "" ++msgstr "无效的次版本 \"{minor}\",需要是数字。" + +-#: dnf/transaction_sr.py:101 ++#: dnf/transaction_sr.py:103 + #, python-brace-format + msgid "" + "Incompatible major version \"{major}\", supported major version is " + "\"{major_supp}\"." +-msgstr "" ++msgstr "不兼容的主版本 \"{major}\",支持的主版本是 \"{major_supp}\"。" + +-#: dnf/transaction_sr.py:244 ++#: dnf/transaction_sr.py:224 ++msgid "" ++"Conflicting TransactionReplay arguments have been specified: filename, data" ++msgstr "指定了有冲突的 TransactionReplay 参数: filename、data" ++ ++#: dnf/transaction_sr.py:265 + #, python-brace-format + msgid "Unexpected type of \"{id}\", {exp} expected." +-msgstr "" ++msgstr "意外类型 \"{id}\",需要是 {exp}。" + +-#: dnf/transaction_sr.py:250 ++#: dnf/transaction_sr.py:271 + #, python-brace-format + msgid "Missing key \"{key}\"." +-msgstr "" ++msgstr "缺少键 \"{key}\"。" + +-#: dnf/transaction_sr.py:263 ++#: dnf/transaction_sr.py:285 + #, python-brace-format + msgid "Missing object key \"{key}\" in an rpm." +-msgstr "" ++msgstr "在 rpm 中缺少对象键 \"{key}\"。" + +-#: dnf/transaction_sr.py:267 ++#: dnf/transaction_sr.py:289 + #, python-brace-format + msgid "Unexpected value of package reason \"{reason}\" for rpm nevra \"{nevra}\"." +-msgstr "" ++msgstr "rpm nevra \"{reason}\" 的软件包原因 \"{nevra}\" 的值无效。" + +-#: dnf/transaction_sr.py:275 ++#: dnf/transaction_sr.py:297 + #, python-brace-format + msgid "Cannot parse NEVRA for package \"{nevra}\"." +-msgstr "" ++msgstr "无法为软件包 \"{nevra}\" 解析 NEVRA。" + +-#: dnf/transaction_sr.py:286 ++#: dnf/transaction_sr.py:321 + #, python-brace-format + msgid "Cannot find rpm nevra \"{nevra}\"." +-msgstr "" ++msgstr "无法找到 rpm nevra \"{nevra}\"。" + +-#: dnf/transaction_sr.py:301 +-#, fuzzy, python-brace-format +-#| msgid "Package %s is already installed." ++#: dnf/transaction_sr.py:336 ++#, python-brace-format + msgid "Package \"{na}\" is already installed for action \"{action}\"." +-msgstr "软件包 %s 已安装。" ++msgstr "已为操作 \"{action}\" 安装了软件包 \"{na}\"。" + +-#: dnf/transaction_sr.py:311 ++#: dnf/transaction_sr.py:345 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\" not available in repositories for action " + "\"{action}\"." +-msgstr "" ++msgstr "对于操作 \"{action}\",软件包 nevra \"{nevra}\" 没有包括在仓库中。" + +-#: dnf/transaction_sr.py:322 ++#: dnf/transaction_sr.py:356 + #, python-brace-format + msgid "Package nevra \"{nevra}\" not installed for action \"{action}\"." +-msgstr "" ++msgstr "没有为操作 \"{action}\" 安装软件包 nevra \"{nevra}\"。" + +-#: dnf/transaction_sr.py:336 ++#: dnf/transaction_sr.py:370 + #, python-brace-format + msgid "Unexpected value of package action \"{action}\" for rpm nevra \"{nevra}\"." +-msgstr "" ++msgstr "rpm nevra \"{action}\" 的软件包操作 \"{nevra}\" 无效。" + +-#: dnf/transaction_sr.py:343 +-#, fuzzy, python-format +-#| msgid "Module or Group '%s' is not available." ++#: dnf/transaction_sr.py:377 ++#, python-format + msgid "Group id '%s' is not available." +-msgstr "模块或者组 '%s' 不可用。" ++msgstr "组 id '%s' 不可用。" + +-#: dnf/transaction_sr.py:364 ++#: dnf/transaction_sr.py:398 + #, python-brace-format + msgid "Missing object key \"{key}\" in groups.packages." +-msgstr "" ++msgstr "在 groups.packages 中缺少对象键 \"{key}\"。" + +-#: dnf/transaction_sr.py:377 dnf/transaction_sr.py:387 +-#, fuzzy, python-format +-#| msgid "Module or Group '%s' is not installed." ++#: dnf/transaction_sr.py:411 dnf/transaction_sr.py:421 ++#, python-format + msgid "Group id '%s' is not installed." +-msgstr "模块或者组 '%s' 未安装。" ++msgstr "组 id '%s' 没有安装。" + +-#: dnf/transaction_sr.py:398 +-#, fuzzy, python-format +-#| msgid "Environment '%s' is not available." ++#: dnf/transaction_sr.py:432 ++#, python-format + msgid "Environment id '%s' is not available." +-msgstr "环境 '%s' 不可用。" ++msgstr "环境 id '%s' 不可用。" + +-#: dnf/transaction_sr.py:422 ++#: dnf/transaction_sr.py:456 + #, python-brace-format + msgid "" + "Invalid value \"{group_type}\" of environments.groups.group_type, only " + "\"mandatory\" or \"optional\" is supported." + msgstr "" ++"environments.groups.group_type 无效的值 \"{group_type}\",只支持 \"mandatory\" 或 " ++"\"optional\"。" + +-#: dnf/transaction_sr.py:430 ++#: dnf/transaction_sr.py:464 + #, python-brace-format + msgid "Missing object key \"{key}\" in environments.groups." +-msgstr "" ++msgstr "在 environment.groups 中缺少对象键 \"{key}\"。" + +-#: dnf/transaction_sr.py:508 ++#: dnf/transaction_sr.py:542 + #, python-brace-format + msgid "Unexpected value of group action \"{action}\" for group \"{group}\"." +-msgstr "" ++msgstr "组 \"{action}\" 的组操作 \"{group}\" 的值无效。" + +-#: dnf/transaction_sr.py:513 ++#: dnf/transaction_sr.py:547 + #, python-brace-format + msgid "Missing object key \"{key}\" in a group." +-msgstr "" ++msgstr "在一个组中缺少对象键 \"{key}\"。" + +-#: dnf/transaction_sr.py:537 ++#: dnf/transaction_sr.py:571 + #, python-brace-format + msgid "Unexpected value of environment action \"{action}\" for environment \"{env}\"." +-msgstr "" ++msgstr "环境 \"{env}\" 的环境操作 \"{action}\" 的值无效。" + +-#: dnf/transaction_sr.py:542 ++#: dnf/transaction_sr.py:576 + #, python-brace-format + msgid "Missing object key \"{key}\" in an environment." +-msgstr "" ++msgstr "在环境中缺少对象键 \"{key}\"。" + +-#: dnf/transaction_sr.py:581 ++#: dnf/transaction_sr.py:615 + #, python-brace-format + msgid "" + "Package nevra \"{nevra}\", which is not present in the transaction file, was" + " pulled into the transaction." +-msgstr "" ++msgstr "软件包 nevra \"{nevra}\" 没有包括在事务文件中,但它被拉取到事务中。" + +-#: dnf/util.py:391 dnf/util.py:393 ++#: dnf/util.py:393 dnf/util.py:395 + msgid "Problem" + msgstr "问题" + +-#: dnf/util.py:444 ++#: dnf/util.py:446 + msgid "TransactionItem not found for key: {}" + msgstr "找不到键的 TransactionItem: {}" + +-#: dnf/util.py:454 ++#: dnf/util.py:456 + msgid "TransactionSWDBItem not found for key: {}" + msgstr "找不到键的 TransactionSWDBItem: {}" + +-#: dnf/util.py:457 ++#: dnf/util.py:459 + msgid "Errors occurred during transaction." + msgstr "事务过程中出现错误。" + ++#: dnf/util.py:595 ++msgid "Reinstalled" ++msgstr "已重装" ++ ++#: dnf/util.py:596 ++msgid "Skipped" ++msgstr "已跳过" ++ ++#: dnf/util.py:597 ++msgid "Removed" ++msgstr "已移除" ++ ++#: dnf/util.py:600 ++msgid "Failed" ++msgstr "失败" ++ ++#~ msgid "Action not handled: {}" ++#~ msgstr "操作没被处理:{}" ++ ++#~ msgid "no package matched" ++#~ msgstr "没有能够与之匹配的软件包" ++ ++#~ msgid "Not found given transaction ID" ++#~ msgstr "未找到指定事务 ID" ++ ++#~ msgid "Undoing transaction {}, from {}" ++#~ msgstr "撤销事务 {},从 {}" ++ + #~ msgid "format for displaying found packages" + #~ msgstr "用于显示已查找到软件包的格式" + +-- +2.29.2 + diff --git a/SPECS/dnf.spec b/SPECS/dnf.spec index 137e6ff..24d28b1 100644 --- a/SPECS/dnf.spec +++ b/SPECS/dnf.spec @@ -82,7 +82,7 @@ It supports RPMs, modules and comps groups & environments. Name: dnf Version: 4.4.2 -Release: 10%{?dist} +Release: 11%{?dist} Summary: %{pkg_summary} # For a breakdown of the licensing, see PACKAGE-LICENSING License: GPLv2+ and GPLv2 and GPL @@ -127,6 +127,7 @@ Patch16: 0016-Run-tests-for-fill-sack-from-repos-in-cache-in-installroot. Patch17: 0017-Set-persistdir-for-fill-sack-from-repos-in-cache-tests-RhBug-1865803.patch # https://github.com/rpm-software-management/dnf/pull/1725 Patch18: 0018-Allow-stream-switching-if-option-enabled.patch +Patch19: 0019-Update-translations.patch BuildArch: noarch BuildRequires: cmake @@ -547,6 +548,9 @@ ln -sr %{buildroot}%{confdir}/vars %{buildroot}%{_sysconfdir}/yum/vars %endif %changelog +* Mon Mar 8 2021 Marek Blaha - 4.4.2-11 +- Update translations + * Thu Feb 11 2021 Nicola Sella - 4.4.2-10 - Allow stream switching if option enabled