diff --git a/SOURCES/0043-Update-translations.patch b/SOURCES/0043-Update-translations.patch new file mode 100644 index 0000000..fbaa36e --- /dev/null +++ b/SOURCES/0043-Update-translations.patch @@ -0,0 +1,6115 @@ +From f589ca81e55711e6824b8d4b043c5b48b304585a Mon Sep 17 00:00:00 2001 +From: Marek Blaha +Date: Wed, 8 Mar 2023 10:41:40 +0100 +Subject: [PATCH] Update translations + +--- + po/fr.po | 596 +++++++++++++++++++++++++----------- + po/ja.po | 645 ++++++++++++++++++++++++++++----------- + po/ko.po | 828 ++++++++++++++++++++++++++++++++------------------ + po/libdnf.pot | 504 +++++++++++++++++++++--------- + po/zh_CN.po | 752 +++++++++++++++++++++++++++++---------------- + 5 files changed, 2284 insertions(+), 1041 deletions(-) + +diff --git a/po/fr.po b/po/fr.po +index 055cdaff..c1aa4199 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -2,23 +2,27 @@ + # José Fournier , 2016. #zanata + # José Fournier , 2017. #zanata + # Jérôme Fenal , 2017. #zanata +-# Ludek Janda , 2018. #zanata ++# Ludek Janda , 2018. #zanata, 2021, 2022. + # Jean-Baptiste Holcroft , 2019. #zanata + # Julien Humbert , 2020. ++# Sundeep Anand , 2021. ++# Titouan Bénard , 2021. ++# blutch112 , 2022. + 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-06-29 02:40+0000\n" +-"Last-Translator: Julien Humbert \n" +-"Language-Team: French \n" ++"POT-Creation-Date: 2023-02-28 09:11+0100\n" ++"PO-Revision-Date: 2022-11-06 17:19+0000\n" ++"Last-Translator: blutch112 \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.1.1\n" ++"X-Generator: Weblate 4.14.2\n" + + #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40 + msgid "no value specified" +@@ -39,17 +43,34 @@ msgstr "n’a pu convertir « %s » en octets" + msgid "unknown unit '%s'" + msgstr "unité « %s » inconnue" + +-#: libdnf/conf/ConfigMain.cpp:332 ++#: libdnf/conf/ConfigMain.cpp:204 libdnf/conf/OptionEnum.cpp:83 ++#: libdnf/conf/OptionNumber.cpp:88 ++msgid "invalid value" ++msgstr "valeur non valide" ++ ++#: libdnf/conf/ConfigMain.cpp:207 ++msgid "value 1 is not allowed" ++msgstr "la valeur 1 n’est pas autorisée" ++ ++#: libdnf/conf/ConfigMain.cpp:209 ++msgid "negative value is not allowed" ++msgstr "la valeur négative n'est pas autorisée" ++ ++#: libdnf/conf/ConfigMain.cpp:341 + #, c-format + msgid "percentage '%s' is out of range" + msgstr "le pourcentage « %s » est en dehors des limites" + +-#: libdnf/conf/OptionBinds.cpp:76 ++#: libdnf/conf/ConfigRepo.cpp:182 ++msgid "only the value 'priority' is supported." ++msgstr "seule la valeur 'priority' est prise en charge." ++ ++#: libdnf/conf/OptionBinds.cpp:85 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" does not exist" + msgstr "Configuration : OptionBinding ayant pour id « %s » n’existe pas" + +-#: libdnf/conf/OptionBinds.cpp:88 ++#: libdnf/conf/OptionBinds.cpp:97 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" already exists" + msgstr "Configuration : OptionBinding ayant pour « %s » n’existe pas" +@@ -60,15 +81,11 @@ msgid "invalid boolean value '%s'" + msgstr "valeur booléenne invalide : « %s »" + + #: libdnf/conf/OptionEnum.cpp:72 libdnf/conf/OptionEnum.cpp:158 +-#: libdnf/conf/OptionString.cpp:59 libdnf/conf/OptionStringList.cpp:59 ++#: libdnf/conf/OptionString.cpp:64 libdnf/conf/OptionStringList.cpp:59 + #, c-format + msgid "'%s' is not an allowed value" + msgstr "la valeur « %s » n’est pas autorisée" + +-#: libdnf/conf/OptionEnum.cpp:83 libdnf/conf/OptionNumber.cpp:88 +-msgid "invalid value" +-msgstr "valeur non valide" +- + #: libdnf/conf/OptionNumber.cpp:73 + #, c-format + msgid "given value [%d] should be less than allowed value [%d]." +@@ -94,27 +111,141 @@ msgstr "le chemin fourni « %s » n’existe pas." + msgid "could not convert '%s' to seconds" + msgstr "n’a pu convertir « %s » en secondes" + +-#: libdnf/conf/OptionString.cpp:74 ++#: libdnf/conf/OptionString.cpp:79 + msgid "GetValue(): Value not set" + msgstr "GetValue() : valeur non définie" + +-#: libdnf/dnf-goal.cpp:68 ++#: libdnf/dnf-context.cpp:3176 libdnf/dnf-context.cpp:3185 ++#, c-format ++msgid "Cannot enable more streams from module '%s' at the same time" ++msgstr "Ne peut pas activer plus de flux du module '%s' en même temps" ++ ++#: libdnf/dnf-context.cpp:3194 libdnf/dnf-context.cpp:3212 ++#, c-format ++msgid "" ++"Cannot enable module '%1$s' stream '%2$s': State of module already modified" ++msgstr "" ++"Impossible d'activer le flux de module '%1$s' stream '%2$s' : état du module " ++"déjà modifié" ++ ++#: libdnf/dnf-context.cpp:3259 ++#, c-format ++msgid "Modular dependency problem with Defaults: %s" ++msgstr "Problème de dépendance modulaire avec les valeurs par défaut : %s" ++ ++#: libdnf/dnf-context.cpp:3262 ++#, c-format ++msgid "Modular dependency problem: %s" ++msgstr "Problème de dépendance modulaire : %s" ++ ++#: libdnf/dnf-context.cpp:3296 libdnf/dnf-context.cpp:3320 ++#: libdnf/dnf-context.cpp:3331 libdnf/dnf-context.cpp:3370 ++#: libdnf/dnf-context.cpp:3386 libdnf/dnf-context.cpp:3418 ++#: libdnf/dnf-context.cpp:3462 libdnf/dnf-context.cpp:3472 ++#, c-format ++msgid "Unable to resolve argument '%s'" ++msgstr "Impossible de résoudre le paramètre ’%s’" ++ ++#: libdnf/dnf-context.cpp:3303 ++#, c-format ++msgid "" ++"Only module name is required. Ignoring unneeded information in argument: '%s'" ++msgstr "" ++"Seul le nom du module est nécessaire. Les paramètres inutiles ont été " ++"ignorés : ’%s’" ++ ++#: libdnf/dnf-context.cpp:3317 ++#, c-format ++msgid "Cannot reset module '%s': State of module already modified" ++msgstr "" ++"Impossible de réinitialiser le module '%s' : État du module déjà modifié" ++ ++#: libdnf/dnf-context.cpp:3328 ++#, c-format ++msgid "Cannot disable module '%s': State of module already modified" ++msgstr "Impossible de désactiver le module '%s' : État du module déjà modifié" ++ ++#: libdnf/dnf-context.cpp:3359 libdnf/dnf-context.cpp:3451 ++#: libdnf/dnf-context.cpp:3564 ++msgid "No modular data available" ++msgstr "Aucune donnée modulaire disponible" ++ ++#: libdnf/dnf-context.cpp:3376 ++#, c-format ++msgid "Ignoring unneeded information in argument: '%s'" ++msgstr "Ignorer les informations inutiles dans l'argumentation : '%s'" ++ ++#: libdnf/dnf-context.cpp:3414 ++#, c-format ++msgid "" ++"Problem during enablement of dependency tree for module '%1$s' stream " ++"'%2$s': %3$s" ++msgstr "" ++"Problème lors de l'activation de l'arbre des dépendances pour le module " ++"'%1$s' flux '%2$s' : %3$s" ++ ++#: libdnf/dnf-context.cpp:3426 ++msgid "Problems appeared for module enable request" ++msgstr "Des problèmes sont apparus pour la demande d'activation du module" ++ ++#. this really should never happen; unless the modular repodata is corrupted ++#: libdnf/dnf-context.cpp:3501 ++#, c-format ++msgid "Failed to parse module artifact NEVRA '%s'" ++msgstr "Échec de l'analyse de l'artefact de module '%s'" ++ ++#: libdnf/dnf-context.cpp:3535 ++msgid "Problems appeared for module install request" ++msgstr "Des problèmes sont apparus pour la demande d'installation du module" ++ ++#: libdnf/dnf-context.cpp:3595 ++msgid "Problems appeared for module reset request" ++msgstr "" ++"Des problèmes sont apparus pour la demande de réinitialisation des modules" ++ ++#: libdnf/dnf-context.cpp:3597 ++msgid "Problems appeared for module disable request" ++msgstr "Des problèmes sont apparus pour la demande de désactivation du module" ++ ++#: libdnf/dnf-context.cpp:3633 ++#, c-format ++msgid "" ++"The operation would result in switching of module '%s' stream '%s' to stream " ++"'%s'" ++msgstr "" ++"Le résultat de l’opération sera le basculement du flux « %s » du module « %s " ++"» vers le flux « %s »" ++ ++#: libdnf/dnf-context.cpp:3637 ++msgid "" ++"It is not possible to switch enabled streams of a module.\n" ++"It is recommended to remove all installed content from the module, and reset " ++"the module using 'microdnf module reset ' command. After you " ++"reset the module, you can install the other stream." ++msgstr "" ++"Il n’est pas possible de basculer les flux actifs d’un module. \n" ++"Il est recommandé de retirer tout contenu installé par le module, et de " ++"réinitialiser le mode en utilisant la commande 'microdnf module reset " ++"’. Après la réinitialisation du module, vous pouvez installer " ++"les autres flux." ++ ++#: libdnf/dnf-goal.cpp:85 + msgid "Could not depsolve transaction; " + msgstr "Impossible de depsolve la transaction ; " + +-#: libdnf/dnf-goal.cpp:70 ++#: libdnf/dnf-goal.cpp:87 + #, c-format + msgid "%i problem detected:\n" + msgid_plural "%i problems detected:\n" + msgstr[0] "%i problème détecté :\n" + msgstr[1] "%i problèmes détectés :\n" + +-#: libdnf/dnf-goal.cpp:78 ++#: libdnf/dnf-goal.cpp:95 + #, c-format + msgid " Problem %1$i: %2$s\n" + msgstr " Problème %1$i : %2$s\n" + +-#: libdnf/dnf-goal.cpp:80 ++#: libdnf/dnf-goal.cpp:97 + #, c-format + msgid " Problem: %s\n" + msgstr " Problème : %s\n" +@@ -181,84 +312,129 @@ msgstr "n’a pas pu trouver le package %s" + msgid "could not add erase element %1$s(%2$i)" + msgstr "n’a pas pu ajouter d’élément pour effacer %1$s(%2$i)" + +-#: libdnf/dnf-sack.cpp:381 ++#: libdnf/dnf-sack.cpp:252 ++msgid "repo_add_solv() has failed." ++msgstr "repo_add_solv() a échoué." ++ ++#: libdnf/dnf-sack.cpp:416 ++#, c-format ++msgid "Loading extension cache %s (%d) failed: " ++msgstr "Le chargement du cache d'extension %s (%d) a échoué : " ++ ++#: libdnf/dnf-sack.cpp:430 + #, c-format + msgid "no %1$s string for %2$s" + msgstr "aucune chaine %1$s pour %2$s" + +-#: libdnf/dnf-sack.cpp:404 +-msgid "failed to add solv" +-msgstr "n’a pu ajouter solv" +- +-#: libdnf/dnf-sack.cpp:422 ++#: libdnf/dnf-sack.cpp:440 + #, c-format + msgid "failed to open: %s" + msgstr "n’a pas pu ouvrir : %s" + +-#: libdnf/dnf-sack.cpp:501 ++#: libdnf/dnf-sack.cpp:519 + #, c-format + msgid "cannot create temporary file: %s" + msgstr "n’a pas pu créer le fichier temporaire : %s" + +-#: libdnf/dnf-sack.cpp:511 ++#: libdnf/dnf-sack.cpp:529 + #, c-format + msgid "failed opening tmp file: %s" + msgstr "n’a pas pu ouvrir le fichier tmp : %s" + +-#: libdnf/dnf-sack.cpp:523 ++#: libdnf/dnf-sack.cpp:551 ++#, c-format ++msgid "While writing primary cache %s repowriter write failed: %i, error: %s" ++msgstr "" ++"Lors de l'écriture dans le cache primaire %s, l'écriture dans le repowriter " ++"a échoué : %i, erreur : %s" ++ ++#: libdnf/dnf-sack.cpp:561 ++#, c-format ++msgid "Failed closing tmp file %s: %s" ++msgstr "Échec de la fermeture du fichier tmp %s : %s" ++ ++#: libdnf/dnf-sack.cpp:571 + #, c-format +-msgid "write_main() failed writing data: %i" +-msgstr "write_main() n’a pu écrire les données : %i" ++msgid "Failed to use newly written primary cache: %s: " ++msgstr "Échec de l'utilisation du cache primaire nouvellement écrit : %s : " + +-#: libdnf/dnf-sack.cpp:540 +-msgid "write_main() failed to re-load written solv file" +-msgstr "write_main() n’a pas pu charger à nouveau le fichier solv" ++#: libdnf/dnf-sack.cpp:577 ++#, c-format ++msgid "Failed to use newly written primary cache: %s" ++msgstr "Échec de l'utilisation du cache primaire nouvellement écrit : %s" + +-#: libdnf/dnf-sack.cpp:605 ++#: libdnf/dnf-sack.cpp:627 + #, c-format + msgid "can not create temporary file %s" + msgstr "n’a pas pu créer le fichier temporaire %s" + +-#: libdnf/dnf-sack.cpp:623 ++#: libdnf/dnf-sack.cpp:667 ++#, c-format ++msgid "" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" ++msgstr "" ++"Lors de l'écriture du cache d'extension %s (%d) : écriture repowriter ayant " ++"échoué : %i, erreur : %s" ++ ++#: libdnf/dnf-sack.cpp:677 + #, c-format +-msgid "write_ext(%1$d) has failed: %2$d" +-msgstr "write_ext(%1$d) a échoué : %2$d" ++msgid "While writing extension cache (%d): cannot close temporary file: %s" ++msgstr "" ++"Lors de l'écriture du cache d'extension (%d) : impossible de fermer le " ++"fichier temporaire : %s" + +-#: libdnf/dnf-sack.cpp:678 ++#: libdnf/dnf-sack.cpp:693 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d): " ++msgstr "Impossible d'utiliser le nouveau cache d'extension écrit : %s (%d) : " ++ ++#: libdnf/dnf-sack.cpp:700 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d)" ++msgstr "Impossible d'utiliser le nouveau cache d'extension écrit : %s (%d)" ++ ++#: libdnf/dnf-sack.cpp:741 + msgid "null repo md file" +-msgstr "null repo md file" ++msgstr "fichier md de dépôt nul" + +-#: libdnf/dnf-sack.cpp:687 ++#: libdnf/dnf-sack.cpp:750 + #, c-format + msgid "can not read file %1$s: %2$s" + msgstr "n’a pu lire le fichier %1$s : %2$s" + +-#: libdnf/dnf-sack.cpp:701 +-msgid "repo_add_solv() has failed." +-msgstr "repo_add_solv() a échoué." ++#: libdnf/dnf-sack.cpp:765 ++#, c-format ++msgid "While loading repository failed to use %s: " ++msgstr "Lors du chargement du référentiel, l'utilisation de %s a échoué : " + +-#: libdnf/dnf-sack.cpp:714 ++#: libdnf/dnf-sack.cpp:776 + msgid "loading of MD_TYPE_PRIMARY has failed." + msgstr "échec du chargement du MD_TYPE_PRIMARY." + +-#: libdnf/dnf-sack.cpp:727 +-msgid "repo_add_repomdxml/rpmmd() has failed." +-msgstr "repo_add_repomdxml/rpmmd() a échoué." ++#: libdnf/dnf-sack.cpp:788 ++#, c-format ++msgid "Loading repomd has failed: %s" ++msgstr "Le chargement de repomd a échoué : %s" ++ ++#: libdnf/dnf-sack.cpp:799 ++#, c-format ++msgid "Loading primary has failed: %s" ++msgstr "Le chargement du primaire a échoué : %s" + +-#: libdnf/dnf-sack.cpp:794 ++#: libdnf/dnf-sack.cpp:865 + msgid "failed to auto-detect architecture" + msgstr "n’a pu auto-détecter l’architecture" + +-#: libdnf/dnf-sack.cpp:919 ++#: libdnf/dnf-sack.cpp:1030 + #, c-format + msgid "failed creating cachedir %s" + msgstr "n’a pu créer le cachedir %s" + +-#: libdnf/dnf-sack.cpp:1696 ++#: libdnf/dnf-sack.cpp:1807 + msgid "failed loading RPMDB" + msgstr "n’a pu télécharger RPMDB" + +-#: libdnf/dnf-sack.cpp:2403 ++#: libdnf/dnf-sack.cpp:2532 + #, c-format + msgid "No module defaults found: %s" + msgstr "Aucun module par défaut n’a été trouvé : %s" +@@ -331,31 +507,30 @@ msgstr "N’a pas pu obtenir la taille libre du système de fichiers pour %s" + #, c-format + msgid "Not enough free space in %1$s: needed %2$s, available %3$s" + msgstr "" +-"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible " +-"%3$s" ++"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible %3$s" + +-#: libdnf/dnf-transaction.cpp:1196 ++#: libdnf/dnf-transaction.cpp:1195 + msgid "failed to set root" + msgstr "n’a pu réussi à définir root" + +-#: libdnf/dnf-transaction.cpp:1418 ++#: libdnf/dnf-transaction.cpp:1416 + #, c-format + msgid "Error %i running transaction test" + msgstr "Erreur %i lors du test transactionnel" + +-#: libdnf/dnf-transaction.cpp:1458 ++#: libdnf/dnf-transaction.cpp:1456 + #, c-format + msgid "Error %i running transaction" + msgstr "Erreur %i pendant la transaction" + +-#: libdnf/dnf-transaction.cpp:1473 ++#: libdnf/dnf-transaction.cpp:1472 + #, c-format + msgid "Transaction did not go to writing phase, but returned no error(%i)" + msgstr "" + "La transaction n’a pas pu opérer en phase d’écriture, mais a renvoyé « no " + "error(%i) »" + +-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:399 ++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485 + #, c-format + msgid "cannot open directory %1$s: %2$s" + msgstr "impossible d’ouvrir le dossier %1$s : %2$s" +@@ -365,283 +540,298 @@ msgstr "impossible d’ouvrir le dossier %1$s : %2$s" + msgid "failed to remove %s" + msgstr "n’a pas pu supprimer %s" + +-#: libdnf/goal/Goal.cpp:55 ++#: libdnf/goal/Goal.cpp:74 + msgid "Ill-formed Selector, presence of multiple match objects in the filter" + msgstr "" + "Sélecteur Ill-formed, présence de plusieurs objets correspondants dans le " + "filtre" + +-#: libdnf/goal/Goal.cpp:56 ++#: libdnf/goal/Goal.cpp:75 + msgid "Ill-formed Selector used for the operation, incorrect comparison type" + msgstr "" +-"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison " +-"incorrecte" ++"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison incorrecte" + +-#: libdnf/goal/Goal.cpp:67 libdnf/goal/Goal.cpp:94 ++#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 + msgid " does not belong to a distupgrade repository" + msgstr " n’appartient pas à un dépôt distupgrade" + +-#: libdnf/goal/Goal.cpp:68 libdnf/goal/Goal.cpp:95 ++#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 + msgid " has inferior architecture" + msgstr " a une architecture inférieure" + +-#: libdnf/goal/Goal.cpp:69 ++#: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " + msgstr "problème avec le paquet installé " + +-#: libdnf/goal/Goal.cpp:70 libdnf/goal/Goal.cpp:97 ++#: libdnf/goal/Goal.cpp:89 libdnf/goal/Goal.cpp:116 + msgid "conflicting requests" + msgstr "requêtes conflictuelles" + +-#: libdnf/goal/Goal.cpp:71 libdnf/goal/Goal.cpp:98 ++#: libdnf/goal/Goal.cpp:90 libdnf/goal/Goal.cpp:117 + msgid "unsupported request" + msgstr "requête non prise en charge" + +-#: libdnf/goal/Goal.cpp:72 libdnf/goal/Goal.cpp:99 ++#: libdnf/goal/Goal.cpp:91 libdnf/goal/Goal.cpp:118 + msgid "nothing provides requested " + msgstr "rien ne fourni ce qui a été demandé " + +-#: libdnf/goal/Goal.cpp:73 ++#: libdnf/goal/Goal.cpp:92 + #, c-format + msgid "package %s does not exist" + msgstr "le paquet %s n’existe pas" + +-#: libdnf/goal/Goal.cpp:74 libdnf/goal/Goal.cpp:101 ++#: libdnf/goal/Goal.cpp:93 libdnf/goal/Goal.cpp:120 + msgid " is provided by the system" + msgstr " est fourni par le système" + +-#: libdnf/goal/Goal.cpp:75 libdnf/goal/Goal.cpp:102 ++#: libdnf/goal/Goal.cpp:94 libdnf/goal/Goal.cpp:121 + msgid "some dependency problem" + msgstr "quelques problèmes de dépendances" + +-#: libdnf/goal/Goal.cpp:76 ++#: libdnf/goal/Goal.cpp:95 + msgid "cannot install the best update candidate for package " + msgstr "installation impossible du meilleur candidat pour le paquet " + +-#: libdnf/goal/Goal.cpp:77 libdnf/goal/Goal.cpp:104 ++#: libdnf/goal/Goal.cpp:96 libdnf/goal/Goal.cpp:123 + msgid "cannot install the best candidate for the job" + msgstr "installation impossible du meilleur candidat pour la tâche" + +-#: libdnf/goal/Goal.cpp:78 ++#: libdnf/goal/Goal.cpp:97 + #, c-format + msgid "package %s is filtered out by modular filtering" + msgstr "le paquet %s a été filtré par filtrage modulaire" + +-#: libdnf/goal/Goal.cpp:79 ++#: libdnf/goal/Goal.cpp:98 + #, c-format + msgid "package %s does not have a compatible architecture" + msgstr "le paquet %s n’a pas d’architecture compatible" + +-#: libdnf/goal/Goal.cpp:80 ++#: libdnf/goal/Goal.cpp:99 + #, c-format + msgid "package %s is not installable" + msgstr "le paquet %s n’est pas installable" + +-#: libdnf/goal/Goal.cpp:81 ++#: libdnf/goal/Goal.cpp:100 + #, c-format + msgid "package %s is filtered out by exclude filtering" + msgstr "le paquet %s a été filtré en excluant le filtrage" + +-#: libdnf/goal/Goal.cpp:82 ++#: libdnf/goal/Goal.cpp:101 + #, c-format + msgid "nothing provides %s needed by %s" + msgstr "rien de fournit %s rendu nécessaire par %s" + +-#: libdnf/goal/Goal.cpp:83 ++#: libdnf/goal/Goal.cpp:102 + #, c-format + msgid "cannot install both %s and %s" + msgstr "installation impossible à la fois de %s et %s" + +-#: libdnf/goal/Goal.cpp:84 ++#: libdnf/goal/Goal.cpp:103 + #, c-format + msgid "package %s conflicts with %s provided by %s" + msgstr "le paquet %s est en conflit avec %s fourni par %s" + +-#: libdnf/goal/Goal.cpp:85 ++#: libdnf/goal/Goal.cpp:104 + #, c-format + msgid "package %s obsoletes %s provided by %s" + msgstr "le paquet %s rend obsolète %s fourni par %s" + +-#: libdnf/goal/Goal.cpp:86 ++#: libdnf/goal/Goal.cpp:105 + #, c-format + msgid "installed package %s obsoletes %s provided by %s" + msgstr "le paquet installé %s rend obsolète %s fourni par %s" + +-#: libdnf/goal/Goal.cpp:87 ++#: libdnf/goal/Goal.cpp:106 + #, c-format + msgid "package %s implicitly obsoletes %s provided by %s" + msgstr "le paquet %s rend implicitement obsolète %s fourni par %s" + +-#: libdnf/goal/Goal.cpp:88 ++#: libdnf/goal/Goal.cpp:107 + #, c-format + msgid "package %s requires %s, but none of the providers can be installed" + msgstr "" + "le paquet %s nécessite %s, mais aucun fournisseur ne peut être installé" + +-#: libdnf/goal/Goal.cpp:89 ++#: libdnf/goal/Goal.cpp:108 + #, c-format + msgid "package %s conflicts with %s provided by itself" + msgstr "le paquet %s est en conflit avec %s fourni par lui-même" + +-#: libdnf/goal/Goal.cpp:90 ++#: libdnf/goal/Goal.cpp:109 + #, c-format + msgid "both package %s and %s obsolete %s" + msgstr "à la fois le paquet %s et %s rendent obsolète %s" + +-#: libdnf/goal/Goal.cpp:96 ++#: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " + msgstr "problème avec le module installé " + +-#: libdnf/goal/Goal.cpp:100 ++#: libdnf/goal/Goal.cpp:119 + #, c-format + msgid "module %s does not exist" + msgstr "le module %s n’existe pas" + +-#: libdnf/goal/Goal.cpp:103 ++#: libdnf/goal/Goal.cpp:122 + msgid "cannot install the best update candidate for module " + msgstr "" + "installation impossible du meilleur candidat de mise à jour pour le module " + +-#: libdnf/goal/Goal.cpp:105 libdnf/goal/Goal.cpp:108 ++#: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format + msgid "module %s is disabled" + msgstr "le module %s est désactivé" + +-#: libdnf/goal/Goal.cpp:106 ++#: libdnf/goal/Goal.cpp:125 + #, c-format + msgid "module %s does not have a compatible architecture" + msgstr "le module %s n’a pas d’architecture compatible" + +-#: libdnf/goal/Goal.cpp:107 ++#: libdnf/goal/Goal.cpp:126 + #, c-format + msgid "module %s is not installable" + msgstr "le module %s n’est pas installable" + +-#: libdnf/goal/Goal.cpp:109 ++#: libdnf/goal/Goal.cpp:128 + #, c-format + msgid "nothing provides %s needed by module %s" + msgstr "rien de fournit %s rendu nécessaire par le module %s" + +-#: libdnf/goal/Goal.cpp:110 ++#: libdnf/goal/Goal.cpp:129 + #, c-format + msgid "cannot install both modules %s and %s" + msgstr "installation impossible à la fois des modules %s et %s" + +-#: libdnf/goal/Goal.cpp:111 ++#: libdnf/goal/Goal.cpp:130 + #, c-format + msgid "module %s conflicts with %s provided by %s" + msgstr "le module %s est en conflit avec %s fourni par %s" + +-#: libdnf/goal/Goal.cpp:112 ++#: libdnf/goal/Goal.cpp:131 + #, c-format + msgid "module %s obsoletes %s provided by %s" + msgstr "le module %s rend obsolète %s fourni par %s" + +-#: libdnf/goal/Goal.cpp:113 ++#: libdnf/goal/Goal.cpp:132 + #, c-format + msgid "installed module %s obsoletes %s provided by %s" + msgstr "le module installé %s rend obsolète %s fourni par %s" + +-#: libdnf/goal/Goal.cpp:114 ++#: libdnf/goal/Goal.cpp:133 + #, c-format + msgid "module %s implicitly obsoletes %s provided by %s" + msgstr "le module %s rend implicitement obsolète %s fourni par %s" + +-#: libdnf/goal/Goal.cpp:115 ++#: libdnf/goal/Goal.cpp:134 + #, c-format + msgid "module %s requires %s, but none of the providers can be installed" + msgstr "" + "le module %s nécessite %s, mais aucun fournisseur ne peut être installé" + +-#: libdnf/goal/Goal.cpp:116 ++#: libdnf/goal/Goal.cpp:135 + #, c-format + msgid "module %s conflicts with %s provided by itself" + msgstr "le module %s est en conflit avec %s fourni par lui-même" + +-#: libdnf/goal/Goal.cpp:117 ++#: libdnf/goal/Goal.cpp:136 + #, c-format + msgid "both module %s and %s obsolete %s" + msgstr "à la fois le module %s et %s rendent obsolète %s" + +-#: libdnf/goal/Goal.cpp:1038 ++#: libdnf/goal/Goal.cpp:1051 + msgid "no solver set" + msgstr "aucun solveur défini" + +-#: libdnf/goal/Goal.cpp:1043 ++#: libdnf/goal/Goal.cpp:1056 + #, c-format + msgid "failed to make %s absolute" + msgstr "n’a pas pu rendre %s absolu" + +-#: libdnf/goal/Goal.cpp:1050 ++#: libdnf/goal/Goal.cpp:1063 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" + msgstr "échec de l’écriture des debugdata dans %1$s : %2$s" + +-#: libdnf/goal/Goal.cpp:1062 ++#: libdnf/goal/Goal.cpp:1075 + msgid "no solv in the goal" + msgstr "pas de solv dans l’objectif" + +-#: libdnf/goal/Goal.cpp:1064 ++#: libdnf/goal/Goal.cpp:1077 + msgid "no solution, cannot remove protected package" + msgstr "aucune solution, n’a pas pu supprimer le package protégé" + +-#: libdnf/goal/Goal.cpp:1067 ++#: libdnf/goal/Goal.cpp:1080 + msgid "no solution possible" + msgstr "aucune solution n’est possible" + +-#: libdnf/goal/Goal.cpp:1479 ++#: libdnf/goal/Goal.cpp:1206 ++msgid "Problem: " ++msgstr "Problème : " ++ ++#: libdnf/goal/Goal.cpp:1211 ++#, c-format ++msgid "Problem %d: " ++msgstr "Probléme %d : " ++ ++#: libdnf/goal/Goal.cpp:1538 + msgid "" + "The operation would result in removing the following protected packages: " + msgstr "" + "L’opération résulterait en la suppression des packages protégés suivants : " + +-#: libdnf/hy-iutil.cpp:322 ++#: libdnf/hy-iutil.cpp:181 ++#, c-format ++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu" ++msgstr "" ++"La solv_toolversion de Libsolv est : %zu long mais nous attendons un maximum " ++"de : %zu" ++ ++#: libdnf/hy-iutil.cpp:408 + #, c-format + msgid "Failed renaming %1$s to %2$s: %3$s" + msgstr "N’a pas pu renommer %1$s en %2$s : %3$s" + +-#: libdnf/hy-iutil.cpp:330 ++#: libdnf/hy-iutil.cpp:416 + #, c-format + msgid "Failed setting perms on %1$s: %2$s" + msgstr "N’a pas pu définir les permissions sur %1$s : %2$s" + +-#: libdnf/hy-iutil.cpp:376 ++#: libdnf/hy-iutil.cpp:462 + #, c-format + msgid "cannot create directory %1$s: %2$s" + msgstr "impossible de créer le dossier %1$s : %2$s" + +-#: libdnf/hy-iutil.cpp:411 ++#: libdnf/hy-iutil.cpp:497 + #, c-format + msgid "cannot stat path %1$s: %2$s" + msgstr "impossible de stat le chemin %1$s : %2$s" + +-#: libdnf/module/ModulePackage.cpp:499 ++#: libdnf/module/ModulePackage.cpp:560 + #, c-format + msgid "Invalid format of Platform module: %s" + msgstr "Format invalide du module de plateforme : %s" + +-#: libdnf/module/ModulePackage.cpp:514 ++#: libdnf/module/ModulePackage.cpp:575 + msgid "Multiple module platforms provided by available packages\n" + msgstr "" + "De multiples modules de plateformes sont fournis par les paquets " + "disponibles\n" + +-#: libdnf/module/ModulePackage.cpp:527 ++#: libdnf/module/ModulePackage.cpp:588 + msgid "Multiple module platforms provided by installed packages\n" + msgstr "" + "De multiples modules de plateformes sont fournis par les paquets installés\n" + +-#: libdnf/module/ModulePackage.cpp:554 ++#: libdnf/module/ModulePackage.cpp:615 + #, c-format + msgid "Detection of Platform Module in %s failed: %s" + msgstr "La détection des modules de plateformes dans %s a échoué : %s" + +-#: libdnf/module/ModulePackage.cpp:563 ++#: libdnf/module/ModulePackage.cpp:624 + #, c-format + msgid "Missing PLATFORM_ID in %s" + msgstr "L'identifiant de la platforme est manquant dans %s" + +-#: libdnf/module/ModulePackage.cpp:568 ++#: libdnf/module/ModulePackage.cpp:629 + msgid "No valid Platform ID detected" + msgstr "Aucun identifiant de plateforme n'a été détecté" + +@@ -650,41 +840,73 @@ msgstr "Aucun identifiant de plateforme n'a été détecté" + msgid "Cannot enable multiple streams for module '%s'" + msgstr "Impossible d’activer les flux pour le module « %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:294 ++#: libdnf/module/ModulePackageContainer.cpp:295 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" + msgstr "Valeurs par défaut en conflit avec le dépôt « %s » : %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1569 ++#: libdnf/module/ModulePackageContainer.cpp:841 ++msgid "Installing module profiles:\n" ++msgstr "Installation des profils de module :\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:856 ++msgid "Disabling module profiles:\n" ++msgstr "Désactivation des profils de module :\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:871 ++msgid "Enabling module streams:\n" ++msgstr "Activation des flux de modules :\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:885 ++msgid "Switching module streams:\n" ++msgstr "Basculement des flux de modules :\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:903 ++msgid "Disabling modules:\n" ++msgstr "Désactivation des modules :\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:914 ++msgid "Resetting modules:\n" ++msgstr "Réinitialisation des modules :\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:1638 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" + msgstr "Impossible de charger les données de sécurité à « %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:1575 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" + msgstr "" + "Impossible de charger les données de sécurité modulaires pour le module " + "« %s : %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:1639 ++#: libdnf/module/ModulePackageContainer.cpp:1702 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" + msgstr "" + "Impossible de créer le dossier « %s » pour les données de sécurité " + "modulaires : %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1661 ++#: libdnf/module/ModulePackageContainer.cpp:1718 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" + msgstr "" + "Impossible d’enregistrer les données de sécurité modulaires vers « %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:1686 ++#: libdnf/module/ModulePackageContainer.cpp:1741 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" ++msgstr "Impossible de supprimer les données de sécurité modulaires dans « %s »" ++ ++#: libdnf/module/ModulePackageContainer.cpp:1773 ++#, c-format ++msgid "" ++"Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " ++"disabled" + msgstr "" +-"Impossible de supprimer les données de sécurité modulaires dans « %s »" ++"Impossible d'appliquer les obsolètes modulaires à '%s:%s' car le module " ++"cible '%s' est désactivé" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:86 + #, c-format +@@ -712,6 +934,13 @@ msgstr "Échec de la mise à jour des paramètres par défaut : %s" + msgid "Failed to upgrade streams: %s" + msgstr "Échec de la mise à jour des flux : %s" + ++#: libdnf/module/modulemd/ModuleMetadata.cpp:212 ++#, c-format ++msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" ++msgstr "" ++"Impossible de récupérer les modules obsolètes car aucune correspondance de " ++"flux %s : %s" ++ + #: libdnf/plugin/plugin.cpp:46 + #, c-format + msgid "Can't load shared library \"%s\": %s" +@@ -755,8 +984,8 @@ msgid "" + "operator instead." + msgstr "" + "L’utilisation de l’opérateur « == » dans reldeps peut entraîner un " +-"comportement indéfini. Il est déprécié et le support sera abandonné dans les" +-" prochaines versions. Utilisez plutôt l’opérateur « = »." ++"comportement indéfini. Il est déprécié et le support sera abandonné dans les " ++"prochaines versions. Utilisez plutôt l’opérateur « = »." + + #: libdnf/repo/Repo.cpp:321 + #, c-format +@@ -769,152 +998,169 @@ msgid "Repository '%s' has unsupported type: 'type=%s', skipping." + msgstr "" + "Le dépôt « %s » n’a pas de type pris en charge : « type=%s », passer outre." + +-#: libdnf/repo/Repo.cpp:546 ++#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 ++#: libdnf/repo/Repo.cpp:1387 + #, c-format +-msgid "Cannot find a valid baseurl for repo: %s" +-msgstr "Impossible de trouver une adresse de base pour le dépôt : %s" ++msgid "repo '%s': 'basecachedir' is not set" ++msgstr "repo '%s' : 'basecachedir' n'est pas fixé" + +-#: libdnf/repo/Repo.cpp:583 libdnf/repo/Repo.cpp:1672 ++#: libdnf/repo/Repo.cpp:512 + msgid "" +-"Maximum download speed is lower than minimum. Please change configuration of" +-" minrate or throttle" ++"Maximum download speed is lower than minimum. Please change configuration of " ++"minrate or throttle" + msgstr "" + "La vitesse de téléchargement maximale est plus basse que le minimum. " + "Veuillez modifier les paramètres minrate ou throttle" + +-#: libdnf/repo/Repo.cpp:633 libdnf/repo/Repo.cpp:655 ++#: libdnf/repo/Repo.cpp:546 ++#, c-format ++msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" ++msgstr "repo '%s' : 'proxy_username' est défini mais pas 'proxy_password'" ++ ++#: libdnf/repo/Repo.cpp:548 ++msgid "'proxy_username' is set but not 'proxy_password'" ++msgstr "" ++"Le nom d'utilisateur \"proxy_username\" est défini mais pas le mot de passe " ++"\"proxy_password\"" ++ ++#: libdnf/repo/Repo.cpp:629 ++#, c-format ++msgid "Cannot find a valid baseurl for repo: %s" ++msgstr "Impossible de trouver une adresse de base pour le dépôt : %s" ++ ++#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682 + #, c-format + msgid "%s: gpgme_data_new_from_fd(): %s" + msgstr "%s : gpgme_data_new_from_fd() : %s" + +-#: libdnf/repo/Repo.cpp:641 libdnf/repo/Repo.cpp:663 ++#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690 + #, c-format + msgid "%s: gpgme_op_import(): %s" + msgstr "%s : gpgme_op_import() : %s" + +-#: libdnf/repo/Repo.cpp:686 libdnf/repo/Repo.cpp:752 libdnf/repo/Repo.cpp:880 ++#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 + #, c-format + msgid "%s: gpgme_ctx_set_engine_info(): %s" + msgstr "%s : gpgme_ctx_set_engine_info() : %s" + +-#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:777 ++#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 + #, c-format + msgid "can not list keys: %s" + msgstr "n’a pas pu lister les clés : %s" + +-#: libdnf/repo/Repo.cpp:806 ++#: libdnf/repo/Repo.cpp:833 + #, c-format + msgid "Failed to retrieve GPG key for repo '%s': %s" + msgstr "Impossible de récupérer la clé GPG pour le dépôt « %s » : %s" + +-#: libdnf/repo/Repo.cpp:859 ++#: libdnf/repo/Repo.cpp:886 + #, c-format + msgid "repo %s: 0x%s already imported" + msgstr "dépôt %s : 0x%s déjà importé" + +-#: libdnf/repo/Repo.cpp:887 ++#: libdnf/repo/Repo.cpp:914 + #, c-format + msgid "repo %s: imported key 0x%s." + msgstr "dépôt %s : clé importée 0x%s." + +-#: libdnf/repo/Repo.cpp:1131 ++#: libdnf/repo/Repo.cpp:1167 + #, c-format + msgid "reviving: repo '%s' skipped, no metalink." + msgstr "relance : dépôt « %s » ignoré, pas de méta-lien." + +-#: libdnf/repo/Repo.cpp:1150 ++#: libdnf/repo/Repo.cpp:1186 + #, c-format + msgid "reviving: repo '%s' skipped, no usable hash." + msgstr "relance : dépôt « %s » ignoré, pas de hachage utilisable." + +-#: libdnf/repo/Repo.cpp:1173 ++#: libdnf/repo/Repo.cpp:1209 + #, c-format + msgid "reviving: failed for '%s', mismatched %s sum." + msgstr "relance : échec pour « %s », la somme de %s ne correspond pas." + +-#: libdnf/repo/Repo.cpp:1179 ++#: libdnf/repo/Repo.cpp:1215 + #, c-format + msgid "reviving: '%s' can be revived - metalink checksums match." + msgstr "" + "relance : « %s » peut être relancé - la somme de contrôle du méta-lien " + "correspond." + +-#: libdnf/repo/Repo.cpp:1204 ++#: libdnf/repo/Repo.cpp:1240 + #, c-format + msgid "reviving: '%s' can be revived - repomd matches." + msgstr "relance : « %s » peut être relancé - le repomd correspond." + +-#: libdnf/repo/Repo.cpp:1206 ++#: libdnf/repo/Repo.cpp:1242 + #, c-format + msgid "reviving: failed for '%s', mismatched repomd." + msgstr "relance : échec pour « %s », le repomd ne correspond pas." + +-#: libdnf/repo/Repo.cpp:1224 ++#: libdnf/repo/Repo.cpp:1260 + #, c-format + msgid "Cannot create repo destination directory \"%s\": %s" + msgstr "Impossible de créer le répertoire de destination du dépôt « %s » : %s" + +-#: libdnf/repo/Repo.cpp:1230 ++#: libdnf/repo/Repo.cpp:1266 + #, c-format + msgid "Cannot create repo temporary directory \"%s\": %s" + msgstr "Impossible de créer le répertoire temporaire du dépôt « %s » : %s" + +-#: libdnf/repo/Repo.cpp:1244 ++#: libdnf/repo/Repo.cpp:1280 + #, c-format + msgid "Cannot create directory \"%s\": %s" + msgstr "Impossible de créer le répertoire « %s » : %s" + +-#: libdnf/repo/Repo.cpp:1267 ++#: libdnf/repo/Repo.cpp:1303 + #, c-format + msgid "Cannot rename directory \"%s\" to \"%s\": %s" + msgstr "Impossible de renommer le répertoire « %s » en « %s » : %s" + +-#: libdnf/repo/Repo.cpp:1290 ++#: libdnf/repo/Repo.cpp:1326 + #, c-format + msgid "repo: using cache for: %s" + msgstr "dépôt : utilisation du cache pour : %s" + +-#: libdnf/repo/Repo.cpp:1302 ++#: libdnf/repo/Repo.cpp:1338 + #, c-format + msgid "Cache-only enabled but no cache for '%s'" + msgstr "« cache uniquement » activé, mais pas de cache pour « %s »" + +-#: libdnf/repo/Repo.cpp:1306 ++#: libdnf/repo/Repo.cpp:1342 + #, c-format + msgid "repo: downloading from remote: %s" + msgstr "dépôt : téléchargement à distance en provenance de : %s" + +-#: libdnf/repo/Repo.cpp:1312 ++#: libdnf/repo/Repo.cpp:1349 + #, c-format + msgid "Failed to download metadata for repo '%s': %s" + msgstr "Échec du téléchargement des métadonnées pour le dépôt « %s » : %s" + +-#: libdnf/repo/Repo.cpp:1338 ++#: libdnf/repo/Repo.cpp:1375 + msgid "getCachedir(): Computation of SHA256 failed" + msgstr "getCachedir() : échec du calcul de SHA256" + +-#: libdnf/repo/Repo.cpp:1363 ++#: libdnf/repo/Repo.cpp:1403 + #, c-format + msgid "Cannot create persistdir \"%s\": %s" + msgstr "Impossible de créer le dossier persistant « %s » : %s" + +-#: libdnf/repo/Repo.cpp:1763 ++#: libdnf/repo/Repo.cpp:1780 + msgid "resume cannot be used simultaneously with the byterangestart param" + msgstr "" + "« resume » (reprise) ne peut pas être utilisé avec le paramètre " + "byterangestart" + +-#: libdnf/repo/Repo.cpp:1780 ++#: libdnf/repo/Repo.cpp:1797 + #, c-format + msgid "PackageTarget initialization failed: %s" + msgstr "L’initialisation de Package Target a échoué : %s" + +-#: libdnf/repo/Repo.cpp:1886 ++#: libdnf/repo/Repo.cpp:1903 + #, c-format + msgid "Cannot open %s: %s" + msgstr "impossible d’ouvrir %s : %s" + +-#: libdnf/repo/Repo.cpp:1930 ++#: libdnf/repo/Repo.cpp:1947 + #, c-format + msgid "Log handler with id %ld doesn't exist" + msgstr "Log handler ayant pour id %ld n’existe pas" +@@ -923,22 +1169,22 @@ msgstr "Log handler ayant pour id %ld n’existe pas" + msgid "In progress" + msgstr "En cours" + +-#: libdnf/transaction/Swdb.cpp:188 libdnf/transaction/Swdb.cpp:216 +-#: libdnf/transaction/Swdb.cpp:228 libdnf/transaction/Swdb.cpp:245 +-#: libdnf/transaction/Swdb.cpp:384 libdnf/transaction/Swdb.cpp:394 ++#: libdnf/transaction/Swdb.cpp:187 libdnf/transaction/Swdb.cpp:215 ++#: libdnf/transaction/Swdb.cpp:227 libdnf/transaction/Swdb.cpp:244 ++#: libdnf/transaction/Swdb.cpp:383 libdnf/transaction/Swdb.cpp:393 + msgid "Not in progress" + msgstr "Pas en cours" + +-#: libdnf/transaction/Swdb.cpp:255 ++#: libdnf/transaction/Swdb.cpp:254 + msgid "No transaction in progress" + msgstr "Aucune transaction n’est en cours" + +-#: libdnf/transaction/TransactionItem.cpp:147 ++#: libdnf/transaction/TransactionItem.cpp:146 + msgid "Attempt to insert transaction item into completed transaction" + msgstr "" + "Tentative d’insérer un élément de transaction dans une transaction achevée" + +-#: libdnf/transaction/TransactionItem.cpp:218 ++#: libdnf/transaction/TransactionItem.cpp:217 + msgid "Attempt to update transaction item in completed transaction" + msgstr "" + "Tentative de mettre à jour un élément de transaction dans une transaction " +@@ -973,8 +1219,20 @@ msgid "Can't add console output to unsaved transaction" + msgstr "" + "Ne peut pas ajouter une sortie de console à une transaction non enregistrée" + ++#~ msgid "failed to add solv" ++#~ msgstr "n’a pu ajouter solv" ++ ++#~ msgid "write_main() failed writing data: %i" ++#~ msgstr "write_main() n’a pu écrire les données : %i" ++ ++#~ msgid "write_main() failed to re-load written solv file" ++#~ msgstr "write_main() n’a pas pu charger à nouveau le fichier solv" ++ ++#~ msgid "write_ext(%1$d) has failed: %2$d" ++#~ msgstr "write_ext(%1$d) a échoué : %2$d" ++ ++#~ msgid "repo_add_repomdxml/rpmmd() has failed." ++#~ msgstr "repo_add_repomdxml/rpmmd() a échoué." ++ + #~ msgid "Bad id for repo: %s, byte = %s %d" + #~ msgstr "ID erroné pour le dépôt : %s, byte = %s %d" +- +-#~ msgid "failed calculating RPMDB checksum" +-#~ msgstr "n’a pu calculer la somme de contrôle RPMDB" +diff --git a/po/ja.po b/po/ja.po +index b9064ee6..1aa5dd09 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -1,20 +1,23 @@ + # Casey Jones , 2018. #zanata +-# Ludek Janda , 2018. #zanata ++# Ludek Janda , 2018. #zanata, 2021. + # Casey Jones , 2020. ++# Sundeep Anand , 2021. ++# Transtats , 2022. + 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-05-05 09:40+0000\n" +-"Last-Translator: Casey Jones \n" +-"Language-Team: Japanese \n" ++"POT-Creation-Date: 2023-02-28 09:11+0100\n" ++"PO-Revision-Date: 2022-09-06 07:19+0000\n" ++"Last-Translator: Transtats \n" ++"Language-Team: Japanese \n" + "Language: ja\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=1; plural=0;\n" +-"X-Generator: Weblate 4.0.3\n" ++"X-Generator: Weblate 4.14\n" + + #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40 + msgid "no value specified" +@@ -23,7 +26,7 @@ msgstr "値が指定されていません" + #: libdnf/conf/ConfigMain.cpp:67 libdnf/conf/OptionSeconds.cpp:48 + #, c-format + msgid "seconds value '%s' must not be negative" +-msgstr "2個目の値 '%s' は負の数にしないでください" ++msgstr "2 個目の値 '%s' は負の数にしないでください" + + #: libdnf/conf/ConfigMain.cpp:71 + #, c-format +@@ -35,17 +38,34 @@ msgstr "'%s' を バイトへ変換できませんでした" + msgid "unknown unit '%s'" + msgstr "不明な単位 '%s'" + +-#: libdnf/conf/ConfigMain.cpp:332 ++#: libdnf/conf/ConfigMain.cpp:204 libdnf/conf/OptionEnum.cpp:83 ++#: libdnf/conf/OptionNumber.cpp:88 ++msgid "invalid value" ++msgstr "無効な値" ++ ++#: libdnf/conf/ConfigMain.cpp:207 ++msgid "value 1 is not allowed" ++msgstr "値 1 は許可されません" ++ ++#: libdnf/conf/ConfigMain.cpp:209 ++msgid "negative value is not allowed" ++msgstr "負の値は許可されていません" ++ ++#: libdnf/conf/ConfigMain.cpp:341 + #, c-format + msgid "percentage '%s' is out of range" + msgstr "パーセンテージ '%s' が範囲外にあります" + +-#: libdnf/conf/OptionBinds.cpp:76 ++#: libdnf/conf/ConfigRepo.cpp:182 ++msgid "only the value 'priority' is supported." ++msgstr "「priority」の値のみがサポートされます。" ++ ++#: libdnf/conf/OptionBinds.cpp:85 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" does not exist" + msgstr "設定: id \"%s\" を伴う OptionBinding は存在しません" + +-#: libdnf/conf/OptionBinds.cpp:88 ++#: libdnf/conf/OptionBinds.cpp:97 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" already exists" + msgstr "設定: id \"%s\" を伴う OptionBinding はすでに存在します" +@@ -56,24 +76,20 @@ msgid "invalid boolean value '%s'" + msgstr "無効な boolean 値 '%s'" + + #: libdnf/conf/OptionEnum.cpp:72 libdnf/conf/OptionEnum.cpp:158 +-#: libdnf/conf/OptionString.cpp:59 libdnf/conf/OptionStringList.cpp:59 ++#: libdnf/conf/OptionString.cpp:64 libdnf/conf/OptionStringList.cpp:59 + #, c-format + msgid "'%s' is not an allowed value" + msgstr "'%s' 値は許可されていない値です" + +-#: libdnf/conf/OptionEnum.cpp:83 libdnf/conf/OptionNumber.cpp:88 +-msgid "invalid value" +-msgstr "無効な値" +- + #: libdnf/conf/OptionNumber.cpp:73 + #, c-format + msgid "given value [%d] should be less than allowed value [%d]." +-msgstr "指定された値 [%d] は許可された値 [%d]より小さくしてください" ++msgstr "指定された値 [%d] は許可された値 [%d]より小さくしてください。" + + #: libdnf/conf/OptionNumber.cpp:76 + #, c-format + msgid "given value [%d] should be greater than allowed value [%d]." +-msgstr "指定された値 [%d] は許可された値 [%d]より大きくしてください" ++msgstr "指定された値 [%d] は許可された値 [%d]より大きくしてください。" + + #: libdnf/conf/OptionPath.cpp:78 + #, c-format +@@ -90,26 +106,137 @@ msgstr "指定されたパス '%s' が存在しません。" + msgid "could not convert '%s' to seconds" + msgstr "'%s' を 秒に変換できません" + +-#: libdnf/conf/OptionString.cpp:74 ++#: libdnf/conf/OptionString.cpp:79 + msgid "GetValue(): Value not set" + msgstr "GetValue(): 値は設定されていません" + +-#: libdnf/dnf-goal.cpp:68 ++#: libdnf/dnf-context.cpp:3176 libdnf/dnf-context.cpp:3185 ++#, c-format ++msgid "Cannot enable more streams from module '%s' at the same time" ++msgstr "モジュール '%s' から、さらにストリームを同時に有効にできません" ++ ++#: libdnf/dnf-context.cpp:3194 libdnf/dnf-context.cpp:3212 ++#, c-format ++msgid "" ++"Cannot enable module '%1$s' stream '%2$s': State of module already modified" ++msgstr "" ++"モジュール '%1$s' ストリーム '%2$s' を有効にできません。モジュールの状態はす" ++"でに変更されています" ++ ++#: libdnf/dnf-context.cpp:3259 ++#, c-format ++msgid "Modular dependency problem with Defaults: %s" ++msgstr "デフォルトのモジュラー依存問題: %s" ++ ++#: libdnf/dnf-context.cpp:3262 ++#, c-format ++msgid "Modular dependency problem: %s" ++msgstr "モジュラーの依存に関する問題: %s" ++ ++#: libdnf/dnf-context.cpp:3296 libdnf/dnf-context.cpp:3320 ++#: libdnf/dnf-context.cpp:3331 libdnf/dnf-context.cpp:3370 ++#: libdnf/dnf-context.cpp:3386 libdnf/dnf-context.cpp:3418 ++#: libdnf/dnf-context.cpp:3462 libdnf/dnf-context.cpp:3472 ++#, c-format ++msgid "Unable to resolve argument '%s'" ++msgstr "引数 '%s' を解決できません" ++ ++#: libdnf/dnf-context.cpp:3303 ++#, c-format ++msgid "" ++"Only module name is required. Ignoring unneeded information in argument: '%s'" ++msgstr "モジュール名のみが必要です。引数の不必要な情報は無視します: '%s'" ++ ++#: libdnf/dnf-context.cpp:3317 ++#, c-format ++msgid "Cannot reset module '%s': State of module already modified" ++msgstr "" ++"モジュール '%s' をリセットできません。モジュールの状態はすでに変更されていま" ++"す" ++ ++#: libdnf/dnf-context.cpp:3328 ++#, c-format ++msgid "Cannot disable module '%s': State of module already modified" ++msgstr "" ++"モジュール '%s' を無効にできません。モジュールの状態はすでに変更されています" ++ ++#: libdnf/dnf-context.cpp:3359 libdnf/dnf-context.cpp:3451 ++#: libdnf/dnf-context.cpp:3564 ++msgid "No modular data available" ++msgstr "モジュールデータは利用できません" ++ ++#: libdnf/dnf-context.cpp:3376 ++#, c-format ++msgid "Ignoring unneeded information in argument: '%s'" ++msgstr "引数の不要な情報は無視します: '%s'" ++ ++#: libdnf/dnf-context.cpp:3414 ++#, c-format ++msgid "" ++"Problem during enablement of dependency tree for module '%1$s' stream " ++"'%2$s': %3$s" ++msgstr "" ++"モジュール '%1$s' ストリーム '%2$s' の依存関係ツリーの有効化中に問題: %3$s" ++ ++#: libdnf/dnf-context.cpp:3426 ++msgid "Problems appeared for module enable request" ++msgstr "モジュール有効リクエストに発生する問題" ++ ++#. this really should never happen; unless the modular repodata is corrupted ++#: libdnf/dnf-context.cpp:3501 ++#, c-format ++msgid "Failed to parse module artifact NEVRA '%s'" ++msgstr "モジュールアーティファクト NEVRA '%s' の解析に失敗しました" ++ ++#: libdnf/dnf-context.cpp:3535 ++msgid "Problems appeared for module install request" ++msgstr "モジュールインストールリクエストに発生する問題" ++ ++#: libdnf/dnf-context.cpp:3595 ++msgid "Problems appeared for module reset request" ++msgstr "モジュールリセットリクエストに発生する問題" ++ ++#: libdnf/dnf-context.cpp:3597 ++msgid "Problems appeared for module disable request" ++msgstr "モジュール無効化リクエストに発生する問題" ++ ++#: libdnf/dnf-context.cpp:3633 ++#, c-format ++msgid "" ++"The operation would result in switching of module '%s' stream '%s' to stream " ++"'%s'" ++msgstr "" ++"オペレーションは、モジュール '%s' ストリーム '%s' を ストリーム '%s' へと切り" ++"替える結果となります" ++ ++#: libdnf/dnf-context.cpp:3637 ++msgid "" ++"It is not possible to switch enabled streams of a module.\n" ++"It is recommended to remove all installed content from the module, and reset " ++"the module using 'microdnf module reset ' command. After you " ++"reset the module, you can install the other stream." ++msgstr "" ++"有効化されたモジュールのストリームの切り替えはできません。\n" ++"モジュールからすべてのインストールされたコンテンツを削除し、'microdnf module " ++"reset ' コマンドを使用してモジュールをリセットすることを推奨しま" ++"す。モジュールのリセット後に、別のストリームをインストールできます。" ++ ++#: libdnf/dnf-goal.cpp:85 + msgid "Could not depsolve transaction; " + msgstr "トランザクションを depsolve できませんでした; " + +-#: libdnf/dnf-goal.cpp:70 ++#: libdnf/dnf-goal.cpp:87 + #, c-format + msgid "%i problem detected:\n" + msgid_plural "%i problems detected:\n" + msgstr[0] "%i 問題を検出:\n" + +-#: libdnf/dnf-goal.cpp:78 ++#: libdnf/dnf-goal.cpp:95 + #, c-format + msgid " Problem %1$i: %2$s\n" + msgstr " 問題 %1$i: %2$s\n" + +-#: libdnf/dnf-goal.cpp:80 ++#: libdnf/dnf-goal.cpp:97 + #, c-format + msgid " Problem: %s\n" + msgstr " 問題: %s\n" +@@ -119,7 +246,9 @@ msgstr " 問題: %s\n" + msgid "" + "No available modular metadata for modular package '%s'; cannot be installed " + "on the system" +-msgstr "モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにインストールはできません" ++msgstr "" ++"モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにイ" ++"ンストールはできません" + + #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166 + #, c-format +@@ -158,7 +287,8 @@ msgstr "トランザクションの実行中にエラーが発生しました: % + + #: libdnf/dnf-rpmts.cpp:283 + msgid "Error running transaction and no problems were reported!" +-msgstr "トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!" ++msgstr "" ++"トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!" + + #: libdnf/dnf-rpmts.cpp:346 + msgid "Fatal error, run database recovery" +@@ -174,87 +304,130 @@ msgstr "パッケージ %s を見つけることができませんでした" + msgid "could not add erase element %1$s(%2$i)" + msgstr "erase 要素 %1$s(%2$i) を追加することができません" + +-#: libdnf/dnf-sack.cpp:381 ++#: libdnf/dnf-sack.cpp:252 ++msgid "repo_add_solv() has failed." ++msgstr "repo_add_solv() は失敗しました。" ++ ++#: libdnf/dnf-sack.cpp:416 ++#, c-format ++msgid "Loading extension cache %s (%d) failed: " ++msgstr "拡張キャッシュの %s (%d) の読み込みに失敗しました: " ++ ++#: libdnf/dnf-sack.cpp:430 + #, c-format + msgid "no %1$s string for %2$s" + msgstr "%2$s の %1$s 文字列はありません" + +-#: libdnf/dnf-sack.cpp:404 +-msgid "failed to add solv" +-msgstr "solv の追加に失敗しました" +- +-#: libdnf/dnf-sack.cpp:422 ++#: libdnf/dnf-sack.cpp:440 + #, c-format + msgid "failed to open: %s" + msgstr "開くことに失敗しました: %s" + +-#: libdnf/dnf-sack.cpp:501 ++#: libdnf/dnf-sack.cpp:519 + #, c-format + msgid "cannot create temporary file: %s" + msgstr "一時ファイルを作成できません: %s" + +-#: libdnf/dnf-sack.cpp:511 ++#: libdnf/dnf-sack.cpp:529 + #, c-format + msgid "failed opening tmp file: %s" + msgstr "tmp ファイルを開くことに失敗しました: %s" + +-#: libdnf/dnf-sack.cpp:523 ++#: libdnf/dnf-sack.cpp:551 + #, c-format +-msgid "write_main() failed writing data: %i" +-msgstr "write_main() はデータの書き込みに失敗しました: %i" ++msgid "While writing primary cache %s repowriter write failed: %i, error: %s" ++msgstr "" ++"プライマリーキャッシュの %s repowriter 書き込み中に %i エラーが発生しました。" ++"エラー: %s" + +-#: libdnf/dnf-sack.cpp:540 +-msgid "write_main() failed to re-load written solv file" +-msgstr "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました" ++#: libdnf/dnf-sack.cpp:561 ++#, c-format ++msgid "Failed closing tmp file %s: %s" ++msgstr "tmp ファイル %s の終了に失敗しました: %s" ++ ++#: libdnf/dnf-sack.cpp:571 ++#, c-format ++msgid "Failed to use newly written primary cache: %s: " ++msgstr "新たに書き込まれたプライマリーキャッシュを使用できません: %s: " ++ ++#: libdnf/dnf-sack.cpp:577 ++#, c-format ++msgid "Failed to use newly written primary cache: %s" ++msgstr "新たに書き込まれたプライマリーキャッシュを使用できません: %s" + +-#: libdnf/dnf-sack.cpp:605 ++#: libdnf/dnf-sack.cpp:627 + #, c-format + msgid "can not create temporary file %s" + msgstr "一時ファイル %s を作成できません" + +-#: libdnf/dnf-sack.cpp:623 ++#: libdnf/dnf-sack.cpp:667 + #, c-format +-msgid "write_ext(%1$d) has failed: %2$d" +-msgstr "write_ext(%1$d) は失敗しました: %2$d" ++msgid "" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" ++msgstr "" ++"拡張キャッシュ %s (%d) の書き込み中: repowriter の書き込みに失敗: %i、エ" ++"ラー: %s" + +-#: libdnf/dnf-sack.cpp:678 ++#: libdnf/dnf-sack.cpp:677 ++#, c-format ++msgid "While writing extension cache (%d): cannot close temporary file: %s" ++msgstr "拡張キャッシュの書き込み中 (%d): 一時ファイルを終了できません: %s" ++ ++#: libdnf/dnf-sack.cpp:693 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d): " ++msgstr "新たに書き込まれた拡張キャッシュを使用できませんでした: %s (%d): " ++ ++#: libdnf/dnf-sack.cpp:700 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d)" ++msgstr "新たに書き込まれた拡張キャッシュを使用できませんでした: %s (%d)" ++ ++#: libdnf/dnf-sack.cpp:741 + msgid "null repo md file" + msgstr "null repo md ファイル" + +-#: libdnf/dnf-sack.cpp:687 ++#: libdnf/dnf-sack.cpp:750 + #, c-format + msgid "can not read file %1$s: %2$s" + msgstr "ファイル %1$s を読み込みできません: %2$s" + +-#: libdnf/dnf-sack.cpp:701 +-msgid "repo_add_solv() has failed." +-msgstr "repo_add_solv() は失敗しました。" ++#: libdnf/dnf-sack.cpp:765 ++#, c-format ++msgid "While loading repository failed to use %s: " ++msgstr "リポジトリーのロード中に %s が使用できませんでした: " + +-#: libdnf/dnf-sack.cpp:714 ++#: libdnf/dnf-sack.cpp:776 + msgid "loading of MD_TYPE_PRIMARY has failed." + msgstr "MD_TYPE_PRIMARY のロードに失敗しました。" + +-#: libdnf/dnf-sack.cpp:727 +-msgid "repo_add_repomdxml/rpmmd() has failed." +-msgstr "repo_add_repomdxml/rpmmd() は失敗しました。" ++#: libdnf/dnf-sack.cpp:788 ++#, c-format ++msgid "Loading repomd has failed: %s" ++msgstr "repomd の読み込みに失敗しました: %s" ++ ++#: libdnf/dnf-sack.cpp:799 ++#, c-format ++msgid "Loading primary has failed: %s" ++msgstr "プライマリーの読み込みに失敗しました: %s" + +-#: libdnf/dnf-sack.cpp:794 ++#: libdnf/dnf-sack.cpp:865 + msgid "failed to auto-detect architecture" + msgstr "アーキテクチャーの自動検出に失敗しました" + +-#: libdnf/dnf-sack.cpp:919 ++#: libdnf/dnf-sack.cpp:1030 + #, c-format + msgid "failed creating cachedir %s" + msgstr "cachedir %s の作成に失敗しました" + +-#: libdnf/dnf-sack.cpp:1696 ++#: libdnf/dnf-sack.cpp:1807 + msgid "failed loading RPMDB" + msgstr "RPMDB のロードに失敗しました" + +-#: libdnf/dnf-sack.cpp:2403 ++#: libdnf/dnf-sack.cpp:2532 + #, c-format + msgid "No module defaults found: %s" +-msgstr "" ++msgstr "モジュールのデフォルトは見つかりませんでした: %s" + + #: libdnf/dnf-state.cpp:1184 + #, c-format +@@ -288,7 +461,9 @@ msgstr "パッケージ %s を確実にしようとする場合、ソースは + #: libdnf/dnf-transaction.cpp:326 + #, c-format + msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)" +-msgstr "repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo はロード済み)" ++msgstr "" ++"repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo " ++"はロード済み)" + + #: libdnf/dnf-transaction.cpp:367 + msgid "Failed to check untrusted: " +@@ -302,7 +477,8 @@ msgstr "%s にダウンロードしたファイルが見つかりませんでし + #: libdnf/dnf-transaction.cpp:397 + #, c-format + msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" +-msgstr "パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s" ++msgstr "" ++"パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s" + + #: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 + msgid "Failed to get value for CacheDir" +@@ -321,28 +497,31 @@ msgstr "%s に filesystem をフリーサイズで取得することに失敗し + #: libdnf/dnf-transaction.cpp:935 + #, c-format + msgid "Not enough free space in %1$s: needed %2$s, available %3$s" +-msgstr "%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です" ++msgstr "" ++"%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です" + +-#: libdnf/dnf-transaction.cpp:1196 ++#: libdnf/dnf-transaction.cpp:1195 + msgid "failed to set root" + msgstr "root の設定に失敗しました" + +-#: libdnf/dnf-transaction.cpp:1418 ++#: libdnf/dnf-transaction.cpp:1416 + #, c-format + msgid "Error %i running transaction test" + msgstr "トランザクションテストの実行中にエラー %i" + +-#: libdnf/dnf-transaction.cpp:1458 ++#: libdnf/dnf-transaction.cpp:1456 + #, c-format + msgid "Error %i running transaction" + msgstr "トランザクションの実行中にエラー %i" + +-#: libdnf/dnf-transaction.cpp:1473 ++#: libdnf/dnf-transaction.cpp:1472 + #, c-format + msgid "Transaction did not go to writing phase, but returned no error(%i)" +-msgstr "トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しませんでした" ++msgstr "" ++"トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しま" ++"せんでした" + +-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:399 ++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485 + #, c-format + msgid "cannot open directory %1$s: %2$s" + msgstr "ディレクトリー %1$s を開くことができません: %2$s" +@@ -352,272 +531,294 @@ msgstr "ディレクトリー %1$s を開くことができません: %2$s" + msgid "failed to remove %s" + msgstr "%s の削除に失敗しました" + +-#: libdnf/goal/Goal.cpp:55 ++#: libdnf/goal/Goal.cpp:74 + msgid "Ill-formed Selector, presence of multiple match objects in the filter" + msgstr "不適格な Selector、フィルター内に複数の一致するオブジェクトが存在" + +-#: libdnf/goal/Goal.cpp:56 ++#: libdnf/goal/Goal.cpp:75 + msgid "Ill-formed Selector used for the operation, incorrect comparison type" + msgstr "操作に使用される不適格な Selector、間違った比較タイプ" + +-#: libdnf/goal/Goal.cpp:67 libdnf/goal/Goal.cpp:94 ++#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 + msgid " does not belong to a distupgrade repository" + msgstr " はdistupgradeレポジトリーに属していません" + +-#: libdnf/goal/Goal.cpp:68 libdnf/goal/Goal.cpp:95 ++#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 + msgid " has inferior architecture" + msgstr " は下位アーキテクチャがあります" + +-#: libdnf/goal/Goal.cpp:69 ++#: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " + msgstr "インストール済パッケージの問題 " + +-#: libdnf/goal/Goal.cpp:70 libdnf/goal/Goal.cpp:97 ++#: libdnf/goal/Goal.cpp:89 libdnf/goal/Goal.cpp:116 + msgid "conflicting requests" + msgstr "競合するリクエスト" + +-#: libdnf/goal/Goal.cpp:71 libdnf/goal/Goal.cpp:98 ++#: libdnf/goal/Goal.cpp:90 libdnf/goal/Goal.cpp:117 + msgid "unsupported request" + msgstr "非サポートのリクエスト" + +-#: libdnf/goal/Goal.cpp:72 libdnf/goal/Goal.cpp:99 ++#: libdnf/goal/Goal.cpp:91 libdnf/goal/Goal.cpp:118 + msgid "nothing provides requested " + msgstr "何もリクエストされていません " + +-#: libdnf/goal/Goal.cpp:73 ++#: libdnf/goal/Goal.cpp:92 + #, c-format + msgid "package %s does not exist" + msgstr "パッケージ %s は存在しません" + +-#: libdnf/goal/Goal.cpp:74 libdnf/goal/Goal.cpp:101 ++#: libdnf/goal/Goal.cpp:93 libdnf/goal/Goal.cpp:120 + msgid " is provided by the system" + msgstr " はシステムから提供されます" + +-#: libdnf/goal/Goal.cpp:75 libdnf/goal/Goal.cpp:102 ++#: libdnf/goal/Goal.cpp:94 libdnf/goal/Goal.cpp:121 + msgid "some dependency problem" + msgstr "いくつかの依存問題" + +-#: libdnf/goal/Goal.cpp:76 ++#: libdnf/goal/Goal.cpp:95 + msgid "cannot install the best update candidate for package " + msgstr "パッケージの最良アップデート候補をインストールできません " + +-#: libdnf/goal/Goal.cpp:77 libdnf/goal/Goal.cpp:104 ++#: libdnf/goal/Goal.cpp:96 libdnf/goal/Goal.cpp:123 + msgid "cannot install the best candidate for the job" + msgstr "ジョブの最良アップデート候補をインストールできません" + +-#: libdnf/goal/Goal.cpp:78 ++#: libdnf/goal/Goal.cpp:97 + #, c-format + msgid "package %s is filtered out by modular filtering" + msgstr "パッケージ %s はモジュラーフィルタリングに一致しません" + +-#: libdnf/goal/Goal.cpp:79 ++#: libdnf/goal/Goal.cpp:98 + #, c-format + msgid "package %s does not have a compatible architecture" + msgstr "パッケージ %s は互換性のあるアーキテクチャーがありません" + +-#: libdnf/goal/Goal.cpp:80 ++#: libdnf/goal/Goal.cpp:99 + #, c-format + msgid "package %s is not installable" + msgstr "パッケージ %s はインストール不可です" + +-#: libdnf/goal/Goal.cpp:81 ++#: libdnf/goal/Goal.cpp:100 + #, c-format + msgid "package %s is filtered out by exclude filtering" + msgstr "パッケージ %s は除外フィルタリングに一致しません" + +-#: libdnf/goal/Goal.cpp:82 ++#: libdnf/goal/Goal.cpp:101 + #, c-format + msgid "nothing provides %s needed by %s" + msgstr "%s が提供されません %s に必要です" + +-#: libdnf/goal/Goal.cpp:83 ++#: libdnf/goal/Goal.cpp:102 + #, c-format + msgid "cannot install both %s and %s" + msgstr "%s と %s どちらもインストールできません" + +-#: libdnf/goal/Goal.cpp:84 ++#: libdnf/goal/Goal.cpp:103 + #, c-format + msgid "package %s conflicts with %s provided by %s" + msgstr "パッケージ %s は %s と競合しています。これは %s により提供されます" + +-#: libdnf/goal/Goal.cpp:85 ++#: libdnf/goal/Goal.cpp:104 + #, c-format + msgid "package %s obsoletes %s provided by %s" + msgstr "パッケージ %s は %s を廃止しました。これは %s により提供されます" + +-#: libdnf/goal/Goal.cpp:86 ++#: libdnf/goal/Goal.cpp:105 + #, c-format + msgid "installed package %s obsoletes %s provided by %s" +-msgstr "インストール済パッケージ %s は %s を廃止しました。これは %s により提供されます" ++msgstr "" ++"インストール済パッケージ %s は %s を廃止しました。これは %s により提供されま" ++"す" + +-#: libdnf/goal/Goal.cpp:87 ++#: libdnf/goal/Goal.cpp:106 + #, c-format + msgid "package %s implicitly obsoletes %s provided by %s" + msgstr "パッケージ %s は %s を暗に廃止しました。これは %s により提供されます" + +-#: libdnf/goal/Goal.cpp:88 ++#: libdnf/goal/Goal.cpp:107 + #, c-format + msgid "package %s requires %s, but none of the providers can be installed" +-msgstr "パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできません" ++msgstr "" ++"パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできま" ++"せん" + +-#: libdnf/goal/Goal.cpp:89 ++#: libdnf/goal/Goal.cpp:108 + #, c-format + msgid "package %s conflicts with %s provided by itself" + msgstr "パッケージ %s は自己提供される %s と競合しています" + +-#: libdnf/goal/Goal.cpp:90 ++#: libdnf/goal/Goal.cpp:109 + #, c-format + msgid "both package %s and %s obsolete %s" + msgstr "パッケージ %s と %s 両方は %s を廃止しました" + +-#: libdnf/goal/Goal.cpp:96 ++#: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " + msgstr "インストール済モジュールの問題 " + +-#: libdnf/goal/Goal.cpp:100 ++#: libdnf/goal/Goal.cpp:119 + #, c-format + msgid "module %s does not exist" + msgstr "モジュール %s は存在しません" + +-#: libdnf/goal/Goal.cpp:103 ++#: libdnf/goal/Goal.cpp:122 + msgid "cannot install the best update candidate for module " + msgstr "モジュールの最良アップデート候補をインストールできません " + +-#: libdnf/goal/Goal.cpp:105 libdnf/goal/Goal.cpp:108 ++#: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format + msgid "module %s is disabled" + msgstr "モジュール %s は無効です" + +-#: libdnf/goal/Goal.cpp:106 ++#: libdnf/goal/Goal.cpp:125 + #, c-format + msgid "module %s does not have a compatible architecture" + msgstr "モジュール %s は互換性のあるアーキテクチャーがありません" + +-#: libdnf/goal/Goal.cpp:107 ++#: libdnf/goal/Goal.cpp:126 + #, c-format + msgid "module %s is not installable" + msgstr "モジュール %s はインストール不可です" + +-#: libdnf/goal/Goal.cpp:109 ++#: libdnf/goal/Goal.cpp:128 + #, c-format + msgid "nothing provides %s needed by module %s" + msgstr "%s が提供されませんモジュール %s に必要です" + +-#: libdnf/goal/Goal.cpp:110 ++#: libdnf/goal/Goal.cpp:129 + #, c-format + msgid "cannot install both modules %s and %s" + msgstr "モジュール %s と %s どちらもインストールできません" + +-#: libdnf/goal/Goal.cpp:111 ++#: libdnf/goal/Goal.cpp:130 + #, c-format + msgid "module %s conflicts with %s provided by %s" + msgstr "モジュール %s は %s と競合しています。これは %s により提供されます" + +-#: libdnf/goal/Goal.cpp:112 ++#: libdnf/goal/Goal.cpp:131 + #, c-format + msgid "module %s obsoletes %s provided by %s" + msgstr "モジュール %s は %s を廃止しました。これは %s により提供されます" + +-#: libdnf/goal/Goal.cpp:113 ++#: libdnf/goal/Goal.cpp:132 + #, c-format + msgid "installed module %s obsoletes %s provided by %s" +-msgstr "インストール済モジュール %s は %s を廃止しました。これは %s により提供されます" ++msgstr "" ++"インストール済モジュール %s は %s を廃止しました。これは %s により提供されま" ++"す" + +-#: libdnf/goal/Goal.cpp:114 ++#: libdnf/goal/Goal.cpp:133 + #, c-format + msgid "module %s implicitly obsoletes %s provided by %s" + msgstr "モジュール %s は %s を暗に廃止しました。これは %s により提供されます" + +-#: libdnf/goal/Goal.cpp:115 ++#: libdnf/goal/Goal.cpp:134 + #, c-format + msgid "module %s requires %s, but none of the providers can be installed" +-msgstr "モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできません" ++msgstr "" ++"モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできま" ++"せん" + +-#: libdnf/goal/Goal.cpp:116 ++#: libdnf/goal/Goal.cpp:135 + #, c-format + msgid "module %s conflicts with %s provided by itself" + msgstr "モジュール %s は自己提供される %s と競合しています" + +-#: libdnf/goal/Goal.cpp:117 ++#: libdnf/goal/Goal.cpp:136 + #, c-format + msgid "both module %s and %s obsolete %s" + msgstr "モジュール %s と %s 両方は %s を廃止しました" + +-#: libdnf/goal/Goal.cpp:1038 ++#: libdnf/goal/Goal.cpp:1051 + msgid "no solver set" + msgstr "設定されたソルバーはありません" + +-#: libdnf/goal/Goal.cpp:1043 ++#: libdnf/goal/Goal.cpp:1056 + #, c-format + msgid "failed to make %s absolute" + msgstr "%s を絶対的にすることに失敗しました" + +-#: libdnf/goal/Goal.cpp:1050 ++#: libdnf/goal/Goal.cpp:1063 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" + msgstr "debugdata を %1$s へ書き込むことに失敗しました: %2$s" + +-#: libdnf/goal/Goal.cpp:1062 ++#: libdnf/goal/Goal.cpp:1075 + msgid "no solv in the goal" + msgstr "目標に solv がありません" + +-#: libdnf/goal/Goal.cpp:1064 ++#: libdnf/goal/Goal.cpp:1077 + msgid "no solution, cannot remove protected package" + msgstr "ソリューションがなく、保護されたパッケージを削除できません" + +-#: libdnf/goal/Goal.cpp:1067 ++#: libdnf/goal/Goal.cpp:1080 + msgid "no solution possible" + msgstr "可能なソリューションがありません" + +-#: libdnf/goal/Goal.cpp:1479 ++#: libdnf/goal/Goal.cpp:1206 ++msgid "Problem: " ++msgstr "問題: " ++ ++#: libdnf/goal/Goal.cpp:1211 ++#, c-format ++msgid "Problem %d: " ++msgstr "問題 %d: " ++ ++#: libdnf/goal/Goal.cpp:1538 + msgid "" + "The operation would result in removing the following protected packages: " + msgstr "操作は結果的に以下の保護されたパッケージを削除します: " + +-#: libdnf/hy-iutil.cpp:322 ++#: libdnf/hy-iutil.cpp:181 ++#, c-format ++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu" ++msgstr "Libsolv の solv_toolversion の長さ: %zu ですが、最大の想定値: %zu です" ++ ++#: libdnf/hy-iutil.cpp:408 + #, c-format + msgid "Failed renaming %1$s to %2$s: %3$s" + msgstr "名前を %1$s から %2$s へ変更できませんでした: %3$s" + +-#: libdnf/hy-iutil.cpp:330 ++#: libdnf/hy-iutil.cpp:416 + #, c-format + msgid "Failed setting perms on %1$s: %2$s" + msgstr "%1$s に権限を設定できませんでした: %2$s" + +-#: libdnf/hy-iutil.cpp:376 ++#: libdnf/hy-iutil.cpp:462 + #, c-format + msgid "cannot create directory %1$s: %2$s" + msgstr "ディレクトリー %1$s を作成できません : %2$s" + +-#: libdnf/hy-iutil.cpp:411 ++#: libdnf/hy-iutil.cpp:497 + #, c-format + msgid "cannot stat path %1$s: %2$s" + msgstr "パス %1$s のstatを調べられません : %2$s" + +-#: libdnf/module/ModulePackage.cpp:499 ++#: libdnf/module/ModulePackage.cpp:560 + #, c-format + msgid "Invalid format of Platform module: %s" + msgstr "不正なプラットフォームモジュールのフォーマット: %s" + +-#: libdnf/module/ModulePackage.cpp:514 ++#: libdnf/module/ModulePackage.cpp:575 + msgid "Multiple module platforms provided by available packages\n" + msgstr "利用可能パッケージに提供される複数のモジュールプラットフォーム\n" + +-#: libdnf/module/ModulePackage.cpp:527 ++#: libdnf/module/ModulePackage.cpp:588 + msgid "Multiple module platforms provided by installed packages\n" + msgstr "インストール済パッケージに提供される複数のモジュールプラットフォーム\n" + +-#: libdnf/module/ModulePackage.cpp:554 ++#: libdnf/module/ModulePackage.cpp:615 + #, c-format + msgid "Detection of Platform Module in %s failed: %s" + msgstr "%s のプラットフォームモジュールの検出に失敗しました: %s" + +-#: libdnf/module/ModulePackage.cpp:563 ++#: libdnf/module/ModulePackage.cpp:624 + #, c-format + msgid "Missing PLATFORM_ID in %s" + msgstr "%s に PLATFORM_ID が見つかりません" + +-#: libdnf/module/ModulePackage.cpp:568 ++#: libdnf/module/ModulePackage.cpp:629 + msgid "No valid Platform ID detected" + msgstr "有効な Platform ID が検出されませんでした" + +@@ -626,36 +827,71 @@ msgstr "有効な Platform ID が検出されませんでした" + msgid "Cannot enable multiple streams for module '%s'" + msgstr "モジュール '%s' の複数ストリームを有効化できません" + +-#: libdnf/module/ModulePackageContainer.cpp:294 ++#: libdnf/module/ModulePackageContainer.cpp:295 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" + msgstr "repo '%s' のデフォルトが競合: %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1569 ++#: libdnf/module/ModulePackageContainer.cpp:841 ++msgid "Installing module profiles:\n" ++msgstr "モジュールプロファイルのインストール中:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:856 ++msgid "Disabling module profiles:\n" ++msgstr "モジュールプロファイルの無効化中:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:871 ++msgid "Enabling module streams:\n" ++msgstr "モジュールストリームの有効化中:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:885 ++msgid "Switching module streams:\n" ++msgstr "モジュールストリームの切り替え中:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:903 ++msgid "Disabling modules:\n" ++msgstr "モジュールの無効化:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:914 ++msgid "Resetting modules:\n" ++msgstr "モジュールの再設定中:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:1638 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" + msgstr "'%s' のモジュラーフェイルセーフデータをロードできません" + +-#: libdnf/module/ModulePackageContainer.cpp:1575 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" + msgstr "モジュール '%s:%s' のモジュラーフェイルセーフデータをロードできません" + +-#: libdnf/module/ModulePackageContainer.cpp:1639 ++#: libdnf/module/ModulePackageContainer.cpp:1702 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" +-msgstr "ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: %s" ++msgstr "" ++"ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: " ++"%s" + +-#: libdnf/module/ModulePackageContainer.cpp:1661 ++#: libdnf/module/ModulePackageContainer.cpp:1718 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" + msgstr "'%s' のモジュラーフェイルセーフデータを保存できません" + +-#: libdnf/module/ModulePackageContainer.cpp:1686 ++#: libdnf/module/ModulePackageContainer.cpp:1741 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" + msgstr "'%s' のモジュラーフェイルセーフデータを削除できません" + ++#: libdnf/module/ModulePackageContainer.cpp:1773 ++#, c-format ++msgid "" ++"Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " ++"disabled" ++msgstr "" ++"ターゲットモジュール '%s' が無効であるため、モジュラーの廃止を '%s:%s' に適用" ++"できません" ++ + #: libdnf/module/modulemd/ModuleMetadata.cpp:86 + #, c-format + msgid "Failed to update from string: %s" +@@ -669,7 +905,7 @@ msgstr "名前解決に失敗しました: %s" + #: libdnf/module/modulemd/ModuleMetadata.cpp:115 + #, c-format + msgid "There were errors while resolving modular defaults: %s" +-msgstr "" ++msgstr "モジュラーデフォルトの解決中にエラーが発生しました: %s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:120 + #, c-format +@@ -681,6 +917,12 @@ msgstr "デフォルトのアップグレードに失敗しました: %s" + msgid "Failed to upgrade streams: %s" + msgstr "ストリームのアップグレードに失敗しました: %s" + ++#: libdnf/module/modulemd/ModuleMetadata.cpp:212 ++#, c-format ++msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" ++msgstr "" ++"%s に一致するストリームがないため、モジュールの廃止を取得できません: %s" ++ + #: libdnf/plugin/plugin.cpp:46 + #, c-format + msgid "Can't load shared library \"%s\": %s" +@@ -722,6 +964,9 @@ msgid "" + "deprecated and the support will be dropped in future versions. Use '=' " + "operator instead." + msgstr "" ++"reldeps で '==' 演算子を使用すると、未定義の動作が発生する可能性があります。" ++"これは非推奨で、将来のバージョンではサポートされなくなります。代わりに '=' 演" ++"算子を使用してください。" + + #: libdnf/repo/Repo.cpp:321 + #, c-format +@@ -731,148 +976,172 @@ msgstr "リポジトリー %s にはミラーまたは baseurl セットがあ + #: libdnf/repo/Repo.cpp:330 + #, c-format + msgid "Repository '%s' has unsupported type: 'type=%s', skipping." +-msgstr "リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッピング。" ++msgstr "" ++"リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッ" ++"ピング。" ++ ++#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 ++#: libdnf/repo/Repo.cpp:1387 ++#, c-format ++msgid "repo '%s': 'basecachedir' is not set" ++msgstr "repo '%s': 'basecachedir' が設定されていません" ++ ++#: libdnf/repo/Repo.cpp:512 ++msgid "" ++"Maximum download speed is lower than minimum. Please change configuration of " ++"minrate or throttle" ++msgstr "" ++"ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの" ++"設定を変更してください" + + #: libdnf/repo/Repo.cpp:546 + #, c-format ++msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" ++msgstr "" ++"repo '%s': 'proxy_username' は設定済みですが、'proxy_password' は設定されてい" ++"ません" ++ ++#: libdnf/repo/Repo.cpp:548 ++msgid "'proxy_username' is set but not 'proxy_password'" ++msgstr "" ++"'proxy_username' は設定済みですが、'proxy_password' は設定されていません" ++ ++#: libdnf/repo/Repo.cpp:629 ++#, c-format + msgid "Cannot find a valid baseurl for repo: %s" + msgstr "repo に対して有効な baseurl を見つけられません: %s" + +-#: libdnf/repo/Repo.cpp:583 libdnf/repo/Repo.cpp:1672 +-msgid "" +-"Maximum download speed is lower than minimum. Please change configuration of" +-" minrate or throttle" +-msgstr "ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの設定を変更してください。" +- +-#: libdnf/repo/Repo.cpp:633 libdnf/repo/Repo.cpp:655 ++#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682 + #, c-format + msgid "%s: gpgme_data_new_from_fd(): %s" + msgstr "%s: gpgme_data_new_from_fd(): %s" + +-#: libdnf/repo/Repo.cpp:641 libdnf/repo/Repo.cpp:663 ++#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690 + #, c-format + msgid "%s: gpgme_op_import(): %s" + msgstr "%s: gpgme_op_import(): %s" + +-#: libdnf/repo/Repo.cpp:686 libdnf/repo/Repo.cpp:752 libdnf/repo/Repo.cpp:880 ++#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 + #, c-format + msgid "%s: gpgme_ctx_set_engine_info(): %s" + msgstr "%s: gpgme_ctx_set_engine_info(): %s" + +-#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:777 ++#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 + #, c-format + msgid "can not list keys: %s" + msgstr "キーを一覧表示できません: %s" + +-#: libdnf/repo/Repo.cpp:806 ++#: libdnf/repo/Repo.cpp:833 + #, c-format + msgid "Failed to retrieve GPG key for repo '%s': %s" + msgstr "repo '%s' のGPG鍵の回収に失敗しました : %s" + +-#: libdnf/repo/Repo.cpp:859 ++#: libdnf/repo/Repo.cpp:886 + #, c-format + msgid "repo %s: 0x%s already imported" + msgstr "repo %s: 0x%s はインポート済みです" + +-#: libdnf/repo/Repo.cpp:887 ++#: libdnf/repo/Repo.cpp:914 + #, c-format + msgid "repo %s: imported key 0x%s." + msgstr "repo %s: インポート済みのキー 0x%s。" + +-#: libdnf/repo/Repo.cpp:1131 ++#: libdnf/repo/Repo.cpp:1167 + #, c-format + msgid "reviving: repo '%s' skipped, no metalink." + msgstr "復元中: repo '%s' はスキップされました、metalink はありません。" + +-#: libdnf/repo/Repo.cpp:1150 ++#: libdnf/repo/Repo.cpp:1186 + #, c-format + msgid "reviving: repo '%s' skipped, no usable hash." +-msgstr "復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。" ++msgstr "" ++"復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。" + +-#: libdnf/repo/Repo.cpp:1173 ++#: libdnf/repo/Repo.cpp:1209 + #, c-format + msgid "reviving: failed for '%s', mismatched %s sum." + msgstr "復元中: '%s' は失敗しました、%s の合計は一致しません。" + +-#: libdnf/repo/Repo.cpp:1179 ++#: libdnf/repo/Repo.cpp:1215 + #, c-format + msgid "reviving: '%s' can be revived - metalink checksums match." + msgstr "復元中: '%s' は復元できます - metalink チェックサムが一致します。" + +-#: libdnf/repo/Repo.cpp:1204 ++#: libdnf/repo/Repo.cpp:1240 + #, c-format + msgid "reviving: '%s' can be revived - repomd matches." + msgstr "復元中: '%s' は復元できます - repomd が一致します。" + +-#: libdnf/repo/Repo.cpp:1206 ++#: libdnf/repo/Repo.cpp:1242 + #, c-format + msgid "reviving: failed for '%s', mismatched repomd." +-msgstr "復元中: '%s' に失敗しました、repomd が一致しません。" ++msgstr "復元中: '%s' に失敗しました、repomd が一致しません。" + +-#: libdnf/repo/Repo.cpp:1224 ++#: libdnf/repo/Repo.cpp:1260 + #, c-format + msgid "Cannot create repo destination directory \"%s\": %s" + msgstr "repo 送信先ディレクトリ \"%s\" を作成できません : %s" + +-#: libdnf/repo/Repo.cpp:1230 ++#: libdnf/repo/Repo.cpp:1266 + #, c-format + msgid "Cannot create repo temporary directory \"%s\": %s" + msgstr "repo 一時ディレクトリー \"%s\" を作成できません: %s" + +-#: libdnf/repo/Repo.cpp:1244 ++#: libdnf/repo/Repo.cpp:1280 + #, c-format + msgid "Cannot create directory \"%s\": %s" + msgstr "ディレクトリー \"%s\" を作成できません: %s" + +-#: libdnf/repo/Repo.cpp:1267 ++#: libdnf/repo/Repo.cpp:1303 + #, c-format + msgid "Cannot rename directory \"%s\" to \"%s\": %s" + msgstr "ディレクトリー名を \"%s\" から \"%s\" へと変更できません: %s" + +-#: libdnf/repo/Repo.cpp:1290 ++#: libdnf/repo/Repo.cpp:1326 + #, c-format + msgid "repo: using cache for: %s" + msgstr "repo: キャッシュを使用: %s" + +-#: libdnf/repo/Repo.cpp:1302 ++#: libdnf/repo/Repo.cpp:1338 + #, c-format + msgid "Cache-only enabled but no cache for '%s'" +-msgstr "キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません" ++msgstr "" ++"キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません" + +-#: libdnf/repo/Repo.cpp:1306 ++#: libdnf/repo/Repo.cpp:1342 + #, c-format + msgid "repo: downloading from remote: %s" + msgstr "repo: リモートからダウンロード中: %s" + +-#: libdnf/repo/Repo.cpp:1312 ++#: libdnf/repo/Repo.cpp:1349 + #, c-format + msgid "Failed to download metadata for repo '%s': %s" + msgstr "repo '%s' のメタデータのダウンロードに失敗しました : %s" + +-#: libdnf/repo/Repo.cpp:1338 ++#: libdnf/repo/Repo.cpp:1375 + msgid "getCachedir(): Computation of SHA256 failed" + msgstr "getCachedir(): SHA256 のコンピュテーションに失敗しました" + +-#: libdnf/repo/Repo.cpp:1363 ++#: libdnf/repo/Repo.cpp:1403 + #, c-format + msgid "Cannot create persistdir \"%s\": %s" + msgstr "persistdir \"%s\" を作成できません : %s" + +-#: libdnf/repo/Repo.cpp:1763 ++#: libdnf/repo/Repo.cpp:1780 + msgid "resume cannot be used simultaneously with the byterangestart param" + msgstr "resume は byterangestart param と同時に使用できません" + +-#: libdnf/repo/Repo.cpp:1780 ++#: libdnf/repo/Repo.cpp:1797 + #, c-format + msgid "PackageTarget initialization failed: %s" + msgstr "PackageTarget の初期化に失敗しました: %s" + +-#: libdnf/repo/Repo.cpp:1886 ++#: libdnf/repo/Repo.cpp:1903 + #, c-format + msgid "Cannot open %s: %s" + msgstr "%s を開くことができません: %s" + +-#: libdnf/repo/Repo.cpp:1930 ++#: libdnf/repo/Repo.cpp:1947 + #, c-format + msgid "Log handler with id %ld doesn't exist" + msgstr "id %ld を伴うログハンドラーは存在しません" +@@ -881,27 +1150,28 @@ msgstr "id %ld を伴うログハンドラーは存在しません" + msgid "In progress" + msgstr "進行中" + +-#: libdnf/transaction/Swdb.cpp:188 libdnf/transaction/Swdb.cpp:216 +-#: libdnf/transaction/Swdb.cpp:228 libdnf/transaction/Swdb.cpp:245 +-#: libdnf/transaction/Swdb.cpp:384 libdnf/transaction/Swdb.cpp:394 ++#: libdnf/transaction/Swdb.cpp:187 libdnf/transaction/Swdb.cpp:215 ++#: libdnf/transaction/Swdb.cpp:227 libdnf/transaction/Swdb.cpp:244 ++#: libdnf/transaction/Swdb.cpp:383 libdnf/transaction/Swdb.cpp:393 + msgid "Not in progress" + msgstr "進行中ではありません" + +-#: libdnf/transaction/Swdb.cpp:255 ++#: libdnf/transaction/Swdb.cpp:254 + msgid "No transaction in progress" + msgstr "進行中のトランザクションはありません" + +-#: libdnf/transaction/TransactionItem.cpp:147 ++#: libdnf/transaction/TransactionItem.cpp:146 + msgid "Attempt to insert transaction item into completed transaction" + msgstr "完了したトランザクションにトランザクションアイテムの挿入を試みます" + +-#: libdnf/transaction/TransactionItem.cpp:218 ++#: libdnf/transaction/TransactionItem.cpp:217 + msgid "Attempt to update transaction item in completed transaction" + msgstr "完了したトランザクションにトランザクションアイテムの更新を試みます" + + #: libdnf/transaction/Transformer.cpp:76 + msgid "Database Corrupted: no row 'version' in table 'config'" + msgstr "" ++"データベースが破損しています。テーブル 'config' の行 'version' がありません" + + #: libdnf/transaction/Transformer.cpp:681 + msgid "Transformer: can't open history persist dir" +@@ -924,8 +1194,21 @@ msgstr "TransactionItem の状態は設定されていません: %s" + msgid "Can't add console output to unsaved transaction" + msgstr "未保存のトランザクションにコンソールの出力を追加できません" + ++#~ msgid "failed to add solv" ++#~ msgstr "solv の追加に失敗しました" ++ ++#~ msgid "write_main() failed writing data: %i" ++#~ msgstr "write_main() はデータの書き込みに失敗しました: %i" ++ ++#~ msgid "write_main() failed to re-load written solv file" ++#~ msgstr "" ++#~ "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました" ++ ++#~ msgid "write_ext(%1$d) has failed: %2$d" ++#~ msgstr "write_ext(%1$d) は失敗しました: %2$d" ++ ++#~ msgid "repo_add_repomdxml/rpmmd() has failed." ++#~ msgstr "repo_add_repomdxml/rpmmd() は失敗しました。" ++ + #~ msgid "Bad id for repo: %s, byte = %s %d" + #~ msgstr "repo に対する不正な id: %s, byte = %s %d" +- +-#~ msgid "failed calculating RPMDB checksum" +-#~ msgstr "RPMDB チェックサムの計算に失敗しました" +diff --git a/po/ko.po b/po/ko.po +index 48094831..777b79f0 100644 +--- a/po/ko.po ++++ b/po/ko.po +@@ -1,31 +1,33 @@ + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. + # Ludek Janda , 2018. #zanata ++# simmon , 2021. ++# 김인수 , 2022. + 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: 2018-11-02 05:26+0000\n" +-"Last-Translator: Copied by Zanata \n" +-"Language-Team: Korean\n" ++"POT-Creation-Date: 2023-02-28 09:11+0100\n" ++"PO-Revision-Date: 2022-11-03 02:19+0000\n" ++"Last-Translator: 김인수 \n" ++"Language-Team: Korean \n" + "Language: ko\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Plural-Forms: nplurals=1; plural=0\n" +-"X-Generator: Zanata 4.6.2\n" ++"Plural-Forms: nplurals=1; plural=0;\n" ++"X-Generator: Weblate 4.14.1\n" + + #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40 + msgid "no value specified" +-msgstr "값이 지정되지 않았습니다." ++msgstr "값이 지정되지 않았습니다" + + #: libdnf/conf/ConfigMain.cpp:67 libdnf/conf/OptionSeconds.cpp:48 + #, c-format + msgid "seconds value '%s' must not be negative" +-msgstr "초 값 '%s음수가 아니어야합니다." ++msgstr "초 값 '%s 음수가 아니어야합니다" + + #: libdnf/conf/ConfigMain.cpp:71 + #, c-format +@@ -37,17 +39,34 @@ msgstr "변환 할 수 없습니다 '%s'~ 바이트" + msgid "unknown unit '%s'" + msgstr "알 수없는 단위 '%s'" + +-#: libdnf/conf/ConfigMain.cpp:332 ++#: libdnf/conf/ConfigMain.cpp:204 libdnf/conf/OptionEnum.cpp:83 ++#: libdnf/conf/OptionNumber.cpp:88 ++msgid "invalid value" ++msgstr "잘못된 값" ++ ++#: libdnf/conf/ConfigMain.cpp:207 ++msgid "value 1 is not allowed" ++msgstr "값 1은 허용되지 않습니다" ++ ++#: libdnf/conf/ConfigMain.cpp:209 ++msgid "negative value is not allowed" ++msgstr "음수 값은 허용되지 않습니다" ++ ++#: libdnf/conf/ConfigMain.cpp:341 + #, c-format + msgid "percentage '%s' is out of range" +-msgstr "백분율 '%s'범위를 벗어났습니다." ++msgstr "백분율 '%s' 범위를 벗어났습니다" ++ ++#: libdnf/conf/ConfigRepo.cpp:182 ++msgid "only the value 'priority' is supported." ++msgstr "'우선순위' 값만 지원됩니다." + +-#: libdnf/conf/OptionBinds.cpp:76 ++#: libdnf/conf/OptionBinds.cpp:85 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" does not exist" + msgstr "구성 : ID가 \"%s\" 존재하지 않는다" + +-#: libdnf/conf/OptionBinds.cpp:88 ++#: libdnf/conf/OptionBinds.cpp:97 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" already exists" + msgstr "구성 : ID가 \"%s\" 이미 존재 함" +@@ -58,14 +77,10 @@ msgid "invalid boolean value '%s'" + msgstr "유효하지 않은 부울 값 '%s'" + + #: libdnf/conf/OptionEnum.cpp:72 libdnf/conf/OptionEnum.cpp:158 +-#: libdnf/conf/OptionString.cpp:59 libdnf/conf/OptionStringList.cpp:59 ++#: libdnf/conf/OptionString.cpp:64 libdnf/conf/OptionStringList.cpp:59 + #, c-format + msgid "'%s' is not an allowed value" +-msgstr "'%s'은 (는) 허용 된 값이 아닙니다." +- +-#: libdnf/conf/OptionEnum.cpp:83 libdnf/conf/OptionNumber.cpp:88 +-msgid "invalid value" +-msgstr "잘못된 값" ++msgstr "'%s'는 허용 된 값이 아닙니다" + + #: libdnf/conf/OptionNumber.cpp:73 + #, c-format +@@ -92,29 +107,136 @@ msgstr "주어진 경로 '%s' 존재하지 않는다." + msgid "could not convert '%s' to seconds" + msgstr "변환 할 수 없습니다 '%s'초까지" + +-#: libdnf/conf/OptionString.cpp:74 ++#: libdnf/conf/OptionString.cpp:79 + msgid "GetValue(): Value not set" +-msgstr "GetValue () : 값이 설정되지 않았습니다." ++msgstr "GetValue () : 값이 설정되지 않았습니다" + +-#: libdnf/dnf-goal.cpp:68 +-msgid "Could not depsolve transaction; " ++#: libdnf/dnf-context.cpp:3176 libdnf/dnf-context.cpp:3185 ++#, c-format ++msgid "Cannot enable more streams from module '%s' at the same time" ++msgstr "동시에 모듈 '%s’에서 다른 스트림을 활성화 할 수 없습니다" ++ ++#: libdnf/dnf-context.cpp:3194 libdnf/dnf-context.cpp:3212 ++#, c-format ++msgid "" ++"Cannot enable module '%1$s' stream '%2$s': State of module already modified" ++msgstr "" ++"모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었" ++"습니다" ++ ++#: libdnf/dnf-context.cpp:3259 ++#, c-format ++msgid "Modular dependency problem with Defaults: %s" ++msgstr "기본설정에 모듈 의존성 문제: %s" ++ ++#: libdnf/dnf-context.cpp:3262 ++#, c-format ++msgid "Modular dependency problem: %s" ++msgstr "모듈러 의존성 문제: %s" ++ ++#: libdnf/dnf-context.cpp:3296 libdnf/dnf-context.cpp:3320 ++#: libdnf/dnf-context.cpp:3331 libdnf/dnf-context.cpp:3370 ++#: libdnf/dnf-context.cpp:3386 libdnf/dnf-context.cpp:3418 ++#: libdnf/dnf-context.cpp:3462 libdnf/dnf-context.cpp:3472 ++#, c-format ++msgid "Unable to resolve argument '%s'" ++msgstr "인수 %s를 해결 할 수 없습니다" ++ ++#: libdnf/dnf-context.cpp:3303 ++#, c-format ++msgid "" ++"Only module name is required. Ignoring unneeded information in argument: '%s'" ++msgstr "모듈 이름만 필요합니다. 인수에서 불필요한 정보를 무시합니다: '%s'" ++ ++#: libdnf/dnf-context.cpp:3317 ++#, c-format ++msgid "Cannot reset module '%s': State of module already modified" ++msgstr "모듈 '%s 를 재설정 할 수 없습니다: 모듈 상태가 이미 변경되었습니다" ++ ++#: libdnf/dnf-context.cpp:3328 ++#, c-format ++msgid "Cannot disable module '%s': State of module already modified" ++msgstr "모듈 '%s'사용 할 수 없습니다: 모듈 상태는 이미 적재되었습니다" ++ ++#: libdnf/dnf-context.cpp:3359 libdnf/dnf-context.cpp:3451 ++#: libdnf/dnf-context.cpp:3564 ++msgid "No modular data available" ++msgstr "모듈러 자료를 이용 할 수 없습니다" ++ ++#: libdnf/dnf-context.cpp:3376 ++#, c-format ++msgid "Ignoring unneeded information in argument: '%s'" ++msgstr "인수: '%s'에 불필요한 정보를 무시하기" ++ ++#: libdnf/dnf-context.cpp:3414 ++#, c-format ++msgid "" ++"Problem during enablement of dependency tree for module '%1$s' stream " ++"'%2$s': %3$s" ++msgstr "" ++"모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 중에 발생하는 " ++"문제" ++ ++#: libdnf/dnf-context.cpp:3426 ++msgid "Problems appeared for module enable request" ++msgstr "모듈 활성화 요청에 나타난 문제" ++ ++#. this really should never happen; unless the modular repodata is corrupted ++#: libdnf/dnf-context.cpp:3501 ++#, c-format ++msgid "Failed to parse module artifact NEVRA '%s'" ++msgstr "모듈 artifact NERVE '%s' 구분 분석에 실패함" ++ ++#: libdnf/dnf-context.cpp:3535 ++msgid "Problems appeared for module install request" ++msgstr "모듈 설치 요청을 위해 나타난 문제" ++ ++#: libdnf/dnf-context.cpp:3595 ++msgid "Problems appeared for module reset request" ++msgstr "모듈 초기화 요청을 위해 나나탄 문제" ++ ++#: libdnf/dnf-context.cpp:3597 ++msgid "Problems appeared for module disable request" ++msgstr "모듈 비활성화 요청을 위해 나타난 문제" ++ ++#: libdnf/dnf-context.cpp:3633 ++#, c-format ++msgid "" ++"The operation would result in switching of module '%s' stream '%s' to stream " ++"'%s'" ++msgstr "이 동작은 모듈 '%s'' 스트림 ‘%s'에서 스트림 '%s'로의 전환 결과입니다" ++ ++#: libdnf/dnf-context.cpp:3637 ++msgid "" ++"It is not possible to switch enabled streams of a module.\n" ++"It is recommended to remove all installed content from the module, and reset " ++"the module using 'microdnf module reset ' command. After you " ++"reset the module, you can install the other stream." + msgstr "" ++"활성화된 모듈 스트림을 전환 할 수 없습니다.\n" ++"설치된 모든 내용을 모듈에서 제거하고 ‘' 명령을 사용하여 모듈을 " ++"재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치 할 수 있습니" ++"다." + +-#: libdnf/dnf-goal.cpp:70 ++#: libdnf/dnf-goal.cpp:85 ++msgid "Could not depsolve transaction; " ++msgstr "연결을 해제 할 수 없습니다; " ++ ++#: libdnf/dnf-goal.cpp:87 + #, c-format + msgid "%i problem detected:\n" + msgid_plural "%i problems detected:\n" +-msgstr[0] "" ++msgstr[0] "%i 발견 된 문제 :\n" + +-#: libdnf/dnf-goal.cpp:78 ++#: libdnf/dnf-goal.cpp:95 + #, c-format + msgid " Problem %1$i: %2$s\n" +-msgstr "" ++msgstr " 문제 %1$i: %2$s\n" + +-#: libdnf/dnf-goal.cpp:80 ++#: libdnf/dnf-goal.cpp:97 + #, c-format + msgid " Problem: %s\n" +-msgstr "" ++msgstr " 문제: %s\n" + + #: libdnf/dnf-rpmts.cpp:79 + #, c-format +@@ -122,6 +244,8 @@ msgid "" + "No available modular metadata for modular package '%s'; cannot be installed " + "on the system" + msgstr "" ++"모듈러 꾸러미 '%s'에 사용 가능한 모듈러 메타데이터가 없으며; 시스템에 설치 " ++"할 수 없습니다" + + #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166 + #, c-format +@@ -156,11 +280,12 @@ msgstr "설치 요소를 추가하지 못했습니다. %1$s [%2$i]" + #: libdnf/dnf-rpmts.cpp:274 + #, c-format + msgid "Error running transaction: %s" +-msgstr "트랜잭션 실행 오류 : %s" ++msgstr "연결 실행 오류 : %s" + + #: libdnf/dnf-rpmts.cpp:283 + msgid "Error running transaction and no problems were reported!" +-msgstr "트랜잭션을 실행하는 중 오류가 발생했으며 아무런 문제도보고되지 않았습니다!" ++msgstr "" ++"연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!" + + #: libdnf/dnf-rpmts.cpp:346 + msgid "Fatal error, run database recovery" +@@ -176,87 +301,126 @@ msgstr "꾸러미를 찾지 못했습니다. %s" + msgid "could not add erase element %1$s(%2$i)" + msgstr "요소 지우기를 추가 할 수 없습니다. %1$s(%2$i)" + +-#: libdnf/dnf-sack.cpp:381 ++#: libdnf/dnf-sack.cpp:252 ++msgid "repo_add_solv() has failed." ++msgstr "repo_add_solv() 실패하였습니다." ++ ++#: libdnf/dnf-sack.cpp:416 + #, c-format +-msgid "no %1$s string for %2$s" +-msgstr "" ++msgid "Loading extension cache %s (%d) failed: " ++msgstr "확장 캐쉬 %s (%d) 적재 중 실패함: " + +-#: libdnf/dnf-sack.cpp:404 +-msgid "failed to add solv" +-msgstr "solv를 추가하지 못했습니다." ++#: libdnf/dnf-sack.cpp:430 ++#, c-format ++msgid "no %1$s string for %2$s" ++msgstr "%2$s에 %1$s 문자열이 없습니다" + +-#: libdnf/dnf-sack.cpp:422 ++#: libdnf/dnf-sack.cpp:440 + #, c-format + msgid "failed to open: %s" + msgstr "열지 못했습니다 : %s" + +-#: libdnf/dnf-sack.cpp:501 ++#: libdnf/dnf-sack.cpp:519 + #, c-format + msgid "cannot create temporary file: %s" + msgstr "임시 파일을 만들 수 없습니다. %s" + +-#: libdnf/dnf-sack.cpp:511 ++#: libdnf/dnf-sack.cpp:529 + #, c-format + msgid "failed opening tmp file: %s" + msgstr "여는 tmp 파일을 열지 못했습니다. %s" + +-#: libdnf/dnf-sack.cpp:523 ++#: libdnf/dnf-sack.cpp:551 + #, c-format +-msgid "write_main() failed writing data: %i" +-msgstr "write_main() failed writing data: %i" ++msgid "While writing primary cache %s repowriter write failed: %i, error: %s" ++msgstr "기본 캐쉬 %s를 쓰는 동안에 repowriter 쓰기가 실패함: %i, 오류: %s" + +-#: libdnf/dnf-sack.cpp:540 +-msgid "write_main() failed to re-load written solv file" +-msgstr "write_main ()이 작성된 solv 파일을 다시로드하지 못했습니다." ++#: libdnf/dnf-sack.cpp:561 ++#, c-format ++msgid "Failed closing tmp file %s: %s" ++msgstr "tmp 파일을 닫는데 실패함 %s: %s" + +-#: libdnf/dnf-sack.cpp:605 ++#: libdnf/dnf-sack.cpp:571 ++#, c-format ++msgid "Failed to use newly written primary cache: %s: " ++msgstr "새롭게 작성된 기본 캐쉬를 사용하는데 실패함: %s: " ++ ++#: libdnf/dnf-sack.cpp:577 ++#, c-format ++msgid "Failed to use newly written primary cache: %s" ++msgstr "새롭게 작성된 기본 캐쉬를 사용하는데 실패함: %s" ++ ++#: libdnf/dnf-sack.cpp:627 + #, c-format + msgid "can not create temporary file %s" + msgstr "임시 파일을 만들 수 없습니다. %s" + +-#: libdnf/dnf-sack.cpp:623 ++#: libdnf/dnf-sack.cpp:667 ++#, c-format ++msgid "" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" ++msgstr "확장 캐쉬 %s (%d)를 쓰는 동안: repowriter 쓰기가 실패함: %i, 오류: %s" ++ ++#: libdnf/dnf-sack.cpp:677 + #, c-format +-msgid "write_ext(%1$d) has failed: %2$d" +-msgstr "write_ext(%1$d) has failed: %2$d" ++msgid "While writing extension cache (%d): cannot close temporary file: %s" ++msgstr "확장 캐쉬 (%d)를 쓰는 동안: 임시 파일을 닫을 수 없습니다: %s" + +-#: libdnf/dnf-sack.cpp:678 ++#: libdnf/dnf-sack.cpp:693 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d): " ++msgstr "새롭게 작성된 확장 캐쉬를 사용하는데 실패함: %s (%d): " ++ ++#: libdnf/dnf-sack.cpp:700 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d)" ++msgstr "새롭게 작성된 확장 캐쉬를 사용하는데 실패함: %s (%d)" ++ ++#: libdnf/dnf-sack.cpp:741 + msgid "null repo md file" + msgstr "null repo md 파일" + +-#: libdnf/dnf-sack.cpp:687 ++#: libdnf/dnf-sack.cpp:750 + #, c-format + msgid "can not read file %1$s: %2$s" + msgstr "파일을 읽을 수 없습니다. %1$s: %2$s" + +-#: libdnf/dnf-sack.cpp:701 +-msgid "repo_add_solv() has failed." +-msgstr "repo_add_solv() has failed." ++#: libdnf/dnf-sack.cpp:765 ++#, c-format ++msgid "While loading repository failed to use %s: " ++msgstr "저장소를 적재하는 동안에 %s를 사용하는데 실패함: " + +-#: libdnf/dnf-sack.cpp:714 ++#: libdnf/dnf-sack.cpp:776 + msgid "loading of MD_TYPE_PRIMARY has failed." +-msgstr "" ++msgstr "MD_TYPE_PRIMARY를 적재하지 못했습니다." + +-#: libdnf/dnf-sack.cpp:727 +-msgid "repo_add_repomdxml/rpmmd() has failed." +-msgstr "repo_add_repomdxml/rpmmd() has failed." ++#: libdnf/dnf-sack.cpp:788 ++#, c-format ++msgid "Loading repomd has failed: %s" ++msgstr "repomd 적재하는데 실패함: %s" ++ ++#: libdnf/dnf-sack.cpp:799 ++#, c-format ++msgid "Loading primary has failed: %s" ++msgstr "기본 적재하는데 실패함: %s" + +-#: libdnf/dnf-sack.cpp:794 ++#: libdnf/dnf-sack.cpp:865 + msgid "failed to auto-detect architecture" +-msgstr "아키텍처 자동 검색에 실패했습니다." ++msgstr "구조 자동 검색에 실패했습니다" + +-#: libdnf/dnf-sack.cpp:919 ++#: libdnf/dnf-sack.cpp:1030 + #, c-format + msgid "failed creating cachedir %s" +-msgstr "캐시 된 생성 실패 %s" ++msgstr "캐쉬 된 생성 실패 %s" + +-#: libdnf/dnf-sack.cpp:1696 ++#: libdnf/dnf-sack.cpp:1807 + msgid "failed loading RPMDB" + msgstr "RPMDB로드 실패" + +-#: libdnf/dnf-sack.cpp:2403 ++#: libdnf/dnf-sack.cpp:2532 + #, c-format + msgid "No module defaults found: %s" +-msgstr "" ++msgstr "모듈 기본 설정을 찾을 수 없습니다: %s" + + #: libdnf/dnf-state.cpp:1184 + #, c-format +@@ -285,7 +449,7 @@ msgstr "이미 100 %% 상태 [%s]" + #: libdnf/dnf-transaction.cpp:300 + #, c-format + msgid "Sources not set when trying to ensure package %s" +-msgstr "패키지를 만들 때 소스가 설정되지 않았습니다. %s" ++msgstr "꾸러미 %s를 확인 하려고 할 때 원천이 설정되지 않았습니다" + + #: libdnf/dnf-transaction.cpp:326 + #, c-format +@@ -299,7 +463,7 @@ msgstr "신뢰할 수 없는지 확인하지 못했습니다. " + #: libdnf/dnf-transaction.cpp:377 + #, c-format + msgid "Downloaded file for %s not found" +-msgstr "에 대한 다운로드 파일 %s 찾을 수 없음" ++msgstr "에 대한 내려받기 파일 %s 찾을 수 없음" + + #: libdnf/dnf-transaction.cpp:397 + #, c-format +@@ -308,7 +472,7 @@ msgstr "꾸러미 %1$s 확인 및 복구 할 수 없습니다. %2$s GPG 사용 + + #: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 + msgid "Failed to get value for CacheDir" +-msgstr "CacheDir에 대한 값을 가져 오는 데 실패했습니다." ++msgstr "CacheDir에 대한 값을 가져 오는 데 실패했습니다" + + #: libdnf/dnf-transaction.cpp:911 + #, c-format +@@ -325,26 +489,26 @@ msgstr "에 대한 파일 시스템 크기를 가져 오는 데 실패했습니 + msgid "Not enough free space in %1$s: needed %2$s, available %3$s" + msgstr "여유 공간이 부족합니다. %1$s: 필요 %2$s, 이용 가능 %3$s" + +-#: libdnf/dnf-transaction.cpp:1196 ++#: libdnf/dnf-transaction.cpp:1195 + msgid "failed to set root" +-msgstr "루트를 설정하지 못했습니다." ++msgstr "루트를 설정하지 못했습니다" + +-#: libdnf/dnf-transaction.cpp:1418 ++#: libdnf/dnf-transaction.cpp:1416 + #, c-format + msgid "Error %i running transaction test" +-msgstr "오류 %i 실행중인 트랜잭션 테스트" ++msgstr "%i 연결 실행 중 오류" + +-#: libdnf/dnf-transaction.cpp:1458 ++#: libdnf/dnf-transaction.cpp:1456 + #, c-format + msgid "Error %i running transaction" +-msgstr "오류 %i 실행중인 거래" ++msgstr "오류 %i 실행중인 연결" + +-#: libdnf/dnf-transaction.cpp:1473 ++#: libdnf/dnf-transaction.cpp:1472 + #, c-format + msgid "Transaction did not go to writing phase, but returned no error(%i)" +-msgstr "트랜잭션이 쓰기 단계로 이동하지 않았지만 오류를 반환하지 않았습니다 (%i)" ++msgstr "연결이 쓰기 단계로 이동하지 않았지만 오류를 반환하지 않았습니다 (%i)" + +-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:399 ++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485 + #, c-format + msgid "cannot open directory %1$s: %2$s" + msgstr "디렉토리를 열 수 없습니다. %1$s: %2$s" +@@ -354,369 +518,421 @@ msgstr "디렉토리를 열 수 없습니다. %1$s: %2$s" + msgid "failed to remove %s" + msgstr "제거하지 못했습니다. %s" + +-#: libdnf/goal/Goal.cpp:55 ++#: libdnf/goal/Goal.cpp:74 + msgid "Ill-formed Selector, presence of multiple match objects in the filter" +-msgstr "" ++msgstr "잘못된 형식의 선택기, 필터에 일치하는 개체가 여러 개 있음" + +-#: libdnf/goal/Goal.cpp:56 ++#: libdnf/goal/Goal.cpp:75 + msgid "Ill-formed Selector used for the operation, incorrect comparison type" +-msgstr "" ++msgstr "조작에 잘못 형성된 선택자, 잘못된 비교 유형" + +-#: libdnf/goal/Goal.cpp:67 libdnf/goal/Goal.cpp:94 ++#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 + msgid " does not belong to a distupgrade repository" +-msgstr "" ++msgstr " distupgrade 저장소에 속하지 않습니다" + +-#: libdnf/goal/Goal.cpp:68 libdnf/goal/Goal.cpp:95 ++#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 + msgid " has inferior architecture" +-msgstr "" ++msgstr " 하위 구조" + +-#: libdnf/goal/Goal.cpp:69 ++#: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " +-msgstr "" ++msgstr "설치된 꾸러미 문제 " + +-#: libdnf/goal/Goal.cpp:70 libdnf/goal/Goal.cpp:97 ++#: libdnf/goal/Goal.cpp:89 libdnf/goal/Goal.cpp:116 + msgid "conflicting requests" +-msgstr "" ++msgstr "충돌하는 요청" + +-#: libdnf/goal/Goal.cpp:71 libdnf/goal/Goal.cpp:98 ++#: libdnf/goal/Goal.cpp:90 libdnf/goal/Goal.cpp:117 + msgid "unsupported request" +-msgstr "" ++msgstr "지원되지 않는 요청" + +-#: libdnf/goal/Goal.cpp:72 libdnf/goal/Goal.cpp:99 ++#: libdnf/goal/Goal.cpp:91 libdnf/goal/Goal.cpp:118 + msgid "nothing provides requested " +-msgstr "" ++msgstr "요청이 없습니다 " + +-#: libdnf/goal/Goal.cpp:73 ++#: libdnf/goal/Goal.cpp:92 + #, c-format + msgid "package %s does not exist" +-msgstr "" ++msgstr "꾸러미 %s가 존재하지 않습니다" + +-#: libdnf/goal/Goal.cpp:74 libdnf/goal/Goal.cpp:101 ++#: libdnf/goal/Goal.cpp:93 libdnf/goal/Goal.cpp:120 + msgid " is provided by the system" +-msgstr "" ++msgstr " 시스템에서 제공" + +-#: libdnf/goal/Goal.cpp:75 libdnf/goal/Goal.cpp:102 ++#: libdnf/goal/Goal.cpp:94 libdnf/goal/Goal.cpp:121 + msgid "some dependency problem" +-msgstr "" ++msgstr "종속성 문제" + +-#: libdnf/goal/Goal.cpp:76 ++#: libdnf/goal/Goal.cpp:95 + msgid "cannot install the best update candidate for package " +-msgstr "" ++msgstr "꾸러미에 가장 적합한 최신화 선택을 설치 할 수 없습니다 " + +-#: libdnf/goal/Goal.cpp:77 libdnf/goal/Goal.cpp:104 ++#: libdnf/goal/Goal.cpp:96 libdnf/goal/Goal.cpp:123 + msgid "cannot install the best candidate for the job" +-msgstr "" ++msgstr "작업에 가장 적합한 선택을 설치 할 수 없습니다" + +-#: libdnf/goal/Goal.cpp:78 ++#: libdnf/goal/Goal.cpp:97 + #, c-format + msgid "package %s is filtered out by modular filtering" +-msgstr "" ++msgstr "꾸러미 %s가 모듈식으로 걸러 제거됩니다" + +-#: libdnf/goal/Goal.cpp:79 ++#: libdnf/goal/Goal.cpp:98 + #, c-format + msgid "package %s does not have a compatible architecture" +-msgstr "" ++msgstr "꾸러미 %s에 호환 구조가 없습니다" + +-#: libdnf/goal/Goal.cpp:80 ++#: libdnf/goal/Goal.cpp:99 + #, c-format + msgid "package %s is not installable" +-msgstr "" ++msgstr "꾸러미 %s 가 설치 할 수 없습니다" + +-#: libdnf/goal/Goal.cpp:81 ++#: libdnf/goal/Goal.cpp:100 + #, c-format + msgid "package %s is filtered out by exclude filtering" +-msgstr "" ++msgstr "꾸러미 %s가 걸러지는 것에서 제외되었습니다" + +-#: libdnf/goal/Goal.cpp:82 ++#: libdnf/goal/Goal.cpp:101 + #, c-format + msgid "nothing provides %s needed by %s" +-msgstr "" ++msgstr "%s에 필요한 %s가 제공되지 않았습니다" + +-#: libdnf/goal/Goal.cpp:83 ++#: libdnf/goal/Goal.cpp:102 + #, c-format + msgid "cannot install both %s and %s" +-msgstr "" ++msgstr "%s 와 %s 모두 설치 할 수 없습니다" + +-#: libdnf/goal/Goal.cpp:84 ++#: libdnf/goal/Goal.cpp:103 + #, c-format + msgid "package %s conflicts with %s provided by %s" +-msgstr "" ++msgstr "꾸러미 %s은 %s에서 제공된 %s와 충돌합니다" + +-#: libdnf/goal/Goal.cpp:85 ++#: libdnf/goal/Goal.cpp:104 + #, c-format + msgid "package %s obsoletes %s provided by %s" +-msgstr "" ++msgstr "꾸러미 %s가 %s에의해 제공된 %s를 폐기합니다" + +-#: libdnf/goal/Goal.cpp:86 ++#: libdnf/goal/Goal.cpp:105 + #, c-format + msgid "installed package %s obsoletes %s provided by %s" +-msgstr "" ++msgstr "설치된 꾸러미 %s는 %s에 의해 %s 폐기되었습니다" + +-#: libdnf/goal/Goal.cpp:87 ++#: libdnf/goal/Goal.cpp:106 + #, c-format + msgid "package %s implicitly obsoletes %s provided by %s" +-msgstr "" ++msgstr "꾸러미 %s가 %s에 의해 %s가 암시적으로 폐기되었습니다" + +-#: libdnf/goal/Goal.cpp:88 ++#: libdnf/goal/Goal.cpp:107 + #, c-format + msgid "package %s requires %s, but none of the providers can be installed" +-msgstr "" ++msgstr "꾸러미 %s는 %s가 필요하지만, 공급자가 없어 설치 할 수 없습니다" + +-#: libdnf/goal/Goal.cpp:89 ++#: libdnf/goal/Goal.cpp:108 + #, c-format + msgid "package %s conflicts with %s provided by itself" +-msgstr "" ++msgstr "꾸러미 %s가 자체적으로 제공된 %s와 충돌합니다" + +-#: libdnf/goal/Goal.cpp:90 ++#: libdnf/goal/Goal.cpp:109 + #, c-format + msgid "both package %s and %s obsolete %s" +-msgstr "" ++msgstr "꾸러미 %s 와 %s 는 모두 %s에서 폐기되었습니다" + +-#: libdnf/goal/Goal.cpp:96 ++#: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " +-msgstr "" ++msgstr "설치된 모듈 문제 " + +-#: libdnf/goal/Goal.cpp:100 ++#: libdnf/goal/Goal.cpp:119 + #, c-format + msgid "module %s does not exist" +-msgstr "" ++msgstr "모듈 %s이 존재하지 않음" + +-#: libdnf/goal/Goal.cpp:103 ++#: libdnf/goal/Goal.cpp:122 + msgid "cannot install the best update candidate for module " +-msgstr "" ++msgstr "모듈에 가장 적합한 최신화 추천을 설치 할 수 없습니다 " + +-#: libdnf/goal/Goal.cpp:105 libdnf/goal/Goal.cpp:108 ++#: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format + msgid "module %s is disabled" +-msgstr "" ++msgstr "모듈 %s를 사용할 수 없습니다" + +-#: libdnf/goal/Goal.cpp:106 ++#: libdnf/goal/Goal.cpp:125 + #, c-format + msgid "module %s does not have a compatible architecture" +-msgstr "" ++msgstr "모듈 %s 에 호환되는 구조가 없습니다" + +-#: libdnf/goal/Goal.cpp:107 ++#: libdnf/goal/Goal.cpp:126 + #, c-format + msgid "module %s is not installable" +-msgstr "" ++msgstr "모듈 %s 를 설치 할 수 없습니다" + +-#: libdnf/goal/Goal.cpp:109 ++#: libdnf/goal/Goal.cpp:128 + #, c-format + msgid "nothing provides %s needed by module %s" +-msgstr "" ++msgstr "모듈 %s 에 필요한 %s 가 제공되지 않았습니다" + +-#: libdnf/goal/Goal.cpp:110 ++#: libdnf/goal/Goal.cpp:129 + #, c-format + msgid "cannot install both modules %s and %s" +-msgstr "" ++msgstr "모듈 %s 와 %s를 모두 설치 할 수 없습니다" + +-#: libdnf/goal/Goal.cpp:111 ++#: libdnf/goal/Goal.cpp:130 + #, c-format + msgid "module %s conflicts with %s provided by %s" +-msgstr "" ++msgstr "모듈 %s가 %s에 의해 제공된 %s와 충돌합니다" + +-#: libdnf/goal/Goal.cpp:112 ++#: libdnf/goal/Goal.cpp:131 + #, c-format + msgid "module %s obsoletes %s provided by %s" +-msgstr "" ++msgstr "모듈 %s가 %s에 의해 제공된 %s를 폐기하였습니다" + +-#: libdnf/goal/Goal.cpp:113 ++#: libdnf/goal/Goal.cpp:132 + #, c-format + msgid "installed module %s obsoletes %s provided by %s" +-msgstr "" ++msgstr "설치된 모듈 %s 가 %s의해 제공된 %s를 폐기합니다" + +-#: libdnf/goal/Goal.cpp:114 ++#: libdnf/goal/Goal.cpp:133 + #, c-format + msgid "module %s implicitly obsoletes %s provided by %s" +-msgstr "" ++msgstr "모듈 %s가 %s 에 의해 %s를 암시적으로 폐기되었습니다" + +-#: libdnf/goal/Goal.cpp:115 ++#: libdnf/goal/Goal.cpp:134 + #, c-format + msgid "module %s requires %s, but none of the providers can be installed" +-msgstr "" ++msgstr "모듈 %s 에 %s 가 필요하지만 공급 업체가 없어 설치 할 수 없습니다" + +-#: libdnf/goal/Goal.cpp:116 ++#: libdnf/goal/Goal.cpp:135 + #, c-format + msgid "module %s conflicts with %s provided by itself" +-msgstr "" ++msgstr "모듈 %s가 자체적으로 제공된 %s와 충돌합니다" + +-#: libdnf/goal/Goal.cpp:117 ++#: libdnf/goal/Goal.cpp:136 + #, c-format + msgid "both module %s and %s obsolete %s" +-msgstr "" ++msgstr "모듈 %s와 %s가 %s에서 폐기되었습니다" + +-#: libdnf/goal/Goal.cpp:1038 ++#: libdnf/goal/Goal.cpp:1051 + msgid "no solver set" +-msgstr "" ++msgstr "solver 설정 없음" + +-#: libdnf/goal/Goal.cpp:1043 ++#: libdnf/goal/Goal.cpp:1056 + #, c-format + msgid "failed to make %s absolute" +-msgstr "" ++msgstr "%s 절대값을 생성을 실패하였습니다" + +-#: libdnf/goal/Goal.cpp:1050 ++#: libdnf/goal/Goal.cpp:1063 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" +-msgstr "" ++msgstr "%1$s: %2$s에 디버그자료 쓰기를 실패했습니다" + +-#: libdnf/goal/Goal.cpp:1062 ++#: libdnf/goal/Goal.cpp:1075 + msgid "no solv in the goal" +-msgstr "" ++msgstr "목표에 solv가 없다" + +-#: libdnf/goal/Goal.cpp:1064 ++#: libdnf/goal/Goal.cpp:1077 + msgid "no solution, cannot remove protected package" +-msgstr "" ++msgstr "해결책 없음, 보호 된 꾸러미를 제거 할 수 없음" + +-#: libdnf/goal/Goal.cpp:1067 ++#: libdnf/goal/Goal.cpp:1080 + msgid "no solution possible" +-msgstr "" ++msgstr "해결책 없음" ++ ++#: libdnf/goal/Goal.cpp:1206 ++msgid "Problem: " ++msgstr "문제: " ++ ++#: libdnf/goal/Goal.cpp:1211 ++#, c-format ++msgid "Problem %d: " ++msgstr "문제 %d: " + +-#: libdnf/goal/Goal.cpp:1479 ++#: libdnf/goal/Goal.cpp:1538 + msgid "" + "The operation would result in removing the following protected packages: " +-msgstr "" ++msgstr "이 작업으로 인해 다음과 같은 보호 꾸러미가 제거됩니다. " + +-#: libdnf/hy-iutil.cpp:322 ++#: libdnf/hy-iutil.cpp:181 ++#, c-format ++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu" ++msgstr "Libsolv의 solv_toolversion은 %zu 길이지만 최대값은 %zu로 예상됩니다" ++ ++#: libdnf/hy-iutil.cpp:408 + #, c-format + msgid "Failed renaming %1$s to %2$s: %3$s" +-msgstr "" ++msgstr "%1$s 을 %2$s: %3$s에 이름 바꾸기 실패" + +-#: libdnf/hy-iutil.cpp:330 ++#: libdnf/hy-iutil.cpp:416 + #, c-format + msgid "Failed setting perms on %1$s: %2$s" +-msgstr "" ++msgstr "%1$s: %2$s에 perms 설정 실패하였습니다" + +-#: libdnf/hy-iutil.cpp:376 ++#: libdnf/hy-iutil.cpp:462 + #, c-format + msgid "cannot create directory %1$s: %2$s" +-msgstr "" ++msgstr "디렉토리를 생성 할 수 없습니다 %1$s: %2$s" + +-#: libdnf/hy-iutil.cpp:411 ++#: libdnf/hy-iutil.cpp:497 + #, c-format + msgid "cannot stat path %1$s: %2$s" +-msgstr "" ++msgstr "경로 %1$s: %2$s stat 할 수 없습니다" + +-#: libdnf/module/ModulePackage.cpp:499 ++#: libdnf/module/ModulePackage.cpp:560 + #, c-format + msgid "Invalid format of Platform module: %s" +-msgstr "" ++msgstr "잘못된 형식의 기반 모듈: %s" + +-#: libdnf/module/ModulePackage.cpp:514 ++#: libdnf/module/ModulePackage.cpp:575 + msgid "Multiple module platforms provided by available packages\n" +-msgstr "" ++msgstr "사용 가능한 꾸러미로 제공되는 다중 모듈 기반\n" + +-#: libdnf/module/ModulePackage.cpp:527 ++#: libdnf/module/ModulePackage.cpp:588 + msgid "Multiple module platforms provided by installed packages\n" +-msgstr "" ++msgstr "설치된 꾸러미로 제공되는 다중 모듈 기반\n" + +-#: libdnf/module/ModulePackage.cpp:554 ++#: libdnf/module/ModulePackage.cpp:615 + #, c-format + msgid "Detection of Platform Module in %s failed: %s" +-msgstr "" ++msgstr "%s 실패한: %s 에서 기반(Platform) 모듈 감지" + +-#: libdnf/module/ModulePackage.cpp:563 ++#: libdnf/module/ModulePackage.cpp:624 + #, c-format + msgid "Missing PLATFORM_ID in %s" +-msgstr "" ++msgstr "%s에서 PLATFORM_ID가 누락됨" + +-#: libdnf/module/ModulePackage.cpp:568 ++#: libdnf/module/ModulePackage.cpp:629 + msgid "No valid Platform ID detected" +-msgstr "" ++msgstr "유효한 기반(Platform) ID가 없습니다" + + #: libdnf/module/ModulePackageContainer.cpp:68 + #, c-format + msgid "Cannot enable multiple streams for module '%s'" +-msgstr "" ++msgstr "모듈 '%s’를 위해 다중 스트림을 활성화 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:294 ++#: libdnf/module/ModulePackageContainer.cpp:295 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" +-msgstr "" ++msgstr "저장소 '%s: %s'와 기본 설정이 충돌합니다" ++ ++#: libdnf/module/ModulePackageContainer.cpp:841 ++msgid "Installing module profiles:\n" ++msgstr "모듈 프로파일 설치:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:856 ++msgid "Disabling module profiles:\n" ++msgstr "모듈 프로파일 비활성화:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:871 ++msgid "Enabling module streams:\n" ++msgstr "모듈 스트림 활성화:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:885 ++msgid "Switching module streams:\n" ++msgstr "모듈 스트림 전환:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:903 ++msgid "Disabling modules:\n" ++msgstr "모듈 비활성화:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:914 ++msgid "Resetting modules:\n" ++msgstr "모듈 재설정:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:1569 ++#: libdnf/module/ModulePackageContainer.cpp:1638 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" +-msgstr "" ++msgstr "'%s'에서 모듈식 Fail-Safe 자료를 적재 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:1575 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" +-msgstr "" ++msgstr "모듈 '%s:%s'에 대해 모듈식 Fail-Safe 자료를 적재 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:1639 ++#: libdnf/module/ModulePackageContainer.cpp:1702 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" +-msgstr "" ++msgstr "모듈식 Fail-Safe 데이터에 대한 “%s\" 디렉토리를 만들 수 없습니다: %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1661 ++#: libdnf/module/ModulePackageContainer.cpp:1718 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" +-msgstr "" ++msgstr "모듈식 Fail Safe 자료를 '%s'에 저장 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:1686 ++#: libdnf/module/ModulePackageContainer.cpp:1741 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" ++msgstr "'%s'에서 모듈식 Fail Safe 자료를 제거 할 수 없습니다" ++ ++#: libdnf/module/ModulePackageContainer.cpp:1773 ++#, c-format ++msgid "" ++"Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " ++"disabled" + msgstr "" ++"'%s:%s'에 사용되지 않는 모듈을 적용할 수 없습니다(대상 모듈 '%s'가 비활성화 " ++"되어 있기 때문에)" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:86 + #, c-format + msgid "Failed to update from string: %s" +-msgstr "" ++msgstr "문자열에서 최신화하지 못했습니다: %s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:110 + #, c-format + msgid "Failed to resolve: %s" +-msgstr "" ++msgstr "해결하지 못했습니다: %s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:115 + #, c-format + msgid "There were errors while resolving modular defaults: %s" +-msgstr "" ++msgstr "모듈식 기본값을 해결하는 동안 오류가 발생했습니다: %s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:120 + #, c-format + msgid "Failed to upgrade defaults: %s" +-msgstr "" ++msgstr "기본값을 최신화에 실패하였습니다: %s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:123 + #, c-format + msgid "Failed to upgrade streams: %s" +-msgstr "" ++msgstr "스트림 최신화에 실패하였습니다: %s" ++ ++#: libdnf/module/modulemd/ModuleMetadata.cpp:212 ++#, c-format ++msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" ++msgstr "%s: %s 일치하는 스트림이 없기 때문에 구식 모듈을 검색 할 수 없습니다" + + #: libdnf/plugin/plugin.cpp:46 + #, c-format + msgid "Can't load shared library \"%s\": %s" +-msgstr "" ++msgstr "공유 라이브러리\"%s\": %s 를 적재 할 수 없습니다" + + #: libdnf/plugin/plugin.cpp:61 libdnf/plugin/plugin.cpp:67 + #: libdnf/plugin/plugin.cpp:73 libdnf/plugin/plugin.cpp:79 + #, c-format + msgid "Can't obtain address of symbol \"%s\": %s" +-msgstr "" ++msgstr "기호 \"%s\": %s 의 주소를 가져 올 수 없습니다" + + #: libdnf/plugin/plugin.cpp:86 + #, c-format + msgid "Loading plugin file=\"%s\"" +-msgstr "" ++msgstr "플러그인 파일 적재중=\"%s\"" + + #: libdnf/plugin/plugin.cpp:89 + #, c-format + msgid "Loaded plugin name=\"%s\", version=\"%s\"" +-msgstr "" ++msgstr "적재된 플러그인 이름=\"%s\", 버전=\"%s\"" + + #: libdnf/plugin/plugin.cpp:96 + msgid "Plugins::loadPlugins() dirPath cannot be empty" +-msgstr "" ++msgstr "Plugins::loadPlugins() dirPath는 비워 둘 수 없습니다" + + #: libdnf/plugin/plugin.cpp:105 + #, c-format + msgid "Can't read plugin directory \"%s\": %s" +-msgstr "" ++msgstr "플러그인 디렉토리 \"%s\": %s 를 읽을 수 없습니다" + + #: libdnf/plugin/plugin.cpp:114 + #, c-format + msgid "Can't load plugin \"%s\": %s" +-msgstr "" ++msgstr "플러그인\"%s\": %s를 적재 할 수 없습니다" + + #: libdnf/repo/DependencySplitter.cpp:50 + msgid "" +@@ -724,198 +940,220 @@ msgid "" + "deprecated and the support will be dropped in future versions. Use '=' " + "operator instead." + msgstr "" ++"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 " ++"연산자는 더 이상 사용되지 않으며, 향후 버전에서는 지원이 중단됩니다. 대신 " ++"'=' 연산자를 사용하세요." + + #: libdnf/repo/Repo.cpp:321 + #, c-format + msgid "Repository %s has no mirror or baseurl set." +-msgstr "" ++msgstr "저장소 %s 는 연결주소 또는 baseurl 구성을 갖고 있지 않습니다." + + #: libdnf/repo/Repo.cpp:330 + #, c-format + msgid "Repository '%s' has unsupported type: 'type=%s', skipping." ++msgstr "저장소 '%s'는 지원하지 않는 유형: 'type=%s'이며, 건너뜁니다." ++ ++#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 ++#: libdnf/repo/Repo.cpp:1387 ++#, c-format ++msgid "repo '%s': 'basecachedir' is not set" ++msgstr "repo '%s': 'basecachedir가 구성되어 있지 않습니다" ++ ++#: libdnf/repo/Repo.cpp:512 ++msgid "" ++"Maximum download speed is lower than minimum. Please change configuration of " ++"minrate or throttle" + msgstr "" ++"최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주" ++"세요" + + #: libdnf/repo/Repo.cpp:546 + #, c-format +-msgid "Cannot find a valid baseurl for repo: %s" ++msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" + msgstr "" ++"repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다" + +-#: libdnf/repo/Repo.cpp:583 libdnf/repo/Repo.cpp:1672 +-msgid "" +-"Maximum download speed is lower than minimum. Please change configuration of" +-" minrate or throttle" +-msgstr "" ++#: libdnf/repo/Repo.cpp:548 ++msgid "'proxy_username' is set but not 'proxy_password'" ++msgstr "'proxy_username' 이 구성되어 있지만 'proxy_password'가 없습니다" ++ ++#: libdnf/repo/Repo.cpp:629 ++#, c-format ++msgid "Cannot find a valid baseurl for repo: %s" ++msgstr "repo: %s 를 위해 유효한 baseurl을 찾을 수 없습니다" + +-#: libdnf/repo/Repo.cpp:633 libdnf/repo/Repo.cpp:655 ++#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682 + #, c-format + msgid "%s: gpgme_data_new_from_fd(): %s" + msgstr "%s: gpgme_data_new_from_fd(): %s" + +-#: libdnf/repo/Repo.cpp:641 libdnf/repo/Repo.cpp:663 ++#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690 + #, c-format + msgid "%s: gpgme_op_import(): %s" + msgstr "%s: gpgme_op_import(): %s" + +-#: libdnf/repo/Repo.cpp:686 libdnf/repo/Repo.cpp:752 libdnf/repo/Repo.cpp:880 ++#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 + #, c-format + msgid "%s: gpgme_ctx_set_engine_info(): %s" + msgstr "%s: gpgme_ctx_set_engine_info(): %s" + +-#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:777 ++#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 + #, c-format + msgid "can not list keys: %s" + msgstr "열쇠를 나열 할 수 없습니다 : %s" + +-#: libdnf/repo/Repo.cpp:806 ++#: libdnf/repo/Repo.cpp:833 + #, c-format + msgid "Failed to retrieve GPG key for repo '%s': %s" +-msgstr "" ++msgstr "repo '%s': %sf 를 위해 GPG key 가져오기에 실패하였습니다" + +-#: libdnf/repo/Repo.cpp:859 ++#: libdnf/repo/Repo.cpp:886 + #, c-format + msgid "repo %s: 0x%s already imported" +-msgstr "레포 %s: 0x%s 이미 수입" ++msgstr "repo %s: 0x%s를 이미 가져왔습니다" + +-#: libdnf/repo/Repo.cpp:887 ++#: libdnf/repo/Repo.cpp:914 + #, c-format + msgid "repo %s: imported key 0x%s." +-msgstr "레포 %s: 가져온 키 0x%s." ++msgstr "repo %s: 0x%s 키를 가져왔습니다." + +-#: libdnf/repo/Repo.cpp:1131 ++#: libdnf/repo/Repo.cpp:1167 + #, c-format + msgid "reviving: repo '%s' skipped, no metalink." +-msgstr "부활 : repo '%s'건너 뛰었습니다." ++msgstr "부활: repo '%s' 건너 뛰었으며, 메타링크가 없습니다." + +-#: libdnf/repo/Repo.cpp:1150 ++#: libdnf/repo/Repo.cpp:1186 + #, c-format + msgid "reviving: repo '%s' skipped, no usable hash." +-msgstr "부활 : repo '%s'건너 뛰었습니다. 사용 가능한 해시가 없습니다." ++msgstr "부활: repo '%s'건너 뛰었으며, 사용 가능한 해쉬가 없습니다." + +-#: libdnf/repo/Repo.cpp:1173 ++#: libdnf/repo/Repo.cpp:1209 + #, c-format + msgid "reviving: failed for '%s', mismatched %s sum." +-msgstr "되살리기 : 실패한 '%s', 불일치 %s 합집합." ++msgstr "부활 : '%s'에 실패하고, %s 합과 일치하지 않음." + +-#: libdnf/repo/Repo.cpp:1179 ++#: libdnf/repo/Repo.cpp:1215 + #, c-format + msgid "reviving: '%s' can be revived - metalink checksums match." +-msgstr "되살아 난다 : '%s'부활 할 수 있습니다 - metalink 체크섬이 일치합니다." ++msgstr "부활: '%s'는 부활 할 수 있습니다 - 메타링크 체크섬이 일치합니다." + +-#: libdnf/repo/Repo.cpp:1204 ++#: libdnf/repo/Repo.cpp:1240 + #, c-format + msgid "reviving: '%s' can be revived - repomd matches." +-msgstr "되살아 난다 : '%s'부활 할 수 있습니다 - repomd가 일치합니다." ++msgstr "부활: '%s'는 부활 할 수 있습니다 - repomd가 일치합니다." + +-#: libdnf/repo/Repo.cpp:1206 ++#: libdnf/repo/Repo.cpp:1242 + #, c-format + msgid "reviving: failed for '%s', mismatched repomd." +-msgstr "되살리기 : 실패한 '%s', 일치하지 않는 repomd." ++msgstr "부활: '%s'에 실패하고, 일치하지 않은 repomd." + +-#: libdnf/repo/Repo.cpp:1224 ++#: libdnf/repo/Repo.cpp:1260 + #, c-format + msgid "Cannot create repo destination directory \"%s\": %s" +-msgstr "" ++msgstr "repo 목적지 디렉토리 \"%s\": %s 를 생성 할 수 없습니다" + +-#: libdnf/repo/Repo.cpp:1230 ++#: libdnf/repo/Repo.cpp:1266 + #, c-format + msgid "Cannot create repo temporary directory \"%s\": %s" + msgstr "임시 저장소 디렉토리를 만들 수 없습니다 \"%s\": %s" + +-#: libdnf/repo/Repo.cpp:1244 ++#: libdnf/repo/Repo.cpp:1280 + #, c-format + msgid "Cannot create directory \"%s\": %s" + msgstr "디렉토리를 만들 수 없습니다 \"%s\": %s" + +-#: libdnf/repo/Repo.cpp:1267 ++#: libdnf/repo/Repo.cpp:1303 + #, c-format + msgid "Cannot rename directory \"%s\" to \"%s\": %s" +-msgstr "디렉터리 이름을 바꿀 수 없습니다 \"%s\"~\"%s\": %s" ++msgstr "디렉토리 \"%s\"를 \"%s\": %s로 변경 할 수 없음" + +-#: libdnf/repo/Repo.cpp:1290 ++#: libdnf/repo/Repo.cpp:1326 + #, c-format + msgid "repo: using cache for: %s" +-msgstr "repo : 캐시 사용 : %s" ++msgstr "repo: 캐쉬 사용: %s" + +-#: libdnf/repo/Repo.cpp:1302 ++#: libdnf/repo/Repo.cpp:1338 + #, c-format + msgid "Cache-only enabled but no cache for '%s'" +-msgstr "캐시 만 사용 가능하지만 '%s'" ++msgstr "캐쉬만 사용 가능하지만 '%s'를 위해 캐쉬가 없습니다" + +-#: libdnf/repo/Repo.cpp:1306 ++#: libdnf/repo/Repo.cpp:1342 + #, c-format + msgid "repo: downloading from remote: %s" +-msgstr "repo : 원격에서 다운로드 중 : %s" ++msgstr "repo: 원격에서 내려받기 중: %s" + +-#: libdnf/repo/Repo.cpp:1312 ++#: libdnf/repo/Repo.cpp:1349 + #, c-format + msgid "Failed to download metadata for repo '%s': %s" +-msgstr "" ++msgstr "repo를 위한 메타자료 내려받기에 실패하였습니다 '%s': %s" + +-#: libdnf/repo/Repo.cpp:1338 ++#: libdnf/repo/Repo.cpp:1375 + msgid "getCachedir(): Computation of SHA256 failed" +-msgstr "getCachedir () : SHA256 계산에 실패했습니다." ++msgstr "getCachedir(): SHA256 계산에 실패했습니다" + +-#: libdnf/repo/Repo.cpp:1363 ++#: libdnf/repo/Repo.cpp:1403 + #, c-format + msgid "Cannot create persistdir \"%s\": %s" +-msgstr "" ++msgstr "persistdir \"%s\": %s 를 생성 할 수 없습니다" + +-#: libdnf/repo/Repo.cpp:1763 ++#: libdnf/repo/Repo.cpp:1780 + msgid "resume cannot be used simultaneously with the byterangestart param" +-msgstr "이력서는 byterangestart 매개 변수와 동시에 사용할 수 없습니다." ++msgstr "이력서는 byterangestart 매개 변수와 동시에 사용 할 수 없습니다" + +-#: libdnf/repo/Repo.cpp:1780 ++#: libdnf/repo/Repo.cpp:1797 + #, c-format + msgid "PackageTarget initialization failed: %s" +-msgstr "PackageTarget 초기화에 실패했습니다 : %s" ++msgstr "PackageTarget 초기화에 실패했습니다: %s" + +-#: libdnf/repo/Repo.cpp:1886 ++#: libdnf/repo/Repo.cpp:1903 + #, c-format + msgid "Cannot open %s: %s" +-msgstr "열 수 없다 %s: %s" ++msgstr "열 수 없습니다 %s: %s" + +-#: libdnf/repo/Repo.cpp:1930 ++#: libdnf/repo/Repo.cpp:1947 + #, c-format + msgid "Log handler with id %ld doesn't exist" +-msgstr "ID가있는 로그 처리기 %ld 존재하지 않는다." ++msgstr "ID가 있는 로그 처리기 %ld가 존재하지 않습니다" + + #: libdnf/transaction/Swdb.cpp:173 + msgid "In progress" + msgstr "진행 중" + +-#: libdnf/transaction/Swdb.cpp:188 libdnf/transaction/Swdb.cpp:216 +-#: libdnf/transaction/Swdb.cpp:228 libdnf/transaction/Swdb.cpp:245 +-#: libdnf/transaction/Swdb.cpp:384 libdnf/transaction/Swdb.cpp:394 ++#: libdnf/transaction/Swdb.cpp:187 libdnf/transaction/Swdb.cpp:215 ++#: libdnf/transaction/Swdb.cpp:227 libdnf/transaction/Swdb.cpp:244 ++#: libdnf/transaction/Swdb.cpp:383 libdnf/transaction/Swdb.cpp:393 + msgid "Not in progress" + msgstr "진행 중이 아님" + +-#: libdnf/transaction/Swdb.cpp:255 ++#: libdnf/transaction/Swdb.cpp:254 + msgid "No transaction in progress" +-msgstr "진행중인 트랜잭션 없음" ++msgstr "진행 중인 연결 없음" + +-#: libdnf/transaction/TransactionItem.cpp:147 ++#: libdnf/transaction/TransactionItem.cpp:146 + msgid "Attempt to insert transaction item into completed transaction" +-msgstr "트랜잭션 항목을 완료된 트랜잭션에 삽입하려고 시도했습니다." ++msgstr "연결 항목을 완료된 연결에 삽입하려고 시도했습니다" + +-#: libdnf/transaction/TransactionItem.cpp:218 ++#: libdnf/transaction/TransactionItem.cpp:217 + msgid "Attempt to update transaction item in completed transaction" +-msgstr "완료된 트랜잭션에서 트랜잭션 항목 업데이트를 시도합니다." ++msgstr "완료된 연결에서 연결 항목 최신화를 시도합니다" + + #: libdnf/transaction/Transformer.cpp:76 + msgid "Database Corrupted: no row 'version' in table 'config'" + msgstr "" ++"데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다" + + #: libdnf/transaction/Transformer.cpp:681 + msgid "Transformer: can't open history persist dir" +-msgstr "변압기 : 역사를 열 수 없습니다." ++msgstr "변형: persist dir 기록을 열 수 없습니다" + + #: libdnf/transaction/Transformer.cpp:694 + msgid "Couldn't find a history database" +-msgstr "기록 데이터베이스를 찾을 수 없습니다." ++msgstr "기록 데이타베이스를 찾을 수 없습니다" + + #: libdnf/transaction/private/Transaction.cpp:41 + msgid "Transaction has already began!" +-msgstr "거래가 이미 시작되었습니다!" ++msgstr "연결이 이미 시작되었습니다!" + + #: libdnf/transaction/private/Transaction.cpp:58 + #, c-format +@@ -924,7 +1162,19 @@ msgstr "TransactionItem 상태가 설정되지 않았습니다. %s" + + #: libdnf/transaction/private/Transaction.cpp:243 + msgid "Can't add console output to unsaved transaction" +-msgstr "저장되지 않은 트랜잭션에 콘솔 출력을 추가 할 수 없습니다." ++msgstr "저장되지 않은 연결에 콘솔 출력을 추가 할 수 없습니다" ++ ++#~ msgid "failed to add solv" ++#~ msgstr "solv를 추가하지 못했습니다" ++ ++#~ msgid "write_main() failed writing data: %i" ++#~ msgstr "write_main() 실패한 쓰기 자료: %i" ++ ++#~ msgid "write_main() failed to re-load written solv file" ++#~ msgstr "write_main ()이 작성된 solv 파일을 다시 적재하지 못했습니다" ++ ++#~ msgid "write_ext(%1$d) has failed: %2$d" ++#~ msgstr "write_ext(%1$d) 실패하였습니다: %2$d" + +-#~ msgid "failed calculating RPMDB checksum" +-#~ msgstr "RPMDB 체크섬 계산 실패" ++#~ msgid "repo_add_repomdxml/rpmmd() has failed." ++#~ msgstr "repo_add_repomdxml/rpmmd() 실패하였습니다." +diff --git a/po/libdnf.pot b/po/libdnf.pot +index e7c0edfc..0242c115 100644 +--- a/po/libdnf.pot ++++ b/po/libdnf.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2020-10-05 09:18-0400\n" ++"POT-Creation-Date: 2023-02-28 09:11+0100\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -37,17 +37,34 @@ msgstr "" + msgid "unknown unit '%s'" + msgstr "" + +-#: libdnf/conf/ConfigMain.cpp:332 ++#: libdnf/conf/ConfigMain.cpp:204 libdnf/conf/OptionEnum.cpp:83 ++#: libdnf/conf/OptionNumber.cpp:88 ++msgid "invalid value" ++msgstr "" ++ ++#: libdnf/conf/ConfigMain.cpp:207 ++msgid "value 1 is not allowed" ++msgstr "" ++ ++#: libdnf/conf/ConfigMain.cpp:209 ++msgid "negative value is not allowed" ++msgstr "" ++ ++#: libdnf/conf/ConfigMain.cpp:341 + #, c-format + msgid "percentage '%s' is out of range" + msgstr "" + +-#: libdnf/conf/OptionBinds.cpp:76 ++#: libdnf/conf/ConfigRepo.cpp:182 ++msgid "only the value 'priority' is supported." ++msgstr "" ++ ++#: libdnf/conf/OptionBinds.cpp:85 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" does not exist" + msgstr "" + +-#: libdnf/conf/OptionBinds.cpp:88 ++#: libdnf/conf/OptionBinds.cpp:97 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" already exists" + msgstr "" +@@ -58,15 +75,11 @@ msgid "invalid boolean value '%s'" + msgstr "" + + #: libdnf/conf/OptionEnum.cpp:72 libdnf/conf/OptionEnum.cpp:158 +-#: libdnf/conf/OptionString.cpp:59 libdnf/conf/OptionStringList.cpp:59 ++#: libdnf/conf/OptionString.cpp:64 libdnf/conf/OptionStringList.cpp:59 + #, c-format + msgid "'%s' is not an allowed value" + msgstr "" + +-#: libdnf/conf/OptionEnum.cpp:83 libdnf/conf/OptionNumber.cpp:88 +-msgid "invalid value" +-msgstr "" +- + #: libdnf/conf/OptionNumber.cpp:73 + #, c-format + msgid "given value [%d] should be less than allowed value [%d]." +@@ -92,27 +105,126 @@ msgstr "" + msgid "could not convert '%s' to seconds" + msgstr "" + +-#: libdnf/conf/OptionString.cpp:74 ++#: libdnf/conf/OptionString.cpp:79 + msgid "GetValue(): Value not set" + msgstr "" + +-#: libdnf/dnf-goal.cpp:68 ++#: libdnf/dnf-context.cpp:3176 libdnf/dnf-context.cpp:3185 ++#, c-format ++msgid "Cannot enable more streams from module '%s' at the same time" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3194 libdnf/dnf-context.cpp:3212 ++#, c-format ++msgid "" ++"Cannot enable module '%1$s' stream '%2$s': State of module already modified" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3259 ++#, c-format ++msgid "Modular dependency problem with Defaults: %s" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3262 ++#, c-format ++msgid "Modular dependency problem: %s" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3296 libdnf/dnf-context.cpp:3320 ++#: libdnf/dnf-context.cpp:3331 libdnf/dnf-context.cpp:3370 ++#: libdnf/dnf-context.cpp:3386 libdnf/dnf-context.cpp:3418 ++#: libdnf/dnf-context.cpp:3462 libdnf/dnf-context.cpp:3472 ++#, c-format ++msgid "Unable to resolve argument '%s'" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3303 ++#, c-format ++msgid "" ++"Only module name is required. Ignoring unneeded information in argument: '%s'" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3317 ++#, c-format ++msgid "Cannot reset module '%s': State of module already modified" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3328 ++#, c-format ++msgid "Cannot disable module '%s': State of module already modified" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3359 libdnf/dnf-context.cpp:3451 ++#: libdnf/dnf-context.cpp:3564 ++msgid "No modular data available" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3376 ++#, c-format ++msgid "Ignoring unneeded information in argument: '%s'" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3414 ++#, c-format ++msgid "" ++"Problem during enablement of dependency tree for module '%1$s' stream " ++"'%2$s': %3$s" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3426 ++msgid "Problems appeared for module enable request" ++msgstr "" ++ ++#. this really should never happen; unless the modular repodata is corrupted ++#: libdnf/dnf-context.cpp:3501 ++#, c-format ++msgid "Failed to parse module artifact NEVRA '%s'" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3535 ++msgid "Problems appeared for module install request" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3595 ++msgid "Problems appeared for module reset request" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3597 ++msgid "Problems appeared for module disable request" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3633 ++#, c-format ++msgid "" ++"The operation would result in switching of module '%s' stream '%s' to stream " ++"'%s'" ++msgstr "" ++ ++#: libdnf/dnf-context.cpp:3637 ++msgid "" ++"It is not possible to switch enabled streams of a module.\n" ++"It is recommended to remove all installed content from the module, and reset " ++"the module using 'microdnf module reset ' command. After you " ++"reset the module, you can install the other stream." ++msgstr "" ++ ++#: libdnf/dnf-goal.cpp:85 + msgid "Could not depsolve transaction; " + msgstr "" + +-#: libdnf/dnf-goal.cpp:70 ++#: libdnf/dnf-goal.cpp:87 + #, c-format + msgid "%i problem detected:\n" + msgid_plural "%i problems detected:\n" + msgstr[0] "" + msgstr[1] "" + +-#: libdnf/dnf-goal.cpp:78 ++#: libdnf/dnf-goal.cpp:95 + #, c-format + msgid " Problem %1$i: %2$s\n" + msgstr "" + +-#: libdnf/dnf-goal.cpp:80 ++#: libdnf/dnf-goal.cpp:97 + #, c-format + msgid " Problem: %s\n" + msgstr "" +@@ -177,84 +289,123 @@ msgstr "" + msgid "could not add erase element %1$s(%2$i)" + msgstr "" + +-#: libdnf/dnf-sack.cpp:381 ++#: libdnf/dnf-sack.cpp:252 ++msgid "repo_add_solv() has failed." ++msgstr "" ++ ++#: libdnf/dnf-sack.cpp:416 + #, c-format +-msgid "no %1$s string for %2$s" ++msgid "Loading extension cache %s (%d) failed: " + msgstr "" + +-#: libdnf/dnf-sack.cpp:404 +-msgid "failed to add solv" ++#: libdnf/dnf-sack.cpp:430 ++#, c-format ++msgid "no %1$s string for %2$s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:422 ++#: libdnf/dnf-sack.cpp:440 + #, c-format + msgid "failed to open: %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:501 ++#: libdnf/dnf-sack.cpp:519 + #, c-format + msgid "cannot create temporary file: %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:511 ++#: libdnf/dnf-sack.cpp:529 + #, c-format + msgid "failed opening tmp file: %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:523 ++#: libdnf/dnf-sack.cpp:551 + #, c-format +-msgid "write_main() failed writing data: %i" ++msgid "While writing primary cache %s repowriter write failed: %i, error: %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:540 +-msgid "write_main() failed to re-load written solv file" ++#: libdnf/dnf-sack.cpp:561 ++#, c-format ++msgid "Failed closing tmp file %s: %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:605 ++#: libdnf/dnf-sack.cpp:571 ++#, c-format ++msgid "Failed to use newly written primary cache: %s: " ++msgstr "" ++ ++#: libdnf/dnf-sack.cpp:577 ++#, c-format ++msgid "Failed to use newly written primary cache: %s" ++msgstr "" ++ ++#: libdnf/dnf-sack.cpp:627 + #, c-format + msgid "can not create temporary file %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:623 ++#: libdnf/dnf-sack.cpp:667 ++#, c-format ++msgid "" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" ++msgstr "" ++ ++#: libdnf/dnf-sack.cpp:677 + #, c-format +-msgid "write_ext(%1$d) has failed: %2$d" ++msgid "While writing extension cache (%d): cannot close temporary file: %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:678 ++#: libdnf/dnf-sack.cpp:693 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d): " ++msgstr "" ++ ++#: libdnf/dnf-sack.cpp:700 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d)" ++msgstr "" ++ ++#: libdnf/dnf-sack.cpp:741 + msgid "null repo md file" + msgstr "" + +-#: libdnf/dnf-sack.cpp:687 ++#: libdnf/dnf-sack.cpp:750 + #, c-format + msgid "can not read file %1$s: %2$s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:701 +-msgid "repo_add_solv() has failed." ++#: libdnf/dnf-sack.cpp:765 ++#, c-format ++msgid "While loading repository failed to use %s: " + msgstr "" + +-#: libdnf/dnf-sack.cpp:714 ++#: libdnf/dnf-sack.cpp:776 + msgid "loading of MD_TYPE_PRIMARY has failed." + msgstr "" + +-#: libdnf/dnf-sack.cpp:727 +-msgid "repo_add_repomdxml/rpmmd() has failed." ++#: libdnf/dnf-sack.cpp:788 ++#, c-format ++msgid "Loading repomd has failed: %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:794 ++#: libdnf/dnf-sack.cpp:799 ++#, c-format ++msgid "Loading primary has failed: %s" ++msgstr "" ++ ++#: libdnf/dnf-sack.cpp:865 + msgid "failed to auto-detect architecture" + msgstr "" + +-#: libdnf/dnf-sack.cpp:919 ++#: libdnf/dnf-sack.cpp:1030 + #, c-format + msgid "failed creating cachedir %s" + msgstr "" + +-#: libdnf/dnf-sack.cpp:1696 ++#: libdnf/dnf-sack.cpp:1807 + msgid "failed loading RPMDB" + msgstr "" + +-#: libdnf/dnf-sack.cpp:2403 ++#: libdnf/dnf-sack.cpp:2532 + #, c-format + msgid "No module defaults found: %s" + msgstr "" +@@ -326,26 +477,26 @@ msgstr "" + msgid "Not enough free space in %1$s: needed %2$s, available %3$s" + msgstr "" + +-#: libdnf/dnf-transaction.cpp:1196 ++#: libdnf/dnf-transaction.cpp:1195 + msgid "failed to set root" + msgstr "" + +-#: libdnf/dnf-transaction.cpp:1418 ++#: libdnf/dnf-transaction.cpp:1416 + #, c-format + msgid "Error %i running transaction test" + msgstr "" + +-#: libdnf/dnf-transaction.cpp:1458 ++#: libdnf/dnf-transaction.cpp:1456 + #, c-format + msgid "Error %i running transaction" + msgstr "" + +-#: libdnf/dnf-transaction.cpp:1473 ++#: libdnf/dnf-transaction.cpp:1472 + #, c-format + msgid "Transaction did not go to writing phase, but returned no error(%i)" + msgstr "" + +-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:399 ++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485 + #, c-format + msgid "cannot open directory %1$s: %2$s" + msgstr "" +@@ -355,272 +506,286 @@ msgstr "" + msgid "failed to remove %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:55 ++#: libdnf/goal/Goal.cpp:74 + msgid "Ill-formed Selector, presence of multiple match objects in the filter" + msgstr "" + +-#: libdnf/goal/Goal.cpp:56 ++#: libdnf/goal/Goal.cpp:75 + msgid "Ill-formed Selector used for the operation, incorrect comparison type" + msgstr "" + +-#: libdnf/goal/Goal.cpp:67 libdnf/goal/Goal.cpp:94 ++#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 + msgid " does not belong to a distupgrade repository" + msgstr "" + +-#: libdnf/goal/Goal.cpp:68 libdnf/goal/Goal.cpp:95 ++#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 + msgid " has inferior architecture" + msgstr "" + +-#: libdnf/goal/Goal.cpp:69 ++#: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " + msgstr "" + +-#: libdnf/goal/Goal.cpp:70 libdnf/goal/Goal.cpp:97 ++#: libdnf/goal/Goal.cpp:89 libdnf/goal/Goal.cpp:116 + msgid "conflicting requests" + msgstr "" + +-#: libdnf/goal/Goal.cpp:71 libdnf/goal/Goal.cpp:98 ++#: libdnf/goal/Goal.cpp:90 libdnf/goal/Goal.cpp:117 + msgid "unsupported request" + msgstr "" + +-#: libdnf/goal/Goal.cpp:72 libdnf/goal/Goal.cpp:99 ++#: libdnf/goal/Goal.cpp:91 libdnf/goal/Goal.cpp:118 + msgid "nothing provides requested " + msgstr "" + +-#: libdnf/goal/Goal.cpp:73 ++#: libdnf/goal/Goal.cpp:92 + #, c-format + msgid "package %s does not exist" + msgstr "" + +-#: libdnf/goal/Goal.cpp:74 libdnf/goal/Goal.cpp:101 ++#: libdnf/goal/Goal.cpp:93 libdnf/goal/Goal.cpp:120 + msgid " is provided by the system" + msgstr "" + +-#: libdnf/goal/Goal.cpp:75 libdnf/goal/Goal.cpp:102 ++#: libdnf/goal/Goal.cpp:94 libdnf/goal/Goal.cpp:121 + msgid "some dependency problem" + msgstr "" + +-#: libdnf/goal/Goal.cpp:76 ++#: libdnf/goal/Goal.cpp:95 + msgid "cannot install the best update candidate for package " + msgstr "" + +-#: libdnf/goal/Goal.cpp:77 libdnf/goal/Goal.cpp:104 ++#: libdnf/goal/Goal.cpp:96 libdnf/goal/Goal.cpp:123 + msgid "cannot install the best candidate for the job" + msgstr "" + +-#: libdnf/goal/Goal.cpp:78 ++#: libdnf/goal/Goal.cpp:97 + #, c-format + msgid "package %s is filtered out by modular filtering" + msgstr "" + +-#: libdnf/goal/Goal.cpp:79 ++#: libdnf/goal/Goal.cpp:98 + #, c-format + msgid "package %s does not have a compatible architecture" + msgstr "" + +-#: libdnf/goal/Goal.cpp:80 ++#: libdnf/goal/Goal.cpp:99 + #, c-format + msgid "package %s is not installable" + msgstr "" + +-#: libdnf/goal/Goal.cpp:81 ++#: libdnf/goal/Goal.cpp:100 + #, c-format + msgid "package %s is filtered out by exclude filtering" + msgstr "" + +-#: libdnf/goal/Goal.cpp:82 ++#: libdnf/goal/Goal.cpp:101 + #, c-format + msgid "nothing provides %s needed by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:83 ++#: libdnf/goal/Goal.cpp:102 + #, c-format + msgid "cannot install both %s and %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:84 ++#: libdnf/goal/Goal.cpp:103 + #, c-format + msgid "package %s conflicts with %s provided by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:85 ++#: libdnf/goal/Goal.cpp:104 + #, c-format + msgid "package %s obsoletes %s provided by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:86 ++#: libdnf/goal/Goal.cpp:105 + #, c-format + msgid "installed package %s obsoletes %s provided by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:87 ++#: libdnf/goal/Goal.cpp:106 + #, c-format + msgid "package %s implicitly obsoletes %s provided by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:88 ++#: libdnf/goal/Goal.cpp:107 + #, c-format + msgid "package %s requires %s, but none of the providers can be installed" + msgstr "" + +-#: libdnf/goal/Goal.cpp:89 ++#: libdnf/goal/Goal.cpp:108 + #, c-format + msgid "package %s conflicts with %s provided by itself" + msgstr "" + +-#: libdnf/goal/Goal.cpp:90 ++#: libdnf/goal/Goal.cpp:109 + #, c-format + msgid "both package %s and %s obsolete %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:96 ++#: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " + msgstr "" + +-#: libdnf/goal/Goal.cpp:100 ++#: libdnf/goal/Goal.cpp:119 + #, c-format + msgid "module %s does not exist" + msgstr "" + +-#: libdnf/goal/Goal.cpp:103 ++#: libdnf/goal/Goal.cpp:122 + msgid "cannot install the best update candidate for module " + msgstr "" + +-#: libdnf/goal/Goal.cpp:105 libdnf/goal/Goal.cpp:108 ++#: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format + msgid "module %s is disabled" + msgstr "" + +-#: libdnf/goal/Goal.cpp:106 ++#: libdnf/goal/Goal.cpp:125 + #, c-format + msgid "module %s does not have a compatible architecture" + msgstr "" + +-#: libdnf/goal/Goal.cpp:107 ++#: libdnf/goal/Goal.cpp:126 + #, c-format + msgid "module %s is not installable" + msgstr "" + +-#: libdnf/goal/Goal.cpp:109 ++#: libdnf/goal/Goal.cpp:128 + #, c-format + msgid "nothing provides %s needed by module %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:110 ++#: libdnf/goal/Goal.cpp:129 + #, c-format + msgid "cannot install both modules %s and %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:111 ++#: libdnf/goal/Goal.cpp:130 + #, c-format + msgid "module %s conflicts with %s provided by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:112 ++#: libdnf/goal/Goal.cpp:131 + #, c-format + msgid "module %s obsoletes %s provided by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:113 ++#: libdnf/goal/Goal.cpp:132 + #, c-format + msgid "installed module %s obsoletes %s provided by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:114 ++#: libdnf/goal/Goal.cpp:133 + #, c-format + msgid "module %s implicitly obsoletes %s provided by %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:115 ++#: libdnf/goal/Goal.cpp:134 + #, c-format + msgid "module %s requires %s, but none of the providers can be installed" + msgstr "" + +-#: libdnf/goal/Goal.cpp:116 ++#: libdnf/goal/Goal.cpp:135 + #, c-format + msgid "module %s conflicts with %s provided by itself" + msgstr "" + +-#: libdnf/goal/Goal.cpp:117 ++#: libdnf/goal/Goal.cpp:136 + #, c-format + msgid "both module %s and %s obsolete %s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:1038 ++#: libdnf/goal/Goal.cpp:1051 + msgid "no solver set" + msgstr "" + +-#: libdnf/goal/Goal.cpp:1043 ++#: libdnf/goal/Goal.cpp:1056 + #, c-format + msgid "failed to make %s absolute" + msgstr "" + +-#: libdnf/goal/Goal.cpp:1050 ++#: libdnf/goal/Goal.cpp:1063 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" + msgstr "" + +-#: libdnf/goal/Goal.cpp:1062 ++#: libdnf/goal/Goal.cpp:1075 + msgid "no solv in the goal" + msgstr "" + +-#: libdnf/goal/Goal.cpp:1064 ++#: libdnf/goal/Goal.cpp:1077 + msgid "no solution, cannot remove protected package" + msgstr "" + +-#: libdnf/goal/Goal.cpp:1067 ++#: libdnf/goal/Goal.cpp:1080 + msgid "no solution possible" + msgstr "" + +-#: libdnf/goal/Goal.cpp:1479 ++#: libdnf/goal/Goal.cpp:1206 ++msgid "Problem: " ++msgstr "" ++ ++#: libdnf/goal/Goal.cpp:1211 ++#, c-format ++msgid "Problem %d: " ++msgstr "" ++ ++#: libdnf/goal/Goal.cpp:1538 + msgid "" + "The operation would result in removing the following protected packages: " + msgstr "" + +-#: libdnf/hy-iutil.cpp:322 ++#: libdnf/hy-iutil.cpp:181 ++#, c-format ++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu" ++msgstr "" ++ ++#: libdnf/hy-iutil.cpp:408 + #, c-format + msgid "Failed renaming %1$s to %2$s: %3$s" + msgstr "" + +-#: libdnf/hy-iutil.cpp:330 ++#: libdnf/hy-iutil.cpp:416 + #, c-format + msgid "Failed setting perms on %1$s: %2$s" + msgstr "" + +-#: libdnf/hy-iutil.cpp:376 ++#: libdnf/hy-iutil.cpp:462 + #, c-format + msgid "cannot create directory %1$s: %2$s" + msgstr "" + +-#: libdnf/hy-iutil.cpp:411 ++#: libdnf/hy-iutil.cpp:497 + #, c-format + msgid "cannot stat path %1$s: %2$s" + msgstr "" + +-#: libdnf/module/ModulePackage.cpp:499 ++#: libdnf/module/ModulePackage.cpp:560 + #, c-format + msgid "Invalid format of Platform module: %s" + msgstr "" + +-#: libdnf/module/ModulePackage.cpp:514 ++#: libdnf/module/ModulePackage.cpp:575 + msgid "Multiple module platforms provided by available packages\n" + msgstr "" + +-#: libdnf/module/ModulePackage.cpp:527 ++#: libdnf/module/ModulePackage.cpp:588 + msgid "Multiple module platforms provided by installed packages\n" + msgstr "" + +-#: libdnf/module/ModulePackage.cpp:554 ++#: libdnf/module/ModulePackage.cpp:615 + #, c-format + msgid "Detection of Platform Module in %s failed: %s" + msgstr "" + +-#: libdnf/module/ModulePackage.cpp:563 ++#: libdnf/module/ModulePackage.cpp:624 + #, c-format + msgid "Missing PLATFORM_ID in %s" + msgstr "" + +-#: libdnf/module/ModulePackage.cpp:568 ++#: libdnf/module/ModulePackage.cpp:629 + msgid "No valid Platform ID detected" + msgstr "" + +@@ -629,36 +794,67 @@ msgstr "" + msgid "Cannot enable multiple streams for module '%s'" + msgstr "" + +-#: libdnf/module/ModulePackageContainer.cpp:294 ++#: libdnf/module/ModulePackageContainer.cpp:295 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" + msgstr "" + +-#: libdnf/module/ModulePackageContainer.cpp:1569 ++#: libdnf/module/ModulePackageContainer.cpp:841 ++msgid "Installing module profiles:\n" ++msgstr "" ++ ++#: libdnf/module/ModulePackageContainer.cpp:856 ++msgid "Disabling module profiles:\n" ++msgstr "" ++ ++#: libdnf/module/ModulePackageContainer.cpp:871 ++msgid "Enabling module streams:\n" ++msgstr "" ++ ++#: libdnf/module/ModulePackageContainer.cpp:885 ++msgid "Switching module streams:\n" ++msgstr "" ++ ++#: libdnf/module/ModulePackageContainer.cpp:903 ++msgid "Disabling modules:\n" ++msgstr "" ++ ++#: libdnf/module/ModulePackageContainer.cpp:914 ++msgid "Resetting modules:\n" ++msgstr "" ++ ++#: libdnf/module/ModulePackageContainer.cpp:1638 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" + msgstr "" + +-#: libdnf/module/ModulePackageContainer.cpp:1575 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" + msgstr "" + +-#: libdnf/module/ModulePackageContainer.cpp:1639 ++#: libdnf/module/ModulePackageContainer.cpp:1702 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" + msgstr "" + +-#: libdnf/module/ModulePackageContainer.cpp:1661 ++#: libdnf/module/ModulePackageContainer.cpp:1718 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" + msgstr "" + +-#: libdnf/module/ModulePackageContainer.cpp:1686 ++#: libdnf/module/ModulePackageContainer.cpp:1741 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" + msgstr "" + ++#: libdnf/module/ModulePackageContainer.cpp:1773 ++#, c-format ++msgid "" ++"Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " ++"disabled" ++msgstr "" ++ + #: libdnf/module/modulemd/ModuleMetadata.cpp:86 + #, c-format + msgid "Failed to update from string: %s" +@@ -684,6 +880,11 @@ msgstr "" + msgid "Failed to upgrade streams: %s" + msgstr "" + ++#: libdnf/module/modulemd/ModuleMetadata.cpp:212 ++#, c-format ++msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" ++msgstr "" ++ + #: libdnf/plugin/plugin.cpp:46 + #, c-format + msgid "Can't load shared library \"%s\": %s" +@@ -736,146 +937,161 @@ msgstr "" + msgid "Repository '%s' has unsupported type: 'type=%s', skipping." + msgstr "" + +-#: libdnf/repo/Repo.cpp:546 ++#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 ++#: libdnf/repo/Repo.cpp:1387 + #, c-format +-msgid "Cannot find a valid baseurl for repo: %s" ++msgid "repo '%s': 'basecachedir' is not set" + msgstr "" + +-#: libdnf/repo/Repo.cpp:583 libdnf/repo/Repo.cpp:1672 ++#: libdnf/repo/Repo.cpp:512 + msgid "" + "Maximum download speed is lower than minimum. Please change configuration of " + "minrate or throttle" + msgstr "" + +-#: libdnf/repo/Repo.cpp:633 libdnf/repo/Repo.cpp:655 ++#: libdnf/repo/Repo.cpp:546 ++#, c-format ++msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" ++msgstr "" ++ ++#: libdnf/repo/Repo.cpp:548 ++msgid "'proxy_username' is set but not 'proxy_password'" ++msgstr "" ++ ++#: libdnf/repo/Repo.cpp:629 ++#, c-format ++msgid "Cannot find a valid baseurl for repo: %s" ++msgstr "" ++ ++#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682 + #, c-format + msgid "%s: gpgme_data_new_from_fd(): %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:641 libdnf/repo/Repo.cpp:663 ++#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690 + #, c-format + msgid "%s: gpgme_op_import(): %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:686 libdnf/repo/Repo.cpp:752 libdnf/repo/Repo.cpp:880 ++#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 + #, c-format + msgid "%s: gpgme_ctx_set_engine_info(): %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:777 ++#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 + #, c-format + msgid "can not list keys: %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:806 ++#: libdnf/repo/Repo.cpp:833 + #, c-format + msgid "Failed to retrieve GPG key for repo '%s': %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:859 ++#: libdnf/repo/Repo.cpp:886 + #, c-format + msgid "repo %s: 0x%s already imported" + msgstr "" + +-#: libdnf/repo/Repo.cpp:887 ++#: libdnf/repo/Repo.cpp:914 + #, c-format + msgid "repo %s: imported key 0x%s." + msgstr "" + +-#: libdnf/repo/Repo.cpp:1131 ++#: libdnf/repo/Repo.cpp:1167 + #, c-format + msgid "reviving: repo '%s' skipped, no metalink." + msgstr "" + +-#: libdnf/repo/Repo.cpp:1150 ++#: libdnf/repo/Repo.cpp:1186 + #, c-format + msgid "reviving: repo '%s' skipped, no usable hash." + msgstr "" + +-#: libdnf/repo/Repo.cpp:1173 ++#: libdnf/repo/Repo.cpp:1209 + #, c-format + msgid "reviving: failed for '%s', mismatched %s sum." + msgstr "" + +-#: libdnf/repo/Repo.cpp:1179 ++#: libdnf/repo/Repo.cpp:1215 + #, c-format + msgid "reviving: '%s' can be revived - metalink checksums match." + msgstr "" + +-#: libdnf/repo/Repo.cpp:1204 ++#: libdnf/repo/Repo.cpp:1240 + #, c-format + msgid "reviving: '%s' can be revived - repomd matches." + msgstr "" + +-#: libdnf/repo/Repo.cpp:1206 ++#: libdnf/repo/Repo.cpp:1242 + #, c-format + msgid "reviving: failed for '%s', mismatched repomd." + msgstr "" + +-#: libdnf/repo/Repo.cpp:1224 ++#: libdnf/repo/Repo.cpp:1260 + #, c-format + msgid "Cannot create repo destination directory \"%s\": %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1230 ++#: libdnf/repo/Repo.cpp:1266 + #, c-format + msgid "Cannot create repo temporary directory \"%s\": %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1244 ++#: libdnf/repo/Repo.cpp:1280 + #, c-format + msgid "Cannot create directory \"%s\": %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1267 ++#: libdnf/repo/Repo.cpp:1303 + #, c-format + msgid "Cannot rename directory \"%s\" to \"%s\": %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1290 ++#: libdnf/repo/Repo.cpp:1326 + #, c-format + msgid "repo: using cache for: %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1302 ++#: libdnf/repo/Repo.cpp:1338 + #, c-format + msgid "Cache-only enabled but no cache for '%s'" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1306 ++#: libdnf/repo/Repo.cpp:1342 + #, c-format + msgid "repo: downloading from remote: %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1312 ++#: libdnf/repo/Repo.cpp:1349 + #, c-format + msgid "Failed to download metadata for repo '%s': %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1338 ++#: libdnf/repo/Repo.cpp:1375 + msgid "getCachedir(): Computation of SHA256 failed" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1363 ++#: libdnf/repo/Repo.cpp:1403 + #, c-format + msgid "Cannot create persistdir \"%s\": %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1763 ++#: libdnf/repo/Repo.cpp:1780 + msgid "resume cannot be used simultaneously with the byterangestart param" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1780 ++#: libdnf/repo/Repo.cpp:1797 + #, c-format + msgid "PackageTarget initialization failed: %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1886 ++#: libdnf/repo/Repo.cpp:1903 + #, c-format + msgid "Cannot open %s: %s" + msgstr "" + +-#: libdnf/repo/Repo.cpp:1930 ++#: libdnf/repo/Repo.cpp:1947 + #, c-format + msgid "Log handler with id %ld doesn't exist" + msgstr "" +@@ -884,21 +1100,21 @@ msgstr "" + msgid "In progress" + msgstr "" + +-#: libdnf/transaction/Swdb.cpp:188 libdnf/transaction/Swdb.cpp:216 +-#: libdnf/transaction/Swdb.cpp:228 libdnf/transaction/Swdb.cpp:245 +-#: libdnf/transaction/Swdb.cpp:384 libdnf/transaction/Swdb.cpp:394 ++#: libdnf/transaction/Swdb.cpp:187 libdnf/transaction/Swdb.cpp:215 ++#: libdnf/transaction/Swdb.cpp:227 libdnf/transaction/Swdb.cpp:244 ++#: libdnf/transaction/Swdb.cpp:383 libdnf/transaction/Swdb.cpp:393 + msgid "Not in progress" + msgstr "" + +-#: libdnf/transaction/Swdb.cpp:255 ++#: libdnf/transaction/Swdb.cpp:254 + msgid "No transaction in progress" + msgstr "" + +-#: libdnf/transaction/TransactionItem.cpp:147 ++#: libdnf/transaction/TransactionItem.cpp:146 + msgid "Attempt to insert transaction item into completed transaction" + msgstr "" + +-#: libdnf/transaction/TransactionItem.cpp:218 ++#: libdnf/transaction/TransactionItem.cpp:217 + msgid "Attempt to update transaction item in completed transaction" + msgstr "" + +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 9583b075..3c800f87 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -1,19 +1,22 @@ +-# Charles Lee , 2017. #zanata, 2020. +-# Ludek Janda , 2018. #zanata ++# Charles Lee , 2017. #zanata, 2020, 2021. ++# Ludek Janda , 2018. #zanata, 2021. ++# Sundeep Anand , 2021, 2022. ++# Transtats , 2022. + 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-09 13:27+0000\n" +-"Last-Translator: Charles Lee \n" +-"Language-Team: Chinese (Simplified) \n" ++"POT-Creation-Date: 2023-02-28 09:11+0100\n" ++"PO-Revision-Date: 2022-09-06 07:19+0000\n" ++"Last-Translator: Transtats \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.14\n" + + #: libdnf/conf/ConfigMain.cpp:62 libdnf/conf/OptionSeconds.cpp:40 + msgid "no value specified" +@@ -32,37 +35,50 @@ msgstr "无法把 '%s' 转换为字节" + #: libdnf/conf/ConfigMain.cpp:83 libdnf/conf/OptionSeconds.cpp:66 + #, c-format + msgid "unknown unit '%s'" +-msgstr "未知单元 “%s”" ++msgstr "未知单元 '%s'" + +-#: libdnf/conf/ConfigMain.cpp:332 ++#: libdnf/conf/ConfigMain.cpp:204 libdnf/conf/OptionEnum.cpp:83 ++#: libdnf/conf/OptionNumber.cpp:88 ++msgid "invalid value" ++msgstr "无效值" ++ ++#: libdnf/conf/ConfigMain.cpp:207 ++msgid "value 1 is not allowed" ++msgstr "1 不是一个被允许的值" ++ ++#: libdnf/conf/ConfigMain.cpp:209 ++msgid "negative value is not allowed" ++msgstr "负数值不被允许" ++ ++#: libdnf/conf/ConfigMain.cpp:341 + #, c-format + msgid "percentage '%s' is out of range" + msgstr "百分数 '%s' 超出范围" + +-#: libdnf/conf/OptionBinds.cpp:76 ++#: libdnf/conf/ConfigRepo.cpp:182 ++msgid "only the value 'priority' is supported." ++msgstr "只支持值 'priority'。" ++ ++#: libdnf/conf/OptionBinds.cpp:85 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" does not exist" +-msgstr "配置:ID 为 \"%s\" 的 OptionBinding 不存在" ++msgstr "配置:ID 为 \"%s\" 的 OptionBinding 不存在" + +-#: libdnf/conf/OptionBinds.cpp:88 ++#: libdnf/conf/OptionBinds.cpp:97 + #, c-format + msgid "Configuration: OptionBinding with id \"%s\" already exists" +-msgstr "配置:ID 为 \"%s\" 的 OptionBinding 已存在" ++msgstr "配置:ID 为 \"%s\" 的 OptionBinding 已存在" + + #: libdnf/conf/OptionBool.cpp:47 + #, c-format + msgid "invalid boolean value '%s'" +-msgstr "无效的布尔值“%s”" ++msgstr "无效的布尔值 '%s'" + + #: libdnf/conf/OptionEnum.cpp:72 libdnf/conf/OptionEnum.cpp:158 +-#: libdnf/conf/OptionString.cpp:59 libdnf/conf/OptionStringList.cpp:59 ++#: libdnf/conf/OptionString.cpp:64 libdnf/conf/OptionStringList.cpp:59 + #, c-format + msgid "'%s' is not an allowed value" +-msgstr "'%s' 不是一个允许的值" +- +-#: libdnf/conf/OptionEnum.cpp:83 libdnf/conf/OptionNumber.cpp:88 +-msgid "invalid value" +-msgstr "无效值" ++msgstr "'%s' 不是一个允许的值" + + #: libdnf/conf/OptionNumber.cpp:73 + #, c-format +@@ -89,26 +105,128 @@ msgstr "给定的路径 “%s” 不存在。" + msgid "could not convert '%s' to seconds" + msgstr "无法把 '%s' 转换为秒" + +-#: libdnf/conf/OptionString.cpp:74 ++#: libdnf/conf/OptionString.cpp:79 + msgid "GetValue(): Value not set" + msgstr "GetValue(): 值没有设置" + +-#: libdnf/dnf-goal.cpp:68 ++#: libdnf/dnf-context.cpp:3176 libdnf/dnf-context.cpp:3185 ++#, c-format ++msgid "Cannot enable more streams from module '%s' at the same time" ++msgstr "无法同时从模块 '%s' 中启用更多流" ++ ++#: libdnf/dnf-context.cpp:3194 libdnf/dnf-context.cpp:3212 ++#, c-format ++msgid "" ++"Cannot enable module '%1$s' stream '%2$s': State of module already modified" ++msgstr "无法启用模块 '%1$s' 流 '%2$s':已经修改的模块状态" ++ ++#: libdnf/dnf-context.cpp:3259 ++#, c-format ++msgid "Modular dependency problem with Defaults: %s" ++msgstr "默认设置的模块依赖性问题:%s" ++ ++#: libdnf/dnf-context.cpp:3262 ++#, c-format ++msgid "Modular dependency problem: %s" ++msgstr "模块依赖问题:%s" ++ ++#: libdnf/dnf-context.cpp:3296 libdnf/dnf-context.cpp:3320 ++#: libdnf/dnf-context.cpp:3331 libdnf/dnf-context.cpp:3370 ++#: libdnf/dnf-context.cpp:3386 libdnf/dnf-context.cpp:3418 ++#: libdnf/dnf-context.cpp:3462 libdnf/dnf-context.cpp:3472 ++#, c-format ++msgid "Unable to resolve argument '%s'" ++msgstr "无法解析参数 '%s'" ++ ++#: libdnf/dnf-context.cpp:3303 ++#, c-format ++msgid "" ++"Only module name is required. Ignoring unneeded information in argument: '%s'" ++msgstr "只需要模块名。忽略参数 '%s' 中的无用信息" ++ ++#: libdnf/dnf-context.cpp:3317 ++#, c-format ++msgid "Cannot reset module '%s': State of module already modified" ++msgstr "无法重置模块 '%s':已修改的模块状态" ++ ++#: libdnf/dnf-context.cpp:3328 ++#, c-format ++msgid "Cannot disable module '%s': State of module already modified" ++msgstr "无法禁用模块 '%s':已经修改的模块状态" ++ ++#: libdnf/dnf-context.cpp:3359 libdnf/dnf-context.cpp:3451 ++#: libdnf/dnf-context.cpp:3564 ++msgid "No modular data available" ++msgstr "没有可用的模块数据" ++ ++#: libdnf/dnf-context.cpp:3376 ++#, c-format ++msgid "Ignoring unneeded information in argument: '%s'" ++msgstr "忽略参数中不需要的信息:'%s'" ++ ++#: libdnf/dnf-context.cpp:3414 ++#, c-format ++msgid "" ++"Problem during enablement of dependency tree for module '%1$s' stream " ++"'%2$s': %3$s" ++msgstr "为模块 '%1$s' 流 '%2$s' 启用依赖树时出现问题: %3$s" ++ ++#: libdnf/dnf-context.cpp:3426 ++msgid "Problems appeared for module enable request" ++msgstr "模块启用请求时出现问题" ++ ++#. this really should never happen; unless the modular repodata is corrupted ++#: libdnf/dnf-context.cpp:3501 ++#, c-format ++msgid "Failed to parse module artifact NEVRA '%s'" ++msgstr "无法解析模块工件 NEVRA '%s'" ++ ++#: libdnf/dnf-context.cpp:3535 ++msgid "Problems appeared for module install request" ++msgstr "模块安装请求出现问题" ++ ++#: libdnf/dnf-context.cpp:3595 ++msgid "Problems appeared for module reset request" ++msgstr "模块重置请求时出现问题" ++ ++#: libdnf/dnf-context.cpp:3597 ++msgid "Problems appeared for module disable request" ++msgstr "模块禁用请求时出现问题" ++ ++#: libdnf/dnf-context.cpp:3633 ++#, c-format ++msgid "" ++"The operation would result in switching of module '%s' stream '%s' to stream " ++"'%s'" ++msgstr "这个操作会把模块 '%s' 从流 '%s' 切换到流 '%s'" ++ ++#: libdnf/dnf-context.cpp:3637 ++msgid "" ++"It is not possible to switch enabled streams of a module.\n" ++"It is recommended to remove all installed content from the module, and reset " ++"the module using 'microdnf module reset ' command. After you " ++"reset the module, you can install the other stream." ++msgstr "" ++"无法切换一个模块已启用的流。 \n" ++"推荐从模块中删除所有已安装的内容,使用 'microdnf module reset ' " ++"命令重置模块。在重置模块后就可以安装其他流。" ++ ++#: libdnf/dnf-goal.cpp:85 + msgid "Could not depsolve transaction; " +-msgstr "无法 depsolve 事务: " ++msgstr "无法 depsolve 事务; " + +-#: libdnf/dnf-goal.cpp:70 ++#: libdnf/dnf-goal.cpp:87 + #, c-format + msgid "%i problem detected:\n" + msgid_plural "%i problems detected:\n" + msgstr[0] "发现 %i 问题:\n" + +-#: libdnf/dnf-goal.cpp:78 ++#: libdnf/dnf-goal.cpp:95 + #, c-format + msgid " Problem %1$i: %2$s\n" + msgstr " 问题 %1$i: %2$s\n" + +-#: libdnf/dnf-goal.cpp:80 ++#: libdnf/dnf-goal.cpp:97 + #, c-format + msgid " Problem: %s\n" + msgstr " 问题: %s\n" +@@ -118,7 +236,7 @@ msgstr " 问题: %s\n" + msgid "" + "No available modular metadata for modular package '%s'; cannot be installed " + "on the system" +-msgstr "" ++msgstr "模块软件包 '%s' 没有可用的模块元数据,它将不能被安装至此系统上" + + #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166 + #, c-format +@@ -173,87 +291,126 @@ msgstr "无法找到软件包 %s" + msgid "could not add erase element %1$s(%2$i)" + msgstr "无法添加删除元素 %1$s(%2$i)" + +-#: libdnf/dnf-sack.cpp:381 ++#: libdnf/dnf-sack.cpp:252 ++msgid "repo_add_solv() has failed." ++msgstr "repo_add_solv() 已失败。" ++ ++#: libdnf/dnf-sack.cpp:416 + #, c-format +-msgid "no %1$s string for %2$s" +-msgstr "" ++msgid "Loading extension cache %s (%d) failed: " ++msgstr "加载扩展缓存 %s (%d) 失败: " + +-#: libdnf/dnf-sack.cpp:404 +-msgid "failed to add solv" +-msgstr "添加 solv 失败" ++#: libdnf/dnf-sack.cpp:430 ++#, c-format ++msgid "no %1$s string for %2$s" ++msgstr "没有 %2$s 的 %1$s 字符串" + +-#: libdnf/dnf-sack.cpp:422 ++#: libdnf/dnf-sack.cpp:440 + #, c-format + msgid "failed to open: %s" + msgstr "打开失败:%s" + +-#: libdnf/dnf-sack.cpp:501 ++#: libdnf/dnf-sack.cpp:519 + #, c-format + msgid "cannot create temporary file: %s" + msgstr "不能创建临时文件: %s" + +-#: libdnf/dnf-sack.cpp:511 ++#: libdnf/dnf-sack.cpp:529 + #, c-format + msgid "failed opening tmp file: %s" + msgstr "打开 tmp 文件失败: %s" + +-#: libdnf/dnf-sack.cpp:523 ++#: libdnf/dnf-sack.cpp:551 ++#, c-format ++msgid "While writing primary cache %s repowriter write failed: %i, error: %s" ++msgstr "写主缓存 %s 时 repowriter 写失败:%i 错误:%s" ++ ++#: libdnf/dnf-sack.cpp:561 + #, c-format +-msgid "write_main() failed writing data: %i" +-msgstr "write_main() 写数据失败: %i" ++msgid "Failed closing tmp file %s: %s" ++msgstr "关闭临时文件 %s 失败:%s" + +-#: libdnf/dnf-sack.cpp:540 +-msgid "write_main() failed to re-load written solv file" +-msgstr "write_main() 重新加载写的 solv 文件失败" ++#: libdnf/dnf-sack.cpp:571 ++#, c-format ++msgid "Failed to use newly written primary cache: %s: " ++msgstr "使用新写的主缓存失败:%s: " ++ ++#: libdnf/dnf-sack.cpp:577 ++#, c-format ++msgid "Failed to use newly written primary cache: %s" ++msgstr "使用新写的主缓存失败:%s" + +-#: libdnf/dnf-sack.cpp:605 ++#: libdnf/dnf-sack.cpp:627 + #, c-format + msgid "can not create temporary file %s" + msgstr "不能创建临时文件 %s" + +-#: libdnf/dnf-sack.cpp:623 ++#: libdnf/dnf-sack.cpp:667 ++#, c-format ++msgid "" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" ++msgstr "编写扩展缓存 %s (%d) 时: repowriter 写失败: %i,错误: %s" ++ ++#: libdnf/dnf-sack.cpp:677 + #, c-format +-msgid "write_ext(%1$d) has failed: %2$d" +-msgstr "write_ext(%1$d) 已失败: %2$d" ++msgid "While writing extension cache (%d): cannot close temporary file: %s" ++msgstr "编写扩展缓存 (%d) 时:无法关闭临时文件:%s" + +-#: libdnf/dnf-sack.cpp:678 ++#: libdnf/dnf-sack.cpp:693 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d): " ++msgstr "使用新写的扩展缓存失败:%s (%d): " ++ ++#: libdnf/dnf-sack.cpp:700 ++#, c-format ++msgid "Failed to use newly written extension cache: %s (%d)" ++msgstr "使用新写的扩展缓存失败:%s (%d)" ++ ++#: libdnf/dnf-sack.cpp:741 + msgid "null repo md file" +-msgstr "null repo md 文件" ++msgstr "null 存储库 md 文件" + +-#: libdnf/dnf-sack.cpp:687 ++#: libdnf/dnf-sack.cpp:750 + #, c-format + msgid "can not read file %1$s: %2$s" + msgstr "不能读文件 %1$s: %2$s" + +-#: libdnf/dnf-sack.cpp:701 +-msgid "repo_add_solv() has failed." +-msgstr "repo_add_solv() 已失败。" ++#: libdnf/dnf-sack.cpp:765 ++#, c-format ++msgid "While loading repository failed to use %s: " ++msgstr "加载软件仓库时使用 %s 失败: " + +-#: libdnf/dnf-sack.cpp:714 ++#: libdnf/dnf-sack.cpp:776 + msgid "loading of MD_TYPE_PRIMARY has failed." +-msgstr "" ++msgstr "加载 MD_TYPE_PRIMARY 失败。" ++ ++#: libdnf/dnf-sack.cpp:788 ++#, c-format ++msgid "Loading repomd has failed: %s" ++msgstr "加载 repomd 失败:%s" + +-#: libdnf/dnf-sack.cpp:727 +-msgid "repo_add_repomdxml/rpmmd() has failed." +-msgstr "repo_add_repomdxml/rpmmd() 已失败。" ++#: libdnf/dnf-sack.cpp:799 ++#, c-format ++msgid "Loading primary has failed: %s" ++msgstr "加载主设备失败:%s" + +-#: libdnf/dnf-sack.cpp:794 ++#: libdnf/dnf-sack.cpp:865 + msgid "failed to auto-detect architecture" + msgstr "自动检测架构失败" + +-#: libdnf/dnf-sack.cpp:919 ++#: libdnf/dnf-sack.cpp:1030 + #, c-format + msgid "failed creating cachedir %s" + msgstr "无法创建 cachedir %s" + +-#: libdnf/dnf-sack.cpp:1696 ++#: libdnf/dnf-sack.cpp:1807 + msgid "failed loading RPMDB" + msgstr "无法加载 RPMDB" + +-#: libdnf/dnf-sack.cpp:2403 ++#: libdnf/dnf-sack.cpp:2532 + #, c-format + msgid "No module defaults found: %s" +-msgstr "" ++msgstr "没有找到模块默认设置:%s" + + #: libdnf/dnf-state.cpp:1184 + #, c-format +@@ -287,11 +444,11 @@ msgstr "在尝试确保软件包 %s 时源没有设置" + #: libdnf/dnf-transaction.cpp:326 + #, c-format + msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)" +-msgstr "无法确保 %1$s,因为 repo %2$s 没有找到 (%3$i repos 已加载)" ++msgstr "无法确保 %1$s,因为存储库 %2$s 没有找到 (%3$i 存储库已加载)" + + #: libdnf/dnf-transaction.cpp:367 + msgid "Failed to check untrusted: " +-msgstr "检查不被信任失败: " ++msgstr "检查不被信任失败 : " + + #: libdnf/dnf-transaction.cpp:377 + #, c-format +@@ -301,7 +458,7 @@ msgstr "没有找到下载的文件 %s" + #: libdnf/dnf-transaction.cpp:397 + #, c-format + msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" +-msgstr "软件包 %1$s 不能被验证,repo %2$s 启用了 GPG: %3$s" ++msgstr "软件包 %1$s 不能被验证,存储库 %2$s 启用了 GPG: %3$s" + + #: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 + msgid "Failed to get value for CacheDir" +@@ -310,7 +467,7 @@ msgstr "无法为 CacheDir 获得值" + #: libdnf/dnf-transaction.cpp:911 + #, c-format + msgid "Failed to get filesystem free size for %s: " +-msgstr "无法为 %s 获得文件系统可用空间的大小: " ++msgstr "无法为 %s 获得文件系统可用空间的大小: " + + #: libdnf/dnf-transaction.cpp:919 + #, c-format +@@ -322,26 +479,26 @@ msgstr "无法为 %s 获得文件系统可用空间的大小" + msgid "Not enough free space in %1$s: needed %2$s, available %3$s" + msgstr "%1$s 没有足够的空闲空间: 需要 %2$s,可用 %3$s" + +-#: libdnf/dnf-transaction.cpp:1196 ++#: libdnf/dnf-transaction.cpp:1195 + msgid "failed to set root" + msgstr "设置 root 失败" + +-#: libdnf/dnf-transaction.cpp:1418 ++#: libdnf/dnf-transaction.cpp:1416 + #, c-format + msgid "Error %i running transaction test" +-msgstr "错误 %i 运行事务测试" ++msgstr "运行事务测试时错误 %i" + +-#: libdnf/dnf-transaction.cpp:1458 ++#: libdnf/dnf-transaction.cpp:1456 + #, c-format + msgid "Error %i running transaction" +-msgstr "错误 %i 运行事务" ++msgstr "运行事务时错误 %i" + +-#: libdnf/dnf-transaction.cpp:1473 ++#: libdnf/dnf-transaction.cpp:1472 + #, c-format + msgid "Transaction did not go to writing phase, but returned no error(%i)" + msgstr "事务没有进入写阶段,但没有返回错误(%i)" + +-#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:399 ++#: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485 + #, c-format + msgid "cannot open directory %1$s: %2$s" + msgstr "无法打开目录 %1$s: %2$s" +@@ -351,369 +508,419 @@ msgstr "无法打开目录 %1$s: %2$s" + msgid "failed to remove %s" + msgstr "无法删除 %s" + +-#: libdnf/goal/Goal.cpp:55 ++#: libdnf/goal/Goal.cpp:74 + msgid "Ill-formed Selector, presence of multiple match objects in the filter" + msgstr "Ill-formed Selector,在过滤器中有多个匹配的对象" + +-#: libdnf/goal/Goal.cpp:56 ++#: libdnf/goal/Goal.cpp:75 + msgid "Ill-formed Selector used for the operation, incorrect comparison type" + msgstr "这个操作使用了 Ill-formed Selector,不正确的比较类型" + +-#: libdnf/goal/Goal.cpp:67 libdnf/goal/Goal.cpp:94 ++#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 + msgid " does not belong to a distupgrade repository" +-msgstr "" ++msgstr " 不属于 distupgrade 仓库" + +-#: libdnf/goal/Goal.cpp:68 libdnf/goal/Goal.cpp:95 ++#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 + msgid " has inferior architecture" +-msgstr "" ++msgstr " 有 inferior 架构" + +-#: libdnf/goal/Goal.cpp:69 ++#: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " +-msgstr "" ++msgstr "安装的软件包的问题 " + +-#: libdnf/goal/Goal.cpp:70 libdnf/goal/Goal.cpp:97 ++#: libdnf/goal/Goal.cpp:89 libdnf/goal/Goal.cpp:116 + msgid "conflicting requests" +-msgstr "" ++msgstr "冲突的请求" + +-#: libdnf/goal/Goal.cpp:71 libdnf/goal/Goal.cpp:98 ++#: libdnf/goal/Goal.cpp:90 libdnf/goal/Goal.cpp:117 + msgid "unsupported request" +-msgstr "" ++msgstr "不支持的请求" + +-#: libdnf/goal/Goal.cpp:72 libdnf/goal/Goal.cpp:99 ++#: libdnf/goal/Goal.cpp:91 libdnf/goal/Goal.cpp:118 + msgid "nothing provides requested " +-msgstr "" ++msgstr "没有东西可以提供所请求的 " + +-#: libdnf/goal/Goal.cpp:73 ++#: libdnf/goal/Goal.cpp:92 + #, c-format + msgid "package %s does not exist" +-msgstr "" ++msgstr "软件包 %s 不存在" + +-#: libdnf/goal/Goal.cpp:74 libdnf/goal/Goal.cpp:101 ++#: libdnf/goal/Goal.cpp:93 libdnf/goal/Goal.cpp:120 + msgid " is provided by the system" +-msgstr "" ++msgstr " 由系统提供" + +-#: libdnf/goal/Goal.cpp:75 libdnf/goal/Goal.cpp:102 ++#: libdnf/goal/Goal.cpp:94 libdnf/goal/Goal.cpp:121 + msgid "some dependency problem" +-msgstr "" ++msgstr "一些依赖问题" + +-#: libdnf/goal/Goal.cpp:76 ++#: libdnf/goal/Goal.cpp:95 + msgid "cannot install the best update candidate for package " +-msgstr "" ++msgstr "无法为软件包安装最佳更新候选 " + +-#: libdnf/goal/Goal.cpp:77 libdnf/goal/Goal.cpp:104 ++#: libdnf/goal/Goal.cpp:96 libdnf/goal/Goal.cpp:123 + msgid "cannot install the best candidate for the job" +-msgstr "" ++msgstr "无法为该任务安装最佳候选" + +-#: libdnf/goal/Goal.cpp:78 ++#: libdnf/goal/Goal.cpp:97 + #, c-format + msgid "package %s is filtered out by modular filtering" +-msgstr "" ++msgstr "软件包 %s 被模块过滤过滤掉" + +-#: libdnf/goal/Goal.cpp:79 ++#: libdnf/goal/Goal.cpp:98 + #, c-format + msgid "package %s does not have a compatible architecture" +-msgstr "" ++msgstr "软件包 %s 没有兼容的架构" + +-#: libdnf/goal/Goal.cpp:80 ++#: libdnf/goal/Goal.cpp:99 + #, c-format + msgid "package %s is not installable" +-msgstr "" ++msgstr "软件包 %s 不可安装" + +-#: libdnf/goal/Goal.cpp:81 ++#: libdnf/goal/Goal.cpp:100 + #, c-format + msgid "package %s is filtered out by exclude filtering" +-msgstr "" ++msgstr "软件包 %s 被排除过滤过滤掉" + +-#: libdnf/goal/Goal.cpp:82 ++#: libdnf/goal/Goal.cpp:101 + #, c-format + msgid "nothing provides %s needed by %s" +-msgstr "" ++msgstr "没有提供 %s 所需要的 %s" + +-#: libdnf/goal/Goal.cpp:83 ++#: libdnf/goal/Goal.cpp:102 + #, c-format + msgid "cannot install both %s and %s" +-msgstr "" ++msgstr "无法同时安装 %s 和 %s" + +-#: libdnf/goal/Goal.cpp:84 ++#: libdnf/goal/Goal.cpp:103 + #, c-format + msgid "package %s conflicts with %s provided by %s" +-msgstr "" ++msgstr "软件包 %s 与 %s(由 %s 提供)冲突" + +-#: libdnf/goal/Goal.cpp:85 ++#: libdnf/goal/Goal.cpp:104 + #, c-format + msgid "package %s obsoletes %s provided by %s" +-msgstr "" ++msgstr "软件包 %s 淘汰了 %s 提供的 %s" + +-#: libdnf/goal/Goal.cpp:86 ++#: libdnf/goal/Goal.cpp:105 + #, c-format + msgid "installed package %s obsoletes %s provided by %s" +-msgstr "" ++msgstr "已安装的软件包 %s 淘汰了 %s 提供的 %s" + +-#: libdnf/goal/Goal.cpp:87 ++#: libdnf/goal/Goal.cpp:106 + #, c-format + msgid "package %s implicitly obsoletes %s provided by %s" +-msgstr "" ++msgstr "软件包 %s 隐式地淘汰了 %s 提供的 %s" + +-#: libdnf/goal/Goal.cpp:88 ++#: libdnf/goal/Goal.cpp:107 + #, c-format + msgid "package %s requires %s, but none of the providers can be installed" +-msgstr "" ++msgstr "软件包 %s 需要 %s,但没有提供者可以被安装" + +-#: libdnf/goal/Goal.cpp:89 ++#: libdnf/goal/Goal.cpp:108 + #, c-format + msgid "package %s conflicts with %s provided by itself" +-msgstr "" ++msgstr "软件包 %s 与自己提供的 %s 冲突" + +-#: libdnf/goal/Goal.cpp:90 ++#: libdnf/goal/Goal.cpp:109 + #, c-format + msgid "both package %s and %s obsolete %s" +-msgstr "" ++msgstr "软件包 %s 和 %s 同时取代了 %s" + +-#: libdnf/goal/Goal.cpp:96 ++#: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " +-msgstr "" ++msgstr "已安装模块的问题 " + +-#: libdnf/goal/Goal.cpp:100 ++#: libdnf/goal/Goal.cpp:119 + #, c-format + msgid "module %s does not exist" +-msgstr "" ++msgstr "模块 %s 不存在" + +-#: libdnf/goal/Goal.cpp:103 ++#: libdnf/goal/Goal.cpp:122 + msgid "cannot install the best update candidate for module " +-msgstr "" ++msgstr "无法为模块安装最佳更新候选 " + +-#: libdnf/goal/Goal.cpp:105 libdnf/goal/Goal.cpp:108 ++#: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format + msgid "module %s is disabled" +-msgstr "" ++msgstr "模块 %s 被禁用" + +-#: libdnf/goal/Goal.cpp:106 ++#: libdnf/goal/Goal.cpp:125 + #, c-format + msgid "module %s does not have a compatible architecture" +-msgstr "" ++msgstr "模块 %s 没有兼容的架构" + +-#: libdnf/goal/Goal.cpp:107 ++#: libdnf/goal/Goal.cpp:126 + #, c-format + msgid "module %s is not installable" +-msgstr "" ++msgstr "模块 %s 不可安装" + +-#: libdnf/goal/Goal.cpp:109 ++#: libdnf/goal/Goal.cpp:128 + #, c-format + msgid "nothing provides %s needed by module %s" +-msgstr "" ++msgstr "没有提供模块 %s 所需要的 %s" + +-#: libdnf/goal/Goal.cpp:110 ++#: libdnf/goal/Goal.cpp:129 + #, c-format + msgid "cannot install both modules %s and %s" +-msgstr "" ++msgstr "不能同时安装模块 %s 和 %s" + +-#: libdnf/goal/Goal.cpp:111 ++#: libdnf/goal/Goal.cpp:130 + #, c-format + msgid "module %s conflicts with %s provided by %s" +-msgstr "" ++msgstr "模块 %s 与 %s 提供的 %s 冲突" + +-#: libdnf/goal/Goal.cpp:112 ++#: libdnf/goal/Goal.cpp:131 + #, c-format + msgid "module %s obsoletes %s provided by %s" +-msgstr "" ++msgstr "模块 %s 淘汰了 %s 提供的 %s" + +-#: libdnf/goal/Goal.cpp:113 ++#: libdnf/goal/Goal.cpp:132 + #, c-format + msgid "installed module %s obsoletes %s provided by %s" +-msgstr "" ++msgstr "已安装的模块 %s 淘汰了 %s 提供的 %s" + +-#: libdnf/goal/Goal.cpp:114 ++#: libdnf/goal/Goal.cpp:133 + #, c-format + msgid "module %s implicitly obsoletes %s provided by %s" +-msgstr "" ++msgstr "模块 %s 隐式地淘汰了 %s 提供的 %s" + +-#: libdnf/goal/Goal.cpp:115 ++#: libdnf/goal/Goal.cpp:134 + #, c-format + msgid "module %s requires %s, but none of the providers can be installed" +-msgstr "" ++msgstr "模块 %s 需要 %s,但无法安装任何提供程序" + +-#: libdnf/goal/Goal.cpp:116 ++#: libdnf/goal/Goal.cpp:135 + #, c-format + msgid "module %s conflicts with %s provided by itself" +-msgstr "" ++msgstr "模块 %s 与自己提供的 %s 冲突" + +-#: libdnf/goal/Goal.cpp:117 ++#: libdnf/goal/Goal.cpp:136 + #, c-format + msgid "both module %s and %s obsolete %s" +-msgstr "" ++msgstr "模块 %s 和 %s 同时取代了 %s" + +-#: libdnf/goal/Goal.cpp:1038 ++#: libdnf/goal/Goal.cpp:1051 + msgid "no solver set" + msgstr "无 solver 设置" + +-#: libdnf/goal/Goal.cpp:1043 ++#: libdnf/goal/Goal.cpp:1056 + #, c-format + msgid "failed to make %s absolute" + msgstr "无法使 %s 绝对" + +-#: libdnf/goal/Goal.cpp:1050 ++#: libdnf/goal/Goal.cpp:1063 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" + msgstr "把 debugdata 写入到 %1$s 失败: %2$s" + +-#: libdnf/goal/Goal.cpp:1062 ++#: libdnf/goal/Goal.cpp:1075 + msgid "no solv in the goal" + msgstr "在目标中没有 solv" + +-#: libdnf/goal/Goal.cpp:1064 ++#: libdnf/goal/Goal.cpp:1077 + msgid "no solution, cannot remove protected package" + msgstr "没有解决方案,不能删除保护的软件包" + +-#: libdnf/goal/Goal.cpp:1067 ++#: libdnf/goal/Goal.cpp:1080 + msgid "no solution possible" + msgstr "没有可能的解决方案" + +-#: libdnf/goal/Goal.cpp:1479 ++#: libdnf/goal/Goal.cpp:1206 ++msgid "Problem: " ++msgstr "问题: " ++ ++#: libdnf/goal/Goal.cpp:1211 ++#, c-format ++msgid "Problem %d: " ++msgstr "问题 %d: " ++ ++#: libdnf/goal/Goal.cpp:1538 + msgid "" + "The operation would result in removing the following protected packages: " +-msgstr "这个操作可能会导致删除以下受保护的软件包: " ++msgstr "这个操作将会导致删除以下受保护的软件包: " ++ ++#: libdnf/hy-iutil.cpp:181 ++#, c-format ++msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu" ++msgstr "Libsolv 的 solv_toolversion 为: %zu,但我们预计最大为:%zu" + +-#: libdnf/hy-iutil.cpp:322 ++#: libdnf/hy-iutil.cpp:408 + #, c-format + msgid "Failed renaming %1$s to %2$s: %3$s" + msgstr "将 %1$s 重命名为 %2$s 失败: %3$s" + +-#: libdnf/hy-iutil.cpp:330 ++#: libdnf/hy-iutil.cpp:416 + #, c-format + msgid "Failed setting perms on %1$s: %2$s" + msgstr "在 %1$s 中设置 perms 失败: %2$s" + +-#: libdnf/hy-iutil.cpp:376 ++#: libdnf/hy-iutil.cpp:462 + #, c-format + msgid "cannot create directory %1$s: %2$s" +-msgstr "" ++msgstr "无法创建目录 %1$s: %2$s" + +-#: libdnf/hy-iutil.cpp:411 ++#: libdnf/hy-iutil.cpp:497 + #, c-format + msgid "cannot stat path %1$s: %2$s" +-msgstr "" ++msgstr "无法 stat 路径 %1$s: %2$s" + +-#: libdnf/module/ModulePackage.cpp:499 ++#: libdnf/module/ModulePackage.cpp:560 + #, c-format + msgid "Invalid format of Platform module: %s" +-msgstr "" ++msgstr "Platform 模块格式无效 : %s" + +-#: libdnf/module/ModulePackage.cpp:514 ++#: libdnf/module/ModulePackage.cpp:575 + msgid "Multiple module platforms provided by available packages\n" +-msgstr "" ++msgstr "可用软件包提供了多个模块平台\n" + +-#: libdnf/module/ModulePackage.cpp:527 ++#: libdnf/module/ModulePackage.cpp:588 + msgid "Multiple module platforms provided by installed packages\n" +-msgstr "" ++msgstr "已安装的软件包提供了多个模块平台\n" + +-#: libdnf/module/ModulePackage.cpp:554 ++#: libdnf/module/ModulePackage.cpp:615 + #, c-format + msgid "Detection of Platform Module in %s failed: %s" +-msgstr "" ++msgstr "检测 %s 中的 Platform 模块失败: %s" + +-#: libdnf/module/ModulePackage.cpp:563 ++#: libdnf/module/ModulePackage.cpp:624 + #, c-format + msgid "Missing PLATFORM_ID in %s" +-msgstr "" ++msgstr "在 %s 中缺少 PLATFORM_ID" + +-#: libdnf/module/ModulePackage.cpp:568 ++#: libdnf/module/ModulePackage.cpp:629 + msgid "No valid Platform ID detected" +-msgstr "" ++msgstr "没有检测到有效的 Platform ID" + + #: libdnf/module/ModulePackageContainer.cpp:68 + #, c-format + msgid "Cannot enable multiple streams for module '%s'" +-msgstr "" ++msgstr "无法为模块 '%s' 启用多个流" + +-#: libdnf/module/ModulePackageContainer.cpp:294 ++#: libdnf/module/ModulePackageContainer.cpp:295 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" +-msgstr "" ++msgstr "默认设置与存储库 '%s' 冲突 : %s" ++ ++#: libdnf/module/ModulePackageContainer.cpp:841 ++msgid "Installing module profiles:\n" ++msgstr "安装模块配置档案:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:856 ++msgid "Disabling module profiles:\n" ++msgstr "禁用模块配置档案:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:871 ++msgid "Enabling module streams:\n" ++msgstr "启用模块流:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:885 ++msgid "Switching module streams:\n" ++msgstr "切换模块流:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:1569 ++#: libdnf/module/ModulePackageContainer.cpp:903 ++msgid "Disabling modules:\n" ++msgstr "禁用模块:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:914 ++msgid "Resetting modules:\n" ++msgstr "重置模块:\n" ++ ++#: libdnf/module/ModulePackageContainer.cpp:1638 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" +-msgstr "" ++msgstr "无法加载位于 '%s' 的模块 Fail-Safe 数据" + +-#: libdnf/module/ModulePackageContainer.cpp:1575 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" +-msgstr "" ++msgstr "无法为模块 '%s:%s' 加载模块 Fail-Safe 数据" + +-#: libdnf/module/ModulePackageContainer.cpp:1639 ++#: libdnf/module/ModulePackageContainer.cpp:1702 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" +-msgstr "" ++msgstr "无法为模块 Fail Safe 数据创建目录 \"%s\" : %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1661 ++#: libdnf/module/ModulePackageContainer.cpp:1718 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" +-msgstr "" ++msgstr "无法把模块 Fail Safe 数据保存到 '%s'" + +-#: libdnf/module/ModulePackageContainer.cpp:1686 ++#: libdnf/module/ModulePackageContainer.cpp:1741 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" +-msgstr "" ++msgstr "无法删除 '%s' 中的模块 Fail Safe 数据" ++ ++#: libdnf/module/ModulePackageContainer.cpp:1773 ++#, c-format ++msgid "" ++"Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " ++"disabled" ++msgstr "无法将模块化过时应用到 '%s:%s',因为目标模块 '%s' 被禁用" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:86 + #, c-format + msgid "Failed to update from string: %s" +-msgstr "" ++msgstr "无法从字符串更新: %s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:110 + #, c-format + msgid "Failed to resolve: %s" +-msgstr "" ++msgstr "无法解析: %s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:115 + #, c-format + msgid "There were errors while resolving modular defaults: %s" +-msgstr "" ++msgstr "在解析模块默认值时出现了错误:%s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:120 + #, c-format + msgid "Failed to upgrade defaults: %s" +-msgstr "" ++msgstr "无法升级默认值: %s" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:123 + #, c-format + msgid "Failed to upgrade streams: %s" +-msgstr "" ++msgstr "升级流失败: %s" ++ ++#: libdnf/module/modulemd/ModuleMetadata.cpp:212 ++#, c-format ++msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" ++msgstr "无法获取模块过时,因为没有流匹配 %s:%s" + + #: libdnf/plugin/plugin.cpp:46 + #, c-format + msgid "Can't load shared library \"%s\": %s" +-msgstr "" ++msgstr "无法加载共享库 \"%s\": %s" + + #: libdnf/plugin/plugin.cpp:61 libdnf/plugin/plugin.cpp:67 + #: libdnf/plugin/plugin.cpp:73 libdnf/plugin/plugin.cpp:79 + #, c-format + msgid "Can't obtain address of symbol \"%s\": %s" +-msgstr "" ++msgstr "无法获取符号 \"%s\" 的地址: %s" + + #: libdnf/plugin/plugin.cpp:86 + #, c-format + msgid "Loading plugin file=\"%s\"" +-msgstr "" ++msgstr "正在加载插件文件=\"%s\"" + + #: libdnf/plugin/plugin.cpp:89 + #, c-format + msgid "Loaded plugin name=\"%s\", version=\"%s\"" +-msgstr "" ++msgstr "已加载插件名=\"%s\", 版本=\"%s\"" + + #: libdnf/plugin/plugin.cpp:96 + msgid "Plugins::loadPlugins() dirPath cannot be empty" +-msgstr "" ++msgstr "Plugins::loadPlugins() dirPath 不能为空" + + #: libdnf/plugin/plugin.cpp:105 + #, c-format + msgid "Can't read plugin directory \"%s\": %s" +-msgstr "" ++msgstr "无法读取插件目录 \"%s\": %s" + + #: libdnf/plugin/plugin.cpp:114 + #, c-format + msgid "Can't load plugin \"%s\": %s" +-msgstr "" ++msgstr "无法加载插件 \"%s\": %s" + + #: libdnf/repo/DependencySplitter.cpp:50 + msgid "" +@@ -721,6 +928,8 @@ msgid "" + "deprecated and the support will be dropped in future versions. Use '=' " + "operator instead." + msgstr "" ++"在 reldeps 中使用 '==' 操作符可能导致一个未定义的行为。这个操作符已被废弃,并" ++"且在未来的版本中会取消对它的支持。请使用 '=' 操作符代替。" + + #: libdnf/repo/Repo.cpp:321 + #, c-format +@@ -732,146 +941,161 @@ msgstr "软件仓库 %s 没有设置镜像或者 baseurl。" + msgid "Repository '%s' has unsupported type: 'type=%s', skipping." + msgstr "仓库 '%s' 有不被支持的类型: 'type=%s', 忽略。" + +-#: libdnf/repo/Repo.cpp:546 ++#: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 ++#: libdnf/repo/Repo.cpp:1387 + #, c-format +-msgid "Cannot find a valid baseurl for repo: %s" +-msgstr "无法为仓库 %s 找到一个有效的 baseurl" ++msgid "repo '%s': 'basecachedir' is not set" ++msgstr "存储库 '%s': 'basecachedir' 没有设置" + +-#: libdnf/repo/Repo.cpp:583 libdnf/repo/Repo.cpp:1672 ++#: libdnf/repo/Repo.cpp:512 + msgid "" +-"Maximum download speed is lower than minimum. Please change configuration of" +-" minrate or throttle" ++"Maximum download speed is lower than minimum. Please change configuration of " ++"minrate or throttle" + msgstr "最大下载速度低于最小值。请修改 minrate 或 throttle 的配置" + +-#: libdnf/repo/Repo.cpp:633 libdnf/repo/Repo.cpp:655 ++#: libdnf/repo/Repo.cpp:546 ++#, c-format ++msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" ++msgstr "存储库 '%s': 'proxy_username' 已被设置,但没有设置 'proxy_password'" ++ ++#: libdnf/repo/Repo.cpp:548 ++msgid "'proxy_username' is set but not 'proxy_password'" ++msgstr "'proxy_username' 已被设置,但没有设置 'proxy_password'" ++ ++#: libdnf/repo/Repo.cpp:629 ++#, c-format ++msgid "Cannot find a valid baseurl for repo: %s" ++msgstr "无法为存储库找到一个有效的 baseurl:%s" ++ ++#: libdnf/repo/Repo.cpp:660 libdnf/repo/Repo.cpp:682 + #, c-format + msgid "%s: gpgme_data_new_from_fd(): %s" + msgstr "%s: gpgme_data_new_from_fd(): %s" + +-#: libdnf/repo/Repo.cpp:641 libdnf/repo/Repo.cpp:663 ++#: libdnf/repo/Repo.cpp:668 libdnf/repo/Repo.cpp:690 + #, c-format + msgid "%s: gpgme_op_import(): %s" + msgstr "%s: gpgme_op_import(): %s" + +-#: libdnf/repo/Repo.cpp:686 libdnf/repo/Repo.cpp:752 libdnf/repo/Repo.cpp:880 ++#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:779 libdnf/repo/Repo.cpp:907 + #, c-format + msgid "%s: gpgme_ctx_set_engine_info(): %s" + msgstr "%s: gpgme_ctx_set_engine_info(): %s" + +-#: libdnf/repo/Repo.cpp:713 libdnf/repo/Repo.cpp:777 ++#: libdnf/repo/Repo.cpp:740 libdnf/repo/Repo.cpp:804 + #, c-format + msgid "can not list keys: %s" + msgstr "不能列出 key: %s" + +-#: libdnf/repo/Repo.cpp:806 ++#: libdnf/repo/Repo.cpp:833 + #, c-format + msgid "Failed to retrieve GPG key for repo '%s': %s" +-msgstr "" ++msgstr "为仓库 '%s' 获取 GPG 密钥失败 : %s" + +-#: libdnf/repo/Repo.cpp:859 ++#: libdnf/repo/Repo.cpp:886 + #, c-format + msgid "repo %s: 0x%s already imported" +-msgstr "repo %s: 0x%s 已被导入" ++msgstr "存储库 %s: 0x%s 已被导入" + +-#: libdnf/repo/Repo.cpp:887 ++#: libdnf/repo/Repo.cpp:914 + #, c-format + msgid "repo %s: imported key 0x%s." +-msgstr "repo %s: 已导入密钥 0x%s。" ++msgstr "存储库 %s: 已导入密钥 0x%s。" + +-#: libdnf/repo/Repo.cpp:1131 ++#: libdnf/repo/Repo.cpp:1167 + #, c-format + msgid "reviving: repo '%s' skipped, no metalink." + msgstr "恢复中: 仓库 '%s' 已被跳过,无 metalink。" + +-#: libdnf/repo/Repo.cpp:1150 ++#: libdnf/repo/Repo.cpp:1186 + #, c-format + msgid "reviving: repo '%s' skipped, no usable hash." + msgstr "恢复中: 仓库 '%s' 已被跳过,无可用 hash。" + +-#: libdnf/repo/Repo.cpp:1173 ++#: libdnf/repo/Repo.cpp:1209 + #, c-format + msgid "reviving: failed for '%s', mismatched %s sum." + msgstr "恢复: '%s' 失败,不匹配的 %s sum。" + +-#: libdnf/repo/Repo.cpp:1179 ++#: libdnf/repo/Repo.cpp:1215 + #, c-format + msgid "reviving: '%s' can be revived - metalink checksums match." + msgstr "恢复中: '%s' 可以被恢复 - metalink 校验和匹配。" + +-#: libdnf/repo/Repo.cpp:1204 ++#: libdnf/repo/Repo.cpp:1240 + #, c-format + msgid "reviving: '%s' can be revived - repomd matches." + msgstr "恢复: '%s' 可用被恢复 - repomd 匹配。" + +-#: libdnf/repo/Repo.cpp:1206 ++#: libdnf/repo/Repo.cpp:1242 + #, c-format + msgid "reviving: failed for '%s', mismatched repomd." + msgstr "恢复: '%s' 失败,不匹配的 repomd。" + +-#: libdnf/repo/Repo.cpp:1224 ++#: libdnf/repo/Repo.cpp:1260 + #, c-format + msgid "Cannot create repo destination directory \"%s\": %s" +-msgstr "" ++msgstr "无法创建仓库目标目录 \"%s\": %s" + +-#: libdnf/repo/Repo.cpp:1230 ++#: libdnf/repo/Repo.cpp:1266 + #, c-format + msgid "Cannot create repo temporary directory \"%s\": %s" +-msgstr "无法创建 repo 临时目录 \"%s\": %s" ++msgstr "无法创建存储库临时目录 \"%s\": %s" + +-#: libdnf/repo/Repo.cpp:1244 ++#: libdnf/repo/Repo.cpp:1280 + #, c-format + msgid "Cannot create directory \"%s\": %s" + msgstr "无法创建目录 \"%s\": %s" + +-#: libdnf/repo/Repo.cpp:1267 ++#: libdnf/repo/Repo.cpp:1303 + #, c-format + msgid "Cannot rename directory \"%s\" to \"%s\": %s" + msgstr "无法把目录 \"%s\" 重命名为 \"%s\": %s" + +-#: libdnf/repo/Repo.cpp:1290 ++#: libdnf/repo/Repo.cpp:1326 + #, c-format + msgid "repo: using cache for: %s" +-msgstr "仓库: 正在为 %s 使用缓存" ++msgstr "存储库:使用缓存用于:%s" + +-#: libdnf/repo/Repo.cpp:1302 ++#: libdnf/repo/Repo.cpp:1338 + #, c-format + msgid "Cache-only enabled but no cache for '%s'" +-msgstr "仅使用缓存已开启但没有 '%s' 的缓存" ++msgstr "仅启用缓存,但没有 '%s' 的缓存" + +-#: libdnf/repo/Repo.cpp:1306 ++#: libdnf/repo/Repo.cpp:1342 + #, c-format + msgid "repo: downloading from remote: %s" +-msgstr "repo: 从远程下载: %s" ++msgstr "存储库: 从远程下载: %s" + +-#: libdnf/repo/Repo.cpp:1312 ++#: libdnf/repo/Repo.cpp:1349 + #, c-format + msgid "Failed to download metadata for repo '%s': %s" +-msgstr "" ++msgstr "为仓库 '%s' 下载元数据失败 : %s" + +-#: libdnf/repo/Repo.cpp:1338 ++#: libdnf/repo/Repo.cpp:1375 + msgid "getCachedir(): Computation of SHA256 failed" + msgstr "getCachedir(): 计算 SHA256 失败" + +-#: libdnf/repo/Repo.cpp:1363 ++#: libdnf/repo/Repo.cpp:1403 + #, c-format + msgid "Cannot create persistdir \"%s\": %s" +-msgstr "" ++msgstr "无法创建 persistdir \"%s\": %s" + +-#: libdnf/repo/Repo.cpp:1763 ++#: libdnf/repo/Repo.cpp:1780 + msgid "resume cannot be used simultaneously with the byterangestart param" + msgstr "resume 不能和 the byterangestart 参数同时使用" + +-#: libdnf/repo/Repo.cpp:1780 ++#: libdnf/repo/Repo.cpp:1797 + #, c-format + msgid "PackageTarget initialization failed: %s" + msgstr "PackageTarget 初始失败: %s" + +-#: libdnf/repo/Repo.cpp:1886 ++#: libdnf/repo/Repo.cpp:1903 + #, c-format + msgid "Cannot open %s: %s" + msgstr "无法打开 %s: %s" + +-#: libdnf/repo/Repo.cpp:1930 ++#: libdnf/repo/Repo.cpp:1947 + #, c-format + msgid "Log handler with id %ld doesn't exist" + msgstr "id 为 %ld 的日志处理器不存在" +@@ -880,31 +1104,31 @@ msgstr "id 为 %ld 的日志处理器不存在" + msgid "In progress" + msgstr "进行中" + +-#: libdnf/transaction/Swdb.cpp:188 libdnf/transaction/Swdb.cpp:216 +-#: libdnf/transaction/Swdb.cpp:228 libdnf/transaction/Swdb.cpp:245 +-#: libdnf/transaction/Swdb.cpp:384 libdnf/transaction/Swdb.cpp:394 ++#: libdnf/transaction/Swdb.cpp:187 libdnf/transaction/Swdb.cpp:215 ++#: libdnf/transaction/Swdb.cpp:227 libdnf/transaction/Swdb.cpp:244 ++#: libdnf/transaction/Swdb.cpp:383 libdnf/transaction/Swdb.cpp:393 + msgid "Not in progress" + msgstr "没有在进行中" + +-#: libdnf/transaction/Swdb.cpp:255 ++#: libdnf/transaction/Swdb.cpp:254 + msgid "No transaction in progress" + msgstr "没有事务在进行中" + +-#: libdnf/transaction/TransactionItem.cpp:147 ++#: libdnf/transaction/TransactionItem.cpp:146 + msgid "Attempt to insert transaction item into completed transaction" + msgstr "试图向已完成的事务中插入事务项" + +-#: libdnf/transaction/TransactionItem.cpp:218 ++#: libdnf/transaction/TransactionItem.cpp:217 + msgid "Attempt to update transaction item in completed transaction" + msgstr "试图在已完成的事务中更新事务" + + #: libdnf/transaction/Transformer.cpp:76 + msgid "Database Corrupted: no row 'version' in table 'config'" +-msgstr "" ++msgstr "数据库损坏:表 'config' 中没有 'version' 行" + + #: libdnf/transaction/Transformer.cpp:681 + msgid "Transformer: can't open history persist dir" +-msgstr "Transformer: 无法打开 history persist dir" ++msgstr "转换程序: 无法打开历史持久目录" + + #: libdnf/transaction/Transformer.cpp:694 + msgid "Couldn't find a history database" +@@ -923,8 +1147,20 @@ msgstr "TransactionItem 状态没有设置:%s" + msgid "Can't add console output to unsaved transaction" + msgstr "无法向未保存的事务中添加控制台输出" + ++#~ msgid "failed to add solv" ++#~ msgstr "添加 solv 失败" ++ ++#~ msgid "write_main() failed writing data: %i" ++#~ msgstr "write_main() 写数据失败: %i" ++ ++#~ msgid "write_main() failed to re-load written solv file" ++#~ msgstr "write_main() 重新加载写的 solv 文件失败" ++ ++#~ msgid "write_ext(%1$d) has failed: %2$d" ++#~ msgstr "write_ext(%1$d) 已失败: %2$d" ++ ++#~ msgid "repo_add_repomdxml/rpmmd() has failed." ++#~ msgstr "repo_add_repomdxml/rpmmd() 已失败。" ++ + #~ msgid "Bad id for repo: %s, byte = %s %d" + #~ msgstr "repo 的 id 无效: %s, byte = %s %d" +- +-#~ msgid "failed calculating RPMDB checksum" +-#~ msgstr "无法计算 RPMDB checksum" +-- +2.39.2 + diff --git a/SOURCES/0044-Add_repoid_to_solver_error_messagase.patch b/SOURCES/0044-Add_repoid_to_solver_error_messagase.patch new file mode 100644 index 0000000..392dc35 --- /dev/null +++ b/SOURCES/0044-Add_repoid_to_solver_error_messagase.patch @@ -0,0 +1,317 @@ +From 0e13ac4820e72682b427cfe3cabcfa32561cf631 Mon Sep 17 00:00:00 2001 +From: Jaroslav Mracek +Date: Fri, 24 Mar 2023 13:22:41 +0100 +Subject: [PATCH] Backport: Split modular packages to to repositories according + their origin + +It will help to provide information about repository origin to libsolv +modular error messages. +--- + libdnf/module/ModulePackageContainer.cpp | 42 ++++++++++++++---------- + 1 file changed, 24 insertions(+), 18 deletions(-) + +diff --git a/libdnf/module/ModulePackageContainer.cpp b/libdnf/module/ModulePackageContainer.cpp +index f9f861c1..546d5837 100644 +--- a/libdnf/module/ModulePackageContainer.cpp ++++ b/libdnf/module/ModulePackageContainer.cpp +@@ -235,13 +235,6 @@ ModulePackageContainer::ModulePackageContainer(bool allArch, std::string install + pImpl->persistDir = dir; + } + +- Pool * pool = dnf_sack_get_pool(pImpl->moduleSack); +- HyRepo hrepo = hy_repo_create("available"); +- auto repoImpl = libdnf::repoGetImpl(hrepo); +- LibsolvRepo *repo = repo_create(pool, "available"); +- repo->appdata = hrepo; +- repoImpl->libsolvRepo = repo; +- repoImpl->needs_internalizing = 1; + pImpl->installRoot = installRoot; + g_autofree gchar * path = g_build_filename(pImpl->installRoot.c_str(), + "/etc/dnf/modules.d", NULL); +@@ -324,23 +317,36 @@ ModulePackageContainer::add(const std::string &fileContent, const std::string & + md.addMetadataFromString(fileContent, 0); + md.resolveAddedMetadata(); + ++ LibsolvRepo * repo = nullptr; + LibsolvRepo * r; + Id id; + ++ // Search whether available repo was already created + FOR_REPOS(id, r) { +- if (strcmp(r->name, "available") == 0) { +- g_autofree gchar * path = g_build_filename(pImpl->installRoot.c_str(), +- "/etc/dnf/modules.d", NULL); +- std::vector packages = md.getAllModulePackages(pImpl->moduleSack, r, repoID); +- for(auto const& modulePackagePtr: packages) { +- std::unique_ptr modulePackage(modulePackagePtr); +- pImpl->modules.insert(std::make_pair(modulePackage->getId(), std::move(modulePackage))); +- pImpl->persistor->insert(modulePackagePtr->getName(), path); +- } +- +- return; ++ if (strcmp(r->name, repoID.c_str()) == 0) { ++ repo = r; + } + } ++ ++ // If not created yet, create it ++ if (!repo) { ++ Pool * pool = dnf_sack_get_pool(pImpl->moduleSack); ++ HyRepo hrepo = hy_repo_create(repoID.c_str()); ++ auto repoImpl = libdnf::repoGetImpl(hrepo); ++ repo = repo_create(pool, repoID.c_str()); ++ repo->appdata = hrepo; ++ repoImpl->libsolvRepo = repo; ++ repoImpl->needs_internalizing = 1; ++ } ++ ++ // add all modules to repository and pass ownership to module container ++ g_autofree gchar * path = g_build_filename(pImpl->installRoot.c_str(), "/etc/dnf/modules.d", NULL); ++ auto packages = md.getAllModulePackages(pImpl->moduleSack, r, repoID); ++ for(auto const& modulePackagePtr: packages) { ++ std::unique_ptr modulePackage(modulePackagePtr); ++ pImpl->modules.insert(std::make_pair(modulePackage->getId(), std::move(modulePackage))); ++ pImpl->persistor->insert(modulePackagePtr->getName(), path); ++ } + } + + Id +-- +2.40.1 + + +From dc8a7262f4955160172a32e54eb1db4a644471fa Mon Sep 17 00:00:00 2001 +From: Jaroslav Mracek +Date: Tue, 21 Mar 2023 11:28:43 +0100 +Subject: [PATCH] Backport: Add repoid to solver errors for RPMs + (RhBug:2179413) + +Repoid is very useful to find a source of the issue. It tells which +repositories contains problematic packages. + +https://bugzilla.redhat.com/show_bug.cgi?id=2179413 +--- + libdnf/goal/Goal.cpp | 101 +++++++++++++---------- + libdnf/module/ModulePackageContainer.cpp | 2 +- + tests/hawkey/test_goal.cpp | 14 ++-- + 3 files changed, 64 insertions(+), 53 deletions(-) + +diff --git a/libdnf/goal/Goal.cpp b/libdnf/goal/Goal.cpp +index 6b2f91a2..b7710303 100644 +--- a/libdnf/goal/Goal.cpp ++++ b/libdnf/goal/Goal.cpp +@@ -83,8 +83,8 @@ enum {RULE_DISTUPGRADE=1, RULE_INFARCH, RULE_UPDATE, RULE_JOB, RULE_JOB_UNSUPPOR + }; + + static const std::map PKG_PROBLEMS_DICT = { +- {RULE_DISTUPGRADE, M_(" does not belong to a distupgrade repository")}, +- {RULE_INFARCH, M_(" has inferior architecture")}, ++ {RULE_DISTUPGRADE, M_("%s from %s does not belong to a distupgrade repository")}, ++ {RULE_INFARCH, M_("%s from %s has inferior architecture")}, + {RULE_UPDATE, M_("problem with installed package ")}, + {RULE_JOB, M_("conflicting requests")}, + {RULE_JOB_UNSUPPORTED, M_("unsupported request")}, +@@ -94,24 +94,24 @@ static const std::map PKG_PROBLEMS_DICT = { + {RULE_PKG, M_("some dependency problem")}, + {RULE_BEST_1, M_("cannot install the best update candidate for package ")}, + {RULE_BEST_2, M_("cannot install the best candidate for the job")}, +- {RULE_PKG_NOT_INSTALLABLE_1, M_("package %s is filtered out by modular filtering")}, +- {RULE_PKG_NOT_INSTALLABLE_2, M_("package %s does not have a compatible architecture")}, +- {RULE_PKG_NOT_INSTALLABLE_3, M_("package %s is not installable")}, +- {RULE_PKG_NOT_INSTALLABLE_4, M_("package %s is filtered out by exclude filtering")}, +- {RULE_PKG_NOTHING_PROVIDES_DEP, M_("nothing provides %s needed by %s")}, +- {RULE_PKG_SAME_NAME, M_("cannot install both %s and %s")}, +- {RULE_PKG_CONFLICTS, M_("package %s conflicts with %s provided by %s")}, +- {RULE_PKG_OBSOLETES, M_("package %s obsoletes %s provided by %s")}, +- {RULE_PKG_INSTALLED_OBSOLETES, M_("installed package %s obsoletes %s provided by %s")}, +- {RULE_PKG_IMPLICIT_OBSOLETES, M_("package %s implicitly obsoletes %s provided by %s")}, +- {RULE_PKG_REQUIRES, M_("package %s requires %s, but none of the providers can be installed")}, +- {RULE_PKG_SELF_CONFLICT, M_("package %s conflicts with %s provided by itself")}, +- {RULE_YUMOBS, M_("both package %s and %s obsolete %s")} ++ {RULE_PKG_NOT_INSTALLABLE_1, M_("package %s from %s is filtered out by modular filtering")}, ++ {RULE_PKG_NOT_INSTALLABLE_2, M_("package %s from %s does not have a compatible architecture")}, ++ {RULE_PKG_NOT_INSTALLABLE_3, M_("package %s from %s is not installable")}, ++ {RULE_PKG_NOT_INSTALLABLE_4, M_("package %s from %s is filtered out by exclude filtering")}, ++ {RULE_PKG_NOTHING_PROVIDES_DEP, M_("nothing provides %s needed by %s from %s")}, ++ {RULE_PKG_SAME_NAME, M_("cannot install both %s from %s and %s from %s")}, ++ {RULE_PKG_CONFLICTS, M_("package %s from %s conflicts with %s provided by %s from %s")}, ++ {RULE_PKG_OBSOLETES, M_("package %s from %s obsoletes %s provided by %s from %s")}, ++ {RULE_PKG_INSTALLED_OBSOLETES, M_("installed package %s obsoletes %s provided by %s from %s")}, ++ {RULE_PKG_IMPLICIT_OBSOLETES, M_("package %s from %s implicitly obsoletes %s provided by %s from %s")}, ++ {RULE_PKG_REQUIRES, M_("package %s from %s requires %s, but none of the providers can be installed")}, ++ {RULE_PKG_SELF_CONFLICT, M_("package %s from %s conflicts with %s provided by itself")}, ++ {RULE_YUMOBS, M_("both package %s from %s and %s from %s obsolete %s")} + }; + + static const std::map MODULE_PROBLEMS_DICT = { +- {RULE_DISTUPGRADE, M_(" does not belong to a distupgrade repository")}, +- {RULE_INFARCH, M_(" has inferior architecture")}, ++ {RULE_DISTUPGRADE, M_("%s from %s does not belong to a distupgrade repository")}, ++ {RULE_INFARCH, M_("%s from %s has inferior architecture")}, + {RULE_UPDATE, M_("problem with installed module ")}, + {RULE_JOB, M_("conflicting requests")}, + {RULE_JOB_UNSUPPORTED, M_("unsupported request")}, +@@ -121,19 +121,19 @@ static const std::map MODULE_PROBLEMS_DICT = { + {RULE_PKG, M_("some dependency problem")}, + {RULE_BEST_1, M_("cannot install the best update candidate for module ")}, + {RULE_BEST_2, M_("cannot install the best candidate for the job")}, +- {RULE_PKG_NOT_INSTALLABLE_1, M_("module %s is disabled")}, +- {RULE_PKG_NOT_INSTALLABLE_2, M_("module %s does not have a compatible architecture")}, +- {RULE_PKG_NOT_INSTALLABLE_3, M_("module %s is not installable")}, +- {RULE_PKG_NOT_INSTALLABLE_4, M_("module %s is disabled")}, +- {RULE_PKG_NOTHING_PROVIDES_DEP, M_("nothing provides %s needed by module %s")}, +- {RULE_PKG_SAME_NAME, M_("cannot install both modules %s and %s")}, +- {RULE_PKG_CONFLICTS, M_("module %s conflicts with %s provided by %s")}, +- {RULE_PKG_OBSOLETES, M_("module %s obsoletes %s provided by %s")}, +- {RULE_PKG_INSTALLED_OBSOLETES, M_("installed module %s obsoletes %s provided by %s")}, +- {RULE_PKG_IMPLICIT_OBSOLETES, M_("module %s implicitly obsoletes %s provided by %s")}, +- {RULE_PKG_REQUIRES, M_("module %s requires %s, but none of the providers can be installed")}, +- {RULE_PKG_SELF_CONFLICT, M_("module %s conflicts with %s provided by itself")}, +- {RULE_YUMOBS, M_("both module %s and %s obsolete %s")} ++ {RULE_PKG_NOT_INSTALLABLE_1, M_("module %s from %s is disabled")}, ++ {RULE_PKG_NOT_INSTALLABLE_2, M_("module %s from %s does not have a compatible architecture")}, ++ {RULE_PKG_NOT_INSTALLABLE_3, M_("module %s from %s is not installable")}, ++ {RULE_PKG_NOT_INSTALLABLE_4, M_("module %s from %s is disabled")}, ++ {RULE_PKG_NOTHING_PROVIDES_DEP, M_("nothing provides %s needed by module %s from %s")}, ++ {RULE_PKG_SAME_NAME, M_("cannot install both modules %s from %s and %s from %s")}, ++ {RULE_PKG_CONFLICTS, M_("module %s from %s conflicts with %s provided by %s from %s")}, ++ {RULE_PKG_OBSOLETES, M_("module %s from %s obsoletes %s provided by %s from %s")}, ++ {RULE_PKG_INSTALLED_OBSOLETES, M_("installed module %s obsoletes %s provided by %s from %s")}, ++ {RULE_PKG_IMPLICIT_OBSOLETES, M_("module %s from %s implicitly obsoletes %s provided by %s from %s")}, ++ {RULE_PKG_REQUIRES, M_("module %s from %s requires %s, but none of the providers can be installed")}, ++ {RULE_PKG_SELF_CONFLICT, M_("module %s from %s conflicts with %s provided by itself")}, ++ {RULE_YUMOBS, M_("both module %s from %s and %s from %s obsolete %s")} + }; + + static std::string +@@ -147,9 +147,11 @@ libdnf_problemruleinfo2str(libdnf::PackageSet * modularExclude, Solver *solv, So + Solvable *ss; + switch (type) { + case SOLVER_RULE_DISTUPGRADE: +- return solvid2str(pool, source) + TM_(problemDict.at(RULE_DISTUPGRADE), 1); ++ return tfm::format(TM_(problemDict.at(RULE_DISTUPGRADE), 1), solvid2str(pool, source).c_str(), ++ pool_id2solvable(pool, source)->repo->name); + case SOLVER_RULE_INFARCH: +- return solvid2str(pool, source) + TM_(problemDict.at(RULE_INFARCH), 1); ++ return tfm::format(TM_(problemDict.at(RULE_DISTUPGRADE), 1), solvid2str(pool, source).c_str(), ++ pool_id2solvable(pool, source)->repo->name); + case SOLVER_RULE_UPDATE: + return std::string(TM_(problemDict.at(RULE_UPDATE), 1)) + solvid2str(pool, source); + case SOLVER_RULE_JOB: +@@ -172,44 +174,53 @@ libdnf_problemruleinfo2str(libdnf::PackageSet * modularExclude, Solver *solv, So + ss = pool->solvables + source; + if (pool_disabled_solvable(pool, ss)) { + if (modularExclude && modularExclude->has(source)) { +- return tfm::format(TM_(problemDict.at(RULE_PKG_NOT_INSTALLABLE_1), 1), solvid2str(pool, source).c_str()); ++ return tfm::format(TM_(problemDict.at(RULE_PKG_NOT_INSTALLABLE_1), 1), ++ solvid2str(pool, source).c_str(), pool_id2solvable(pool, source)->repo->name); + } else { +- return tfm::format(TM_(problemDict.at(RULE_PKG_NOT_INSTALLABLE_4), 1), solvid2str(pool, source).c_str()); ++ return tfm::format(TM_(problemDict.at(RULE_PKG_NOT_INSTALLABLE_4), 1), ++ solvid2str(pool, source).c_str(), pool_id2solvable(pool, source)->repo->name); + } + } + if (ss->arch && ss->arch != ARCH_SRC && ss->arch != ARCH_NOSRC && + pool->id2arch && (ss->arch > pool->lastarch || !pool->id2arch[ss->arch])) +- return tfm::format(TM_(problemDict.at(RULE_PKG_NOT_INSTALLABLE_2), 1), solvid2str(pool, source).c_str()); +- return tfm::format(TM_(problemDict.at(RULE_PKG_NOT_INSTALLABLE_3), 1), solvid2str(pool, source).c_str()); ++ return tfm::format(TM_(problemDict.at(RULE_PKG_NOT_INSTALLABLE_2), 1), solvid2str(pool, source).c_str(), ++ pool_id2solvable(pool, source)->repo->name); ++ return tfm::format(TM_(problemDict.at(RULE_PKG_NOT_INSTALLABLE_3), 1), solvid2str(pool, source).c_str(), ++ pool_id2solvable(pool, source)->repo->name); + case SOLVER_RULE_PKG_NOTHING_PROVIDES_DEP: + return tfm::format(TM_(problemDict.at(RULE_PKG_NOTHING_PROVIDES_DEP), 1), pool_dep2str(pool, dep), +- solvid2str(pool, source).c_str()); ++ solvid2str(pool, source).c_str(), pool_id2solvable(pool, source)->repo->name); + case SOLVER_RULE_PKG_SAME_NAME: + return tfm::format(TM_(problemDict.at(RULE_PKG_SAME_NAME), 1), solvid2str(pool, source).c_str(), +- solvid2str(pool, target).c_str()); ++ pool_id2solvable(pool, source)->repo->name, solvid2str(pool, target).c_str(), ++ pool_id2solvable(pool, target)->repo->name); + case SOLVER_RULE_PKG_CONFLICTS: + return tfm::format(TM_(problemDict.at(RULE_PKG_CONFLICTS), 1), solvid2str(pool, source).c_str(), +- pool_dep2str(pool, dep), solvid2str(pool, target).c_str()); ++ pool_id2solvable(pool, source)->repo->name, pool_dep2str(pool, dep), ++ solvid2str(pool, target).c_str(), pool_id2solvable(pool, target)->repo->name); + case SOLVER_RULE_PKG_OBSOLETES: + return tfm::format(TM_(problemDict.at(RULE_PKG_OBSOLETES), 1), solvid2str(pool, source).c_str(), +- pool_dep2str(pool, dep), solvid2str(pool, target).c_str()); ++ pool_id2solvable(pool, source)->repo->name, pool_dep2str(pool, dep), ++ solvid2str(pool, target).c_str(), pool_id2solvable(pool, target)->repo->name); + case SOLVER_RULE_PKG_INSTALLED_OBSOLETES: + return tfm::format(TM_(problemDict.at(RULE_PKG_INSTALLED_OBSOLETES), 1), + solvid2str(pool, source).c_str(), pool_dep2str(pool, dep), +- solvid2str(pool, target).c_str()); ++ solvid2str(pool, target).c_str(), pool_id2solvable(pool, target)->repo->name); + case SOLVER_RULE_PKG_IMPLICIT_OBSOLETES: + return tfm::format(TM_(problemDict.at(RULE_PKG_IMPLICIT_OBSOLETES), 1), + solvid2str(pool, source).c_str(), pool_dep2str(pool, dep), +- solvid2str(pool, target).c_str()); ++ pool_id2solvable(pool, source)->repo->name, solvid2str(pool, target).c_str(), ++ pool_id2solvable(pool, target)->repo->name); + case SOLVER_RULE_PKG_REQUIRES: + return tfm::format(TM_(problemDict.at(RULE_PKG_REQUIRES), 1), solvid2str(pool, source).c_str(), +- pool_dep2str(pool, dep)); ++ pool_id2solvable(pool, source)->repo->name, pool_dep2str(pool, dep)); + case SOLVER_RULE_PKG_SELF_CONFLICT: + return tfm::format(TM_(problemDict.at(RULE_PKG_SELF_CONFLICT), 1), solvid2str(pool, source).c_str(), +- pool_dep2str(pool, dep)); ++ pool_id2solvable(pool, source)->repo->name, pool_dep2str(pool, dep)); + case SOLVER_RULE_YUMOBS: + return tfm::format(TM_(problemDict.at(RULE_YUMOBS), 1), solvid2str(pool, source).c_str(), +- solvid2str(pool, target).c_str(), pool_dep2str(pool, dep)); ++ pool_id2solvable(pool, source)->repo->name, solvid2str(pool, target).c_str(), ++ pool_id2solvable(pool, target)->repo->name, pool_dep2str(pool, dep)); + default: + return solver_problemruleinfo2str(solv, type, source, target, dep); + } +diff --git a/libdnf/module/ModulePackageContainer.cpp b/libdnf/module/ModulePackageContainer.cpp +index 546d5837..0dbece4d 100644 +--- a/libdnf/module/ModulePackageContainer.cpp ++++ b/libdnf/module/ModulePackageContainer.cpp +@@ -341,7 +341,7 @@ ModulePackageContainer::add(const std::string &fileContent, const std::string & + + // add all modules to repository and pass ownership to module container + g_autofree gchar * path = g_build_filename(pImpl->installRoot.c_str(), "/etc/dnf/modules.d", NULL); +- auto packages = md.getAllModulePackages(pImpl->moduleSack, r, repoID); ++ auto packages = md.getAllModulePackages(pImpl->moduleSack, repo, repoID); + for(auto const& modulePackagePtr: packages) { + std::unique_ptr modulePackage(modulePackagePtr); + pImpl->modules.insert(std::make_pair(modulePackage->getId(), std::move(modulePackage))); +diff --git a/tests/hawkey/test_goal.cpp b/tests/hawkey/test_goal.cpp +index f22e1c80..b2d7af9f 100644 +--- a/tests/hawkey/test_goal.cpp ++++ b/tests/hawkey/test_goal.cpp +@@ -593,11 +593,11 @@ START_TEST(test_goal_describe_problem_rules) + auto problems = goal->describeProblemRules(0, true); + const char *expected[] = { + "conflicting requests", +- "nothing provides goodbye needed by hello-1-1.noarch" ++ "nothing provides goodbye needed by hello-1-1.noarch from main" + }; +- fail_unless(problems.size() == 2); +- fail_unless(problems[0] == expected[0]); +- fail_unless(problems[1] == expected[1]); ++ ck_assert_int_eq(problems.size(), 2); ++ ck_assert_str_eq(problems[0].c_str(), expected[0]); ++ ck_assert_str_eq(problems[1].c_str(), expected[1]); + + g_object_unref(pkg); + hy_goal_free(goal); +@@ -860,10 +860,10 @@ START_TEST(test_goal_lock) + + auto problems = goal->describeProblemRules(0, true); + const char *expected[] = { +- "package bloop-ext-2.0-1.noarch requires bloop = 2.0-1, but none of the providers can be installed", +- "cannot install both bloop-2.0-1.noarch and bloop-1.0-1.noarch", ++ "package bloop-ext-2.0-1.noarch from updates requires bloop = 2.0-1, but none of the providers can be installed", ++ "cannot install both bloop-2.0-1.noarch from updates and bloop-1.0-1.noarch from @System", + "conflicting requests", +- "package bloop-ext-1.0-1.noarch is filtered out by exclude filtering" ++ "package bloop-ext-1.0-1.noarch from updates is filtered out by exclude filtering" + }; + ck_assert_int_eq(problems.size(), 4); + ck_assert_str_eq(problems[0].c_str(), expected[0]); +-- +2.40.1 + diff --git a/SOURCES/0045-conf-Support-proxy-_none_-in-main-config-RhBug-21557.patch b/SOURCES/0045-conf-Support-proxy-_none_-in-main-config-RhBug-21557.patch new file mode 100644 index 0000000..3214ab9 --- /dev/null +++ b/SOURCES/0045-conf-Support-proxy-_none_-in-main-config-RhBug-21557.patch @@ -0,0 +1,47 @@ +From a5fe0e0eb6457ca51fabe8123d7407951cb8fcba Mon Sep 17 00:00:00 2001 +From: Jaroslav Rohel +Date: Wed, 24 May 2023 12:35:29 +0200 +Subject: [PATCH] conf: Support "proxy=_none_" in main config (RhBug:2155713) + +It has the same meaning as "proxy=". Introduced for compatibility with yum. +Yum does not support a proxy option with an empty value. Instead, it has +the special value "_none_". The value "_none_" is case insensitive. + +Support for "proxy=_none_" in the repository configuration was added some +time ago - in commit ea749e6238cdb54fe3b5add67875ab5912d2e766 + += changelog = +msg: Support "proxy=_none_" in main config +type: enhancement +resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2155713 +--- + libdnf/conf/ConfigMain.cpp | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/libdnf/conf/ConfigMain.cpp b/libdnf/conf/ConfigMain.cpp +index a6645d70..a775cf8c 100644 +--- a/libdnf/conf/ConfigMain.cpp ++++ b/libdnf/conf/ConfigMain.cpp +@@ -476,7 +476,18 @@ ConfigMain::Impl::Impl(Config & owner) + }, nullptr, true + ); + +- owner.optBinds().add("proxy", proxy); ++ owner.optBinds().add("proxy", proxy, ++ [&](Option::Priority priority, const std::string & value){ ++ auto tmpValue(value); ++ for (auto & ch : tmpValue) ++ ch = std::tolower(ch); ++ if (tmpValue == "_none_") ++ proxy.set(priority, ""); ++ else ++ proxy.set(priority, value); ++ }, nullptr, false ++ ); ++ + owner.optBinds().add("proxy_username", proxy_username); + owner.optBinds().add("proxy_password", proxy_password); + owner.optBinds().add("proxy_auth_method", proxy_auth_method); +-- +2.40.1 + diff --git a/SOURCES/0046-Update-translations-RHEL-8.9.patch b/SOURCES/0046-Update-translations-RHEL-8.9.patch new file mode 100644 index 0000000..88a40f8 --- /dev/null +++ b/SOURCES/0046-Update-translations-RHEL-8.9.patch @@ -0,0 +1,2618 @@ +From 31e7378627eb85e7cc8a9cd77e69be436c75aee6 Mon Sep 17 00:00:00 2001 +From: Marek Blaha +Date: Fri, 8 Sep 2023 14:42:40 +0200 +Subject: [PATCH] Update translations RHEL 8.9 + +--- + po/fr.po | 335 +++++++++++++++++++++++++++++-------------- + po/ja.po | 405 ++++++++++++++++++++++++++++++---------------------- + po/ko.po | 366 ++++++++++++++++++++++++++++++----------------- + po/zh_CN.po | 309 ++++++++++++++++++++++++++------------- + 4 files changed, 909 insertions(+), 506 deletions(-) + +diff --git a/po/fr.po b/po/fr.po +index c1aa4199..46995578 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -12,11 +12,10 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2023-02-28 09:11+0100\n" ++"POT-Creation-Date: 2023-08-29 13:10+0200\n" + "PO-Revision-Date: 2022-11-06 17:19+0000\n" + "Last-Translator: blutch112 \n" +-"Language-Team: French \n" ++"Language-Team: French \n" + "Language: fr\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" +@@ -125,8 +124,8 @@ msgstr "Ne peut pas activer plus de flux du module '%s' en même temps" + msgid "" + "Cannot enable module '%1$s' stream '%2$s': State of module already modified" + msgstr "" +-"Impossible d'activer le flux de module '%1$s' stream '%2$s' : état du module " +-"déjà modifié" ++"Impossible d'activer le flux de module '%1$s' stream '%2$s' : état du module" ++" déjà modifié" + + #: libdnf/dnf-context.cpp:3259 + #, c-format +@@ -149,7 +148,8 @@ msgstr "Impossible de résoudre le paramètre ’%s’" + #: libdnf/dnf-context.cpp:3303 + #, c-format + msgid "" +-"Only module name is required. Ignoring unneeded information in argument: '%s'" ++"Only module name is required. Ignoring unneeded information in argument: " ++"'%s'" + msgstr "" + "Seul le nom du module est nécessaire. Les paramètres inutiles ont été " + "ignorés : ’%s’" +@@ -210,24 +210,19 @@ msgstr "Des problèmes sont apparus pour la demande de désactivation du module" + #: libdnf/dnf-context.cpp:3633 + #, c-format + msgid "" +-"The operation would result in switching of module '%s' stream '%s' to stream " +-"'%s'" ++"The operation would result in switching of module '%s' stream '%s' to stream" ++" '%s'" + msgstr "" +-"Le résultat de l’opération sera le basculement du flux « %s » du module « %s " +-"» vers le flux « %s »" ++"Le résultat de l’opération sera le basculement du flux « %s » du module « %s" ++" » vers le flux « %s »" + + #: libdnf/dnf-context.cpp:3637 + msgid "" + "It is not possible to switch enabled streams of a module.\n" +-"It is recommended to remove all installed content from the module, and reset " +-"the module using 'microdnf module reset ' command. After you " +-"reset the module, you can install the other stream." ++"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset ' command. After you reset the module, you can install the other stream." + msgstr "" + "Il n’est pas possible de basculer les flux actifs d’un module. \n" +-"Il est recommandé de retirer tout contenu installé par le module, et de " +-"réinitialiser le mode en utilisant la commande 'microdnf module reset " +-"’. Après la réinitialisation du module, vous pouvez installer " +-"les autres flux." ++"Il est recommandé de retirer tout contenu installé par le module, et de réinitialiser le mode en utilisant la commande 'microdnf module reset ’. Après la réinitialisation du module, vous pouvez installer les autres flux." + + #: libdnf/dnf-goal.cpp:85 + msgid "Could not depsolve transaction; " +@@ -371,7 +366,8 @@ msgstr "n’a pas pu créer le fichier temporaire %s" + #: libdnf/dnf-sack.cpp:667 + #, c-format + msgid "" +-"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: " ++"%s" + msgstr "" + "Lors de l'écriture du cache d'extension %s (%d) : écriture repowriter ayant " + "échoué : %i, erreur : %s" +@@ -507,7 +503,8 @@ msgstr "N’a pas pu obtenir la taille libre du système de fichiers pour %s" + #, c-format + msgid "Not enough free space in %1$s: needed %2$s, available %3$s" + msgstr "" +-"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible %3$s" ++"Pas suffisamment d’espace libre dans %1$s : a besoin de %2$s, disponible " ++"%3$s" + + #: libdnf/dnf-transaction.cpp:1195 + msgid "failed to set root" +@@ -549,15 +546,18 @@ msgstr "" + #: libdnf/goal/Goal.cpp:75 + msgid "Ill-formed Selector used for the operation, incorrect comparison type" + msgstr "" +-"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison incorrecte" ++"Sélecteur Ill-formed utilisé pour l’opération, type de comparaison " ++"incorrecte" + +-#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 +-msgid " does not belong to a distupgrade repository" +-msgstr " n’appartient pas à un dépôt distupgrade" ++#: libdnf/goal/Goal.cpp:86 ++#, c-format ++msgid "%s from %s does not belong to a distupgrade repository" ++msgstr "%s de %s n’appartient pas à un référentiel distupgrade" + +-#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 +-msgid " has inferior architecture" +-msgstr " a une architecture inférieure" ++#: libdnf/goal/Goal.cpp:87 ++#, c-format ++msgid "%s from %s has inferior architecture" ++msgstr "%s de %s a une architecture inférieure" + + #: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " +@@ -598,69 +598,81 @@ msgstr "installation impossible du meilleur candidat pour la tâche" + + #: libdnf/goal/Goal.cpp:97 + #, c-format +-msgid "package %s is filtered out by modular filtering" +-msgstr "le paquet %s a été filtré par filtrage modulaire" ++msgid "package %s from %s is filtered out by modular filtering" ++msgstr "le paquet %s de %s a été filtré par filtrage modulaire" + + #: libdnf/goal/Goal.cpp:98 + #, c-format +-msgid "package %s does not have a compatible architecture" +-msgstr "le paquet %s n’a pas d’architecture compatible" ++msgid "package %s from %s does not have a compatible architecture" ++msgstr "le paquet %s de %s n’a pas d’architecture compatible" + + #: libdnf/goal/Goal.cpp:99 + #, c-format +-msgid "package %s is not installable" +-msgstr "le paquet %s n’est pas installable" ++msgid "package %s from %s is not installable" ++msgstr "le paquet %s de %s n’est pas installable" + + #: libdnf/goal/Goal.cpp:100 + #, c-format +-msgid "package %s is filtered out by exclude filtering" +-msgstr "le paquet %s a été filtré en excluant le filtrage" ++msgid "package %s from %s is filtered out by exclude filtering" ++msgstr "le paquet %s de %s a été filtré en excluant le filtrage" + + #: libdnf/goal/Goal.cpp:101 + #, c-format +-msgid "nothing provides %s needed by %s" +-msgstr "rien de fournit %s rendu nécessaire par %s" ++msgid "nothing provides %s needed by %s from %s" ++msgstr "rien de fournit %s rendu nécessaire par %s de %s" + + #: libdnf/goal/Goal.cpp:102 + #, c-format +-msgid "cannot install both %s and %s" +-msgstr "installation impossible à la fois de %s et %s" ++msgid "cannot install both %s from %s and %s from %s" ++msgstr "impossible d’installer à la fois %s de %s et %s de %s" + + #: libdnf/goal/Goal.cpp:103 + #, c-format +-msgid "package %s conflicts with %s provided by %s" +-msgstr "le paquet %s est en conflit avec %s fourni par %s" ++msgid "package %s from %s conflicts with %s provided by %s from %s" ++msgstr "le paquet %s de %s entre en conflit avec %s fourni par %s de %s" + + #: libdnf/goal/Goal.cpp:104 + #, c-format +-msgid "package %s obsoletes %s provided by %s" +-msgstr "le paquet %s rend obsolète %s fourni par %s" ++msgid "package %s from %s obsoletes %s provided by %s from %s" ++msgstr "le paquet %s de %s rend obsolète %sfourni par %s de %s" + + #: libdnf/goal/Goal.cpp:105 + #, c-format +-msgid "installed package %s obsoletes %s provided by %s" +-msgstr "le paquet installé %s rend obsolète %s fourni par %s" ++msgid "installed package %s obsoletes %s provided by %s from %s" ++msgstr "le paquet installé %s rend obsolète %s fourni par %s de %s" + + #: libdnf/goal/Goal.cpp:106 + #, c-format +-msgid "package %s implicitly obsoletes %s provided by %s" +-msgstr "le paquet %s rend implicitement obsolète %s fourni par %s" ++msgid "package %s from %s implicitly obsoletes %s provided by %s from %s" ++msgstr "le paquet %s de %s rend implicitement obsolète %s fourni par %s de %s" + + #: libdnf/goal/Goal.cpp:107 + #, c-format +-msgid "package %s requires %s, but none of the providers can be installed" ++msgid "" ++"package %s from %s requires %s, but none of the providers can be installed" + msgstr "" +-"le paquet %s nécessite %s, mais aucun fournisseur ne peut être installé" ++"le paquet %s de %s nécessite %s, mais aucun fournisseur ne peut être " ++"installé" + + #: libdnf/goal/Goal.cpp:108 + #, c-format +-msgid "package %s conflicts with %s provided by itself" +-msgstr "le paquet %s est en conflit avec %s fourni par lui-même" ++msgid "package %s from %s conflicts with %s provided by itself" ++msgstr "le paquet %s de %s est en conflit avec%s fourni par lui-même" + + #: libdnf/goal/Goal.cpp:109 + #, c-format +-msgid "both package %s and %s obsolete %s" +-msgstr "à la fois le paquet %s et %s rendent obsolète %s" ++msgid "both package %s from %s and %s from %s obsolete %s" ++msgstr "les deux paquets %s de %s et %s de %s rendent %s obsolète" ++ ++#: libdnf/goal/Goal.cpp:113 ++#, c-format ++msgid "%s from %s does not belong to a distupgrade repository" ++msgstr "%s de %s n’appartient pas à un référentiel distupgrade" ++ ++#: libdnf/goal/Goal.cpp:114 ++#, c-format ++msgid "%s from %s has inferior architecture" ++msgstr "%s de %s a une architecture inférieure" + + #: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " +@@ -678,101 +690,102 @@ msgstr "" + + #: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format +-msgid "module %s is disabled" +-msgstr "le module %s est désactivé" ++msgid "module %s from %s is disabled" ++msgstr "module %s de %s désactivé" + + #: libdnf/goal/Goal.cpp:125 + #, c-format +-msgid "module %s does not have a compatible architecture" +-msgstr "le module %s n’a pas d’architecture compatible" ++msgid "module %s from %s does not have a compatible architecture" ++msgstr "le module %s de %s n’a pas d’architecture compatible" + + #: libdnf/goal/Goal.cpp:126 + #, c-format +-msgid "module %s is not installable" +-msgstr "le module %s n’est pas installable" ++msgid "module %s from %s is not installable" ++msgstr "le module %s de %s n’est pas installable" + + #: libdnf/goal/Goal.cpp:128 + #, c-format +-msgid "nothing provides %s needed by module %s" +-msgstr "rien de fournit %s rendu nécessaire par le module %s" ++msgid "nothing provides %s needed by module %s from %s" ++msgstr "rien ne produit %s qui est requis par le module %s de %s" + + #: libdnf/goal/Goal.cpp:129 + #, c-format +-msgid "cannot install both modules %s and %s" +-msgstr "installation impossible à la fois des modules %s et %s" ++msgid "cannot install both modules %s from %s and %s from %s" ++msgstr "impossible d’installer à la fois les modules %s de %s et %s de %s" + + #: libdnf/goal/Goal.cpp:130 + #, c-format +-msgid "module %s conflicts with %s provided by %s" +-msgstr "le module %s est en conflit avec %s fourni par %s" ++msgid "module %s from %s conflicts with %s provided by %s from %s" ++msgstr "le module %s de %s entre en conflit avec %s fourni par %s de %s" + + #: libdnf/goal/Goal.cpp:131 + #, c-format +-msgid "module %s obsoletes %s provided by %s" +-msgstr "le module %s rend obsolète %s fourni par %s" ++msgid "module %s from %s obsoletes %s provided by %s from %s" ++msgstr "le module %s de %s rend %s obsolète qui est fourni par %s de %s" + + #: libdnf/goal/Goal.cpp:132 + #, c-format +-msgid "installed module %s obsoletes %s provided by %s" +-msgstr "le module installé %s rend obsolète %s fourni par %s" ++msgid "installed module %s obsoletes %s provided by %s from %s" ++msgstr "le module installé %s rend obsolète %s fourni par %s de %s" + + #: libdnf/goal/Goal.cpp:133 + #, c-format +-msgid "module %s implicitly obsoletes %s provided by %s" +-msgstr "le module %s rend implicitement obsolète %s fourni par %s" ++msgid "module %s from %s implicitly obsoletes %s provided by %s from %s" ++msgstr "le module %s de %s rend implicitement obsolète %s fourni par %s de %s" + + #: libdnf/goal/Goal.cpp:134 + #, c-format +-msgid "module %s requires %s, but none of the providers can be installed" ++msgid "" ++"module %s from %s requires %s, but none of the providers can be installed" + msgstr "" +-"le module %s nécessite %s, mais aucun fournisseur ne peut être installé" ++"le module %s de %s requiert %s, mais aucun fournisseur ne peut être installé" + + #: libdnf/goal/Goal.cpp:135 + #, c-format +-msgid "module %s conflicts with %s provided by itself" +-msgstr "le module %s est en conflit avec %s fourni par lui-même" ++msgid "module %s from %s conflicts with %s provided by itself" ++msgstr "le module %s de %s entre en conflit avec %s fourni par lui-même" + + #: libdnf/goal/Goal.cpp:136 + #, c-format +-msgid "both module %s and %s obsolete %s" +-msgstr "à la fois le module %s et %s rendent obsolète %s" ++msgid "both module %s from %s and %s from %s obsolete %s" ++msgstr "les deux modules %s de %s et %s de %s rendent %s obsolète" + +-#: libdnf/goal/Goal.cpp:1051 ++#: libdnf/goal/Goal.cpp:1062 + msgid "no solver set" + msgstr "aucun solveur défini" + +-#: libdnf/goal/Goal.cpp:1056 ++#: libdnf/goal/Goal.cpp:1067 + #, c-format + msgid "failed to make %s absolute" + msgstr "n’a pas pu rendre %s absolu" + +-#: libdnf/goal/Goal.cpp:1063 ++#: libdnf/goal/Goal.cpp:1074 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" + msgstr "échec de l’écriture des debugdata dans %1$s : %2$s" + +-#: libdnf/goal/Goal.cpp:1075 ++#: libdnf/goal/Goal.cpp:1086 + msgid "no solv in the goal" + msgstr "pas de solv dans l’objectif" + +-#: libdnf/goal/Goal.cpp:1077 ++#: libdnf/goal/Goal.cpp:1088 + msgid "no solution, cannot remove protected package" + msgstr "aucune solution, n’a pas pu supprimer le package protégé" + +-#: libdnf/goal/Goal.cpp:1080 ++#: libdnf/goal/Goal.cpp:1091 + msgid "no solution possible" + msgstr "aucune solution n’est possible" + +-#: libdnf/goal/Goal.cpp:1206 ++#: libdnf/goal/Goal.cpp:1217 + msgid "Problem: " + msgstr "Problème : " + +-#: libdnf/goal/Goal.cpp:1211 ++#: libdnf/goal/Goal.cpp:1222 + #, c-format + msgid "Problem %d: " + msgstr "Probléme %d : " + +-#: libdnf/goal/Goal.cpp:1538 ++#: libdnf/goal/Goal.cpp:1549 + msgid "" + "The operation would result in removing the following protected packages: " + msgstr "" +@@ -782,8 +795,8 @@ msgstr "" + #, c-format + msgid "Libsolv's solv_toolversion is: %zu long but we expect max of: %zu" + msgstr "" +-"La solv_toolversion de Libsolv est : %zu long mais nous attendons un maximum " +-"de : %zu" ++"La solv_toolversion de Libsolv est : %zu long mais nous attendons un maximum" ++" de : %zu" + + #: libdnf/hy-iutil.cpp:408 + #, c-format +@@ -840,66 +853,67 @@ msgstr "Aucun identifiant de plateforme n'a été détecté" + msgid "Cannot enable multiple streams for module '%s'" + msgstr "Impossible d’activer les flux pour le module « %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:295 ++#: libdnf/module/ModulePackageContainer.cpp:288 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" + msgstr "Valeurs par défaut en conflit avec le dépôt « %s » : %s" + +-#: libdnf/module/ModulePackageContainer.cpp:841 ++#: libdnf/module/ModulePackageContainer.cpp:847 + msgid "Installing module profiles:\n" + msgstr "Installation des profils de module :\n" + +-#: libdnf/module/ModulePackageContainer.cpp:856 ++#: libdnf/module/ModulePackageContainer.cpp:862 + msgid "Disabling module profiles:\n" + msgstr "Désactivation des profils de module :\n" + +-#: libdnf/module/ModulePackageContainer.cpp:871 ++#: libdnf/module/ModulePackageContainer.cpp:877 + msgid "Enabling module streams:\n" + msgstr "Activation des flux de modules :\n" + +-#: libdnf/module/ModulePackageContainer.cpp:885 ++#: libdnf/module/ModulePackageContainer.cpp:891 + msgid "Switching module streams:\n" + msgstr "Basculement des flux de modules :\n" + +-#: libdnf/module/ModulePackageContainer.cpp:903 ++#: libdnf/module/ModulePackageContainer.cpp:909 + msgid "Disabling modules:\n" + msgstr "Désactivation des modules :\n" + +-#: libdnf/module/ModulePackageContainer.cpp:914 ++#: libdnf/module/ModulePackageContainer.cpp:920 + msgid "Resetting modules:\n" + msgstr "Réinitialisation des modules :\n" + +-#: libdnf/module/ModulePackageContainer.cpp:1638 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" + msgstr "Impossible de charger les données de sécurité à « %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:1644 ++#: libdnf/module/ModulePackageContainer.cpp:1650 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" + msgstr "" + "Impossible de charger les données de sécurité modulaires pour le module " + "« %s : %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:1702 ++#: libdnf/module/ModulePackageContainer.cpp:1708 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" + msgstr "" + "Impossible de créer le dossier « %s » pour les données de sécurité " + "modulaires : %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1718 ++#: libdnf/module/ModulePackageContainer.cpp:1724 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" + msgstr "" + "Impossible d’enregistrer les données de sécurité modulaires vers « %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:1741 ++#: libdnf/module/ModulePackageContainer.cpp:1747 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" +-msgstr "Impossible de supprimer les données de sécurité modulaires dans « %s »" ++msgstr "" ++"Impossible de supprimer les données de sécurité modulaires dans « %s »" + +-#: libdnf/module/ModulePackageContainer.cpp:1773 ++#: libdnf/module/ModulePackageContainer.cpp:1779 + #, c-format + msgid "" + "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " +@@ -984,8 +998,8 @@ msgid "" + "operator instead." + msgstr "" + "L’utilisation de l’opérateur « == » dans reldeps peut entraîner un " +-"comportement indéfini. Il est déprécié et le support sera abandonné dans les " +-"prochaines versions. Utilisez plutôt l’opérateur « = »." ++"comportement indéfini. Il est déprécié et le support sera abandonné dans les" ++" prochaines versions. Utilisez plutôt l’opérateur « = »." + + #: libdnf/repo/Repo.cpp:321 + #, c-format +@@ -1006,8 +1020,8 @@ msgstr "repo '%s' : 'basecachedir' n'est pas fixé" + + #: libdnf/repo/Repo.cpp:512 + msgid "" +-"Maximum download speed is lower than minimum. Please change configuration of " +-"minrate or throttle" ++"Maximum download speed is lower than minimum. Please change configuration of" ++" minrate or throttle" + msgstr "" + "La vitesse de téléchargement maximale est plus basse que le minimum. " + "Veuillez modifier les paramètres minrate ou throttle" +@@ -1219,6 +1233,114 @@ msgid "Can't add console output to unsaved transaction" + msgstr "" + "Ne peut pas ajouter une sortie de console à une transaction non enregistrée" + ++#~ msgid " does not belong to a distupgrade repository" ++#~ msgstr " n’appartient pas à un dépôt distupgrade" ++ ++#~ msgid " has inferior architecture" ++#~ msgstr " a une architecture inférieure" ++ ++#, c-format ++#~ msgid "package %s is filtered out by modular filtering" ++#~ msgstr "le paquet %s a été filtré par filtrage modulaire" ++ ++#, c-format ++#~ msgid "package %s does not have a compatible architecture" ++#~ msgstr "le paquet %s n’a pas d’architecture compatible" ++ ++#, c-format ++#~ msgid "package %s is not installable" ++#~ msgstr "le paquet %s n’est pas installable" ++ ++#, c-format ++#~ msgid "package %s is filtered out by exclude filtering" ++#~ msgstr "le paquet %s a été filtré en excluant le filtrage" ++ ++#, c-format ++#~ msgid "nothing provides %s needed by %s" ++#~ msgstr "rien de fournit %s rendu nécessaire par %s" ++ ++#, c-format ++#~ msgid "cannot install both %s and %s" ++#~ msgstr "installation impossible à la fois de %s et %s" ++ ++#, c-format ++#~ msgid "package %s conflicts with %s provided by %s" ++#~ msgstr "le paquet %s est en conflit avec %s fourni par %s" ++ ++#, c-format ++#~ msgid "package %s obsoletes %s provided by %s" ++#~ msgstr "le paquet %s rend obsolète %s fourni par %s" ++ ++#, c-format ++#~ msgid "installed package %s obsoletes %s provided by %s" ++#~ msgstr "le paquet installé %s rend obsolète %s fourni par %s" ++ ++#, c-format ++#~ msgid "package %s implicitly obsoletes %s provided by %s" ++#~ msgstr "le paquet %s rend implicitement obsolète %s fourni par %s" ++ ++#, c-format ++#~ msgid "package %s requires %s, but none of the providers can be installed" ++#~ msgstr "" ++#~ "le paquet %s nécessite %s, mais aucun fournisseur ne peut être installé" ++ ++#, c-format ++#~ msgid "package %s conflicts with %s provided by itself" ++#~ msgstr "le paquet %s est en conflit avec %s fourni par lui-même" ++ ++#, c-format ++#~ msgid "both package %s and %s obsolete %s" ++#~ msgstr "à la fois le paquet %s et %s rendent obsolète %s" ++ ++#, c-format ++#~ msgid "module %s is disabled" ++#~ msgstr "le module %s est désactivé" ++ ++#, c-format ++#~ msgid "module %s does not have a compatible architecture" ++#~ msgstr "le module %s n’a pas d’architecture compatible" ++ ++#, c-format ++#~ msgid "module %s is not installable" ++#~ msgstr "le module %s n’est pas installable" ++ ++#, c-format ++#~ msgid "nothing provides %s needed by module %s" ++#~ msgstr "rien de fournit %s rendu nécessaire par le module %s" ++ ++#, c-format ++#~ msgid "cannot install both modules %s and %s" ++#~ msgstr "installation impossible à la fois des modules %s et %s" ++ ++#, c-format ++#~ msgid "module %s conflicts with %s provided by %s" ++#~ msgstr "le module %s est en conflit avec %s fourni par %s" ++ ++#, c-format ++#~ msgid "module %s obsoletes %s provided by %s" ++#~ msgstr "le module %s rend obsolète %s fourni par %s" ++ ++#, c-format ++#~ msgid "installed module %s obsoletes %s provided by %s" ++#~ msgstr "le module installé %s rend obsolète %s fourni par %s" ++ ++#, c-format ++#~ msgid "module %s implicitly obsoletes %s provided by %s" ++#~ msgstr "le module %s rend implicitement obsolète %s fourni par %s" ++ ++#, c-format ++#~ msgid "module %s requires %s, but none of the providers can be installed" ++#~ msgstr "" ++#~ "le module %s nécessite %s, mais aucun fournisseur ne peut être installé" ++ ++#, c-format ++#~ msgid "module %s conflicts with %s provided by itself" ++#~ msgstr "le module %s est en conflit avec %s fourni par lui-même" ++ ++#, c-format ++#~ msgid "both module %s and %s obsolete %s" ++#~ msgstr "à la fois le module %s et %s rendent obsolète %s" ++ + #~ msgid "failed to add solv" + #~ msgstr "n’a pu ajouter solv" + +@@ -1233,6 +1355,3 @@ msgstr "" + + #~ msgid "repo_add_repomdxml/rpmmd() has failed." + #~ msgstr "repo_add_repomdxml/rpmmd() a échoué." +- +-#~ msgid "Bad id for repo: %s, byte = %s %d" +-#~ msgstr "ID erroné pour le dépôt : %s, byte = %s %d" +diff --git a/po/ja.po b/po/ja.po +index 1aa5dd09..5a165467 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -7,11 +7,10 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2023-02-28 09:11+0100\n" ++"POT-Creation-Date: 2023-08-29 13:10+0200\n" + "PO-Revision-Date: 2022-09-06 07:19+0000\n" + "Last-Translator: Transtats \n" +-"Language-Team: Japanese \n" ++"Language-Team: Japanese \n" + "Language: ja\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" +@@ -119,9 +118,7 @@ msgstr "モジュール '%s' から、さらにストリームを同時に有効 + #, c-format + msgid "" + "Cannot enable module '%1$s' stream '%2$s': State of module already modified" +-msgstr "" +-"モジュール '%1$s' ストリーム '%2$s' を有効にできません。モジュールの状態はす" +-"でに変更されています" ++msgstr "モジュール '%1$s' ストリーム '%2$s' を有効にできません。モジュールの状態はすでに変更されています" + + #: libdnf/dnf-context.cpp:3259 + #, c-format +@@ -144,21 +141,19 @@ msgstr "引数 '%s' を解決できません" + #: libdnf/dnf-context.cpp:3303 + #, c-format + msgid "" +-"Only module name is required. Ignoring unneeded information in argument: '%s'" ++"Only module name is required. Ignoring unneeded information in argument: " ++"'%s'" + msgstr "モジュール名のみが必要です。引数の不必要な情報は無視します: '%s'" + + #: libdnf/dnf-context.cpp:3317 + #, c-format + msgid "Cannot reset module '%s': State of module already modified" +-msgstr "" +-"モジュール '%s' をリセットできません。モジュールの状態はすでに変更されていま" +-"す" ++msgstr "モジュール '%s' をリセットできません。モジュールの状態はすでに変更されています" + + #: libdnf/dnf-context.cpp:3328 + #, c-format + msgid "Cannot disable module '%s': State of module already modified" +-msgstr "" +-"モジュール '%s' を無効にできません。モジュールの状態はすでに変更されています" ++msgstr "モジュール '%s' を無効にできません。モジュールの状態はすでに変更されています" + + #: libdnf/dnf-context.cpp:3359 libdnf/dnf-context.cpp:3451 + #: libdnf/dnf-context.cpp:3564 +@@ -175,8 +170,7 @@ msgstr "引数の不要な情報は無視します: '%s'" + msgid "" + "Problem during enablement of dependency tree for module '%1$s' stream " + "'%2$s': %3$s" +-msgstr "" +-"モジュール '%1$s' ストリーム '%2$s' の依存関係ツリーの有効化中に問題: %3$s" ++msgstr "モジュール '%1$s' ストリーム '%2$s' の依存関係ツリーの有効化中に問題: %3$s" + + #: libdnf/dnf-context.cpp:3426 + msgid "Problems appeared for module enable request" +@@ -203,23 +197,17 @@ msgstr "モジュール無効化リクエストに発生する問題" + #: libdnf/dnf-context.cpp:3633 + #, c-format + msgid "" +-"The operation would result in switching of module '%s' stream '%s' to stream " +-"'%s'" +-msgstr "" +-"オペレーションは、モジュール '%s' ストリーム '%s' を ストリーム '%s' へと切り" +-"替える結果となります" ++"The operation would result in switching of module '%s' stream '%s' to stream" ++" '%s'" ++msgstr "オペレーションは、モジュール '%s' ストリーム '%s' を ストリーム '%s' へと切り替える結果となります" + + #: libdnf/dnf-context.cpp:3637 + msgid "" + "It is not possible to switch enabled streams of a module.\n" +-"It is recommended to remove all installed content from the module, and reset " +-"the module using 'microdnf module reset ' command. After you " +-"reset the module, you can install the other stream." ++"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset ' command. After you reset the module, you can install the other stream." + msgstr "" + "有効化されたモジュールのストリームの切り替えはできません。\n" +-"モジュールからすべてのインストールされたコンテンツを削除し、'microdnf module " +-"reset ' コマンドを使用してモジュールをリセットすることを推奨しま" +-"す。モジュールのリセット後に、別のストリームをインストールできます。" ++"モジュールからすべてのインストールされたコンテンツを削除し、'microdnf module reset ' コマンドを使用してモジュールをリセットすることを推奨します。モジュールのリセット後に、別のストリームをインストールできます。" + + #: libdnf/dnf-goal.cpp:85 + msgid "Could not depsolve transaction; " +@@ -246,9 +234,7 @@ msgstr " 問題: %s\n" + msgid "" + "No available modular metadata for modular package '%s'; cannot be installed " + "on the system" +-msgstr "" +-"モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにイ" +-"ンストールはできません" ++msgstr "モジュラーパッケージ '%s' のモジュラーメタデータは利用不可です; システムにインストールはできません" + + #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166 + #, c-format +@@ -287,8 +273,7 @@ msgstr "トランザクションの実行中にエラーが発生しました: % + + #: libdnf/dnf-rpmts.cpp:283 + msgid "Error running transaction and no problems were reported!" +-msgstr "" +-"トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!" ++msgstr "トランザクションの実行中にエラーが発生しましたが、問題は報告されませんでした!" + + #: libdnf/dnf-rpmts.cpp:346 + msgid "Fatal error, run database recovery" +@@ -336,9 +321,7 @@ msgstr "tmp ファイルを開くことに失敗しました: %s" + #: libdnf/dnf-sack.cpp:551 + #, c-format + msgid "While writing primary cache %s repowriter write failed: %i, error: %s" +-msgstr "" +-"プライマリーキャッシュの %s repowriter 書き込み中に %i エラーが発生しました。" +-"エラー: %s" ++msgstr "プライマリーキャッシュの %s repowriter 書き込み中に %i エラーが発生しました。エラー: %s" + + #: libdnf/dnf-sack.cpp:561 + #, c-format +@@ -363,10 +346,9 @@ msgstr "一時ファイル %s を作成できません" + #: libdnf/dnf-sack.cpp:667 + #, c-format + msgid "" +-"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" +-msgstr "" +-"拡張キャッシュ %s (%d) の書き込み中: repowriter の書き込みに失敗: %i、エ" +-"ラー: %s" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: " ++"%s" ++msgstr "拡張キャッシュ %s (%d) の書き込み中: repowriter の書き込みに失敗: %i、エラー: %s" + + #: libdnf/dnf-sack.cpp:677 + #, c-format +@@ -461,9 +443,7 @@ msgstr "パッケージ %s を確実にしようとする場合、ソースは + #: libdnf/dnf-transaction.cpp:326 + #, c-format + msgid "Failed to ensure %1$s as repo %2$s not found(%3$i repos loaded)" +-msgstr "" +-"repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo " +-"はロード済み)" ++msgstr "repo %2$s が見つからないため、%1$s を確実にすることに失敗しました (%3$i repo はロード済み)" + + #: libdnf/dnf-transaction.cpp:367 + msgid "Failed to check untrusted: " +@@ -477,8 +457,7 @@ msgstr "%s にダウンロードしたファイルが見つかりませんでし + #: libdnf/dnf-transaction.cpp:397 + #, c-format + msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" +-msgstr "" +-"パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s" ++msgstr "パッケージ %1$s は確認できず、repo %2$s は GPG が有効になっています: %3$s" + + #: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 + msgid "Failed to get value for CacheDir" +@@ -497,8 +476,7 @@ msgstr "%s に filesystem をフリーサイズで取得することに失敗し + #: libdnf/dnf-transaction.cpp:935 + #, c-format + msgid "Not enough free space in %1$s: needed %2$s, available %3$s" +-msgstr "" +-"%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です" ++msgstr "%1$s に十分なスペースがありません: %2$s 必要で、利用可能なのは %3$s です" + + #: libdnf/dnf-transaction.cpp:1195 + msgid "failed to set root" +@@ -517,9 +495,7 @@ msgstr "トランザクションの実行中にエラー %i" + #: libdnf/dnf-transaction.cpp:1472 + #, c-format + msgid "Transaction did not go to writing phase, but returned no error(%i)" +-msgstr "" +-"トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しま" +-"せんでした" ++msgstr "トランザクションは書き込みフェーズまで行きませんでしたが、エラー(%i) は返しませんでした" + + #: libdnf/dnf-utils.cpp:111 libdnf/hy-iutil.cpp:485 + #, c-format +@@ -539,13 +515,15 @@ msgstr "不適格な Selector、フィルター内に複数の一致するオブ + msgid "Ill-formed Selector used for the operation, incorrect comparison type" + msgstr "操作に使用される不適格な Selector、間違った比較タイプ" + +-#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 +-msgid " does not belong to a distupgrade repository" +-msgstr " はdistupgradeレポジトリーに属していません" ++#: libdnf/goal/Goal.cpp:86 ++#, c-format ++msgid "%s from %s does not belong to a distupgrade repository" ++msgstr "%s の %s はdistupgradeレポジトリーに属していません" + +-#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 +-msgid " has inferior architecture" +-msgstr " は下位アーキテクチャがあります" ++#: libdnf/goal/Goal.cpp:87 ++#, c-format ++msgid "%s from %s has inferior architecture" ++msgstr "%s の %s は下位アーキテクチャがあります" + + #: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " +@@ -586,72 +564,79 @@ msgstr "ジョブの最良アップデート候補をインストールできま + + #: libdnf/goal/Goal.cpp:97 + #, c-format +-msgid "package %s is filtered out by modular filtering" +-msgstr "パッケージ %s はモジュラーフィルタリングに一致しません" ++msgid "package %s from %s is filtered out by modular filtering" ++msgstr "%s のパッケージ %s はモジュラーフィルタリングに一致しません" + + #: libdnf/goal/Goal.cpp:98 + #, c-format +-msgid "package %s does not have a compatible architecture" +-msgstr "パッケージ %s は互換性のあるアーキテクチャーがありません" ++msgid "package %s from %s does not have a compatible architecture" ++msgstr "%s のパッケージ %s は互換性のあるアーキテクチャーがありません" + + #: libdnf/goal/Goal.cpp:99 + #, c-format +-msgid "package %s is not installable" +-msgstr "パッケージ %s はインストール不可です" ++msgid "package %s from %s is not installable" ++msgstr "%s のパッケージ %s はインストール不可です" + + #: libdnf/goal/Goal.cpp:100 + #, c-format +-msgid "package %s is filtered out by exclude filtering" +-msgstr "パッケージ %s は除外フィルタリングに一致しません" ++msgid "package %s from %s is filtered out by exclude filtering" ++msgstr "%s のパッケージ %s は除外フィルタリングに一致しません" + + #: libdnf/goal/Goal.cpp:101 + #, c-format +-msgid "nothing provides %s needed by %s" +-msgstr "%s が提供されません %s に必要です" ++msgid "nothing provides %s needed by %s from %s" ++msgstr "%s が提供されません。%s の %s に必要です" + + #: libdnf/goal/Goal.cpp:102 + #, c-format +-msgid "cannot install both %s and %s" +-msgstr "%s と %s どちらもインストールできません" ++msgid "cannot install both %s from %s and %s from %s" ++msgstr "%s の %s および %s の %s の両方をインストールすることはできません" + + #: libdnf/goal/Goal.cpp:103 + #, c-format +-msgid "package %s conflicts with %s provided by %s" +-msgstr "パッケージ %s は %s と競合しています。これは %s により提供されます" ++msgid "package %s from %s conflicts with %s provided by %s from %s" ++msgstr "%s のパッケージ %s は、%s の %s で提供される %s と競合しています" + + #: libdnf/goal/Goal.cpp:104 + #, c-format +-msgid "package %s obsoletes %s provided by %s" +-msgstr "パッケージ %s は %s を廃止しました。これは %s により提供されます" ++msgid "package %s from %s obsoletes %s provided by %s from %s" ++msgstr "%s のパッケージ %s により、%s の %s で提供される %s が廃止されました" + + #: libdnf/goal/Goal.cpp:105 + #, c-format +-msgid "installed package %s obsoletes %s provided by %s" +-msgstr "" +-"インストール済パッケージ %s は %s を廃止しました。これは %s により提供されま" +-"す" ++msgid "installed package %s obsoletes %s provided by %s from %s" ++msgstr "インストール済パッケージ %s により、%s の %s で提供される %s が廃止されました" + + #: libdnf/goal/Goal.cpp:106 + #, c-format +-msgid "package %s implicitly obsoletes %s provided by %s" +-msgstr "パッケージ %s は %s を暗に廃止しました。これは %s により提供されます" ++msgid "package %s from %s implicitly obsoletes %s provided by %s from %s" ++msgstr "%s のパッケージ %s により、%s の %s で提供される %s が廃止されました" + + #: libdnf/goal/Goal.cpp:107 + #, c-format +-msgid "package %s requires %s, but none of the providers can be installed" +-msgstr "" +-"パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできま" +-"せん" ++msgid "" ++"package %s from %s requires %s, but none of the providers can be installed" ++msgstr "%s のパッケージ %s には、%s が必要ですが、どのプロバイダーからもインストールできません" + + #: libdnf/goal/Goal.cpp:108 + #, c-format +-msgid "package %s conflicts with %s provided by itself" +-msgstr "パッケージ %s は自己提供される %s と競合しています" ++msgid "package %s from %s conflicts with %s provided by itself" ++msgstr "%s のパッケージ %s は、自身で提供される %s と競合しています" + + #: libdnf/goal/Goal.cpp:109 + #, c-format +-msgid "both package %s and %s obsolete %s" +-msgstr "パッケージ %s と %s 両方は %s を廃止しました" ++msgid "both package %s from %s and %s from %s obsolete %s" ++msgstr "%s の %s パッケージと %s の %s パッケージにより、%s が廃止されました" ++ ++#: libdnf/goal/Goal.cpp:113 ++#, c-format ++msgid "%s from %s does not belong to a distupgrade repository" ++msgstr "%s の %s は distupgrade レポジトリーに属していません" ++ ++#: libdnf/goal/Goal.cpp:114 ++#, c-format ++msgid "%s from %s has inferior architecture" ++msgstr "%s の %s には、下位アーキテクチャーがあります" + + #: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " +@@ -668,104 +653,101 @@ msgstr "モジュールの最良アップデート候補をインストールで + + #: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format +-msgid "module %s is disabled" +-msgstr "モジュール %s は無効です" ++msgid "module %s from %s is disabled" ++msgstr "%s のモジュール %s が無効になっています" + + #: libdnf/goal/Goal.cpp:125 + #, c-format +-msgid "module %s does not have a compatible architecture" +-msgstr "モジュール %s は互換性のあるアーキテクチャーがありません" ++msgid "module %s from %s does not have a compatible architecture" ++msgstr "%s のモジュール %s には、互換性のあるアーキテクチャーがありません" + + #: libdnf/goal/Goal.cpp:126 + #, c-format +-msgid "module %s is not installable" +-msgstr "モジュール %s はインストール不可です" ++msgid "module %s from %s is not installable" ++msgstr "%s のモジュール %s はインストール不可です" + + #: libdnf/goal/Goal.cpp:128 + #, c-format +-msgid "nothing provides %s needed by module %s" +-msgstr "%s が提供されませんモジュール %s に必要です" ++msgid "nothing provides %s needed by module %s from %s" ++msgstr "%s のモジュール %s が必要な %s は何も提供されません" + + #: libdnf/goal/Goal.cpp:129 + #, c-format +-msgid "cannot install both modules %s and %s" +-msgstr "モジュール %s と %s どちらもインストールできません" ++msgid "cannot install both modules %s from %s and %s from %s" ++msgstr "%s の %s および %s の %s の両方のモジュールをインストールすることはできません" + + #: libdnf/goal/Goal.cpp:130 + #, c-format +-msgid "module %s conflicts with %s provided by %s" +-msgstr "モジュール %s は %s と競合しています。これは %s により提供されます" ++msgid "module %s from %s conflicts with %s provided by %s from %s" ++msgstr "%s のモジュール %s は、%s の %s で提供される %s と競合しています" + + #: libdnf/goal/Goal.cpp:131 + #, c-format +-msgid "module %s obsoletes %s provided by %s" +-msgstr "モジュール %s は %s を廃止しました。これは %s により提供されます" ++msgid "module %s from %s obsoletes %s provided by %s from %s" ++msgstr "%s のモジュール %s により、%s の %s で提供される %s が廃止されました" + + #: libdnf/goal/Goal.cpp:132 + #, c-format +-msgid "installed module %s obsoletes %s provided by %s" +-msgstr "" +-"インストール済モジュール %s は %s を廃止しました。これは %s により提供されま" +-"す" ++msgid "installed module %s obsoletes %s provided by %s from %s" ++msgstr "インストール済モジュール %s により、%s の %s で提供される %s が廃止されました" + + #: libdnf/goal/Goal.cpp:133 + #, c-format +-msgid "module %s implicitly obsoletes %s provided by %s" +-msgstr "モジュール %s は %s を暗に廃止しました。これは %s により提供されます" ++msgid "module %s from %s implicitly obsoletes %s provided by %s from %s" ++msgstr "%s のモジュール %s により、%s の %s で提供される %s が廃止されました" + + #: libdnf/goal/Goal.cpp:134 + #, c-format +-msgid "module %s requires %s, but none of the providers can be installed" +-msgstr "" +-"モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできま" +-"せん" ++msgid "" ++"module %s from %s requires %s, but none of the providers can be installed" ++msgstr "%s のモジュール %s には、%s が必要ですが、どのプロバイダーからもインストールできません" + + #: libdnf/goal/Goal.cpp:135 + #, c-format +-msgid "module %s conflicts with %s provided by itself" +-msgstr "モジュール %s は自己提供される %s と競合しています" ++msgid "module %s from %s conflicts with %s provided by itself" ++msgstr "%s のモジュール %s は、自身で提供される %s と競合しています" + + #: libdnf/goal/Goal.cpp:136 + #, c-format +-msgid "both module %s and %s obsolete %s" +-msgstr "モジュール %s と %s 両方は %s を廃止しました" ++msgid "both module %s from %s and %s from %s obsolete %s" ++msgstr "%s の %s モジュールと %s の %s モジュールの両方により、%s が廃止されました" + +-#: libdnf/goal/Goal.cpp:1051 ++#: libdnf/goal/Goal.cpp:1062 + msgid "no solver set" + msgstr "設定されたソルバーはありません" + +-#: libdnf/goal/Goal.cpp:1056 ++#: libdnf/goal/Goal.cpp:1067 + #, c-format + msgid "failed to make %s absolute" + msgstr "%s を絶対的にすることに失敗しました" + +-#: libdnf/goal/Goal.cpp:1063 ++#: libdnf/goal/Goal.cpp:1074 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" + msgstr "debugdata を %1$s へ書き込むことに失敗しました: %2$s" + +-#: libdnf/goal/Goal.cpp:1075 ++#: libdnf/goal/Goal.cpp:1086 + msgid "no solv in the goal" + msgstr "目標に solv がありません" + +-#: libdnf/goal/Goal.cpp:1077 ++#: libdnf/goal/Goal.cpp:1088 + msgid "no solution, cannot remove protected package" + msgstr "ソリューションがなく、保護されたパッケージを削除できません" + +-#: libdnf/goal/Goal.cpp:1080 ++#: libdnf/goal/Goal.cpp:1091 + msgid "no solution possible" + msgstr "可能なソリューションがありません" + +-#: libdnf/goal/Goal.cpp:1206 ++#: libdnf/goal/Goal.cpp:1217 + msgid "Problem: " + msgstr "問題: " + +-#: libdnf/goal/Goal.cpp:1211 ++#: libdnf/goal/Goal.cpp:1222 + #, c-format + msgid "Problem %d: " + msgstr "問題 %d: " + +-#: libdnf/goal/Goal.cpp:1538 ++#: libdnf/goal/Goal.cpp:1549 + msgid "" + "The operation would result in removing the following protected packages: " + msgstr "操作は結果的に以下の保護されたパッケージを削除します: " +@@ -827,70 +809,66 @@ msgstr "有効な Platform ID が検出されませんでした" + msgid "Cannot enable multiple streams for module '%s'" + msgstr "モジュール '%s' の複数ストリームを有効化できません" + +-#: libdnf/module/ModulePackageContainer.cpp:295 ++#: libdnf/module/ModulePackageContainer.cpp:288 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" + msgstr "repo '%s' のデフォルトが競合: %s" + +-#: libdnf/module/ModulePackageContainer.cpp:841 ++#: libdnf/module/ModulePackageContainer.cpp:847 + msgid "Installing module profiles:\n" + msgstr "モジュールプロファイルのインストール中:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:856 ++#: libdnf/module/ModulePackageContainer.cpp:862 + msgid "Disabling module profiles:\n" + msgstr "モジュールプロファイルの無効化中:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:871 ++#: libdnf/module/ModulePackageContainer.cpp:877 + msgid "Enabling module streams:\n" + msgstr "モジュールストリームの有効化中:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:885 ++#: libdnf/module/ModulePackageContainer.cpp:891 + msgid "Switching module streams:\n" + msgstr "モジュールストリームの切り替え中:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:903 ++#: libdnf/module/ModulePackageContainer.cpp:909 + msgid "Disabling modules:\n" + msgstr "モジュールの無効化:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:914 ++#: libdnf/module/ModulePackageContainer.cpp:920 + msgid "Resetting modules:\n" + msgstr "モジュールの再設定中:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:1638 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" + msgstr "'%s' のモジュラーフェイルセーフデータをロードできません" + +-#: libdnf/module/ModulePackageContainer.cpp:1644 ++#: libdnf/module/ModulePackageContainer.cpp:1650 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" + msgstr "モジュール '%s:%s' のモジュラーフェイルセーフデータをロードできません" + +-#: libdnf/module/ModulePackageContainer.cpp:1702 ++#: libdnf/module/ModulePackageContainer.cpp:1708 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" +-msgstr "" +-"ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: " +-"%s" ++msgstr "ディレクトリー \"%s\" を作成できません。対象モジュラーフェイルセーフデータ: %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1718 ++#: libdnf/module/ModulePackageContainer.cpp:1724 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" + msgstr "'%s' のモジュラーフェイルセーフデータを保存できません" + +-#: libdnf/module/ModulePackageContainer.cpp:1741 ++#: libdnf/module/ModulePackageContainer.cpp:1747 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" + msgstr "'%s' のモジュラーフェイルセーフデータを削除できません" + +-#: libdnf/module/ModulePackageContainer.cpp:1773 ++#: libdnf/module/ModulePackageContainer.cpp:1779 + #, c-format + msgid "" + "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " + "disabled" +-msgstr "" +-"ターゲットモジュール '%s' が無効であるため、モジュラーの廃止を '%s:%s' に適用" +-"できません" ++msgstr "ターゲットモジュール '%s' が無効であるため、モジュラーの廃止を '%s:%s' に適用できません" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:86 + #, c-format +@@ -920,8 +898,7 @@ msgstr "ストリームのアップグレードに失敗しました: %s" + #: libdnf/module/modulemd/ModuleMetadata.cpp:212 + #, c-format + msgid "Cannot retrieve module obsoletes because no stream matching %s: %s" +-msgstr "" +-"%s に一致するストリームがないため、モジュールの廃止を取得できません: %s" ++msgstr "%s に一致するストリームがないため、モジュールの廃止を取得できません: %s" + + #: libdnf/plugin/plugin.cpp:46 + #, c-format +@@ -964,9 +941,9 @@ msgid "" + "deprecated and the support will be dropped in future versions. Use '=' " + "operator instead." + msgstr "" +-"reldeps で '==' 演算子を使用すると、未定義の動作が発生する可能性があります。" +-"これは非推奨で、将来のバージョンではサポートされなくなります。代わりに '=' 演" +-"算子を使用してください。" ++"reldeps で '==' " ++"演算子を使用すると、未定義の動作が発生する可能性があります。これは非推奨で、将来のバージョンではサポートされなくなります。代わりに '=' " ++"演算子を使用してください。" + + #: libdnf/repo/Repo.cpp:321 + #, c-format +@@ -976,9 +953,7 @@ msgstr "リポジトリー %s にはミラーまたは baseurl セットがあ + #: libdnf/repo/Repo.cpp:330 + #, c-format + msgid "Repository '%s' has unsupported type: 'type=%s', skipping." +-msgstr "" +-"リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッ" +-"ピング。" ++msgstr "リポジトリー '%s' にはサポートされていないタイプがあります: 'type=%s'、スキッピング。" + + #: libdnf/repo/Repo.cpp:489 libdnf/repo/Repo.cpp:610 libdnf/repo/Repo.cpp:641 + #: libdnf/repo/Repo.cpp:1387 +@@ -988,23 +963,18 @@ msgstr "repo '%s': 'basecachedir' が設定されていません" + + #: libdnf/repo/Repo.cpp:512 + msgid "" +-"Maximum download speed is lower than minimum. Please change configuration of " +-"minrate or throttle" +-msgstr "" +-"ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの" +-"設定を変更してください" ++"Maximum download speed is lower than minimum. Please change configuration of" ++" minrate or throttle" ++msgstr "ダウンロードの最高速度は、最低速度よりも低いです。minrate またはスロットルの設定を変更してください" + + #: libdnf/repo/Repo.cpp:546 + #, c-format + msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" +-msgstr "" +-"repo '%s': 'proxy_username' は設定済みですが、'proxy_password' は設定されてい" +-"ません" ++msgstr "repo '%s': 'proxy_username' は設定済みですが、'proxy_password' は設定されていません" + + #: libdnf/repo/Repo.cpp:548 + msgid "'proxy_username' is set but not 'proxy_password'" +-msgstr "" +-"'proxy_username' は設定済みですが、'proxy_password' は設定されていません" ++msgstr "'proxy_username' は設定済みですが、'proxy_password' は設定されていません" + + #: libdnf/repo/Repo.cpp:629 + #, c-format +@@ -1054,8 +1024,7 @@ msgstr "復元中: repo '%s' はスキップされました、metalink はあり + #: libdnf/repo/Repo.cpp:1186 + #, c-format + msgid "reviving: repo '%s' skipped, no usable hash." +-msgstr "" +-"復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。" ++msgstr "復元中: repo '%s' はスキップされました、使用可能なハッシュはありません。" + + #: libdnf/repo/Repo.cpp:1209 + #, c-format +@@ -1105,8 +1074,7 @@ msgstr "repo: キャッシュを使用: %s" + #: libdnf/repo/Repo.cpp:1338 + #, c-format + msgid "Cache-only enabled but no cache for '%s'" +-msgstr "" +-"キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません" ++msgstr "キャッシュオンリーが有効になっていますが、'%s' に対するキャッシュはありません" + + #: libdnf/repo/Repo.cpp:1342 + #, c-format +@@ -1170,8 +1138,7 @@ msgstr "完了したトランザクションにトランザクションアイテ + + #: libdnf/transaction/Transformer.cpp:76 + msgid "Database Corrupted: no row 'version' in table 'config'" +-msgstr "" +-"データベースが破損しています。テーブル 'config' の行 'version' がありません" ++msgstr "データベースが破損しています。テーブル 'config' の行 'version' がありません" + + #: libdnf/transaction/Transformer.cpp:681 + msgid "Transformer: can't open history persist dir" +@@ -1194,6 +1161,112 @@ msgstr "TransactionItem の状態は設定されていません: %s" + msgid "Can't add console output to unsaved transaction" + msgstr "未保存のトランザクションにコンソールの出力を追加できません" + ++#~ msgid " does not belong to a distupgrade repository" ++#~ msgstr " はdistupgradeレポジトリーに属していません" ++ ++#~ msgid " has inferior architecture" ++#~ msgstr " は下位アーキテクチャがあります" ++ ++#, c-format ++#~ msgid "package %s is filtered out by modular filtering" ++#~ msgstr "パッケージ %s はモジュラーフィルタリングに一致しません" ++ ++#, c-format ++#~ msgid "package %s does not have a compatible architecture" ++#~ msgstr "パッケージ %s は互換性のあるアーキテクチャーがありません" ++ ++#, c-format ++#~ msgid "package %s is not installable" ++#~ msgstr "パッケージ %s はインストール不可です" ++ ++#, c-format ++#~ msgid "package %s is filtered out by exclude filtering" ++#~ msgstr "パッケージ %s は除外フィルタリングに一致しません" ++ ++#, c-format ++#~ msgid "nothing provides %s needed by %s" ++#~ msgstr "%s が提供されません %s に必要です" ++ ++#, c-format ++#~ msgid "cannot install both %s and %s" ++#~ msgstr "%s と %s どちらもインストールできません" ++ ++#, c-format ++#~ msgid "package %s conflicts with %s provided by %s" ++#~ msgstr "パッケージ %s は %s と競合しています。これは %s により提供されます" ++ ++#, c-format ++#~ msgid "package %s obsoletes %s provided by %s" ++#~ msgstr "パッケージ %s は %s を廃止しました。これは %s により提供されます" ++ ++#, c-format ++#~ msgid "installed package %s obsoletes %s provided by %s" ++#~ msgstr "インストール済パッケージ %s は %s を廃止しました。これは %s により提供されます" ++ ++#, c-format ++#~ msgid "package %s implicitly obsoletes %s provided by %s" ++#~ msgstr "パッケージ %s は %s を暗に廃止しました。これは %s により提供されます" ++ ++#, c-format ++#~ msgid "package %s requires %s, but none of the providers can be installed" ++#~ msgstr "パッケージ %s には %s が必要ですが、どのプロバイダーからもインストールできません" ++ ++#, c-format ++#~ msgid "package %s conflicts with %s provided by itself" ++#~ msgstr "パッケージ %s は自己提供される %s と競合しています" ++ ++#, c-format ++#~ msgid "both package %s and %s obsolete %s" ++#~ msgstr "パッケージ %s と %s 両方は %s を廃止しました" ++ ++#, c-format ++#~ msgid "module %s is disabled" ++#~ msgstr "モジュール %s は無効です" ++ ++#, c-format ++#~ msgid "module %s does not have a compatible architecture" ++#~ msgstr "モジュール %s は互換性のあるアーキテクチャーがありません" ++ ++#, c-format ++#~ msgid "module %s is not installable" ++#~ msgstr "モジュール %s はインストール不可です" ++ ++#, c-format ++#~ msgid "nothing provides %s needed by module %s" ++#~ msgstr "%s が提供されませんモジュール %s に必要です" ++ ++#, c-format ++#~ msgid "cannot install both modules %s and %s" ++#~ msgstr "モジュール %s と %s どちらもインストールできません" ++ ++#, c-format ++#~ msgid "module %s conflicts with %s provided by %s" ++#~ msgstr "モジュール %s は %s と競合しています。これは %s により提供されます" ++ ++#, c-format ++#~ msgid "module %s obsoletes %s provided by %s" ++#~ msgstr "モジュール %s は %s を廃止しました。これは %s により提供されます" ++ ++#, c-format ++#~ msgid "installed module %s obsoletes %s provided by %s" ++#~ msgstr "インストール済モジュール %s は %s を廃止しました。これは %s により提供されます" ++ ++#, c-format ++#~ msgid "module %s implicitly obsoletes %s provided by %s" ++#~ msgstr "モジュール %s は %s を暗に廃止しました。これは %s により提供されます" ++ ++#, c-format ++#~ msgid "module %s requires %s, but none of the providers can be installed" ++#~ msgstr "モジュール %s には %s が必要ですが、どのプロバイダーからもインストールできません" ++ ++#, c-format ++#~ msgid "module %s conflicts with %s provided by itself" ++#~ msgstr "モジュール %s は自己提供される %s と競合しています" ++ ++#, c-format ++#~ msgid "both module %s and %s obsolete %s" ++#~ msgstr "モジュール %s と %s 両方は %s を廃止しました" ++ + #~ msgid "failed to add solv" + #~ msgstr "solv の追加に失敗しました" + +@@ -1201,14 +1274,10 @@ msgstr "未保存のトランザクションにコンソールの出力を追加 + #~ msgstr "write_main() はデータの書き込みに失敗しました: %i" + + #~ msgid "write_main() failed to re-load written solv file" +-#~ msgstr "" +-#~ "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました" ++#~ msgstr "write_main() は、書き込みされた solv ファイルの再ロードに失敗しました" + + #~ msgid "write_ext(%1$d) has failed: %2$d" + #~ msgstr "write_ext(%1$d) は失敗しました: %2$d" + + #~ msgid "repo_add_repomdxml/rpmmd() has failed." + #~ msgstr "repo_add_repomdxml/rpmmd() は失敗しました。" +- +-#~ msgid "Bad id for repo: %s, byte = %s %d" +-#~ msgstr "repo に対する不正な id: %s, byte = %s %d" +diff --git a/po/ko.po b/po/ko.po +index 777b79f0..45c58c06 100644 +--- a/po/ko.po ++++ b/po/ko.po +@@ -8,11 +8,10 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2023-02-28 09:11+0100\n" ++"POT-Creation-Date: 2023-08-29 13:10+0200\n" + "PO-Revision-Date: 2022-11-03 02:19+0000\n" + "Last-Translator: 김인수 \n" +-"Language-Team: Korean \n" ++"Language-Team: Korean \n" + "Language: ko\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" +@@ -95,12 +94,12 @@ msgstr "주어진 값 [%d] 허용 된 값보다 커야합니다 [%d]." + #: libdnf/conf/OptionPath.cpp:78 + #, c-format + msgid "given path '%s' is not absolute." +-msgstr "주어진 경로 '%s절대적이지 않다." ++msgstr "주어진 경로 '%s절대적이지 않음" + + #: libdnf/conf/OptionPath.cpp:82 + #, c-format + msgid "given path '%s' does not exist." +-msgstr "주어진 경로 '%s' 존재하지 않는다." ++msgstr "주어진 경로 '%s' 존재하지 않음." + + #: libdnf/conf/OptionSeconds.cpp:52 + #, c-format +@@ -120,9 +119,7 @@ msgstr "동시에 모듈 '%s’에서 다른 스트림을 활성화 할 수 없 + #, c-format + msgid "" + "Cannot enable module '%1$s' stream '%2$s': State of module already modified" +-msgstr "" +-"모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었" +-"습니다" ++msgstr "모듈 '%1$s' 스트림 '%2$s 을 활성화 할 수 없습니다: 모듈 상태가 이미 변경되었습니다" + + #: libdnf/dnf-context.cpp:3259 + #, c-format +@@ -145,7 +142,8 @@ msgstr "인수 %s를 해결 할 수 없습니다" + #: libdnf/dnf-context.cpp:3303 + #, c-format + msgid "" +-"Only module name is required. Ignoring unneeded information in argument: '%s'" ++"Only module name is required. Ignoring unneeded information in argument: " ++"'%s'" + msgstr "모듈 이름만 필요합니다. 인수에서 불필요한 정보를 무시합니다: '%s'" + + #: libdnf/dnf-context.cpp:3317 +@@ -173,9 +171,7 @@ msgstr "인수: '%s'에 불필요한 정보를 무시하기" + msgid "" + "Problem during enablement of dependency tree for module '%1$s' stream " + "'%2$s': %3$s" +-msgstr "" +-"모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 중에 발생하는 " +-"문제" ++msgstr "모듈 '%1$s' 스트림 '%2$s': %3$s 위해 의존성 트리의 활성화하는 중에 발생하는 문제" + + #: libdnf/dnf-context.cpp:3426 + msgid "Problems appeared for module enable request" +@@ -202,21 +198,17 @@ msgstr "모듈 비활성화 요청을 위해 나타난 문제" + #: libdnf/dnf-context.cpp:3633 + #, c-format + msgid "" +-"The operation would result in switching of module '%s' stream '%s' to stream " +-"'%s'" ++"The operation would result in switching of module '%s' stream '%s' to stream" ++" '%s'" + msgstr "이 동작은 모듈 '%s'' 스트림 ‘%s'에서 스트림 '%s'로의 전환 결과입니다" + + #: libdnf/dnf-context.cpp:3637 + msgid "" + "It is not possible to switch enabled streams of a module.\n" +-"It is recommended to remove all installed content from the module, and reset " +-"the module using 'microdnf module reset ' command. After you " +-"reset the module, you can install the other stream." ++"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset ' command. After you reset the module, you can install the other stream." + msgstr "" + "활성화된 모듈 스트림을 전환 할 수 없습니다.\n" +-"설치된 모든 내용을 모듈에서 제거하고 ‘' 명령을 사용하여 모듈을 " +-"재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치 할 수 있습니" +-"다." ++"설치된 모든 내용을 모듈에서 제거하고 ‘' 명령을 사용하여 모듈을 재설정하는 것이 좋습니다. 모듈을 재설정한 후, 다른 스트림을 설치 할 수 있습니다." + + #: libdnf/dnf-goal.cpp:85 + msgid "Could not depsolve transaction; " +@@ -243,9 +235,7 @@ msgstr " 문제: %s\n" + msgid "" + "No available modular metadata for modular package '%s'; cannot be installed " + "on the system" +-msgstr "" +-"모듈러 꾸러미 '%s'에 사용 가능한 모듈러 메타데이터가 없으며; 시스템에 설치 " +-"할 수 없습니다" ++msgstr "모듈러 패키지 '%s'에 사용 가능한 모듈러 메타데이터가 없으며; 시스템에 설치 할 수 없습니다" + + #: libdnf/dnf-rpmts.cpp:121 libdnf/dnf-rpmts.cpp:166 + #, c-format +@@ -284,8 +274,7 @@ msgstr "연결 실행 오류 : %s" + + #: libdnf/dnf-rpmts.cpp:283 + msgid "Error running transaction and no problems were reported!" +-msgstr "" +-"연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!" ++msgstr "연결을 실행하는 중 오류가 발생했으며 아무런 문제도 보고되지 않았습니다!" + + #: libdnf/dnf-rpmts.cpp:346 + msgid "Fatal error, run database recovery" +@@ -294,7 +283,7 @@ msgstr "치명적인 오류, 데이터베이스 복구 실행" + #: libdnf/dnf-rpmts.cpp:355 + #, c-format + msgid "failed to find package %s" +-msgstr "꾸러미를 찾지 못했습니다. %s" ++msgstr "패키지를 찾지 못했습니다. %s" + + #: libdnf/dnf-rpmts.cpp:401 + #, c-format +@@ -358,7 +347,8 @@ msgstr "임시 파일을 만들 수 없습니다. %s" + #: libdnf/dnf-sack.cpp:667 + #, c-format + msgid "" +-"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: " ++"%s" + msgstr "확장 캐쉬 %s (%d)를 쓰는 동안: repowriter 쓰기가 실패함: %i, 오류: %s" + + #: libdnf/dnf-sack.cpp:677 +@@ -449,7 +439,7 @@ msgstr "이미 100 %% 상태 [%s]" + #: libdnf/dnf-transaction.cpp:300 + #, c-format + msgid "Sources not set when trying to ensure package %s" +-msgstr "꾸러미 %s를 확인 하려고 할 때 원천이 설정되지 않았습니다" ++msgstr "패키지를 만들 때 소스가 설정되지 않았습니다. %s" + + #: libdnf/dnf-transaction.cpp:326 + #, c-format +@@ -468,7 +458,7 @@ msgstr "에 대한 내려받기 파일 %s 찾을 수 없음" + #: libdnf/dnf-transaction.cpp:397 + #, c-format + msgid "package %1$s cannot be verified and repo %2$s is GPG enabled: %3$s" +-msgstr "꾸러미 %1$s 확인 및 복구 할 수 없습니다. %2$s GPG 사용 설정 됨 : %3$s" ++msgstr "패키지 %1$s 확인 및 복구 할 수 없습니다. %2$s GPG 사용 설정 됨 : %3$s" + + #: libdnf/dnf-transaction.cpp:831 libdnf/dnf-transaction.cpp:903 + msgid "Failed to get value for CacheDir" +@@ -526,17 +516,19 @@ msgstr "잘못된 형식의 선택기, 필터에 일치하는 개체가 여러 + msgid "Ill-formed Selector used for the operation, incorrect comparison type" + msgstr "조작에 잘못 형성된 선택자, 잘못된 비교 유형" + +-#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 +-msgid " does not belong to a distupgrade repository" +-msgstr " distupgrade 저장소에 속하지 않습니다" ++#: libdnf/goal/Goal.cpp:86 ++#, c-format ++msgid "%s from %s does not belong to a distupgrade repository" ++msgstr "%s /%s distupgrade 저장소에 속하지 않습니다" + +-#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 +-msgid " has inferior architecture" +-msgstr " 하위 구조" ++#: libdnf/goal/Goal.cpp:87 ++#, c-format ++msgid "%s from %s has inferior architecture" ++msgstr "%s /%s 하위 아키텍처" + + #: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " +-msgstr "설치된 꾸러미 문제 " ++msgstr "설치된 패키지 문제 " + + #: libdnf/goal/Goal.cpp:89 libdnf/goal/Goal.cpp:116 + msgid "conflicting requests" +@@ -553,7 +545,7 @@ msgstr "요청이 없습니다 " + #: libdnf/goal/Goal.cpp:92 + #, c-format + msgid "package %s does not exist" +-msgstr "꾸러미 %s가 존재하지 않습니다" ++msgstr "패키지 %s가 존재하지 않습니다" + + #: libdnf/goal/Goal.cpp:93 libdnf/goal/Goal.cpp:120 + msgid " is provided by the system" +@@ -565,7 +557,7 @@ msgstr "종속성 문제" + + #: libdnf/goal/Goal.cpp:95 + msgid "cannot install the best update candidate for package " +-msgstr "꾸러미에 가장 적합한 최신화 선택을 설치 할 수 없습니다 " ++msgstr "패키지에 가장 적합한 최신화 선택을 설치 할 수 없습니다 " + + #: libdnf/goal/Goal.cpp:96 libdnf/goal/Goal.cpp:123 + msgid "cannot install the best candidate for the job" +@@ -573,68 +565,79 @@ msgstr "작업에 가장 적합한 선택을 설치 할 수 없습니다" + + #: libdnf/goal/Goal.cpp:97 + #, c-format +-msgid "package %s is filtered out by modular filtering" +-msgstr "꾸러미 %s가 모듈식으로 걸러 제거됩니다" ++msgid "package %s from %s is filtered out by modular filtering" ++msgstr "패키지 %s (%s에서)가 모듈식 필터링에 의해 필터링됩니다." + + #: libdnf/goal/Goal.cpp:98 + #, c-format +-msgid "package %s does not have a compatible architecture" +-msgstr "꾸러미 %s에 호환 구조가 없습니다" ++msgid "package %s from %s does not have a compatible architecture" ++msgstr "패키지 %s (%s에서)에 호환되는 구조가 없습니다" + + #: libdnf/goal/Goal.cpp:99 + #, c-format +-msgid "package %s is not installable" +-msgstr "꾸러미 %s 가 설치 할 수 없습니다" ++msgid "package %s from %s is not installable" ++msgstr "패키지 %s (%s에서)를 설치할 수 없습니다" + + #: libdnf/goal/Goal.cpp:100 + #, c-format +-msgid "package %s is filtered out by exclude filtering" +-msgstr "꾸러미 %s가 걸러지는 것에서 제외되었습니다" ++msgid "package %s from %s is filtered out by exclude filtering" ++msgstr "패키지 %s (%s에서)가 제외 필터링을 통해 필터링됩니다" + + #: libdnf/goal/Goal.cpp:101 + #, c-format +-msgid "nothing provides %s needed by %s" +-msgstr "%s에 필요한 %s가 제공되지 않았습니다" ++msgid "nothing provides %s needed by %s from %s" ++msgstr "%s (%s에서)에 필요한 %s이 제공되지 않습니다" + + #: libdnf/goal/Goal.cpp:102 + #, c-format +-msgid "cannot install both %s and %s" +-msgstr "%s 와 %s 모두 설치 할 수 없습니다" ++msgid "cannot install both %s from %s and %s from %s" ++msgstr "%s (%s에서) 및 %s (%s에서) 모두 설치할 수 없습니다" + + #: libdnf/goal/Goal.cpp:103 + #, c-format +-msgid "package %s conflicts with %s provided by %s" +-msgstr "꾸러미 %s은 %s에서 제공된 %s와 충돌합니다" ++msgid "package %s from %s conflicts with %s provided by %s from %s" ++msgstr "패키지 %s (%s에서)가 %s (%s에서)에 의해 제공된 %s와 충돌합니다" + + #: libdnf/goal/Goal.cpp:104 + #, c-format +-msgid "package %s obsoletes %s provided by %s" +-msgstr "꾸러미 %s가 %s에의해 제공된 %s를 폐기합니다" ++msgid "package %s from %s obsoletes %s provided by %s from %s" ++msgstr "패키지 %s (%s에서)가 %s (%s에서)에 의해 제공된 %s를 폐기합니다" + + #: libdnf/goal/Goal.cpp:105 + #, c-format +-msgid "installed package %s obsoletes %s provided by %s" +-msgstr "설치된 꾸러미 %s는 %s에 의해 %s 폐기되었습니다" ++msgid "installed package %s obsoletes %s provided by %s from %s" ++msgstr "설치된 패키지 %s가 %s (%s에서)에 의해 제공된 %s를 폐기합니다" + + #: libdnf/goal/Goal.cpp:106 + #, c-format +-msgid "package %s implicitly obsoletes %s provided by %s" +-msgstr "꾸러미 %s가 %s에 의해 %s가 암시적으로 폐기되었습니다" ++msgid "package %s from %s implicitly obsoletes %s provided by %s from %s" ++msgstr "패키지 %s (%s에서)가 %s (%s에서)에 의해 제공된 %s를 암시적으로 폐기합니다" + + #: libdnf/goal/Goal.cpp:107 + #, c-format +-msgid "package %s requires %s, but none of the providers can be installed" +-msgstr "꾸러미 %s는 %s가 필요하지만, 공급자가 없어 설치 할 수 없습니다" ++msgid "" ++"package %s from %s requires %s, but none of the providers can be installed" ++msgstr "패키지 %s (%s에서)는 %s이 필요하지만, 공급자가 없어 설치 할 수 없습니다" + + #: libdnf/goal/Goal.cpp:108 + #, c-format +-msgid "package %s conflicts with %s provided by itself" +-msgstr "꾸러미 %s가 자체적으로 제공된 %s와 충돌합니다" ++msgid "package %s from %s conflicts with %s provided by itself" ++msgstr "패키지 %s (%s에서)가 자체적으로 제공된 %s와 충돌합니다" + + #: libdnf/goal/Goal.cpp:109 + #, c-format +-msgid "both package %s and %s obsolete %s" +-msgstr "꾸러미 %s 와 %s 는 모두 %s에서 폐기되었습니다" ++msgid "both package %s from %s and %s from %s obsolete %s" ++msgstr "패키지 %s (%s에서) 및 %s (%s에서) 모두 %s을/를 폐기합니다" ++ ++#: libdnf/goal/Goal.cpp:113 ++#, c-format ++msgid "%s from %s does not belong to a distupgrade repository" ++msgstr "%s (%s에서)은/는 distupgrade 저장소에 속하지 않습니다" ++ ++#: libdnf/goal/Goal.cpp:114 ++#, c-format ++msgid "%s from %s has inferior architecture" ++msgstr "%s (%s에서)은/는 하위 아키텍처" + + #: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " +@@ -651,103 +654,104 @@ msgstr "모듈에 가장 적합한 최신화 추천을 설치 할 수 없습니 + + #: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format +-msgid "module %s is disabled" +-msgstr "모듈 %s를 사용할 수 없습니다" ++msgid "module %s from %s is disabled" ++msgstr "모듈 %s (%s에서)이/가 비활성화됨" + + #: libdnf/goal/Goal.cpp:125 + #, c-format +-msgid "module %s does not have a compatible architecture" +-msgstr "모듈 %s 에 호환되는 구조가 없습니다" ++msgid "module %s from %s does not have a compatible architecture" ++msgstr "패키지 %s (%s에서)에 호환되는 아키텍처가 없습니다" + + #: libdnf/goal/Goal.cpp:126 + #, c-format +-msgid "module %s is not installable" +-msgstr "모듈 %s 를 설치 할 수 없습니다" ++msgid "module %s from %s is not installable" ++msgstr "패키지 %s (%s에서)를 설치할 수 없습니다" + + #: libdnf/goal/Goal.cpp:128 + #, c-format +-msgid "nothing provides %s needed by module %s" +-msgstr "모듈 %s 에 필요한 %s 가 제공되지 않았습니다" ++msgid "nothing provides %s needed by module %s from %s" ++msgstr "%s (%s에서)에 필요한 %s이 제공되지 않습니다" + + #: libdnf/goal/Goal.cpp:129 + #, c-format +-msgid "cannot install both modules %s and %s" +-msgstr "모듈 %s 와 %s를 모두 설치 할 수 없습니다" ++msgid "cannot install both modules %s from %s and %s from %s" ++msgstr "모듈 %s (%s에서) 및 %s (%s에서) 모두 설치할 수 없습니다" + + #: libdnf/goal/Goal.cpp:130 + #, c-format +-msgid "module %s conflicts with %s provided by %s" +-msgstr "모듈 %s가 %s에 의해 제공된 %s와 충돌합니다" ++msgid "module %s from %s conflicts with %s provided by %s from %s" ++msgstr "모듈 %s (%s에서)이 %s (%s에서)에 의해 제공된 %s와 충돌합니다" + + #: libdnf/goal/Goal.cpp:131 + #, c-format +-msgid "module %s obsoletes %s provided by %s" +-msgstr "모듈 %s가 %s에 의해 제공된 %s를 폐기하였습니다" ++msgid "module %s from %s obsoletes %s provided by %s from %s" ++msgstr "모듈 %s (%s에서)이 %s (%s에서)에 의해 제공된 %s를 폐기합니다" + + #: libdnf/goal/Goal.cpp:132 + #, c-format +-msgid "installed module %s obsoletes %s provided by %s" +-msgstr "설치된 모듈 %s 가 %s의해 제공된 %s를 폐기합니다" ++msgid "installed module %s obsoletes %s provided by %s from %s" ++msgstr "설치된 모듈 %s 가 %s의해 제공된 %s (%s에서)를 폐기합니다" + + #: libdnf/goal/Goal.cpp:133 + #, c-format +-msgid "module %s implicitly obsoletes %s provided by %s" +-msgstr "모듈 %s가 %s 에 의해 %s를 암시적으로 폐기되었습니다" ++msgid "module %s from %s implicitly obsoletes %s provided by %s from %s" ++msgstr "모듈 %s (%s에서)이 %s (%s에서)에 의해 제공된 %s를 암시적으로 폐기합니다" + + #: libdnf/goal/Goal.cpp:134 + #, c-format +-msgid "module %s requires %s, but none of the providers can be installed" +-msgstr "모듈 %s 에 %s 가 필요하지만 공급 업체가 없어 설치 할 수 없습니다" ++msgid "" ++"module %s from %s requires %s, but none of the providers can be installed" ++msgstr "모듈 %s (%s에서)은 %s이 필요하지만, 공급자가 없어 설치 할 수 없습니다" + + #: libdnf/goal/Goal.cpp:135 + #, c-format +-msgid "module %s conflicts with %s provided by itself" +-msgstr "모듈 %s가 자체적으로 제공된 %s와 충돌합니다" ++msgid "module %s from %s conflicts with %s provided by itself" ++msgstr "모듈 %s (%s에서)이 (에서)에 의해 제공된 %s와 충돌합니다" + + #: libdnf/goal/Goal.cpp:136 + #, c-format +-msgid "both module %s and %s obsolete %s" +-msgstr "모듈 %s와 %s가 %s에서 폐기되었습니다" ++msgid "both module %s from %s and %s from %s obsolete %s" ++msgstr "모듈 %s (%s에서) 및 %s (%s에서) 모두 %s을/를 폐기합니다" + +-#: libdnf/goal/Goal.cpp:1051 ++#: libdnf/goal/Goal.cpp:1062 + msgid "no solver set" + msgstr "solver 설정 없음" + +-#: libdnf/goal/Goal.cpp:1056 ++#: libdnf/goal/Goal.cpp:1067 + #, c-format + msgid "failed to make %s absolute" + msgstr "%s 절대값을 생성을 실패하였습니다" + +-#: libdnf/goal/Goal.cpp:1063 ++#: libdnf/goal/Goal.cpp:1074 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" + msgstr "%1$s: %2$s에 디버그자료 쓰기를 실패했습니다" + +-#: libdnf/goal/Goal.cpp:1075 ++#: libdnf/goal/Goal.cpp:1086 + msgid "no solv in the goal" +-msgstr "목표에 solv가 없다" ++msgstr "목표에 solv가 없음" + +-#: libdnf/goal/Goal.cpp:1077 ++#: libdnf/goal/Goal.cpp:1088 + msgid "no solution, cannot remove protected package" +-msgstr "해결책 없음, 보호 된 꾸러미를 제거 할 수 없음" ++msgstr "해결책 없음, 보안된 패키지를 제거 할 수 없음" + +-#: libdnf/goal/Goal.cpp:1080 ++#: libdnf/goal/Goal.cpp:1091 + msgid "no solution possible" + msgstr "해결책 없음" + +-#: libdnf/goal/Goal.cpp:1206 ++#: libdnf/goal/Goal.cpp:1217 + msgid "Problem: " + msgstr "문제: " + +-#: libdnf/goal/Goal.cpp:1211 ++#: libdnf/goal/Goal.cpp:1222 + #, c-format + msgid "Problem %d: " + msgstr "문제 %d: " + +-#: libdnf/goal/Goal.cpp:1538 ++#: libdnf/goal/Goal.cpp:1549 + msgid "" + "The operation would result in removing the following protected packages: " +-msgstr "이 작업으로 인해 다음과 같은 보호 꾸러미가 제거됩니다. " ++msgstr "이 작업으로 인해 다음과 같은 보안 패키지가 제거됩니다. " + + #: libdnf/hy-iutil.cpp:181 + #, c-format +@@ -781,11 +785,11 @@ msgstr "잘못된 형식의 기반 모듈: %s" + + #: libdnf/module/ModulePackage.cpp:575 + msgid "Multiple module platforms provided by available packages\n" +-msgstr "사용 가능한 꾸러미로 제공되는 다중 모듈 기반\n" ++msgstr "사용 가능한 패키지로 제공되는 다중 모듈 기반\n" + + #: libdnf/module/ModulePackage.cpp:588 + msgid "Multiple module platforms provided by installed packages\n" +-msgstr "설치된 꾸러미로 제공되는 다중 모듈 기반\n" ++msgstr "설치된 패키지로 제공되는 다중 모듈 기반\n" + + #: libdnf/module/ModulePackage.cpp:615 + #, c-format +@@ -806,68 +810,66 @@ msgstr "유효한 기반(Platform) ID가 없습니다" + msgid "Cannot enable multiple streams for module '%s'" + msgstr "모듈 '%s’를 위해 다중 스트림을 활성화 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:295 ++#: libdnf/module/ModulePackageContainer.cpp:288 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" + msgstr "저장소 '%s: %s'와 기본 설정이 충돌합니다" + +-#: libdnf/module/ModulePackageContainer.cpp:841 ++#: libdnf/module/ModulePackageContainer.cpp:847 + msgid "Installing module profiles:\n" + msgstr "모듈 프로파일 설치:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:856 ++#: libdnf/module/ModulePackageContainer.cpp:862 + msgid "Disabling module profiles:\n" + msgstr "모듈 프로파일 비활성화:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:871 ++#: libdnf/module/ModulePackageContainer.cpp:877 + msgid "Enabling module streams:\n" + msgstr "모듈 스트림 활성화:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:885 ++#: libdnf/module/ModulePackageContainer.cpp:891 + msgid "Switching module streams:\n" + msgstr "모듈 스트림 전환:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:903 ++#: libdnf/module/ModulePackageContainer.cpp:909 + msgid "Disabling modules:\n" + msgstr "모듈 비활성화:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:914 ++#: libdnf/module/ModulePackageContainer.cpp:920 + msgid "Resetting modules:\n" + msgstr "모듈 재설정:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:1638 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" + msgstr "'%s'에서 모듈식 Fail-Safe 자료를 적재 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:1644 ++#: libdnf/module/ModulePackageContainer.cpp:1650 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" + msgstr "모듈 '%s:%s'에 대해 모듈식 Fail-Safe 자료를 적재 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:1702 ++#: libdnf/module/ModulePackageContainer.cpp:1708 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" + msgstr "모듈식 Fail-Safe 데이터에 대한 “%s\" 디렉토리를 만들 수 없습니다: %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1718 ++#: libdnf/module/ModulePackageContainer.cpp:1724 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" + msgstr "모듈식 Fail Safe 자료를 '%s'에 저장 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:1741 ++#: libdnf/module/ModulePackageContainer.cpp:1747 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" + msgstr "'%s'에서 모듈식 Fail Safe 자료를 제거 할 수 없습니다" + +-#: libdnf/module/ModulePackageContainer.cpp:1773 ++#: libdnf/module/ModulePackageContainer.cpp:1779 + #, c-format + msgid "" + "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " + "disabled" +-msgstr "" +-"'%s:%s'에 사용되지 않는 모듈을 적용할 수 없습니다(대상 모듈 '%s'가 비활성화 " +-"되어 있기 때문에)" ++msgstr "'%s:%s'에 사용되지 않는 모듈을 적용할 수 없습니다(대상 모듈 '%s'가 비활성화 되어 있기 때문에)" + + #: libdnf/module/modulemd/ModuleMetadata.cpp:86 + #, c-format +@@ -940,9 +942,8 @@ msgid "" + "deprecated and the support will be dropped in future versions. Use '=' " + "operator instead." + msgstr "" +-"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 " +-"연산자는 더 이상 사용되지 않으며, 향후 버전에서는 지원이 중단됩니다. 대신 " +-"'=' 연산자를 사용하세요." ++"reldeps에 '=='연산자를 사용하면 정의되지 않은 동작이 발생할 수 있습니다. 이 연산자는 더 이상 사용되지 않으며, 향후 " ++"버전에서는 지원이 중단됩니다. 대신 '=' 연산자를 사용하세요." + + #: libdnf/repo/Repo.cpp:321 + #, c-format +@@ -962,17 +963,14 @@ msgstr "repo '%s': 'basecachedir가 구성되어 있지 않습니다" + + #: libdnf/repo/Repo.cpp:512 + msgid "" +-"Maximum download speed is lower than minimum. Please change configuration of " +-"minrate or throttle" +-msgstr "" +-"최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주" +-"세요" ++"Maximum download speed is lower than minimum. Please change configuration of" ++" minrate or throttle" ++msgstr "최대 내려받기 속도는 최저보다 낮습니다. 최저속도나 변환 환경구성을 변경해 주세요" + + #: libdnf/repo/Repo.cpp:546 + #, c-format + msgid "repo '%s': 'proxy_username' is set but not 'proxy_password'" +-msgstr "" +-"repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다" ++msgstr "repo '%s': 'proxy_username' 는 구성되어 있지만 'proxy_password'가 없습니다" + + #: libdnf/repo/Repo.cpp:548 + msgid "'proxy_username' is set but not 'proxy_password'" +@@ -1140,8 +1138,7 @@ msgstr "완료된 연결에서 연결 항목 최신화를 시도합니다" + + #: libdnf/transaction/Transformer.cpp:76 + msgid "Database Corrupted: no row 'version' in table 'config'" +-msgstr "" +-"데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다" ++msgstr "데이타베이스가 오염되었습니다: 테이블 'config'에 'version' 행이 없습니다" + + #: libdnf/transaction/Transformer.cpp:681 + msgid "Transformer: can't open history persist dir" +@@ -1164,6 +1161,112 @@ msgstr "TransactionItem 상태가 설정되지 않았습니다. %s" + msgid "Can't add console output to unsaved transaction" + msgstr "저장되지 않은 연결에 콘솔 출력을 추가 할 수 없습니다" + ++#~ msgid " does not belong to a distupgrade repository" ++#~ msgstr " distupgrade 저장소에 속하지 않습니다" ++ ++#~ msgid " has inferior architecture" ++#~ msgstr " 하위 구조" ++ ++#, c-format ++#~ msgid "package %s is filtered out by modular filtering" ++#~ msgstr "꾸러미 %s가 모듈식으로 걸러 제거됩니다" ++ ++#, c-format ++#~ msgid "package %s does not have a compatible architecture" ++#~ msgstr "꾸러미 %s에 호환 구조가 없습니다" ++ ++#, c-format ++#~ msgid "package %s is not installable" ++#~ msgstr "꾸러미 %s 가 설치 할 수 없습니다" ++ ++#, c-format ++#~ msgid "package %s is filtered out by exclude filtering" ++#~ msgstr "꾸러미 %s가 걸러지는 것에서 제외되었습니다" ++ ++#, c-format ++#~ msgid "nothing provides %s needed by %s" ++#~ msgstr "%s에 필요한 %s가 제공되지 않았습니다" ++ ++#, c-format ++#~ msgid "cannot install both %s and %s" ++#~ msgstr "%s 와 %s 모두 설치 할 수 없습니다" ++ ++#, c-format ++#~ msgid "package %s conflicts with %s provided by %s" ++#~ msgstr "꾸러미 %s은 %s에서 제공된 %s와 충돌합니다" ++ ++#, c-format ++#~ msgid "package %s obsoletes %s provided by %s" ++#~ msgstr "꾸러미 %s가 %s에의해 제공된 %s를 폐기합니다" ++ ++#, c-format ++#~ msgid "installed package %s obsoletes %s provided by %s" ++#~ msgstr "설치된 꾸러미 %s는 %s에 의해 %s 폐기되었습니다" ++ ++#, c-format ++#~ msgid "package %s implicitly obsoletes %s provided by %s" ++#~ msgstr "꾸러미 %s가 %s에 의해 %s가 암시적으로 폐기되었습니다" ++ ++#, c-format ++#~ msgid "package %s requires %s, but none of the providers can be installed" ++#~ msgstr "꾸러미 %s는 %s가 필요하지만, 공급자가 없어 설치 할 수 없습니다" ++ ++#, c-format ++#~ msgid "package %s conflicts with %s provided by itself" ++#~ msgstr "꾸러미 %s가 자체적으로 제공된 %s와 충돌합니다" ++ ++#, c-format ++#~ msgid "both package %s and %s obsolete %s" ++#~ msgstr "꾸러미 %s 와 %s 는 모두 %s에서 폐기되었습니다" ++ ++#, c-format ++#~ msgid "module %s is disabled" ++#~ msgstr "모듈 %s를 사용할 수 없습니다" ++ ++#, c-format ++#~ msgid "module %s does not have a compatible architecture" ++#~ msgstr "모듈 %s 에 호환되는 구조가 없습니다" ++ ++#, c-format ++#~ msgid "module %s is not installable" ++#~ msgstr "모듈 %s 를 설치 할 수 없습니다" ++ ++#, c-format ++#~ msgid "nothing provides %s needed by module %s" ++#~ msgstr "모듈 %s 에 필요한 %s 가 제공되지 않았습니다" ++ ++#, c-format ++#~ msgid "cannot install both modules %s and %s" ++#~ msgstr "모듈 %s 와 %s를 모두 설치 할 수 없습니다" ++ ++#, c-format ++#~ msgid "module %s conflicts with %s provided by %s" ++#~ msgstr "모듈 %s가 %s에 의해 제공된 %s와 충돌합니다" ++ ++#, c-format ++#~ msgid "module %s obsoletes %s provided by %s" ++#~ msgstr "모듈 %s가 %s에 의해 제공된 %s를 폐기하였습니다" ++ ++#, c-format ++#~ msgid "installed module %s obsoletes %s provided by %s" ++#~ msgstr "설치된 모듈 %s 가 %s의해 제공된 %s를 폐기합니다" ++ ++#, c-format ++#~ msgid "module %s implicitly obsoletes %s provided by %s" ++#~ msgstr "모듈 %s가 %s 에 의해 %s를 암시적으로 폐기되었습니다" ++ ++#, c-format ++#~ msgid "module %s requires %s, but none of the providers can be installed" ++#~ msgstr "모듈 %s 에 %s 가 필요하지만 공급 업체가 없어 설치 할 수 없습니다" ++ ++#, c-format ++#~ msgid "module %s conflicts with %s provided by itself" ++#~ msgstr "모듈 %s가 자체적으로 제공된 %s와 충돌합니다" ++ ++#, c-format ++#~ msgid "both module %s and %s obsolete %s" ++#~ msgstr "모듈 %s와 %s가 %s에서 폐기되었습니다" ++ + #~ msgid "failed to add solv" + #~ msgstr "solv를 추가하지 못했습니다" + +@@ -1175,6 +1278,3 @@ msgstr "저장되지 않은 연결에 콘솔 출력을 추가 할 수 없습니 + + #~ msgid "write_ext(%1$d) has failed: %2$d" + #~ msgstr "write_ext(%1$d) 실패하였습니다: %2$d" +- +-#~ msgid "repo_add_repomdxml/rpmmd() has failed." +-#~ msgstr "repo_add_repomdxml/rpmmd() 실패하였습니다." +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 3c800f87..bc6d1262 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -6,11 +6,10 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2023-02-28 09:11+0100\n" ++"POT-Creation-Date: 2023-08-29 13:10+0200\n" + "PO-Revision-Date: 2022-09-06 07:19+0000\n" + "Last-Translator: Transtats \n" +-"Language-Team: Chinese (Simplified) \n" ++"Language-Team: Chinese (Simplified) \n" + "Language: zh_CN\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" +@@ -141,7 +140,8 @@ msgstr "无法解析参数 '%s'" + #: libdnf/dnf-context.cpp:3303 + #, c-format + msgid "" +-"Only module name is required. Ignoring unneeded information in argument: '%s'" ++"Only module name is required. Ignoring unneeded information in argument: " ++"'%s'" + msgstr "只需要模块名。忽略参数 '%s' 中的无用信息" + + #: libdnf/dnf-context.cpp:3317 +@@ -196,20 +196,17 @@ msgstr "模块禁用请求时出现问题" + #: libdnf/dnf-context.cpp:3633 + #, c-format + msgid "" +-"The operation would result in switching of module '%s' stream '%s' to stream " +-"'%s'" ++"The operation would result in switching of module '%s' stream '%s' to stream" ++" '%s'" + msgstr "这个操作会把模块 '%s' 从流 '%s' 切换到流 '%s'" + + #: libdnf/dnf-context.cpp:3637 + msgid "" + "It is not possible to switch enabled streams of a module.\n" +-"It is recommended to remove all installed content from the module, and reset " +-"the module using 'microdnf module reset ' command. After you " +-"reset the module, you can install the other stream." ++"It is recommended to remove all installed content from the module, and reset the module using 'microdnf module reset ' command. After you reset the module, you can install the other stream." + msgstr "" + "无法切换一个模块已启用的流。 \n" +-"推荐从模块中删除所有已安装的内容,使用 'microdnf module reset ' " +-"命令重置模块。在重置模块后就可以安装其他流。" ++"推荐从模块中删除所有已安装的内容,使用 'microdnf module reset ' 命令重置模块。在重置模块后就可以安装其他流。" + + #: libdnf/dnf-goal.cpp:85 + msgid "Could not depsolve transaction; " +@@ -348,7 +345,8 @@ msgstr "不能创建临时文件 %s" + #: libdnf/dnf-sack.cpp:667 + #, c-format + msgid "" +-"While writing extension cache %s (%d): repowriter write failed: %i, error: %s" ++"While writing extension cache %s (%d): repowriter write failed: %i, error: " ++"%s" + msgstr "编写扩展缓存 %s (%d) 时: repowriter 写失败: %i,错误: %s" + + #: libdnf/dnf-sack.cpp:677 +@@ -516,13 +514,15 @@ msgstr "Ill-formed Selector,在过滤器中有多个匹配的对象" + msgid "Ill-formed Selector used for the operation, incorrect comparison type" + msgstr "这个操作使用了 Ill-formed Selector,不正确的比较类型" + +-#: libdnf/goal/Goal.cpp:86 libdnf/goal/Goal.cpp:113 +-msgid " does not belong to a distupgrade repository" +-msgstr " 不属于 distupgrade 仓库" ++#: libdnf/goal/Goal.cpp:86 ++#, c-format ++msgid "%s from %s does not belong to a distupgrade repository" ++msgstr "来自 %s 的 %s 不属于 distupgrade 仓库" + +-#: libdnf/goal/Goal.cpp:87 libdnf/goal/Goal.cpp:114 +-msgid " has inferior architecture" +-msgstr " 有 inferior 架构" ++#: libdnf/goal/Goal.cpp:87 ++#, c-format ++msgid "%s from %s has inferior architecture" ++msgstr "来自 %s 的 %s 具有 inferior 架构" + + #: libdnf/goal/Goal.cpp:88 + msgid "problem with installed package " +@@ -563,68 +563,79 @@ msgstr "无法为该任务安装最佳候选" + + #: libdnf/goal/Goal.cpp:97 + #, c-format +-msgid "package %s is filtered out by modular filtering" +-msgstr "软件包 %s 被模块过滤过滤掉" ++msgid "package %s from %s is filtered out by modular filtering" ++msgstr "来自 %s 的 %s 被模块过滤过滤掉" + + #: libdnf/goal/Goal.cpp:98 + #, c-format +-msgid "package %s does not have a compatible architecture" +-msgstr "软件包 %s 没有兼容的架构" ++msgid "package %s from %s does not have a compatible architecture" ++msgstr "来自 %s 的软件包 %s 没有兼容的架构" + + #: libdnf/goal/Goal.cpp:99 + #, c-format +-msgid "package %s is not installable" +-msgstr "软件包 %s 不可安装" ++msgid "package %s from %s is not installable" ++msgstr "来自 %s 的软件包 %s 不可安装" + + #: libdnf/goal/Goal.cpp:100 + #, c-format +-msgid "package %s is filtered out by exclude filtering" +-msgstr "软件包 %s 被排除过滤过滤掉" ++msgid "package %s from %s is filtered out by exclude filtering" ++msgstr "来自 %s 的软件包 %s 被排除过滤过滤掉" + + #: libdnf/goal/Goal.cpp:101 + #, c-format +-msgid "nothing provides %s needed by %s" +-msgstr "没有提供 %s 所需要的 %s" ++msgid "nothing provides %s needed by %s from %s" ++msgstr "没有提供来自 %s 的 %s 所需的 %s" + + #: libdnf/goal/Goal.cpp:102 + #, c-format +-msgid "cannot install both %s and %s" +-msgstr "无法同时安装 %s 和 %s" ++msgid "cannot install both %s from %s and %s from %s" ++msgstr "不能同时安装来自 %s 的 %s 和来自 %s 的 %s" + + #: libdnf/goal/Goal.cpp:103 + #, c-format +-msgid "package %s conflicts with %s provided by %s" +-msgstr "软件包 %s 与 %s(由 %s 提供)冲突" ++msgid "package %s from %s conflicts with %s provided by %s from %s" ++msgstr "来自 %s 的软件包 %s 与来自 %s 的 %s 所提供的 %s 冲突" + + #: libdnf/goal/Goal.cpp:104 + #, c-format +-msgid "package %s obsoletes %s provided by %s" +-msgstr "软件包 %s 淘汰了 %s 提供的 %s" ++msgid "package %s from %s obsoletes %s provided by %s from %s" ++msgstr "来自 %s 的软件包 %s 淘汰了由来自 %s 的 %s 所提供的 %s" + + #: libdnf/goal/Goal.cpp:105 + #, c-format +-msgid "installed package %s obsoletes %s provided by %s" +-msgstr "已安装的软件包 %s 淘汰了 %s 提供的 %s" ++msgid "installed package %s obsoletes %s provided by %s from %s" ++msgstr "已安装的软件包 %s 淘汰了由来自 %s 的 %s 所提供的 %s" + + #: libdnf/goal/Goal.cpp:106 + #, c-format +-msgid "package %s implicitly obsoletes %s provided by %s" +-msgstr "软件包 %s 隐式地淘汰了 %s 提供的 %s" ++msgid "package %s from %s implicitly obsoletes %s provided by %s from %s" ++msgstr "来自 %s 的软件包 %s 隐式地淘汰了由来自 %s 的 %s 所提供的 %s" + + #: libdnf/goal/Goal.cpp:107 + #, c-format +-msgid "package %s requires %s, but none of the providers can be installed" +-msgstr "软件包 %s 需要 %s,但没有提供者可以被安装" ++msgid "" ++"package %s from %s requires %s, but none of the providers can be installed" ++msgstr "来自 %s 的软件包 %s 需要 %s,但没有可以被安装的提供程序" + + #: libdnf/goal/Goal.cpp:108 + #, c-format +-msgid "package %s conflicts with %s provided by itself" +-msgstr "软件包 %s 与自己提供的 %s 冲突" ++msgid "package %s from %s conflicts with %s provided by itself" ++msgstr "来自 %s 的软件包 %s 与来自自己提供的 %s 冲突" + + #: libdnf/goal/Goal.cpp:109 + #, c-format +-msgid "both package %s and %s obsolete %s" +-msgstr "软件包 %s 和 %s 同时取代了 %s" ++msgid "both package %s from %s and %s from %s obsolete %s" ++msgstr "来自 %s 的 %s 和来自 %s 的 %s 软件包都淘汰了 %s" ++ ++#: libdnf/goal/Goal.cpp:113 ++#, c-format ++msgid "%s from %s does not belong to a distupgrade repository" ++msgstr "来自 %s 的 %s 不属于 distupgrade 仓库" ++ ++#: libdnf/goal/Goal.cpp:114 ++#, c-format ++msgid "%s from %s has inferior architecture" ++msgstr "来自 %s 的 %s 具有 inferior 架构" + + #: libdnf/goal/Goal.cpp:115 + msgid "problem with installed module " +@@ -641,100 +652,101 @@ msgstr "无法为模块安装最佳更新候选 " + + #: libdnf/goal/Goal.cpp:124 libdnf/goal/Goal.cpp:127 + #, c-format +-msgid "module %s is disabled" +-msgstr "模块 %s 被禁用" ++msgid "module %s from %s is disabled" ++msgstr "来自 %s 的模块 %s 被禁用" + + #: libdnf/goal/Goal.cpp:125 + #, c-format +-msgid "module %s does not have a compatible architecture" +-msgstr "模块 %s 没有兼容的架构" ++msgid "module %s from %s does not have a compatible architecture" ++msgstr "来自 %s 的模块 %s 没有兼容的架构" + + #: libdnf/goal/Goal.cpp:126 + #, c-format +-msgid "module %s is not installable" +-msgstr "模块 %s 不可安装" ++msgid "module %s from %s is not installable" ++msgstr "来自 %s 的模块 %s 不可安装" + + #: libdnf/goal/Goal.cpp:128 + #, c-format +-msgid "nothing provides %s needed by module %s" +-msgstr "没有提供模块 %s 所需要的 %s" ++msgid "nothing provides %s needed by module %s from %s" ++msgstr "没有提供来自 %s 的模块 %s 所需要的 %s" + + #: libdnf/goal/Goal.cpp:129 + #, c-format +-msgid "cannot install both modules %s and %s" +-msgstr "不能同时安装模块 %s 和 %s" ++msgid "cannot install both modules %s from %s and %s from %s" ++msgstr "不能同时安装来自 %s 的 %s 和来自 %s 的 %s 模块" + + #: libdnf/goal/Goal.cpp:130 + #, c-format +-msgid "module %s conflicts with %s provided by %s" +-msgstr "模块 %s 与 %s 提供的 %s 冲突" ++msgid "module %s from %s conflicts with %s provided by %s from %s" ++msgstr "来自 %s 的模块 %s 与来自 %s 的 %s 所提供的 %s 冲突" + + #: libdnf/goal/Goal.cpp:131 + #, c-format +-msgid "module %s obsoletes %s provided by %s" +-msgstr "模块 %s 淘汰了 %s 提供的 %s" ++msgid "module %s from %s obsoletes %s provided by %s from %s" ++msgstr "来自 %s 的模块 %s 淘汰了由来自 %s 的 %s 所提供的 %s" + + #: libdnf/goal/Goal.cpp:132 + #, c-format +-msgid "installed module %s obsoletes %s provided by %s" +-msgstr "已安装的模块 %s 淘汰了 %s 提供的 %s" ++msgid "installed module %s obsoletes %s provided by %s from %s" ++msgstr "已安装的模块 %s 淘汰了由来自 %s 的 %s 所提供的 %s" + + #: libdnf/goal/Goal.cpp:133 + #, c-format +-msgid "module %s implicitly obsoletes %s provided by %s" +-msgstr "模块 %s 隐式地淘汰了 %s 提供的 %s" ++msgid "module %s from %s implicitly obsoletes %s provided by %s from %s" ++msgstr "来自 %s 的模块 %s 隐式地淘汰了由来自 %s 的 %s 所提供的 %s" + + #: libdnf/goal/Goal.cpp:134 + #, c-format +-msgid "module %s requires %s, but none of the providers can be installed" +-msgstr "模块 %s 需要 %s,但无法安装任何提供程序" ++msgid "" ++"module %s from %s requires %s, but none of the providers can be installed" ++msgstr "来自 %s 的模块 %s 需要 %s,但没有可以被安装的提供程序" + + #: libdnf/goal/Goal.cpp:135 + #, c-format +-msgid "module %s conflicts with %s provided by itself" +-msgstr "模块 %s 与自己提供的 %s 冲突" ++msgid "module %s from %s conflicts with %s provided by itself" ++msgstr "来自 %s 的模块 %s 与自己提供的 %s 冲突" + + #: libdnf/goal/Goal.cpp:136 + #, c-format +-msgid "both module %s and %s obsolete %s" +-msgstr "模块 %s 和 %s 同时取代了 %s" ++msgid "both module %s from %s and %s from %s obsolete %s" ++msgstr "来自 %s 的 %s 和来自 %s 的 %s 软件包都淘汰了 %s" + +-#: libdnf/goal/Goal.cpp:1051 ++#: libdnf/goal/Goal.cpp:1062 + msgid "no solver set" + msgstr "无 solver 设置" + +-#: libdnf/goal/Goal.cpp:1056 ++#: libdnf/goal/Goal.cpp:1067 + #, c-format + msgid "failed to make %s absolute" + msgstr "无法使 %s 绝对" + +-#: libdnf/goal/Goal.cpp:1063 ++#: libdnf/goal/Goal.cpp:1074 + #, c-format + msgid "failed writing debugdata to %1$s: %2$s" + msgstr "把 debugdata 写入到 %1$s 失败: %2$s" + +-#: libdnf/goal/Goal.cpp:1075 ++#: libdnf/goal/Goal.cpp:1086 + msgid "no solv in the goal" + msgstr "在目标中没有 solv" + +-#: libdnf/goal/Goal.cpp:1077 ++#: libdnf/goal/Goal.cpp:1088 + msgid "no solution, cannot remove protected package" + msgstr "没有解决方案,不能删除保护的软件包" + +-#: libdnf/goal/Goal.cpp:1080 ++#: libdnf/goal/Goal.cpp:1091 + msgid "no solution possible" + msgstr "没有可能的解决方案" + +-#: libdnf/goal/Goal.cpp:1206 ++#: libdnf/goal/Goal.cpp:1217 + msgid "Problem: " + msgstr "问题: " + +-#: libdnf/goal/Goal.cpp:1211 ++#: libdnf/goal/Goal.cpp:1222 + #, c-format + msgid "Problem %d: " + msgstr "问题 %d: " + +-#: libdnf/goal/Goal.cpp:1538 ++#: libdnf/goal/Goal.cpp:1549 + msgid "" + "The operation would result in removing the following protected packages: " + msgstr "这个操作将会导致删除以下受保护的软件包: " +@@ -796,61 +808,61 @@ msgstr "没有检测到有效的 Platform ID" + msgid "Cannot enable multiple streams for module '%s'" + msgstr "无法为模块 '%s' 启用多个流" + +-#: libdnf/module/ModulePackageContainer.cpp:295 ++#: libdnf/module/ModulePackageContainer.cpp:288 + #, c-format + msgid "Conflicting defaults with repo '%s': %s" + msgstr "默认设置与存储库 '%s' 冲突 : %s" + +-#: libdnf/module/ModulePackageContainer.cpp:841 ++#: libdnf/module/ModulePackageContainer.cpp:847 + msgid "Installing module profiles:\n" + msgstr "安装模块配置档案:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:856 ++#: libdnf/module/ModulePackageContainer.cpp:862 + msgid "Disabling module profiles:\n" + msgstr "禁用模块配置档案:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:871 ++#: libdnf/module/ModulePackageContainer.cpp:877 + msgid "Enabling module streams:\n" + msgstr "启用模块流:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:885 ++#: libdnf/module/ModulePackageContainer.cpp:891 + msgid "Switching module streams:\n" + msgstr "切换模块流:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:903 ++#: libdnf/module/ModulePackageContainer.cpp:909 + msgid "Disabling modules:\n" + msgstr "禁用模块:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:914 ++#: libdnf/module/ModulePackageContainer.cpp:920 + msgid "Resetting modules:\n" + msgstr "重置模块:\n" + +-#: libdnf/module/ModulePackageContainer.cpp:1638 ++#: libdnf/module/ModulePackageContainer.cpp:1644 + #, c-format + msgid "Unable to load modular Fail-Safe data at '%s'" + msgstr "无法加载位于 '%s' 的模块 Fail-Safe 数据" + +-#: libdnf/module/ModulePackageContainer.cpp:1644 ++#: libdnf/module/ModulePackageContainer.cpp:1650 + #, c-format + msgid "Unable to load modular Fail-Safe data for module '%s:%s'" + msgstr "无法为模块 '%s:%s' 加载模块 Fail-Safe 数据" + +-#: libdnf/module/ModulePackageContainer.cpp:1702 ++#: libdnf/module/ModulePackageContainer.cpp:1708 + #, c-format + msgid "Unable to create directory \"%s\" for modular Fail Safe data: %s" + msgstr "无法为模块 Fail Safe 数据创建目录 \"%s\" : %s" + +-#: libdnf/module/ModulePackageContainer.cpp:1718 ++#: libdnf/module/ModulePackageContainer.cpp:1724 + #, c-format + msgid "Unable to save a modular Fail Safe data to '%s'" + msgstr "无法把模块 Fail Safe 数据保存到 '%s'" + +-#: libdnf/module/ModulePackageContainer.cpp:1741 ++#: libdnf/module/ModulePackageContainer.cpp:1747 + #, c-format + msgid "Unable to remove a modular Fail Safe data in '%s'" + msgstr "无法删除 '%s' 中的模块 Fail Safe 数据" + +-#: libdnf/module/ModulePackageContainer.cpp:1773 ++#: libdnf/module/ModulePackageContainer.cpp:1779 + #, c-format + msgid "" + "Unable to apply modular obsoletes to '%s:%s' because target module '%s' is " +@@ -928,8 +940,8 @@ msgid "" + "deprecated and the support will be dropped in future versions. Use '=' " + "operator instead." + msgstr "" +-"在 reldeps 中使用 '==' 操作符可能导致一个未定义的行为。这个操作符已被废弃,并" +-"且在未来的版本中会取消对它的支持。请使用 '=' 操作符代替。" ++"在 reldeps 中使用 '==' 操作符可能导致一个未定义的行为。这个操作符已被废弃,并且在未来的版本中会取消对它的支持。请使用 '=' " ++"操作符代替。" + + #: libdnf/repo/Repo.cpp:321 + #, c-format +@@ -949,8 +961,8 @@ msgstr "存储库 '%s': 'basecachedir' 没有设置" + + #: libdnf/repo/Repo.cpp:512 + msgid "" +-"Maximum download speed is lower than minimum. Please change configuration of " +-"minrate or throttle" ++"Maximum download speed is lower than minimum. Please change configuration of" ++" minrate or throttle" + msgstr "最大下载速度低于最小值。请修改 minrate 或 throttle 的配置" + + #: libdnf/repo/Repo.cpp:546 +@@ -1147,6 +1159,112 @@ msgstr "TransactionItem 状态没有设置:%s" + msgid "Can't add console output to unsaved transaction" + msgstr "无法向未保存的事务中添加控制台输出" + ++#~ msgid " does not belong to a distupgrade repository" ++#~ msgstr " 不属于 distupgrade 仓库" ++ ++#~ msgid " has inferior architecture" ++#~ msgstr " 有 inferior 架构" ++ ++#, c-format ++#~ msgid "package %s is filtered out by modular filtering" ++#~ msgstr "软件包 %s 被模块过滤过滤掉" ++ ++#, c-format ++#~ msgid "package %s does not have a compatible architecture" ++#~ msgstr "软件包 %s 没有兼容的架构" ++ ++#, c-format ++#~ msgid "package %s is not installable" ++#~ msgstr "软件包 %s 不可安装" ++ ++#, c-format ++#~ msgid "package %s is filtered out by exclude filtering" ++#~ msgstr "软件包 %s 被排除过滤过滤掉" ++ ++#, c-format ++#~ msgid "nothing provides %s needed by %s" ++#~ msgstr "没有提供 %s 所需要的 %s" ++ ++#, c-format ++#~ msgid "cannot install both %s and %s" ++#~ msgstr "无法同时安装 %s 和 %s" ++ ++#, c-format ++#~ msgid "package %s conflicts with %s provided by %s" ++#~ msgstr "软件包 %s 与 %s(由 %s 提供)冲突" ++ ++#, c-format ++#~ msgid "package %s obsoletes %s provided by %s" ++#~ msgstr "软件包 %s 淘汰了 %s 提供的 %s" ++ ++#, c-format ++#~ msgid "installed package %s obsoletes %s provided by %s" ++#~ msgstr "已安装的软件包 %s 淘汰了 %s 提供的 %s" ++ ++#, c-format ++#~ msgid "package %s implicitly obsoletes %s provided by %s" ++#~ msgstr "软件包 %s 隐式地淘汰了 %s 提供的 %s" ++ ++#, c-format ++#~ msgid "package %s requires %s, but none of the providers can be installed" ++#~ msgstr "软件包 %s 需要 %s,但没有提供者可以被安装" ++ ++#, c-format ++#~ msgid "package %s conflicts with %s provided by itself" ++#~ msgstr "软件包 %s 与自己提供的 %s 冲突" ++ ++#, c-format ++#~ msgid "both package %s and %s obsolete %s" ++#~ msgstr "软件包 %s 和 %s 同时取代了 %s" ++ ++#, c-format ++#~ msgid "module %s is disabled" ++#~ msgstr "模块 %s 被禁用" ++ ++#, c-format ++#~ msgid "module %s does not have a compatible architecture" ++#~ msgstr "模块 %s 没有兼容的架构" ++ ++#, c-format ++#~ msgid "module %s is not installable" ++#~ msgstr "模块 %s 不可安装" ++ ++#, c-format ++#~ msgid "nothing provides %s needed by module %s" ++#~ msgstr "没有提供模块 %s 所需要的 %s" ++ ++#, c-format ++#~ msgid "cannot install both modules %s and %s" ++#~ msgstr "不能同时安装模块 %s 和 %s" ++ ++#, c-format ++#~ msgid "module %s conflicts with %s provided by %s" ++#~ msgstr "模块 %s 与 %s 提供的 %s 冲突" ++ ++#, c-format ++#~ msgid "module %s obsoletes %s provided by %s" ++#~ msgstr "模块 %s 淘汰了 %s 提供的 %s" ++ ++#, c-format ++#~ msgid "installed module %s obsoletes %s provided by %s" ++#~ msgstr "已安装的模块 %s 淘汰了 %s 提供的 %s" ++ ++#, c-format ++#~ msgid "module %s implicitly obsoletes %s provided by %s" ++#~ msgstr "模块 %s 隐式地淘汰了 %s 提供的 %s" ++ ++#, c-format ++#~ msgid "module %s requires %s, but none of the providers can be installed" ++#~ msgstr "模块 %s 需要 %s,但无法安装任何提供程序" ++ ++#, c-format ++#~ msgid "module %s conflicts with %s provided by itself" ++#~ msgstr "模块 %s 与自己提供的 %s 冲突" ++ ++#, c-format ++#~ msgid "both module %s and %s obsolete %s" ++#~ msgstr "模块 %s 和 %s 同时取代了 %s" ++ + #~ msgid "failed to add solv" + #~ msgstr "添加 solv 失败" + +@@ -1161,6 +1279,3 @@ msgstr "无法向未保存的事务中添加控制台输出" + + #~ msgid "repo_add_repomdxml/rpmmd() has failed." + #~ msgstr "repo_add_repomdxml/rpmmd() 已失败。" +- +-#~ msgid "Bad id for repo: %s, byte = %s %d" +-#~ msgstr "repo 的 id 无效: %s, byte = %s %d" +-- +2.41.0 + diff --git a/SPECS/libdnf.spec b/SPECS/libdnf.spec index b029b23..8c7c270 100644 --- a/SPECS/libdnf.spec +++ b/SPECS/libdnf.spec @@ -56,7 +56,7 @@ Name: libdnf Version: %{libdnf_major_version}.%{libdnf_minor_version}.%{libdnf_micro_version} -Release: 13%{?dist} +Release: 17%{?dist} Summary: Library providing simplified C and Python API to libsolv License: LGPLv2+ URL: https://github.com/rpm-software-management/libdnf @@ -103,6 +103,10 @@ Patch39: 0039-advisory-upgrade-filter-out-advPkgs-with-different-a.patch Patch40: 0040-Add-obsoletes-to-filtering-for-advisory-candidates.patch Patch41: 0041-Fix-listing-a-repository-without-cpeid-RhBug-2066334.patch Patch42: 0042-Allow-change-of-arch-during-security-updates-with-no.patch +Patch43: 0043-Update-translations.patch +Patch44: 0044-Add_repoid_to_solver_error_messagase.patch +Patch45: 0045-conf-Support-proxy-_none_-in-main-config-RhBug-21557.patch +Patch46: 0046-Update-translations-RHEL-8.9.patch BuildRequires: cmake @@ -348,6 +352,18 @@ popd %endif %changelog +* Fri Sep 08 2023 Marek Blaha - 0.63.0-17 +- Update translations + +* Wed May 31 2023 Nicola Sella - 0.63-0-16 +- Support "proxy=_none_" in main config (RhBug:2155713) + +* Wed May 17 2023 Jaroslav Rohel - 0.63.0-15 +- Add repoid to solver error messages (RhBug:2179409,2179413) + +* Wed Mar 08 2023 Marek Blaha - 0.63.0-14 +- Update translations + * Wed Oct 26 2022 Nicola Sella - 0.63.0-13 - Allow change of arch during security updates with noarch (RhBug:2124483)