From 3e70138712492a83a422d88ea0283fcce7eae0fe Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Thu, 2 Dec 2021 16:37:31 +0000 Subject: [PATCH] import dnf-plugins-core-4.0.21-6.el8 --- SOURCES/0004-Update-translations.patch | 3341 ----------------- ...back-on-empty-lines-in-etcos-release.patch | 33 + ...en-downloading-packages-RhBug2009894.patch | 40 + ...0006-copr-migrate-all-calls-to-APIv3.patch | 101 + SPECS/dnf-plugins-core.spec | 19 +- 5 files changed, 188 insertions(+), 3346 deletions(-) delete mode 100644 SOURCES/0004-Update-translations.patch create mode 100644 SOURCES/0004-copr-dont-traceback-on-empty-lines-in-etcos-release.patch create mode 100644 SOURCES/0005-reposync-Use-fail_fastFalse-when-downloading-packages-RhBug2009894.patch create mode 100644 SOURCES/0006-copr-migrate-all-calls-to-APIv3.patch diff --git a/SOURCES/0004-Update-translations.patch b/SOURCES/0004-Update-translations.patch deleted file mode 100644 index 3ab0465..0000000 --- a/SOURCES/0004-Update-translations.patch +++ /dev/null @@ -1,3341 +0,0 @@ -From a15c6beee8ba3af9005cc49794ac6517f018d7a1 Mon Sep 17 00:00:00 2001 -From: Marek Blaha -Date: Mon, 13 Sep 2021 10:01:53 +0200 -Subject: [PATCH] Update translations - ---- - po/fr.po | 222 +++++++++++++++++---- - po/ja.po | 409 +++++++++++++++++++++++++++----------- - po/ko.po | 556 ++++++++++++++++++++++++++++++++++------------------ - po/zh_CN.po | 417 +++++++++++++++++++++++++++------------ - 4 files changed, 1130 insertions(+), 474 deletions(-) - -diff --git a/po/fr.po b/po/fr.po -index dfa06ad..e517103 100644 ---- a/po/fr.po -+++ b/po/fr.po -@@ -3,23 +3,24 @@ - # José Fournier , 2017. #zanata - # Jérôme Fenal , 2017. #zanata - # Jean-Baptiste Holcroft , 2018. #zanata, 2020. --# Ludek Janda , 2018. #zanata -+# Ludek Janda , 2018. #zanata, 2021. - # Jean-Baptiste Holcroft , 2019. #zanata, 2020. - # Julien Humbert , 2020. -+# Sundeep Anand , 2021. - msgid "" - msgstr "" - "Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2020-10-05 09:18-0400\n" --"PO-Revision-Date: 2020-07-09 13:27+0000\n" --"Last-Translator: Julien Humbert \n" --"Language-Team: French \n" -+"POT-Creation-Date: 2021-02-22 10:06+0100\n" -+"PO-Revision-Date: 2021-09-03 10:36+0000\n" -+"Last-Translator: Ludek Janda \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.8\n" - - #: plugins/builddep.py:45 - msgid "[PACKAGE|PACKAGE.spec]" -@@ -642,7 +643,7 @@ msgstr "" - msgid "when running with --url, limit to specific protocols" - msgstr "si --url est renseigné, limite aux protocoles spécifiés" - --#: plugins/download.py:121 plugins/reposync.py:293 -+#: plugins/download.py:121 plugins/reposync.py:314 - #, python-format - msgid "Failed to get mirror for package: %s" - msgstr "Échec de l’obtention du miroir pour le paquet : %s" -@@ -665,6 +666,125 @@ msgstr "Aucune source définie pour %s" - msgid "No package %s available." - msgstr "Aucun paquet %s n’est disponible." - -+#: plugins/groups_manager.py:49 -+msgid "Invalid group id" -+msgstr "id de groupe invalide" -+ -+#: plugins/groups_manager.py:58 -+msgid "Invalid translated data, should be in form 'lang:text'" -+msgstr "Données traduites invalides, doivent être au format « lang : text »" -+ -+#: plugins/groups_manager.py:61 -+msgid "Invalid/empty language for translated data" -+msgstr "Langue non valide / vide pour les données traduites" -+ -+#: plugins/groups_manager.py:71 -+msgid "Can't generate group id from '{}'. Please specify group id using --id." -+msgstr "" -+"Impossible de générer l'id du groupe à partir de «{}». Veuillez spécifier " -+"l'id du groupe en utilisant --id." -+ -+#: plugins/groups_manager.py:79 -+msgid "create and edit groups metadata file" -+msgstr "créer et modifier le fichier de métadonnées des groupes" -+ -+#: plugins/groups_manager.py:90 -+msgid "load groups metadata from file" -+msgstr "charger des métadonnées de groupes à partir d'un fichier" -+ -+#: plugins/groups_manager.py:93 -+msgid "save groups metadata to file" -+msgstr "enregistrer les métadonnées des groupes dans un fichier" -+ -+#: plugins/groups_manager.py:95 -+msgid "load and save groups metadata to file" -+msgstr "charge et enregistre les métadonnées des groupes dans un fichier" -+ -+#: plugins/groups_manager.py:97 -+msgid "print the result metadata to stdout" -+msgstr "affiche les métadonnées du résultat sur la sortie standard" -+ -+#: plugins/groups_manager.py:100 -+msgid "group id" -+msgstr "id du groupe" -+ -+#: plugins/groups_manager.py:101 -+msgid "group name" -+msgstr "Nom du groupe" -+ -+#: plugins/groups_manager.py:103 -+msgid "group description" -+msgstr "description du groupe" -+ -+#: plugins/groups_manager.py:105 -+msgid "group display order" -+msgstr "ordre d'affichage du groupe" -+ -+#: plugins/groups_manager.py:108 -+msgid "translated name for the group" -+msgstr "nom traduit pour le groupe" -+ -+#: plugins/groups_manager.py:111 -+msgid "translated description for the group" -+msgstr "description traduite pour le groupe" -+ -+#: plugins/groups_manager.py:115 -+msgid "make the group user visible (default)" -+msgstr "rendre l'utilisateur du groupe visible (par défaut)" -+ -+#: plugins/groups_manager.py:118 -+msgid "make the group user invisible" -+msgstr "rendre l'utilisateur du groupe invisible" -+ -+#: plugins/groups_manager.py:123 -+msgid "add packages to the mandatory section" -+msgstr "ajoute les paquets à la section obligatoire" -+ -+#: plugins/groups_manager.py:125 -+msgid "add packages to the optional section" -+msgstr "ajoute les paquets à la section optionnelle" -+ -+#: plugins/groups_manager.py:127 -+msgid "remove packages from the group instead of adding them" -+msgstr "supprime les paquets du groupe au lieu de les ajouter" -+ -+#: plugins/groups_manager.py:129 -+msgid "include also direct dependencies for packages" -+msgstr "inclus également les dépendances directes pour les paquets" -+ -+#: plugins/groups_manager.py:132 -+msgid "package specification" -+msgstr "spécification du paquet" -+ -+#: plugins/groups_manager.py:156 -+msgid "Can't edit group without specifying it (use --id or --name)" -+msgstr "" -+"Un groupe ne peut pas être édité sans le spécifier (utilisez --id ou --name)" -+ -+#: plugins/groups_manager.py:190 -+msgid "Can't load file \"{}\": {}" -+msgstr "Impossible de charger le fichier « {} » : {}" -+ -+#: plugins/groups_manager.py:206 -+msgid "Can't save file \"{}\": {}" -+msgstr "Impossible d’enregistrer le fichier « {} » : {}" -+ -+#: plugins/groups_manager.py:259 -+msgid "No match for argument: {}" -+msgstr "Aucune correspondance pour l’argument : {}" -+ -+#: plugins/groups_manager.py:296 -+msgid "Can't remove packages from non-existent group" -+msgstr "Les paquets ne peuvent pas être retirés d'un groupe qui n'existe pas" -+ -+#: plugins/groups_manager.py:305 -+msgid "" -+"Group id '{}' generated from '{}' is duplicit. Please specify group id using" -+" --id." -+msgstr "" -+"L'id du groupe « {} » qui a été généré pour « {} » est en double. Veuillez " -+"le spécifier en utilisant --id." -+ - #: plugins/leaves.py:32 - msgid "List installed packages not required by any other package" - msgstr "" -@@ -698,7 +818,7 @@ msgstr "migrer les données d’historique, de groupe et de yumdb, vers dnf" - msgid "Migrating history data..." - msgstr "Migration des données d’historique …" - --#: plugins/needs_restarting.py:65 -+#: plugins/needs_restarting.py:66 - #, python-brace-format - msgid "" - "No installed package found for package name \"{pkg}\" specified in needs-" -@@ -707,44 +827,48 @@ msgstr "" - "Aucun paquet installé trouvé pour le nom de paquet « {pkg} » spécifié dans " - "needs-restarting du fichier « {file} »." - --#: plugins/needs_restarting.py:199 -+#: plugins/needs_restarting.py:224 - msgid "determine updated binaries that need restarting" - msgstr "détermine les binaires mis à jour qui nécessitent un redémarrage" - --#: plugins/needs_restarting.py:204 -+#: plugins/needs_restarting.py:229 - msgid "only consider this user's processes" - msgstr "considère uniquement les processus de cet utilisateur" - --#: plugins/needs_restarting.py:206 -+#: plugins/needs_restarting.py:231 - msgid "" - "only report whether a reboot is required (exit code 1) or not (exit code 0)" - msgstr "" - "indique uniquement si un démarrage (reboot) est requis (exit code 1) ou non " - "(exit code 0)" - --#: plugins/needs_restarting.py:230 -+#: plugins/needs_restarting.py:234 -+msgid "only report affected systemd services" -+msgstr "signaler uniquement les services systemd affectés" -+ -+#: plugins/needs_restarting.py:257 - msgid "Core libraries or services have been updated since boot-up:" - msgstr "" - "les bibliothèques et les services de base ont été mis à jour depuis le " - "démarrage (boot-up) :" - --#: plugins/needs_restarting.py:235 -+#: plugins/needs_restarting.py:262 - msgid "Reboot is required to fully utilize these updates." - msgstr "" - "Un nouveau démarrage est requis pour pouvoir bénéficier totalement de ces " - "mises à jour." - --#: plugins/needs_restarting.py:236 -+#: plugins/needs_restarting.py:263 - msgid "More information:" - msgstr "Plus d’information :" - --#: plugins/needs_restarting.py:240 -+#: plugins/needs_restarting.py:267 - msgid "No core libraries or services have been updated since boot-up." - msgstr "" - "Aucune bibliothèque ou service de base n’a été mis à jour depuis le " - "démarrage." - --#: plugins/needs_restarting.py:242 -+#: plugins/needs_restarting.py:269 - msgid "Reboot should not be necessary." - msgstr "Un nouveau démarrage ne devrait pas être utile." - -@@ -981,39 +1105,33 @@ msgstr "N paquets les plus récents à conserver — par défaut 1" - msgid "Path to directory" - msgstr "Chemin vers le répertoire" - --#: plugins/reposync.py:54 -+#: plugins/reposync.py:55 - msgid "download all packages from remote repo" - msgstr "télécharger tous les paquets depuis le dépôt distant" - --#: plugins/reposync.py:63 -+#: plugins/reposync.py:64 - msgid "download only packages for this ARCH" - msgstr "télécharger seulement les paquets s’appliquant à cette ARCH" - --#: plugins/reposync.py:65 -+#: plugins/reposync.py:66 - msgid "delete local packages no longer present in repository" - msgstr "supprimer les paquets locaux qui ne sont plus présents dans le dépôt" - --#: plugins/reposync.py:67 --msgid "also download and uncompress comps.xml" --msgstr "également télécharger et décompresser comps.xml" -- --#: plugins/reposync.py:69 -+#: plugins/reposync.py:68 - msgid "download all the metadata." - msgstr "télécharger toutes les métadonnées." - --#: plugins/reposync.py:71 --msgid "download only newest packages per-repo" --msgstr "ne télécharger que les nouveaux paquets per-rep" -+#: plugins/reposync.py:70 -+msgid "Remove packages that fail GPG signature checking after downloading" -+msgstr "" -+"Retire les paquets qui ont échoué la vérification de la signature GPG après " -+"téléchargement" - - #: plugins/reposync.py:73 --msgid "where to store downloaded repositories" --msgstr "lieu où stocker les dépôts téléchargés" -+msgid "also download and uncompress comps.xml" -+msgstr "également télécharger et décompresser comps.xml" - - #: plugins/reposync.py:75 --msgid "Don't add the reponame to the download path." --msgstr "N’ajoutez pas le nom du dépôt dans le chemin de téléchargement." -- --#: plugins/reposync.py:77 - msgid "" - "where to store downloaded repository metadata. Defaults to the value of " - "--download-path." -@@ -1021,51 +1139,71 @@ msgstr "" - "là où stocker les métadonnées du dépôt. Prend par défaut la valeur de " - "--download-path." - -+#: plugins/reposync.py:78 -+msgid "download only newest packages per-repo" -+msgstr "ne télécharger que les nouveaux paquets per-rep" -+ - #: plugins/reposync.py:80 --msgid "operate on source packages" --msgstr "opère sur les paquets source" -+msgid "Don't add the reponame to the download path." -+msgstr "N’ajoutez pas le nom du dépôt dans le chemin de téléchargement." - - #: plugins/reposync.py:82 -+msgid "where to store downloaded repositories" -+msgstr "lieu où stocker les dépôts téléchargés" -+ -+#: plugins/reposync.py:84 - msgid "try to set local timestamps of local files by the one on the server" - msgstr "" - "essayez de définir les horodatages locaux des fichiers locaux par celui du " - "serveur" - --#: plugins/reposync.py:85 -+#: plugins/reposync.py:87 -+msgid "operate on source packages" -+msgstr "opère sur les paquets source" -+ -+#: plugins/reposync.py:89 - msgid "Just list urls of what would be downloaded, don't download" - msgstr "" - "Uniquement lister les URL qui seraient téléchargées, ne pas télécharger" - --#: plugins/reposync.py:109 -+#: plugins/reposync.py:113 - msgid "Can't use --norepopath with multiple repositories" - msgstr "Impossible d’utiliser --norepopath avec de multiples dépôts" - --#: plugins/reposync.py:127 -+#: plugins/reposync.py:132 - #, python-format - msgid "Failed to get mirror for metadata: %s" - msgstr "Échec de l’obtention du miroir pour les métadonnées : %s" - --#: plugins/reposync.py:144 -+#: plugins/reposync.py:149 - msgid "Failed to get mirror for the group file." - msgstr "Échec de l’obtention du miroir pour le fichier de groupe." - -+#: plugins/reposync.py:168 -+msgid "Removing {}: {}" -+msgstr "Suppression de « {} » : {}" -+ - #: plugins/reposync.py:175 -+msgid "GPG signature check failed." -+msgstr "La vérification de la signature GPG a échoué." -+ -+#: plugins/reposync.py:196 - msgid "Download target '{}' is outside of download path '{}'." - msgstr "" - "La cible de téléchargement « {} » est en dehors du chemin de téléchargement " - "« {} »." - --#: plugins/reposync.py:190 -+#: plugins/reposync.py:211 - #, python-format - msgid "[DELETED] %s" - msgstr "[DELETED] %s" - --#: plugins/reposync.py:192 -+#: plugins/reposync.py:213 - #, python-format - msgid "failed to delete file %s" - msgstr "n’a pas pu supprimer le fichier %s" - --#: plugins/reposync.py:201 -+#: plugins/reposync.py:222 - #, python-format - msgid "comps.xml for repository %s saved" - msgstr "comps.xml pour le dépôt %s sauvegardé" -diff --git a/po/ja.po b/po/ja.po -index 5e443ec..854e20e 100644 ---- a/po/ja.po -+++ b/po/ja.po -@@ -1,20 +1,21 @@ - # Ooyama Yosiyuki , 2015. #zanata --# Ludek Janda , 2018. #zanata -+# Ludek Janda , 2018. #zanata, 2021. - # Casey Jones , 2020. -+# Sundeep Anand , 2021. - msgid "" - msgstr "" - "Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2020-10-05 09:18-0400\n" --"PO-Revision-Date: 2020-05-04 06:40+0000\n" --"Last-Translator: Casey Jones \n" --"Language-Team: Japanese \n" -+"POT-Creation-Date: 2021-02-22 10:06+0100\n" -+"PO-Revision-Date: 2021-09-03 10:36+0000\n" -+"Last-Translator: Ludek Janda \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.8\n" - - #: plugins/builddep.py:45 - msgid "[PACKAGE|PACKAGE.spec]" -@@ -35,7 +36,7 @@ msgstr "スペックファイルの解析にマクロを定義" - - #: plugins/builddep.py:95 - msgid "skip build dependencies not available in repositories" --msgstr "" -+msgstr "リポジトリーで利用できないビルドの依存関係をスキップします" - - #: plugins/builddep.py:98 - msgid "treat commandline arguments as spec files" -@@ -83,31 +84,32 @@ msgstr "一致するパッケージはありません: %s" - #: plugins/changelog.py:37 - #, python-brace-format - msgid "Not a valid date: \"{0}\"." --msgstr "" -+msgstr "有効な日付ではありません: \"{0}\"。" - - #: plugins/changelog.py:43 - msgid "Show changelog data of packages" --msgstr "" -+msgstr "パッケージの changelog データを表示します" - - #: plugins/changelog.py:51 - msgid "" - "show changelog entries since DATE. To avoid ambiguosity, YYYY-MM-DD format " - "is recommended." --msgstr "" -+msgstr "DATE 以降の changelog エントリーを表示します。不明瞭さを避けるため、YYYY-MM-DD のフォーマットが推奨されます。" - - #: plugins/changelog.py:55 - msgid "show given number of changelog entries per package" --msgstr "" -+msgstr "パッケージごとの changelog エントリーの与えられた数を表示します" - - #: plugins/changelog.py:58 - msgid "" - "show only new changelog entries for packages, that provide an upgrade for " - "some of already installed packages." - msgstr "" -+"パッケージ向けの新しい changelog エントリーのみを表示します。これは、インストール済みのパッケージの一部にアップグレードを提供します。" - - #: plugins/changelog.py:60 - msgid "PACKAGE" --msgstr "" -+msgstr "パッケージ" - - #: plugins/changelog.py:81 plugins/debuginfo-install.py:90 - #, python-format -@@ -116,20 +118,20 @@ msgstr "一致した引数がありません: %s" - - #: plugins/changelog.py:109 - msgid "Listing changelogs since {}" --msgstr "" -+msgstr "{} 以降の changelogs を一覧表示します" - - #: plugins/changelog.py:111 - msgid "Listing only latest changelog" - msgid_plural "Listing {} latest changelogs" --msgstr[0] "" -+msgstr[0] "最新の changelog のみを一覧表示します" - - #: plugins/changelog.py:116 - msgid "Listing only new changelogs since installed version of the package" --msgstr "" -+msgstr "パッケージのインストールされたバージョン以降の新しい changelogs のみを一覧表示します" - - #: plugins/changelog.py:118 - msgid "Listing all changelogs" --msgstr "" -+msgstr "すべての changelogs を一覧表示します" - - #: plugins/changelog.py:122 - msgid "Changelogs for {}" -@@ -138,7 +140,7 @@ msgstr "{} の Changelogs" - #: plugins/config_manager.py:37 - #, python-brace-format - msgid "manage {prog} configuration options and repositories" --msgstr "" -+msgstr "{prog} 設定オプションおよびリポジトリーを管理します" - - #: plugins/config_manager.py:44 - msgid "repo to modify" -@@ -162,21 +164,23 @@ msgstr "stdout に変数値を印刷" - - #: plugins/config_manager.py:60 - msgid "enable repos (automatically saves)" --msgstr "" -+msgstr "レポを有効にする (自動保存)" - - #: plugins/config_manager.py:63 - msgid "disable repos (automatically saves)" --msgstr "" -+msgstr "レポを無効にする (自動保存)" - - #: plugins/config_manager.py:77 - msgid "one of the following arguments is required: {}" --msgstr "" -+msgstr "以下のいずれかの引数が必要です。{}" - - #: plugins/config_manager.py:86 - msgid "" - "Warning: --enablerepo/--disablerepo arguments have no meaningwith config " - "manager. Use --set-enabled/--set-disabled instead." - msgstr "" -+"警告: --enablerepo/--disablerepo の引数は config manager では意味がありません。代わりに -set-" -+"enabled/--set-disabled を使用してください。" - - #: plugins/config_manager.py:131 - #, python-format -@@ -246,7 +250,7 @@ msgstr "" - " list --available-by-user=NAME\n" - " search project\n" - "\n" --" Examples:\n" -+" 例:\n" - " copr enable rhscl/perl516 epel-6-x86_64\n" - " copr enable ignatenkobrain/ocltoys\n" - " copr disable rhscl/perl516\n" -@@ -274,7 +278,7 @@ msgstr "利用可能な Copr リポジトリーをユーザー NAME ごとに一 - - #: plugins/copr.py:115 - msgid "Specify an instance of Copr to work with" --msgstr "" -+msgstr "作業する Copr のインスタンスを指定します" - - #: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:237 - msgid "Error: " -@@ -285,10 +289,12 @@ msgid "" - "specify Copr hub either with `--hub` or using " - "`copr_hub/copr_username/copr_projectname` format" - msgstr "" -+"`--hub` または `copr_hub/copr_username/copr_projectname` フォーマットを使って、Copr " -+"ハブを指定します" - - #: plugins/copr.py:153 - msgid "multiple hubs specified" --msgstr "" -+msgstr "複数のハブが指定されています" - - #: plugins/copr.py:218 plugins/copr.py:222 - msgid "exactly two additional parameters to copr command are required" -@@ -316,6 +322,17 @@ msgid "" - "Please do not file bug reports about these packages in Fedora\n" - "Bugzilla. In case of problems, contact the owner of this repository.\n" - msgstr "" -+"\n" -+"Copr リポジトリーを有効化しています。このリポジトリーは\n" -+"主要ディストリビューションの一部ではないため、品質が一定していない点に注意してください。\n" -+"\n" -+"Fedora Project は、このリポジトリーのコンテンツに関して、 の \n" -+"Copr FAQ で示されたルールを超えて権利を行使することは\n" -+"ありません。また、パッケージは、任意の品質またはセキュリ\n" -+"ティーレベルを固守していません。\n" -+"\n" -+"Fedora Bugzilla でこれらのパッケージに関するバグ報告をしないでください。\n" -+"問題が発生した場合は、このリポジトリーのオーナーに連絡してください。\n" - - #: plugins/copr.py:271 - msgid "Repository successfully enabled." -@@ -339,6 +356,8 @@ msgid "" - " about Copr hub - the default one was assumed. Re-enable the project to fix " - "this." - msgstr "" -+"* これらの coprs には、Copr ハブに関する情報がない古いフォーマットの repo " -+"ファイルがあります。デフォルトは仮定です。これを修正するには、プロジェクトを再度有効化してください。" - - #: plugins/copr.py:353 - msgid "Can't parse repositories for username '{}'." -@@ -397,19 +416,33 @@ msgid "" - "\n" - "These repositories have been enabled automatically." - msgstr "" -+"有効化した Copr リポジトリの管理者は\n" -+"他のリポジトリに依存するように決めました。\n" -+"そのようなリポジトリは主な Corp レジストリー\n" -+"ランタイム依存関係を提供) から RPM のインストールを\n" -+"成功させるために通常必要です。\n" -+"\n" -+"上記の品質とバグ報告についての注意点が\n" -+"ここでも適用されますが、Fedora Project は内容を\n" -+"管理していないことに注意してください。以下のリストを確認\n" -+"してください。\n" -+"\n" -+"{0}\n" -+"\n" -+"これらのリポジトリは自動的に有効になっています。" - - #: plugins/copr.py:549 - msgid "Do you want to keep them enabled?" --msgstr "" -+msgstr "有効にしておきますか?" - - #: plugins/copr.py:582 - #, python-brace-format - msgid "Failed to remove copr repo {0}/{1}/{2}" --msgstr "" -+msgstr "copr repo {0}/{1}/{2} の削除に失敗しました" - - #: plugins/copr.py:593 - msgid "Failed to disable copr repo {}/{}" --msgstr "copr repo {}/{} の無効化に失敗しました。" -+msgstr "copr repo {}/{} の無効化に失敗しました" - - #: plugins/copr.py:611 plugins/copr.py:648 - msgid "Unknown response from server." -@@ -420,14 +453,12 @@ msgid "Interact with Playground repository." - msgstr "Playground リポジトリーとの対話。" - - #: plugins/copr.py:639 --#, fuzzy --#| msgid "Interact with Playground repository." - msgid "Enabling a Playground repository." --msgstr "Playground リポジトリーとの対話。" -+msgstr "Playgroundのリポジトリーの有効化。" - - #: plugins/copr.py:640 - msgid "Do you want to continue?" --msgstr "" -+msgstr "続行しますか?" - - #: plugins/copr.py:683 - msgid "Playground repositories successfully enabled." -@@ -484,7 +515,7 @@ msgstr "指定したタイプに限定します" - msgid "" - "Allow removing of install-only packages. Using this option may result in an " - "attempt to remove the running kernel." --msgstr "" -+msgstr "インストールのみのパッケージの削除を許可します。このオプションを使用すると、実行しているカーネルの削除を試みる可能性があります。" - - #: plugins/debug.py:202 - msgid "name of dump file" -@@ -508,25 +539,25 @@ msgstr "debuginfo パッケージのインストール" - #, python-format - msgid "" - "Could not find debuginfo package for the following available packages: %s" --msgstr "" -+msgstr "次の利用可能なパッケージの debuginfo パッケージが見つかりませんでした: %s" - - #: plugins/debuginfo-install.py:185 - #, python-format - msgid "" - "Could not find debugsource package for the following available packages: %s" --msgstr "" -+msgstr "次の利用可能なパッケージの debugsource パッケージが見つかりませんでした: %s" - - #: plugins/debuginfo-install.py:190 - #, python-format - msgid "" - "Could not find debuginfo package for the following installed packages: %s" --msgstr "" -+msgstr "次のインストールされたパッケージの debuginfo パッケージが見つかりませんでした: %s" - - #: plugins/debuginfo-install.py:195 - #, python-format - msgid "" - "Could not find debugsource package for the following installed packages: %s" --msgstr "" -+msgstr "次のインストールされたパッケージの debugsource パッケージが見つかりませんでした: %s" - - #: plugins/debuginfo-install.py:199 - msgid "Unable to find a match" -@@ -550,7 +581,7 @@ msgstr "代わりに -debuginfo パッケージをダウンロードします" - - #: plugins/download.py:57 - msgid "download the -debugsource package instead" --msgstr "" -+msgstr "代わりに、-debugsource パッケージをダウンロードします" - - #: plugins/download.py:60 - msgid "limit the query to packages of given architectures." -@@ -564,7 +595,7 @@ msgstr "必要な依存関係を解決し、ダウンロードします" - msgid "" - "when running with --resolve, download all dependencies (do not exclude " - "already installed ones)" --msgstr "" -+msgstr "--resolve で実行する場合、すべての依存関係をダウンロードします (インストール済みのものを除外しないでください)" - - #: plugins/download.py:67 - msgid "" -@@ -575,7 +606,7 @@ msgstr "ダウンロードする代わりに、rpm をダウンロードでき - msgid "when running with --url, limit to specific protocols" - msgstr "--url で実行中の際は、特定のプロトコルに限定します" - --#: plugins/download.py:121 plugins/reposync.py:293 -+#: plugins/download.py:121 plugins/reposync.py:314 - #, python-format - msgid "Failed to get mirror for package: %s" - msgstr "パッケージのミラー取得に失敗しました: %s" -@@ -598,6 +629,120 @@ msgstr "%s に対して定義されているソース rpm はありません" - msgid "No package %s available." - msgstr "利用可能なパッケージ %s はありません。" - -+#: plugins/groups_manager.py:49 -+msgid "Invalid group id" -+msgstr "'無効なグループ ID" -+ -+#: plugins/groups_manager.py:58 -+msgid "Invalid translated data, should be in form 'lang:text'" -+msgstr "無効な翻訳データです。'lang:text' の形式で指定する必要があります" -+ -+#: plugins/groups_manager.py:61 -+msgid "Invalid/empty language for translated data" -+msgstr "翻訳されたデータの無効または空な言語" -+ -+#: plugins/groups_manager.py:71 -+msgid "Can't generate group id from '{}'. Please specify group id using --id." -+msgstr "'{}' からグループ ID を生成できません。--id を使用してグループ ID を指定してください。" -+ -+#: plugins/groups_manager.py:79 -+msgid "create and edit groups metadata file" -+msgstr "グループメタデータファイルの作成および編集" -+ -+#: plugins/groups_manager.py:90 -+msgid "load groups metadata from file" -+msgstr "ファイルからグループメタデータを読み込みます" -+ -+#: plugins/groups_manager.py:93 -+msgid "save groups metadata to file" -+msgstr "グループメタデータをファイルに保存します" -+ -+#: plugins/groups_manager.py:95 -+msgid "load and save groups metadata to file" -+msgstr "グループメタデータをファイルにロードして保存します" -+ -+#: plugins/groups_manager.py:97 -+msgid "print the result metadata to stdout" -+msgstr "生成されたメタデータを stdout に出力します" -+ -+#: plugins/groups_manager.py:100 -+msgid "group id" -+msgstr "グループ id" -+ -+#: plugins/groups_manager.py:101 -+msgid "group name" -+msgstr "グループ名" -+ -+#: plugins/groups_manager.py:103 -+msgid "group description" -+msgstr "グループ説明" -+ -+#: plugins/groups_manager.py:105 -+msgid "group display order" -+msgstr "グループ表示順序" -+ -+#: plugins/groups_manager.py:108 -+msgid "translated name for the group" -+msgstr "グループの翻訳名" -+ -+#: plugins/groups_manager.py:111 -+msgid "translated description for the group" -+msgstr "グループの翻訳説明" -+ -+#: plugins/groups_manager.py:115 -+msgid "make the group user visible (default)" -+msgstr "グループユーザーを表示させる (デフォルト)" -+ -+#: plugins/groups_manager.py:118 -+msgid "make the group user invisible" -+msgstr "グループユーザーを非表示の状態にする" -+ -+#: plugins/groups_manager.py:123 -+msgid "add packages to the mandatory section" -+msgstr "必須セクションへのパッケージの追加" -+ -+#: plugins/groups_manager.py:125 -+msgid "add packages to the optional section" -+msgstr "オプションセクションへのパッケージの追加" -+ -+#: plugins/groups_manager.py:127 -+msgid "remove packages from the group instead of adding them" -+msgstr "パッケージを追加する代わりに、グループからパッケージを削除します" -+ -+#: plugins/groups_manager.py:129 -+msgid "include also direct dependencies for packages" -+msgstr "リポジトリーの直接の依存関係を含みます" -+ -+#: plugins/groups_manager.py:132 -+msgid "package specification" -+msgstr "パッケージ仕様" -+ -+#: plugins/groups_manager.py:156 -+msgid "Can't edit group without specifying it (use --id or --name)" -+msgstr "指定せずにはグループを編集できません (--id または --name を使用してください)" -+ -+#: plugins/groups_manager.py:190 -+msgid "Can't load file \"{}\": {}" -+msgstr "ファイル '{}' を書き込みできません: {}" -+ -+#: plugins/groups_manager.py:206 -+msgid "Can't save file \"{}\": {}" -+msgstr "ファイル '{}' を保存できません: {}" -+ -+#: plugins/groups_manager.py:259 -+msgid "No match for argument: {}" -+msgstr "一致した引数がありません: {}" -+ -+#: plugins/groups_manager.py:296 -+msgid "Can't remove packages from non-existent group" -+msgstr "存在しないグループからパッケージを削除できません" -+ -+#: plugins/groups_manager.py:305 -+msgid "" -+"Group id '{}' generated from '{}' is duplicit. Please specify group id using" -+" --id." -+msgstr "'{}' から生成されたグループ ID '{}' は重複しています。--id を使用してグループ ID を指定してください。" -+ - #: plugins/leaves.py:32 - msgid "List installed packages not required by any other package" - msgstr "他のパッケージから必要とされないインスール済みパッケージを一覧表示します" -@@ -630,67 +775,73 @@ msgstr "yum の履歴、グループ、および yumdb データを dnf へ移 - msgid "Migrating history data..." - msgstr "履歴データを移行中..." - --#: plugins/needs_restarting.py:65 -+#: plugins/needs_restarting.py:66 - #, python-brace-format - msgid "" - "No installed package found for package name \"{pkg}\" specified in needs-" - "restarting file \"{file}\"." - msgstr "" -+"needs-restarting ファイル \"{file}\" に指定されている {pkg} " -+"というパッケージのインストール済みパッケージが見つかりません。" - --#: plugins/needs_restarting.py:199 -+#: plugins/needs_restarting.py:224 - msgid "determine updated binaries that need restarting" - msgstr "再起動が必要な更新済みバイナリーを決定します" - --#: plugins/needs_restarting.py:204 -+#: plugins/needs_restarting.py:229 - msgid "only consider this user's processes" - msgstr "このユーザーのプロセスのみを検討します" - --#: plugins/needs_restarting.py:206 -+#: plugins/needs_restarting.py:231 - msgid "" - "only report whether a reboot is required (exit code 1) or not (exit code 0)" --msgstr "" -+msgstr "再起動が必要か (終了コード 1) 必要でないか (終了コード 0) のみを報告します" -+ -+#: plugins/needs_restarting.py:234 -+msgid "only report affected systemd services" -+msgstr "影響を受ける systemd サービスのみを報告" - --#: plugins/needs_restarting.py:230 -+#: plugins/needs_restarting.py:257 - msgid "Core libraries or services have been updated since boot-up:" --msgstr "" -+msgstr "起動以降にコアライブラリーまたはサービスがアップデートされました:" - --#: plugins/needs_restarting.py:235 -+#: plugins/needs_restarting.py:262 - msgid "Reboot is required to fully utilize these updates." --msgstr "" -+msgstr "これらのアップデートを完全に活用するには、再起動が必要です。" - --#: plugins/needs_restarting.py:236 -+#: plugins/needs_restarting.py:263 - msgid "More information:" --msgstr "" -+msgstr "詳細情報:" - --#: plugins/needs_restarting.py:240 -+#: plugins/needs_restarting.py:267 - msgid "No core libraries or services have been updated since boot-up." --msgstr "" -+msgstr "起動以降にアップデートされたコアライブラリーまたはサービスはありません。" - --#: plugins/needs_restarting.py:242 -+#: plugins/needs_restarting.py:269 - msgid "Reboot should not be necessary." --msgstr "" -+msgstr "再起動な必要ありません。" - - #: plugins/post-transaction-actions.py:71 - #, python-format - msgid "Bad Action Line \"%s\": %s" --msgstr "" -+msgstr "不正なアクション行 \"%s\": %s" - - #. unsupported state, skip it - #: plugins/post-transaction-actions.py:130 - #, python-format - msgid "Bad Transaction State: %s" --msgstr "" -+msgstr "不正なトランザクション状態: %s" - - #: plugins/post-transaction-actions.py:153 - #: plugins/post-transaction-actions.py:155 - #, python-format - msgid "post-transaction-actions: %s" --msgstr "" -+msgstr "post-transaction-actions: %s" - - #: plugins/post-transaction-actions.py:157 - #, python-format - msgid "post-transaction-actions: Bad Command \"%s\": %s" --msgstr "" -+msgstr "post-transaction-actions: 不正なコマンド \"%s\": %s" - - #: plugins/repoclosure.py:42 - msgid "Display a list of unresolved dependencies for repositories" -@@ -718,129 +869,137 @@ msgstr "このパッケージのみのクロージャーを確認します" - - #: plugins/repodiff.py:45 - msgid "List differences between two sets of repositories" --msgstr "" -+msgstr "2 セットのリポジトリー間の違いを一覧表示します" - - #: plugins/repodiff.py:58 - msgid "Specify old repository, can be used multiple times" --msgstr "" -+msgstr "古いリポジトリーを指定します、これは複数回使用できます" - - #: plugins/repodiff.py:60 - msgid "Specify new repository, can be used multiple times" --msgstr "" -+msgstr "新しいリポジトリーを指定します、これは複数回使用できます" - - #: plugins/repodiff.py:63 - msgid "" - "Specify architectures to compare, can be used multiple times. By default, " - "only source rpms are compared." --msgstr "" -+msgstr "比較するアーキテクチャーを指定します、これは複数回使用できます。デフォルトで、ソース rpms のみが比較されます。" - - #: plugins/repodiff.py:67 - msgid "Output additional data about the size of the changes." --msgstr "" -+msgstr "変更サイズに関する追加データを出力します。" - - #: plugins/repodiff.py:69 - msgid "" - "Compare packages also by arch. By default packages are compared just by " - "name." --msgstr "" -+msgstr "パッケージを Arch でも比較します。デフォルトで、パッケージは名前のみで比較されます。" - - #: plugins/repodiff.py:72 - msgid "Output a simple one line message for modified packages." --msgstr "" -+msgstr "変更されたパッケージに簡単な 1 行メッセージを出力します。" - - #: plugins/repodiff.py:74 - msgid "" - "Split the data for modified packages between upgraded and downgraded " - "packages." --msgstr "" -+msgstr "アップグレードされたパッケージとダウングレードされたパッケージとの間で、変更されたパッケージのデータを分割します。" - - #: plugins/repodiff.py:86 - msgid "Both old and new repositories must be set." --msgstr "" -+msgstr "新旧両方のリポジトリーを設定する必要があります。" - - #: plugins/repodiff.py:178 - msgid "Size change: {} bytes" --msgstr "" -+msgstr "サイズの変更: {} バイト" - - #: plugins/repodiff.py:184 - msgid "Added package : {}" --msgstr "" -+msgstr "追加されたパッケージ : {}" - - #: plugins/repodiff.py:187 - msgid "Removed package: {}" --msgstr "" -+msgstr "削除されたパッケージ: {}" - - #: plugins/repodiff.py:190 - msgid "Obsoleted by : {}" --msgstr "" -+msgstr "により廃止されました: {}" - - #: plugins/repodiff.py:195 - msgid "" - "\n" - "Upgraded packages" - msgstr "" -+"\n" -+"アップグレードされたパッケージ" - - #: plugins/repodiff.py:200 - msgid "" - "\n" - "Downgraded packages" - msgstr "" -+"\n" -+"ダウングレードされたパッケージ" - - #: plugins/repodiff.py:207 - msgid "" - "\n" - "Modified packages" - msgstr "" -+"\n" -+"変更されたパッケージ" - - #: plugins/repodiff.py:212 - msgid "" - "\n" - "Summary" - msgstr "" -+"\n" -+"サマリー" - - #: plugins/repodiff.py:213 - msgid "Added packages: {}" --msgstr "" -+msgstr "追加されたパッケージ: {}" - - #: plugins/repodiff.py:214 - msgid "Removed packages: {}" --msgstr "" -+msgstr "削除されたパッケージ: {}" - - #: plugins/repodiff.py:216 - msgid "Upgraded packages: {}" --msgstr "" -+msgstr "アップグレードされたパッケージ: {}" - - #: plugins/repodiff.py:217 - msgid "Downgraded packages: {}" --msgstr "" -+msgstr "ダウングレードされたパッケージ: {}" - - #: plugins/repodiff.py:219 - msgid "Modified packages: {}" --msgstr "" -+msgstr "変更されたパッケージ: {}" - - #: plugins/repodiff.py:222 - msgid "Size of added packages: {}" --msgstr "" -+msgstr "追加されたパッケージのサイズ: {}" - - #: plugins/repodiff.py:223 - msgid "Size of removed packages: {}" --msgstr "" -+msgstr "削除されたパッケージのサイズ: {}" - - #: plugins/repodiff.py:225 - msgid "Size of modified packages: {}" --msgstr "" -+msgstr "変更されたパッケージのサイズ: {}" - - #: plugins/repodiff.py:228 - msgid "Size of upgraded packages: {}" --msgstr "" -+msgstr "アップグレードされたパッケージのサイズ: {}" - - #: plugins/repodiff.py:230 - msgid "Size of downgraded packages: {}" --msgstr "" -+msgstr "ダウングレードされたパッケージのサイズ: {}" - - #: plugins/repodiff.py:232 - msgid "Size change: {}" --msgstr "" -+msgstr "サイズの変更: {}" - - #: plugins/repograph.py:50 - msgid "Output a full package dependency graph in dot format" -@@ -887,84 +1046,96 @@ msgstr "維持する最新の N パッケージ - デフォルトは 1 に設定 - msgid "Path to directory" - msgstr "ディレクトリーへのパス" - --#: plugins/reposync.py:54 -+#: plugins/reposync.py:55 - msgid "download all packages from remote repo" - msgstr "リモート repo からすべてのパッケージをダウンロードします" - --#: plugins/reposync.py:63 -+#: plugins/reposync.py:64 - msgid "download only packages for this ARCH" - msgstr "この ARCH 向けのパッケージのみをダウンロード" - --#: plugins/reposync.py:65 -+#: plugins/reposync.py:66 - msgid "delete local packages no longer present in repository" - msgstr "リポジトリーにもはや存在しないローカルパッケージを削除" - --#: plugins/reposync.py:67 --msgid "also download and uncompress comps.xml" --msgstr "" -- --#: plugins/reposync.py:69 -+#: plugins/reposync.py:68 - msgid "download all the metadata." --msgstr "" -+msgstr "すべてのメタデータをダウンロードします。" - --#: plugins/reposync.py:71 --msgid "download only newest packages per-repo" --msgstr "最新のパッケージ per-repo のみをダウンロード" -+#: plugins/reposync.py:70 -+msgid "Remove packages that fail GPG signature checking after downloading" -+msgstr "ダウンロード後に GPG 署名の確認に失敗するパッケージを削除します" - - #: plugins/reposync.py:73 --msgid "where to store downloaded repositories" --msgstr "" -+msgid "also download and uncompress comps.xml" -+msgstr "comps.xml もダウンロードして展開します" - - #: plugins/reposync.py:75 --msgid "Don't add the reponame to the download path." --msgstr "" -- --#: plugins/reposync.py:77 - msgid "" - "where to store downloaded repository metadata. Defaults to the value of " - "--download-path." --msgstr "" -+msgstr "ダウンロード済みリポジトリーメタデータの保管場所。初期値は --download-path です。" -+ -+#: plugins/reposync.py:78 -+msgid "download only newest packages per-repo" -+msgstr "最新のパッケージ per-repo のみをダウンロード" - - #: plugins/reposync.py:80 --msgid "operate on source packages" --msgstr "ソースパッケージでの操作" -+msgid "Don't add the reponame to the download path." -+msgstr "ダウンロードパスにはリポネームを追加しないでください。" - - #: plugins/reposync.py:82 -+msgid "where to store downloaded repositories" -+msgstr "ダウンロード済みリポジトリーの保管場所" -+ -+#: plugins/reposync.py:84 - msgid "try to set local timestamps of local files by the one on the server" --msgstr "" -+msgstr "サーバー上から、ローカルファイルのローカル timestamps の設定を試みます" - --#: plugins/reposync.py:85 -+#: plugins/reposync.py:87 -+msgid "operate on source packages" -+msgstr "ソースパッケージでの操作" -+ -+#: plugins/reposync.py:89 - msgid "Just list urls of what would be downloaded, don't download" --msgstr "" -+msgstr "ダウンロードする予定のものの URL をリストするだけで、ダウンロードしないでください" - --#: plugins/reposync.py:109 -+#: plugins/reposync.py:113 - msgid "Can't use --norepopath with multiple repositories" --msgstr "" -+msgstr "複数のリポジトリーでは -norepopath は使えません" - --#: plugins/reposync.py:127 -+#: plugins/reposync.py:132 - #, python-format - msgid "Failed to get mirror for metadata: %s" --msgstr "" -+msgstr "メタデータのミラー取得に失敗しました: %s" - --#: plugins/reposync.py:144 -+#: plugins/reposync.py:149 - msgid "Failed to get mirror for the group file." --msgstr "" -+msgstr "グループファイルのミラー取得に失敗しました。" -+ -+#: plugins/reposync.py:168 -+msgid "Removing {}: {}" -+msgstr "{} の削除中: {}" - - #: plugins/reposync.py:175 -+msgid "GPG signature check failed." -+msgstr "GPG 署名の確認に失敗しました。" -+ -+#: plugins/reposync.py:196 - msgid "Download target '{}' is outside of download path '{}'." --msgstr "" -+msgstr "ダウンロードターゲット '{}' は、ダウンロードパス '{}' の外にあります。" - --#: plugins/reposync.py:190 -+#: plugins/reposync.py:211 - #, python-format - msgid "[DELETED] %s" - msgstr "[DELETED] %s" - --#: plugins/reposync.py:192 -+#: plugins/reposync.py:213 - #, python-format - msgid "failed to delete file %s" - msgstr "ファイル %s の削除に失敗しました" - --#: plugins/reposync.py:201 -+#: plugins/reposync.py:222 - #, python-format - msgid "comps.xml for repository %s saved" - msgstr "リポジトリー %s の comps.xml が保存されました" -@@ -992,15 +1163,15 @@ msgstr "除外を追加:" - - #: plugins/versionlock.py:36 - msgid "Package already locked in equivalent form:" --msgstr "" -+msgstr "同等の形で既にロックされているパッケージ:" - - #: plugins/versionlock.py:37 - msgid "Package {} is already locked" --msgstr "" -+msgstr "パッケージ {} は既にロックされています" - - #: plugins/versionlock.py:38 - msgid "Package {} is already excluded" --msgstr "" -+msgstr "パッケージ{}はすでに除外されています" - - #: plugins/versionlock.py:39 - msgid "Deleting versionlock for:" -@@ -1032,7 +1203,7 @@ msgstr "パッケージバージョンロックの制御" - - #: plugins/versionlock.py:136 - msgid "Use package specifications as they are, do not try to parse them" --msgstr "" -+msgstr "パッケージ仕様をそのまま使用し、解析を試みないでください" - - #~ msgid "" - #~ "\n" -diff --git a/po/ko.po b/po/ko.po -index 3f4eb89..520a72b 100644 ---- a/po/ko.po -+++ b/po/ko.po -@@ -1,55 +1,56 @@ - # Ludek Janda , 2018. #zanata, 2020. -+# simmon , 2021. - msgid "" - msgstr "" - "Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2020-10-05 09:18-0400\n" --"PO-Revision-Date: 2020-09-12 11:29+0000\n" --"Last-Translator: Ludek Janda \n" --"Language-Team: Korean \n" -+"POT-Creation-Date: 2021-02-22 10:06+0100\n" -+"PO-Revision-Date: 2021-04-18 16:02+0000\n" -+"Last-Translator: simmon \n" -+"Language-Team: Korean \n" - "Language: ko\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Plural-Forms: nplurals=1; plural=0;\n" --"X-Generator: Weblate 4.2.2\n" -+"X-Generator: Weblate 4.5.3\n" - - #: plugins/builddep.py:45 - msgid "[PACKAGE|PACKAGE.spec]" --msgstr "" -+msgstr "[PACKAGE|PACKAGE.spec]" - - #: plugins/builddep.py:85 - #, python-format - msgid "'%s' is not of the format 'MACRO EXPR'" --msgstr "" -+msgstr "'%s'는 'MACRO EXPR' 형식이 아닙니다" - - #: plugins/builddep.py:90 - msgid "packages with builddeps to install" --msgstr "" -+msgstr "설치 할 builddeps가 있는 꾸러미(package)" - - #: plugins/builddep.py:93 - msgid "define a macro for spec file parsing" --msgstr "" -+msgstr "특정한 파일 구문분석을 위해 매크로를 정의한다" - - #: plugins/builddep.py:95 - msgid "skip build dependencies not available in repositories" --msgstr "" -+msgstr "저장소에서 사용 할 수 없는 구성 의존성을 건너띄기 한다" - - #: plugins/builddep.py:98 - msgid "treat commandline arguments as spec files" --msgstr "" -+msgstr "명령줄 인수를 지정한 파일로 다룬다" - - #: plugins/builddep.py:100 - msgid "treat commandline arguments as source rpm" --msgstr "" -+msgstr "명령줄 인수를 rpm 소스로 다룬다" - - #: plugins/builddep.py:144 - msgid "RPM: {}" --msgstr "" -+msgstr "RPM: {}" - - #: plugins/builddep.py:153 - msgid "Some packages could not be found." --msgstr "" -+msgstr "몇몇 꾸러미(packages)를 찾을 수 없습니다." - - #. No provides, no files - #. Richdeps can have no matches but it could be correct (solver must decide -@@ -57,86 +58,86 @@ msgstr "" - #: plugins/builddep.py:173 - #, python-format - msgid "No matching package to install: '%s'" --msgstr "" -+msgstr "설치: '%s' 꾸러미(package)가 일치하지 않습니다" - - #: plugins/builddep.py:191 - #, python-format - msgid "Failed to open: '%s', not a valid source rpm file." --msgstr "" -+msgstr "여는데 실패하였습니다: '%s', 유효한 rpm 파일 출처가 아닙니다." - - #: plugins/builddep.py:204 plugins/builddep.py:220 plugins/builddep.py:237 - msgid "Not all dependencies satisfied" --msgstr "" -+msgstr "모든 의존성을 만족하지 않습니다" - - #: plugins/builddep.py:211 - #, python-format - msgid "Failed to open: '%s', not a valid spec file: %s" --msgstr "" -+msgstr "여는데 실패하였습니다 '%s', 지정한 파일: %s가 유효하지 않습니다" - - #: plugins/builddep.py:230 plugins/repoclosure.py:118 - #, python-format - msgid "no package matched: %s" --msgstr "일치하는 패키지 없음 : %s" -+msgstr "일치하는 꾸러미(package) 없음: %s" - - #: plugins/changelog.py:37 - #, python-brace-format - msgid "Not a valid date: \"{0}\"." --msgstr "" -+msgstr "유효한 날자가 아닙니다: \"{0}\"." - - #: plugins/changelog.py:43 - msgid "Show changelog data of packages" --msgstr "" -+msgstr "꾸러미(packages)의 변화 기록자료를 보여줍니다" - - #: plugins/changelog.py:51 - msgid "" - "show changelog entries since DATE. To avoid ambiguosity, YYYY-MM-DD format " - "is recommended." --msgstr "" -+msgstr "DATE 이후에 변화기록를 보여줍니다. 모호함을 피하기 위하여, YYYY-MM-DD 형식을 추천합니다." - - #: plugins/changelog.py:55 - msgid "show given number of changelog entries per package" --msgstr "" -+msgstr "주어진 수의 꾸러미(package) 마다 변화기록 항목을 보여줍니다" - - #: plugins/changelog.py:58 - msgid "" - "show only new changelog entries for packages, that provide an upgrade for " - "some of already installed packages." --msgstr "" -+msgstr "몇몇 이미 설치된 꾸러미(package)들의 최신화를 제공하는 꾸러미를 위하여 새로운 변화기록만을 보여줍니다." - - #: plugins/changelog.py:60 - msgid "PACKAGE" --msgstr "" -+msgstr "꾸러미(package)" - - #: plugins/changelog.py:81 plugins/debuginfo-install.py:90 - #, python-format - msgid "No match for argument: %s" --msgstr "인수와 일치하는 항목 없음 : %s" -+msgstr "인수가 일치하지 않습니다: %s" - - #: plugins/changelog.py:109 - msgid "Listing changelogs since {}" --msgstr "" -+msgstr "{} 이 후의 변화기록 목록" - - #: plugins/changelog.py:111 - msgid "Listing only latest changelog" - msgid_plural "Listing {} latest changelogs" --msgstr[0] "" -+msgstr[0] "최신화된 변화기록 목록 {}" - - #: plugins/changelog.py:116 - msgid "Listing only new changelogs since installed version of the package" --msgstr "" -+msgstr "꾸러미 설치 버전 이후의 새로운 변화 기록만 목록화함" - - #: plugins/changelog.py:118 - msgid "Listing all changelogs" --msgstr "" -+msgstr "모든 변화기록 목록" - - #: plugins/changelog.py:122 - msgid "Changelogs for {}" --msgstr "" -+msgstr "{}의 변경 사항" - - #: plugins/config_manager.py:37 - #, python-brace-format - msgid "manage {prog} configuration options and repositories" --msgstr "" -+msgstr "{prog} 환경 선택과 저장소 관리" - - #: plugins/config_manager.py:44 - msgid "repo to modify" -@@ -160,21 +161,23 @@ msgstr "변수 값을 표준 출력으로 출력" - - #: plugins/config_manager.py:60 - msgid "enable repos (automatically saves)" --msgstr "" -+msgstr "저장소 활성화 (자동으로 저장합니다)" - - #: plugins/config_manager.py:63 - msgid "disable repos (automatically saves)" --msgstr "" -+msgstr "저장소 비활성화 (자동으로 저장합니다)" - - #: plugins/config_manager.py:77 - msgid "one of the following arguments is required: {}" --msgstr "" -+msgstr "다음 인수 중 하나가 필요합니다: {}" - - #: plugins/config_manager.py:86 - msgid "" - "Warning: --enablerepo/--disablerepo arguments have no meaningwith config " - "manager. Use --set-enabled/--set-disabled instead." - msgstr "" -+"경고: -- --enablerepo/--disablerepo 인수는 설정 관리자와 함께 의미를 갖고 있지 않습니다. 대신에 --set-" -+"enabled/--set-disabled를 사용하세요." - - #: plugins/config_manager.py:131 - #, python-format -@@ -189,7 +192,7 @@ msgstr "다음 위치에서 레포 추가 : %s" - #: plugins/config_manager.py:206 - msgid "Configuration of repo failed" - msgid_plural "Configuration of repos failed" --msgstr[0] "저장소 구성에 실패했습니다." -+msgstr[0] "저장소 구성에 실패했습니다" - - #: plugins/config_manager.py:216 - #, python-format -@@ -237,7 +240,21 @@ msgid "" - " " - msgstr "" - "\n" --" 프로젝트 이름 / 프로젝트 제거 - 설치 / 사용 / 사용 안 함 목록 - 사용 가능 사용자 = NAME 검색 프로젝트 예 : copr enable rhscl / perl516 epel-6-x86_64 copr enable ignatenkobrain / ocltoys copr 비활성화 rhscl / perl516 copr 제거 rhscl / perl516 copr 목록 - 사용 가능 목록 - 사용 가능 사용자 = ignatenkobrain copr 검색 테스트\n" -+" enable name/project [chroot]\n" -+" disable name/project\n" -+" remove name/project\n" -+" list --installed/enabled/disabled\n" -+" list --available-by-user=NAME\n" -+" search project\n" -+"\n" -+" Examples:\n" -+" copr enable rhscl/perl516 epel-6-x86_64\n" -+" copr enable ignatenkobrain/ocltoys\n" -+" copr disable rhscl/perl516\n" -+" copr remove rhscl/perl516\n" -+" copr list --enabled\n" -+" copr list --available-by-user=ignatenkobrain\n" -+" copr search tests\n" - " " - - #: plugins/copr.py:107 -@@ -258,7 +275,7 @@ msgstr "사용자가 사용할 수있는 Copr 저장소를 나열합니다. NAME - - #: plugins/copr.py:115 - msgid "Specify an instance of Copr to work with" --msgstr "" -+msgstr "일하는 Copr의 예를 지정합니다" - - #: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:237 - msgid "Error: " -@@ -269,14 +286,16 @@ msgid "" - "specify Copr hub either with `--hub` or using " - "`copr_hub/copr_username/copr_projectname` format" - msgstr "" -+"Corp hub를 `--hub` 또는 사용하기 `copr_hub/copr_username/copr_projectname`형식으로 " -+"지정합니다" - - #: plugins/copr.py:153 - msgid "multiple hubs specified" --msgstr "" -+msgstr "지정된 여러 허브" - - #: plugins/copr.py:218 plugins/copr.py:222 - msgid "exactly two additional parameters to copr command are required" --msgstr "copr 명령에 정확히 두 개의 추가 매개 변수가 필요합니다." -+msgstr "copr 명령에 정확히 두 개의 추가 매개 변수가 필요합니다" - - #: plugins/copr.py:238 - msgid "use format `copr_username/copr_projectname` to reference copr project" -@@ -300,6 +319,17 @@ msgid "" - "Please do not file bug reports about these packages in Fedora\n" - "Bugzilla. In case of problems, contact the owner of this repository.\n" - msgstr "" -+"\n" -+"Core 저정소를 활성화합니다. 이 저장소는 주요 배포판 부분이 아님을 알고 있기 바라고,\n" -+"품질이 다를 수 있습니다.\n" -+"\n" -+"페도라 프로젝트는\n" -+"에\n" -+"Core FAQ에 있는 설명된 규칙을 넘는 저장소 내용 이상의 권한을 시험하지 않으며,\n" -+"그리고 꾸러미(package)는 어떤 품질이나 보안 수준을 유지하지 않습니다.\n" -+"\n" -+"페도라 버그질라에 이들 꾸러미에 대한 파일 결점 보고를 제출하지 마세요.\n" -+"이들 문제는, 이들 저장소 소유자와 접촉하세요.\n" - - #: plugins/copr.py:271 - msgid "Repository successfully enabled." -@@ -323,6 +353,8 @@ msgid "" - " about Copr hub - the default one was assumed. Re-enable the project to fix " - "this." - msgstr "" -+"* 이들 coprs은 Copr hub에 대하여 어떤 정보도 포함하지 않는 오래된 형태의 저장소 파일을 갖고 있습니다. 이 문제를 수정하기" -+" 위하여 프로젝트를 재활성화하세요." - - #: plugins/copr.py:353 - msgid "Can't parse repositories for username '{}'." -@@ -334,7 +366,7 @@ msgstr "{} 명의 경찰 목록" - - #: plugins/copr.py:364 - msgid "No description given" --msgstr "설명이 없습니다." -+msgstr "설명이 없습니다" - - #: plugins/copr.py:376 - msgid "Can't parse search for '{}'." -@@ -381,19 +413,31 @@ msgid "" - "\n" - "These repositories have been enabled automatically." - msgstr "" -+"활성화된 Core 저장소의 유지는 다른 저장소에 이를 독립적으로\n" -+"만드는 것으로 결정하였습니다.\n" -+"그런 저장소는 주요 Corp 저장소에서 성공적인 RPM 설치를\n" -+"위하여 일반적으로 필요합니다(이들은 실행 의존성을 제공합니다).\n" -+"\n" -+"위도 여기에 적용되며 품질과 결점-보고에 대한 참고 사항을 알아야 하고,\n" -+"페도라 프로젝트는 그 내용을 통제하지 않습니다.\n" -+"목록을 다시 검토합니다:\n" -+"\n" -+"{0}\n" -+"\n" -+"이들 저장소는 자동으로 활성화 됩니다." - - #: plugins/copr.py:549 - msgid "Do you want to keep them enabled?" --msgstr "" -+msgstr "계속 사용하길 원하시나요?" - - #: plugins/copr.py:582 - #, python-brace-format - msgid "Failed to remove copr repo {0}/{1}/{2}" --msgstr "" -+msgstr "copr repo {0}/{1}/{2} 제거를 실패하였습니다" - - #: plugins/copr.py:593 - msgid "Failed to disable copr repo {}/{}" --msgstr "copr repo {} / {}를 사용 중지하지 못했습니다." -+msgstr "copr repo {} / {}를 사용 중지를 실패하였습니다" - - #: plugins/copr.py:611 plugins/copr.py:648 - msgid "Unknown response from server." -@@ -404,14 +448,12 @@ msgid "Interact with Playground repository." - msgstr "놀이터 저장소와 상호 작용하십시오." - - #: plugins/copr.py:639 --#, fuzzy --#| msgid "Interact with Playground repository." - msgid "Enabling a Playground repository." --msgstr "놀이터 저장소와 상호 작용하십시오." -+msgstr "동작 저장소와 활용하기." - - #: plugins/copr.py:640 - msgid "Do you want to continue?" --msgstr "" -+msgstr "계속하기를 원하십니까?" - - #: plugins/copr.py:683 - msgid "Playground repositories successfully enabled." -@@ -427,7 +469,7 @@ msgstr "놀이터 저장소가 성공적으로 업데이트되었습니다." - - #: plugins/debug.py:53 - msgid "dump information about installed rpm packages to file" --msgstr "설치된 rpm 패키지에 대한 정보를 파일에 덤프하십시오." -+msgstr "설치된 rpm 꾸러미(package)에 대한 정보를 파일에 덤프하십시오" - - #: plugins/debug.py:67 - msgid "do not attempt to dump the repository contents." -@@ -444,7 +486,7 @@ msgstr "작성된 출력 : %s" - - #: plugins/debug.py:172 - msgid "restore packages recorded in debug-dump file" --msgstr "디버그 덤프 파일에 기록 된 패키지 복원" -+msgstr "디버그 덤프 파일에 기록 된 꾸러미(package) 복원" - - #: plugins/debug.py:185 - msgid "output commands that would be run to stdout." -@@ -452,13 +494,13 @@ msgstr "stdout으로 실행될 출력 명령." - - #: plugins/debug.py:188 - msgid "Install the latest version of recorded packages." --msgstr "기록 된 패키지의 최신 버전을 설치하십시오." -+msgstr "기록 된 꾸러미의 최신 버전을 설치하십시오." - - #: plugins/debug.py:191 - msgid "" - "Ignore architecture and install missing packages matching the name, epoch, " - "version and release." --msgstr "아키텍처를 무시하고 이름, 기원, 버전 및 릴리스와 일치하는 누락 된 패키지를 설치하십시오." -+msgstr "구조를 무시하고 이름, 기원, 버전및 출시와 일치하는 누락 된 꾸러미를 설치하십시오." - - #: plugins/debug.py:196 - msgid "limit to specified type" -@@ -468,7 +510,7 @@ msgstr "특정 유형으로 제한" - msgid "" - "Allow removing of install-only packages. Using this option may result in an " - "attempt to remove the running kernel." --msgstr "" -+msgstr "설치전용 꾸리미 제거를 허용합니다. 이 선택의 사용은 동작하고 있는 커널을 제거하는 결과가 나타날 수 있습니다." - - #: plugins/debug.py:202 - msgid "name of dump file" -@@ -477,7 +519,7 @@ msgstr "덤프 파일의 이름" - #: plugins/debug.py:273 - #, python-format - msgid "Package %s is not available" --msgstr "꾸러미 %s 사용할 수 없습니다" -+msgstr "꾸러미(package) %s 사용 할 수 없습니다" - - #: plugins/debug.py:283 - #, python-format -@@ -486,31 +528,31 @@ msgstr "잘못된 dnf 디버그 파일 : %s" - - #: plugins/debuginfo-install.py:56 - msgid "install debuginfo packages" --msgstr "debuginfo 패키지 설치" -+msgstr "디버그정보 꾸러미(package) 설치" - - #: plugins/debuginfo-install.py:180 - #, python-format - msgid "" - "Could not find debuginfo package for the following available packages: %s" --msgstr "" -+msgstr "다음 사용가능한 꾸러미(package): %s 를 위하여 디버그정보 꾸러미를 찾을 수 없습니다" - - #: plugins/debuginfo-install.py:185 - #, python-format - msgid "" - "Could not find debugsource package for the following available packages: %s" --msgstr "" -+msgstr "다음 가용한 꾸러미(package): %s 를 위하여 디버그자원 꾸러미(package)를 찾을 수 없습니다" - - #: plugins/debuginfo-install.py:190 - #, python-format - msgid "" - "Could not find debuginfo package for the following installed packages: %s" --msgstr "" -+msgstr "다음 설치된 꾸러미(package): %s 를 위한 디버그정보 꾸러미(package)를 찾을 수 없습니다" - - #: plugins/debuginfo-install.py:195 - #, python-format - msgid "" - "Could not find debugsource package for the following installed packages: %s" --msgstr "" -+msgstr "다음 설치된 꾸러미(package): %s 를 위하여 디버그자원 꾸러미(package)를 찾을 수 없습니다" - - #: plugins/debuginfo-install.py:199 - msgid "Unable to find a match" -@@ -518,51 +560,51 @@ msgstr "일치하는 항목을 찾을 수 없습니다" - - #: plugins/download.py:41 - msgid "Download package to current directory" --msgstr "현재 디렉토리에 패키지 다운로드" -+msgstr "현재 디렉토리에 꾸러미 내려받기" - - #: plugins/download.py:51 - msgid "packages to download" --msgstr "다운로드 할 패키지" -+msgstr "내려받기 할 꾸러미" - - #: plugins/download.py:53 - msgid "download the src.rpm instead" --msgstr "대신 src.rpm을 다운로드하십시오." -+msgstr "대신 src.rpm을 내려받으세요" - - #: plugins/download.py:55 - msgid "download the -debuginfo package instead" --msgstr "대신 -debuginfo 패키지를 다운로드하십시오." -+msgstr "대신 -debuginfo 꾸러미(package)를 내려받아요" - - #: plugins/download.py:57 - msgid "download the -debugsource package instead" --msgstr "" -+msgstr "대신 -debuginfo 꾸러미(package)를 내려받으세요" - - #: plugins/download.py:60 - msgid "limit the query to packages of given architectures." --msgstr "쿼리를 주어진 아키텍처의 패키지로 제한하십시오." -+msgstr "요청를 주어진 구조 꾸러미(package)로 제한하십시오." - - #: plugins/download.py:62 - msgid "resolve and download needed dependencies" --msgstr "필요한 종속성을 해결하고 다운로드하십시오." -+msgstr "필요한 종속성을 해결하고 내려받아요" - - #: plugins/download.py:64 - msgid "" - "when running with --resolve, download all dependencies (do not exclude " - "already installed ones)" --msgstr "" -+msgstr "--resolve 와 함께 실행 할 때에, 모든 의존성을 내려받습니다 (이미 설치된 것들은 포함하지 않습니다)" - - #: plugins/download.py:67 - msgid "" - "print list of urls where the rpms can be downloaded instead of downloading" --msgstr "다운로드 대신 rpms를 다운로드 할 수있는 URL 목록 인쇄" -+msgstr "내려받기 대신 rpms를 내려받기 할 수 있는 URL 목록 인쇄" - - #: plugins/download.py:72 - msgid "when running with --url, limit to specific protocols" --msgstr "--url을 사용하여 실행하면 특정 프로토콜로 제한됩니다." -+msgstr "--url을 사용하여 실행하면 특정 통신규약이 제한됩니다" - --#: plugins/download.py:121 plugins/reposync.py:293 -+#: plugins/download.py:121 plugins/reposync.py:314 - #, python-format - msgid "Failed to get mirror for package: %s" --msgstr "패키지 미러링에 실패했습니다. %s" -+msgstr "꾸러미 연결주소 얻기에 실패했습니다: %s" - - #: plugins/download.py:243 - msgid "Exiting due to strict setting." -@@ -570,7 +612,7 @@ msgstr "엄격한 설정으로 인해 종료됩니다." - - #: plugins/download.py:261 - msgid "Error in resolve of packages:" --msgstr "패키지 해결 오류 :" -+msgstr "꾸러미(package) 해결 오류 :" - - #: plugins/download.py:279 - #, python-format -@@ -580,27 +622,141 @@ msgstr "소스 rpm이 정의되지 않았습니다. %s" - #: plugins/download.py:296 plugins/download.py:309 - #, python-format - msgid "No package %s available." --msgstr "패키지 없음 %s 유효한." -+msgstr "가용한 꾸러미(package) %s가 없습니다." -+ -+#: plugins/groups_manager.py:49 -+msgid "Invalid group id" -+msgstr "유효하지 않는 그룹 id" -+ -+#: plugins/groups_manager.py:58 -+msgid "Invalid translated data, should be in form 'lang:text'" -+msgstr "잘못 번역된 자료, 형식 'lang:text' 에 있어야 합니다" -+ -+#: plugins/groups_manager.py:61 -+msgid "Invalid/empty language for translated data" -+msgstr "번역된 자료가 유효하지 않음/비워짐" -+ -+#: plugins/groups_manager.py:71 -+msgid "Can't generate group id from '{}'. Please specify group id using --id." -+msgstr "'{}' 에서 그룹 id를 발생 할 수 없습니다. --id를 사용하여 그룹 id를 지정해 주세요." -+ -+#: plugins/groups_manager.py:79 -+msgid "create and edit groups metadata file" -+msgstr "그룹 메타데이타 파일 생성하고 수정합니다" -+ -+#: plugins/groups_manager.py:90 -+msgid "load groups metadata from file" -+msgstr "파일에서 그룹 메타파일을 적재합니다" -+ -+#: plugins/groups_manager.py:93 -+msgid "save groups metadata to file" -+msgstr "그룹 메타자료를 파일에 저장합니다" -+ -+#: plugins/groups_manager.py:95 -+msgid "load and save groups metadata to file" -+msgstr "그룹 메타파일을 파일에 적재하고 저장합니다" -+ -+#: plugins/groups_manager.py:97 -+msgid "print the result metadata to stdout" -+msgstr "결과 메타데이타를 표준출력으로 출력한다" -+ -+#: plugins/groups_manager.py:100 -+msgid "group id" -+msgstr "그룹 id" -+ -+#: plugins/groups_manager.py:101 -+msgid "group name" -+msgstr "그룹 이름" -+ -+#: plugins/groups_manager.py:103 -+msgid "group description" -+msgstr "그룹 설명" -+ -+#: plugins/groups_manager.py:105 -+msgid "group display order" -+msgstr "그룸 표시 순서" -+ -+#: plugins/groups_manager.py:108 -+msgid "translated name for the group" -+msgstr "그룹을 위한 번역된 이름" -+ -+#: plugins/groups_manager.py:111 -+msgid "translated description for the group" -+msgstr "그룹을 위한 번역 설명" -+ -+#: plugins/groups_manager.py:115 -+msgid "make the group user visible (default)" -+msgstr "그룹 사용자를 표시 (기본값)" -+ -+#: plugins/groups_manager.py:118 -+msgid "make the group user invisible" -+msgstr "그룹 사용자를 보이지 않게 표시" -+ -+#: plugins/groups_manager.py:123 -+msgid "add packages to the mandatory section" -+msgstr "꾸러미(package)를 필 수 부분에 추가합니다" -+ -+#: plugins/groups_manager.py:125 -+msgid "add packages to the optional section" -+msgstr "꾸러미(package)를 선택 부분에 추가합니다" -+ -+#: plugins/groups_manager.py:127 -+msgid "remove packages from the group instead of adding them" -+msgstr "추가하기 대신에 그룹에서 꾸러미(package)를 제거합니다" -+ -+#: plugins/groups_manager.py:129 -+msgid "include also direct dependencies for packages" -+msgstr "꾸러미(package)를 위해 직접적인 의존성을 포함한다" -+ -+#: plugins/groups_manager.py:132 -+msgid "package specification" -+msgstr "꾸러미(package) 사양" -+ -+#: plugins/groups_manager.py:156 -+msgid "Can't edit group without specifying it (use --id or --name)" -+msgstr "이것(user --id 또느 --name)을 특정하지 않고 그룹을 수정 할 수 없습니다" -+ -+#: plugins/groups_manager.py:190 -+msgid "Can't load file \"{}\": {}" -+msgstr "파일 \"{}\": {} 를 적재 할 수 없습니다" -+ -+#: plugins/groups_manager.py:206 -+msgid "Can't save file \"{}\": {}" -+msgstr "파일 \"{}\": {}을 저장 할 수 없습니다" -+ -+#: plugins/groups_manager.py:259 -+msgid "No match for argument: {}" -+msgstr "일치하는 인수가 없습니다 :{}" -+ -+#: plugins/groups_manager.py:296 -+msgid "Can't remove packages from non-existent group" -+msgstr "존재하지 않는 그룹에서 꾸러미(package)를 제거 할 수 없습니다" -+ -+#: plugins/groups_manager.py:305 -+msgid "" -+"Group id '{}' generated from '{}' is duplicit. Please specify group id using" -+" --id." -+msgstr "'{}'에서 발생한 그룹 id '{}'는 중복되었습니다. --id를 사용하여 그룹 id를 지정하기 바랍니다." - - #: plugins/leaves.py:32 - msgid "List installed packages not required by any other package" --msgstr "다른 패키지에서 필요하지 않은 설치된 패키지 나열" -+msgstr "다른 꾸러미(package)에서 필요하지 않은 설치된 꾸러미(packages) 나열" - - #: plugins/local.py:122 - msgid "Unable to create a directory '{}' due to '{}'" --msgstr "'{}'(으)로 인해 '{}'디렉토리를 만들 수 없습니다." -+msgstr "'{}'(으)로 인해 '{}'디렉토리를 만들 수 없습니다" - - #: plugins/local.py:126 - msgid "'{}' is not a directory" --msgstr "'{}'은 (는) 디렉토리가 아닙니다." -+msgstr "'{}'는 디렉토리가 아닙니다" - - #: plugins/local.py:135 - msgid "Copying '{}' to local repo" --msgstr "'{}'을 (를) 로컬 저장소로 복사 중입니다." -+msgstr "'{}'을 로컬 저장소로 복사 중입니다" - - #: plugins/local.py:141 - msgid "Can't write file '{}'" --msgstr "'{}'파일을 쓸 수 없습니다." -+msgstr "'{}'파일을 쓸 수 없습니다" - - #: plugins/local.py:156 - msgid "Rebuilding local repo" -@@ -608,73 +764,79 @@ msgstr "지역 레포 복구" - - #: plugins/migrate.py:45 - msgid "migrate yum's history, group and yumdb data to dnf" --msgstr "yum의 히스토리, 그룹 및 yumdb 데이터를 dnf로 마이그레이션합니다." -+msgstr "yum 사용기록, 그룹 및 yumdb 데이터를 dnf로 마이그레이션합니다" - - #: plugins/migrate.py:54 - msgid "Migrating history data..." - msgstr "기록 데이터 마이그레이션 중 ..." - --#: plugins/needs_restarting.py:65 -+#: plugins/needs_restarting.py:66 - #, python-brace-format - msgid "" - "No installed package found for package name \"{pkg}\" specified in needs-" - "restarting file \"{file}\"." - msgstr "" -+"재시작이 필요한 파일 \"{file}\" 에 지정한 꾸러미 이름 \"{pkg}\"을 위하여 설치된 꾸러미(package)를 찾을 수 " -+"없습니다." - --#: plugins/needs_restarting.py:199 -+#: plugins/needs_restarting.py:224 - msgid "determine updated binaries that need restarting" - msgstr "다시 시작해야하는 업데이트 된 바이너리 결정" - --#: plugins/needs_restarting.py:204 -+#: plugins/needs_restarting.py:229 - msgid "only consider this user's processes" --msgstr "이 사용자의 프로세스 만 고려하십시오." -+msgstr "이 사용자의 프로세스만 고려하세요" - --#: plugins/needs_restarting.py:206 -+#: plugins/needs_restarting.py:231 - msgid "" - "only report whether a reboot is required (exit code 1) or not (exit code 0)" --msgstr "" -+msgstr "재시작이 요구되는 (exit code 1) 또는 아닌(exit code0) 경우에만 보고합니다" - --#: plugins/needs_restarting.py:230 -+#: plugins/needs_restarting.py:234 -+msgid "only report affected systemd services" -+msgstr "systemd 서비스에 영향을 미치는 것만 보고합니다" -+ -+#: plugins/needs_restarting.py:257 - msgid "Core libraries or services have been updated since boot-up:" --msgstr "" -+msgstr "Core 라이브러리와 서비스는 재시작 이 후에 최신화 됩니다:" - --#: plugins/needs_restarting.py:235 -+#: plugins/needs_restarting.py:262 - msgid "Reboot is required to fully utilize these updates." --msgstr "" -+msgstr "재시작은 이들 최신화를 완전히 사용하려면 필요합니다." - --#: plugins/needs_restarting.py:236 -+#: plugins/needs_restarting.py:263 - msgid "More information:" --msgstr "" -+msgstr "자세한 정보:" - --#: plugins/needs_restarting.py:240 -+#: plugins/needs_restarting.py:267 - msgid "No core libraries or services have been updated since boot-up." --msgstr "" -+msgstr "핵심 라이브러리와 서비스는 재시작 이 후에 최신화 되지 않습니다." - --#: plugins/needs_restarting.py:242 -+#: plugins/needs_restarting.py:269 - msgid "Reboot should not be necessary." --msgstr "" -+msgstr "재시작은 필요하지 않을 수 있습니다." - - #: plugins/post-transaction-actions.py:71 - #, python-format - msgid "Bad Action Line \"%s\": %s" --msgstr "" -+msgstr "잘못된 동작 선 \"%s\": %s" - - #. unsupported state, skip it - #: plugins/post-transaction-actions.py:130 - #, python-format - msgid "Bad Transaction State: %s" --msgstr "" -+msgstr "잘못된 연결 상태: %s" - - #: plugins/post-transaction-actions.py:153 - #: plugins/post-transaction-actions.py:155 - #, python-format - msgid "post-transaction-actions: %s" --msgstr "" -+msgstr "연결 후 동작: %s" - - #: plugins/post-transaction-actions.py:157 - #, python-format - msgid "post-transaction-actions: Bad Command \"%s\": %s" --msgstr "" -+msgstr "연결 후 동작: 잘못된 명령 \"%s\": %s" - - #: plugins/repoclosure.py:42 - msgid "Display a list of unresolved dependencies for repositories" -@@ -686,149 +848,157 @@ msgstr "재구 축은 해결되지 않은 종속성으로 종료되었습니다. - - #: plugins/repoclosure.py:153 - msgid "check packages of the given archs, can be specified multiple times" --msgstr "지정된 아치의 패키지를 검사하고 여러 번 지정할 수 있습니다." -+msgstr "지정된 아치의 꾸러미(package)를 검사하고 여러 번 지정할 수 있습니다" - - #: plugins/repoclosure.py:156 - msgid "Specify repositories to check" --msgstr "확인할 저장소를 지정하십시오." -+msgstr "점검 할 저장소를 지정하세요" - - #: plugins/repoclosure.py:158 - msgid "Check only the newest packages in the repos" --msgstr "리포지토리의 최신 패키지 만 확인하십시오." -+msgstr "저장소 최신 꾸러미(package)만 확인하세요" - - #: plugins/repoclosure.py:161 - msgid "Check closure for this package only" --msgstr "이 패키지의 폐쇄 만 확인하십시오." -+msgstr "이 꾸러미(package)의 폐쇄만 확인하세요" - - #: plugins/repodiff.py:45 - msgid "List differences between two sets of repositories" --msgstr "" -+msgstr "두 개의 저장소 구성 사이의 목록 차이점" - - #: plugins/repodiff.py:58 - msgid "Specify old repository, can be used multiple times" --msgstr "" -+msgstr "여러번 사용될 수 있는, 오래된 저장소를 지정합니다" - - #: plugins/repodiff.py:60 - msgid "Specify new repository, can be used multiple times" --msgstr "" -+msgstr "여러 번 사용 될 수 있는, 새로운 저장소를 지정합니다" - - #: plugins/repodiff.py:63 - msgid "" - "Specify architectures to compare, can be used multiple times. By default, " - "only source rpms are compared." --msgstr "" -+msgstr "비교 할 구조를 지정하고, 여러 번 사용 될 수 있습니다. 기본적으로, 자원 rpms만 비교됩니다." - - #: plugins/repodiff.py:67 - msgid "Output additional data about the size of the changes." --msgstr "" -+msgstr "크기 변화에 대한 추가 자료를 출력합니다." - - #: plugins/repodiff.py:69 - msgid "" - "Compare packages also by arch. By default packages are compared just by " - "name." --msgstr "" -+msgstr "구조에 의해 꾸러미(package) 또한 비교합니다. 기본적으로 꾸러미(package)는 이름으로만 비교됩니다." - - #: plugins/repodiff.py:72 - msgid "Output a simple one line message for modified packages." --msgstr "" -+msgstr "수정된 꾸러미(pacakage)지를 위해 단순히 한 줄 메시지를 출력합니다." - - #: plugins/repodiff.py:74 - msgid "" - "Split the data for modified packages between upgraded and downgraded " - "packages." --msgstr "" -+msgstr "향상 또는 향상 꾸러미 사이에서 변형된 꾸러미를 위해 자료를 분할합니다." - - #: plugins/repodiff.py:86 - msgid "Both old and new repositories must be set." --msgstr "" -+msgstr "오래된 것과 새로운 저장소 모두 구성되어야 합니다." - - #: plugins/repodiff.py:178 - msgid "Size change: {} bytes" --msgstr "" -+msgstr "크기 변화: {} bytes" - - #: plugins/repodiff.py:184 - msgid "Added package : {}" --msgstr "" -+msgstr "추가된 꾸러미(package) : {}" - - #: plugins/repodiff.py:187 - msgid "Removed package: {}" --msgstr "" -+msgstr "제거된 꾸러미(package): {}" - - #: plugins/repodiff.py:190 - msgid "Obsoleted by : {}" --msgstr "" -+msgstr "사용되지 않음 : {}" - - #: plugins/repodiff.py:195 - msgid "" - "\n" - "Upgraded packages" - msgstr "" -+"\n" -+"향상된 꾸러미(package)" - - #: plugins/repodiff.py:200 - msgid "" - "\n" - "Downgraded packages" - msgstr "" -+"\n" -+"꾸러미 하향설치" - - #: plugins/repodiff.py:207 - msgid "" - "\n" - "Modified packages" - msgstr "" -+"\n" -+"변형된 꾸러미(package)" - - #: plugins/repodiff.py:212 - msgid "" - "\n" - "Summary" - msgstr "" -+"\n" -+"요약" - - #: plugins/repodiff.py:213 - msgid "Added packages: {}" --msgstr "" -+msgstr "추가된 꾸러미(package): {}" - - #: plugins/repodiff.py:214 - msgid "Removed packages: {}" --msgstr "" -+msgstr "제거된 꾸러미(package): {}" - - #: plugins/repodiff.py:216 - msgid "Upgraded packages: {}" --msgstr "" -+msgstr "향상된 꾸러미(package): {}" - - #: plugins/repodiff.py:217 - msgid "Downgraded packages: {}" --msgstr "" -+msgstr "하향설치된 꾸러미: {}" - - #: plugins/repodiff.py:219 - msgid "Modified packages: {}" --msgstr "" -+msgstr "변형된 꾸러미(package): {}" - - #: plugins/repodiff.py:222 - msgid "Size of added packages: {}" --msgstr "" -+msgstr "크기가 증가된 꾸러미(package): {}" - - #: plugins/repodiff.py:223 - msgid "Size of removed packages: {}" --msgstr "" -+msgstr "크기가 제거된 꾸러미(package): {}" - - #: plugins/repodiff.py:225 - msgid "Size of modified packages: {}" --msgstr "" -+msgstr "크기가 변형된 꾸러미(package): {}" - - #: plugins/repodiff.py:228 - msgid "Size of upgraded packages: {}" --msgstr "" -+msgstr "크기가 향상된 꾸러미: {}" - - #: plugins/repodiff.py:230 - msgid "Size of downgraded packages: {}" --msgstr "" -+msgstr "크기가 하향설치된 꾸러미: {}" - - #: plugins/repodiff.py:232 - msgid "Size change: {}" --msgstr "" -+msgstr "크기 변경: {}" - - #: plugins/repograph.py:50 - msgid "Output a full package dependency graph in dot format" --msgstr "도트 형식의 전체 패키지 종속성 그래프 출력" -+msgstr "도트 형식의 전체 꾸러미(package) 종속성 그래프 출력" - - #: plugins/repograph.py:110 - #, python-format -@@ -837,27 +1007,27 @@ msgstr "아무것도 제공하지 않습니다 : '%s'" - - #: plugins/repomanage.py:45 - msgid "Manage a directory of rpm packages" --msgstr "rpm 패키지 디렉토리 관리" -+msgstr "rpm 꾸러미(package) 디렉토리 관리" - - #: plugins/repomanage.py:59 - msgid "Pass either --old or --new, not both!" --msgstr "--old 또는 --new 중 하나를 전달하십시오." -+msgstr "--old 또는 --new 중 하나를 전달하세요!" - - #: plugins/repomanage.py:71 - msgid "No files to process" --msgstr "처리 할 파일이 없습니다." -+msgstr "처리 할 파일 없음" - - #: plugins/repomanage.py:93 - msgid "Could not open {}" --msgstr "{}을 (를) 열 수 없습니다." -+msgstr "{}을 열 수 없습니다" - - #: plugins/repomanage.py:177 - msgid "Print the older packages" --msgstr "이전 패키지 인쇄" -+msgstr "이전 꾸러미(package) 인쇄" - - #: plugins/repomanage.py:179 - msgid "Print the newest packages" --msgstr "최신 패키지 인쇄" -+msgstr "최신 꾸러미(package) 인쇄" - - #: plugins/repomanage.py:181 - msgid "Space separated output, not newline" -@@ -865,97 +1035,109 @@ msgstr "공백으로 구분 된 출력이 아닌 개행 문자" - - #: plugins/repomanage.py:183 - msgid "Newest N packages to keep - defaults to 1" --msgstr "보관할 최신 N 패키지 - 기본값은 1입니다." -+msgstr "보관할 최신 N 꾸러미(package) - 기본값은 1입니다" - - #: plugins/repomanage.py:186 - msgid "Path to directory" - msgstr "디렉토리 경로" - --#: plugins/reposync.py:54 -+#: plugins/reposync.py:55 - msgid "download all packages from remote repo" --msgstr "원격 저장소에서 모든 패키지를 다운로드하십시오." -+msgstr "원격 저장소에서 모든 꾸러미(package)를 내려받아요" - --#: plugins/reposync.py:63 -+#: plugins/reposync.py:64 - msgid "download only packages for this ARCH" --msgstr "이 ARCH 용 패키지 만 다운로드하십시오." -+msgstr "이 ARCH용 꾸러미(package)만 내려받아요" - --#: plugins/reposync.py:65 -+#: plugins/reposync.py:66 - msgid "delete local packages no longer present in repository" --msgstr "저장소에 더 이상 존재하지 않는 로컬 패키지 삭제" -+msgstr "저장소에 더 이상 존재하지 않는 로컬 꾸러미(package) 삭제" - --#: plugins/reposync.py:67 --msgid "also download and uncompress comps.xml" --msgstr "" -- --#: plugins/reposync.py:69 -+#: plugins/reposync.py:68 - msgid "download all the metadata." --msgstr "" -+msgstr "모든 메타데이타 내려받기." - --#: plugins/reposync.py:71 --msgid "download only newest packages per-repo" --msgstr "repo 당 최신 패키지 만 다운로드하십시오." -+#: plugins/reposync.py:70 -+msgid "Remove packages that fail GPG signature checking after downloading" -+msgstr "내려받기 후에 점검한 GPG 서명이 실패한 꾸러미를 제거합니다" - - #: plugins/reposync.py:73 --msgid "where to store downloaded repositories" --msgstr "" -+msgid "also download and uncompress comps.xml" -+msgstr "또한 comps.xml 내려받기와 압축 풀기" - - #: plugins/reposync.py:75 --msgid "Don't add the reponame to the download path." --msgstr "" -- --#: plugins/reposync.py:77 - msgid "" - "where to store downloaded repository metadata. Defaults to the value of " - "--download-path." --msgstr "" -+msgstr "내려받은 저장소 메타데이타를 저장하기 위한 장소. --download-path의 값으로 기본 지정합니다." -+ -+#: plugins/reposync.py:78 -+msgid "download only newest packages per-repo" -+msgstr "저장소 최신 꾸러미(package)만 내려받아요" - - #: plugins/reposync.py:80 --msgid "operate on source packages" --msgstr "소스 패키지를 조작한다." -+msgid "Don't add the reponame to the download path." -+msgstr "내려받기 경로에 저장소이름을 추가하지 않습니다." - - #: plugins/reposync.py:82 -+msgid "where to store downloaded repositories" -+msgstr "내려받기 한 저장소를 저장할 위치" -+ -+#: plugins/reposync.py:84 - msgid "try to set local timestamps of local files by the one on the server" --msgstr "" -+msgstr "서버에 있는 하나에서 로컬파일의 로컬 타임스템프 설정을 시도하세요" - --#: plugins/reposync.py:85 -+#: plugins/reposync.py:87 -+msgid "operate on source packages" -+msgstr "자원 꾸러미에서 동작합니다" -+ -+#: plugins/reposync.py:89 - msgid "Just list urls of what would be downloaded, don't download" --msgstr "" -+msgstr "내려 받을 수 있는 url만 목록화하며, 내려 받지 않습니다" - --#: plugins/reposync.py:109 -+#: plugins/reposync.py:113 - msgid "Can't use --norepopath with multiple repositories" --msgstr "" -+msgstr "다중 저장소와 함께 --norepath를 사용 할 수 없습니다" - --#: plugins/reposync.py:127 -+#: plugins/reposync.py:132 - #, python-format - msgid "Failed to get mirror for metadata: %s" --msgstr "" -+msgstr "메타데이타에 대한 연결주소 얻기를 실패하였습니다:%s" - --#: plugins/reposync.py:144 -+#: plugins/reposync.py:149 - msgid "Failed to get mirror for the group file." --msgstr "" -+msgstr "그룹 파일을 위하여 연결주소 얻기에 실패하였습니다." -+ -+#: plugins/reposync.py:168 -+msgid "Removing {}: {}" -+msgstr "제거하기{}: {}" - - #: plugins/reposync.py:175 -+msgid "GPG signature check failed." -+msgstr "GPG 서명 점검이 실패하였습니다." -+ -+#: plugins/reposync.py:196 - msgid "Download target '{}' is outside of download path '{}'." --msgstr "" -+msgstr "내려받기 대상 '{}'는 내려받기 경로'{}'의 밖에 있습니다." - --#: plugins/reposync.py:190 -+#: plugins/reposync.py:211 - #, python-format - msgid "[DELETED] %s" - msgstr "[DELETED] %s" - --#: plugins/reposync.py:192 -+#: plugins/reposync.py:213 - #, python-format - msgid "failed to delete file %s" - msgstr "파일을 삭제하지 못했습니다. %s" - --#: plugins/reposync.py:201 -+#: plugins/reposync.py:222 - #, python-format - msgid "comps.xml for repository %s saved" - msgstr "저장소에 대한 comps.xml %s 저장된" - - #: plugins/show_leaves.py:54 - msgid "New leaves:" --msgstr "새 잎 :" -+msgstr "독립 꾸러미(package):" - - #: plugins/versionlock.py:32 - #, python-format -@@ -964,59 +1146,59 @@ msgstr "버전 잠금 설정을 읽을 수 없습니다 : %s" - - #: plugins/versionlock.py:33 - msgid "Locklist not set" --msgstr "잠금 목록이 설정되지 않았습니다." -+msgstr "잠금 목록 설정되지 않음" - - #: plugins/versionlock.py:34 - msgid "Adding versionlock on:" --msgstr "" -+msgstr "버전잠금 설정 추가하기:" - - #: plugins/versionlock.py:35 - msgid "Adding exclude on:" --msgstr "" -+msgstr "제외 하기 추가하기:" - - #: plugins/versionlock.py:36 - msgid "Package already locked in equivalent form:" --msgstr "" -+msgstr "꾸러미(package)는 이미 동일한 형태로 잠겨졌습니다:" - - #: plugins/versionlock.py:37 - msgid "Package {} is already locked" --msgstr "" -+msgstr "꾸러미(package) {} 는 이미 잠겨졌습니다" - - #: plugins/versionlock.py:38 - msgid "Package {} is already excluded" --msgstr "" -+msgstr "꾸러미(package) {} 는 이미 제외되었습니다" - - #: plugins/versionlock.py:39 - msgid "Deleting versionlock for:" --msgstr "" -+msgstr "버전 잠금을 제거하기:" - - #: plugins/versionlock.py:40 - msgid "No package found for:" --msgstr "" -+msgstr "찾고자 하는 꾸러미(package)가 없습니다:" - - #: plugins/versionlock.py:41 - msgid "Excludes from versionlock plugin were not applied" --msgstr "" -+msgstr "버전 잠금 플러그인에서 제외는 적용되지 않습니다" - - #: plugins/versionlock.py:42 - msgid "Versionlock plugin: number of lock rules from file \"{}\" applied: {}" --msgstr "" -+msgstr "버전 잠금 플러그인: 적용된 파일 \"{} \"에서 잠금 규칙의 수: {}" - - #: plugins/versionlock.py:43 - msgid "Versionlock plugin: number of exclude rules from file \"{}\" applied: {}" --msgstr "" -+msgstr "버전 잠금 플러그인: 적용된 파일 \"{} \"에서 제외 규칙의 수: {}" - - #: plugins/versionlock.py:44 - msgid "Versionlock plugin: could not parse pattern:" --msgstr "" -+msgstr "버전 잠금 플러그인: 유형을 구문 분석 할 수 없습니다:" - - #: plugins/versionlock.py:130 - msgid "control package version locks" --msgstr "" -+msgstr "꾸러미 버전 잠금을 제어합니다" - - #: plugins/versionlock.py:136 - msgid "Use package specifications as they are, do not try to parse them" --msgstr "" -+msgstr "꾸러미(package) 사양을 그대로 사용하며, 구문 분석을 시도하지 않습니다" - - #~ msgid "" - #~ "\n" -diff --git a/po/zh_CN.po b/po/zh_CN.po -index 151441d..ea0afbc 100644 ---- a/po/zh_CN.po -+++ b/po/zh_CN.po -@@ -1,24 +1,26 @@ - # Tommy He , 2015. #zanata - # Tommy He , 2016. #zanata - # mosquito , 2016. #zanata --# Charles Lee , 2017. #zanata, 2020. -+# Charles Lee , 2017. #zanata, 2020, 2021. - # cheng ye <18969068329@163.com>, 2017. #zanata --# Ludek Janda , 2018. #zanata -+# Ludek Janda , 2018. #zanata, 2021. - # Hongqiao Chen , 2020. -+# Sundeep Anand , 2021. -+# Qiyu Yan , 2021. - msgid "" - msgstr "" - "Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2020-10-05 09:18-0400\n" --"PO-Revision-Date: 2020-07-09 13:27+0000\n" --"Last-Translator: Charles Lee \n" --"Language-Team: Chinese (Simplified) \n" -+"POT-Creation-Date: 2021-02-22 10:06+0100\n" -+"PO-Revision-Date: 2021-09-03 07:40+0000\n" -+"Last-Translator: Ludek Janda \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.8\n" - - #: plugins/builddep.py:45 - msgid "[PACKAGE|PACKAGE.spec]" -@@ -39,7 +41,7 @@ msgstr "定义一个用于处理 Spec 文件的宏" - - #: plugins/builddep.py:95 - msgid "skip build dependencies not available in repositories" --msgstr "" -+msgstr "跳过存储库中不可用的构建依赖项" - - #: plugins/builddep.py:98 - msgid "treat commandline arguments as spec files" -@@ -51,7 +53,7 @@ msgstr "将命令行参数作为源码 RPM 处理" - - #: plugins/builddep.py:144 - msgid "RPM: {}" --msgstr "" -+msgstr "RPM软件包: {}" - - #: plugins/builddep.py:153 - msgid "Some packages could not be found." -@@ -87,27 +89,27 @@ msgstr "无匹配软件包: %s" - #: plugins/changelog.py:37 - #, python-brace-format - msgid "Not a valid date: \"{0}\"." --msgstr "" -+msgstr "无效的日期 : \"{0}\"。" - - #: plugins/changelog.py:43 - msgid "Show changelog data of packages" --msgstr "" -+msgstr "查看软件包的改变日志数据" - - #: plugins/changelog.py:51 - msgid "" - "show changelog entries since DATE. To avoid ambiguosity, YYYY-MM-DD format " - "is recommended." --msgstr "" -+msgstr "显示自 DATE 开始的改变日志信息。为了避免混淆,推荐使用 YYYY-MM-DD 格式。" - - #: plugins/changelog.py:55 - msgid "show given number of changelog entries per package" --msgstr "" -+msgstr "每个软件包显示指定数量的改变日志信息" - - #: plugins/changelog.py:58 - msgid "" - "show only new changelog entries for packages, that provide an upgrade for " - "some of already installed packages." --msgstr "" -+msgstr "只显示软件包新的改变日志信息,为已安装的软件包提供升级。" - - #: plugins/changelog.py:60 - msgid "PACKAGE" -@@ -120,20 +122,20 @@ msgstr "未找到匹配的参数: %s" - - #: plugins/changelog.py:109 - msgid "Listing changelogs since {}" --msgstr "" -+msgstr "列出自 {} 后的改变日志信息" - - #: plugins/changelog.py:111 - msgid "Listing only latest changelog" - msgid_plural "Listing {} latest changelogs" --msgstr[0] "" -+msgstr[0] "只列出最新 {} 项更改日志" - - #: plugins/changelog.py:116 - msgid "Listing only new changelogs since installed version of the package" --msgstr "" -+msgstr "在列出安装的软件包版本后的新改变日志" - - #: plugins/changelog.py:118 - msgid "Listing all changelogs" --msgstr "" -+msgstr "列出所有改变日志" - - #: plugins/changelog.py:122 - msgid "Changelogs for {}" -@@ -142,7 +144,7 @@ msgstr "{}的变更记录" - #: plugins/config_manager.py:37 - #, python-brace-format - msgid "manage {prog} configuration options and repositories" --msgstr "" -+msgstr "管理 {prog} 配置选项和软件仓库" - - #: plugins/config_manager.py:44 - msgid "repo to modify" -@@ -166,21 +168,23 @@ msgstr "打印变量值到标准输出" - - #: plugins/config_manager.py:60 - msgid "enable repos (automatically saves)" --msgstr "" -+msgstr "启用仓库(自动保存)" - - #: plugins/config_manager.py:63 - msgid "disable repos (automatically saves)" --msgstr "" -+msgstr "禁用仓库(自动保存)" - - #: plugins/config_manager.py:77 - msgid "one of the following arguments is required: {}" --msgstr "" -+msgstr "需要以下参数之一:{}" - - #: plugins/config_manager.py:86 - msgid "" - "Warning: --enablerepo/--disablerepo arguments have no meaningwith config " - "manager. Use --set-enabled/--set-disabled instead." - msgstr "" -+"警告:--enablerepo/--disablerepo 参数对于 config manager 没有作用。请使用 --set-" -+"enabled/--set-disabled。" - - #: plugins/config_manager.py:131 - #, python-format -@@ -220,7 +224,7 @@ msgstr "否" - - #: plugins/copr.py:79 - msgid "Interact with Copr repositories." --msgstr "与 Copr 仓库交互" -+msgstr "与 Copr 仓库交互。" - - #: plugins/copr.py:81 - msgid "" -@@ -250,7 +254,7 @@ msgstr "" - " list --available-by-user=NAME\n" - " search project\n" - "\n" --" Examples:\n" -+" 例如:\n" - " copr enable rhscl/perl516 epel-6-x86_64\n" - " copr enable ignatenkobrain/ocltoys\n" - " copr disable rhscl/perl516\n" -@@ -278,7 +282,7 @@ msgstr "按照用户 NAME 列出可用的 Copr 仓库" - - #: plugins/copr.py:115 - msgid "Specify an instance of Copr to work with" --msgstr "" -+msgstr "指定需要使用的 Copr 实例" - - #: plugins/copr.py:149 plugins/copr.py:217 plugins/copr.py:237 - msgid "Error: " -@@ -289,10 +293,11 @@ msgid "" - "specify Copr hub either with `--hub` or using " - "`copr_hub/copr_username/copr_projectname` format" - msgstr "" -+"使用 `--hub` 或使用 `copr_hub/copr_username/copr_projectname` 格式指定 Copr hub" - - #: plugins/copr.py:153 - msgid "multiple hubs specified" --msgstr "" -+msgstr "指定多个 hub" - - #: plugins/copr.py:218 plugins/copr.py:222 - msgid "exactly two additional parameters to copr command are required" -@@ -320,6 +325,17 @@ msgid "" - "Please do not file bug reports about these packages in Fedora\n" - "Bugzilla. In case of problems, contact the owner of this repository.\n" - msgstr "" -+"\n" -+"启用一个 Copr 仓库。请注意这个仓库\n" -+"不是主发行版本的一部分,质量可能会有所不同。\n" -+"\n" -+"Fedora 项目对其不行使除了于 Copr 常见问题\n" -+"\n" -+"中所提出的规则外的任何权力,并且其软件包不保证达到特定质量\n" -+"和安全水准。\n" -+"\n" -+"请不要在 Fedora Bugzilla 中报告这些软件包中出现的\n" -+"问题。当出现问题时,请联系仓库的所有者。\n" - - #: plugins/copr.py:271 - msgid "Repository successfully enabled." -@@ -343,6 +359,7 @@ msgid "" - " about Copr hub - the default one was assumed. Re-enable the project to fix " - "this." - msgstr "" -+"* 这些 coprs 有使用旧格式的 repo 文件,它们没有包括 Copr hub 的信息 - 假设使用默认值。重新启用项目来解决这个问题。" - - #: plugins/copr.py:353 - msgid "Can't parse repositories for username '{}'." -@@ -374,7 +391,7 @@ msgstr "安全及明智的答案。退出。" - - #: plugins/copr.py:417 - msgid "This command has to be run under the root user." --msgstr "该命令必须以 root 用户运行" -+msgstr "该命令必须以 root 用户运行。" - - #: plugins/copr.py:481 - msgid "" -@@ -401,15 +418,27 @@ msgid "" - "\n" - "These repositories have been enabled automatically." - msgstr "" -+"启用的 Copr 仓库的维护人员决定\n" -+"它需要依赖于其他仓库。这些仓库\n" -+"通常是必需的,如果需要从主 Copr 仓库\n" -+"(它们会提供运行时依赖软件包)安装 RPM。\n" -+"\n" -+"请注意上面关于质量和程序错误报告的备注\n" -+"也适用于这里,Fedora Project 不控制内容。\n" -+"请检查列表:\n" -+"\n" -+"{0}\n" -+"\n" -+"这些仓库已被自动启用。" - - #: plugins/copr.py:549 - msgid "Do you want to keep them enabled?" --msgstr "" -+msgstr "您需要保持它们被启用吗?" - - #: plugins/copr.py:582 - #, python-brace-format - msgid "Failed to remove copr repo {0}/{1}/{2}" --msgstr "" -+msgstr "删除 copr 仓库 {0}/{1}/{2} 失败" - - #: plugins/copr.py:593 - msgid "Failed to disable copr repo {}/{}" -@@ -424,14 +453,12 @@ msgid "Interact with Playground repository." - msgstr "与 Playground 仓库交互。" - - #: plugins/copr.py:639 --#, fuzzy --#| msgid "Interact with Playground repository." - msgid "Enabling a Playground repository." --msgstr "与 Playground 仓库交互。" -+msgstr "启用 Playground 仓库。" - - #: plugins/copr.py:640 - msgid "Do you want to continue?" --msgstr "" -+msgstr "您希望继续吗?" - - #: plugins/copr.py:683 - msgid "Playground repositories successfully enabled." -@@ -488,7 +515,7 @@ msgstr "限制到指定类型" - msgid "" - "Allow removing of install-only packages. Using this option may result in an " - "attempt to remove the running kernel." --msgstr "" -+msgstr "允许删除仅安装(install-only)的软件包。使用这个选项可能会导致尝试删除正在运行的内核。" - - #: plugins/debug.py:202 - msgid "name of dump file" -@@ -497,7 +524,7 @@ msgstr "转储文件名称" - #: plugins/debug.py:273 - #, python-format - msgid "Package %s is not available" --msgstr "软件包 %s 不可用。" -+msgstr "软件包 %s 不可用" - - #: plugins/debug.py:283 - #, python-format -@@ -512,25 +539,25 @@ msgstr "安装调试信息软件包" - #, python-format - msgid "" - "Could not find debuginfo package for the following available packages: %s" --msgstr "" -+msgstr "无法为以下可用的软件包找到 debuginfo 软件包: %s" - - #: plugins/debuginfo-install.py:185 - #, python-format - msgid "" - "Could not find debugsource package for the following available packages: %s" --msgstr "" -+msgstr "无法为以下可用的软件包找到 debugsource 软件包: %s" - - #: plugins/debuginfo-install.py:190 - #, python-format - msgid "" - "Could not find debuginfo package for the following installed packages: %s" --msgstr "" -+msgstr "无法为以下安装的软件包找到 debuginfo 软件包: %s" - - #: plugins/debuginfo-install.py:195 - #, python-format - msgid "" - "Could not find debugsource package for the following installed packages: %s" --msgstr "" -+msgstr "无法为以下安装的软件包找到 debugsource 软件包: %s" - - #: plugins/debuginfo-install.py:199 - msgid "Unable to find a match" -@@ -554,11 +581,11 @@ msgstr "取而代之下载 -debuginfo 软件包" - - #: plugins/download.py:57 - msgid "download the -debugsource package instead" --msgstr "" -+msgstr "取而代之下载 -debugsource 软件包" - - #: plugins/download.py:60 - msgid "limit the query to packages of given architectures." --msgstr "限定查询指定架构的软件包" -+msgstr "限定查询指定架构的软件包。" - - #: plugins/download.py:62 - msgid "resolve and download needed dependencies" -@@ -568,7 +595,7 @@ msgstr "解析并下载所需的依赖关系" - msgid "" - "when running with --resolve, download all dependencies (do not exclude " - "already installed ones)" --msgstr "" -+msgstr "当运行时使用 --resolve,下载所有依赖软件包 (不排除已安装的软件包)" - - #: plugins/download.py:67 - msgid "" -@@ -579,7 +606,7 @@ msgstr "打印 rpm 可被下载的 url 列表而不是直接下载" - msgid "when running with --url, limit to specific protocols" - msgstr "当执行时带有 --url 参数,则限制使用指定协议" - --#: plugins/download.py:121 plugins/reposync.py:293 -+#: plugins/download.py:121 plugins/reposync.py:314 - #, python-format - msgid "Failed to get mirror for package: %s" - msgstr "获取针对以下软件包的镜像失败:%s" -@@ -602,13 +629,127 @@ msgstr "未找到所定义 %s 的源代码软件包 SRPM" - msgid "No package %s available." - msgstr "没有可用的软件包 %s。" - -+#: plugins/groups_manager.py:49 -+msgid "Invalid group id" -+msgstr "无效的组 ID" -+ -+#: plugins/groups_manager.py:58 -+msgid "Invalid translated data, should be in form 'lang:text'" -+msgstr "无效的翻译数据,格式应该是 'lang:text'" -+ -+#: plugins/groups_manager.py:61 -+msgid "Invalid/empty language for translated data" -+msgstr "翻译数据的无效/空语言" -+ -+#: plugins/groups_manager.py:71 -+msgid "Can't generate group id from '{}'. Please specify group id using --id." -+msgstr "无法从 '{}' 生成组 ID。请使用 --id 指定组 ID。" -+ -+#: plugins/groups_manager.py:79 -+msgid "create and edit groups metadata file" -+msgstr "创建并编辑组元数据文件" -+ -+#: plugins/groups_manager.py:90 -+msgid "load groups metadata from file" -+msgstr "从文件加载组元数据" -+ -+#: plugins/groups_manager.py:93 -+msgid "save groups metadata to file" -+msgstr "将组元数据保存到文件中" -+ -+#: plugins/groups_manager.py:95 -+msgid "load and save groups metadata to file" -+msgstr "将组元数据加载并保存到文件中" -+ -+#: plugins/groups_manager.py:97 -+msgid "print the result metadata to stdout" -+msgstr "将结果元数据输出到标准输出" -+ -+#: plugins/groups_manager.py:100 -+msgid "group id" -+msgstr "组 id" -+ -+#: plugins/groups_manager.py:101 -+msgid "group name" -+msgstr "组名称" -+ -+#: plugins/groups_manager.py:103 -+msgid "group description" -+msgstr "组描述" -+ -+#: plugins/groups_manager.py:105 -+msgid "group display order" -+msgstr "组显示顺序" -+ -+#: plugins/groups_manager.py:108 -+msgid "translated name for the group" -+msgstr "组的翻译名称" -+ -+#: plugins/groups_manager.py:111 -+msgid "translated description for the group" -+msgstr "组的翻译描述" -+ -+#: plugins/groups_manager.py:115 -+msgid "make the group user visible (default)" -+msgstr "使组用户可见(默认)" -+ -+#: plugins/groups_manager.py:118 -+msgid "make the group user invisible" -+msgstr "使组用户不可见" -+ -+#: plugins/groups_manager.py:123 -+msgid "add packages to the mandatory section" -+msgstr "在必填部分添加软件包" -+ -+#: plugins/groups_manager.py:125 -+msgid "add packages to the optional section" -+msgstr "在可选部分添加软件包" -+ -+#: plugins/groups_manager.py:127 -+msgid "remove packages from the group instead of adding them" -+msgstr "从组群中删除软件包而不是添加它们" -+ -+#: plugins/groups_manager.py:129 -+msgid "include also direct dependencies for packages" -+msgstr "同时包括软件包的直接依赖软件包" -+ -+#: plugins/groups_manager.py:132 -+msgid "package specification" -+msgstr "软件包规格" -+ -+#: plugins/groups_manager.py:156 -+msgid "Can't edit group without specifying it (use --id or --name)" -+msgstr "没有指定组(使用 --id 或 --name)就无法编辑组" -+ -+#: plugins/groups_manager.py:190 -+msgid "Can't load file \"{}\": {}" -+msgstr "无法加载文件 \"{}\": {}" -+ -+#: plugins/groups_manager.py:206 -+msgid "Can't save file \"{}\": {}" -+msgstr "无法保存文件 \"{}\": {}" -+ -+#: plugins/groups_manager.py:259 -+msgid "No match for argument: {}" -+msgstr "未找到匹配的参数: {}" -+ -+#: plugins/groups_manager.py:296 -+msgid "Can't remove packages from non-existent group" -+msgstr "无法从不存在的组中删除软件包" -+ -+#: plugins/groups_manager.py:305 -+msgid "" -+"Group id '{}' generated from '{}' is duplicit. Please specify group id using" -+" --id." -+msgstr "从 '{}' 生成的组 id '{}' 是显式的。请使用 --id 指定组 ID。" -+ - #: plugins/leaves.py:32 - msgid "List installed packages not required by any other package" - msgstr "列出已安装但不被任何其他软件包所需要的软件包" - - #: plugins/local.py:122 - msgid "Unable to create a directory '{}' due to '{}'" --msgstr "无法创建目录 '{}' 由于 '{}'" -+msgstr "无法创建目录 '{}' 由于 '{}'" - - #: plugins/local.py:126 - msgid "'{}' is not a directory" -@@ -634,67 +775,71 @@ msgstr "迁移 yum 的历史、分组以及 yumdb 数据至 dnf" - msgid "Migrating history data..." - msgstr "正在迁移历史数据…" - --#: plugins/needs_restarting.py:65 -+#: plugins/needs_restarting.py:66 - #, python-brace-format - msgid "" - "No installed package found for package name \"{pkg}\" specified in needs-" - "restarting file \"{file}\"." --msgstr "" -+msgstr "没有为在需要重新启动文件 \"{file}\" 中指定的名为 \"{pkg}\" 的软件包找到安装的软件包。" - --#: plugins/needs_restarting.py:199 -+#: plugins/needs_restarting.py:224 - msgid "determine updated binaries that need restarting" - msgstr "判断所升级的二进制文件是否需要重启" - --#: plugins/needs_restarting.py:204 -+#: plugins/needs_restarting.py:229 - msgid "only consider this user's processes" - msgstr "仅考虑当前用户的进程" - --#: plugins/needs_restarting.py:206 -+#: plugins/needs_restarting.py:231 - msgid "" - "only report whether a reboot is required (exit code 1) or not (exit code 0)" --msgstr "" -+msgstr "只报告需要重新引导 (退出代码为 1) 或不需要重新引导 (退出代码为 0)" - --#: plugins/needs_restarting.py:230 -+#: plugins/needs_restarting.py:234 -+msgid "only report affected systemd services" -+msgstr "只报告受影响的 systemd 服务" -+ -+#: plugins/needs_restarting.py:257 - msgid "Core libraries or services have been updated since boot-up:" --msgstr "" -+msgstr "在引导后 Core 库或服务已被更新 :" - --#: plugins/needs_restarting.py:235 -+#: plugins/needs_restarting.py:262 - msgid "Reboot is required to fully utilize these updates." --msgstr "" -+msgstr "需要重新启动后才可以使这些更新完全生效。" - --#: plugins/needs_restarting.py:236 -+#: plugins/needs_restarting.py:263 - msgid "More information:" --msgstr "" -+msgstr "更多信息 :" - --#: plugins/needs_restarting.py:240 -+#: plugins/needs_restarting.py:267 - msgid "No core libraries or services have been updated since boot-up." --msgstr "" -+msgstr "在引导后没有 core 库或服务被更新。" - --#: plugins/needs_restarting.py:242 -+#: plugins/needs_restarting.py:269 - msgid "Reboot should not be necessary." --msgstr "" -+msgstr "不需要重新启动。" - - #: plugins/post-transaction-actions.py:71 - #, python-format - msgid "Bad Action Line \"%s\": %s" --msgstr "" -+msgstr "错误的操作行“ %s”: %s" - - #. unsupported state, skip it - #: plugins/post-transaction-actions.py:130 - #, python-format - msgid "Bad Transaction State: %s" --msgstr "" -+msgstr "错误的事务状态: %s" - - #: plugins/post-transaction-actions.py:153 - #: plugins/post-transaction-actions.py:155 - #, python-format - msgid "post-transaction-actions: %s" --msgstr "" -+msgstr "事物后的操作: %s" - - #: plugins/post-transaction-actions.py:157 - #, python-format - msgid "post-transaction-actions: Bad Command \"%s\": %s" --msgstr "" -+msgstr "事物后的操作 : 无效的命令 \"%s\": %s" - - #: plugins/repoclosure.py:42 - msgid "Display a list of unresolved dependencies for repositories" -@@ -722,129 +867,137 @@ msgstr "仅为该软件包检查依赖闭合性" - - #: plugins/repodiff.py:45 - msgid "List differences between two sets of repositories" --msgstr "" -+msgstr "列出两组仓库中的不同" - - #: plugins/repodiff.py:58 - msgid "Specify old repository, can be used multiple times" --msgstr "" -+msgstr "指定旧的仓库,可以使用多次" - - #: plugins/repodiff.py:60 - msgid "Specify new repository, can be used multiple times" --msgstr "" -+msgstr "指定新的仓库,可以使用多次" - - #: plugins/repodiff.py:63 - msgid "" - "Specify architectures to compare, can be used multiple times. By default, " - "only source rpms are compared." --msgstr "" -+msgstr "指定要比较的架构,可以使用多次。默认情况下,只比较源 rpms。" - - #: plugins/repodiff.py:67 - msgid "Output additional data about the size of the changes." --msgstr "" -+msgstr "输出关于改变大小的额外数据。" - - #: plugins/repodiff.py:69 - msgid "" - "Compare packages also by arch. By default packages are compared just by " - "name." --msgstr "" -+msgstr "同时按架构比较软件包。在默认情况下只按名称比较软件包。" - - #: plugins/repodiff.py:72 - msgid "Output a simple one line message for modified packages." --msgstr "" -+msgstr "为修改的软件包输出一个简单的单行信息。" - - #: plugins/repodiff.py:74 - msgid "" - "Split the data for modified packages between upgraded and downgraded " - "packages." --msgstr "" -+msgstr "在升级和降级的软件包间为修改的软件包分隔数据。" - - #: plugins/repodiff.py:86 - msgid "Both old and new repositories must be set." --msgstr "" -+msgstr "新仓库和旧仓库都需要被设置。" - - #: plugins/repodiff.py:178 - msgid "Size change: {} bytes" --msgstr "" -+msgstr "大小的变化 : {} 字节" - - #: plugins/repodiff.py:184 - msgid "Added package : {}" --msgstr "" -+msgstr "添加的软件包 : {}" - - #: plugins/repodiff.py:187 - msgid "Removed package: {}" --msgstr "" -+msgstr "删除的软件包 : {}" - - #: plugins/repodiff.py:190 - msgid "Obsoleted by : {}" --msgstr "" -+msgstr "被下述软件包弃用:{}" - - #: plugins/repodiff.py:195 - msgid "" - "\n" - "Upgraded packages" - msgstr "" -+"\n" -+"升级的软件包" - - #: plugins/repodiff.py:200 - msgid "" - "\n" - "Downgraded packages" - msgstr "" -+"\n" -+"降级的软件包" - - #: plugins/repodiff.py:207 - msgid "" - "\n" - "Modified packages" - msgstr "" -+"\n" -+"修改的软件包" - - #: plugins/repodiff.py:212 - msgid "" - "\n" - "Summary" - msgstr "" -+"\n" -+"概述" - - #: plugins/repodiff.py:213 - msgid "Added packages: {}" --msgstr "" -+msgstr "添加的软件包 : {}" - - #: plugins/repodiff.py:214 - msgid "Removed packages: {}" --msgstr "" -+msgstr "删除的软件包 : {}" - - #: plugins/repodiff.py:216 - msgid "Upgraded packages: {}" --msgstr "" -+msgstr "升级的软件包 : {}" - - #: plugins/repodiff.py:217 - msgid "Downgraded packages: {}" --msgstr "" -+msgstr "降级的软件包 : {}" - - #: plugins/repodiff.py:219 - msgid "Modified packages: {}" --msgstr "" -+msgstr "修改的软件包 : {}" - - #: plugins/repodiff.py:222 - msgid "Size of added packages: {}" --msgstr "" -+msgstr "添加的软件包的大小 : {}" - - #: plugins/repodiff.py:223 - msgid "Size of removed packages: {}" --msgstr "" -+msgstr "删除的软件包的大小 : {}" - - #: plugins/repodiff.py:225 - msgid "Size of modified packages: {}" --msgstr "" -+msgstr "修改的软件包的大小 : {}" - - #: plugins/repodiff.py:228 - msgid "Size of upgraded packages: {}" --msgstr "" -+msgstr "升级的软件包的大小 : {}" - - #: plugins/repodiff.py:230 - msgid "Size of downgraded packages: {}" --msgstr "" -+msgstr "降级的软件包的大小 : {}" - - #: plugins/repodiff.py:232 - msgid "Size change: {}" --msgstr "" -+msgstr "大小改变 : {}" - - #: plugins/repograph.py:50 - msgid "Output a full package dependency graph in dot format" -@@ -891,84 +1044,96 @@ msgstr "要保留的最新的 N 个软件包 - 默认值为 1" - msgid "Path to directory" - msgstr "指向目录的路径" - --#: plugins/reposync.py:54 -+#: plugins/reposync.py:55 - msgid "download all packages from remote repo" - msgstr "下载远程仓库中的全部软件包" - --#: plugins/reposync.py:63 -+#: plugins/reposync.py:64 - msgid "download only packages for this ARCH" - msgstr "只下载这个 ARCH 的软件包" - --#: plugins/reposync.py:65 -+#: plugins/reposync.py:66 - msgid "delete local packages no longer present in repository" - msgstr "删除已不在仓库中的本地软件包" - --#: plugins/reposync.py:67 --msgid "also download and uncompress comps.xml" --msgstr "" -- --#: plugins/reposync.py:69 -+#: plugins/reposync.py:68 - msgid "download all the metadata." --msgstr "" -+msgstr "下载所有元数据。" - --#: plugins/reposync.py:71 --msgid "download only newest packages per-repo" --msgstr "只下载最新的软件包 per-repo" -+#: plugins/reposync.py:70 -+msgid "Remove packages that fail GPG signature checking after downloading" -+msgstr "下载后删除无法通过 GPG 签名检查的软件包" - - #: plugins/reposync.py:73 --msgid "where to store downloaded repositories" --msgstr "" -+msgid "also download and uncompress comps.xml" -+msgstr "同时下载并解压 comps.xml" - - #: plugins/reposync.py:75 --msgid "Don't add the reponame to the download path." --msgstr "" -- --#: plugins/reposync.py:77 - msgid "" - "where to store downloaded repository metadata. Defaults to the value of " - "--download-path." --msgstr "" -+msgstr "存储下载的仓库元数据的位置。默认为 --download-path 的值。" -+ -+#: plugins/reposync.py:78 -+msgid "download only newest packages per-repo" -+msgstr "只下载最新的软件包 per-repo" - - #: plugins/reposync.py:80 --msgid "operate on source packages" --msgstr "在源软件包中操作" -+msgid "Don't add the reponame to the download path." -+msgstr "不要在下载路径中添加仓库名(reponame)。" - - #: plugins/reposync.py:82 -+msgid "where to store downloaded repositories" -+msgstr "在何处存储已下载的仓库" -+ -+#: plugins/reposync.py:84 - msgid "try to set local timestamps of local files by the one on the server" --msgstr "" -+msgstr "根据服务器上的文件设置本地文件的本地时间戳" - --#: plugins/reposync.py:85 -+#: plugins/reposync.py:87 -+msgid "operate on source packages" -+msgstr "在源软件包中操作" -+ -+#: plugins/reposync.py:89 - msgid "Just list urls of what would be downloaded, don't download" --msgstr "" -+msgstr "只列出要下载内容的 url,不实际下载" - --#: plugins/reposync.py:109 -+#: plugins/reposync.py:113 - msgid "Can't use --norepopath with multiple repositories" --msgstr "" -+msgstr "不能将 --norepopath 与多个仓库一起使用" - --#: plugins/reposync.py:127 -+#: plugins/reposync.py:132 - #, python-format - msgid "Failed to get mirror for metadata: %s" --msgstr "" -+msgstr "获取元数据镜像失败:%s" - --#: plugins/reposync.py:144 -+#: plugins/reposync.py:149 - msgid "Failed to get mirror for the group file." --msgstr "" -+msgstr "获取组文件镜像失败。" -+ -+#: plugins/reposync.py:168 -+msgid "Removing {}: {}" -+msgstr "正在删除 {}: {}" - - #: plugins/reposync.py:175 -+msgid "GPG signature check failed." -+msgstr "GPG 签名检查失败。" -+ -+#: plugins/reposync.py:196 - msgid "Download target '{}' is outside of download path '{}'." --msgstr "" -+msgstr "下载的目标 '{}' 在下载路径 '{}' 以外。" - --#: plugins/reposync.py:190 -+#: plugins/reposync.py:211 - #, python-format - msgid "[DELETED] %s" - msgstr "[DELETED] %s" - --#: plugins/reposync.py:192 -+#: plugins/reposync.py:213 - #, python-format - msgid "failed to delete file %s" - msgstr "无法删除文件 %s" - --#: plugins/reposync.py:201 -+#: plugins/reposync.py:222 - #, python-format - msgid "comps.xml for repository %s saved" - msgstr "仓库 %s 的 comps.xml 已保存" -@@ -996,15 +1161,15 @@ msgstr "正在添加排除:" - - #: plugins/versionlock.py:36 - msgid "Package already locked in equivalent form:" --msgstr "" -+msgstr "软件包已使用等同的格式锁定:" - - #: plugins/versionlock.py:37 - msgid "Package {} is already locked" --msgstr "" -+msgstr "软件包 {} 已被锁定" - - #: plugins/versionlock.py:38 - msgid "Package {} is already excluded" --msgstr "" -+msgstr "软件包 {} 已被排除" - - #: plugins/versionlock.py:39 - msgid "Deleting versionlock for:" -@@ -1036,7 +1201,7 @@ msgstr "控制软件包版本锁" - - #: plugins/versionlock.py:136 - msgid "Use package specifications as they are, do not try to parse them" --msgstr "" -+msgstr "按原样使用程序包规格,请勿尝试解析它们" - - #~ msgid "" - #~ "\n" --- -2.31.1 - diff --git a/SOURCES/0004-copr-dont-traceback-on-empty-lines-in-etcos-release.patch b/SOURCES/0004-copr-dont-traceback-on-empty-lines-in-etcos-release.patch new file mode 100644 index 0000000..60a4db5 --- /dev/null +++ b/SOURCES/0004-copr-dont-traceback-on-empty-lines-in-etcos-release.patch @@ -0,0 +1,33 @@ +From ebacba86979d16cdb92ace9d7dc601a85c97b5db Mon Sep 17 00:00:00 2001 +From: Jakub Kadlcik +Date: Tue, 12 Oct 2021 18:30:47 +0200 +Subject: [PATCH] copr: don't traceback on empty lines in /etc/os-release + +Fix RHBZ 1994944 +--- + plugins/copr.py | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/plugins/copr.py b/plugins/copr.py +index 4644495..8841f03 100644 +--- a/plugins/copr.py ++++ b/plugins/copr.py +@@ -50,8 +50,13 @@ except ImportError: + with open('/etc/os-release') as os_release_file: + os_release_data = {} + for line in os_release_file: +- os_release_key, os_release_value = line.rstrip().split('=') +- os_release_data[os_release_key] = os_release_value.strip('"') ++ try: ++ os_release_key, os_release_value = line.rstrip().split('=') ++ os_release_data[os_release_key] = os_release_value.strip('"') ++ except ValueError: ++ # Skip empty lines and everything that is not a simple ++ # variable assignment ++ pass + return (os_release_data['NAME'], os_release_data['VERSION_ID'], None) + + PLUGIN_CONF = 'copr' +-- +libgit2 1.0.1 + diff --git a/SOURCES/0005-reposync-Use-fail_fastFalse-when-downloading-packages-RhBug2009894.patch b/SOURCES/0005-reposync-Use-fail_fastFalse-when-downloading-packages-RhBug2009894.patch new file mode 100644 index 0000000..1e5a989 --- /dev/null +++ b/SOURCES/0005-reposync-Use-fail_fastFalse-when-downloading-packages-RhBug2009894.patch @@ -0,0 +1,40 @@ +From b60f27006cdbdd14fb480aa22610fcd32bfe41e5 Mon Sep 17 00:00:00 2001 +From: Marek Blaha +Date: Wed, 6 Oct 2021 13:40:55 +0200 +Subject: [PATCH] reposync: Use fail_fast=False when downloading packages (RhBug:2009894) + += changelog = +msg: Reposync does not stop downloading packages on the first error +type: bugfix +resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2009894 +--- + dnf-plugins-core.spec | 2 +- + plugins/reposync.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dnf-plugins-core.spec b/dnf-plugins-core.spec +index 83ae6ae..cef836f 100644 +--- a/dnf-plugins-core.spec ++++ b/dnf-plugins-core.spec +@@ -1,4 +1,4 @@ +-%{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.2.22} ++%{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.9.2} + %global dnf_plugins_extra 2.0.0 + %global hawkey_version 0.46.1 + %global yum_utils_subpackage_name dnf-utils +diff --git a/plugins/reposync.py b/plugins/reposync.py +index 66c76a7..0ff936f 100644 +--- a/plugins/reposync.py ++++ b/plugins/reposync.py +@@ -303,7 +303,7 @@ class RepoSyncCommand(dnf.cli.Command): + progress, 0) + payloads = [RPMPayloadLocation(pkg, progress, self.pkg_download_path(pkg)) + for pkg in pkglist] +- base._download_remote_payloads(payloads, drpm, progress, None) ++ base._download_remote_payloads(payloads, drpm, progress, None, False) + + def print_urls(self, pkglist): + for pkg in pkglist: +-- +libgit2 1.0.1 + diff --git a/SOURCES/0006-copr-migrate-all-calls-to-APIv3.patch b/SOURCES/0006-copr-migrate-all-calls-to-APIv3.patch new file mode 100644 index 0000000..b23ce54 --- /dev/null +++ b/SOURCES/0006-copr-migrate-all-calls-to-APIv3.patch @@ -0,0 +1,101 @@ +From 54b7c5f91b4ad1db1f716f25cc7973ec7542f0d4 Mon Sep 17 00:00:00 2001 +From: Jakub Kadlcik +Date: Tue, 12 Oct 2021 12:54:05 +0200 +Subject: [PATCH] copr: migrate all calls to APIv3 + +In the latest Copr release we dropped all APIv1 code from frontend. +https://docs.pagure.org/copr.copr/release-notes/2021-10-01.html + +Unfortunatelly we frogot to migrate DNF copr plugin to APIv3 and +therefore the following commands started failing with 404. + + dnf copr search tests + dnf copr list --available-by-user frostyx +--- + plugins/copr.py | 40 +++++++++++++++++----------------------- + 1 file changed, 17 insertions(+), 23 deletions(-) + +diff --git a/plugins/copr.py b/plugins/copr.py +index 8841f03..7fc6c6f 100644 +--- a/plugins/copr.py ++++ b/plugins/copr.py +@@ -355,51 +355,45 @@ Bugzilla. In case of problems, contact the owner of this repository. + "Re-enable the project to fix this.")) + + def _list_user_projects(self, user_name): +- # http://copr.fedorainfracloud.org/api/coprs/ignatenkobrain/ +- api_path = "/api/coprs/{}/".format(user_name) +- res = self.base.urlopen(self.copr_url + api_path, mode='w+') ++ # https://copr.fedorainfracloud.org/api_3/project/list?ownername=ignatenkobrain ++ api_path = "/api_3/project/list?ownername={0}".format(user_name) ++ url = self.copr_url + api_path ++ res = self.base.urlopen(url, mode='w+') + try: + json_parse = json.loads(res.read()) + except ValueError: + raise dnf.exceptions.Error( + _("Can't parse repositories for username '{}'.") + .format(user_name)) + self._check_json_output(json_parse) + section_text = _("List of {} coprs").format(user_name) + self._print_match_section(section_text) +- i = 0 +- while i < len(json_parse["repos"]): +- msg = "{0}/{1} : ".format(user_name, +- json_parse["repos"][i]["name"]) +- desc = json_parse["repos"][i]["description"] +- if not desc: +- desc = _("No description given") ++ ++ for item in json_parse["items"]: ++ msg = "{0}/{1} : ".format(user_name, item["name"]) ++ desc = item["description"] or _("No description given") + msg = self.base.output.fmtKeyValFill(ucd(msg), desc) + print(msg) +- i += 1 + + def _search(self, query): +- # http://copr.fedorainfracloud.org/api/coprs/search/tests/ +- api_path = "/api/coprs/search/{}/".format(query) +- res = self.base.urlopen(self.copr_url + api_path, mode='w+') ++ # https://copr.fedorainfracloud.org/api_3/project/search?query=tests ++ api_path = "/api_3/project/search?query={}".format(query) ++ url = self.copr_url + api_path ++ res = self.base.urlopen(url, mode='w+') + try: + json_parse = json.loads(res.read()) + except ValueError: + raise dnf.exceptions.Error(_("Can't parse search for '{}'." + ).format(query)) + self._check_json_output(json_parse) + section_text = _("Matched: {}").format(query) + self._print_match_section(section_text) +- i = 0 +- while i < len(json_parse["repos"]): +- msg = "{0}/{1} : ".format(json_parse["repos"][i]["username"], +- json_parse["repos"][i]["coprname"]) +- desc = json_parse["repos"][i]["description"] +- if not desc: +- desc = _("No description given.") ++ ++ for item in json_parse["items"]: ++ msg = "{0} : ".format(item["full_name"]) ++ desc = item["description"] or _("No description given.") + msg = self.base.output.fmtKeyValFill(ucd(msg), desc) + print(msg) +- i += 1 + + def _print_match_section(self, text): + formatted = self.base.output.fmtSection(text) +@@ -624,7 +618,7 @@ Bugzilla. In case of problems, contact the owner of this repository. + + @classmethod + def _check_json_output(cls, json_obj): +- if json_obj["output"] != "ok": ++ if "error" in json_obj: + raise dnf.exceptions.Error("{}".format(json_obj["error"])) + + @classmethod +-- +libgit2 1.0.1 + diff --git a/SPECS/dnf-plugins-core.spec b/SPECS/dnf-plugins-core.spec index 393a80b..35575f9 100644 --- a/SPECS/dnf-plugins-core.spec +++ b/SPECS/dnf-plugins-core.spec @@ -1,4 +1,4 @@ -%{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.2.22} +%{?!dnf_lowest_compatible: %global dnf_lowest_compatible 4.7.0-5} %global dnf_plugins_extra 2.0.0 %global hawkey_version 0.46.1 %global yum_utils_subpackage_name dnf-utils @@ -34,7 +34,7 @@ Name: dnf-plugins-core Version: 4.0.21 -Release: 3%{?dist} +Release: 6%{?dist} Summary: Core Plugins for DNF License: GPLv2+ URL: https://github.com/rpm-software-management/dnf-plugins-core @@ -42,7 +42,9 @@ Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Patch1: 0001-versionlock-Do-not-exclude-locked-obsoleters-RhBug1957280.patch Patch2: 0002-repomanage-Allow-running-only-with-metadata.patch Patch3: 0003-repomanage-Enhance-repomanage-documentation-RhBug1898293.patch -Patch4: 0004-Update-translations.patch +Patch4: 0004-copr-dont-traceback-on-empty-lines-in-etcos-release.patch +Patch5: 0005-reposync-Use-fail_fastFalse-when-downloading-packages-RhBug2009894.patch +Patch6: 0006-copr-migrate-all-calls-to-APIv3.patch BuildArch: noarch BuildRequires: cmake @@ -766,8 +768,15 @@ ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/ %endif %changelog -* Mon Sep 13 2021 Marek Blaha - 4.0.21-3 -- Translations update (RhBug:1961633) +* Tue Nov 23 2021 Pavla Kratochvilova - 4.0.21-6 +- Increase dependency on dnf as it's required by reposync (RhBug:2023739) + +* Fri Nov 12 2021 Pavla Kratochvilova - 4.0.21-5 +- [copr] Migrate all calls to APIv3 (RhBug:2021821) + +* Tue Nov 09 2021 Pavla Kratochvilova - 4.0.21-4 +- [reposync] Don't stop downloading packages on the first error (RhBug:2009894) +- [copr] Fix traceback of copr search (RhBug:2019868) * Tue Jul 27 2021 Pavla Kratochvilova - 4.0.21-2 - [versionlock] Locking obsoleted package does not make the obsoleter unavailable (RhBug:1957280)