Imported Upstream version 17.25.4 upstream/17.25.4
authorJinWang An <jinwang.an@samsung.com>
Mon, 27 Dec 2021 00:31:35 +0000 (09:31 +0900)
committerJinWang An <jinwang.an@samsung.com>
Mon, 27 Dec 2021 00:31:35 +0000 (09:31 +0900)
208 files changed:
.clang-format
CMakeLists.txt
VERSION.cmake
devel/devel.ma/Test.cc
doc/autoinclude/SolverVendorChange.doc
libzypp.spec.cmake
needreboot
package/libzypp.changes
po/af.po
po/ar.po
po/be.po
po/bg.po
po/bn.po
po/bs.po
po/ca.po
po/cs.po
po/cy.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/es.po
po/et.po
po/fa.po
po/fi.po
po/fr.po
po/gl.po
po/gu.po
po/he.po
po/hi.po
po/hr.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/ka.po
po/km.po
po/ko.po
po/ku.po
po/lt.po
po/mk.po
po/mr.po
po/nb.po
po/nl.po
po/nn.po
po/pa.po
po/pl.po
po/pt.po
po/pt_BR.po
po/ro.po
po/ru.po
po/si.po
po/sk.po
po/sl.po
po/sr.po
po/sv.po
po/ta.po
po/th.po
po/tr.po
po/uk.po
po/vi.po
po/wa.po
po/xh.po
po/zh_CN.po
po/zh_TW.po
po/zu.po
po/zypp.pot
tests/data/PoolReuseIds/SeqA/SEQA.repo [new file with mode: 0644]
tests/data/PoolReuseIds/SeqA/repo.xml [deleted file]
tests/data/PoolReuseIds/SeqA/solver-test.xml [deleted file]
tests/data/PoolReuseIds/SeqA/zypp-control.yaml [new file with mode: 0644]
tests/data/PoolReuseIds/SeqB/SeqB.repo [new file with mode: 0644]
tests/data/PoolReuseIds/SeqB/oper.xml [deleted file]
tests/data/PoolReuseIds/SeqB/solver-test.xml [deleted file]
tests/data/PoolReuseIds/SeqB/zypp-control.yaml [new file with mode: 0644]
tests/data/TCNamespaceRecommends/@System.repo [new file with mode: 0644]
tests/data/TCNamespaceRecommends/solver-system.xml [deleted file]
tests/data/TCNamespaceRecommends/solver-test.xml [deleted file]
tests/data/TCNamespaceRecommends/update.repo [new file with mode: 0644]
tests/data/TCNamespaceRecommends/update.xml [deleted file]
tests/data/TCNamespaceRecommends/zypp-control.yaml [new file with mode: 0644]
tests/data/TCSelectable/@System.repo [new file with mode: 0644]
tests/data/TCSelectable/RepoHIGH.repo [new file with mode: 0644]
tests/data/TCSelectable/RepoHIGH.xml [deleted file]
tests/data/TCSelectable/RepoLOW.repo [new file with mode: 0644]
tests/data/TCSelectable/RepoLOW.xml [deleted file]
tests/data/TCSelectable/RepoMID.repo [new file with mode: 0644]
tests/data/TCSelectable/RepoMID.xml [deleted file]
tests/data/TCSelectable/RepoSRC.repo [new file with mode: 0644]
tests/data/TCSelectable/RepoSRC.xml [deleted file]
tests/data/TCSelectable/solver-system.xml [deleted file]
tests/data/TCSelectable/solver-test.xml [deleted file]
tests/data/TCSelectable/zypp-control.yaml [new file with mode: 0644]
tests/data/TCWhatObsoletes/@System.repo [new file with mode: 0644]
tests/data/TCWhatObsoletes/solver-system.xml [deleted file]
tests/data/TCWhatObsoletes/solver-test.xml [deleted file]
tests/data/TCWhatObsoletes/zypp-control.yaml [new file with mode: 0644]
tests/data/TCdup/@System.repo [new file with mode: 0644]
tests/data/TCdup/solver-system.xml [deleted file]
tests/data/TCdup/solver-test.xml [deleted file]
tests/data/TCdup/update.repo [new file with mode: 0644]
tests/data/TCdup/update.xml [deleted file]
tests/data/TCdup/zypp-control.yaml [new file with mode: 0644]
tests/lib/TestSetup.h
tests/sat/LookupAttr_test.cc
tests/zypp/CMakeLists.txt
tests/zypp/PurgeKernels_test.cc
tests/zypp/RepoStatus_test.cc
tests/zypp/StringV_test.cc [new file with mode: 0644]
tests/zypp/Url_test.cc
tests/zypp/Vendor2_test.cc [deleted file]
tests/zypp/Vendor_test.cc
tests/zypp/data/PurgeKernels/arch/@System.repo [new file with mode: 0644]
tests/zypp/data/PurgeKernels/arch/solver-system.xml [deleted file]
tests/zypp/data/PurgeKernels/arch/solver-test.xml [deleted file]
tests/zypp/data/PurgeKernels/arch/zypp-control.yaml [new file with mode: 0644]
tests/zypp/data/PurgeKernels/fancybuildnr/@System.repo [new file with mode: 0644]
tests/zypp/data/PurgeKernels/fancybuildnr/zypp-control.yaml [new file with mode: 0644]
tests/zypp/data/PurgeKernels/flavour/@System.repo [new file with mode: 0644]
tests/zypp/data/PurgeKernels/flavour/zypp-control.yaml [new file with mode: 0644]
tests/zypp/data/PurgeKernels/kernel-base/@System.repo [new file with mode: 0644]
tests/zypp/data/PurgeKernels/kernel-base/zypp-control.yaml [new file with mode: 0644]
tests/zypp/data/PurgeKernels/rebuild/@System.repo [new file with mode: 0644]
tests/zypp/data/PurgeKernels/rebuild/solver-system.xml [deleted file]
tests/zypp/data/PurgeKernels/rebuild/solver-test.xml [deleted file]
tests/zypp/data/PurgeKernels/rebuild/zypp-control.yaml [new file with mode: 0644]
tests/zypp/data/PurgeKernels/simple/@System.repo [new file with mode: 0644]
tests/zypp/data/PurgeKernels/simple/solver-system.xml [deleted file]
tests/zypp/data/PurgeKernels/simple/solver-test.xml [deleted file]
tests/zypp/data/PurgeKernels/simple/zypp-control.yaml [new file with mode: 0644]
tests/zypp/data/PurgeKernels/withdeps/@System.repo [new file with mode: 0644]
tests/zypp/data/PurgeKernels/withdeps/solver-system.xml [deleted file]
tests/zypp/data/PurgeKernels/withdeps/solver-test.xml [deleted file]
tests/zypp/data/PurgeKernels/withdeps/zypp-control.yaml [new file with mode: 0644]
tests/zypp/data/Vendor/zypp1.conf [deleted file]
tests/zypp/data/Vendor/zypp2.conf.cmake [deleted file]
tests/zyppng/media/EvDownloader_test.cc
tools/zypp-NameReqPrv.cc
zypp.conf
zypp/AutoDispose.h
zypp/CMakeLists.txt
zypp/ExternalProgram.cc
zypp/IdString.h
zypp/KeyManager.cc
zypp/Locks.cc
zypp/PathInfo.cc
zypp/PublicKey.cc
zypp/PurgeKernels.cc
zypp/RepoInfo.cc
zypp/RepoManager.cc
zypp/RepoStatus.cc
zypp/RepoStatus.h
zypp/Repository.cc
zypp/Repository.h
zypp/ServiceInfo.cc
zypp/Target.cc
zypp/Target.h
zypp/Url.cc
zypp/Url.h
zypp/VendorAttr.cc
zypp/VendorAttr.h
zypp/ZConfig.cc
zypp/ZYppFactory.cc
zypp/base/ExternalDataSource.cc
zypp/base/ExternalDataSource.h
zypp/base/Function.h
zypp/base/IOTools.cc [new file with mode: 0644]
zypp/base/IOTools.h [new file with mode: 0644]
zypp/base/Iterator.h
zypp/base/Measure.cc
zypp/base/Measure.h
zypp/base/ProvideNumericId.h
zypp/base/StringV.cc [moved from zypp/sat/AttrMatcher.h with 58% similarity]
zypp/base/StringV.h [new file with mode: 0644]
zypp/media/CurlHelper.cc
zypp/media/MediaCurl.cc
zypp/media/MediaUserAuth.cc
zypp/media/MediaUserAuth.h
zypp/misc/CheckAccessDeleted.cc
zypp/misc/HelixHelpers.h [new file with mode: 0644]
zypp/misc/LoadTestcase.cc [new file with mode: 0644]
zypp/misc/LoadTestcase.h [new file with mode: 0644]
zypp/misc/TestcaseSetup.cc [new file with mode: 0644]
zypp/misc/TestcaseSetup.h [new file with mode: 0644]
zypp/misc/TestcaseSetupImpl.h [new file with mode: 0644]
zypp/misc/YamlTestcaseHelpers.h [new file with mode: 0644]
zypp/parser/IniDict.cc
zypp/parser/IniDict.h
zypp/parser/RepoFileReader.cc
zypp/parser/xml/libxmlfwd.h
zypp/repo/RepoVariables.cc
zypp/sat/SolvAttr.cc
zypp/sat/detail/PoolImpl.cc
zypp/sat/detail/PoolImpl.h
zypp/solver/detail/Testcase.cc
zypp/solver/detail/Testcase.h
zypp/solver/detail/Testcase_helix.cc [new file with mode: 0644]
zypp/target/TargetImpl.cc
zypp/target/TargetImpl.h
zypp/target/rpm/RpmDb.cc
zypp/target/rpm/RpmDb.h
zypp/target/rpm/RpmHeader.cc
zypp/target/rpm/librpmDb.cc
zypp/target/rpm/librpmDb.h
zypp/ui/UserWantedPackages.cc
zypp/url/UrlBase.cc
zypp/url/UrlBase.h
zypp/zyppng/media/network/downloader.cc

index da75ab9..c217262 100644 (file)
@@ -79,7 +79,7 @@ KeepEmptyLinesAtTheStartOfBlocks: true
 MacroBlockBegin: ''
 MacroBlockEnd: ''
 MaxEmptyLinesToKeep: 1
-NamespaceIndentation: None
+NamespaceIndentation: All
 ObjCBinPackProtocolList: Auto
 ObjCBlockIndentWidth: 2
 ObjCSpaceAfterProperty: true
index 1245837..d3945f8 100644 (file)
@@ -9,6 +9,7 @@ OPTION (ENABLE_BUILD_DOCS "Build documentation by default?" OFF)
 OPTION (ENABLE_BUILD_TRANS "Build translation files by default?" OFF)
 OPTION (ENABLE_BUILD_TESTS "Build and run test suite by default?" OFF)
 OPTION (ENABLE_USE_THREADS "Enable using threads (NOT being used by threads!)?" OFF)
+OPTION (ENABLE_ZSTD_COMPRESSION "Build with zstd compression support?" OFF)
 OPTION (ENABLE_ZCHUNK_COMPRESSION "Build with zchunk compression support?" OFF)
 OPTION (DISABLE_MEDIABACKEND_TESTS "Disable Tests depending on Nginx and libfcgi?" OFF)
 
@@ -54,6 +55,7 @@ SET( VERSION "${LIBZYPP_MAJOR}.${LIBZYPP_MINOR}.${LIBZYPP_PATCH}" )
 CONFIGURE_FILE ( zypp/APIConfig.h.in zypp/APIConfig.h )
 
 SET (CMAKE_CXX_STANDARD ${ZYPPCOMMON_CXX_STANDARD})
+SET (CMAKE_CXX_EXTENSIONS OFF)
 include(CheckCCompilerFlag)
 include(CheckCXXCompilerFlag)
 CHECK_C_COMPILER_FLAG("-Werror=format-security" CC_FORMAT_SECURITY)
@@ -182,6 +184,15 @@ ELSE ( NOT ZLIB_FOUND)
 ENDIF( NOT ZLIB_FOUND)
 
 
+FIND_PACKAGE(YAML-CPP REQUIRED)
+IF ( NOT YAML-CPP_FOUND)
+  MESSAGE( FATAL_ERROR " yaml-cpp not found" )
+ELSE ( NOT YAML-CPP_FOUND)
+  INCLUDE_DIRECTORIES(${YAML_CPP_INCLUDE_DIR})
+ENDIF( NOT YAML-CPP_FOUND)
+
+
+
 #Allow to override the libsolv install location
 IF( LIBSOLV_SRCDIR AND LIBSOLV_BUILDDIR )
   execute_process(
@@ -195,7 +206,7 @@ IF( LIBSOLV_SRCDIR AND LIBSOLV_BUILDDIR )
   )
 
   INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR}/libsolv/include ${CMAKE_BINARY_DIR}/libsolv/ext ${CMAKE_BINARY_DIR}/libsolv/solvversion ${CMAKE_BINARY_DIR}/libsolv/solvversion/solv ${CMAKE_BINARY_DIR}/libsolv/ext/solv ${CMAKE_BINARY_DIR}/libsolv/include/solv )
-  SET( LibSolv_LIBRARIES ${LIBSOLV_BUILDDIR}/src/libsolv.a ${LIBSOLV_BUILDDIR}/ext/libsolvext.a )
+  SET( LibSolv_LIBRARIES ${LIBSOLV_BUILDDIR}/ext/libsolvext.a ${LIBSOLV_BUILDDIR}/src/libsolv.a )
 
 ELSE()
   FIND_PACKAGE(LibSolv REQUIRED ext)
@@ -204,6 +215,8 @@ ELSE()
     MESSAGE( FATAL_ERROR " libsolv not found" )
   ELSE()
     INCLUDE_DIRECTORIES( ${LibSolv_INCLUDE_DIRS} )
+    # static case: Assert libsolv.a ist the last one linked
+    SET(LibSolv_LIBRARIES ${LibSolv_LIBRARIES} ${LIBSOLV_LIBRARY})
   ENDIF()
 ENDIF( LIBSOLV_SRCDIR AND LIBSOLV_BUILDDIR )
 
@@ -247,6 +260,14 @@ ELSE ( NOT DOXYGEN )
   MESSAGE( STATUS "doxygen found: ${DOXYGEN}" )
 ENDIF ( NOT DOXYGEN )
 
+# By now just libsolvs external references require us to link against it:
+IF (ENABLE_ZSTD_COMPRESSION)
+  MESSAGE("Building with zstd support enabled.")
+  FIND_LIBRARY (ZSTD_LIBRARY NAMES zstd)
+  FIND_PATH (ZSTD_INCLUDE_DIRS zstd.h)
+  #INCLUDE_DIRECTORIES (${ZSTD_INCLUDE_DIRS})
+ENDIF (ENABLE_ZSTD_COMPRESSION)
+
 IF (ENABLE_ZCHUNK_COMPRESSION)
   MESSAGE("Building with zchunk support enabled.")
   PKG_CHECK_MODULES (ZCHUNK zck REQUIRED)
index 0ea4d5b..34a42fd 100644 (file)
@@ -60,9 +60,9 @@
 #
 SET(LIBZYPP_MAJOR "17")
 SET(LIBZYPP_COMPATMINOR "22")
-SET(LIBZYPP_MINOR "24")
-SET(LIBZYPP_PATCH "0")
+SET(LIBZYPP_MINOR "25")
+SET(LIBZYPP_PATCH "4")
 #
-# LAST RELEASED: 17.24.0 (22)
+# LAST RELEASED: 17.25.4 (22)
 # (The number in parenthesis is LIBZYPP_COMPATMINOR)
 #=======
index f39a634..8abb6c9 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <zypp/sat/LookupAttr.h>
 #include <zypp/PoolQuery.h>
-#include <zypp/sat/AttrMatcher.h>
 
 static const Pathname sysRoot( "/tmp/ToolScanRepos" );
 
index 99ae1cc..6e3977a 100644 (file)
@@ -76,6 +76,7 @@ vendors = <PUT YOUR LIST HERE>
 
 \note A built in rule unifying \c "suse"  and \c "opensuse" was disabled in libzypp-16.7.1. The above example would recreate it.
 
+\note Within the \c "opensuse*" namespace exact matches (case insensitive) are required. The above example will allow switching between \c "suse*" and \c "opensuse" but not e.g. \c "opensuse build service".
 
 
 \section zypp-solv-vendorchange-Impl Related classes
index cf444d5..b6a1427 100644 (file)
 %else
 %bcond_with zchunk
 %endif
+# libsolvs external references require us to link against it:
+%if 0%{?sle_version} >= 150000 || 0%{?suse_version} >= 1500
+%bcond_without zstd
+%else
+%bcond_with zstd
+%endif
 
 %bcond_without mediabackend_tests
 
@@ -67,6 +73,7 @@ BuildRequires:  gcc-c++ >= 7
 BuildRequires:  gettext-devel
 BuildRequires:  graphviz
 BuildRequires:  libxml2-devel
+BuildRequires:  yaml-cpp-devel
 %if 0%{?suse_version} != 1110
 # No libproxy on SLES
 BuildRequires:  libproxy-devel
@@ -78,7 +85,7 @@ BuildRequires:  pkgconfig
 BuildRequires:  pkg-config
 %endif
 
-BuildRequires:  libsolv-devel >= 0.7.11
+BuildRequires:  libsolv-devel >= 0.7.15
 %if 0%{?suse_version} >= 1100
 BuildRequires:  libsolv-tools
 %requires_eq    libsolv-tools
@@ -150,6 +157,9 @@ BuildRequires:  libxslt-tools
 %if %{with zchunk}
 BuildRequires:  libzck-devel
 %endif
+%if %{with zstd}
+BuildRequires:  libzstd-devel
+%endif
 
 %description
 libzypp is the package management library that powers applications
@@ -243,6 +253,7 @@ cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
       -DCMAKE_BUILD_TYPE=Release \
       -DCMAKE_SKIP_RPATH=1 \
       %{?with_zchunk:-DENABLE_ZCHUNK_COMPRESSION=1} \
+      %{?with_zstd:-DENABLE_ZSTD_COMPRESSION=1} \
       %{!?with_mediabackend_tests:-DDISABLE_MEDIABACKEND_TESTS=1} \
       ${EXTRA_CMAKE_OPTIONS} \
       ..
index 9c0d6d8..0dbf75b 100644 (file)
@@ -4,7 +4,10 @@
 ## one of these packages was updated.
 ##
 ## This config file is maintained by libzypp unless you manually amend it.
-## Additional configuration files can be placed in /etc/zypp/needreboot.d.
+## Additional configuration files can be placed in /etc/zypp/needreboot.d
+##
+## For packages the intended way would be to provide 'installhint(reboot-needed)'
+## if the package wants to trigger the needreboot hint.
 ##
 ## Format: Each line must contain either a 'PACKAGENAME' or 'provides:CAPABILITY'
 ##         to include all packages providing a dependency match for 'CAPABILITY'.
@@ -22,4 +25,3 @@ kernel-firmware
 libopenssl1_0_0
 libopenssl1_1
 systemd
-udev
index 8d40f31..80ed1b5 100644 (file)
@@ -1,4 +1,91 @@
 -------------------------------------------------------------------
+Thu Dec  3 17:06:35 CET 2020 - ma@suse.de
+
+- Prevent librpmDb iterator from accidentally creating an empty
+  rpmdb in / (repoened bsc#1178910)
+- Fix update of gpg keys with elongated expire date (bsc#179222)
+- needreboot: remove udev from the list (bsc#1179083)
+- Prefer /run over /var/run.
+- version 17.25.4 (22)
+
+-------------------------------------------------------------------
+Fri Nov 27 10:17:50 CET 2020 - ma@suse.de
+
+- RepoManager: Carefully tidy up the caches. Remove non-directory
+  entries. (bsc#1178966)
+- RpmDb: If no database exists use the _dbpath configured in rpm.
+  Still makes sure a compat symlink at /var/lib/rpm exists in case
+  the configures _dbpath is elsewhere. (bsc#1178910)
+- Url: Hide known password entries when writing the query part
+  (bsc#1050625 bsc#1177583, CVE-2017-9271)
+- adapt testcase to change introduced by libsolv#402.
+- RepoManager: Force refresh if repo url has changed (bsc#1174016)
+- RepoInfo: ignore legacy type= in a .repo file and let RepoManager
+  probe (bsc#1177427, Fixes openSUSE/zypper#357).
+- version 17.25.3 (22)
+
+-------------------------------------------------------------------
+Wed Oct  7 12:05:33 CEST 2020 - ma@suse.de
+
+- Bump version to force rebuild against a fixed libsolv.
+  (bsc#1177238, bsc#1177275)
+- version 17.25.2 (22)
+
+-------------------------------------------------------------------
+Fri Sep 25 13:39:38 CEST 2020 - ma@suse.de
+
+- Fix bsc#1176902: When kernel-rt has been installed, the
+  purge-kernels service fails during boot.
+- Use package name provides as group key in purge-kernel
+  (bsc#1176740 bsc#1176192)
+  kernel-default-base has new packaging, where the kernel uname -r
+  does not reflect the full package version anymore. This patch
+  adds additional logic to use the most generic/shortest edition
+  each package provides with %{packagename}=<version> to group the
+  kernel packages instead of the rpm versions.
+  This also changes how the keep-spec for specific versions is
+  applied, instead of matching the package versions, each of the
+  package name provides will be matched.
+- version 17.25.1 (22)
+
+-------------------------------------------------------------------
+Fri Sep 18 16:45:49 CEST 2020 - ma@suse.de
+
+- RepoInfo: Return the type of the local metadata cache as
+  fallback (bsc#1176435)
+- VendorAttr: Fix broken "suse,opensuse" equivalence handling.
+  Enhance API and testcases. (bsc#1174918)
+- Update docs regarding 'opensuse' namepace matching.
+- New solver testcase format.
+- Link against libzsd to close libsolvs open references
+  (as we link statically)
+- BuildRequires:  libsolv-devel >= 0.7.15.
+- version 17.25.0 (22)
+
+-------------------------------------------------------------------
+Fri Aug 28 17:09:59 CEST 2020 - ma@suse.de
+
+- VendorAttr: Const-correct API and let Target provide its
+  settings (bsc#1174918)
+- Support buildnr with commit hash in purge-kernels (bsc#1175342)
+  This adds special behaviour for when a kernel version has the
+  rebuild counter before the kernel commit hash.
+- Improve Italian traslation of the "breaking dependencies"
+  message (bsc#1173529)
+- Make sure reading from lsof does not block forever (bsc#1174240)
+- Just collect details for the signatures found (fixes #229)
+- version 17.24.2 (22)
+
+-------------------------------------------------------------------
+Thu Jul 16 18:04:18 CEST 2020 - ma@suse.de
+
+- Fix bsc#1174011 auth=basic ignored in some cases (bsc#1174011)
+  Proactively send credentials if the URL specifes '?auth=basic'
+  and a username.
+- ZYPP_MEDIA_CURL_DEBUG: Strip credentials in header log (bsc#1174011)
+- version 17.24.1 (22)
+
+-------------------------------------------------------------------
 Tue Jul 14 13:19:56 CEST 2020 - ma@suse.de
 
 - Completey rework the purge-kernels algorithm (fix bsc#1173106)
index 7713f94..b39a91b 100644 (file)
--- a/po/af.po
+++ b/po/af.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2006-11-03 12:03\n"
 "Last-Translator: Novell Language <language@novell.com>\n"
 "Language-Team: Novell Language <language@novell.com>\n"
@@ -1293,53 +1293,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Kan lêer '%1' nie open nie."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Kan %s nie vind nie."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Kan %s nie vind nie."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Opdrag uitgevoer wanneer verbind word"
@@ -3767,20 +3767,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3791,7 +3791,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3813,8 +3813,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Die SM se naam kan nie met ’n syfer begin nie."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Kan lêer nie vir skryf open nie."
@@ -3834,32 +3834,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Kan werkskermitem '%s' nie open nie"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "Kan gids %1 nie skep nie: %2."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3869,44 +3869,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Fout met lees vanaf slapskyf."
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Ongeldige uitvoerlêernaam."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Terugstel van hulpbronne"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Kan werkskermitem '%s' nie open nie"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4031,18 +4031,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Ongeldige Url-skema '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4069,6 +4071,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Lêer %1 nie in die bewaarplek gevind nie."
@@ -4172,6 +4175,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Toelatings geweier"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4182,6 +4186,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4191,18 +4196,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4356,7 +4361,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "Kan die lêer nie skep nie."
@@ -4372,222 +4377,222 @@ msgstr "Ignoreer dié vereiste net hier"
 msgid "generally ignore of some dependencies"
 msgstr "Ignoreer dié vereiste net hier"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s voorsien %s, maar dit het ’n ander argitektuur."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "opdrag om pakkette te oninstalleer"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "Verbindingsversoek aan:"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "Kan %s nie installeer nie vanweë afhanklikheidsprobleme"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "Geen voorsiening %s nie"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Die skyf bestaan nie."
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s is gesluit en kan nie ongeïnstalleer word nie."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "nie geïnstalleer nie"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s word benodig deur %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Kan %s nie installeer nie"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s verkeer in konflik met %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s uitgediendes %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s uitgediendes %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s verkeer in konflik met %s"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "Geen voorsiening %s nie"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "Daar is geen installeerbare verskaffers van %s nie"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "Daar is geen installeerbare verskaffers van %s nie"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "moenie %s installeer nie"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "hou %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "moenie %s installeer nie"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "Die navraag bestaan reeds."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "Daar is geen installeerbare verskaffers van %s nie"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "Moenie waar oplossings ter sprake is, installeer of skrap nie"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s voorsien %s, maar dit het ’n ander argitektuur."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "Installeer %s, hoewel dit die argitektuur kan verander"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s uitgediendes %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "%s afgelaai vanaf %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Installasie"
@@ -4604,16 +4609,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Installasie is gestaak soos gelas."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "Voer uit"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4621,65 +4626,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "Fout tydens sleutelenkriptering."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "het misluk"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Gewysigde konfigurasielêers vir %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm geberg %s as %s, maar dit was onmoontlik om die verskil te bepaal"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4689,13 +4694,13 @@ msgstr ""
 "Hier is die eerste 25 rëels van verskil:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm geskep %s as %s, maar dit was onmoontlik om die verskil te bepaal"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4706,51 +4711,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "Bykomende rpm-uitset:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "geskepte rugsteun %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "Inskywing nie gevind nie."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "Inskywing nie gevind nie."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "Inskywing nie gevind nie."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4836,6 +4841,20 @@ msgstr "Ongeldige parameterbindingsplyt-skeierkarakter"
 msgid "Invalid parameter array join separator character"
 msgstr "Ongeldige parametermatrysaansluit-skeierkarakter"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Kan lêer '%1' nie open nie."
index b6b0186..16b1fd6 100644 (file)
--- a/po/ar.po
+++ b/po/ar.po
@@ -12,11 +12,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2020-05-02 19:50+0000\n"
 "Last-Translator: mohammad alhargan <malham1@gmail.com>\n"
-"Language-Team: Arabic <https://l10n.opensuse.org/projects/libzypp/master/ar/>"
-"\n"
+"Language-Team: Arabic <https://l10n.opensuse.org/projects/libzypp/master/ar/"
+">\n"
 "Language: ar\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1302,55 +1302,55 @@ msgstr "يحسن"
 msgid "Supplements"
 msgstr "يُضيف"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "تعذر فتح pty (‏%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "لا يمكن فتح المسار (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "لا يمكن تغيير الجذر الافتراضي إلى '%s' (‏%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 "لا يمكن إجراء تغيير الدليل الافتراضي إلى '%s' داخل تغيير الجذر الافتراضي "
 "'%s' (‏%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "لا يمكن تغيير الدليل الافتراضي إلى '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "لا يمكن تنفيذ '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "تعذر تقسيم (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "تم إنهاء الأمر بالحالة %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "تم إنهاء الأمر بواسطة الإشارة %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "تم إنهاء الأمر بخطأ غير معروف."
 
@@ -3782,20 +3782,20 @@ msgstr[5] "(ستنتهي الصلاحية خلال %d من الأيام)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "البحث عن مفتاح gpg للتشفير %1% في الذاكرة المؤقتة %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "يتم البحث عن معرف لمفتاح gpg رقم %1% في المستودع %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "المستودع %1% لم يقم بتعريف مفتاح إضافي 'مفتاح gpg=' عناوين المواقع."
@@ -3806,7 +3806,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "تعذرت قراءة دليل المخازن '%1%': تم رفض الإذن"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3826,8 +3826,8 @@ msgid "Service alias cannot start with dot."
 msgstr "لا يمكن أن يبدأ الاسم المستعار للخدمة بنقطة."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "تعذر فتح الملف '%s' للكتابة."
@@ -3851,31 +3851,31 @@ msgstr[3] "لم يتم العثور على بيانات تعريف صالحة ف
 msgstr[4] "لم يتم العثور على بيانات تعريف صالحة في كثير من عناوين URL المحددة"
 msgstr[5] "لم يتم العثور على بيانات تعريف صالحة في عناوين  URL محددة أخرى"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "لا يمكن إنشاء %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "لا يمكن إنشاء دليل لذاكرة التخزين المؤقت لبيانات التعريف."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "يتم الآن بناء الذاكرة المؤقتة لمخزن '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "لا يمكن إنشاء ذاكرة التخزين المؤقت في %s - لا توجد أذونات للكتابة."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "فشل التخزين المؤقت للمخزن (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "نوع مخزن غير معالج"
 
@@ -3885,44 +3885,44 @@ msgstr "نوع مخزن غير معالج"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "حدث خطأ أثناء محاولة القراءة من '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "حدث خطأ غير معروف أثناء القراءة من '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "إضافة المخزن '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "اسم ملف المخزن غير صالح في '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "إزالة المخزن '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "لا يمكن معرفة مكان تخزين المخزن."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "لا يمكن حذف '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "لا يمكن معرفة مكان تخزين الخدمة."
 
@@ -4055,12 +4055,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "التعبير العادي '%s' غير صالح"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "التصديق '%s' مطلوب"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4068,7 +4069,8 @@ msgstr ""
 "تفضل بزيارة مركز عملاء SUSE للتحقق ما إذا كان التسجيل صالحًا وغير منته "
 "الصلاحية بعد."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4097,6 +4099,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "لم يتم فتح الوسيط أثناء محاولة تنفيذ الإجراء '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "لم يتم العثور على الملف '%s' في الوسيط '%s'"
@@ -4202,6 +4205,7 @@ msgid "Permission to access '%s' denied."
 msgstr "تم رفض إذن الوصول إلى '%s'."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "تم تجاوز المهلة عند الوصول إلى '%s'."
@@ -4212,6 +4216,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "تجاوزت البيانات المحملة حجم الملف ,الحجم المتوقع للملف '%s' من '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "يتعذر الوصول إلى الموقع '%s' مؤقتًا."
@@ -4221,19 +4226,19 @@ msgstr "يتعذر الوصول إلى الموقع '%s' مؤقتًا."
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " مشكلة في شهادة SSL، تحقق من أن شهادة CA صالحة لـ '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 "إنشاء نقطة إرفاق: لا يمكن العثور على دليل قابل للكتابة لإنشاء نقطة إرفاق"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "أسلوب تصديق HTTP غير مدعوم '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "الرجاء تثبيت حزمة 'lsof' أولًا."
 
@@ -4433,7 +4438,7 @@ msgstr ""
 "  من تثبيت\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "تعذر إنشاء sat-pool."
 
@@ -4447,99 +4452,99 @@ msgstr "توقيف %s عن طريق تجاهل بعض تبعياتها"
 msgid "generally ignore of some dependencies"
 msgstr "تجاهل بشكل عام لبعض التبعيات"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "لا ينتمي %s إلى مخزن ترقية التوزيع"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "هيكل %s غير ملائم"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "توجد مشكلة بالحزمة المثبتة %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "طلبات متعارضة"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "بعض مشكلات التبعية"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "لا يوجد مصدر لتوفير %s المطلوب"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "هل قمت بتمكين كل المخازن المطلوبة؟"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "الحزمة %s غير موجود"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "الطلب غير مدعوم"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "يتم توفير %s من خلال النظام ولا يمكن حذفه"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s غير قابل للتثبيت"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "لا يوجد مصدر لتوفير %s المطلوب من قبل %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "لا يمكن تثبيت كل من %s و%s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "يتعارض %s مع %s المتوفر من قبل %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s يُبطِل %s المتوفر من قبل %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s المثبَت سيُبطل %s الموفَر بواسطة %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "المشكلة القابلة للحل %s تتعارض مع %s المتوفرة من نفسها"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s يتطلب %s، ولكن لا يمكن توفير هذا المتطلب"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "الموفرون المحذوفون: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4547,106 +4552,106 @@ msgstr ""
 "\n"
 "موفرون غير قابلين للتثبيت: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "الموفرون غير القابلين للتثبيت: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "إزالة القفل للسماح بالحذف %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "عدم تثبيت %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "الاحتفاظ بـ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "إزالة القفل للسماح بالتثبيت %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "سيؤدي هذا الطلب إلى تعطل النظام!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "تجاهل تحذير النظام المعطل"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "عدم طلب تثبيت المشاكل القابلة للحل التي توفر %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "عدم طلب حذف كل المشاكل القابلة للحل التي توفر %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "عدم تثبيت أحدث إصدار من %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "الحفاظ على %s بغض النظر عن الهيكل غير الملائم"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "تثبيت %s بغض النظر عن الهيكل غير الملائم"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "الحفاظ على %s القديمة"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "تثبيت %s من المخزن المستبعد"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "بتثبيت %1% على الرغم من أنه تم سحبه"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "تسمح بتثبيت  PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "تثبيت %1% على الرغم من أنه مدرج في القائمة السوداء"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "تخفيض إصدار %s إلى %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "تغيير الهيكل الخاص بـ %s إلى %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4655,12 +4660,12 @@ msgstr ""
 "تثبيت %s (مع تغيير البائع)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "استبدال %s بـ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "إلغاء تثبيت %s"
@@ -4677,78 +4682,78 @@ msgstr "جارٍ تنفيذ برنامج %%posttrans النصي '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "جارٍ تنفيذ برامج %posttrans النصية"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "تم إيقاف التثبيت وفقًا للتعليمات."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " مُنفَّذ"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " فشل التنفيذ"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "تم تنفيذ %s بالفعل كـ %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " تم تخطي التنفيذ أثناء الإيقاف"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "حدث خطأ أثناء إرسال رسالة إعلام بالتحديث."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "رسالة تحديث جديد"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "فشل RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "فشل استيراد المفتاح العمومي %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "أخفقت إزالة المفتاح العام %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "لم يتم توقيع الحزمة!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "ملفات التكوين التي تم تغييرها لـ %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "قامت rpm بحفظ %s باعتبارها %s، ولكن تعذر تحديد الفرق"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4758,13 +4763,13 @@ msgstr ""
 "فيما يلي أول 25 سطرًا من سطور الفرق:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "قامت rpm بإنشاء %s باعتبارها %s، ولكن تعذر تحديد الفرق"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4775,47 +4780,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "مخرجات rpm إضافية"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "تم إنشاء النسخة الاحتياطية %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "تمت المصادقة على التوقيع"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "نوع التوقيع غير معروف"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "تعذر التحقق من التوقيع"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "تمت المصادقة على التوقيع، لكن المفتاح غير موثوق به"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "تواقيع المفتاح العمومي غير متوفرة"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "الملف غير موجود أو لا يمكن التحقق من توقيعه"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "الملف غير موقع"
 
@@ -4901,6 +4906,20 @@ msgstr "حرف تقسيم مخطط المعلمات الفاصل غير صالح
 msgid "Invalid parameter array join separator character"
 msgstr "حرف ربط مصفوفة المعلمات الفاصل غير صالح"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "لا يمكن فتح ملف القفل: %s"
 
index 877acde..6502c05 100644 (file)
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2006-01-04 08:58+0100\n"
 "Last-Translator: Alexander Nyakhaychyk <nyakhaychyk@gmail.com>\n"
 "Language-Team: Belarusian <i18n@suse.de>\n"
@@ -1318,53 +1318,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr ""
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -3858,20 +3858,20 @@ msgstr[2] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3882,7 +3882,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3902,8 +3902,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr ""
@@ -3924,31 +3924,31 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr ""
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr ""
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 #, fuzzy
 msgid "Unhandled repository type"
 msgstr "Дадаць уключаныя сховішчы"
@@ -3959,44 +3959,44 @@ msgstr "Дадаць уключаныя сховішчы"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Невядомая опцыя для каманды '%1': %2"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, fuzzy, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Даданне ўключаных сховішчаў..."
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Выдаленне непатрэбных сховішчаў..."
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4120,18 +4120,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Памылковае значэнне для опцыі '%1': %2"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4158,6 +4160,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4260,6 +4263,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4270,6 +4274,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4279,18 +4284,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4441,7 +4446,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4455,217 +4460,217 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 #, fuzzy
 msgid "Have you enabled all requested repositories?"
 msgstr "Выдаліць непатрэбныя сховішчы"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr ""
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "Захаваць налады ўсталёўкі"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Захаваць налады ўсталёўкі"
@@ -4682,78 +4687,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr ""
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Змяніць канфігурацыю IrDA"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4761,13 +4766,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4776,47 +4781,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4902,6 +4907,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Unable to create dbus connection"
 #~ msgstr "Праверыць інтэрнэт злучэнне"
index 5804fda..2cc3d34 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.bg\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2017-10-23 11:43+0000\n"
 "Last-Translator: Dimitar Zahariev <mitko@tuionui.com>\n"
 "Language-Team: Bulgarian <https://l10n.opensuse.org/projects/libzypp/master/"
@@ -1448,53 +1448,53 @@ msgstr "Подобрява"
 msgid "Supplements"
 msgstr "Допълва"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Възникнала е грешка при отварянето на %s: %m"
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Възникнала е грешка при отварянето на %s: %m"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Възникнала е грешка при отварянето на %s: %m"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Команда за изпълнение при свързване"
@@ -4012,20 +4012,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -4036,7 +4036,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4056,8 +4056,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Файлът не може да бъде отворен за запис."
@@ -4077,31 +4077,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Не може да се създаде %s: %m\n"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Достъпът до носителя за обновяване на драйверите е неуспешен."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -4111,44 +4111,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Грешка при четенето от дискетата."
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "невалидно име на услуга '%1'."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "%s не може да бъде инсталиран"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4274,18 +4274,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "невалидно име на услуга '%1'."
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4312,6 +4314,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4414,6 +4417,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4424,6 +4428,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4433,18 +4438,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4597,7 +4602,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "Възникнала е грешка при създаването на временния файл %s: %m"
@@ -4613,220 +4618,220 @@ msgstr "Пренебрегване на това изискване само т
 msgid "generally ignore of some dependencies"
 msgstr "Пренебрегване на това изискване само тук"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s доставя %s, но има друга архитектура."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "%s не може да бъде инсталиран поради пробем със зависимостите"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "Никой не доставя %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Пакетът не е подписан"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s е заключен и не може да бъде деинсталиран."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "Инсталирането на %s бе неуспешно"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s е необходим на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s не може да бъде инсталиран"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s е в конфликт с %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s прави ненужно %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s прави ненужно %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s е в конфликт с %s"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "Никой не доставя %s"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "Няма инсталируеми доставчици на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "Няма инсталируеми доставчици на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "без инсталиране на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "запазване на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "без инсталиране на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "Няма инсталируеми доставчици на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "Без инсталиране или премахване на конфликтните пакети"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s доставя %s, но има друга архитектура."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "Инсталиране на %s, въпреки че ще промени архитектурата"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s прави ненужно %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "Обновяване на %s към %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Инсталиране"
@@ -4843,16 +4848,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
 # %s is either BOOTP or DHCP
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "Настройването чрез %s бе неуспешно."
@@ -4860,65 +4865,65 @@ msgstr "Настройването чрез %s бе неуспешно."
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "пропадна."
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 #, fuzzy
 msgid "Package is not signed!"
 msgstr "Пакетът има невалидна сигнатура."
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Променени файлове с настройки за %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm запази %s като %s, но е невъзможно да се открие разликата"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4928,13 +4933,13 @@ msgstr ""
 "Ето първите 25 реда от разликите:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm създаде %s като %s, но е невъзможно да се открие разликата"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4945,51 +4950,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "Допълнителен изход от rpm:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "създадено резервно копие %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "KScreensaver не е открит."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "KScreensaver не е открит."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "KScreensaver не е открит."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -5075,6 +5080,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Възникнала е грешка при отварянето на %s: %m"
index 7988c45..301fded 100644 (file)
--- a/po/bn.po
+++ b/po/bn.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: @PACKAGE@\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2005-07-29 15:37+0530\n"
 "Last-Translator: Priyavert Sharma<priyavert.sharma@agreeya.com>\n"
 "Language-Team: AgreeYa Solutions <linux_team@agreeya.com>\n"
@@ -1292,53 +1292,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "ফাইল খোলা যাচ্ছে না %1."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "%s খুঁজে পায় না।"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "%s খুঁজে পায় না।"
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "সংযোগ সাধনের সময়ে আদেশ সম্পন্ন হয়েছে"
@@ -3766,20 +3766,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3790,7 +3790,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3810,8 +3810,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "লেখার জন্যে ফাইল খুলতে পারে না।"
@@ -3831,32 +3831,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "'%s' ডেস্কটপ বস্তু খুলতে পারে না"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "ডায়রেক্টরি %1: %2 তৈরী করা যাচ্ছে না"
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3866,44 +3866,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "ফ্লপি ডিস্ক থেকে পড়ায় ত্রুটি।"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "রপ্তানি ফাইলনাম অবৈধ৷"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "সংস্থান পুনঃস্থাপন করছে"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "'%s' ডেস্কটপ বস্তু খুলতে পারে না"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4027,18 +4027,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "অবৈধ Url যোজনা %s"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, fuzzy, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "সত্যতা যাচাইয়ের ধরন"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4065,6 +4067,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "রিপোসিটারিতে ফাইল %1 পাওয়া যায়নি"
@@ -4168,6 +4171,7 @@ msgid "Permission to access '%s' denied."
 msgstr "অনুমতি প্রত্যাখ্যাত"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4178,6 +4182,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4187,18 +4192,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4356,7 +4361,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "ফাইল তৈরী করা যাচ্ছে না"
@@ -4372,222 +4377,222 @@ msgstr "কিছু অমীমাংসিত আবশ্যকতা আছ
 msgid "generally ignore of some dependencies"
 msgstr "কিছু অমীমাংসিত আবশ্যকতা আছে..."
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s %s প্রদান করে, কিন্তু এটার অন্য একটা আর্কিটেকচার আছে।"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "প্যাকেজ আনইনস্টল করার আদেশ"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "এর সাথে সংযোগের অনুরোধ: "
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "নির্ভরতা সমস্যাগুলির কারণে %s স্থাপন করতে পারে না"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "কোনওটাই %s প্রদান করে না"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "সার্টিফিকেট %1 অনুপস্থিত"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s লক করা আছে এবং আনইন্সটল করা যাবে না ।"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "ইনস্টল করা হয় নি"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s এর %s দরকার"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "in/ssTklইনস্টল করা যাবে না"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s-এর সঙ্গে %s-এর দ্বন্দ্ব"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s %sকে প্রাচীন করে দিয়েছে"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s %sকে প্রাচীন করে দিয়েছে"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s-এর সঙ্গে %s-এর দ্বন্দ্ব"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "কোনওটাই %s প্রদান করে না"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "%s এর কোনও বিকল্প স্থাপনযোগ্য প্রদানকারী নেই"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "%s এর কোনও বিকল্প স্থাপনযোগ্য প্রদানকারী নেই"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s ইন্সটল করে না"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s রাখুন"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "%s ইন্সটল করে না"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "ইতিমধ্যে এই অনুরোধ করা হয়ে গিয়েছে"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "%s এর কোনও বিকল্প স্থাপনযোগ্য প্রদানকারী নেই"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "%1 এর দ্বন্দ্ব %2 এর সাথে"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s %s প্রদান করে, কিন্তু এটার অন্য একটা আর্কিটেকচার আছে।"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "%s স্থাপন করুন যদিও এটা আর্কিটেকচার পালটে দেবে"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s %sকে প্রাচীন করে দিয়েছে"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "%s থেকে %s ডাউনলোড করেছে"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "স্থাপন"
@@ -4604,16 +4609,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "নির্দেশমত স্থাপনা বাতিল করা হয়েছে।"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "সম্পাদন করুন"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4621,65 +4626,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "কী এনক্রিপশনে ত্রুটি"
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "ব্যর্থ"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr " %s-এর জন্য পরিবর্তিত কনফিগারেশন ফাইলসমূহ :"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm %s কে %sরূপে সংরক্ষণ করেছিল ,কিন্তু পার্থক্য নিরূপণ করা অসম্ভব হয়েছিল "
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4689,13 +4694,13 @@ msgstr ""
 "এখানে পার্থক্যের প্রথম ২৫ টি লাইন দেওয়া আছে:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm %s কে %sরূপে সংরক্ষণ করেছিল ,কিন্তু পার্থক্য নিরূপণ করা  অসম্ভব হয়েছিল "
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4706,51 +4711,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "অতিরিক্ত তথ্য"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "%s ব্যাকআপ তৈরী করছে"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "এন্ট্রি পাওয়া যায়নি"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "এন্ট্রি পাওয়া যায়নি"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "এন্ট্রি পাওয়া যায়নি"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4836,6 +4841,20 @@ msgstr "অবৈধ প্যারামিটার ম্যাপ স্প
 msgid "Invalid parameter array join separator character"
 msgstr "অবৈধ প্যারামিটার এরে জয়েন সেপারেটর ক্যারেক্টার"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "ফাইল খোলা যাচ্ছে না %1."
index f911880..5609d94 100644 (file)
--- a/po/bs.po
+++ b/po/bs.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2002-07-23 18:27+0200\n"
 "Last-Translator: Damir Bjelobradic <Nagual@lugbih.org>\n"
 "Language-Team: Bosnian <i18n@suse.de>\n"
@@ -1467,53 +1467,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Couldn't open file: %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Naredba koja se izvršava pri spajanju"
@@ -4269,20 +4269,20 @@ msgstr[2] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -4293,7 +4293,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4313,8 +4313,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Couldn't open file: %s."
@@ -4335,31 +4335,31 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Ne mogu pokrenuti naredbu \"%s\""
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -4369,44 +4369,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Ne mogu pokrenuti naredbu \"%s\""
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4531,18 +4531,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4569,6 +4571,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4671,6 +4674,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4681,6 +4685,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4690,18 +4695,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4854,7 +4859,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4868,217 +4873,217 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "Nova instalacija"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Instaliram driver..."
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "&Nemoj instalirati"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, fuzzy, c-format, boost-format
 msgid "do not install %s"
 msgstr "Instaliram driver..."
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "Instaliram driver..."
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "Instaliram driver..."
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "Izbrii"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Instaliram driver..."
@@ -5095,16 +5100,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
 # %s is either BOOTP or DHCP
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "%s podešavanje nije uspjelo."
@@ -5112,63 +5117,63 @@ msgstr "%s podešavanje nije uspjelo."
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Editor konfiguracijskih datoteka"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5176,13 +5181,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5191,48 +5196,48 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "&Dodatne informacije za korisnika"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -5318,6 +5323,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Couldn't open file: %s."
index 0f90ca7..cfba521 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2020-05-02 19:50+0000\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-19 00:48+0000\n"
 "Last-Translator: David Medina <medipas@gmail.com>\n"
 "Language-Team: Catalan <https://l10n.opensuse.org/projects/libzypp/master/ca/"
 ">\n"
@@ -1555,53 +1555,53 @@ msgstr "Millora"
 msgid "Supplements"
 msgstr "Complementa"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "No es pot obrir pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "No es pot obrir pipe (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "No es pot fer chroot a \"%s\" (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "No es pot fer chdir a \"%s\" dins chroot \"%s\" (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "No es pot fer chdir a \"%s\" (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "No es pot executar \"%s\" (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "No es pot bifurcar (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "L'ordre ha acabat amb l'estatus %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "L'ordre s'ha aturat a causa del senyal %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "L'ordre s'ha executat sense que hi hagués cap error conegut."
 
@@ -4163,20 +4163,20 @@ msgstr[1] "(caduca d'aquí a %d dies)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Cercant la clau gpg amb l'ID %1% a la cau %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Cercant la clau gpg amb l'ID %1% al repositori %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "El repositori %1% no defineix URL \"gpgkey=\" addicionals."
@@ -4187,7 +4187,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "No es pot llegir el directori del repositori %1%: permís denegat"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4207,8 +4207,8 @@ msgid "Service alias cannot start with dot."
 msgstr "L'àlies del servei no pot començar amb un punt."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "No es pot obrir el fitxer %s per a l'escriptura."
@@ -4228,32 +4228,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "No s'han trobat metadades vàlides a l'URL especificat"
 msgstr[1] "No s'han trobat metadades vàlides als URL especificats"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "No es pot crear %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "No es pot crear el directori cau de metadades."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Construint la memòria cau del repositori %s"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 "No es pot crear la memòria cau a %s - no se'n té permisos d'escriptura."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Error a l'hora de carregar el repositori (%d) a la memòria cau."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Tipus de repositori no manejat"
 
@@ -4263,44 +4263,44 @@ msgstr "Tipus de repositori no manejat"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Error en intentar llegir de '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Error desconegut a l'hora de llegir '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Afegint el repositori %s"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nom de repositori no vàlid a \"%s\""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Suprimint el repositori %s"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "No es pot esbrinar on es desa el repositori."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "No es pot esborrar %s"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "No s'ha sabut trobar on es guarda el servei."
 
@@ -4436,12 +4436,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Expressió regular no vàlida: \"%s\""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Cal autenticació per a '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4449,7 +4450,8 @@ msgstr ""
 "Visiteu el Centre de clientela de SUSE per comprovar si el vostre registre "
 "és vàlid i no ha caducat."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4478,6 +4480,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Mitjà no obert quan s'intentava fer l'acció \"%s\"."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "El fitxer %s no s'ha trobat al mitjà %s"
@@ -4557,7 +4560,7 @@ msgstr ""
 #, c-format, boost-format
 msgid "Error occurred while setting download (curl) options for '%s':"
 msgstr ""
-"Hi ha hagut un error en establir les opcions de baixada (curl) per a '%s':"
+"Hi ha hagut un error en establir les opcions de baixada (curl) per a %s:"
 
 #: zypp/media/MediaException.cc:153
 #, c-format, boost-format
@@ -4584,6 +4587,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Permís per accedir a %s denegat."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "S'ha acabat el temps d'espera accedint a %s."
@@ -4595,6 +4599,7 @@ msgstr ""
 "Les dades baixades excedeixen la mida de fitxer esperada \"%s\" de \"%s\"."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "El lloc \"%s\" és temporalment inaccessible."
@@ -4606,7 +4611,7 @@ msgstr ""
 " Problema de certificat SSL, verifiqueu que el certificat CA és correcte per "
 "a \"%s\"."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4614,12 +4619,12 @@ msgstr ""
 "Crea un punt d'adjunció: no es pot trobar un directori d'escriptura per "
 "crear un punt d'adjunció."
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Mètode d'autenticació HTTP no suportat \"%s\""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Si us plau, instal·leu primer el paquet lsof."
 
@@ -4820,7 +4825,7 @@ msgstr ""
 "  de la instal·lació de\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "No es pot crear sat-pool."
 
@@ -4834,100 +4839,100 @@ msgstr "trenca %s ignorant-ne algunes de les dependències"
 msgid "generally ignore of some dependencies"
 msgstr "ignora generalment algunes dependències"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s no pertany a un repositori d'actualització de la distribució"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s té una arquitectura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problema amb el paquet instal·lat %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "demandes conflictives"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "problemes de dependències"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "Res proporciona %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Heu habilitat tots els repositoris demanats?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "el paquet %s no existeix"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "petició no suportada"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s està proveït pel sistema i no es pot esborrar"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s no és instal·lable"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "Res proporciona %s, necessari per a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "No es poden instal·lar %s i %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s entra en conflicte amb %s, proveït per %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s fa(n) obsolet(s) %s proveït(s) per %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 "el(s) paquets(s) instal·lat(s) %s fa(n) obsolet(s) %s proporcionat(s) per %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "la resolució %s entra en conflicte amb %s, proporcionat per si mateix"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s necessita %s, però aquest requeriment no es pot satisfer"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "proveïdors suprimits: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4935,106 +4940,106 @@ msgstr ""
 "\n"
 "proveïdors no desistal·lables: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "proveïdors no desinstal·lables: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "suprimeix el bloqueig per permetre la supressió de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "no instal·lis %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
-msgstr "conserva %s"
+msgstr "mantén %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "suprimeix el bloqueig per permetre la instal·lació de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Aquesta petició trencarà l'estabilitat del sistema!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignora l'avís de sistema trencat"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "no demanis instal·lar un resoluble que proporcioni %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "no demanis suprimir tots els resolubles que proporcionin %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "no instal·lis la versió més recent de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "mantén %s malgrat l'arquitectura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "instal·la %s, encara que tingui una arquitectura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "deixa obsolet %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "instal·la %s del repositori exclòs"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "instal·la %1% tot i que ha estat retret"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "permet instal·lar el PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "instal·la %1% tot i que és a la llista negra"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "degradació de %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "canvi d'arquitectura de %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -5043,12 +5048,12 @@ msgstr ""
 "instal·la %s (amb canvi de proveïdor)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "reemplaçament de %s per %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "desinstal·lació de %s"
@@ -5065,73 +5070,73 @@ msgstr "Executant l'script %%posttrans \"%1%\""
 msgid "Executing %posttrans scripts"
 msgstr "Executant scripts %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "La instal·lació s'ha avortat tal com heu indicat."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " executat"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " ha fallat l'execució"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s ja s'ha executat com a %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " execució omesa mentre s'avortava"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 "S'ha produït un error durant l'enviament de la notificació d'actualització."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nou missatge d'actualització"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Ha fallat l'RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Error a l'hora d'importar la clau pública %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Ha fallat suprimir la clau pública %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "El paquet no està signat!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Fitxers de configuració modificats per a %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -5139,7 +5144,7 @@ msgstr ""
 "diferència"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5149,7 +5154,7 @@ msgstr ""
 "Aquestes són les primeres 25 línies de diferència:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -5157,7 +5162,7 @@ msgstr ""
 "diferència"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5168,47 +5173,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Sortida addicional de l'rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "còpia de seguretat creada %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "La signatura és correcta"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Tipus de signatura desconeguda"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "La signatura no es verifica"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "La signatura és correcta, però no és de confiança"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "La clau pública de signatures no està disponible"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "El fitxer no existeix o la signatura no es pot comprovar"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "El fitxer no està signat."
 
@@ -5295,6 +5300,24 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr "El caràcter separador d'unió de matriu de paràmetres no és vàlid"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Error de baixada (curl) per a %s.\n"
+"Codi de l'error: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Error de baixada (curl) per a %s.\n"
+"No es pot obtenir la resposta d'HTTP.\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "No es pot obrir el fitxer de blocatge: %s"
 
index 8637979..2d9b519 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -19,8 +19,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2019-12-06 11:54+0000\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-19 00:48+0000\n"
 "Last-Translator: Aleš Kastner <alkas@volny.cz>\n"
 "Language-Team: Czech <https://l10n.opensuse.org/projects/libzypp/master/cs/>"
 "\n"
@@ -1452,55 +1452,55 @@ msgstr "Vylepšuje"
 msgid "Supplements"
 msgstr "Doplňuje"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Nelze otevřít pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Nelze otevřít rouru (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Nelze změnit kořenový adresář na '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 "Nelze změnit adresář na '%s' uvnitř chrootem změněného kořenového adresáře "
 "'%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Nelze změnit adresář na '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Nelze spustit '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Nelze forknout (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Příkaz skončil se stavem %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Příkaz byl ukončen signálem %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Příkaz skončil s neznámou chybou."
 
@@ -3987,20 +3987,20 @@ msgstr[2] "(vyprší během %d dnů)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Hledám ID klíče gpg %1% v paměti %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Hledám ID klíče gpg %1% v úložišti %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Úložiště %1% nedefinuje přídavná URL 'gpgkey='."
@@ -4011,7 +4011,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Nelze číst z adresáře úložiště %1%: Přístup odepřen"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4031,8 +4031,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Alias služby nemůže začínat tečkou."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Nelze otevřít soubor '%s' pro zápis."
@@ -4053,31 +4053,31 @@ msgstr[0] "Na zadané adrese URL nebyla nalezena platná metadata"
 msgstr[1] "Na zadaných adresách URL nebyla nalezena platná metadata"
 msgstr[2] "Na zadaných adresách URL nebyla nalezena platná metadata"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Nelze vytvořit %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Nelze vytvořit adresář s mezipamětí metadat."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Vytváří se vyrovnávací paměť úložiště '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Nelze vytvořit mezipaměť v adresáři %s - chybí oprávnění k zápisu."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Chyba při načítání úložiště do mezipaměti (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Nepodporovaný typ úložiště"
 
@@ -4087,44 +4087,44 @@ msgstr "Nepodporovaný typ úložiště"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Chyba při čtení z '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Neznámá chyba při čtení z '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Přidává se úložiště %s"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Název souboru úložiště na adrese URL „%s“ je neplatný"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Odebírá se úložiště %s"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Nelze zjistit umístění úložiště."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "'%s' nelze smazat"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Nelze zjistit umístění služby."
 
@@ -4259,12 +4259,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Neplatný regulární výraz: '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Pro '%s' je vyžadováno ověřování"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4272,7 +4273,8 @@ msgstr ""
 "Pro kontrolu, zda je Vaše registrace platná a aktivní, navštivte Zákaznické "
 "centrum SUSE."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4301,6 +4303,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Při pokusu o provedení akce '%s' nebylo otevřeno médium."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Soubor '%s' nebyl nalezen na médiu '%s'"
@@ -4406,6 +4409,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Přístup k '%s' byl zamítnut."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Během přístupu k '%s' byl dosažen časový limit."
@@ -4416,6 +4420,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Stažená data překročila očekávanou velikost '%s' souboru '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Umístění '%s' je dočasně nedostupné."
@@ -4427,7 +4432,7 @@ msgstr ""
 " Problém s SSL certifikátem, ověřte, že je certifikát certifikační autority "
 "pro '%s' v pořádku."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4435,12 +4440,12 @@ msgstr ""
 "Vytvořit bod připojení: Nelze najít adresář, do kterého lze zapisovat, pro "
 "vytvoření bodu připojení"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Nepodporovaná HTTP ověřovací metoda '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Nejprve nainstalujte balíček 'lsof'."
 
@@ -4639,7 +4644,7 @@ msgstr ""
 "  instalovaným z\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Nemohu vytvořit sat-pool."
 
@@ -4653,99 +4658,99 @@ msgstr "porušit %s ignorováním některých z jeho závislostí"
 msgid "generally ignore of some dependencies"
 msgstr "obecně ignorovat některé závislosti"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s nenáleží do repozitáře pro aktualizaci distribuce"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s má podřadnou architekturu"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problém s nainstalovaným balíčkem %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "protichůdné požadavky"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "nějaký problém se závislostmi"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "nic neposkytuje vyžádaný %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Máte povoleny všechny vyžadované repozitáře?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "balíček %s neexistuje"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "nepodporovaný požadavek"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s je poskytováno systémem a nelze odinstalovat"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s nelze nainstalovat"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "nic neposkytuje %s, který je požadován %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Nelze nainstalovat %s a zároveň %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s koliduje s %s, poskytovatel: %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s nahrazuje %s, poskytovatel: %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "nainstalováno: %s, zastaralé: %s, poskytovatel: %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "vyřešitelné %s je v konfliktu s %s, které sám poskytuje"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s vyžaduje %s, ale tento požadavek nemůže být splněn"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "odstranění poskytovatelé: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4753,106 +4758,106 @@ msgstr ""
 "\n"
 "neinstalovatelní poskytovatelé: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "neinstalovatelní poskytovatelé: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "odebrat zámek pro umožnění odebrání %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "neinstalovat %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "ponechat %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "odebrat zámek pro umožnění instalace položky %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Tento požadavek poškodí váš systém!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignorovat varování poškozeného systému"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "nenabízet řešení, která zahrnují %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "neptat se na smazání všech balíčků poskytujících %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "neinstalovat nejnovější verzi %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "ponechat %s i přes podřadnou architekturu"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "Instalovat %s i přes podřadnou architekturu"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "ponechat zastaralý %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "instalovat %s z vyloučeného repozitáře"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "instalovat %1%, ačkoli byl odvolán"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "umožnit instalaci PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "instalovat %1%, ačkoli je na indexu"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "downgrade %s na %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "změna architektury z %s na %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4861,12 +4866,12 @@ msgstr ""
 "instalovat %s (i se změnou poskytovatele)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "nahrazení %s položkou %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "odinstalace %s"
@@ -4883,78 +4888,78 @@ msgstr "Běží skript %%posttrans '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Běží skripty %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Instalace byla zrušena podle příkazu."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " provedeno"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " provádění selhalo"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s je již prováděn jako %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " provádění přeskočeno během ukončování"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Chyba při odesílání oznámení o aktualizaci."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nová zpráva o aktualizaci"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM selhalo: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Nepodařilo se importovat veřejný klíč %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Nepodařilo se smazat veřejný klíč %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Balíček není podepsaný!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Změněné konfigurační soubory pro %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "Program rpm uložil %s jako %s, ale nebylo možné zjistit rozdíl"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4964,13 +4969,13 @@ msgstr ""
 "Prvních 25 řádek rozdílů:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "Program rpm vytvořil %s jako %s, ale nebylo možné zjistit rozdíl"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4981,47 +4986,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Další výstup programu rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "vytvořena záloha %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Podpis je v pořádku"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Neznámý typ podpisu"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Podpis nelze ověřit"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Podpis je v pořádku, ale klíč není důvěryhodný"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Veřejný klíč podpisu není k dispozici"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Soubor neexistuje nebo podpis nemůže být zkontrolován"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Soubor není podepsaný"
 
@@ -5107,6 +5112,24 @@ msgstr "Neplatný oddělovací znak mapy parametrů"
 msgid "Invalid parameter array join separator character"
 msgstr "Neplatný oddělovací znak spojení pole parametrů"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Chyba stahování (curl) pro '%s':\n"
+"Kód chyby: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Chyba stahování (curl) pro '%s':\n"
+"Nelze načíst odpověď HTTP\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Nelze otevřít soubor zámku: %s"
 
index 54f5846..c12b770 100644 (file)
--- a/po/cy.po
+++ b/po/cy.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2003-09-23 10:33+0200\n"
 "Last-Translator: Kevin Donnelly <kevin@dotmon.com>\n"
 "Language-Team: Welsh <i18n@suse.de>\n"
@@ -1375,53 +1375,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Couldn't open file: %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Y gorchymyn a weithredir wrth gysylltu"
@@ -4071,20 +4071,20 @@ msgstr[4] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -4095,7 +4095,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4115,8 +4115,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Couldn't open file: %s."
@@ -4139,31 +4139,31 @@ msgstr[2] ""
 msgstr[3] ""
 msgstr[4] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Arsefydlu %s: \"%s\""
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -4173,44 +4173,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Arsefydlu %s: \"%s\""
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4335,18 +4335,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4373,6 +4375,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4475,6 +4478,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4485,6 +4489,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4494,18 +4499,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4657,7 +4662,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4671,217 +4676,217 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "Saerniaeth:"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Bydd pecyn %1 yn cael ei arsefydlu"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "Rhaid arsefydlu'r pecynnau yma:"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "Methodd yr arsefydliad."
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Arsefydlu %s: \"%s\""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "Arsefydlu"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, fuzzy, c-format, boost-format
 msgid "do not install %s"
 msgstr "Arsefydlu %s: \"%s\""
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "Arsefydlu %s: \"%s\""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "Gosod gyrrydd..."
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "&Dileu"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Arsefydlu %s: \"%s\""
@@ -4898,15 +4903,15 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4914,64 +4919,64 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 #, fuzzy
 msgid "Package is not signed!"
 msgstr "Mae llofnod annilys gan yr RPM."
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Copïo ffeiliau ffurfweddu i'r cysawd a osodwyd"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4979,13 +4984,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4994,47 +4999,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -5120,6 +5125,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Couldn't open file: %s."
index a9cde84..28f9eee 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -6,11 +6,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libzypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2019-12-06 11:54+0000\n"
 "Last-Translator: scootergrisen <scootergrisen@gmail.com>\n"
-"Language-Team: Danish <https://l10n.opensuse.org/projects/libzypp/master/da/>"
-"\n"
+"Language-Team: Danish <https://l10n.opensuse.org/projects/libzypp/master/da/"
+">\n"
 "Language: da\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1292,53 +1292,53 @@ msgstr "Forbedringer"
 msgid "Supplements"
 msgstr "Supplerer"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Kunne ikke åbne pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Kan ikke åbne dataledning (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Kan ikke skifte rodmappe til '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Kan ikke skifte mappe til \"%s\" indenfor chroot \"%s\" (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Kan ikke skifte mappe til \"%s\" (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Kan ikke eksekvere '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Kan ikke forgrene (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Kommando afsluttet med status %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Kommando dræbtes af signalet %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Kommando afsluttet med ukendt fejl."
 
@@ -3761,20 +3761,20 @@ msgstr[1] "(udløber om %d dage)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Leder efter gpg nøgle-ID'et %1% i mellemlageret %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Leder efter gpg nøgle-ID'et %1% i softwarearkivet %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Softwarekilden %1% definerer ikke yderligere 'gpgkey='-URL'er."
@@ -3785,7 +3785,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Kan ikke læse softwarekildemappen \"%1%\": Adgang nægtet"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3805,8 +3805,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Alias for tjeneste må ikke starte med punktum."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Kan ikke åbne filen \"%s\" til skrivning."
@@ -3827,31 +3827,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Der blev ikke fundet gyldige metadata på den angivne URL"
 msgstr[1] "Der blev ikke fundet gyldige metadata på de angivne URL'er"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Kan ikke oprette %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Kan ikke oprette mappe med metadata-cache."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Opbygger cache for softwarekilden '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Kan ikke oprette cache i %s - ingen skriverettigheder."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Caching af softwarekilde (%d) mislykkedes."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Ikke-håndteret softwarekilde-type"
 
@@ -3861,44 +3861,44 @@ msgstr "Ikke-håndteret softwarekilde-type"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Fejl under forsøg på at læse fra \"%s\""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Ukendt fejl ved læsning fra \"%s\""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Tilføjer softwarekilden '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Ugyldig softwarekilde-filnavn i \"%s\""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Fjerner softwarekilden '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Kan ikke regne ud hvor softwarekilden er lagret."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Kan ikke slette \"%s\""
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Kan ikke regne ud hvor tjenesten er lagret."
 
@@ -4034,12 +4034,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Ugyldigt regulært udtryk '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Autentificering påkrævet for '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4047,7 +4048,8 @@ msgstr ""
 "Besøg SUSE-kundercenteret for at tjekke om din registrering er gyldig og "
 "ikke er udløbet."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4076,6 +4078,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Mediet åbnedes ikke under forsøg på at udføre handlingen '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Filen %s blev ikke fundet på mediet '%s'"
@@ -4181,6 +4184,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Adgangstilladelse til '%s' nægtet."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Tidsfrist udløbet ved tilgang af \"%s\"."
@@ -4191,6 +4195,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Downloadede data oversteg den ventede filstørrelse '%s' med '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Placeringen \"%s\" er midlertidigt utilgængelig."
@@ -4200,7 +4205,7 @@ msgstr "Placeringen \"%s\" er midlertidigt utilgængelig."
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " SSL-certifikatproblem. Tjek at CA-certifikatet er OK for '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4208,12 +4213,12 @@ msgstr ""
 "Opret tilknytningspunkt: Kan ikke finde en skrivbar mappe til oprettelse af "
 "et tilknytningspunkt"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Ikke-understøttet HTTP autentificeringsmetode '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Installér pakken \"lsof\" først."
 
@@ -4414,7 +4419,7 @@ msgstr ""
 "  fra installation af\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Kan ikke oprette sat-pulje."
 
@@ -4428,99 +4433,99 @@ msgstr "ødelæg %s ved at ignorere nogle af dens afhængigheder"
 msgid "generally ignore of some dependencies"
 msgstr "ignorér generelt nogle afhængigheder"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s hører ikke til en distopgradering-softwarekilde"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s har laverestående arkitektur"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problem med den installerede pakke %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "modstridende forespørgsler"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "et eller andet afhængighedsproblem"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "intet leverer forespurgt %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Har du aktiveret alle anmodede softwarekilder?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "pakken %s findes ikke"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "ikke understøttet anmodning"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s leveres af systemet og kan ikke slettes"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s kan ikke installeres"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "intet leverer %s, der kræves af %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "kan ikke installere både %s og %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s konflikter med %s, der leveres af %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s forælder %s, der leveres af %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "installerede %s forælder %s, der leveres af %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "solvable %s konflikter med %s, der leveres af den selv"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s kræver %s, men dette krav kan ikke leveres"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "slettede udbydere: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4528,106 +4533,106 @@ msgstr ""
 "\n"
 "ikke-installérbare leverandører: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "ikke-installérbare leverandører: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "fjern lås for at tillade fjernelse af %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "installér ikke %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "behold %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "fjern lås for at tillade installation af %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Denne anmodning vil ødelægge dit system!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignorér advarslen om et ødelagt system"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "spørg ikke efter at installere en solvable, der leverer %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "spørg ikke efter at slette alle solvables, der leverer %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "installér ikke sidste nye version af %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "behold %s på trods af laverestående arkitektur"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "installér %s på trods af laverestående arkitektur"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "behold forældet %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "installér %s fra ekskluderet softwarekilde"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "installér %1%, selvom den er blevet tilbagetrukket"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "giv tillade til installation af PTF'en %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "installér %1%, selvom den er sortlistet"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "nedgradering af %s til %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "arkitekturændring af %s til %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4636,12 +4641,12 @@ msgstr ""
 "installér %s (med leverandørændring)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "udskiftning af %s med %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "afinstallation af %s"
@@ -4658,78 +4663,78 @@ msgstr "Udfører %%posttrans-scriptet '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Udfører %posttrans-scripts"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Installation er blevet afbrudt som ønsket."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " afviklet"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " afvikling mislykkedes"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s er allerede kørt som %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " afvikling skippet under afbrydelse"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Fejl under afsendelse af bekendtgørelse af opdateringsbesked."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Besked om ny opdatering"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM mislykkedes: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Import af offentlig nøgle %1% mislykkedes"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Fjernelse af den offentlige nøgle %1% mislykkedes"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Pakke er ikke signeret!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Konfigurationsfiler er ændret for %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm gemte %s som %s, men det var umuligt at bestemme forskellen"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4739,13 +4744,13 @@ msgstr ""
 "Her er de første 25 linjer af forskelle:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm oprettede %s som %s, men det var umuligt at bestemme forskellen"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4756,47 +4761,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Yderligere rpm-output"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "backup %s blev oprettet"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Signatur er OK"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Ukendt signaturtype"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Signaturen verificerer ikke"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Signaturen er OK, men nøglen er ikke betroet"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Signaturens offentlige nøgle er ikke tilgængelig"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Filen findes ikke eller signaturen kan ikke tjekkes"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Filen er uden signatur"
 
@@ -4882,6 +4887,20 @@ msgstr "Ugyldigt skilletegn for parameter-map"
 msgid "Invalid parameter array join separator character"
 msgstr "Ugyldigt skilletegn for parameter-array join"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Kan ikke åbne låsefilen: %s"
 
index a4ad8c1..f78c517 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -17,11 +17,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.de\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2019-12-05 20:54+0000\n"
 "Last-Translator: Sarah Kriesch <ada.lovelace@gmx.de>\n"
-"Language-Team: German <https://l10n.opensuse.org/projects/libzypp/master/de/>"
-"\n"
+"Language-Team: German <https://l10n.opensuse.org/projects/libzypp/master/de/"
+">\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1303,53 +1303,53 @@ msgstr "Erweiterungen"
 msgid "Supplements"
 msgstr "Zusätze"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "PTY (%s) kann nicht geöffnet werden."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Pipe (%s) kann nicht geöffnet werden."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "chroot zu '%s' (%s) nicht möglich."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Wechsel zu '%s' innerhalb chroot '%s' nicht möglich (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Wechsel zu '%s' nicht möglich (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "exec '%s' (%s) nicht möglich."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "(%s) abzweigen nicht möglich."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Kommando mit Status %d beendet."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Kommando wurde mit Signal %d (%s) beendet."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Kommando mit unbekanntem Fehler beendet."
 
@@ -3773,20 +3773,20 @@ msgstr[1] "(läuft innerhalb von %d Tagen ab)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Suche nach der GPG-Key-ID %1% im Cache %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Suche nach der GPG-Key-ID %1% im Repository %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Repository %1% definiert keine zusätzlichen 'gpgkey='-URLs."
@@ -3797,7 +3797,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Repo-Verzeichnis '%1%' kann nicht gelesen werden: Zugriff verweigert"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3817,8 +3817,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Ein Dienst-Alias darf nicht mit einem Punkt beginnen."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Datei '%s' konnte nicht zum Schreiben geöffnet werden."
@@ -3839,32 +3839,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Keine gültigen Metadaten bei dem festgelegten URL gefunden"
 msgstr[1] "Keine gültigen Metadaten bei den festgelegten URLs gefunden"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "%s konnte nicht erstellt werden"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Metadaten-Cache-Verzeichnis konnte nicht erstellt werden."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Cache für Repository '%s' erzeugen"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 "Cache konnte auf %s nicht erstellt werden - keine Schreibberechtigungen."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Repo (%d) konnte nicht im Cache gespeichert werden."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Unverarbeiteter Repository-Typ"
 
@@ -3874,44 +3874,44 @@ msgstr "Unverarbeiteter Repository-Typ"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Fehler beim Versuch, aus '%s' zu lesen"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Unbekannter Fehler beim Lesen aus '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Repository '%s' hinzufügen"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Repo-Dateiname bei '%s' ungültig"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Repository '%s' entfernen"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Speicherort des Repos kann nicht gefunden werden."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "'%s' kann nicht gelöscht werden"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Speicherort des Dienstes kann nicht gefunden werden."
 
@@ -4050,12 +4050,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Ungültiger regulärer Ausdruck '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Authentifizierung erforderlich für '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4063,7 +4064,8 @@ msgstr ""
 "Besuchen Sie den SUSE Customer Center zur Prüfung, ob Ihre Registrierung "
 "gültig und nicht abgelaufen ist."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4093,6 +4095,7 @@ msgstr ""
 "Beim Versuch, Aktion '%s' durchzuführen, wurde das Medium nicht geöffnet."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Datei '%s' auf Medium '%s' nicht gefunden"
@@ -4200,6 +4203,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Zugriff auf '%s' verweigert."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Zeitüberschreitung beim Zugriff auf '%s'."
@@ -4212,6 +4216,7 @@ msgstr ""
 "'%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Auf den Standort '%s' kann zeitweise nicht zugegriffen werden."
@@ -4223,7 +4228,7 @@ msgstr ""
 " SSL-Zertifikat-Problem; überprüfen Sie, ob das CA-Zertifikat für '%s' in "
 "Ordnung ist."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4231,12 +4236,12 @@ msgstr ""
 "Anschlusspunkt erstellen: Kann kein schreibbares Verzeichnis finden, um "
 "einen Anschlusspunkt zu erstellen"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Nicht unterstützte HTTP-Authentifizierungsmethode '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Bitte zuerst Paket 'lsof' installieren."
 
@@ -4440,7 +4445,7 @@ msgstr ""
 "  aus Installation von\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Sat-Pool kann nicht erstellt werden."
 
@@ -4454,101 +4459,101 @@ msgstr "%s durch Ignorieren einiger Abhängigkeiten brechen"
 msgid "generally ignore of some dependencies"
 msgstr "Einige Abhängigkeiten allgemein ignorieren"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s gehört nicht zu einem Distributionsaktualisierungs-Repository"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s besitzt eine nachrangige Architektur"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "Problem mit installiertem Paket %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "In Konflikt stehende Anforderungen"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "Abhängigkeitsproblem"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "Angefordertes %s wird nirgends zur Verfügung gestellt"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Wurden alle erforderlichen Repositorys aktiviert?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Paket %s existiert nicht"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "nicht unterstützte Anforderung"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s wird vom System bereitgestellt und kann nicht gelöscht werden"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s ist nicht installierbar"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s benötigt von %s wird nirgends zur Verfügung gestellt"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s und %s können nicht gleichzeitig installiert sein"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s steht in Konflikt mit %s, das von %s zur Verfügung gestellt wurde"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s löst %s ab, das von %s zur Verfügung gestellt wurde"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "installiertes %s macht %s, welches durch %s angeboten wird, obsolet"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 "Das auflösbare Element %s steht in Konflikt mit %s, das es selbst zur "
 "Verfügung gestellt hat"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s benötigt %s, kann jedoch nicht zur Verfügung gestellt werden"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "Gelöschte Anbieter: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4556,108 +4561,108 @@ msgstr ""
 "\n"
 "Nicht installierbare Anbieter: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "Nicht installierbare Anbieter: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "Sperre entfernen und Entfernen von %s zulassen"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s nicht installieren"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s behalten"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "Sperre entfernen und Installation von %s zulassen"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Diese Anfrage bringt Ihr System zum Absturz!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "Warnung vor einem beschädigten System ignorieren"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 "Installation eines auflösbaren Elements mit %s darf nicht angefordert werden"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 "Löschen aller auflösbaren Elemente mit %s darf nicht angefordert werden"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "Neueste Version von %s darf nicht installiert werden"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s trotz der nachrangigen Architektur beibehalten"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "%s trotz der nachrangigen Architektur installieren"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "veraltetes %s beibehalten"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "%s aus dem ausgeschlossenen Repository installieren"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "%1 installieren, obwohl es widerrufen wurde"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "Erlauben das PTF %1% zu installieren"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "%1% installieren, obwohl es geblacklistet ist"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "Downgrade von %s zu %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "Architekturwechsel von %s zu %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4666,12 +4671,12 @@ msgstr ""
 "%s installieren (mit Anbieterwechsel)\n"
 "  %s --> %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "Ersatz von %s durch %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Deinstallation von %s"
@@ -4688,72 +4693,72 @@ msgstr "%%posttrans script '%1%' wird ausgeführt"
 msgid "Executing %posttrans scripts"
 msgstr "%posttrans scripts werden ausgeführt"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Die Installation wurde gemäß Anweisung abgebrochen."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " ausgeführt"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " Ausführung fehlgeschlagen"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s bereits als %s ausgeführt)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " Ausführung beim Abbrechen übersprungen"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Fehler beim Senden der Aktualisierungsbenachrichtigung."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Neue Aktualisierungsbenachrichtigung"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM fehlgeschlagen: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Importieren des öffentlichen Schlüssels %1% fehlgeschlagen"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Entfernen des öffentlichen Schlüssels %1% fehlgeschlagen"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Paket ist nicht signiert!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Geänderte Konfigurationsdateien für %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -4761,7 +4766,7 @@ msgstr ""
 "werden"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4771,7 +4776,7 @@ msgstr ""
 "Hier die ersten 25 Zeilen mit Unterschieden:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -4779,7 +4784,7 @@ msgstr ""
 "werden"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4790,47 +4795,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Zusätzliche rpm-Ausgabe"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "Sicherung %s erstellt"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Signatur ist OK"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Unbekannter Signaturtyp"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Signatur ist nicht OK"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Signatur ist OK, aber Schlüssel ist nicht verbürgt"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Öffentlicher Schlüssel für Signatur nicht verfügbar"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Datei nicht vorhanden oder Signatur kann nicht geprüft werden"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Datei ist unsigniert"
 
@@ -4919,6 +4924,20 @@ msgstr "Ungültiges Trennzeichen für Parameterzuordnungs-Spaltung"
 msgid "Invalid parameter array join separator character"
 msgstr "Ungültiges Trennzeichen für Parameter-Array-Zusammenführung"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Sperrdatei kann nicht geöffnet werden: %s"
 
index 970a75c..1369b46 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Greek (libzypp)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2018-04-29 12:02+0000\n"
 "Last-Translator: Konstantina Tsolakoglou <konstantina@accountant.com>\n"
 "Language-Team: Greek <https://l10n.opensuse.org/projects/libzypp/master/el/"
@@ -1289,53 +1289,53 @@ msgstr "Ενισχύει"
 msgid "Supplements"
 msgstr "Συμπληρώνει"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Αδυναμία ανοίγματος pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Αδυναμία ανοίγματος διασωλήνωσης (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Αδυναμία chroot σε '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Αδυναμία chdir στο '%s' μέσα σε chroot '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Αδυναμία chdir στο '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Αδυναμία εκτέλεσης του '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Αδυναμία διακλάδωσης (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Η εντολή τερματίστηκε με κατάσταση %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Η εντολή τερματίστηκε από το σήμα %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Η εντολή τερματίστηκε με άγνωστο σφάλμα."
 
@@ -3761,20 +3761,20 @@ msgstr[1] "(λήγει σε %d ημέρες)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3785,7 +3785,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Αδυναμία ανάγνωσης καταλόγου αποθετηρίου '%1%': Δεν έχετε δικαιώματα"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3805,8 +3805,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Το ψευδώνυμο της υπηρεσίας δεν μπορεί να ξεκινά με τελεία."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Αδυναμία ανοίγματος αρχείου '%s' για εγγραφή."
@@ -3827,33 +3827,33 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Δεν βρέθηκαν έγκυρα μεταδεδομένα στην καθορισμένη URL"
 msgstr[1] "Δεν βρέθηκαν έγκυρα μεταδεδομένα στις καθορισμένες URLs"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Αδυναμία δημιουργίας %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Αδυναμία δημιουργίας καταλόγου μεταδεδομένων λανθάνουσας μνήμης."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Δημιουργία λανθάνουσας μνήμης αποθετηρίου '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 "Αδυναμία δημιουργίας λανθάνουσας μνήμης στο %s - δεν έχετε δικαιώματα "
 "εγγραφής."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Αποτυχία αποθήκευσης στην λανθάνουσα μνήμη του αποθετηρίου (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Τύπος αδιαχείριστου αποθετηρίου"
 
@@ -3863,44 +3863,44 @@ msgstr "Τύπος αδιαχείριστου αποθετηρίου"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Σφάλμα στην προσπάθεια ανάγνωσης από το '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Άγνωστο σφάλμα κατά την ανάγνωση από '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Προσθήκη αποθετηρίου '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Μη έγκυρο όνομα αρχείου αποθετηρίου στο '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Αφαίρεση αποθετηρίου '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Δεν είναι κατανοητό που είναι αποθηκευμένο το αποθετήριο."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Αδυναμία διαγραφής '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Δεν είναι κατανοητό που είναι αποθηκευμένη η υπηρεσία."
 
@@ -4039,18 +4039,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Μη  έγκυρη κανονική έκφραση '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Απαιτείται πιστοποίηση για '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4080,6 +4082,7 @@ msgstr ""
 "Το μέσο δεν ανοίχτηκε κατά την προσπάθεια εκτέλεσης της ενέργειας '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Το αρχείο '%s' δεν βρέθηκε στο μέσο '%s'"
@@ -4187,6 +4190,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Άρνηση άδειας πρόσβασης στο '%s'."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Το χρονικό όριο εξαντλήθηκε όταν έγινε πρόσβαση '%s'."
@@ -4197,6 +4201,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Η τοποθεσία '%s' είναι προσωρινά μη προσβάσιμη."
@@ -4208,7 +4213,7 @@ msgstr ""
 " Πρόβλημα πιστοποιητικού SSL, επαληθεύστε ότι το πιστοποιητικό CA είναι "
 "εντάξει για '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4216,12 +4221,12 @@ msgstr ""
 "Δημιουργία σημείου προσάρτησης: Δεν είναι δυνατή η εύρεση εγγράψιμου "
 "καταλόγου για τη δημιουργία σημείου προσάρτησης"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Μη υποστηριζόμενη μέθοδος πιστοποίησης HTTP '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Παρακαλούμε εγκαταστήστε πρώτα το πακέτο 'lsof'."
 
@@ -4422,7 +4427,7 @@ msgstr ""
 "  από την εγκατάσταση του\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Αδυναμία δημιουργίας sat-pool."
 
@@ -4436,99 +4441,99 @@ msgstr "διακοπή %s λόγω αγνόησης μερικών εξαρτή
 msgid "generally ignore of some dependencies"
 msgstr "γενικά αγνόηση μερικών εξαρτήσεων"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "το %s δεν ανήκει σε αποθετήριο αναβάθμισης της διανομής"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "το %s έχει υποδαιέστερη αρχιτεκτονική"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "πρόβλημα με τα εγκατεστημένα πακέτα %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "συγκρουόμενες αιτήσεις"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "κάποιο πρόβλημα εξαρτήσεων"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "τίποτα δεν παρέχει το ζητούμενο %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Έχετε ενεργοποιήσει όλα τα απαιτούμενα αποθετήρια;"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "το πακέτο %s δεν υπάρχει"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "μη υποστηριζόμενο αίτημα"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "το %s παρέχεται από το σύστημα και είναι αδύνατο να διαγραφεί"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "το %s είναι μη εγκαταστάσιμο"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "τίποτα δεν παρέχει το %s που χρειάζεται από το %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "αδυναμία εγκατάστασης %s και %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "το %s συγκρούεται με %s που παρέχεται από το %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "Το %s απαρχαιώνει το %s που παρέχεται από το %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "το εγκατεστημένο %s απαρχαιώνει %s που παρέχεται από %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "το επιλύσιμο %s συγκρούεται με %s που παρέχεται από τον εαυτό του"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "το %s απαιτεί %s, αλλά αυτή η απαίτηση δεν μπορεί να παρασχεθεί"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "διαγραμμένοι πάροχοι: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4536,106 +4541,106 @@ msgstr ""
 "\n"
 "μη εγκαταστήσιμοι πάροχοι: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "Μη εγκαταστήσιμοι πάροχοι: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "αφαίρεση κλειδώματος για να επιτραπεί η αφαίρεση του %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "να μην εγκατασταθεί το %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "διατήρηση του %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "αφαίρεση κλειδώματος για να επιτραπεί η εγκατάσταση του %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Το αίτημα αυτό θα καταστρέψει το σύστημα σας!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "αγνοήστε την προειδοποίηση ενός κατεστραμμένου συστήματος"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "να μην ζητηθεί η εγκατάσταση όλων των επιλύσιμων παρέχοντας %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "να μην ζητηθεί η διαγραφή όλων των επιλύσιμων παρέχοντας %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "να μην εγκατασταθεί η νεότερη έκδοση του %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "διατήρηση του %s παρά την κατώτερη αρχιτεκτονική"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "εγκατάσταση του %s παρά την κατώτερη αρχιτεκτονική"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "διατήρηση του απαρχαιωμένου %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "εγκατάσταση του %s από το εξαιρούμενο αποθετήριο"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "υποβάθμιση του %s σε %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "αλλαγή αρχιτεκτονικής από %s σε %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4644,12 +4649,12 @@ msgstr ""
 "εγκατάσταση %s (με αλλαγή προμηθευτή)\n"
 "  %s --> %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "αντικατάσταση του %s με το %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "απεγκατάσταση του %s"
@@ -4666,79 +4671,79 @@ msgstr "Εκτέλεση %%posttrans script '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Εκτέλεση %posttrans scripts"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Η εγκατάσταση ματαιώθηκε σύμφωνα με τις οδηγίες."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " εκτελέστηκε"
 
 # %s is either BOOTP or DHCP
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " αποτυχία εκτέλεσηης"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "το %s έχει ήδη εκτελεστεί ως %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " η εκτέλεση παραλείφθηκε κατά την ματαίωση"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Σφάλμα κατά την αποστολή μηνύματος ειδοποίησης ενημέρωσης."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Νέο μήνυμα ενημέρωσης"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Το RPM απέτυχε: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Απέτυχε να εισάγει το δημόσιο κλειδί από το αρχείο %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Αδυναμία απομάκρυνσης του δημοσίου κλειδιού %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Το πακέτο δεν είναι υπογεγραμμένο!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Αλλαγή αρχείων ρύθμισης για %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "Το rpm αποθήκευσε το  %s ως %s αλλά ήταν αδύνατο να διαφανεί η διαφορά"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4748,13 +4753,13 @@ msgstr ""
 "Εδώ είναι οι πρώτες 25 γραμμές της διαφοράς:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "Το rpm δημιούργησε το %s ως %s αλλά ήταν αδύνατο να διαφανεί η διαφορά"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4765,47 +4770,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Επιπρόσθετο αποτέλεσμα rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "δημιουργήθηκε αντίγραφο ασφαλείας %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Η υπογραφή είναι εντάξει"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Άγνωστος τύπος υπογραφής"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Η υπογραφή δεν μπορεί να επαληθευτεί"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Η υπογραφή είναι εντάξει, αλλά το κλειδί δεν είναι έμπιστο"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Η υπογραφές του δημόσιου κλειδιού δεν είναι διαθέσιμες"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Το αρχείο δεν υπάρχει ή η υπογραφή δεν μπορεί να ελεχθεί"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Το αρχείο δεν είναι υπογεγραμμένο"
 
@@ -4892,6 +4897,20 @@ msgstr "Μη έγκυρος διαχωριστικός χαρακτήρας χω
 msgid "Invalid parameter array join separator character"
 msgstr "Μη έγκυρος διαχωριστικός χαρακτήρας ένωσης διατάξεων παραμέτρων"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Αδυναμία ανοίγματος αρχείου κλειδώματος: %s"
 
index d3569af..ec98943 100644 (file)
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2007-08-19 16:20+0100\n"
 "Last-Translator: Benjamin Weber <b.weber@warwick.ac.uk>\n"
 "Language-Team:  <en@li.org>\n"
@@ -1300,53 +1300,53 @@ msgstr "Enhances"
 msgid "Supplements"
 msgstr "Supplements"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Cannot open file %1."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Can't find %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Can't find %s."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Command executed when connecting"
@@ -3775,20 +3775,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3799,7 +3799,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3821,8 +3821,8 @@ msgid "Service alias cannot start with dot."
 msgstr "The VM's name cannot start with a digit."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Cannot open file for writing."
@@ -3843,32 +3843,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Valid metadata not found at specified URL(s)"
 msgstr[1] "Valid metadata not found at specified URL(s)"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Cannot create %s: %m\n"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "Cannot create directory %1: %2."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Building repository '%s' cache"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 #, fuzzy
 msgid "Unhandled repository type"
 msgstr "Uploaded %s to repository."
@@ -3879,44 +3879,44 @@ msgstr "Uploaded %s to repository."
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, fuzzy, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Error parsing metadata for '%s':"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Unknown command '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Adding repository '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Invalid export filename."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Removing repository '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Cannot stat '%s': %m\n"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4042,18 +4042,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Invalid Url scheme '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Authentication required for '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4080,6 +4082,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "File %1 not found in the repository."
@@ -4185,6 +4188,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Permissions denied"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4195,6 +4199,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4204,18 +4209,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Unsupported HTTP authentication method '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4368,7 +4373,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "Cannot create the file."
@@ -4384,223 +4389,223 @@ msgstr "Generally ignore this requirement"
 msgid "generally ignore of some dependencies"
 msgstr "Generally ignore this requirement"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s provides %s, but has another architecture."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "Problem installing source package %s-%s:"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "Connection request to: "
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "Cannot install %s due to dependency problems"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "None provides %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "backup does not exists"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 #, fuzzy
 msgid "unsupported request"
 msgstr " - not supported"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s is locked and cannot be uninstalled."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "not installed"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s is needed by %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Cannot install %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s conflicts with %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s obsoletes %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s obsoletes %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s conflicts with %s"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "None provides %s"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "There are no installable providers of %s"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "There are no installable providers of %s"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "do not install %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "keep %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "do not install %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "The request already exists."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "There are no installable providers of %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "Do not install or delete the resolvables concerned"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s provides %s, but has another architecture."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "Install %s although it would change the architecture"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s obsoletes %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "Updating %s to %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Installation of %s failed:"
@@ -4617,16 +4622,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Installation has been aborted as directed."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "Execute"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4634,65 +4639,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "Error during key encryption."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "failed"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Changed configuration files for %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm saved %s as %s, but it was impossible to determine the difference"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4702,14 +4707,14 @@ msgstr ""
 "Here are the first 25 lines of difference:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 "rpm created %s as %s, but it was impossible to determine the difference"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4720,51 +4725,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "Additional rpm output:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "created backup %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "Source package '%s' not found."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "Source package '%s' not found."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "Source package '%s' not found."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4850,6 +4855,20 @@ msgstr "Invalid parameter map split separator character"
 msgid "Invalid parameter array join separator character"
 msgstr "Invalid parameter array join separator character"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Cannot open file %1."
index f619f95..1fa3041 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -16,9 +16,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2020-02-19 23:54+0000\n"
-"Last-Translator: Juan Sarria <juansarriam@gmail.com>\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-10-08 19:48+0000\n"
+"Last-Translator: Andrés Barrantes Silman <andresbs2000@protonmail.com>\n"
 "Language-Team: Spanish <https://l10n.opensuse.org/projects/libzypp/master/es/"
 ">\n"
 "Language: es\n"
@@ -1306,54 +1306,54 @@ msgid "Supplements"
 msgstr "Complementa"
 
 # include/backup/ui.ycp:1661
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "No es posible abrir el pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "No es posible abrir el conducto (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "No es posible aplicar chroot a %s (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "No es posible cambiar al directorio %s en chroot %s (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "No es posible cambiar al directorio %s (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "No es posible ejecutar %s (%s)."
 
 # clients/printconf_write.ycp:121
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "No es posible hacer fork (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "El comando ha terminado con el estado %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "La señal %d (%s) ha interrumpido el comando."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "El comando ha terminado con un error desconocido."
 
@@ -3780,20 +3780,20 @@ msgstr[1] "(expira en %d días)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Buscando la llave gpg con identificador ID %1% en la caché %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Buscando la llave gpg con identificador %1% en el repositorio %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "El repositorio %1% no define ningún URL 'gpgkey=' adicional."
@@ -3804,7 +3804,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "No es posible leer el directorio de repositorio %1%: permiso denegado"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3824,8 +3824,8 @@ msgid "Service alias cannot start with dot."
 msgstr "El alias del servicio no puede comenzar con un punto."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "No es posible abrir el archivo %s para escribir en él."
@@ -3847,31 +3847,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "No se han encontrado metadatos válidos en la URL especificada"
 msgstr[1] "No se han encontrado metadatos válidos en las URL especificadas"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "No es posible crear %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "No es posible crear el directorio para el caché de metadatos."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Construyendo el caché del repositorio %s"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "No es posible crear el caché en %s, no posee permisos de escritura."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Error al añadir a caché el repositorio (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Tipo de repositorio no gestionado"
 
@@ -3881,44 +3881,44 @@ msgstr "Tipo de repositorio no gestionado"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Error al intentar leer de %s"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Error desconocido al leer de %s"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Añadiendo el repositorio %s"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nombre de archivo del repositorio no válido en %s"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Eliminando el repositorio %s"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "No es posible determinar dónde está almacenado el repositorio."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "No es posible suprimir %s"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "No es posible determinar donde está almacenado el servicio."
 
@@ -4060,12 +4060,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Expresión regular '%s' no válida"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Se requiere autenticación para %s"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4073,7 +4074,8 @@ msgstr ""
 "Visite el Centro de servicios al cliente de SUSE para comprobar si su "
 "registro es válido y no ha caducado."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4102,6 +4104,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "No se ha abierto el medio al intentar realizar la acción %s."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "No se encuentra el archivo %s en el medio %s"
@@ -4207,6 +4210,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Se ha denegado el permiso para acceder a %s."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Se ha superado el tiempo de espera al acceder a %s."
@@ -4217,6 +4221,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "La descarga de datos ha excedido el tamaño esperado '%s 1' de '%s 2'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "La ubicación '%s' está momentaneamente inaccesible."
@@ -4228,7 +4233,7 @@ msgstr ""
 " Hay un problema con el certificado SSL. Compruebe que la autoridad de "
 "certificación (CA) es correcta para %s."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4236,12 +4241,12 @@ msgstr ""
 "Creación de punto de conexión: no se encuentra ningún directorio en el que "
 "se pueda escribir para crear un punto de conexión"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Método de autenticación HTTP no compatible %s"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Instale primero el paquete lsof."
 
@@ -4444,7 +4449,7 @@ msgstr ""
 "  de la instalación de\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "No es posible crear sat-pool."
 
@@ -4458,60 +4463,60 @@ msgstr "romper %s ignorando algunas de sus dependencias"
 msgid "generally ignore of some dependencies"
 msgstr "generalmente se ignoran algunas dependencias"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s no pertenece a un repositorio distupgrade"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s posee una arquitectura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "se ha producido un problema con el paquete instalado %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "peticiones en conflicto"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "algún problema de dependencia"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "no hay nada que proporcione el elemento %s pedido"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "¿Ha habilitado todos los repositorios pedidos?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "el paquete %s no existe"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "petición no admitida"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s proviene del sistema y no se puede eliminar"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s no es instalable"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "no hay nada que proporcione %s, necesario para %s"
@@ -4519,41 +4524,41 @@ msgstr "no hay nada que proporcione %s, necesario para %s"
 # include/partitioning/auto_part_ui.ycp:200 include/partitioning/auto_part_ui.ycp:249
 # include/partitioning/auto_part_ui.ycp:200 include/partitioning/auto_part_ui.ycp:249
 # include/partitioning/auto_part_ui.ycp:200 include/partitioning/auto_part_ui.ycp:249
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "no es posible instalar ambos elementos: %s y %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s está en conflicto con %s proporcionado por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s deja obsoleto %s, proporcionado por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s instalado, deja obsoleto a %s proporcionado por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "La solución %s está en conflicto con %s, proporcionada por ella misma"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s requiere %s, pero este requisito no se puede cumplir"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "proveedores suprimidos: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4561,11 +4566,11 @@ msgstr ""
 "\n"
 "proveedores no instalables: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "proveedores no instalables: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "eliminar bloqueo para permitir la desinstalación de %s"
@@ -4573,98 +4578,98 @@ msgstr "eliminar bloqueo para permitir la desinstalación de %s"
 # include/partitioning/auto_part_ui.ycp:200 include/partitioning/auto_part_ui.ycp:249
 # include/partitioning/auto_part_ui.ycp:200 include/partitioning/auto_part_ui.ycp:249
 # include/partitioning/auto_part_ui.ycp:200 include/partitioning/auto_part_ui.ycp:249
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "no instalar %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "mantener %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "eliminar bloqueo para permitir la instalación de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Esta petición dañará su sistema."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignorar la advertencia de daño del sistema"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "no preguntar si se debe instalar una solución que proporciona %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 "no preguntar si se deben suprimir todas las soluciones que proporcionan %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "no instalar la versión mas reciente de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "mantener %s a pesar de la arquitectura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "instalar %s a pesar de la arquitectura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "mantener el antiguo %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "instalar %s desde el repositorio excluido"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "instalar %1% aunque se haya retraído"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "permitir la instalación de PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "instalar %1% aunque esté en la lista negra"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "restablecer versión anterior de %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "cambio en la arquitectura de %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4673,12 +4678,12 @@ msgstr ""
 "instalar %s (con cambio de proveedor)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "reemplazo de %s con %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "desinstalación de %s"
@@ -4695,61 +4700,61 @@ msgstr "Ejecutando el guion %%posttrans %1%"
 msgid "Executing %posttrans scripts"
 msgstr "Ejecutando guiones %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "La instalación se ha cancelado siguiendo las indicaciones."
 
 # include/nis_server/io.ycp:567
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " ejecutado"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " error de ejecución"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s ya se ha ejecutado como %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " ejecución omitida mientras se cancela"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Error al enviar la notificación del mensaje de actualización."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nuevo mensaje de actualización"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM fallido: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Error al importar la clave pública %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Error al eliminar la clave pública %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "¡El paquete no está firmado!"
 
@@ -4760,20 +4765,20 @@ msgstr "¡El paquete no está firmado!"
 # modules/Mail.ycp:563
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Se han modificado los archivos de configuración para %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 "rpm ha guardado %s como %s, pero no es posible determinar la diferencia"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4783,13 +4788,13 @@ msgstr ""
 "A continuación se presentan las primeras 25 líneas de diferencia:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm ha creado %s como %s, pero no es posible determinar la diferencia"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4800,49 +4805,49 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Salida de rpm adicional"
 
 # include/nis_server/io.ycp:582
 # include/backup/ui.ycp:1286
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "creada copia de seguridad %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "La firma es correcta"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Tipo de firma desconocido"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "La firma no cumple la verificación"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "La firma es correcta, pero la clave no es de confianza"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "La clave pública de firma no está disponible"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "El archivo no existe o no es posible comprobar la firma"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "El fichero no está firmado"
 
@@ -4929,6 +4934,24 @@ msgstr "Carácter separador de división de asignación de parámetros no válid
 msgid "Invalid parameter array join separator character"
 msgstr "Carácter separador de unión de conjunto de parámetros no válido"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"(curl) Error de descarga para '%s':\n"
+"Código de error: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"(curl) Error de descarga para '%s':\n"
+"No se recibió una respuesta HTTP\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "No es posible abrir el archivo de bloqueo: %s"
 
index 855b91c..905a394 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.et\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2019-12-08 11:54+0000\n"
 "Last-Translator: Jaanus Ojangu <jaanus.ojangu@gmail.com>\n"
 "Language-Team: Estonian <https://l10n.opensuse.org/projects/libzypp/master/"
@@ -1294,53 +1294,53 @@ msgstr "Parandused"
 msgid "Supplements"
 msgstr "Lisandid"
 
-#: zypp/ExternalProgram.cc:268
-#, boost-format, c-format
+#: zypp/ExternalProgram.cc:269
+#, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Ei saanud avada preudoterminali 'pty' (%s)."
 
-#: zypp/ExternalProgram.cc:279
-#, boost-format, c-format
+#: zypp/ExternalProgram.cc:280
+#, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Ei saa avada toru 'pipe' (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Ei saa chroot läbi viia '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Ei  õnnestunud 'chdir' '%s' 'chroot' sees '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
-#, boost-format, c-format
+#: zypp/ExternalProgram.cc:376
+#, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Ei saa kataloogi vahetada 'chdir '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Ei saa käivitada '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "'fork' ei õnnestu (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Käsk lõpetati olekuga %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Käsk lõpetati signaaliga %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Käsk lõpetas tundmatu veaga."
 
@@ -1359,7 +1359,7 @@ msgid "Failed to delete key."
 msgstr "Võtme kustutamine nurjus."
 
 #: zypp/KeyRing.cc:609
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Signature file %s not found"
 msgstr "Allkirjade faili %s ei leitud"
 
@@ -3763,20 +3763,20 @@ msgstr[1] "(aegub %d päevaga)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Otsitakse gpg võtme ID-d %1% vahemälus %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Otsitakse gpg võtme ID-d %1% repositooriumis %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Repositoorium %1% ei defineeri täiendavat 'gpgkey=' URLi."
@@ -3787,7 +3787,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Ei saa lugeda repo kataloogi '%1%': Juurdepääs on keelatud"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3807,8 +3807,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Teenuse alias ei saa alata täpiga."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Faili '%s' avamine kirjutamiseks nurjus."
@@ -3828,31 +3828,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Valitud metaandmeid ei leitud määratud URL-ilt"
 msgstr[1] "Valitud metaandmeid ei leitud määratud URL-delt"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
-#, boost-format, c-format
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
+#, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Pole võimalik luua %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Metaandmete vahemälu kataloogi ei saa luua."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Loodava repositooriumi '%s' vahemälu"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Ei saa luua vahemälu kohas %s - puuduvad kirjutamise õigused."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Hoidla puhverdamine nurjus (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Käsitlemata tarkvarahoidla tüüp"
 
@@ -3862,44 +3862,44 @@ msgstr "Käsitlemata tarkvarahoidla tüüp"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Viga lugemisel asukohast '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
-#, boost-format, c-format
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
+#, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Tundmatu viga '%s' lugemisel"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Lisatakse repositoorium '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
-#, boost-format, c-format
+#: zypp/RepoManager.cc:1710
+#, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Vigane repo faili nimi '%s'"
 
-#: zypp/RepoManager.cc:1747
-#, boost-format, c-format
+#: zypp/RepoManager.cc:1751
+#, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Eemaldatakse hoidla '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Ei suuda tuvastada, kus hoidla asub."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Faili '%s' ei saa kustutada"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Ei suuda tuvastada, kus teenus asub."
 
@@ -4015,7 +4015,7 @@ msgid "History:"
 msgstr "Ajalugu:"
 
 #: zypp/base/StrMatcher.cc:152
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Unknown match mode '%s'"
 msgstr "Tundmatu ühilduvusstaatus '%s'"
 
@@ -4025,22 +4025,23 @@ msgid "Unknown match mode '%s' for pattern '%s'"
 msgstr "Tundmatu 'match mode' '%s' struktuurile '%s'"
 
 #: zypp/base/StrMatcher.cc:157
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Invalid regular expression '%s': regcomp returned %d"
 msgstr "Vigane regulaaravaldis '%s': recomp vastas %d"
 
 #: zypp/base/StrMatcher.cc:158
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Invalid regular expression '%s'"
 msgstr "Vigane regulaaravaldis '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Autoriseerimine on nõutav '%s' jaoks"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4048,7 +4049,8 @@ msgstr ""
 "Külastage SUSE kliendikeskust, et kontrollida, kas teie registreering on "
 "kehtiv ega ole aegunud."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4057,12 +4059,12 @@ msgstr ""
 "ja kas see pole aegunud."
 
 #: zypp/media/MediaException.cc:33
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Failed to mount %s on %s"
 msgstr "Haakimine %s asukohas %s nurjus"
 
 #: zypp/media/MediaException.cc:43
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Failed to unmount %s"
 msgstr "Lahtihaakimine %s nurjus"
 
@@ -4077,7 +4079,8 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Toimingu '%s' sooritamisel meedium ei avanenud."
 
 #: zypp/media/MediaException.cc:58
-#, boost-format, c-format
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
+#, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Faili '%s' ei leitud meediumil '%s'"
 
@@ -4111,7 +4114,7 @@ msgid "Path '%s' on medium '%s' is not a file."
 msgstr "Tee sihtkohas '%s' andmekandjal '%s' ei ole fail."
 
 #: zypp/media/MediaException.cc:94
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Path '%s' on medium '%s' is not a directory."
 msgstr "Tee '%s' meediumil '%s' pole kataloog."
 
@@ -4172,16 +4175,17 @@ msgid "Cannot eject any media"
 msgstr "Ühtegi andmekandjat ei saa väljutada"
 
 #: zypp/media/MediaException.cc:166
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Cannot eject media '%s'"
 msgstr "Ei saa väljutada meediumi '%s'"
 
 #: zypp/media/MediaException.cc:181
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Permission to access '%s' denied."
 msgstr "Ligipääs '%s' on keelatud."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "'%s juurdepääsu ajalimiit on ületatud."
@@ -4192,6 +4196,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Allalaaditud andmed ületasid faili suurust '%s'  '%s' -st."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Asukoht '%s' on ajutiselt kättesaamatu."
@@ -4203,19 +4208,19 @@ msgstr ""
 " SSL-i probleem sertifikaadiga, kontolli, et SK sertifikaat sobiks '%s' "
 "jaoks."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 "Lisamispunkti loomine: lisamispunkti loomiseks ei leia kirjutatavat kataloogi"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Mittetoetatud HTTP autoriseerimise meetod '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Palun esmalt paigaldage 'Isof' pakett."
 
@@ -4416,13 +4421,13 @@ msgstr ""
 "  paigaldusest\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Faili ei sa luua sat-pooli."
 
 #. TranslatorExplanation %s = name of package, patch, selection ...
 #: zypp/solver/detail/ProblemSolutionIgnore.cc:42
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "break %s by ignoring some of its dependencies"
 msgstr "võib katki teha %s ignoneerides mõnda selle sõltuvust"
 
@@ -4430,99 +4435,99 @@ msgstr "võib katki teha %s ignoneerides mõnda selle sõltuvust"
 msgid "generally ignore of some dependencies"
 msgstr "üldiselt ignoreeritakse mõnda sõltuvust"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s ei kuulu distupgrade tarkvarahoidlasse"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s on halvema arhitektuuriga"
 
-#: zypp/solver/detail/SATResolver.cc:1066
-#, boost-format, c-format
+#: zypp/solver/detail/SATResolver.cc:1078
+#, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "Paigaldatud paketiga %s on probleem"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "vastuolulised päringud"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "mingi sõltuvuse probleem"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "kuskil ei pakuta nõutud %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Kas olete lubanud kõik taotletud hoidlad?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
-#, boost-format, c-format
+#: zypp/solver/detail/SATResolver.cc:1091
+#, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "paketti %s pole olemas"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "mittetoetaud taotlus"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s on süsteemi poolt seatud ja ei ole eemaldatav"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s pole paigaldatav"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "miski ei paku %s vajalikku %s -le"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Ei saa paigaldada mõlemat %s ja %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s on konfliktis %s -ga hangituna %s poolt"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s aegub %s pakkujalt %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "paigaldatud %s aegub %s pakkujalt %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "lahendatav %s on vastuolus enda poolt pakutuga %s"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s nõuab %s, kuid seda nõuet ei saa täita"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "kustutatud pakkujad: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4530,106 +4535,106 @@ msgstr ""
 "\n"
 "kättesaamatud varustajad: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "kättesaamatud varustajad: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "eemalda lukk, et lubada %s eemaldamist"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "ära paigalda %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "jäta alles %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
-#, boost-format, c-format
+#: zypp/solver/detail/SATResolver.cc:1252
+#, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "eemalda lukustus %s paigalduse lubamiseks"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "See päring rikub teie süsteemi!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignoreerige katkise süsteemi hoiatust"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "ärge paluge paigaldada pakutavaid sõltuvuste lahendusi %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "ärge paluge kustutada kõiki pakutud sõltuvuste lahendusi %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "ära paigalda %s uusimat versiooni"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "jäta alles %s hoolimata halvemast arhitektuurist"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "paigaldage %s vaatamata madalamale arhitektuurile"
 
-#: zypp/solver/detail/SATResolver.cc:1367
-#, boost-format, c-format
+#: zypp/solver/detail/SATResolver.cc:1379
+#, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "jäta aegunud %s alles"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "paigaldage %s välistatud hoidlast"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "paigalda %1%, ehkki see on tagasi tõmmatud"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "lubage paigaldada PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "paigaldage %1%, kuigi see on mustas nimekirjas"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "tagasiviimine %s tasemele %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "arhitektuuri muutus %s teisele %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4638,13 +4643,13 @@ msgstr ""
 "paigalda %s (koos tarnija vahetusega)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "%s vahetamine %s vastu"
 
-#: zypp/solver/detail/SATResolver.cc:1448
-#, boost-format, c-format
+#: zypp/solver/detail/SATResolver.cc:1460
+#, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "%s eemaldamine"
 
@@ -4660,78 +4665,78 @@ msgstr "Käib %%posttrans script '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Käib %posttrans scripts"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Paigaldamine on vastavalt juhistele katkestatud."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " käivitatud"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " käivitamine nurjus"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s juba käivitatud kui %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " käivitamine jäeti katkestamise käigus vahele"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Viga uuendusteate teavituse saatmisel."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Uus uuendusteade"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM nurjus: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Avaliku võtme %1% import nurjus"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Avaliku võtme %1% eemaldamine nurjus"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Pakett ei ole allkirjastatud!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Muudetud seadistuste fail %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm salvestati %s nimega %s, kuid erinevust oli võimatu tuvastada"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4741,13 +4746,13 @@ msgstr ""
 "Siin on esimesed 25 erinevuse rida:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm loodi %s nimega %s, aga oli võimatu leida erinevusi"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4758,47 +4763,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Täiendav rpm-i väljund"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "loodi varukoopia %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Allkiri on korras"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Tundmatu allkirja tüüp"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Allkirja ei võrrelda"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Allkiri on õige aga võti ei ole usaldatav"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Allkirjade avalik võti pole saadaval"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Faili pole olemas või allkirja pole võimalik kontrollida"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Fail on allkirjastamata"
 
@@ -4808,12 +4813,12 @@ msgid "Url scheme does not allow a %s"
 msgstr "URL kuju ei luba %s"
 
 #: zypp/url/UrlBase.cc:173
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Invalid %s component '%s'"
 msgstr "Vigane %s komponent '%s'"
 
 #: zypp/url/UrlBase.cc:180
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Invalid %s component"
 msgstr "Vigane %s komponent"
 
@@ -4826,7 +4831,7 @@ msgid "Url scheme is a required component"
 msgstr "URL kuju on nõutav komponent"
 
 #: zypp/url/UrlBase.cc:830
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Invalid Url scheme '%s'"
 msgstr "Vigane Url kuju '%s'"
 
@@ -4847,7 +4852,7 @@ msgid "Url scheme does not allow a host component"
 msgstr "Url kuju ei võimalda arvutinime komponenti"
 
 #: zypp/url/UrlBase.cc:1049
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Invalid host component '%s'"
 msgstr "Vigane host komponent '%s'"
 
@@ -4856,7 +4861,7 @@ msgid "Url scheme does not allow a port"
 msgstr "Url kuju ei võimalda porti"
 
 #: zypp/url/UrlBase.cc:1081
-#, boost-format, c-format
+#, c-format, boost-format
 msgid "Invalid port component '%s'"
 msgstr "Vigane pordi komponent '%s'"
 
@@ -4884,6 +4889,20 @@ msgstr "Vigane parameeter kaardijaotuse eraldusmärk"
 msgid "Invalid parameter array join separator character"
 msgstr "Vigane parameetrimassiivi liitumismärk"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Ei saa avada lukustusfaili: %s"
 
index d9a4bed..e689b2d 100644 (file)
--- a/po/fa.po
+++ b/po/fa.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: opensuse-i 18n\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2019-05-21 15:55+0000\n"
 "Last-Translator: Mohammad Rezaei Seresht <m_rezaei_seresht@hotmail.com>\n"
 "Language-Team: Persian <https://l10n.opensuse.org/projects/libzypp/master/fa/"
@@ -1290,53 +1290,53 @@ msgstr "بالا میبرد"
 msgid "Supplements"
 msgstr "تکمیل میکند"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "نمیتوان pty (%s) را باز کرد."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "نمیتوان pipe (%s) را باز کرد."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "نمیتوان chroot کرد به '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "نمیتوان chdir کرد به '%s'  درون chroot '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "نمیتوان chdir کرد به '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "'%s' (%s) را نمیتوان اجرا کرد."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "نمیتوان fork کرد (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "دستور با وضعیت %d خارج شد."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "دستور با سیگنال %d (%s) کشته شد."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "دستور با خطای ناشناخته خارج شد."
 
@@ -3760,20 +3760,20 @@ msgstr[2] "(در %d منقضی می شود)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "در جستجوی کلید gpg %1%  در کش %2% ."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "در جستجوی شناسه کلید gpg %1% در مخزن %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3784,7 +3784,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "نمیتوان فهرست مخزن '%1%' را خواند: دسترسی غیرمجاز است"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3804,8 +3804,8 @@ msgid "Service alias cannot start with dot."
 msgstr "نام مستعار سرویس نمیتواند با نقطه شروع شود."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "نمیتوان پرونده ی '%s' را برای نوشتن باز کرد."
@@ -3826,31 +3826,31 @@ msgstr[0] "شبه داده ی معتبر  در آدرس تعیین شده یاف
 msgstr[1] "شبه داده ی معتبر در آدرسهای تعیین شده یافت نشد"
 msgstr[2] "شبه داده ی معتبر در آدرسهای تعیین شده یافت نشد"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "نمیتوان %s را ساخت"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "نمیتوان فهرست کش شبه داده را ساخت."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "در حال ساخت کش مخزن '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "نمیتوان کش را در %s ساخت - دسترسی نوشتن نیست."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "ناموفق در کش مخزن (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "نوع مخزن کنترل نشده"
 
@@ -3860,44 +3860,44 @@ msgstr "نوع مخزن کنترل نشده"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "خطا در تلاش برای خواندن از '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "خطای ناشناس در خواندن از  '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "در حال اضافه کردن مخزن '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "نام پرونده ی مخزن نامعتبر در '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "در حال حذف مخزن  '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "نمیتوان کشف کرد که مخزن در کجا ذخیره شده است."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "'%s' را نمیتوان حذف کرد"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "نمیتوان کشف کرد سرویس در کجا ذخیره شده است."
 
@@ -4032,18 +4032,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "عبارت عادی نامعتبر '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "احراز هویت برای '%s' مورد نیاز است"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4072,6 +4074,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "رسانه در هنگام تلاش برای انجام عمل '%s' باز نشده است."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "پرونده ی '%s' در رسانه ی '%s' یافت نشد"
@@ -4177,6 +4180,7 @@ msgid "Permission to access '%s' denied."
 msgstr "اجازه برای دسترسی به '%s' داده نشد."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "مهلت زمانی در هنگام دسترسی به '%s' به اتمام رسید."
@@ -4187,6 +4191,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "مکان '%s' به صورت موقتی غیر قابل دسترسی است."
@@ -4196,19 +4201,19 @@ msgstr "مکان '%s' به صورت موقتی غیر قابل دسترسی اس
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " ایراد گواهی SSL، لطفا بررسی کنید که گواهی CA برای '%s' درست است."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 "ساخت نقطه ی اتصال: نمیتوان یک فهرست قابل نوشتن را برای ساخت نقطه ی اتصال یافت"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "حالت احراز هویت پشتیبانی نشده '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "لطفا ابتدا بسته ی 'lsof' را نصب کنید."
 
@@ -4410,7 +4415,7 @@ msgstr ""
 "  از نصب\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "نمیتوان sat-pool را ساخت."
 
@@ -4424,99 +4429,99 @@ msgstr "شکستن %s با نادیده گرفتن برخی از وابستگی
 msgid "generally ignore of some dependencies"
 msgstr "نادیده گرفته برخی وابستگیها به صورت عمومی"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s مربوط به یک مخزن distupgrade نیست"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s دارای معماری نامرغوب است"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "ایراد در بسته ی نصب شده ی %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "درخواستهای متداخل"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "برخی مشکلات وابستگی"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "هیچ چیز %s درخواستی را مهیا نمیکند"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "آیا شما تمامی مخازن درخواستی را فعال کرده اید؟"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "بسته ی %s وجود ندارد"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "درخواست پشتیبانی نشده"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s توسط سیستم مهیا شده است و نمیتواند حذف شود"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s قابل نصب نیست"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "هیچ چیز %s که توسط %s مورد نیاز است را مهیا نمیکند"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "نمیتوان هردو %s و %s را نصب کرد"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s با %s که توسط %s مهیا شده است متداخل است"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s منسوخ میکند %s را که توسط %s مهیا شده است"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s نصب شده منسوخ میکند %s را که توسط %s مهیا شده است"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "حل شونده ی %s با %s مهیا شده توسط خودش متداخل است"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s میخواهد %s را، اما این نیازمندی قابل مهیا شدن نیست"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "ارائه دهنده های حذف شده: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4524,106 +4529,106 @@ msgstr ""
 "\n"
 "ارائه دهندگان غیر قابل نصب: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "ارائه دهندگان غیر قابل نصب: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "قفل را جهت حذف %s پاک کنید"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s را نصب نکن"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s را نگه دار"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "قفل را جهت نصب %s حذف کن"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "این درخواست سیستم شما را خواهد شکست!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "نادیده گرفتن هشدار سیستم شکسته شده"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "درباره ی نصب یک حل شونده که %s را ارائه میدهد سوال نکن"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "درباره ی حذف تمامی حل شونده ها که %s را ارائه میدهند سوال نکن"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "نسخه های جدیدتر %s را نصب نکن"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "نگهداری %s با وجود اینکه معماری نامرغوب دارد"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "نصب %s با وجود اینکه معماری نامرغوب دارد"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "نگهداری %s منسوخ شده"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "نصب %s از مخزن مستثنی"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "تنزل درجه ی %s به %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "تغییر معماری %s به %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4632,12 +4637,12 @@ msgstr ""
 "نصب %s (با تغییر فروشنده) \n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "جایگزینی %s با %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "از نصب خارج کردن %s"
@@ -4654,78 +4659,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "نصب انصراف داده شد و یا جهتدار شد."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " اجرا شده"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " اجرا ناموفق بود"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s در حال حاظر اجرا شده به عنوان %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " اجرا در هنگام انصراف پرش شد"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "خطا در ارسال اعلام پیغام بروزرسانی."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "پیغام بروزرسانی جدید"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM شکست خورد: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "ناموفق در وارد کردن کلید عمومی از پرونده ی %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "ناموفق در حذف کلید عمومی %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "بسته مورد تایید نیست!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "پرونده های پیکربندی تغییر کرده برای %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm ذخیره شد %s به عنوان %s، اما تعیین اختلاف امکانپذیر نبود"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4735,13 +4740,13 @@ msgstr ""
 "اینها 25 خط اولیه ی اختلاف ها هستند:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm ساخته شد %s به عنوان %s، اما تعیین اختلاف امکانپذیر نبود"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4752,47 +4757,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "خروجی rpm اضافی"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "پشتیبان ساخته شد %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "امضا خوب است"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "نوع امضا ناشناخته است"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "امضا قابل تایید نیست"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "امضا خوب است، اما کلید اعتمادسازی نشده است"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "کلید عمومی امضاها موجود نیست"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "پرونده موجود نیست و یا امضاها قابل بررسی نیستند"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "فایل تایید نشده"
 
@@ -4878,6 +4883,20 @@ msgstr "پارامتر کاراکتر جداکننده ی تقسیمگر نقش
 msgid "Invalid parameter array join separator character"
 msgstr "پارامتر کاراکتر جداکننده ی پیوند آرایه نامعتبر"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "نمیتوان فایل قفل را باز کرد: %s"
 
index bc98646..bb2a1b8 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -19,9 +19,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.fi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2020-06-28 06:55+0000\n"
-"Last-Translator: Kimmo Kujansuu <mrkujansuu@gmail.com>\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-10-28 22:49+0000\n"
+"Last-Translator: Tommi Nieminen <software@legisign.org>\n"
 "Language-Team: Finnish <https://l10n.opensuse.org/projects/libzypp/master/fi/"
 ">\n"
 "Language: fi\n"
@@ -1428,53 +1428,53 @@ msgstr "Parannukset"
 msgid "Supplements"
 msgstr "Täydentää"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "pty:n (%s) avaaminen ei onnistu."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Putken (%s) avaaminen ei onnistu."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Hakemistorajoitus (chroot) ei onnistu hakemistoon \"%s\" (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "chdir '%s' ei onnistu chroot '%s' sisällä (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "chdir  '%s' ei onnistu (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "\"%s\" (%s) suorittaminen ei onnistu."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Haarauttaminen (fork) ei onnistu (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Komento päättyi tilaan %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Komento lopetettiin signaalilla %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Komento päättyi tuntemattomaan virheeseen."
 
@@ -3974,20 +3974,20 @@ msgstr[1] "(vanhenee %d päivässä)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Etsitään GPG-avainta %1% välimuistista %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Etsitään GPG-avainta %1% asennuslähteestä %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Asennuslähde %1% ei ole asettanut ”gpgkey=”-lisäverkko-osoitteita."
@@ -3998,7 +3998,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "repo hakemiston lukeminen ei onnistu '%1%': Pääsy estetty"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4018,8 +4018,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Palvelun alias ei voi alkaa pisteellä."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Tiedostoa \"%s\" ei voida avata kirjoitusta varten."
@@ -4039,31 +4039,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Annetusta verkko-osoitteesta ei löytynyt kelvollista metatietoa"
 msgstr[1] "Annetuista verkko-osoitteista ei löytynyt kelvollista metatietoa"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Ei voi luoda %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Metatiedon välimuistihakemistoa ei voi luoda."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Rakennetaan asennuslähteen \"%s\" välimuistia"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Välimuistia %s ei voida luoda - ei kirjoitusoikeuksia."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Virhe asennuslähteen puskuroinnissa (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Virheellinen asennuslähteen tyyppi"
 
@@ -4073,44 +4073,44 @@ msgstr "Virheellinen asennuslähteen tyyppi"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Virhe luettaessa \"%s\""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Tuntematon virhe luettaessa \"%s\""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Lisätään asennuslähdettä \"%s\""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Virheellinen asennuslähteen tiedostonimi \"%s\""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Poistetaan asennuslähdettä \"%s\""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Asennuslähteen sijaintia ei voida päätellä."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "\"%s\" poistaminen ei onnistu"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Palvelun sijaintia ei voida päätellä."
 
@@ -4246,19 +4246,21 @@ msgid "Invalid regular expression '%s'"
 msgstr "Virhe säännöllisessä lausekkeessa \"%s\""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "\"%s\" vaatii tunnistautumisen"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 "Tarkista SUSEn asiakaskeskuksessa käymällä, onko rekisteröitymisesi voimassa."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4287,6 +4289,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Tietolähdettä ei avattu suoritettaessa \"%s\"."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Tiedostoa \"%s\" ei löydy tietovälineeltä \"%s\""
@@ -4392,6 +4395,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Pääsy evätty kohteeseen \"%s\"."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Aikakatkaisu avattaessa \"%s\"."
@@ -4402,6 +4406,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Ladattu tieto ylittää odotetun tiedostokoon ”%s”/”%s”."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "\"%s\" ei ole hetkellisesti saatavilla."
@@ -4411,7 +4416,7 @@ msgstr "\"%s\" ei ole hetkellisesti saatavilla."
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " SSL-ongelma: Tarkista että CA-varmenne kuuluu \"%s\"."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4419,12 +4424,12 @@ msgstr ""
 "Luo liitospiste: Kirjoitettavissa olevaa kansiota ei löydy liitospisteen "
 "luomiseksi"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "HTTP-tunnistautumistapa \"%s\" ei ole tuettu"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Asenna 'lsof' paketti ensiksi."
 
@@ -4623,7 +4628,7 @@ msgstr ""
 "  asennuksesta\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Sat-varaston luonti ei onnistu."
 
@@ -4637,99 +4642,99 @@ msgstr "jätä %s riippuvuuksia huomioimatta"
 msgid "generally ignore of some dependencies"
 msgstr "jätä joitakin riippuvuuksia huomiotta"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s ei kuulu jakeluversion päivitysasennuslähteeseen"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s on alempaa arkkitehtuuria"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "virhe asennettaessa pakettia %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "ristiriitaiset kyselyt"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "jokin riippuvuusongelma"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "Mikään ei tarjoa pyydettyä %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Oletko ottanut käyttöön kaikki pyydetyt asennuslähteet?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "pakettia %s ei ole olemassa"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "pyyntöä ei tueta"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s on järjestelmän tarjoama ja sitä ei voi poistaa"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s ei ole asennettavissa"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "mikään ei tarjoa %s, jota %s tarvitsee"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Ei voida asentaa molempia %s ja %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s on ristiriidassa %s (%s) kanssa"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s vanhentaa %s (%s)"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "asennettu %s vanhentaa %s (%s)"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s on ristiriidassa itsensä kanssa (%s)"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s tarvitsee %s, mutta sen asentaminen ei onnistu"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "poistetut tarjoajat: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4737,106 +4742,106 @@ msgstr ""
 "\n"
 "Poistettavissa olevat tarjoajat: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "poistetut tarjoajat: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "poista lukitus salliaksesi %s poiston"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "älä asenna %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "pidä %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "poista lukitus asentaaksesi: %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Tämä pyyntö rikkoo järjestelmän!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ohita varoitus rikkinäisestä järjestelmästä"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "älä kysy asennettaessa paketteja, jotka tuo %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "älä kysy poistettaessa paketteja, jotka tuo %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "älä asenna uusinta %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "Pidä %s vaikka se on alempaa arkkitehtuuria"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "asenna %s vaikka se on alempaa arkkitehtuuria"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "pidä vanhentunut %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "Asennetaan %s poisjätetystä asennuslähteestä"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "asenna %1%, vaikka se on vedetty takaisin"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "salli asentaa PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "asenna %1%, vaikka se on mustalistattu"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "päivitetään vanhempaan %s -> %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "arkkitehtuurin vaihto %s -> %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4845,12 +4850,12 @@ msgstr ""
 "asenna %s (vaihtaa tarjoajaa)\n"
 "  %s --> %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "Korvataan %s -> %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "poista %s"
@@ -4867,79 +4872,79 @@ msgstr "Suoritetaan %%posttrans-skriptiä ”%1%”"
 msgid "Executing %posttrans scripts"
 msgstr "Suoritetaan %posttrans-skriptejä"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Asennus keskeytettiin."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " suoritettu"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " suoritus epäonnistui"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s on jo suoritettu nimellä %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " suoritus ohitettiin keskeytettäessä"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Virhe lähetettäessä päivityshuomautusta."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Uusi päivitysviesti"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM-virhe: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Avaimen tuonti tiedostosta %1% epäonnistui"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Julkisen avaimen %1% poisto epäonnistui"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Pakettia ei ole allekirjoitettu!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Muunnettiin paketin %s asetustiedostoja:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 "rpm tallensi tiedoston %s nimellä %s. Erojen selvittäminen ei onnistunut"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4949,13 +4954,13 @@ msgstr ""
 "Tässä ensimmäiset 25 muuttunutta riviä:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm loi tiedoston %s nimellä %s, erojen selvittäminen ei onnistunut"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4966,47 +4971,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "rpm-lisätuloste"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "luotiin varmuuskopio %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Allekirjoitus kelpaa"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Tuntematon allekirjoituksen tyyppi"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Allekirjoitusta ei voida todentaa"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Allekirjoitus kelpaa, mutta avain ei ole luotettu"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Allekirjoituksen julkinen avain ei ole saatavilla"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Tiedostoa ei ole tai allekirjoitusta ei voi tarkistaa"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Tiedosto on allekirjoittamaton"
 
@@ -5094,6 +5099,24 @@ msgstr "Virheellinen parametrikartan jaon erotin"
 msgid "Invalid parameter array join separator character"
 msgstr "Virheellinen parametritaulukon liitoksen erotin"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Latausvirhe (curl) kohteelle ”%s”:\n"
+"Virhekoodi: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Latausvirhe (curl) kohteelle ”%s”:\n"
+"HTTP-vastausta ei saatu\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Lukitustiedoston avaaminen ei onnistu: %s"
 
index 38c7169..4d20e42 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -19,9 +19,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2020-02-20 18:54+0000\n"
-"Last-Translator: Christine Gabriel <christine@stoquart.com>\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-30 12:48+0000\n"
+"Last-Translator: Antoine Belvire <antoine.belvire@opensuse.org>\n"
 "Language-Team: French <https://l10n.opensuse.org/projects/libzypp/master/fr/>"
 "\n"
 "Language: fr\n"
@@ -1306,55 +1306,55 @@ msgid "Supplements"
 msgstr "Complète"
 
 # TLABEL backup_2002_03_14_2340__125
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Impossible d'ouvrir pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Impossible d'ouvrir le pipe (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Impossible d'effectuer une commande chroot vers '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 "Impossible d'appliquer la commande chdir vers '%s' dans le chroot '%s' ('%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Impossible d'appliquer la commande chdir vers '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Impossible d'exécuter '%s' (%s)."
 
 # TLABEL printconf_2002_03_14_2340__110
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Impossible d'exécuter une commande fork (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "La commande s'est terminée avec l'état %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "La commande a été supprimée par le signal %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "La commande s'est terminée à cause d'une erreur inconnue."
 
@@ -3780,20 +3780,20 @@ msgstr[1] "(expire dans %d jours)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Recherche de la clé gpg %1% dans le cache %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Recherche de la clé gpg %1% dans le dépôt %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Le dépôt %1% ne définie pas d'URL 'gpgkey=' additionnelles."
@@ -3805,7 +3805,7 @@ msgstr "Impossible de lire le répertoire de dépôt '%1%' : permission refusé
 
 # TLABEL restore_2002_08_07_0216__88
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3826,8 +3826,8 @@ msgstr "L'alias d'un service ne peut pas commencer par un point."
 
 # TLABEL kinternet_2002_02_20_2255__39
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Impossible d'ouvrir le fichier '%s' en écriture."
@@ -3847,32 +3847,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Aucune métadonnée valide trouvée à l'URL spécifiée"
 msgstr[1] "Aucune métadonnée valide trouvée aux URL spécifiées"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Impossible de créer %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Impossible de créer le répertoire de cache des métadonnées."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Construction du cache du dépôt '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Impossible de créer le cache dans %s - pas d'autorisation en écriture."
 
 # TLABEL restore_2002_08_07_0216__88
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Échec de la mise en cache du dépôt (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Type de dépôt non pris en charge"
 
@@ -3882,44 +3882,44 @@ msgstr "Type de dépôt non pris en charge"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Erreur lors de la tentative de lecture depuis '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Erreur de lecture inconnue depuis '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Ajout du dépôt '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nom du fichier de dépôt non valide sur '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Suppression du dépôt '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Impossible de déterminer l'emplacement de stockage du dépôt."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Impossible de supprimer '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Impossible de déterminer l'emplacement de stockage du service."
 
@@ -4058,12 +4058,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Expression régulière '%s' invalide"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Authentification requise pour '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4071,7 +4072,8 @@ msgstr ""
 "Visitez SUSE Customer Center pour vérifier si votre enregistrement est "
 "valide et n'a pas expiré."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4102,6 +4104,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Le medium ne s'est pas ouvert lors de l'action '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Fichier '%s' introuvable sur le medium '%s'"
@@ -4210,6 +4213,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Autorisation d'accès à '%s' refusée."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Temps maximal dépassé lors de l'accès à '%s'."
@@ -4222,6 +4226,7 @@ msgstr ""
 "'%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "L'emplacement '%s' est temporairement inaccessible."
@@ -4232,7 +4237,7 @@ msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 " Problème de certificat SSL, vérifiez que le certificat CA est OK pour '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4240,12 +4245,12 @@ msgstr ""
 "Création d'un point d'attache : Impossible de trouver un répertoire pour "
 "créer un point d'attache"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Méthode d'authentification HTTP '%s' non prise en charge"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Veuillez d'abord installer le paquet 'lsof'."
 
@@ -4448,7 +4453,7 @@ msgstr ""
 "  de l'installation de\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Impossible de créer la réserve sat."
 
@@ -4462,102 +4467,102 @@ msgstr "casser %s en ignorant certaines de ses dépendances"
 msgid "generally ignore of some dependencies"
 msgstr "Ignorer généralement certaines dépendances"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s n'appartient à aucun dépôt de mise à niveau de la distribution"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s a une architecture inférieure"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problème avec le paquet installé %s"
 
 # TLABEL kinternet_2002_02_20_2255__29
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "requêtes conflictuelles"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "Problèmes de dépendance"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "rien ne fournit %s qui est requis"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Avez-vous activé tous les dépôts requis ?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Le paquet %s n'existe pas"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "Requête non supportée"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s est fourni par le système et ne peut être supprimé"
 
 # TLABEL partitioning_2002_01_04_0147__180
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s n'est pas installable"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "rien ne fournit %s, qui est requis par %s"
 
 # TLABEL partitioning_2002_01_04_0147__180
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "impossible d'installer simultanément %s et %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s est en conflit avec %s fourni par %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s rend obsolète %s fourni par %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s installé rend obsolète %s fourni par %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "L'élément %s est en conflit avec %s fourni par lui même"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s requiert %s, mais cette dépendance ne peut pas être fournie"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "fournisseurs supprimés : "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4565,108 +4570,108 @@ msgstr ""
 "\n"
 "fournisseurs non installables : "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "fournisseurs non installables : "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "enlever le verrou pour permettre la suppression de %s"
 
 # TLABEL partitioning_2002_01_04_0147__180
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "ne pas installer %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "conserver %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "enlever le verrou pour permettre l'installation de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Cette requête va casser votre système !"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignorer l'avertissement d'un système cassé"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "ne pas demander d'installer un élément résoluble fournissant %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 "ne pas demander de supprimer tous les éléments résolubles fournissant %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "ne pas installer une version plus récente de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "conserver %s en dépit de l'architecture inférieure"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "installer %s en dépit de l'architecture inférieure"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "conserver %s obsolète"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "installer %s depuis le dépôt exclu"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "installer %1% bien qu'il ait été retiré"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "autoriser l'installation du PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "installer %1% bien qu'il ait été placé en liste noire"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "installation d'une version moins récente de %s vers %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "changement de l'architecture %s à %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4675,12 +4680,12 @@ msgstr ""
 "installer %s (avec changement de fournisseur)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "remplacement de %s par %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "désinstallation de %s"
@@ -4697,74 +4702,74 @@ msgstr "Exécution du script %%posttrans « %1% »"
 msgid "Executing %posttrans scripts"
 msgstr "Exécution des scripts %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "L'installation a été abandonnée comme demandé."
 
 # TLABEL online_update_2002_01_04_0147__113
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " exécuté"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " échec de l'exécution"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s déjà exécuté en tant que %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " exécution annulée lors de l'abandon"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Erreur lors de l'envoi de la notification de mise à jour par message."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nouveau message de mise à jour"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Échec RPM : "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Impossible d'importer la clé publique %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Impossible de supprimer la clé publique %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Le paquet n'est pas signé !"
 
 # TLABEL sw_single_2002_01_04_0147__11
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Fichiers de configuration modifiés pour %s :"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -4772,7 +4777,7 @@ msgstr ""
 "déterminer la différence"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4782,7 +4787,7 @@ msgstr ""
 "Voici les 25 premières lignes qui diffèrent :\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -4790,7 +4795,7 @@ msgstr ""
 "différence"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4802,48 +4807,48 @@ msgstr ""
 # TLABEL firewall_2002_03_14_2340__51
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Sortie rpm supplémentaire"
 
 # TLABEL backup_2002_03_14_2340__102
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "sauvegarde %s créée"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "La signature est correcte"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Type de signature inconnu"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "La signature n'est pas vérifiée"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "La signature est correcte mais la clé n'est pas certifiée"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "La clé publique des signatures n'est pas disponible"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Le fichier n'existe pas ou la signature ne peut pas être vérifiée"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Le fichier n'est pas signé"
 
@@ -4933,6 +4938,24 @@ msgstr ""
 "Caractère séparateur de catégorie de jonction non valide pour l'ensemble de "
 "paramètres"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Erreur de téléchargement (curl) pour « %s » :\n"
+"Code d'erreur : %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Erreur de téléchargement (curl) pour « %s » :\n"
+"Impossible d'obtenir une réponse HTTP\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Impossible d'ouvrir le fichier verrouillé : %s"
 
index 71a75a3..71b87e8 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2020-06-29 19:45+0000\n"
 "Last-Translator: Manuel Vazquez <xixirei@yahoo.es>\n"
 "Language-Team: Galician <https://l10n.opensuse.org/projects/libzypp/master/"
@@ -1478,53 +1478,53 @@ msgstr "Mellora"
 msgid "Supplements"
 msgstr "Suplementos"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Non se pode abrir pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Non se pode abrir a canalización (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Non se pode facer chroot a '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Non foi posíbel executar chdir '%s' dentro de '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Non foi posíbel executar '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Non se pode executar  '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "No se pode facer fork (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "A orde rematou co estado %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "O sinal %d (%s) matou a orde."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "A orde rematou cun erro descoñecido."
 
@@ -4100,20 +4100,20 @@ msgstr[1] "(caduca dentro de %d días)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Buscando a chave gpg coa ID %1% no caché %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Buscando a chave gpg coa ID %1% no repositorio %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "O repositorio %1% non ten definida URLs adicionais nos 'gpgkey='."
@@ -4124,7 +4124,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Non foi posíbel ler o directorio do repositorio %1%: permiso denegado"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4144,8 +4144,8 @@ msgid "Service alias cannot start with dot."
 msgstr "O alias do servizo non pode comezar cun punto."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Non se puido abrir '%s' para escribir."
@@ -4166,31 +4166,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Metadatos válidos non atopados no URL especificado"
 msgstr[1] "Metadatos válidos non atopados nos URLs especificados"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Non se pode crear '%s'"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Non se pode crear o directorio da caché de metadatos."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Construíndo a caché do repositorio '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Non se pode crear a caché en %s - non hai permisos de escritura."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Fallo na caché do repositorio (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Repositorio"
 
@@ -4200,44 +4200,44 @@ msgstr "Repositorio"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Erro ao ler desde '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Erro descoñecido ao ler desde '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Engadindo o repositorio '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nome de ficheiro do repositorio incorrecto en '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Eliminando o repositorio '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Non se pode saber onde se atopa almacenado o repositorio."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Non se pode borrar '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Non se pode saber onde se atopa almacenado o servizo."
 
@@ -4373,12 +4373,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Expresión regular '%s' incorrecta"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Autenticación necesaria para '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4386,7 +4387,8 @@ msgstr ""
 "Visite o Centro de servizos ao cliente de SUSE para comprobar se o seu "
 "rexistro é correcto e non caducou."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4415,6 +4417,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "O medio non se abriu cando se tentaba realizar a acción '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Non se atopa o ficheiro '%s' no medio '%s'"
@@ -4520,6 +4523,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Permiso de acceso a '%s' denegado."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Tempo de espera excedido ao acceder a '%s'."
@@ -4531,6 +4535,7 @@ msgstr ""
 "Os datos descargados superan o tamaño de ficheiro '%s' esperado para '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "A localización '%s' está neste intre inaccesible."
@@ -4542,7 +4547,7 @@ msgstr ""
 " Problema no certificado SSL, comprobe se a certificación CA é correcta para "
 "'%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4550,12 +4555,12 @@ msgstr ""
 "Crear punto de inserción: non se atopa un directorio non que se poida "
 "escribir e anexar o punto"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Método de autenticación HTTP non soportado '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Instale primeiro o paquete 'lsof'."
 
@@ -4756,7 +4761,7 @@ msgstr ""
 "  da instalación de\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Non se pode crear sat-pool."
 
@@ -4770,99 +4775,99 @@ msgstr "quebrar %s ao ignorar algunhas das dependencias"
 msgid "generally ignore of some dependencies"
 msgstr "polo xeral ignorar algunhas dependencias"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s non pertence ao repositorio de actualización da distribución"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s ten unha arquitectura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "houbo un problema co paquete instalado %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "peticións en conflito"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "algúns problemas de dependencias"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "no hai nada que forneza o solicitado %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Activou todos os repositorios solicitados?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "o paquete %s non existe"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "petición sen soporte"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s ofréceo o sistema e non se pode eliminar"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s non é instalable"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "no hai nada que forneza %s e que o necesita %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "non se puido instalar %s e %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s ten un conflito con %s, fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s está obsoleto %s fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s instalado, deixa obsoleto a %s fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "a solución %s ten conflitos con %s fornecida por esta mesma"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s require %s, pero este requirimento non pode ser fornecido"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "fornecedores eliminados: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4870,106 +4875,106 @@ msgstr ""
 "\n"
 "provedores non instalables: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "provedores non instalables: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "retirar os bloqueos para poder eliminar a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "non instalar %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "Manter %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "retirar os bloqueos para poder instalar a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Esta solicitude danará o seu sistema!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignorar o aviso de sistema danado"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "non preguntar en caso de instalar algún elemento que forneza %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "non preguntar en caso de eliminar todos os elementos que fornecen %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "non instalar a versión máis recente de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "manter %s sen importar que sexa dunha arquitectura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "instalar %s aínda que cambie a arquitectura"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "manter o antigo %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "instalar %s desde os repositorios excluídos"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "permitir a instalación de PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "instalar %1% aínda que estea na lista negra"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "desactualizar de %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "modificación de arquitectura de %s para %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4978,12 +4983,12 @@ msgstr ""
 "instalar %s (con cambio de provedor)\n"
 "  %s -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "substitución de %s con %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "desinstalación de %s"
@@ -5000,78 +5005,78 @@ msgstr "Executando o script %%posttrans '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Executando scripts de %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Abortouse a instalación seguindo as indicacións."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " executado"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " fallou a execución"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s xa executado como %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " ignorada a execución ao abortar"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Erro ao enviar a notificación da mensaxe de actualización."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nova mensaxe de actualización"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Fallou RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Erro ao importar a chave pública %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Erro ao eliminar a chave pública %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "O paquete non está asinado!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Modificados os ficheiros de configuración para %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm gardou %s como %s, pero non se pode determinar a diferenza"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5081,13 +5086,13 @@ msgstr ""
 "A continuación amósanse as primeiras 25 liñas de diferenza:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm creou %s como %s, pero no se pode determinar a diferenza"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5098,47 +5103,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Saída rpm adicional"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "copia de seguridade %s creada"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "A sinatura é correcta"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Tipo de sinatura descoñecido"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "A sinatura non se dou verificado"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "A sinatura está correcta, mais non se confía na chave"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Non hai dispoñible unha sinatura pública da chave"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Ou o ficheiro non existe ou ou a sinatura non se pode verificar"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "O ficheiro está sen asinar"
 
@@ -5227,6 +5232,20 @@ msgid "Invalid parameter array join separator character"
 msgstr ""
 "Parámetro de carácter de separación para a unión de matrices incorrecto"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Non se pode abrir o ficheiro de bloqueo: %s"
 
index 6f1c557..1506d49 100644 (file)
--- a/po/gu.po
+++ b/po/gu.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: nis\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2006-11-11 18:41+0530\n"
 "Last-Translator: Priyavert Sharma<priyavert.sharma@agreeya.com>\n"
 "Language-Team: AgreeYa Solutions<linux_team@agreeya.com>\n"
@@ -1291,53 +1291,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "ફાઈલ ખુલી શકતી નથી: %1."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "ફાઈલ ખુલી શકતી નથી: %1."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "%s શોધાઈ શકતો નથી."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "%s શોધાઈ શકતો નથી."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "જોડાય ત્યારે કમાન્ડ અમલમાં મૂકવો"
@@ -3765,20 +3765,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3789,7 +3789,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3811,8 +3811,8 @@ msgid "Service alias cannot start with dot."
 msgstr "VM નું નામ આંકડાથી શરૂ થઇ શકે નહીં."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "લખવા માટે ફાઇલ ખોલી શકાતી નથી."
@@ -3832,32 +3832,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "%s ડેસ્કટોપ આઈટમ ખોલી શકાશે નહીં"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "ડિરેક્ટરી %1 બનાવી શકાતી નથી: %2."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3867,44 +3867,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "ફ્લોપી ડિસ્કમાંથી વાંચવામાં ભૂલ."
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, fuzzy, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "સાધનો ઉમેરાય છે"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "એક્સપોર્ટ ફાઈલ નું નામ અમાન્ય છે."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "સાધનો ઉમેરાય છે"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "%s ડેસ્કટોપ આઈટમ ખોલી શકાશે નહીં"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4030,18 +4030,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "અમાન્ય Url યોજના '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4068,6 +4070,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "રિપોસીટરીમાં ફાઈલ %1 મળી નહીં."
@@ -4171,6 +4174,7 @@ msgid "Permission to access '%s' denied."
 msgstr " મંજૂરીઓ નકારાઇ "
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4181,6 +4185,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4190,18 +4195,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4359,7 +4364,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "ફાઈલ બનાવી શકાતી નથી."
@@ -4375,222 +4380,222 @@ msgstr "આ જરૂરિયાત અહીં માત્ર અવગણ
 msgid "generally ignore of some dependencies"
 msgstr "આ જરૂરિયાત અહીં માત્ર અવગણો"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s, %s પૂરું પાડે છે, પરંતુ તેની પાસે બીજી સંરચના છે."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "પેકેજીસનું સ્થાપન દૂર કરવાનો આદેશ"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "ને જોડાણ માટે વિનંતી કરો:"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "પરાધિનતા મૂશ્કેલીઓને કારણે %s સ્થાપિ શકાયું નથી"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "%s કોઇ આપતું નથી"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "ડિસ્ક અસ્તિત્વ ધરાવતી નથી."
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s લોક છે અને અસ્થાપિત થઇ શકશે નહીં"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "સ્થાપેલ નથી"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s દ્વારા %s જરૂરી હતું"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s સ્થાપિ શકાશે નહીં"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s, %s સાથે વિસંગત છે"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s અલગ પાડવું %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s અલગ પાડવું %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s, %s સાથે વિસંગત છે"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "%s કોઇ આપતું નથી"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "%s ના કોઇ સ્થાપવાનું પૂરું પાડનાર નથી"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "%s ના કોઇ સ્થાપવાનું પૂરું પાડનાર નથી"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s સ્થાપશો નહીં"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s રાખો"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "%s સ્થાપશો નહીં"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "રિક્વેસ્ટ અસ્તિત્વમાં છે જ."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "%s ના કોઇ સ્થાપવાનું પૂરું પાડનાર નથી"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "સંબંધિત રિઝોલ્વેબલ્સ સ્થાપો કે કાઢો નહીં"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s, %s પૂરું પાડે છે, પરંતુ તેની પાસે બીજી સંરચના છે."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "%s સ્થાપો જો કે તે સંરચના બદલી શકે"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s અલગ પાડવું %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "%s માંથી %s ડાઉનલોડ થયું"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "સ્થાપન"
@@ -4607,16 +4612,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "સૂચના પ્રમાણે સ્થાપન અટકાવેલું હતું."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "ચલાવો"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4624,65 +4629,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "કી એન્ક્રીપ્ટશન દરમિયાન ભૂલ."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "નિષ્ફળ થયું"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s માટે કન્ફિગ્યુરેશન ફાઈલો બદલાઇ:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "%s તરીકે rpm એ %s સાચવ્યું પરંતુ તફાવત જુદો પાડવા તે અશક્ય હતું"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4692,13 +4697,13 @@ msgstr ""
 "અહીં તફાવતોના પ્રથમ 25 લાઇનો છે: \n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "%s તરીકે rpm એ %s રચ્યું પરંતુ તફાવત જુદો પાડવા તેઅશક્ય હતું"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4709,51 +4714,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "વધારાનું rpm આઉટપુટ:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "%s નું બેકઅપ રચાયું"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "એન્ટ્રી મળી નહીં."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "એન્ટ્રી મળી નહીં."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "એન્ટ્રી મળી નહીં."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4839,6 +4844,20 @@ msgstr "અમાન્ય પારમિતિ મેપ  સ્પ્લિ
 msgid "Invalid parameter array join separator character"
 msgstr "અમાન્ય પારમિતિ એરે જોઇન સ્પ્લિટ સેપરેટર કેરેક્ટર"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "ફાઈલ ખુલી શકતી નથી: %1."
index f023cdc..8e52fa9 100644 (file)
--- a/po/he.po
+++ b/po/he.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2004-08-09 10:24+0200\n"
 "Last-Translator: xxx <yyy@example.org>\n"
 "Language-Team: Hebrew <i18n@suse.de>\n"
@@ -1462,53 +1462,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Couldn't open file: %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "פקודה לביצוע כאשר מתחברים"
@@ -4250,20 +4250,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -4274,7 +4274,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4294,8 +4294,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Couldn't open file: %s."
@@ -4316,31 +4316,31 @@ msgstr[0] ""
 msgstr[1] ""
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "מתקין על:"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -4350,45 +4350,45 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #  Frame title for installation target hard disk / partition(s)
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "מתקין על:"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4516,18 +4516,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4554,6 +4556,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4658,6 +4661,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4668,6 +4672,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4677,18 +4682,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4840,7 +4845,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4854,223 +4859,223 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "ארכיטקטורה:"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "התקנה נכשלה"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "מתקין על:"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
 # IT
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "התקן"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, fuzzy, c-format, boost-format
 msgid "do not install %s"
 msgstr "מתקין על:"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "מתקין על:"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "מתקין דריבר..."
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
 #  main dialog: Button Delete partition
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "&מחק"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "מתקין על:"
@@ -5087,15 +5092,15 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -5103,64 +5108,64 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #  Commandline help title
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "קורא קובץ הגדרות"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5168,13 +5173,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5183,48 +5188,48 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "מידע נוסף"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, fuzzy, c-format, boost-format
 msgid "created backup %s"
 msgstr "אל תיצור גיבויים"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -5310,6 +5315,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Couldn't open file: %s."
index 633f9ca..3cb6a4f 100644 (file)
--- a/po/hi.po
+++ b/po/hi.po
@@ -4,11 +4,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.hi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2020-06-29 19:45+0000\n"
 "Last-Translator: Panwar <caspian7pena@gmail.com>\n"
-"Language-Team: Hindi <https://l10n.opensuse.org/projects/libzypp/master/hi/>"
-"\n"
+"Language-Team: Hindi <https://l10n.opensuse.org/projects/libzypp/master/hi/"
+">\n"
 "Language: hi\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1295,53 +1295,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "फाइल %1 को नहीं खोल सकता है।"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "%s को नहीं ढूंढ सकता।"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "%s को नहीं ढूंढ सकता।"
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "जब कनेक्ट हो रहे हों तब चलाया जाने वाला कमांड"
@@ -3769,20 +3769,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3793,7 +3793,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3813,8 +3813,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "लेखन के लिए फाइल नहीं खोल सकता है।"
@@ -3834,32 +3834,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "डेस्कटॉप आइटम '%s'"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "डायरेक्टरी को सृजित नहीं कर सकता %1 : %2"
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3869,44 +3869,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "फ्लोपी डिस्क पढ़ने में त्रुटि।"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, fuzzy, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "संसाधन जोड़ रहा"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "अमान्य निर्यात फाइलनाम।"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "संसाधन जोड़ रहा"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "डेस्कटॉप आइटम '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4030,18 +4030,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "अमान्य Url स्कीम '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4068,6 +4070,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "कोष में फाइल %1 नहीं प्राप्त हुई।"
@@ -4171,6 +4174,7 @@ msgid "Permission to access '%s' denied."
 msgstr "अनुमति अस्वीकृत"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4181,6 +4185,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4190,18 +4195,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4359,7 +4364,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "फाइल को सृजित नहीं कर सकता है।"
@@ -4375,222 +4380,222 @@ msgstr "सिर्फ यहां पर इस आवश्यकता क
 msgid "generally ignore of some dependencies"
 msgstr "सिर्फ यहां पर इस आवश्यकता की अनदेखी कर दें"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s ही %s प्रदान करता है, लेकिन इसके पास कोई और स्थापत्य है।"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "पैकेजों को असंस्थापित करने का कमांड"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "के लिए कनेक्शन आवेदन : "
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "निर्भरता समस्याओं के कारण %s का संस्थापन नहीं कर सकता"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "कोई नहीं %s प्रदान करता"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "प्रमाण पत्र %1 मौजूद नहीं है।"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s लॉक हो गया है और इसे असंस्थापित नहीं किया जा सकता।"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "इंस्टाल नहीं हुआ"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s को %s की आवश्यकता है"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s का संस्थापन नहीं कर सकता"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s का %s से टकराव है "
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s को %s पुराना कर देता है"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s को %s पुराना कर देता है"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s का %s से टकराव है "
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "कोई नहीं %s प्रदान करता"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "%s का कोई संस्थापनयोग्य प्रदाता नहीं है"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "%s का कोई संस्थापनयोग्य प्रदाता नहीं है"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s संस्थापित न करें"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s रखें"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "%s संस्थापित न करें"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "अनुरोध पहले से ही मौजूद है।"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "%s का कोई संस्थापनयोग्य प्रदाता नहीं है"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "संबंधित रिजॉल्वेबल को संस्थापित या मिटाएं नहीं"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s ही %s प्रदान करता है, लेकिन इसके पास कोई और स्थापत्य है।"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "%s को संस्थापित करें यद्यपि यह स्थापत्य को बदल देगा"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s को %s पुराना कर देता है"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "%s से %s तक अपडेट कर रहा है"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "अधिष्ठापन"
@@ -4607,16 +4612,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "जैसा निर्देशित था, संस्थापन छोड़ दिया गया।"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "निष्‍पादन"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4624,65 +4629,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "कुंजी एन्क्रिप्शन के दौरान त्रुटि।"
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "विफल"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s हेतु विन्यास फ़ाइलें जिन्हें बदला गया :"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm ने %s के  रूप में %s सहेजा लेकिन अंतर निर्धारित करना असंभव था "
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4692,13 +4697,13 @@ msgstr ""
 "यहां अंतर की पहली 25 पंक्तियां हैं :\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm ने %s के  रूप में %s सृजित किया लेकिन अंतर निर्धारित करना असंभव था"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4709,51 +4714,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "अतिरिक्त rpm आउटपुट :"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "बैकअप %s सृजित"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "%s %s नहीं मिला"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "%s %s नहीं मिला"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "%s %s नहीं मिला"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4839,6 +4844,20 @@ msgstr "अमान्य मानक मानचित्र सेपरे
 msgid "Invalid parameter array join separator character"
 msgstr "अमान्य मानक क्रमविन्यास सेपरेटर वर्ण जोड़ें"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "फाइल %1 को नहीं खोल सकता है।"
index 06e78c0..b16d39a 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.hr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2011-04-03 12:05+0200\n"
 "Last-Translator: Krešimir Jozić <kjozic@gmail.com>\n"
 "Language-Team: Croatian <kde-i18n-doc@kde.org>\n"
@@ -1387,53 +1387,53 @@ msgstr "Poboljšava"
 msgid "Supplements"
 msgstr "Dopunjava"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Ne mogu obrisati '%s'"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -3912,20 +3912,20 @@ msgstr[2] "(istječe unutar 24 sata)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3936,7 +3936,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3956,8 +3956,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr ""
@@ -3978,32 +3978,32 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Ne mogu napraviti %s: %m\n"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "Ne mogu napraviti datoteku."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr ""
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -4013,44 +4013,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Ne mogu obrisati '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4174,18 +4174,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Neispravan regularni izraz '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4212,6 +4214,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4314,6 +4317,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Dozvola za pristup '%s' je odbijena."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4324,6 +4328,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4333,18 +4338,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4496,7 +4501,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4510,217 +4515,217 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problem s instaliranim paketom %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Disk ne postoji."
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 #, fuzzy
 msgid "unsupported request"
 msgstr "nije podržano"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr ""
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "nemoj instalirati %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "zadrži %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "deinstalacija %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "deinstalacija %s"
@@ -4737,78 +4742,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr "izvršeno"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr "izvršavanje nije uspjelo"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4816,13 +4821,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4831,47 +4836,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4957,6 +4962,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Hal Exception"
 #~ msgstr "Šifriranje"
index 1c3ab0c..d7ab8bd 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -18,7 +18,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.hu\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2019-03-23 20:19+0000\n"
 "Last-Translator: Robert Taisz <robert.taisz@emerald.hu>\n"
 "Language-Team: Hungarian <https://l10n.opensuse.org/projects/libzypp/master/"
@@ -1454,54 +1454,54 @@ msgstr "A következőket javítja:"
 msgid "Supplements"
 msgstr "A következőket egészíti ki:"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "A pty nem nyitható meg (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "A cső nem nyitható meg (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "A chroot sikertelen ide: '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 "Sikertelen chdir a(z) '%s' könyvtárra a következő gyökéren belül: '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Sikertelen chdir a(z) '%s' könyvtárra (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "'%s' végrehajtása sikertelen (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "A forkolás sikertelen (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "A parancs a következő állapottal lépett ki: %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "A parancs végrehajtását a(z) %d szignál megszakította (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "A parancs végrehajtása ismeretlen hibával leállt."
 
@@ -4046,20 +4046,20 @@ msgstr[1] "(%d napon belül lejár)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "%1% azonosítójú gpg-kulcs keresése a gyorsítótárban (%2%)."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "%1% azonosítójú gpg-kulcs keresése a telepítési forrásban (%2%)."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "A(z) %1% telepítési forrás nem definiál további 'gpgkey=' URL-címeket."
@@ -4072,7 +4072,7 @@ msgstr ""
 "megtagadta az engedélyt"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4094,8 +4094,8 @@ msgid "Service alias cannot start with dot."
 msgstr "A szolgáltatás álneve nem kezdődhet ponttal."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "A '%s' fájl nem nyitható meg írásra."
@@ -4116,32 +4116,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "A megadott URL-címen nem találhatók érvényes metaadatok"
 msgstr[1] "A megadott URL-címeken nem találhatók érvényes metaadatok"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "A(z) %s nem hozható létre"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Nem hozható létre a metaadat gyorsítótár-könyvtára."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "A(z) '%s' telepítési forrás gyorsítótárának felépítése"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 "Írási engedélyek hiányában nem hozható létre gyorsítótár a(z) %s helyen."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Nem sikerült a tároló gyorsítótárazása (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Nem kezelt tárolótípus"
 
@@ -4151,44 +4151,44 @@ msgstr "Nem kezelt tárolótípus"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Hiba történt a következőből való olvasás során: \"%s\""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Ismeretlen hiba a '%s' beolvasása közben"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "A(z) '%s' telepítési forrás hozzáadása"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Érvénytelen tárolónév: '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "A(z) '%s' telepítési forrás eltávolítása"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Nem sikerült a tároló felismerése."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "A(z) '%s' törlése sikertelen"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Nem sikerült a szolgáltatás felismerése."
 
@@ -4323,12 +4323,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Érvénytelen reguláris kifejezés '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Felhasználóhitelesítés szükséges ehhez: '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4336,7 +4337,8 @@ msgstr ""
 "Keresse fel a SUSE Ügyfélközpontot, és ellenőrizze, hogy a regisztrációja "
 "érvényes-e, illetve nem járt-e le."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4366,6 +4368,7 @@ msgstr ""
 "Az adathordozó elérése a(z) '%s' művelet végrehajtása közben nem sikerült."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "A(z) '%s' fájl nem található a(z) '%s' adathordozón"
@@ -4471,6 +4474,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Hozzáférés megtagadva: '%s'."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Időtúllépés a '%s' elérése közben."
@@ -4483,6 +4487,7 @@ msgstr ""
 "'%s')."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "A '%s' hely ideiglenesen nem elérhető."
@@ -4494,7 +4499,7 @@ msgstr ""
 " hiba az SSL-tanúsítvánnyal, ellenőrizze, hogy megfelelő-e a CA tanúsítványa "
 "a következőhöz: '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4502,12 +4507,12 @@ msgstr ""
 "Csatlakoztatási pont létrehozása: Nem található írható könyvtár "
 "csatlakoztatási pont létrehozásához"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Nem támogatott HTTP hitelesítési metódus: '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Először az 'lsof' csomagot kell telepíteni."
 
@@ -4707,7 +4712,7 @@ msgstr ""
 "  fájllal (telepítés:\n"
 "     %4%)"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Nem hozható létre sat-pool."
 
@@ -4721,61 +4726,61 @@ msgstr "%s csomag megtörése néhány függőség figyelmen kívül hagyásáva
 msgid "generally ignore of some dependencies"
 msgstr "egyes függőségek általános mellőzése"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s nem tartozik a distupgrade telepítési forráshoz"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s alacsonyabb szintű architektúrával rendelkezik"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "probléma a telepített csomaggal: %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "ütköző kérelmek"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "bizonyos függőségi probléma"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "semmi nem biztosítja a(z) %s csomagot"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Minden szükséges telepítési forrást engedélyezett?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "a(z) %s csomag nem létezik"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "nem támogatott kérelem"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "A(z) %s a rendszertől származik, ezért törlése nem lehetséges."
 
 # modules/inst_target_part.ycp:676
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s nem telepíthető"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
@@ -4783,41 +4788,41 @@ msgstr ""
 "amely szükséges a(z) %s csomag telepítéséhez"
 
 # modules/inst_target_part.ycp:676
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "nem telepíthető %s és %s is"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s ütközik a(z) %s csomaggal, amit a(z) %s csomag biztosít"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s elavulttá teszi a(z) %s csomagot, amit a(z) %s csomag biztosít"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s elavulttá teszi a(z) %s csomagot, amit a(z) %s csomag biztosít"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s ütközik a(z) %s csomaggal, amit saját maga biztosít"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s csomagnak a következőre van szüksége: %s, de ez nem teljesíthető"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "törölt csomagok: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4825,107 +4830,107 @@ msgstr ""
 "\n"
 "nem telepíthető szolgáltatók: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "nem telepíthető szolgáltatók: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "távolítsa el a zárolást a(z) %s eltávolításának engedélyezéséhez"
 
 # modules/inst_target_part.ycp:676
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "Ne telepítse a(z) %s csomagot"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s megtartása"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "távolítsa el a zárolást a(z) %s telepítésének engedélyezéséhez"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "A kért módosítás a rendszer meghibásodásához vezet!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "a hibás rendszer figyelmeztetésének figyelmen kívül hagyása"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "ne kérdezzen rá a %s-t biztosító feloldható telepítésére"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "ne kérdezzen rá a %s-t biztosító feloldhatók eltávolítására"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "Ne telepítse a(z) %s csomag legújabb verzióját"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s megtartása az alacsonyabb rendű architektúra ellenére"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "%s telepítése az alacsonyabb architektúra ellenére"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "az elavult %s megtartása"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "%s telepítése a figyelmen kívül hagyott tárolóból"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "A(z) %s csomag visszafejlesztése a(z) %s csomagra"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "A(z) %s csomag helyett a(z) %s architektúrájú csomag telepítése"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4934,12 +4939,12 @@ msgstr ""
 "%s telepítése (gyártó megváltoztatásával)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "%s cseréje erre: %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "%s eltávolítása"
@@ -4956,60 +4961,60 @@ msgstr "'%1%' %%posttrans parancsfájl végrehajtása"
 msgid "Executing %posttrans scripts"
 msgstr "%posttrans parancsfájlok végrehajtása"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "A kérésnek megfelelően a telepítés megszakad."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " végrehajtva"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " végrehajtás sikertelen"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s már futtatva volt mint %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " megszakítás közben a végrehajtás átugorva"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Hiba történt a frissítési értesítés küldésekor."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Új frissítési üzenet"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM sikertelen: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Nem sikerült a(z) %1% fájlból importálni a publikus kulcsot"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "A(z) %1% publikus kulcs eltávolítása sikertelen"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "A csomag nincs aláírva."
 
@@ -5018,13 +5023,13 @@ msgstr "A csomag nincs aláírva."
 # menuentries/menuentry_lan_sendmail.ycp:14
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s módosított konfigurációs fájljai:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -5032,7 +5037,7 @@ msgstr ""
 "különbséget"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5042,7 +5047,7 @@ msgstr ""
 "A különbség első 25 sora:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -5050,7 +5055,7 @@ msgstr ""
 "különbséget"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5061,47 +5066,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "További rpm kimenet"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "%s másolata létrehozva"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Az aláírás rendben van"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Ismeretlen típusú aláírás"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Az aláírás nem felelt meg az ellenőrzésen"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Az aláírás rendben van, de a kulcs nem megbízható"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Az aláírások nyilvános kulcsa nem érhető el"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "A fájl nem létezik, vagy nem ellenőrizhető az aláírása"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "A fájl nincs aláírva"
 
@@ -5191,6 +5196,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr "Érvénytelen tömbösszefűzés-elválasztó (array join separator) karakter"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "A zárolt fájl nem nyitható meg: %s"
 
index a27af33..e2976cb 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2020-01-16 14:53+0000\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-20 05:48+0000\n"
 "Last-Translator: Kukuh Syafaat <syafaatkukuh@gmail.com>\n"
 "Language-Team: Indonesian <https://l10n.opensuse.org/projects/libzypp/master/"
 "id/>\n"
@@ -299,7 +299,7 @@ msgstr "Kepulauan Cook"
 #. :COK:184:
 #: zypp/CountryCode.cc:202
 msgid "Chile"
-msgstr "Chile"
+msgstr "Chili"
 
 # CM
 #. :CHL:152:
@@ -518,7 +518,7 @@ msgstr "Ghana"
 #. :GHA:288:
 #: zypp/CountryCode.cc:239
 msgid "Gibraltar"
-msgstr "Jibraltar"
+msgstr "Gibraltar"
 
 # GL
 #. :GIB:292:
@@ -656,7 +656,7 @@ msgstr "India"
 #. :IND:356:
 #: zypp/CountryCode.cc:262
 msgid "British Indian Ocean Territory"
-msgstr "Inggris, Teritori Samudera Indonesia"
+msgstr "Wilayah Samudra Hindia Britania"
 
 # IQ
 #. :IOT:086:
@@ -735,7 +735,7 @@ msgstr "Kiribati"
 #. :KIR:296:
 #: zypp/CountryCode.cc:275
 msgid "Comoros"
-msgstr "Comoros"
+msgstr "Komoro"
 
 # KN
 # fuzzy
@@ -1190,7 +1190,7 @@ msgstr "Arab Saudi"
 #. :SAU:682:
 #: zypp/CountryCode.cc:350
 msgid "Solomon Islands"
-msgstr "Pulau Sulaiman"
+msgstr "Kepulauan Solomon"
 
 # SC
 #. :SLB:090:
@@ -1411,7 +1411,7 @@ msgstr "Uganda"
 #. :UGA:800:
 #: zypp/CountryCode.cc:386
 msgid "United States Minor Outlying Islands"
-msgstr "Kepulauan Luar Minor Amerika Serikat"
+msgstr "Kepulauan Terluar Kecil Amerika Serikat"
 
 # US
 #. :UMI:581:
@@ -1436,7 +1436,7 @@ msgstr "Uzbekistan"
 #. :UZB:860:
 #: zypp/CountryCode.cc:390
 msgid "Holy See (Vatican City State)"
-msgstr "Holy See (Kota Vatikan)"
+msgstr "Tahta Suci (Negara Kota Vatikan)"
 
 # VC
 # fuzzy
@@ -1456,14 +1456,14 @@ msgstr "Venezuela"
 #. :VEN:862:
 #: zypp/CountryCode.cc:393
 msgid "British Virgin Islands"
-msgstr "Kepulauan Virgin Britania Raya"
+msgstr "Kepulauan Virgin Inggris"
 
 # VI
 # fuzzy
 #. :VGB:092:
 #: zypp/CountryCode.cc:394
 msgid "Virgin Islands, U.S."
-msgstr "Kepulauan Virgin, U.S."
+msgstr "Kepulauan Virgin, A.S."
 
 # VN
 # fuzzy
@@ -1557,53 +1557,53 @@ msgstr "Meningkatkan"
 msgid "Supplements"
 msgstr "Suplemen"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Tidak dapat membuka pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Tidak dapat membuka pipe (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Tidak dapat chroot untuk '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Tidak dapat chdir ke '%s' dalam chroot '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Tidak dapat membuka ke '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Tidak dapat mengeksekusi '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Tidak dapat melakukan fork (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Perintah berhenti dengan status %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Perintah terhenti oleh sinyal %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Perintah berhenti dengan galat yang tidak diketahui."
 
@@ -1722,7 +1722,7 @@ msgstr "Amharic"
 #. language code: ang
 #: zypp/LanguageCode.cc:197
 msgid "English, Old (ca.450-1100)"
-msgstr "English, Lampau (ca.450-1100)"
+msgstr "English, Kuno (sekitar 450-1100)"
 
 # LK
 #. language code: apa
@@ -2120,7 +2120,7 @@ msgstr "Korsika"
 #. language code: cpe
 #: zypp/LanguageCode.cc:353
 msgid "Creoles and Pidgins, English-Based (Other)"
-msgstr "Creoles dan Pidgins, Berbasis Bahasa English(Lainnya)"
+msgstr "Creoles dan Pidgins, Berbasis Bahasa Inggris (Lainnya)"
 
 #. language code: cpf
 #: zypp/LanguageCode.cc:355
@@ -2232,7 +2232,7 @@ msgstr "Duala"
 #. language code: dum
 #: zypp/LanguageCode.cc:399
 msgid "Dutch, Middle (ca.1050-1350)"
-msgstr "Belanda, Antara (Th.1050-1350)"
+msgstr "Belanda, Tengah (sekitar 1050-1350)"
 
 #. language code: dut nld nl
 #: zypp/LanguageCode.cc:401 zypp/LanguageCode.cc:403
@@ -2353,12 +2353,12 @@ msgstr "Prancis"
 #. language code: frm
 #: zypp/LanguageCode.cc:449
 msgid "French, Middle (ca.1400-1600)"
-msgstr "Prancis, Antara (Thn.1400-1600)"
+msgstr "Prancis, Antara (sekitar1400-1600)"
 
 #. language code: fro
 #: zypp/LanguageCode.cc:451
 msgid "French, Old (842-ca.1400)"
-msgstr "Prancis, Kuno (Thn.842-1400)"
+msgstr "Prancis, Kuno (842-sekitar 1400)"
 
 # FR
 #. language code: fry fy
@@ -2446,12 +2446,12 @@ msgstr "Manx"
 #. language code: gmh
 #: zypp/LanguageCode.cc:487
 msgid "German, Middle High (ca.1050-1500)"
-msgstr "Jerman, Menengah Tinggi (Thn.1050-1500)"
+msgstr "Jerman, Menengah Tinggi (sekitar 1050-1500)"
 
 #. language code: goh
 #: zypp/LanguageCode.cc:489
 msgid "German, Old High (ca.750-1050)"
-msgstr "German, Kuno Tinggi (Thn.750-1050)"
+msgstr "German, Kuno Tinggi (sekitar750-1050)"
 
 # IN
 #. language code: gon
@@ -2478,12 +2478,12 @@ msgstr "Grebo"
 #. language code: grc
 #: zypp/LanguageCode.cc:499
 msgid "Greek, Ancient (to 1453)"
-msgstr "Yunani, Kuno (untuk 1453)"
+msgstr "Yunani, Kuno (hingga 1453)"
 
 #. language code: gre ell el
 #: zypp/LanguageCode.cc:501 zypp/LanguageCode.cc:503
 msgid "Greek, Modern (1453-)"
-msgstr "Yunani, Modern (1453 keatas)"
+msgstr "Yunani, Modern (1453-)"
 
 #. language code: grn gn
 #: zypp/LanguageCode.cc:505
@@ -2659,7 +2659,7 @@ msgstr "Ingush"
 #. language code: ipk ik
 #: zypp/LanguageCode.cc:571
 msgid "Inupiaq"
-msgstr "IndiaInupiaq"
+msgstr "Inupiaq"
 
 #. language code: ira
 #: zypp/LanguageCode.cc:573
@@ -3294,7 +3294,7 @@ msgstr "Norwegia"
 #. language code: nso
 #: zypp/LanguageCode.cc:813
 msgid "Northern Sotho"
-msgstr "Utara Sothi=o"
+msgstr "Sotho Utara"
 
 # LK
 #. language code: nub
@@ -3305,7 +3305,7 @@ msgstr "Bahasa Nubian"
 #. language code: nwc
 #: zypp/LanguageCode.cc:817
 msgid "Classical Newari"
-msgstr "Classical Newari"
+msgstr "Newari Klasik"
 
 # CL
 #. language code: nya ny
@@ -3374,7 +3374,7 @@ msgstr "Turkish, Ottoman (1500-1928)"
 #. language code: oto
 #: zypp/LanguageCode.cc:843
 msgid "Otomian Languages"
-msgstr "Bahasa Otomia"
+msgstr "Bahasa Otomian"
 
 #. language code: paa
 #: zypp/LanguageCode.cc:845
@@ -3418,12 +3418,12 @@ msgstr "Palauan"
 #. language code: peo
 #: zypp/LanguageCode.cc:859
 msgid "Persian, Old (ca.600-400 B.C.)"
-msgstr "Persia, Kuno (ca.600-400 B.C.)"
+msgstr "Persia, Kuno (sekitar 600-400 SM.)"
 
 #. language code: per fas fa
 #: zypp/LanguageCode.cc:861 zypp/LanguageCode.cc:863
 msgid "Persian"
-msgstr "SerbiaPersian"
+msgstr "Persia"
 
 # PH
 #. language code: phi
@@ -3466,7 +3466,7 @@ msgstr "Bahasa Prakrit"
 #. language code: pro
 #: zypp/LanguageCode.cc:879
 msgid "Provencal, Old (to 1500)"
-msgstr "Provencal, Kuno (ke 1500)"
+msgstr "Provencal, Kuno (hingga 1500)"
 
 #. language code: pus ps
 #: zypp/LanguageCode.cc:881
@@ -3609,7 +3609,7 @@ msgstr "Semitic (Lainnya)"
 #. language code: sga
 #: zypp/LanguageCode.cc:939
 msgid "Irish, Old (to 900)"
-msgstr "Irish, Kuno (ke 900)"
+msgstr "Irish, Kuno (hingga 900)"
 
 # LK
 #. language code: sgn
@@ -3638,7 +3638,7 @@ msgstr "Sinhala"
 #. language code: sio
 #: zypp/LanguageCode.cc:949
 msgid "Siouan Languages"
-msgstr "Siouan Languages"
+msgstr "Bahasa Siouan"
 
 #. language code: sit
 #: zypp/LanguageCode.cc:951
@@ -4059,7 +4059,7 @@ msgstr "Walamo"
 #. language code: war
 #: zypp/LanguageCode.cc:1111
 msgid "Waray"
-msgstr "ParaguayWaray"
+msgstr "Waray"
 
 #. language code: was
 #: zypp/LanguageCode.cc:1113
@@ -4122,7 +4122,7 @@ msgstr "Yoruba"
 #. language code: ypk
 #: zypp/LanguageCode.cc:1137
 msgid "Yupik Languages"
-msgstr "Bahasa Yupi"
+msgstr "Bahasa Yupik"
 
 #. language code: zap
 #: zypp/LanguageCode.cc:1139
@@ -4186,36 +4186,36 @@ msgstr "(Tidak berakhir)"
 #. translators: an annotation to a gpg keys expiry date
 #: zypp/PublicKey.cc:91
 msgid "(EXPIRED)"
-msgstr "(BERAKHIR)"
+msgstr "(KEDALUWARSA)"
 
 #. translators: an annotation to a gpg keys expiry date
 #: zypp/PublicKey.cc:95
 msgid "(expires within 24h)"
-msgstr "(Berakhir dalam waktu 24 jam)"
+msgstr "(Kedaluwarsa dalam waktu 24 jam)"
 
 #. translators: an annotation to a gpg keys expiry date
 #: zypp/PublicKey.cc:99
 #, c-format, boost-format
 msgid "(expires in %d day)"
 msgid_plural "(expires in %d days)"
-msgstr[0] "(Berakhir dalam %d hari)"
+msgstr[0] "(Kedaluwarsa dalam %d hari)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
-msgstr "Mencari kunci gpg ID %1% dalam cache %2%."
+msgstr "Mencari kunci gpg ID %1% dalam singgahan %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Mencari kunci gpg ID %1% dalam repositori %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Repositori %1% tidak mendefinisikan 'gpgkey=' URL tambahan."
@@ -4226,7 +4226,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Tidak dapat membaca direktori repo '%1%': Izin ditolak"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4239,18 +4239,18 @@ msgstr "Tidak dapat membaca berkas repo '%1%': Izin ditolak"
 
 #: zypp/RepoManager.cc:353
 msgid "Repository alias cannot start with dot."
-msgstr "Alias repository tidak dapat dijalankan dengan dot."
+msgstr "Alias repositori tidak dapat dijalankan dengan dot."
 
 #: zypp/RepoManager.cc:364
 msgid "Service alias cannot start with dot."
 msgstr "Alias layanan tidak dapat dimulai dengan dot."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
-msgstr "Tidak dapat membuka '%s' untuk menulis."
+msgstr "Tidak dapat membuka berkas '%s' untuk menulis."
 
 #. translators: Cleanup a repository previously owned by a meanwhile unknown (deleted) service.
 #. %1% = service name
@@ -4268,31 +4268,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Metadata yang valid tidak ditemukan pada URL yang ditentukan"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Tidak dapat membuat %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
-msgstr "Tidak dapat membuat metadata direktori cache."
+msgstr "Tidak dapat membuat metadata direktori singgahan."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
-msgstr "Membangun repositori cache '%s'"
+msgstr "Membangun repositori singgahan '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
-msgstr "Tidak dapat membuat cache di %s - tidak ada izin untuk menulis."
+msgstr "Tidak dapat membuat singgahan di %s - tidak ada izin untuk menulis."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
-msgstr "Gagal untuk membuat cache repo (%d)."
+msgstr "Gagal untuk membuat repo singgahan (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Jenis repositori yang tidak tertangani"
 
@@ -4302,44 +4302,44 @@ msgstr "Jenis repositori yang tidak tertangani"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Galat saat membaca dari '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
-msgstr "Error tidak diketahui dari '%s'"
+msgstr "Galat tidak diketahui dari '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Menambah repositori '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nama berkas repo tidak valid di '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Menghapus reposotori '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Tidak dapat mengetahui di mana repo disimpan."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Tidak dapat menghapus '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Tidak dapat mengetahui di mana layanan disimpan."
 
@@ -4386,7 +4386,7 @@ msgstr "Level 3"
 
 #: zypp/VendorSupportOptions.cc:29
 msgid "Additional Customer Contract Necessary"
-msgstr "Kontrak pelanggan tambahan diperlukan"
+msgstr "Kontrak Pelanggan Tambahan Diperlukan"
 
 #: zypp/VendorSupportOptions.cc:31
 msgid "invalid"
@@ -4394,7 +4394,7 @@ msgstr "tidak valid"
 
 #: zypp/VendorSupportOptions.cc:39
 msgid "The level of support is unspecified"
-msgstr "Tingkat dukungan ini tidak ditentukan"
+msgstr "Tingkat dukungan tidak ditentukan"
 
 #: zypp/VendorSupportOptions.cc:42
 msgid "The vendor does not provide support."
@@ -4458,12 +4458,12 @@ msgstr "Riwayat:"
 #: zypp/base/StrMatcher.cc:152
 #, c-format, boost-format
 msgid "Unknown match mode '%s'"
-msgstr "Kesesuaian mode '%s' tidak diketahui"
+msgstr "Mode kecocokan '%s' tidak dikenal"
 
 #: zypp/base/StrMatcher.cc:153
 #, c-format, boost-format
 msgid "Unknown match mode '%s' for pattern '%s'"
-msgstr "Kesesuaian mode '%s' tidak diketahui untuk pola '%s'"
+msgstr "Mode kecocokan '%s' tidak dikenal untuk pola '%s'"
 
 #: zypp/base/StrMatcher.cc:157
 #, c-format, boost-format
@@ -4476,12 +4476,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Ekspresi reguler '%s' tidak valid"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Autentikasi dibutuhkan untuk '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4489,7 +4490,8 @@ msgstr ""
 "Kunjungi Pusat Pelanggan SUSE untuk memeriksa apakah pendaftaran Anda valid "
 "dan belum kedaluwarsa."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4518,6 +4520,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Medium tidak dibuka ketika mencoba untuk melakukan tindakan '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Berkas '%s' tidak ditemukan pada medium '%s'"
@@ -4558,7 +4561,7 @@ msgstr "Lokasi '%s' pada medium '%s' bukan sebuah direktori."
 
 #: zypp/media/MediaException.cc:101
 msgid "Malformed URI"
-msgstr "URI cacat"
+msgstr "URI yang salah bentuk"
 
 #: zypp/media/MediaException.cc:111
 msgid "Empty host name in URI"
@@ -4588,16 +4591,15 @@ msgid ""
 "Error code: %s\n"
 "Error message: %s\n"
 msgstr ""
-"Unduh (curl) gagal untuk '%s':\n"
-"Kode kesalahan: %s\n"
-"Pesan kesalahan: %s\n"
+"Unduh (curl) galat untuk '%s':\n"
+"Kode galat: %s\n"
+"Pesan galat: %s\n"
 
 #. TranslatorExplanation: curl is the name of a library, don't translate
 #: zypp/media/MediaException.cc:146
 #, c-format, boost-format
 msgid "Error occurred while setting download (curl) options for '%s':"
-msgstr ""
-"Kesalahan terjadi ketika mengatur download (curl) pada opsi untuk '%s':"
+msgstr "Galat terjadi ketika mengatur unduhan (curl) pada opsi untuk '%s':"
 
 #: zypp/media/MediaException.cc:153
 #, c-format, boost-format
@@ -4607,7 +4609,7 @@ msgstr "Sumber media '%s' tidak berisi media yang diinginkan"
 #: zypp/media/MediaException.cc:158
 #, c-format, boost-format
 msgid "Medium '%s' is in use by another instance"
-msgstr "Medium '%s' sedabg digunakan oleh instansi lain"
+msgstr "Medium '%s' sedang digunakan oleh instance lain"
 
 #: zypp/media/MediaException.cc:164
 msgid "Cannot eject any media"
@@ -4624,9 +4626,10 @@ msgid "Permission to access '%s' denied."
 msgstr "Izin untuk mengakses '%s' ditolak."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
-msgstr "Timeout melebihi ketika mengakses '%s'."
+msgstr "Batas waktu terlampaui saat mengakses '%s'."
 
 #: zypp/media/MediaException.cc:197
 #, c-format, boost-format
@@ -4634,6 +4637,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Data yang diunduh melebihi ukuran yang diharapkan '%s' dari '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Lokasi '%s' tidak dapat diakses sementara waktu."
@@ -4643,7 +4647,7 @@ msgstr "Lokasi '%s' tidak dapat diakses sementara waktu."
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " Masalah SSL Sertifikat, pastikan CA cert sudah benar untuk '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4651,12 +4655,12 @@ msgstr ""
 "Buat point lampiran: Tidak dapat menemukan direktori yang dapat ditulis "
 "untuk membuat point lampiran"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Metode autentikasi HTTP '%s' tidak didukung"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Mohon pasang paket 'lsof' terlebih dahulu."
 
@@ -4701,7 +4705,7 @@ msgstr "applydeltarpm gagal."
 
 #: zypp/repo/RepoException.cc:129
 msgid "Service plugin does not support changing an attribute."
-msgstr "Layanan Plugin tidak mendukung perubahan atribut."
+msgstr "Layanan pengaya tidak mendukung perubahan atribut."
 
 #: zypp/repo/RepoProvideFile.cc:261
 #, c-format, boost-format
@@ -4858,7 +4862,7 @@ msgstr ""
 "  dari pemasangan\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Tidak dapat membuat sat-pool."
 
@@ -4872,99 +4876,99 @@ msgstr "patahkan %s dengan mengabaikan beberapa dependensi"
 msgid "generally ignore of some dependencies"
 msgstr "umumnya mengabaikan beberapa dependensi"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s bukan termasuk pada golongan repository distupgrade"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s memiliki arsitektur rendah"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "masalah dengan paket %s yang telah terpasang"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "permintaan konflik"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "beberapa dependensi bermasalah"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "tidak ada ketersediaan yang meminta %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Apakah anda telah menghidupkan repositori yang diminta?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "paket %s tidak tersedia"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "permintaan tidak didukung"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s didukung oleh sistem dan tidak dapat dihapus"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s tidak dapat dipasang"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "tidak ada dukungan %s dibutuhkan oleh %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "tidak dapat memasang kedua %s dan %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s konflik dengan %s yang didukung oleh %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s sudah usah %s didukung oleh %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "telah dipasang %s usang  %s didukung oleh %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "dapat dipecahkan %s konflik dengan %s didukung dengan sendirinya"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s dibutuhkan %s, tetapi kebutuhan ini tidak dapat disediakan"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "penyedia dihapus: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4972,106 +4976,106 @@ msgstr ""
 "\n"
 "penyedia tidak dapat dihapus: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "penyedia tidak dapat dihapus: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "hapus kunci untuk mengizinkan menghapus %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "jangan memasang %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "simpan %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "hapus kunci untuk mengizinkan pemasangan dari %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Permintaan ini akan merusak sistem anda!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "abaikan peringatan dari kerusakan sistem"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "jangan meminta untuk memasang pemecahan yang didukung %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "jangan meminta untuk menghapus pemecahan yang didukung %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "jangan memasang versi terbaru dari %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "jaga %s meskipun arsitektur rendah"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "pasang %s meskipun arsitektur rendah"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "biarkan usang %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "pasang %s dari repositori pengecualian"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "pasang %1% meskipun telah ditarik kembali"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "memungkinkan untuk memasang PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "pasang %1% meskipun masuk daftar hitam"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "turunkan dari %s to %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "arsitektur berubah dari %s ke %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -5080,12 +5084,12 @@ msgstr ""
 "pasang %s (dengan perubahan vendor)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "penggantian %s dengan %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "penghapusan dari %s"
@@ -5102,72 +5106,72 @@ msgstr "Menjalankan skrip '%1%' %%posttrans"
 msgid "Executing %posttrans scripts"
 msgstr "Menjalankan skrip %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Instalasi dibatalkan sesuai perintah."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " berhasil dieksekusi"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " eksekusi gagal"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s telah dieksekusi sebagai %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " Eksekusi dilewati ketika diberhentikan"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
-msgstr "Gagal mengirim pesan notifikasi pembaharuan."
+msgstr "Galat mengirim pesan notifikasi pemutakhiran."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Pesan baru"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM gagal: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Gagal mengimpor kunci publik %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Gagal menghapus kunci publik %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Paket tidak ditandatangani!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Mengubah berkas konfigurasi untuk %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -5175,7 +5179,7 @@ msgstr ""
 "perbedaannya"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5185,7 +5189,7 @@ msgstr ""
 "Ini adalah perbedaan 25 baris pertama:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -5193,7 +5197,7 @@ msgstr ""
 "perbedaannya"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5204,47 +5208,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Tambahan keluaran RPM"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
-msgstr "membuat backup %s"
+msgstr "membuat cadangan %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Tanda tangan OK"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Tanda tangan tidak dikenal"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Tanda tangan tidak terverifikasi"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Tanda tangan OK, tetapi kunci tidak terpercaya"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Tanda tangan kunci publik tidak tersedia"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Berkas tidak ada atau tanda tangan tidak dapat diperiksa"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Berkas tidak ditandatangani"
 
@@ -5282,7 +5286,7 @@ msgstr "Skema Url tidak memperbolehkan nama pengguna"
 
 #: zypp/url/UrlBase.cc:983
 msgid "Url scheme does not allow a password"
-msgstr "Skema Url tidak memperbolehkan password"
+msgstr "Skema Url tidak memperbolehkan kata sandi"
 
 #: zypp/url/UrlBase.cc:1012
 msgid "Url scheme requires a host component"
@@ -5316,7 +5320,7 @@ msgstr "Path relatif tidak dibolehkan bila otorita ada"
 
 #: zypp/url/UrlUtils.cc:111
 msgid "Encoded string contains a NUL byte"
-msgstr "String encoded memuat byte NUL"
+msgstr "String yang dikodekan berisi byte NUL"
 
 #: zypp/url/UrlUtils.cc:173
 msgid "Invalid parameter array split separator character"
@@ -5330,6 +5334,24 @@ msgstr "Karakter pemisah parameter map tidak valid"
 msgid "Invalid parameter array join separator character"
 msgstr "Karakter pemisah susunan join tidak valid"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Kesalahan unduhan (curl) untuk '%s':\n"
+"Kode kesalahan: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Kesalahan unduhan (curl) untuk '%s':\n"
+"Tidak dapat mengambil respon HTTP\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Tidak dapat membuka berkas kunci: %s"
 
index 55ae262..cef428e 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -14,9 +14,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2020-02-19 17:54+0000\n"
-"Last-Translator: Davide Aiello <davidea@novilinguists.com>\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-30 19:48+0000\n"
+"Last-Translator: Paolo Za <zapaolo@email.it>\n"
 "Language-Team: Italian <https://l10n.opensuse.org/projects/libzypp/master/it/"
 ">\n"
 "Language: it\n"
@@ -1302,54 +1302,54 @@ msgid "Supplements"
 msgstr "Integra"
 
 # TLABEL modules/sound/sound.ycp:620
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Impossibile aprire pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Impossibile aprire pipe (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Impossibile eseguire il comando chroot in '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Impossibile eseguire chdir verso '%s' dentro la chroot '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Impossibile eseguire chdir verso '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Impossibile eseguire '%s' (%s)."
 
 # TLABEL modules/installation.ycp:287
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Impossibile eseguire il comando fork (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Il comando è terminato con stato %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Il comando è stato terminato dal segnale %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Il comando è terminato con un errore sconosciuto."
 
@@ -3773,20 +3773,20 @@ msgstr[1] "(scade entro %d giorni)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Ricerca dell'ID %1% della chiave GPG nella cache %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Ricerca dell'ID %1% della chiave GPG nel repository %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Il repository %1% non definisce URL aggiuntivi 'gpgkey=' ."
@@ -3797,7 +3797,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Impossibile leggere la directory '%1%' del repository: permesso negato"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3817,8 +3817,8 @@ msgid "Service alias cannot start with dot."
 msgstr "L'alias di un servizio non può iniziare con un punto."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Impossibile aprire il file '%s' in scrittura."
@@ -3839,31 +3839,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Non sono stati trovati metadati validi all'URL specificato"
 msgstr[1] "Non sono stati trovati metadati validi agli URL specificati"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Impossibile creare %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Impossibile creare la directory della cache dei metadati."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Costruzione della cache del repository '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Impossibile creare la cache in %s - permessi di scrittura mancanti."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Impossibile creare la cache del repo (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Tipo di repository non gestito"
 
@@ -3873,44 +3873,44 @@ msgstr "Tipo di repository non gestito"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Errore durante il tentativo di lettura da '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Errore sconosciuto durante la lettura da '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Aggiunta del repository '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nome file del repository non valido a '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Rimozione del repository '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Impossibile trovare ubicazione di memorizzazione del repository."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Impossibile eliminare '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Impossibile trovare ubicazione di memorizzazione del servizio."
 
@@ -4048,12 +4048,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Espressione regolare '%s' non valida"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "È richiesta l'autenticazione per '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4061,7 +4062,8 @@ msgstr ""
 "Visitare SUSE Customer Center per verificare se la registrazione è valida e "
 "che non sia scaduta."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4090,6 +4092,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Supporto non aperto durante il tentativo di esecuzione di '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "File '%s' non trovato sul supporto '%s'"
@@ -4196,6 +4199,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Autorizzazione per accedere a '%s' rifiutata."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Timeout superato durante l'accesso a '%s'."
@@ -4206,6 +4210,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "I dati scaricati eccedono la dimensione attesa '%s' di '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "L'ubicazione '%s' è temporaneamente inaccessibile."
@@ -4217,7 +4222,7 @@ msgstr ""
 " Problemi con il certificato SSL, verificare che il certificato CA sia "
 "valido per '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4225,12 +4230,12 @@ msgstr ""
 "Creazione del punto di collegamento: impossibile trovare una directory "
 "scrivibile per creare un punto di collegamento"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Metodo di autenticazione HTTP '%s' non supportato"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Installare prima il pacchetto 'lsof'."
 
@@ -4431,7 +4436,7 @@ msgstr ""
 "  dell'installazione di\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Impossibile creare sat-pool."
 
@@ -4439,107 +4444,107 @@ msgstr "Impossibile creare sat-pool."
 #: zypp/solver/detail/ProblemSolutionIgnore.cc:42
 #, c-format, boost-format
 msgid "break %s by ignoring some of its dependencies"
-msgstr "interrompi %s ignorando alcune delle sue dipendenze"
+msgstr "installa comunque %s ignorando alcune delle sue dipendenze"
 
 #: zypp/solver/detail/ProblemSolutionIgnore.cc:48
 msgid "generally ignore of some dependencies"
 msgstr "generalmente ignora alcune dipendenze"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s non appartiene a un repository di aggiornamento della distribuzione"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s presenta un'architettura inferiore"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problema con il pacchetto installato %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "richieste in conflitto"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "alcuni problemi di dipendenze"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "nessun elemento fornisce %s obbligatorio"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Sono stati abilitati tutti i repository richiesti?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "il pacchetto %s non esiste"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "richiesta non supportata"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s è fornito dal sistema e non può essere cancellato"
 
 # TLABEL modules/inst_target_part.ycp:680
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "impossibile installare %s"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "nessun elemento fornisce %s obbligatorio per %s"
 
 # TLABEL modules/inst_target_part.ycp:680
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "impossibile installare sia %s, sia %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s in conflitto con %s fornito da %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s rende obsoleto %s fornito da %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "l'installazione di %s rende obsoleto %s fornito da %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "il risolubile %s è in conflitto con %s fornito da se stesso"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s richiede %s, ma non è possibile fornire questa richiesta"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "provider cancellati: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4547,108 +4552,108 @@ msgstr ""
 "\n"
 "impossibile installare i provider: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "provider non installabili: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "rimuovi il blocco per consentire la rimozione di %s"
 
 # TLABEL modules/inst_target_part.ycp:680
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "non installare %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "mantieni %s"
 
 # TLABEL modules/inst_target_part.ycp:680
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "rimuovi il blocco per consentire l'installazione di %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Questa richiesta potrebbe danneggiare il sistema!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignora avviso di sistema malfunzionante"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "non chiedere di installare un risolvibile che fornisce %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "non chiedere di eliminare tutti i risolvibili che forniscono %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "non installare la versione più recente di %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "mantieni %s nonostante l'architettura inferiore"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "installa %s nonostante l'architettura inferiore"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "mantieni %s obsoleto"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "installa %s da repository escluso"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "installare %1% anche se è stato ritirato"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "consentire installazione di PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "Installare %1% anche se è nella black list"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "downgrade di %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "modifica dell'architettura di %s in %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4657,12 +4662,12 @@ msgstr ""
 "installa %s (con cambio di fornitore)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "sostituzione di %s con %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "disinstallazione di %s"
@@ -4679,73 +4684,73 @@ msgstr "Esecuzione dello script %%posttrans '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Esecuzione degli script %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "L'installazione è stata interrotta come indicato."
 
 # TLABEL modules/inst_config_x11.ycp:578
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " eseguito"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " esecuzione non riuscita"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s già eseguito come %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " esecuzione saltata durante l'annullamento"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Errore nell'invio della notifica del messaggio di aggiornamento."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nuovo messaggio di aggiornamento"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM non riuscito: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Errore importazione della chiave pubblica %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Errore rimozione della chiave pubblica %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Il pacchetto non è firmato!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "File di configurazione modificati per %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -4753,7 +4758,7 @@ msgstr ""
 "differenza"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4763,7 +4768,7 @@ msgstr ""
 "Di seguito sono riportate le prime 25 righe di differenza:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -4771,7 +4776,7 @@ msgstr ""
 "differenza"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4782,47 +4787,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Output aggiuntivo di rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "creata copia di backup di %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "La firma è corretta"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Tipo di firma sconosciuto"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "La firma non è verificabile"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "La firma è corretta, ma non è attendibile"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "La chiave pubblica delle firme non è disponibile"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Il file non esiste o la firma non può essere verificata"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "File non firmato"
 
@@ -4909,6 +4914,24 @@ msgstr "Carattere di separazione di divisione mappa di parametri non valido"
 msgid "Invalid parameter array join separator character"
 msgstr "Carattere di separazione unione della matrice di parametri non valido"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Errore di download (curl) per '%s':\n"
+"Codice di errore %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Errore di download (curl) per '%s':\n"
+"Impossibile recuperare la risposta HTTP\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Impossibile aprire file bloccato: %s"
 
index e4be1bc..a210cce 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2019-12-06 04:54+0000\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-19 00:48+0000\n"
 "Last-Translator: Yasuhiko Kamata <belphegor@belbel.or.jp>\n"
 "Language-Team: Japanese <https://l10n.opensuse.org/projects/libzypp/master/"
 "ja/>\n"
@@ -1297,54 +1297,54 @@ msgstr "拡張"
 msgid "Supplements"
 msgstr "補足"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "擬似端末(%s)を開くことができません。"
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "パイプ(%s)を開くことができません。"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "'%s' (%s)にchrootすることができません。"
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 "chroot '%s' (%s)の実行中にディレクトリを '%s' に変更することはできません。"
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "ディレクトリを '%s' (%s)に変更できません。"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "'%s' (%s)を実行することができません。"
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "fork (%s)することができません。"
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "コマンドは状態 %d で終了しました。"
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "コマンドはシグナル %d (%s)で終了しました。"
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "コマンドは不明なエラーで終了しました。"
 
@@ -3766,20 +3766,20 @@ msgstr[0] "(%d 日で期限切れ)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "キャッシュ %2% 内で gpg 鍵 ID %1% を検索しています。"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "リポジトリ %2% 内で gpg 鍵 ID %1% を検索しています。"
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "リポジトリ %1% は 'gpgkey=' で追加の URL を指定していません。"
@@ -3791,7 +3791,7 @@ msgstr ""
 "リポジトリのディレクトリ '%1%' を読み込むことができません: 許可がありません"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3812,8 +3812,8 @@ msgid "Service alias cannot start with dot."
 msgstr "サービスの別名をドットから始めることはできません。"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "ファイル '%s' を書き込み用に開くことができません。"
@@ -3833,31 +3833,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "指定した URL には正しいメタデータがありません"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "%s を作成できません"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "メタデータのキャッシュディレクトリを作成できません。"
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "リポジトリ '%s' のキャッシュを構築しています"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "%s にキャッシュを作成できません - 書き込み許可がありません。"
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "リポジトリ (%d) のキャッシュに失敗しました。"
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "未処理のリポジトリタイプ"
 
@@ -3867,44 +3867,44 @@ msgstr "未処理のリポジトリタイプ"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "'%s' から読み取り時にエラーが発生しました"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "'%s' からの読み取り時に不明なエラーが発生しました"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "リポジトリ '%s' を追加しています"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "'%s' にあるリポジトリのファイル名が正しくありません"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "リポジトリ '%s' を削除しています"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "リポジトリがどこに保存されたのかがわかりません。"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "'%s' を削除することができません"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "サービスの保管場所がわかりません。"
 
@@ -4037,12 +4037,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "正規表現 '%s' が正しくありません"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "'%s' にアクセスするにはユーザ認証が必要です"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4050,7 +4051,8 @@ msgstr ""
 "SUSE カスタマーセンターを開いて、お使いの登録が有効であること、および期限切れ"
 "になっていないことをご確認ください。"
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4079,6 +4081,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "アクション '%s' を実行しようとした際にメディアが開きませんでした。"
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "ファイル「%s」がメディア「%s」に見つかりません"
@@ -4184,6 +4187,7 @@ msgid "Permission to access '%s' denied."
 msgstr "'%s' へのアクセスが拒否されました。"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "'%s' にアクセスする際にタイムアウトになりました。"
@@ -4196,6 +4200,7 @@ msgstr ""
 "%s, 実際のサイズ=%s) 。"
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "場所「%s」は一時的にアクセスできなくなっています。"
@@ -4207,7 +4212,7 @@ msgstr ""
 " SSL 証明書に問題があります。 '%s' について証明機関に問題がないかどうか確認し"
 "てください。"
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4215,12 +4220,12 @@ msgstr ""
 "接続点の作成: 接続点を作成するための書き込み可能なディレクトリが見つかりませ"
 "ん"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "未対応のHTTP認証方式 '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "最初にパッケージ「lsof」をインストールしてください。"
 
@@ -4419,7 +4424,7 @@ msgstr ""
 " ファイル %3%\n"
 "  と競合しています"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "sat-poolを作成できません。"
 
@@ -4433,101 +4438,101 @@ msgstr "いくつかの依存関係を無視することによって %s を壊
 msgid "generally ignore of some dependencies"
 msgstr "いくつかの依存関係をおおよそ無視する"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s はdistupgradeのリポジトリに属していません"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s は下位のアーキテクチャです"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "インストール済みのパッケージ %s に問題が発生しました"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "要求が矛盾しています"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "何らかの依存関係の問題"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "要求した %s はどこからも提供されていません"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "すべての必要なリポジトリを有効化しましたか?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "パッケージ %s は存在しません"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "サポートされていない要求"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s はシステムが提供するもので、削除できません"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s はインストールできません"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s (%s で必要)はどこからも提供されていません"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s と %s の両方をインストールすることはできません"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s は %s (%s から提供されている)と競合します"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s は %s (%s から提供されている)を古いものとして廃棄します"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 "インストール済みの %s は、%s (%s から提供されている)を古いものとして廃棄しま"
 "す"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "解決方法 %s は自分自身で提供している %s と競合しています"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s は %s を必要としていますが、この要求を解決する方法がありません"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "削除したプロバイダ: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4535,106 +4540,106 @@ msgstr ""
 "\n"
 "インストール不可能なプロバイダ: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "インストール不可能なプロバイダ: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "%s の削除を許可するためにロックを削除する"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s をインストールしない"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s を維持"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "%s のインストールを許可するためにロックを削除する"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "この要求はシステムを壊してしまいます!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "システムが破壊される警告を無視する"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "%s を提供する解決方法のインストールについて問い合わせない"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "%s を提供するすべての解決方法の削除について問い合わせない"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "%s の最新バージョンをインストールしない"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "下位のアーキテクチャである %s を維持する"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "下位のアーキテクチャである %s をインストールする"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "古い %s を維持する"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "除外されたリポジトリから %s をインストールする"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "撤回済みの %1% をインストールする"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "PTF %1% のインストールを許可する"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "ブラックリスト設定されている %1% をインストールする"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "%s を %s にダウングレードする"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "アーキテクチャを %s から %s に変更する"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4643,12 +4648,12 @@ msgstr ""
 "%s をインストールする(ベンダを変更する)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "%s を %s で置き換える"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "%s をアンインストールする"
@@ -4665,78 +4670,78 @@ msgstr "%%posttrans スクリプト '%1%' を実行しています"
 msgid "Executing %posttrans scripts"
 msgstr "%postrans スクリプトを実行しています"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "指示通りにインストールが中止されました。"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " 実行済み"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " 実行失敗"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s は %s として実行済みです)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " 中止しているため実行をスキップ"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "更新メッセージ通知の送信時にエラーが発生しました。"
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "新しい更新メッセージ"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPMの失敗: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "公開鍵をファイル %1% からインポートすることができませんでした"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "公開鍵 %1% を削除することができませんでした"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "パッケージに署名がありません!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s 向けに変更された設定ファイル:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpmは %s を %s として保存しましたが、差異を判別できませんでした"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4746,13 +4751,13 @@ msgstr ""
 "以下は差異のある最初の25行です。\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpmは %s を %s として作成しましたが、差異を判別できませんでした"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4763,47 +4768,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "追加のrpm出力"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "バックアップ %s が作成されました"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "署名に問題はありません"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "不明な種類の署名です"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "署名は正しくありません"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "署名に問題はありませんが、鍵を信頼していません"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "署名の公開鍵がありません"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "ファイルが存在しないか、署名を確認できません"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "ファイルに署名がありません"
 
@@ -4889,6 +4894,24 @@ msgstr "無効なパラメータマップ区切り文字"
 msgid "Invalid parameter array join separator character"
 msgstr "無効なパラメータ配列結合文字"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"'%s' のダウンロード (curl) でエラーが発生しました:\n"
+"エラーコード: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"'%s' のダウンロード (curl) でエラーが発生しました:\n"
+"HTTP レスポンスの取得ができませんでした\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "ロックファイルを開けません:%s"
 
index da95e10..597b914 100644 (file)
--- a/po/ka.po
+++ b/po/ka.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2009-03-06 01:28+0400\n"
 "Last-Translator: George Machitidze <giomac@gmail.com>\n"
 "Language-Team: Georgian <>\n"
@@ -1295,53 +1295,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr ""
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -3763,20 +3763,20 @@ msgstr[0] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3787,7 +3787,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3807,8 +3807,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Couldn't open file: %s."
@@ -3828,31 +3828,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "بيانات التعريف غير صحيحة لم يتم العثور عليها في المسار(s)"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr ""
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3862,44 +3862,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4023,18 +4023,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4061,6 +4063,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4163,6 +4166,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4173,6 +4177,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4182,18 +4187,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4344,7 +4349,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4358,216 +4363,216 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr ""
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr ""
@@ -4584,78 +4589,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr ""
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4663,13 +4668,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4678,48 +4683,48 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "დამატებითი კოდი"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4805,6 +4810,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Cannot create public key %s from %s keyring to file %s"
 #~ msgstr "لا يمكن إنشاء المفتاح العام %s من %s إلى ملف حلقة المفاتيح %s"
 
index 999d810..5df3107 100644 (file)
--- a/po/km.po
+++ b/po/km.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.km\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2010-06-03 08:04+0700\n"
 "Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
 "Language-Team: Khmer <support@khmeros.info>\n"
@@ -1296,53 +1296,53 @@ msgstr "ធ្វើ​ឲ្យ​ប្រសើរ​ឡើង"
 msgid "Supplements"
 msgstr "ការ​បន្ថែម"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "មិនអាច​បើក pty (%s) ។"
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "មិនអាច​បើក​បំពង់ (%s) ។"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "មិនអាច chroot ទៅ '%s' (%s) បានទេ ។"
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "មិនអាច chdir ទៅ '/' ក្នុង chroot (%s) បានទេ ។"
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "មិនអាច chroot ទៅ '%s' (%s) បានទេ ។"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "មិនអាច​ប្រតិបត្តិ '%s' (%s) ។"
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "មិនអាច​បែងចែក (%s) បានទេ ។"
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "ពាក្យ​បញ្ជា​បាន​ចេញ​ដោយ​ស្ថានភាព %d ។"
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "ពាក្យ​បញ្ជា​ត្រូវ​បាន​ផ្ដាច់​ដោយ​សញ្ញា %d (%s) ។"
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "ពាក្យ​បញ្ជា​បាន​ចេញ ដោយ​មាន​កំហុស​មិន​ស្គាល់ ។"
 
@@ -3766,20 +3766,20 @@ msgstr[0] "(ផុត​កំណត់​ក្នុង​រយៈពេល 
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3790,7 +3790,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3810,8 +3810,8 @@ msgid "Service alias cannot start with dot."
 msgstr "ឈ្មោះ​ក្លែងក្លាយ​សេវាមិន​អាច​​ចាប់​ផ្តើម​​ជាមួយចំណុច ​(.)​បាន​ទេ ។"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "មិន​អាច​បើក​ឯកសារ '%s' ដើម្បី​សរសេរ​បានទេ ។"
@@ -3831,31 +3831,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "រក​មិន​ឃើញ​ទិន្នន័យ​មេតា​ដែល​ត្រឹមត្រូវ​នៅ URL ដែល​បាន​បញ្ជាក់"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "មិន​អាច​បង្កើត​ %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "មិន​អាច​បង្កើត​ថត​ឃ្លាំង​សម្ងាត់​របស់​ទិន្នន័យ​មេតា ។"
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "កំពុង​ស្ថាបនា​ឃ្លាំង '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "មិន​អាច​បង្កើត​ឃ្លាំង​សម្ងាត់​នៅ​ត្រង់​ %s - គ្មាន​សិទ្ធិ​ក្នុង​ការ​សរសេរ ។"
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "បាន​បរាជ័យ​ក្នុង​ការ​ឃ្លាំង​ជា​ឃ្លាំង​សម្ងាត់ (%d) ។"
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "ប្រភេទ​ឃ្លាំង​ដែល​មិន​បាន​ដោះស្រាយ"
 
@@ -3865,44 +3865,44 @@ msgstr "ប្រភេទ​ឃ្លាំង​ដែល​មិន​បា
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "កំហុស​ក្នុង​ការ​ព្យាយាម​អាន​ពី '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "មាន​កំហុស​ដែល​មិន​ស្គាល់​ក្នុង​ការ​អាន​ពី '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "កំពុង​បន្ថែម​ឃ្លាំង '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "ឈ្មោះ​ឯកសារ​ឃ្លាំង​មិន​ត្រឹមត្រូវ​នៅ '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "យក​ឃ្លាំង '%s' ចេញ"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "មិន​អាច​ដោះស្រាយ​កន្លែង​ដែល​ឃ្លាំង​ត្រូវ​បាន​ទុក​បានទេ ។"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "មិនអាច​លុប '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "មិនអាច​​ដោះស្រាយ​កន្លែង​ដែល​សេវា​ត្រូវ​បានផ្ទុក​បានទេ ។"
 
@@ -4037,18 +4037,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "កន្សោម​ធម្មតា​មិន​ត្រឹមត្រូវ '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "បាន​ទាមទារ​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​សម្រាប់ '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4076,6 +4078,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "ឧបករណ៍​ផ្ទុក​មិនបាន​បើក នៅពេល​ធ្វើ​អំពើ '%s' ។"
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "រក​មិនឃើញ​ឯកសារ '%s' នៅ​លើ​ឧបករណ៍​ផ្ទុក​ទេ '%s'"
@@ -4181,6 +4184,7 @@ msgid "Permission to access '%s' denied."
 msgstr "សិទ្ធិ​ចូល​ដំណើរការ​ទៅ '%s' បាន​បដិសេធ ។"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "អស់​ពេល​លើល​ពេល​ចូល​ដំណើរការ '%s' ។"
@@ -4191,6 +4195,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "ទីតាំង '%s' មិន​ដំណើរការ​ជា​បណ្ដោះអាសន្ន ។"
@@ -4200,18 +4205,18 @@ msgstr "ទីតាំង '%s' មិន​ដំណើរការ​ជា​
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " បញ្ហា​វិញ្ញាបនបត្រ SSL ផ្ទៀងផ្ទាត់​ថា​វិញ្ញាបនបត្រ CA គឺ​ត្រឹមត្រូវ​សម្រាប់ '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "មិនបាន​គាំទ្រ​វិធីសាស្ត្រ​ផ្ទៀងផ្ទាត់​ភាពត្រឹមត្រូវ HTTP '%s' ឡើយ"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4364,7 +4369,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "មិនអាច​បង្កើត sat-pool បានទេ ។"
 
@@ -4379,100 +4384,100 @@ msgstr "បំបែក %s ដោយ​មិនអើពើ​ភាព​អ
 msgid "generally ignore of some dependencies"
 msgstr "ជា​ទូទៅ​មិនអើពើ​នឹង​ភាព​អាស្រ័យ​មួយ​ចំនួន"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s មិនមែនជា​របស់​ឃ្លាំង distupgrade នោះ​ទេ"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s មាន​​​ស្ថាបត្យកម្ម​ទាប​ជាង"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "បញ្ហា​ជាមួយ​កញ្ចប់​ដែល​បាន​ដំឡើង %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "សំណើ​ការ​ប៉ះទង្គិច"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "បញ្ហា​ភាព​អាស្រ័យ​មួយ​ចំនួន"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "គ្មាន​អ្វី​ផ្ដល់ %s ដែលបាន​ស្នើ​ទេ"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "តើ​អ្នក​បាន​បើក​ឃ្លាំង​ដែល​បាន​ស្នើ​ទាំងអស់​ហើយឬនៅ ?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "មិនមាន​ព័ត៌មាន​បម្រុង​ទុក​ទេ"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 #, fuzzy
 msgid "unsupported request"
 msgstr "មិន​បានគាំទ្រ"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s ជាប់សោ និង​មិន​អាច​លុប​បាន​ឡើយ ។"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s មិនអាច​ដំឡើងបាន"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "គ្មាន​អ្វី​ផ្ដល់ %s ដែល​ត្រូវការ​ដោយ %s ទេ"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "មិនអាច​ដំឡើង​ទាំង %s និង %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s ប៉ះទង្គិច​ជាមួយ %s ដែល​បាន​ផ្ដល់​ដោយ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s លែងប្រើ %s ដែល​ផ្ដល់ដោយ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s ដែល​បាន​ដំឡើង​លែង​ប្រើ %s ដែល​ផ្ដល់​ដោយ %s ហើយ"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "ការ​ប៉ះទង្គិច %s ដែល​អាច​ដោះស្រាយ​បាន​ជា​មួយ %s ដែល​បាន​ផ្ដល់​ដោយ​ខ្លួន​វា​ផ្ទាល់"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s ត្រូវការ %s ប៉ុន្តែ​តម្រូវការ​នេះ​មិនអាច​ផ្ដល់​បានទេ"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "ក្រុមហ៊ុន​ផ្ដល់​ដែល​បាន​លុប ៖ "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4480,106 +4485,106 @@ msgstr ""
 "\n"
 "លុបក្រុមហ៊ុនផ្ដល់ ៖ "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "ក្រុមហ៊ុន​លក់​ដែល​អាច​លុបបាន ៖ "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "កុំ​ដំឡើង %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "រក្សា %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "កុំ​ហាម​ការ​ដំឡើង​នៃ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "សំណើ​នេះ​នឹង​ធ្វើ​ឲ្យ​ប្រព័ន្ធ​របស់​អ្នក​ខូច !"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "មិនអើពើ​នឹង​ការ​ព្រមាន​របស់​ប្រព័ន្ធ​ដែល​ខូច"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "កុំ​ស្នើ​ឲ្យ​ដំឡើង​កញ្ចប់​ដោះស្រាយ​ដោយ​ផ្ដល់ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "កុំ​ស្នើ​ឲ្យ​លុប​កញ្ចប់​ដោះស្រាយ​ទាំងអស់​ដោយ​ផ្ដល់ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "កុំ​ដំឡើង​កំណែ​ថ្មីរបស់ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "ទុក %s ទោះ​បី​ជា​ស្ថាបត្យកម្ម​ទាប​ក៏​ដោយ"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "ដំឡើង %s ទោះ​បីជា​ស្ថាបត្យកម្ម​ទាប​ក៏​ដោយ"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "លែង​ប្រើ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "ដំឡើង %s ពី​ឃ្លាំង​ដែល​បាន​ដក​ចេញ"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "បន្ទាប %s ទៅ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "ការ​ផ្លាស់ប្ដូរ​ស្ថាបត្យកម្ម​នៃ %s ទៅ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4588,12 +4593,12 @@ msgstr ""
 "ដំឡើង %s (ដោយ​មានការ​ផ្លាស់ប្ដូរ​របស់​អ្នក​លក់)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "ការ​ជំនួស %s ជាមួយ %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "ការ​លុប​នៃ %s"
@@ -4610,78 +4615,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "ការ​ដំឡើង ត្រូវបាន​បោះបង់​ដោយ​ផ្ទាល់ ។"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " បាន​ប្រតិបត្តិ"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " បាន​បរាជ័យ​ក្នុងកា​រប្រតិបត្តិ"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " ការ​ប្រតិបត្តិ​បាន​រំលង​ខណៈពេល​បោះបង់"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "កំហុស​ក្នុង​ការ​ផ្ញើ​ការ​ជូនដំណឹង​សារបច្ចុប្បន្នភាព​ ។"
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "សារ​បច្ចុប្បន្នភាព​ថ្មី"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM បាន​បរាជ័យ ៖ "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "បរាជ័យក្នុង​ការ​នាំចូល​សោ​សាធារណៈ​ពី​ឯកសារ %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "បរាជ័យ​ក្នុងការ​យក​សោ​សាធារណៈ %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "បាន​ប្ដូរ​ឯកសារ​កំណត់​រចនាសម្ព័ន្ធ​សម្រាប់ %s ៖"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm បានរ​ក្សា​ទុក %s ជា %s ប៉ុន្តែ​វា​អាច​កំណត់​ភាព​ខុស​គ្នា"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4691,13 +4696,13 @@ msgstr ""
 "នេះ​ជា​បន្ទាត់ ២៥ ជួរ​ដំបូង​ខុសគ្នា៖\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm បាន​បង្កើត %s ជា %s ប៉ុន្តែ​វា​មិន​អាច​កំណត់​ភាព​ខុស​គ្នា"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4708,50 +4713,50 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "លទ្ធផល rpm បន្ថែម"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "បាន​បង្កើត​ព័ត៌មាន​បម្រុង %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "រក​មិនឃើញ​ឯកសារ​ហត្ថលេខា %s ទេ"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "រក​មិនឃើញ​ឯកសារ​ហត្ថលេខា %s ទេ"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "រក​មិនឃើញ​ឯកសារ​ហត្ថលេខា %s ទេ"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4837,6 +4842,20 @@ msgstr "តួអក្សរ​បំបែក​សម្រាប់​ពុ
 msgid "Invalid parameter array join separator character"
 msgstr "តួអក្សរ​បំបែក​សម្រាប់​ត​អារេ​ប៉ារ៉ាម៉ែត្រ មិន​ត្រឹមត្រូវ"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "មិនអាច​បើក​ឯកសារ​សោ ៖ %s"
 
index fa37485..8b7c241 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.ko\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2019-03-23 20:19+0000\n"
 "Last-Translator: Hwajin Kim <hwajin.kim@e4net.net>\n"
 "Language-Team: Korean <https://l10n.opensuse.org/projects/libzypp/master/ko/"
@@ -1375,53 +1375,53 @@ msgstr "기능 향상"
 msgid "Supplements"
 msgstr "보충"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "pty(%s)를 열 수 없습니다."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "파이프(%s)를 열 수 없습니다."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "'%s'(%s)에 대해 chroot할 수 없습니다."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "'%s'(chroot '%s' 내부)(%s)(으)로 chdir할 수 없습니다."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "'%s'(%s)(으)로 chdir할 수 없습니다."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "'%s'(%s)을(를) 실행할 수 없습니다."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "fork(%s)할 수 없습니다."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "상태 %d(으)로 명령이 종료되었습니다."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "명령이 신호 %d(%s)에 의해 종료되었습니다."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "알 수 없는 오류와 함께 명령이 종료되었습니다."
 
@@ -3954,20 +3954,20 @@ msgstr[0] "%d(24시간 내 만료)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "%2% 캐시에서 gpg 키 ID %1%을(를) 검색합니다."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "%2% 리포지토리에서 gpg 키 ID %1%을(를) 검색합니다."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "%1% 리포지토리에서 추가 'gpgkey=' URL을 정의하지 않습니다."
@@ -3978,7 +3978,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "리포지토리 디렉토리 '%1%'을(를) 읽을 수 없음: 사용 권한 거부됨"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3998,8 +3998,8 @@ msgid "Service alias cannot start with dot."
 msgstr "서비스 별칭은 점(.)으로 시작할 수 없습니다."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "쓰기 위한 파일 '%s'을(를) 열 수 없습니다."
@@ -4018,31 +4018,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "지정한 URL에는 유효한 메타데이터가 없음"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "%s을(를) 생성할 수 없음"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "메타 데이터 캐시 디렉토리를 생성할 수 없습니다."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "리포지토리 '%s' 캐시 빌드 중"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "%s에서 캐시를 생성할 수 없음 - 쓰기 권한이 없습니다."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "리포지토리(%d)를 캐시하지 못했습니다."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "리포지토리 유형이 처리되지 않았습니다."
 
@@ -4052,45 +4052,45 @@ msgstr "리포지토리 유형이 처리되지 않았습니다."
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "'%s'에서 읽기를 시도하는 중에 오류가 발생했습니다."
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "'%s'에서 읽는 중에 알 수 없는 오류가 발생했습니다."
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "'%s' 리포지토리 추가 중"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "'%s'에서 리포지토리 파일 이름이 잘못되었습니다."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "'%s' 리포지토리 제거 중"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "리포지토리가 저장된 위치를 알 수 없습니다."
 
 #  Frame title for installation target hard disk / partition(s)
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "'%s'을(를) 삭제할 수 없습니다."
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "서비스가 저장된 위치를 알 수 없습니다."
 
@@ -4226,12 +4226,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "잘못된 정규식 '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "'%s'에 대한 인증 필요"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4239,7 +4240,8 @@ msgstr ""
 "SUSE 고객 센터를 방문하여 등록이 올바른지, 등록이 만료되지 않았는지 확인합니"
 "다."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4267,6 +4269,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "'%s' 작업을 수행할 때 미디어를 열 수 없습니다."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "'%s' 파일을 '%s' 미디어에서 찾을 수 없습니다."
@@ -4374,6 +4377,7 @@ msgid "Permission to access '%s' denied."
 msgstr "'%s' 액세스 권한이 거부되었습니다."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "'%s'에 액세스할 때 제한 시간이 초과되었습니다."
@@ -4384,6 +4388,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "다운로드한 데이터가 예상 파일 크기 '%s'/'%s'을(를) 초과했습니다."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "위치 '%s'에 일시적으로 액세스할 수 없습니다."
@@ -4393,18 +4398,18 @@ msgstr "위치 '%s'에 일시적으로 액세스할 수 없습니다."
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " SSL 인증서 문제, '%s'의 CA 인증서에 문제가 없는지 확인하십시오."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr "연결점 생성: 연결점을 생성할 쓰기 가능한 디렉토리를 찾을 수 없습니다."
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "지원하지 않는 HTTP 인증 방법 '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "'lsof' 패키지를 먼저 설치하십시오."
 
@@ -4603,7 +4608,7 @@ msgstr ""
 "  %3%\n"
 "     파일과 충돌합니다."
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "sat-pool을 생성할 수 없습니다."
 
@@ -4618,100 +4623,100 @@ msgstr "일부 종속성을 무시하여 %s을(를) 구분합니다."
 msgid "generally ignore of some dependencies"
 msgstr "일부 종속을 일반적으로 무시"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s이(가) 배포 업그레이드 리포지토리에 속해 있지 않습니다."
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s에 하위 아키텍처가 있습니다."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "설치된 패키지 %s에 문제가 발생했습니다."
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "요청 충돌"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "일부 종속성 문제"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "요청한 %s이(가) 제공되지 않습니다."
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "요청한 모든 리포지토리를 활성화했습니까?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "%s 패키지가 존재하지 않습니다."
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "지원되지 않는 요청"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s은(는) 시스템에서 제공되며 지울 수 없습니다."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s을(를) 설치할 수 없습니다."
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s(%s에서 필요)이(가) 제공되지 않습니다."
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s과(와) %s을(를) 모두 설치할 수 없습니다."
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s이(가) %s(%s에서 제공)과(와) 충돌합니다."
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s이(가) %s(%s에서 제공)을(를) 폐기합니다."
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "설치된 %s이(가) %s(%s에서 제공)을(를) 제거합니다."
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "Solvable %s이(가) 자체적으로 제공된 %s과(와) 충돌합니다."
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s에 %s이(가) 필요하지만, 이 요구사항을 제공할 수 없습니다."
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "삭제된 공급자: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4719,107 +4724,107 @@ msgstr ""
 "\n"
 "설치 불가능한 공급자: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "설치할 수 없는 공급자: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "잠금 해제로 %s 제거 허용"
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s 설치 안 함"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s 유지"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "잠금 해제로 %s 설치 허용"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "이 요청은 시스템을 손상시킵니다!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "손상된 시스템에 대한 경고를 무시합니다."
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "%s을(를) 제공하는 solvable 설치를 묻지 않음"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "%s을(를) 제공하는 모든 solvable 삭제를 묻지 않음"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "%s의 최신 버전을 설치하지 않음"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "하위 아키텍처인 경우에도 %s 유지"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "하위 아키텍처인 경우에도 %s 설치"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "구식 %s 유지"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "제외된 리포지토리에서 %s 설치"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "%s을(를) %s(으)로 다운그레이드"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "%s에서 %s(으)로 아키텍처 변경"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4828,12 +4833,12 @@ msgstr ""
 "%s 설치(벤더 변경)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "%s을(를) %s(으)로 대체"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "%s 설치 제거"
@@ -4850,79 +4855,79 @@ msgstr "%%posttrans 스크립트 '%1%' 실행 중"
 msgid "Executing %posttrans scripts"
 msgstr "%posttrans 스크립트 실행 중"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "설치가 지시된 대로 중단되었습니다."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " 실행됨"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " 실행 실패됨"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s이(가) 이미 %s(으)로 실행되었습니다."
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " 중단하는 중 실행 건너뜀"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "업데이트 메시지 알림을 보내는 중에 오류가 발생했습니다."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "새 업데이트 메시지"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM 실패: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "%1% 파일에서 공용 키를 임포트하지 못했습니다."
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "%1% 공용 키를 제거하지 못했습니다."
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "패키지가 서명되지 않았습니다!"
 
 #  progress stage
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s에 대한 구성 파일을 변경함:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "RPM은 %s을(를) %s(으)로 저장했지만, 차이점을 구분할 수 없습니다."
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4932,13 +4937,13 @@ msgstr ""
 "다음은 차이에 대한 처음 25개 행입니다.\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "RPM은 %s을(를) %s(으)로 생성했지만, 차이점을 구분할 수 없습니다."
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4950,47 +4955,47 @@ msgstr ""
 #  dialog caption
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "추가 RPM 출력"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "백업 %s을(를) 만들었음"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "서명 정상"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "알 수 없는 서명 유형"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "서명을 확인할 수 없음"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "서명이 정상이지만 키를 신뢰할 수 없음"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "서명 공용 키 사용 불가"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "파일이 존재하지 않거나 서명을 확인할 수 없음"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "파일이 서명되지 않음"
 
@@ -5076,6 +5081,20 @@ msgstr "파라미터 맵 분할 구분 문자가 잘못되었습니다."
 msgid "Invalid parameter array join separator character"
 msgstr "파라미터 배열 조인 구분 문자가 잘못되었습니다."
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "잠금 파일 %s을(를) 열 수 없습니다."
 
index b792fc3..e289c01 100644 (file)
--- a/po/ku.po
+++ b/po/ku.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: memory.ku.po\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2005-09-23 00:15+0200\n"
 "Last-Translator: Kurdish Team <i18n@suse.de>\n"
 "Language-Team: Kurdish Team <i18n@suse.de>\n"
@@ -1334,53 +1334,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "%s nehat vebûn."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Pela %1 nayê vekirin"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "%s nehat vebûn."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -3839,20 +3839,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3863,7 +3863,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3884,8 +3884,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Pela '%1' nayê vekirin"
@@ -3905,32 +3905,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "%1$s Biafirîne"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "Pelrêç nayê afirandin"
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr ""
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 #, fuzzy
 msgid "Unhandled repository type"
 msgstr "Çavkaniyê &Çalak Bike"
@@ -3941,44 +3941,44 @@ msgstr "Çavkaniyê &Çalak Bike"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, fuzzy, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Di nivîsandina pela '%1' de çewtî çêbû"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, fuzzy, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Arşîva %1 tê Afirandin"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Arşîvan Rake"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Bi rastî bila '%1' jê bibe?"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4108,18 +4108,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Derbirîna bi Pergal(an)"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4146,6 +4148,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Pakêta %1 derdorê nehat dîtin."
@@ -4249,6 +4252,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4259,6 +4263,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4268,18 +4273,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4432,7 +4437,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "Pelrêç nayê afirandin"
@@ -4447,218 +4452,218 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "Sazkirina pakêtên hewce pêk nehat."
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "Pakêtên nakokiyên wan hene"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Pela %1 tune ye. "
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 #, fuzzy
 msgid "unsupported request"
 msgstr "Piştgirî"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "Saz neke"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, fuzzy, c-format, boost-format
 msgid "do not install %s"
 msgstr "Saz neke"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "Sazkirina nivîsbariyê"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, fuzzy, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "Ji bo nû ve sazkirina guhertoya cuda"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "kêmkirin"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Moda Sazkirinê"
@@ -4675,17 +4680,17 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 #, fuzzy
 msgid "Installation has been aborted as directed."
 msgstr "Sazkirina di nav Pelrêç de"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "Bixebitîne"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "Nivîsandina mîhengan têk çû"
@@ -4693,63 +4698,63 @@ msgstr "Nivîsandina mîhengan têk çû"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Veavakirina IrDA biguherîne"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4757,13 +4762,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4772,51 +4777,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "Zêdetir vebijark"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "Pel nehat dîtin."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "Pel nehat dîtin."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "Pel nehat dîtin."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4903,6 +4908,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Pela %1 nayê vekirin"
index 36fa489..c9b972e 100644 (file)
--- a/po/lt.po
+++ b/po/lt.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2017-06-02 18:02+0000\n"
 "Last-Translator: Mindaugas Baranauskas <opensuse.lietuviu.kalba@gmail.com>\n"
 "Language-Team: Lithuanian <https://l10n.opensuse.org/projects/libzypp/master/"
@@ -1381,53 +1381,53 @@ msgstr "Pagerina"
 msgid "Supplements"
 msgstr "Papildo"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Nepavyksta atverti pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Nepavyksta atverti kanalo (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Nepavyksta keisti pakeisti aplanko į „%s“ (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Nepavyksta įvykdyti „%s“ (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Komanda baigta būsenoje %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Komanda nutraukta naudojant signalą %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Komanda pasibaigė su nežinoma klaida."
 
@@ -3864,20 +3864,20 @@ msgstr[3] "(baigsis po %d d.)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3888,7 +3888,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Nepavyko perskaityti katalogo „%1%“: nepakanka leidimų"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3908,8 +3908,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Paslaugos pseudonimas negali prasidėti tašku."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Nepavyksta atverti rinkmenos „%s“ įrašymui."
@@ -3932,31 +3932,31 @@ msgstr[1] "Nurodytuose URL nerasta tinkamų meta duomenų"
 msgstr[2] "Nurodytuose URL nerasta tinkamų meta duomenų"
 msgstr[3] "Nurodytuose URL nerasta tinkamų meta duomenų"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Nepavyksta sukurti %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Nepavyko sukurti metaduomenų podėlio katalogo."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Kuriamas saugyklos „%s“ podėlis"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Nepavyksta sukurti podėlio ties %s - nepakanka teisių."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Nepavyko įkelti į saugyklų podėlį (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Nesutvarkytas saugyklos tipas"
 
@@ -3966,44 +3966,44 @@ msgstr "Nesutvarkytas saugyklos tipas"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Klaida bandant nuskaityti „%s“"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Nežinoma klaida skaitant iš „%s“"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Pridedama saugykla „%s“"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Netinkamas saugyklos pavadinimas „%s“"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Pašalinama saugykla „%s“"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Nepavyksta nustatyti, kur patalpinta ši saugykla"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Nepavyksta pašalinti „%s“"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Nepavyksta nustatyti, kur patalpinta ši paslauga"
 
@@ -4139,18 +4139,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Netinkamas reguliarusis reiškinys „%s“"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "%s reikalauja autentifikacijos"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4179,6 +4181,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Laikmena nebuvo atidaryta, kai bandyta atlikti veiksmą „%s“."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Rinkmena „%s“ nerasta laikmenoje „%s“"
@@ -4284,6 +4287,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Priėjimas prie „%s“ uždraustas."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Per ilgai jungiamasi prie „%s“."
@@ -4294,6 +4298,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Vieta „%s“ laikinai nepasiekiama."
@@ -4304,18 +4309,18 @@ msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 " SSL liudijimo problema, patikrinkite liudijimų įstaigos tvarkingumą „%s“."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Nepalaikomas HTTP tapatybės nustatymo būdas „%s“"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Pirmiausia įdiekite „lsof“ paketą."
 
@@ -4516,7 +4521,7 @@ msgstr ""
 "  iš\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4530,99 +4535,99 @@ msgstr "nepaisyti kai kurių priklausomybių ir taip sugadinti %s "
 msgid "generally ignore of some dependencies"
 msgstr "apskritai ignoruoti kai kurias priklausomybes"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s nepriklauso platinamojo paketo naujovinimo (distupgrade) saugyklai"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s yra kitos architektūros"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problema su įdiegtu paketu %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "konfliktuojantys reikalavimai"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "kai kurių priklausomybių problema"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "niekas nepateikia reikalaujamo %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Ar įgalinote visas reikiamas saugyklas?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "paketo %s nėra"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "nepalaikoma užklausa"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s pateikia sistema, jo negalima pašalinti"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s neįdiegiamas"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "niekas nepateikia %s, kurio reikalauja %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "negalima įdiegti ir %s, ir %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s konfliktuoja su %s, kurį pateikia %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s pakeičia %s, kurį pateikė %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "įdiegtas %s pakeičia %s, kurį pateikė %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "sprendinys %s konfliktuoja su %s, kurį pats siūlo"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s reikalauja „%s“, bet reikalavimo negalima išpildyti"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "pašalinti galimi pasiūlymai: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4630,106 +4635,106 @@ msgstr ""
 "\n"
 "netinkami įdiegti pasiūlymai: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "netinkami diegimui pasiūlymai: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "nedrausti pašalinti %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "neįdiegti %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "išlaikyti %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "nedrausti įdiegti %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Šis veiksmas sugadins jūsų sistemą!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "nepaisyti perspėjimų apie riziką sugadinti sistemą"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "neprašyti įdiegti sprendinių, kuriuos siūlo %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "neprašyti pašalinti visų sprendinių, kuriuos siūlo %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "neįdiegti pačios naujausios %s versijos"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "išlaikyti %s, nors yra kitos architektūros"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "įdiegti %s, nors yra kitos architektūros"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "išlaikyti pasenusį %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "įdiegti %s iš neįtrauktos saugyklos"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "pasendinti nuo %s iki %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "pakeisti architektūrą iš %s į %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4738,12 +4743,12 @@ msgstr ""
 "įdiegti %s (keičiant gamintoją)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "%s pakeisti į %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "pašalinti %s "
@@ -4760,78 +4765,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Diegimas buvo nutrauktas pagal nurodymą."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " įvykdyta"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " įvykdyti nepavyko"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s jau įvykdytas kaip %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " nutraukiant vykdymas sustabdytas"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Siunčiant atnaujinimo pranešimą įvyko klaida."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Naujas atnaujinimo pranešimas"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM klaida:"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Nepavyko įkelti viešojo rakto %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Nepavyko pašalinti viešojo rakto %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Pakeistos %s konfigūracijos rinkmenos:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm išsaugojo %s kaip %s, bet neįmanoma nustatyti skirtumo"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4841,13 +4846,13 @@ msgstr ""
 "Pateikiamos pirmosios 25 skirtumų eilutės:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm sukūrė %s kaip %s, bet neįmanoma nustatyti skirtumo"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4858,47 +4863,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Papildoma rpm išvestis"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "padaryta %s atsarginė kopija"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Parašas geras"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Nežinomo tipo parašas"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Parašas nepatikrinamas. "
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Parašas geras, bet raktas nepatikimas"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Paašo viešasis raktas neprieinamas"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Nėra rinkmenos arba negalima patikrinti parašo"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4984,6 +4989,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Nepavyksta atverti užrakintos rinkmenos: %s"
 
index 06d3785..744e014 100644 (file)
--- a/po/mk.po
+++ b/po/mk.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2001-07-17 16:12+0200\n"
 "Last-Translator: Зоран Димовски <zoki.dimovski@gmail.com>\n"
 "Language-Team: Macedonian <i18n@suse.de>\n"
@@ -1515,53 +1515,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Couldn't open file: %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -4132,20 +4132,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -4156,7 +4156,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4176,8 +4176,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Couldn't open file: %s."
@@ -4197,31 +4197,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Couldn't open file: %s."
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -4231,44 +4231,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Couldn't open file: %s."
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4392,18 +4392,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4430,6 +4432,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4532,6 +4535,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4542,6 +4546,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4551,18 +4556,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4714,7 +4719,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4728,216 +4733,216 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr ""
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr ""
@@ -4954,15 +4959,15 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4970,63 +4975,63 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5034,13 +5039,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5049,47 +5054,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -5175,6 +5180,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Couldn't open file: %s."
index 090c667..a568d6d 100644 (file)
--- a/po/mr.po
+++ b/po/mr.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Check hardware-2.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2006-11-13 12:55+0530\n"
 "Last-Translator: Priyavert Sharma <priyavert.sharma@agreeya.com>\n"
 "Language-Team: AgreeYa Solutions <linux_team@agreeya.com>\n"
@@ -1292,53 +1292,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "फाईल उघडता येत नाही %1."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "फाईल उघडता येत नाही %1."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "%s आढळत नाही."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "%s आढळत नाही."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr " कनेक्ट करतांना आदेश वापरला "
@@ -3766,20 +3766,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3790,7 +3790,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3812,8 +3812,8 @@ msgid "Service alias cannot start with dot."
 msgstr " VM चे नाव आकड्याने सुरू होता कामा नये. "
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "फाईलरायटिंगसाठी उघडू शकत नाही."
@@ -3833,32 +3833,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr " डेस्कटॉप आयटेम'%s' उघडू शकत नाही"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "डिरेक्टर %1: %2 निर्माण करता आली नाही."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3868,44 +3868,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "फ्लॉपी डिस्कवरुन एरर वाचत आहे."
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "पाठवल्याच्या फाईलचे अवैध नांव"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "रिसोर्सेस जतन करत आहे"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr " डेस्कटॉप आयटेम'%s' उघडू शकत नाही"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4030,18 +4030,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "अवैध Url स्कीम %s"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4068,6 +4070,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "भांडारात फाईल %1 आढळली नाही"
@@ -4171,6 +4174,7 @@ msgid "Permission to access '%s' denied."
 msgstr "परवानगी नाकारली"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4181,6 +4185,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4190,18 +4195,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4357,7 +4362,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "फाईल निर्माण करु शकत नाही"
@@ -4373,222 +4378,222 @@ msgstr "या गरजेकडे येथेच दुर्लक्ष 
 msgid "generally ignore of some dependencies"
 msgstr "या गरजेकडे येथेच दुर्लक्ष करा"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s %s पुरवते, परंतु त्याचे दुसरे स्थापत्य आहे."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "पॅकेजेस अस्थापित करण्याचा आदेश"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "यांच्याशी कनेक्शनची रिक्वेस्ट :"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "अवलंबून असण्याच्या (डिपेन्डन्सी) समस्येमुळे %s स्थापित करु शकत नाही"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "कोणतीही गोष्ट %s पुरवत नाही"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "डिस्क अस्तित्वात नाही"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s ला कुलुप आहे व अस्थापित होऊ शकत नाही"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "स्थापित नसलेली"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s ला %s ची गरज आहे"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s स्थापित करु शकत नाही"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s चे %s शी पटत नाही"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s %s ला बाजूला टाकते"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s %s ला बाजूला टाकते"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s चे %s शी पटत नाही"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "कोणतीही गोष्ट %s पुरवत नाही"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "%s चे स्थापित करता येण्याजोगे प्रदाता नाहीत"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "%s चे स्थापित करता येण्याजोगे प्रदाता नाहीत"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s स्थापित करु नका"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s ठेवा"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "%s स्थापित करु नका"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "विनंती आधीपासूनच आहे."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "%s चे स्थापित करता येण्याजोगे प्रदाता नाहीत"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "संबंधित रिझॉल्व्हेबल्स स्थापित किंवा पुसून टाकू नका"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s %s पुरवते, परंतु त्याचे दुसरे स्थापत्य आहे."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "%s स्थापित करा, जरी ते स्थापत्य बदलत असेल"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s %s ला बाजूला टाकते"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "% वरून % डाऊनलोड करत आहे"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "स्थापना (इन्स्टॉलेशन)"
@@ -4605,16 +4610,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "निर्देशानुसार स्थापना मधेच सोडली"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "अमलात आणा"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4622,65 +4627,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "की च्या सांकेतिकीकरणादरम्यान चूक आली"
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "अयशस्वी"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s साठी बदललेल्या आकृतीबंध फाईल्स"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm ने %s हे %s म्हणन जतन केले, परंतु फरक सांगणे अशक्य"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4688,13 +4693,13 @@ msgid ""
 msgstr "rpm ने %s हे %s म्हणून जतन केले/nफरकाच्या या पहिल्या 25 ओळी\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm ने %s  हे %s म्हणून जतन केले फरकाच्या या पहिल्या"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4703,51 +4708,51 @@ msgstr "rpm ने %s हे %s म्हणून जतन केले/nफ
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "अतिरिक्त rpm आऊटपुट"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "बॅकअप %s  निर्माण केले"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "नोंद आढळली नाही"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "नोंद आढळली नाही"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "नोंद आढळली नाही"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4833,6 +4838,20 @@ msgstr "अवैध पॅरामीटर मॅप स्प्लिट 
 msgid "Invalid parameter array join separator character"
 msgstr "अवैध पॅरामीटर अरे जॉईन सेपरेटर कॅरॅक्टर "
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "फाईल उघडता येत नाही %1."
index 02b7bf6..c0fc439 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -12,16 +12,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2013-10-04 20:05+0200\n"
-"Last-Translator: Olav Pettershagen <olpetter@bbnett.no>\n"
-"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-15 11:48+0000\n"
+"Last-Translator: Alexander Johansen <alej0hio2007@gmail.com>\n"
+"Language-Team: Norwegian Bokmål <https://l10n.opensuse.org/projects/libzypp/"
+"master/nb/>\n"
 "Language: nb\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: Lokalize 1.5\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.6.1\n"
 
 #. dubious: Throw on malformed known types, otherwise log a warning.
 #: zypp/CheckSum.cc:136
@@ -1390,53 +1391,53 @@ msgstr "Forbedringer"
 msgid "Supplements"
 msgstr "Tillegg"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Kunne ikke åpne pty: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Kan ikke åpne pipe (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Kan ikke kjøre chroot til '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Kan ikke kjøre chdir til «%s» fra chroot «%s» (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Kan ikke kjøre chdir til «%s» (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Kan ikke kjøre '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Kan ikke splitte (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Kommandoen ble avsluttet med status %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Kommandoen ble drept av signalet %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Kommandoen ble avsluttet med en ukjent feil."
 
@@ -3901,20 +3902,20 @@ msgstr[1] "(utløper innen 24 t)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3925,7 +3926,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3945,8 +3946,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Tjenestealiaset kan ikke begynne med punktum."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Kan ikke åpne filen '%s' for å skrive til den."
@@ -3967,31 +3968,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Ingen gyldige metadata funnet på spesifisert(e) nettadresse(r)"
 msgstr[1] "Ingen gyldige metadata funnet på spesifisert(e) nettadresse(r)"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Kan ikke opprette %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Kan ikke opprette katalog for metadatamellomlager."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Bygger pakkebrønnmellomlager '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Kan ikke opprette mellomlager på %s - skrivebeskyttet."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Kunne ikke mellomlagre pakkebrønn (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Pakkebrønntypen er ugyldig"
 
@@ -4001,44 +4002,44 @@ msgstr "Pakkebrønntypen er ugyldig"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Feil under lesing fra '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Ukjent feil ved lesing fra '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Legger til pakkebrønn '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Ugyldig pakkebrønnfilnavn på '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Fjerner pakkebrønnen '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Finner ikke ut hvor pakkebrønnen er lagret."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Kan ikke slette '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Finner ikke ut hvor tjenesten er lagret."
 
@@ -4174,18 +4175,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Ugyldig regulært uttrykk '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Autentisering kreves for '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4214,6 +4217,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Mediet ble ikke åpnet da handlingen ble forsøkt utført '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Filen '%s' ikke funnet på medium '%s'"
@@ -4319,6 +4323,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Tilgang til '%s' avvist."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Tidsavbrudd under tilgang '%s'."
@@ -4329,6 +4334,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Plasseringen '%s' er midlertidig utilgjengelig."
@@ -4338,18 +4344,18 @@ msgstr "Plasseringen '%s' er midlertidig utilgjengelig."
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " SSL-sertifikatproblem, bekreft at CA-sertifikat er OK for '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "HTTP-autentiseringsmetode '%s' er ikke støttet"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Installer pakken 'lsof' først."
 
@@ -4504,7 +4510,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Kan ikke opprette sat-pool."
 
@@ -4519,99 +4525,99 @@ msgstr "ignorer noen avhengigheter selv om %s ikke vil fungere"
 msgid "generally ignore of some dependencies"
 msgstr "ignorer generelt noen avhengigheter"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s tilhører ikke en pakkebrønn for distribusjonsoppgradering"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s har foreldet arkitektur"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problem med den installerte pakken %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "kommandokonflikter"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "en konflikt"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "ingenting inneholder den nødvendige %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Har du aktivert alle nødvendige pakkebrønner?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "pakken %s finnes ikke"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "forespørselen støttes ikke"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s er beskyttet av systemet, og kan ikke slettes."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s kan ikke installeres"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "ingenting inneholder %s som kreves av %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "kan ikke installere både %s og %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s er i konflikt med %s fra %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s foreldede pakker %s fra %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "installert %s foreldede %s fra %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "løsningen %s er i konflikt med %s som den selv inneholder"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s krever %s, men denne nødvendige filen finnes ikke"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "slettede leverandører: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4619,106 +4625,106 @@ msgstr ""
 "\n"
 "uinstallerbare nødvendige pakker: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "uinstallerbare nødvendige pakker: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "Ikke installer %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "behold %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "ikke forby installasjon av %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Denne kommandoen vil skade systemet!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignorer advarsel om skadet system"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "ikke be om å installere en nødvendig pakke som gir %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "ikke be om å slette alle nødvendige pakker som gir %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "ikke installer nyeste versjon av %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "behold %s selv om arkitekturen er feil"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "installer %s selv om arkitekturen ikke er riktig"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "behold den foreldede pakken %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "installer %s fra deaktivert pakkebrønn"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "nedgradering av %s til %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "Arkitekturendring fra %s til %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4727,12 +4733,12 @@ msgstr ""
 "installer %s (med produsentendring)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "%s erstattes av %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "avinstallasjon av %s"
@@ -4749,78 +4755,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Installasjonen er avbrutt som angitt."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " kjørt"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " kjøring mislyktes"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s allerede kjørt som %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " kjøring ikke utført under avbrudd"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Feil ved sending av melding om oppdatering."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Melding om ny oppdatering"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM mislyktes: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Kunne ikke importere offentlig nøkkel %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Kunne ikke fjerne offentlig nøkkel %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Endrede konfigurasjonsfiler for %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm lagret %s som %s, men det var umulig å finne noen forskjell"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4830,13 +4836,13 @@ msgstr ""
 "Her er de 25 første avvikende linjene:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm opprettet %s som %s, men det var umulig å finne noen forskjell"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4847,52 +4853,52 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Flere rpm-resultater"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "opprettet sikkerhetskopi %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "Signaturfilen %s ikke funnet"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "Signaturfilen %s ikke funnet"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "Signaturfilen %s ikke funnet"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
-msgstr ""
+msgstr "Fil er usignert"
 
 #: zypp/url/UrlBase.cc:154
 #, c-format, boost-format
@@ -4976,6 +4982,20 @@ msgstr "Ugyldig skilletegn for deling av parametertilordning"
 msgid "Invalid parameter array join separator character"
 msgstr "Ugyldig skilletegn for sammenføyning av parametermatrise"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Kan ikke åpne låsefil: %s"
 
index 135cdea..6c59913 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -15,8 +15,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.nl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2019-12-06 14:54+0000\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-19 00:48+0000\n"
 "Last-Translator: Freek de Kruijf <freek@opensuse.org>\n"
 "Language-Team: Dutch <https://l10n.opensuse.org/projects/libzypp/master/nl/>"
 "\n"
@@ -1304,53 +1304,53 @@ msgstr "Verbetert"
 msgid "Supplements"
 msgstr "Vult aan"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Kan pty (%s) niet openen."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Kan pipe (%s) niet openen."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Kan geen chroot doen naar '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Kan geen chdir naar '%s' doen binnen chroot '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Kan geen chdir doen naar '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Kan '%s' niet uitvoeren (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Kan geen fork (%s) uitvoeren."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Opdracht beëindigd met status %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Opdracht is gestopt door signaal %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Opdracht beëindigd met onbekende fout."
 
@@ -3777,20 +3777,20 @@ msgstr[1] "(verloopt binnen %d dagen)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Zoeken naar gpg-sleutel-ID %1% in cache %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Zoeken naar gpg-sleutel-ID %1% in opslagruimte %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Opslagruimte %1% definieert geen extra URL's met 'gpgkey='."
@@ -3801,7 +3801,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Kan map '%1%' van opslagruimte niet lezen: Toegang geweigerd"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3821,8 +3821,8 @@ msgid "Service alias cannot start with dot."
 msgstr "De alias van een service mag niet met een punt (.) beginnen."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Kan bestand '%s' niet openen voor schrijven."
@@ -3842,31 +3842,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Geen geldige metagegevens op de gespecificeerde URL gevonden"
 msgstr[1] "Geen geldige metagegevens op de gespecificeerde URL's gevonden"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Kan %s niet aanmaken"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Kan map voor metadata-cache niet aanmaken."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Cache van opslagruimte '%s' wordt gebouwd"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Kan cache in %s niet aanmaken - geen toegangsrechten."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Kan opslagruimte (%d) niet opslaan in de cache."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Niet behandeld type opslagruimte"
 
@@ -3876,44 +3876,44 @@ msgstr "Niet behandeld type opslagruimte"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Fout bij het lezen van '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Onbekende fout bij lezen van '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Opslagruimte '%s' wordt toegevoegd"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Ongeldige naam van opslagruimtebestand bij '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Opslagruimte '%s' wordt verwijderd"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Kan niet achterhalen waar opslagruimte is opgeslagen."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Kan '%s' niet verwijderen"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Kan er niet achter komen waar de service is opgeslagen."
 
@@ -4052,12 +4052,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Ongeldige reguliere expressie '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Authenticatie vereist voor '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4065,7 +4066,8 @@ msgstr ""
 "Het SUSE Customer Center bezoeken om te controleren of uw registratie geldig "
 "is en niet is verlopen."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4094,6 +4096,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Medium kan niet worden geopend wanneer '%s' wordt uitgevoerd."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Bestand '%s' niet gevonden op medium '%s'"
@@ -4199,6 +4202,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Toegang tot '%s' geweigerd."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Time-out overschreden bij toegang tot '%s'."
@@ -4210,6 +4214,7 @@ msgstr ""
 "Gedownloade gegevens overtreffen de verwachte bestandsgrootte '%s' van '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Locatie '%s' is tijdelijk niet toegankelijk."
@@ -4219,7 +4224,7 @@ msgstr "Locatie '%s' is tijdelijk niet toegankelijk."
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " SSL-certificaatprobleem, controleer of de CA-cert OK is voor '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4227,12 +4232,12 @@ msgstr ""
 "Aanknooppunt aanmaken: Kan geen beschrijfbare map vinden om een aanknooppunt "
 "aan te maken"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Niet-ondersteunde HTTP-authenticatiemethode '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Eerst pakket 'lsof' installeren."
 
@@ -4433,7 +4438,7 @@ msgstr ""
 "  van de installatie van\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Kan sat-pool niet maken."
 
@@ -4447,99 +4452,99 @@ msgstr "%s afbreken door enige van zijn afhankelijkheden te negeren"
 msgid "generally ignore of some dependencies"
 msgstr "negeer normaliter enige afhankelijkheden"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s behoort niet tot een opslagruimte voor distributie-upgrade"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s heeft een slechtere architectuur"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "probleem met geïnstalleerd pakket %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "conflicterende verzoeken"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "een afhankelijkheidsprobleem"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "Niets levert het gevraagde %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Hebt u alle vereiste opslagruimtes ingeschakeld?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "pakket %s bestaat niet"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "niet-ondersteund verzoek"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s wordt door het systeem geleverd en kan niet gewist worden"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s is niet geïnstalleerd"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "niets levert %s nodig door %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "kan %s en %s niet beide installeren"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s is in conflict met %s die geleverd is door %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s maakt %s verouderd en is geleverd door %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "geïnstalleerd %s maakt %s verouderd en is geleverd door %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "oplosser %s is in conflict met %s die geleverd is door zichzelf"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s vereist %s, maar aan deze eis kan niet voldaan worden"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "verwijderde providers: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4547,106 +4552,106 @@ msgstr ""
 "\n"
 "niet-installeerbare providers: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "niet-installeerbare providers: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "verwijder de vergrendeling om de verwijdering van %s toe te staan"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s niet installeren"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s behouden"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "verwijder de vergrendeling om de installatie van %s toe te staan"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Dit verzoek zal het systeem laten crashen."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "sla geen acht op de waarschuwing voor een gebroken systeem"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "vraag niet om een oplossingspakket die %s levert te installeren"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "vraag niet om alle oplossingspakketten die %s leveren te verwijderen"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "installeer de meest recente versie van %s niet"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s behouden ondanks de slechtere architectuur"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "%s installeren ondanks de slechtere architectuur"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "verouderde %s handhaven"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "%s installeren uit een uitgesloten opslagruimte"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "%1% installeren hoewel het is ingetrokken"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "toestaan de PTF %1% te installeren"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "%1% installeren hoewel het op de zwarte lijst staat"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "downgrade %s tot %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "architectuurverandering van %s naar %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4655,12 +4660,12 @@ msgstr ""
 "%s installeren (met wijziging van leverancier)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "vervanging van %s door %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "verwijderen van %s"
@@ -4677,72 +4682,72 @@ msgstr "%%posttrans script '%1%' wordt uitgevoerd"
 msgid "Executing %posttrans scripts"
 msgstr "%posttrans scripts zijn uitgevoerd"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Installatie is afgebroken volgens de instructies."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " uitgevoerd"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " uitvoeren is mislukt"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s is al uitgevoerd als %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " uitvoeren is overgeslagen tijdens afbreken"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Fout bij het zenden van een melding over een bijwerkbericht."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Bericht over een nieuw element voor bijwerken"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM is mislukt: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Importeren van publieke sleutel %1% is mislukt"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Verwijderen van publieke sleutel %1% is mislukt"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Pakket is niet ondertekend!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Configuratiebestanden gewijzigd voor %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -4750,7 +4755,7 @@ msgstr ""
 "te bepalen"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4760,7 +4765,7 @@ msgstr ""
 "Dit zijn de eerste 25 regels die verschillend zijn:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
@@ -4768,7 +4773,7 @@ msgstr ""
 "achterhalen"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4780,47 +4785,47 @@ msgstr ""
 # /usr/lib/YaST2/clients/lan_inetd_custom.ycp:162
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Aanvullende rpm-uitvoer"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "reservekopie %s aangemaakt"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Ondertekening is OK"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Onbekend type ondertekening"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Ondertekening klopt niet"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Ondertekening is OK, maar sleutel kan niet worden vertrouwd"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Handtekeningen van publieke sleutel zijn niet beschikbaar"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Bestand bestaat niet of ondertekening kan niet gecontroleerd worden"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Bestand heeft geen ondertekening"
 
@@ -4906,6 +4911,24 @@ msgstr "Ongeldig scheidingsteken voor splitsen parametertoewijzing"
 msgid "Invalid parameter array join separator character"
 msgstr "Ongeldig scheidingsteken voor samenvoegen parametermatrix"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Fout bij download (curl) voor '%s':\n"
+"Foutcode: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Fout bij downloaden (curl) voor '%s':\n"
+"Kan HTTP-respons niet ophalen\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Kan het blokkeringsbestand niet openen: %s"
 
index aad78fc..ae75825 100644 (file)
--- a/po/nn.po
+++ b/po/nn.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: @PACKAGE@\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2018-03-09 22:04+0000\n"
 "Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
 "Language-Team: Norwegian Nynorsk <https://l10n.opensuse.org/projects/libzypp/"
@@ -1292,53 +1292,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr ""
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -3761,20 +3761,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3785,7 +3785,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3805,8 +3805,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr ""
@@ -3826,31 +3826,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr ""
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Byggjer mellomlager for pakkebrønnen «%s»"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr ""
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3860,44 +3860,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Fjernar pakkebrønnen «%s»"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4021,18 +4021,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4059,6 +4061,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Fann ikkje fila «%s» på mediet «%s»"
@@ -4161,6 +4164,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4171,6 +4175,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4180,18 +4185,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Installer pakken «lsof» først."
 
@@ -4390,7 +4395,7 @@ msgstr ""
 "  frå installeringa av\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4404,216 +4409,216 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr ""
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s er i konflikt med %s frå %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "løysbare %s konfliktar med %s tilgjengeleg frå seg sjølv"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Denne kommandoen vil skada systemet!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr ""
@@ -4630,78 +4635,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr ""
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Melding om ny oppdatering"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4709,13 +4714,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4724,47 +4729,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4850,5 +4855,19 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Hal Exception"
 #~ msgstr "Hal-unntak"
index 09e7de9..856cd63 100644 (file)
--- a/po/pa.po
+++ b/po/pa.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.pa\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2007-08-23 19:28+0530\n"
 "Last-Translator: A S Alam <aalam@users.sf.net>\n"
 "Language-Team: Panjabi <punjabi-l10n@lists.sf.net>\n"
@@ -1299,53 +1299,53 @@ msgstr "ਇੰਹੈਂਸ"
 msgid "Supplements"
 msgstr "ਸਪਲੀਮੈਂਟ"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "ਫਾਇਲ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "ਫਾਇਲ %1 ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ।"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr ""
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "%s ਨਹੀਂ ਲੱਭਿਆ।"
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "ਕੁਨੈਕਟ ਕਰਨ ਦੌਰਾਨ ਚੱਲਦੀ ਕਮਾਂਡ"
@@ -3772,20 +3772,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3796,7 +3796,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3818,8 +3818,8 @@ msgid "Service alias cannot start with dot."
 msgstr "VM ਦਾ ਨਾਂ ਇੱਕ ਅੰਕ ਨਾਲ ਸ਼ੁਰੂ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ।"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "ਲਿਖਣ ਲਈ ਫਾਇਲ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ।"
@@ -3840,32 +3840,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "بيانات التعريف غير صحيحة لم يتم العثور عليها في المسار(s)"
 msgstr[1] "بيانات التعريف غير صحيحة لم يتم العثور عليها في المسار(s)"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "%s ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ: %m\n"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "%1 ਡਾਇਰੈਕਟਰੀ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ: %2"
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ '%s' ਕੈਚੇ ਬਿਲਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਫੇਲ੍ਹ: %s।"
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 #, fuzzy
 msgid "Unhandled repository type"
 msgstr "%s ਰਿਪੋਜ਼ਟਰੀ ਲਈ ਅੱਪਲੋਡ ਕੀਤਾ।"
@@ -3876,44 +3876,44 @@ msgstr "%s ਰਿਪੋਜ਼ਟਰੀ ਲਈ ਅੱਪਲੋਡ ਕੀਤਾ।
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, fuzzy, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ '%s' ਤੋਂ ਮੇਟਾ-ਡਾਟਾ ਪਾਰਸਿੰਗ ਦੌਰਾਨ ਗਲਤੀ:"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "ਅਣਜਾਣ ਕਮਾਂਡ '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ '%s' ਸ਼ਾਮਲ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "ਗਲਤ ਐਕਸਪੋਰਟ ਫਾਇਲ ਨਾਂ ਹੈ।"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ '%s' ਹਟਾਈ ਜਾ ਰਹੀ ਹੈ।"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "ਡੈਸਕਟਾਪ ਆਈਟਮ '%s' ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4039,18 +4039,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "ਗਲਤ Url ਸਕੀਮ '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "'%s' ਲਈ ਪਰਮਾਣਿਕਤ ਲੋੜੀਦੀ ਹੈ"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4077,6 +4079,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "ਫਾਇਲ %1 ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"
@@ -4182,6 +4185,7 @@ msgid "Permission to access '%s' denied."
 msgstr "ਅਧਿਕਾਰ ਪਾਬੰਦੀ ਹੈ"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4192,6 +4196,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4201,18 +4206,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4363,7 +4368,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "ਫਾਇਲ ਨਹੀਂ ਬਣਾਈ ਜਾ ਸਕਦੀ ਹੈ।"
@@ -4378,222 +4383,222 @@ msgstr "ਆਮ ਤੌਰ ਉੱਤੇ ਇਹ ਲੋੜ ਅਣਡਿੱਠੀ ਕ
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s %s ਦਿੰਦਾ ਹੈ, ਪਰ ਆਰਕੀਟੈਕਚਰ ਹੋਰ ਹੈ।"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "ਸੋਰਸ ਪੈਕੇਜ %s-%s ਇੰਸਟਾਲ ਕਰਨ ਦੌਰਾਨ ਸਮੱਸਿਆ:"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "ਕੁਨੈਕਸ਼ਨ ਮੰਗ:"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "ਨਿਰਭਰਤਾ ਸਮੱਸਿਆਵਾਂ ਕਰਕੇ %s ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "%s ਕੋਈ ਨਹੀਂ ਦਿੰਦਾ ਹੈ"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "ਇੰਸਟਾਲ ਨਹੀਂ ਹਨ"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s %s ਰਾਹੀਂ ਚਾਹੀਦਾ ਹੈ"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s ਦਾ %s ਨਾਲ ਅਪਵਾਦ ਹੈ"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s %s ਰਾਹੀਂ ਚਾਹੀਦਾ ਹੈ"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s %s ਰਾਹੀਂ ਚਾਹੀਦਾ ਹੈ"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s ਦਾ %s ਨਾਲ ਅਪਵਾਦ ਹੈ"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "%s ਕੋਈ ਨਹੀਂ ਦਿੰਦਾ ਹੈ"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "ਉਪਲੱਬਧ ਪਰੋਫਾਇਲ"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s ਨੂੰ ਨਾ ਹਟਾਓ"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%s ਰੱਖੋ"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "ਮੰਗ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ।"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s %s ਦਿੰਦਾ ਹੈ, ਪਰ ਆਰਕੀਟੈਕਚਰ ਹੋਰ ਹੈ।"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s ਹਟਾਓ"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "%s ਨੂੰ %s ਲਈ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
 # %s is either BOOTP or DHCP
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "%s ਦੀ ਇੰਸਟਾਲੇਸ਼ਨ ਫੇਲ੍ਹ ਹੋਈ:"
@@ -4610,17 +4615,17 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "ਇੰਸਟਾਲੇਸ਼ਨ ਹਦਾਇਤਾਂ ਮੁਤਾਬਕ ਅਧੂਰੀ ਛੱਡੀ ਗਈ ਹੈ।"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "ਚਲਾਓ"
 
 # %s is either BOOTP or DHCP
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI ਚਲਾਉਣਾ ਫੇਲ੍ਹ: %s"
@@ -4628,65 +4633,65 @@ msgstr "DBI ਚਲਾਉਣਾ ਫੇਲ੍ਹ: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "ਕੁੰਜੀ ਇੰਕ੍ਰਿਪਸ਼ਨ ਦੌਰਾਨ ਗਲਤੀ ਹੈ।"
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "ਫੇਲ੍ਹ"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s ਲਈ ਸੰਰਚਨਾ ਫਾਇਲਾਂ ਬਦਲੀਆਂ:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4694,13 +4699,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4709,48 +4714,48 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "ਹੋਰ rpm ਆਉਟਪੁੱਟ:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "%s ਦਾ ਬੈਕਅੱਪ ਬਣਿਆ"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4836,6 +4841,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "ਫਾਇਲ %1 ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ।"
index 8094fef..56efe4c 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2019-03-14 18:32+0000\n"
 "Last-Translator: Ewelina Michalowska <ewelina.michalowska@stgambit.com>\n"
 "Language-Team: Polish <https://l10n.opensuse.org/projects/libzypp/master/pl/"
@@ -1294,55 +1294,55 @@ msgstr "Ulepsza"
 msgid "Supplements"
 msgstr "Uzupełnia"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Nie można otworzyć pseudoterminala (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Nie można otworzyć potoku (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Nie można wykonać polecenia chroot dla '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 "Nie można wykonać polecenia chdir dla elementu %s w zmienionym katalogu "
 "głównym chroot %s (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Nie można wykonać polecenia chdir dla elementu '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Nie można wykonać '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Nie można wykonać fork (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Polecenie zakończone statusem %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Polecenie zakończone przez sygnał %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Polecenie zakończone nieznanym błędem."
 
@@ -3766,20 +3766,20 @@ msgstr[2] "(wygasa w ciągu %d dni)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Wyszukiwanie identyfikatora %1% klucza gpg w pamięci podręcznej %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Wyszukiwanie identyfikatora %1% klucza gpg w repozytorium %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Repozytorium %1% nie definiuje dodatkowych adresów URL 'gpgkey='."
@@ -3790,7 +3790,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Nie można odczytać katalogu repozytorium '%1%': odmowa dostępu"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3810,8 +3810,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Alias usługi nie może rozpoczynać się od kropki."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Nie można otworzyć pliku '%s' do zapisu."
@@ -3832,31 +3832,31 @@ msgstr[0] "Pod podanym adresem URL nie znaleziono prawidłowych metadanych"
 msgstr[1] "Pod podanymi adresami URL nie znaleziono prawidłowych metadanych"
 msgstr[2] "Pod podanymi adresami URL nie znaleziono prawidłowych metadanych"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Nie można utworzyć %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Nie można utworzyć katalogu pamięci podręcznej metadanych."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Budowanie pamięci podręcznej repozytorium '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Nie można utworzyć pamięci podręcznej w %s - brak uprawnień do zapisu."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Tworzenie pamięci podręcznej repozytorium nie powiodło się (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Nieobsługiwany typ repozytorium"
 
@@ -3866,44 +3866,44 @@ msgstr "Nieobsługiwany typ repozytorium"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Błąd podczas próby odczytu z '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Nieznany błąd podczas odczytu z '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Dodawanie repozytorium '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nieprawidłowa nazwa pliku repozytorium pod adresem '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Usuwanie repozytorium '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Nie można określić miejsca przechowywania repozytorium."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Nie można usunąć '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Nie można określić, gdzie jest przechowywana usługa."
 
@@ -4041,12 +4041,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Nieprawidłowe wyrażenie regularne '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Wymagane uwierzytelnienie dla '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4054,7 +4055,8 @@ msgstr ""
 "Proszę odwiedzić SUSE Customer Center, aby sprawdzić, czy rejestracja jest "
 "ważna i czy nie wygasła."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4083,6 +4085,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Nieotwarty nośnik podczas próby wykonania akcji '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Pliku '%s' nie znaleziono na nośniku '%s'"
@@ -4188,6 +4191,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Dostęp do '%s' zabroniony."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Przekroczono limit czasu podczas dostępu do '%s'."
@@ -4198,6 +4202,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Pobrane dane przekroczyły oczekiwany rozmiar pliku '%s' z '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Położenie '%s' jest tymczasowo niedostępne."
@@ -4209,7 +4214,7 @@ msgstr ""
 " Problem z certyfikatem SSL; proszę sprawdzić, czy certyfikat CA jest "
 "odpowiedni dla \"%s\"."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4217,12 +4222,12 @@ msgstr ""
 "Tworzenie punktu dołączenia: nie można znaleźć katalogu z możliwością zapisu "
 "w celu utworzenia punktu dołączenia"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Nieobsługiwana metoda uwierzytelniania HTTP: '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Zainstaluj najpierw pakiet 'lsof'."
 
@@ -4423,7 +4428,7 @@ msgstr ""
 "  z instalacji\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Nie można utworzyć sat-pool."
 
@@ -4438,101 +4443,101 @@ msgstr "zainstaluj %s, ignorując niektóre z zależności"
 msgid "generally ignore of some dependencies"
 msgstr "zazwyczaj ignoruje pewne zależności"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s nie należy do repozytorium uaktualniania dystrybucji"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s jest przewidziany dla niższej architektury"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problem z zainstalowanym pakietem %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "sprzeczne żądania"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "problem z kilkoma zależnościami"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "żaden pakiet nie dostarcza żądanego %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Czy włączono wszystkie wymagane repozytoria?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "pakiet %s nie istnieje"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "nieobsługiwane żądanie"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "Element %s jest dostarczany przez system i nie można go usunąć"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s nie można zainstalować"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "żaden pakiet nie dostarcza %s wymaganego przez %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "nie można jednocześnie zainstalować %s i %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s jest w konflikcie z %s dostarczonym przez %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s dezaktualizuje %s, dostarczony przez %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s dezaktualizuje %s, dostarczony przez %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 "Element rozwiązywalny %s jest w konflikcie z %s, dostarczonym przez samego "
 "siebie"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s wymaga %s, lecz nie można spełnić tego wymagania"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "usunięci dostawcy: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4540,110 +4545,110 @@ msgstr ""
 "\n"
 "dostawcy, których nie można zainstalować: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "dostawcy, których nie można zainstalować: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "usuń blokadę, aby umożliwić usunięcie %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "nie instaluj %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "zachowaj %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "usuń blokadę, aby umożliwić instalację %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "To żądanie uszkodzi system!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignoruj ostrzeżenie o uszkodzeniu systemu"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 "nie pytaj o instalację wszystkich elementów rozwiązywalnych, dostarczających "
 "%s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 "nie pytaj o usunięcie wszystkich elementów rozwiązywalnych, dostarczających "
 "%s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "nie instaluj najnowszej wersji %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "zachowaj %s, mimo niższej architektury"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "zainstaluj %s, mimo niższej architektury"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "zachowaj starszą wersję %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "zainstaluj %s z wyłączonego repozytorium"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "przywróć %s do %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "zmiana architektury z %s na %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4652,12 +4657,12 @@ msgstr ""
 "zainstaluj %s (ze zmianą dostawcy)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "zamiana %s na %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "usunięcie %s"
@@ -4674,78 +4679,78 @@ msgstr "Wykonywanie skryptu %%posttrans '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Wykonywanie skryptów %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Instalacja przerwana zgodnie z życzeniem."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " wykonano"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " wykonanie nie powiodło się"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s został już wykonany jako %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " nie wykonano w wyniku przerwania"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Błąd podczas wysyłania powiadomienia o aktualizacji."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nowy komunikat o aktualizacji"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Wystąpił błąd RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Nie udało się zaimportować klucza publicznego z pliku %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Usunięcie klucza publicznego nie powiodło się %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Pakiet nie jest podpisany!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Zmienione pliki konfiguracyjne dla %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm zapisał %s jako %s, ale nie można było określić różnicy"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4755,13 +4760,13 @@ msgstr ""
 "Oto pierwszych 25 linii różnicy:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm utworzył %s jako %s, ale nie można było określić różnicy"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4772,47 +4777,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Dodatkowe wyjście rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "utworzono zapasowy %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Podpis jest OK"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Nieznany rodzaj podpisu"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Nie można sprawdzić podpisu"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Podpis jest OK, ale klucz nie jest zaufany"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Klucz publiczny podpisów nie jest dostępny"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Plik nie istnieje lub nie można sprawdzić podpisu"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Plik jest niepodpisany"
 
@@ -4898,6 +4903,20 @@ msgstr "Nieprawidłowy znak parametru podziału mapy"
 msgid "Invalid parameter array join separator character"
 msgstr "Nieprawidłowy znak parametru połączenia tablicy"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Nie można otworzyć pliku blokady : %s"
 
index 14a4651..6373e24 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.pt\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2008-06-10 16:04+0100\n"
 "Last-Translator: Antonio Cardoso Martins <digiplan.pt@gmail.com>\n"
 "Language-Team: Portuguese <opensuse-pt@opensuse.org>\n"
@@ -1444,53 +1444,53 @@ msgstr "Melhorar"
 msgid "Supplements"
 msgstr "Suplementos"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Não foi possível abrir o pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Não é possível abrir o pipe (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Não é possível fazer chroot para '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr ""
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Não é possível executar '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Não é possível bifurcar (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Comando terminou com estado %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Comando foi morto pelo sinal %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Comando terminou com erro desconhecido."
 
@@ -3993,20 +3993,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -4017,7 +4017,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4039,8 +4039,8 @@ msgid "Service alias cannot start with dot."
 msgstr "O nome da MV não pode iniciar com um dígito."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Não é possível abrir ficheiro para escrita."
@@ -4061,32 +4061,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Não foi encontrada uma metadata válida no(s) URL(s) especificado(s)"
 msgstr[1] "Não foi encontrada uma metadata válida no(s) URL(s) especificado(s)"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Não é possível criar %s: %m\n"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "A limpar a cache dos metadados raw de '%s'."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "A construir a cache do repositório '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Falha na interpretação de %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 #, fuzzy
 msgid "Unhandled repository type"
 msgstr "Repositório activado"
@@ -4097,44 +4097,44 @@ msgstr "Repositório activado"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, fuzzy, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Erro ao interpretar a metadata de '%s':"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Comando '%s' desconhecido"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "A Adicionar repositório '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Ficheiro de exportação inválido."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "A remover o repositório '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Não é possível ejectar o suporte '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4262,18 +4262,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Expressão regular inválida '%s': regcomp devolveu %d"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Autenticação requerida para '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4300,6 +4302,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Ficheiro '%s' não foi encontrado no suporte '%s'"
@@ -4406,6 +4409,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Foi negada a autorização para aceder a '%s'."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, fuzzy, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Tempo limite excedido quando acedia a '%s'."
@@ -4416,6 +4420,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4427,18 +4432,18 @@ msgstr ""
 " problema no certificado SSL, verifique se o certificado de CA é OK para "
 "'%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Método '%s' de autenticação HTTP não suportado"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4591,7 +4596,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Não é possível criar o sat-pool."
 
@@ -4605,100 +4610,100 @@ msgstr "Ignorar de uma forma geral algumas dependências"
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s fornece %s, mas tem outra arquitectura."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problema com o pacote %s instalado"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "pedidos em conflito"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "Não foi possível instalar %s devido a problemas de dependências"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "nada fornece %s solicitado"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s não é instalável"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "nada fornece %s necessário por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "não é possível instalar tanto %s como %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s conflitua com %s fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s torna obsoleto %s fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s torna obsoleto %s fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "Resolúvel %s conflitua com %s fornecido por ele próprio"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s requer %s, mas este requisito não pode ser fornecido"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "fornecedores apagados: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4706,106 +4711,106 @@ msgstr ""
 "\n"
 "fornecedores não instaláveis: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "fornecedores não instaláveis: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "não instalar %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "manter %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "não perguntar para instalar um resolúvel que fornece %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "não perguntar para apagar todos os resolúveis que fornecem %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "não instalar a versão mais recente de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s fornece %s, mas tem outra arquitectura."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "instalar %s apesar de alterar a arquitectura"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s obsoleto %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, fuzzy, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "Repositório activado"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "desactualização de %s para %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "alteração de arquitectura de %s para %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, fuzzy, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4816,12 +4821,12 @@ msgstr ""
 "-->\n"
 "  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "substituição de %s por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "desinstalação de %s"
@@ -4838,16 +4843,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "A instalação foi interrompida conforme indicado."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "Executar"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "Falhou a Execução DBI: %s"
@@ -4855,64 +4860,64 @@ msgstr "Falhou a Execução DBI: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "falha no RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Falha ao importar a chave pública %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Falha ao remover a chave pública %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Ficheiros de configuração modificados para %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 "o rpm %s foi guardado como %s, mas foi impossível determinar a diferença"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4922,13 +4927,13 @@ msgstr ""
 "Tem as primeiras 25 linhas diferentes:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "o rpm %s foi criado como %s, mas foi impossível determinar a diferença"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4939,48 +4944,48 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "Resultado adicional do rpm:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "cópia de segurança %s criada"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -5066,6 +5071,20 @@ msgstr "Parâmetro do caracter do separador de divisão do mapa inválido"
 msgid "Invalid parameter array join separator character"
 msgstr "Parâmetro do caracter do separador de junção da lista inválido"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Não é possível abrir ficheiro de bloqueio: %s"
 
index aaa2661..c3d00fc 100644 (file)
@@ -13,9 +13,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2019-12-05 20:54+0000\n"
-"Last-Translator: Rodrigo Macedo <rmsolucoeseminformatic4@gmail.com>\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-23 00:48+0000\n"
+"Last-Translator: Luiz Fernando Ranghetti <elchevive68@gmail.com>\n"
 "Language-Team: Portuguese (Brazil) <https://l10n.opensuse.org/projects/"
 "libzypp/master/pt_BR/>\n"
 "Language: pt_BR\n"
@@ -1302,53 +1302,53 @@ msgstr "Aprimora"
 msgid "Supplements"
 msgstr "Complementa"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Não foi possível abrir o pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Não foi possível abrir o pipe (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Não foi possível executar o chroot em '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Não foi possível executar chdir para '%s' dentro do chroot '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Não foi possível executar chdir para '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Não foi possível executar '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Não foi possível dividir (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "O comando encerrou com status %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Comando eliminado pelo sinal %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "O comando encerrou com erro desconhecido."
 
@@ -3773,20 +3773,20 @@ msgstr[1] "(expira em %d dias)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Procurando por ID da chave gpg 1% no cache %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Procurando por ID da chave gpg %1% no repositório %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Repositório 1% não define URLs 'gpgkey' adicionais."
@@ -3798,7 +3798,7 @@ msgstr ""
 "Não foi possível ler o diretório de repositório '%1%': Permissão negada"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3818,8 +3818,8 @@ msgid "Service alias cannot start with dot."
 msgstr "O apelido do serviço não pode começar com ponto."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Não foi possível abrir o arquivo '%s' para gravação."
@@ -3840,31 +3840,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Metadados válidos não encontrados na URL especificada"
 msgstr[1] "Metadados válidos não encontrados nas URLs especificadas"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Não foi possível criar %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Não foi possível criar o diretório do cache de metadados."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Construindo o cache do repositório '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Não foi possível criar o cache em %s - sem permissão de gravação."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Falha ao armazenar .repo (%d) em cache."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Tipo de repositório não identificado"
 
@@ -3874,44 +3874,44 @@ msgstr "Tipo de repositório não identificado"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Erro ao tentar ler de '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Erro desconhecido ao ler de '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Adicionando o repositório '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nome de arquivo de repositório inválido em '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Removendo o repositório '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Não foi possível descobrir onde o repositório está armazenado."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Não foi possível remover '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Não foi possível descobrir onde o serviço está armazenado."
 
@@ -4049,12 +4049,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Expressão regular inválida '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Autenticação necessária para '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4062,7 +4063,8 @@ msgstr ""
 "Visite o SUSE Customer Center para verificar se seu registro é válido e não "
 "expirou."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4091,6 +4093,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Mídia não aberta ao tentar realizar a ação '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Arquivo '%s' não encontrado na mídia '%s'"
@@ -4196,6 +4199,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Permissão para acessar '%s' negada."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Tempo de espera excedido ao acessar '%s'."
@@ -4208,6 +4212,7 @@ msgstr ""
 "'%s' of '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "O local '%s' está temporariamente inacessível."
@@ -4219,7 +4224,7 @@ msgstr ""
 " Problema no certificado SSL. Verifique se o certificado CA está correto "
 "para '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4227,12 +4232,12 @@ msgstr ""
 "Criar ponto para anexar: Não foi possível localizar um diretório gravável "
 "para criar um ponto de anexar"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Método de autenticação HTTP '%s' não suportado"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Instale o pacote ''lsof'' primeiro."
 
@@ -4433,7 +4438,7 @@ msgstr ""
 "  da instalação de\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Não foi possível criar o sat-pool."
 
@@ -4447,99 +4452,99 @@ msgstr "quebrar %s ao ignorar algumas das dependências"
 msgid "generally ignore of some dependencies"
 msgstr "geralmente ignorar algumas dependências"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s não pertence a um repositório de atualização da distribuição"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s tem uma arquitetura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problema com o pacote instalado %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "solicitações conflitantes"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "algum problema de dependência"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "nada fornece o pacote solicitado %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Você habilitou todos os repositórios solicitados?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "o pacote %s não existe"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "solicitação não suportada"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s é fornecido pelo sistema e não pode ser apagado"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s não pode ser instalado"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "nada fornece %s que é necessário a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Não foi possível instalar ambos (%s e %s)"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s conflita com %s, fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s torna obsoleto %s, fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s instalado torna obsoleto %s fornecido por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "resolvível %s conflita com %s fornecido por ele mesmo"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s requer %s, mas este requisito não pode ser fornecido"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "fornecedores removidos: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4547,106 +4552,106 @@ msgstr ""
 "\n"
 "fornecedores não instaláveis: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "fornecedores não instaláveis: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "remover bloqueio para permitir a remoção de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "não instalar %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "manter %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "remover bloqueio para permitir a instalação de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Esta solicitação travará o seu sistema!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "igorar o aviso de um sistema travado"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "não perguntar ao instalar um resolvível que fornece %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "não perguntar ao remover todos os resolvíveis que fornecem %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "não instalar a versão mais recente de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "manter %s apesar da arquitetura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "instalar %s apesar da arquitetura inferior"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "manter o obsoleto %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "instalar %s do repositório excluído"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "instale %1% apesar de ter sido recolhido"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "permitir instalar o PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "instale %1%, embora esteja na lista negra"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "desatualização de %s para %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "alteração de arquitetura de %s para %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4655,12 +4660,12 @@ msgstr ""
 "instalar %s (com alteração do fornecedor)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "substituição de %s por %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "desinstalação de %s"
@@ -4677,78 +4682,78 @@ msgstr "Executando o script %%posttrans '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Executando scripts %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "A instalação foi cancelada conforme instruções."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " executado"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " falha na execução"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s já executado como %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " execução ignorada durante o cancelamento"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Erro ao enviar a notificação de mensagem de atualização."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nova mensagem de atualização"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Falha no RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Falha ao importar chave pública %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Falha ao remover chave pública %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "O pacote não está assinado!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Arquivos de configuração alterados para %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "o RPM salvou %s como %s, mas não foi possível determinar a diferença"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4758,13 +4763,13 @@ msgstr ""
 "Aqui estão as 25 primeiras linhas de diferença:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "o rpm criou %s como %s, mas não foi possível determinar a diferença"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4775,47 +4780,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Saída adicional do rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "backup %s criado"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "A assinatura está OK"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Tipo de assinatura desconhecido"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Assinatura não verificada"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "A assinatura está OK, mas a chave não é confiável"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Chave pública das assinaturas não disponível"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "O arquivo não existe ou a assinatura não pode ser verificada"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "O arquivo não está assinado"
 
@@ -4901,6 +4906,24 @@ msgstr "Caractere separador de divisão de mapa de parâmetros inválido"
 msgid "Invalid parameter array join separator character"
 msgstr "Caractere separador de integração de matriz de parâmetros inválido"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Erro de download (curl) para '%s':\n"
+"Código do erro: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Erro de download (curl) para '%s':\n"
+"Não foi possível obter a resposta HTTP\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Não foi possível abrir o arquivo de bloqueio: %s"
 
index e8d8569..dd48e38 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -24,7 +24,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: OpenSUSE\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2012-11-19 14:59+0200\n"
 "Last-Translator: Lucian Oprea <oprea.luci@gmail.com>\n"
 "Language-Team: Romanian <LL@li.org>\n"
@@ -1312,53 +1312,53 @@ msgstr "Îmbunătățește"
 msgid "Supplements"
 msgstr "Suplimentează"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Nu pot deschide pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Nu pot deschide pipe-ul (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Nu se poate face chroot la '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Nu pot efectua chdir spre '/' în chroot (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Nu se poate face chroot la '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Nu pot executa '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Nu pot crea un proces nou (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Comandă finalizată cu starea %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Comanda a fost oprită de semnalul %d(%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Comandă finalizată cu eroare necunoscută."
 
@@ -3784,20 +3784,20 @@ msgstr[2] "(expiră în 24h)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3808,7 +3808,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3828,8 +3828,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Aliasul serviciului nu poate începe cu punct."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Nu se poate deschide fișierul '%s' pentru scriere."
@@ -3851,31 +3851,31 @@ msgstr[0] "La URL-ul (URL-urile) specificate nu au fost găsite metadate valide"
 msgstr[1] "La URL-ul (URL-urile) specificate nu au fost găsite metadate valide"
 msgstr[2] "La URL-ul (URL-urile) specificate nu au fost găsite metadate valide"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Nu se poate crea %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Nu se poate crea directorul pentru cache-ul de metadate."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Construirea cache-ului sursei de instalare '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Nu se poate crea memoria cache la %s - lipsește dreptul de scriere."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Sursa de instalare (%d) nu a putut fi încărcată în cache."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Tip de sursă de instalare netratat"
 
@@ -3885,44 +3885,44 @@ msgstr "Tip de sursă de instalare netratat"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Eroare la încercarea de a citi din '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Eroare necunoscută la citirea de la '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Adaug sursa de instalare '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nume de fișier sursă de instalare invalid la '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Îndepărtez sursa de instalare '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Nu pot determina unde este stocată sursa de instalare."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Nu pot șterge '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Nu pot determina unde este stocat serviciul."
 
@@ -4059,18 +4059,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Expresie regulată invalidă '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Pentru '%s' este necesară autentificarea"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4100,6 +4102,7 @@ msgstr ""
 "Mediul nu a fost deschis în timp ce se încerca efectuarea acțiunii '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Fișierul '%s' nu a fost găsit pe mediul '%s'"
@@ -4206,6 +4209,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Accesul la '%s' a fost interzis."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Timp depășit în timpul accesării '%s'."
@@ -4216,6 +4220,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Locația '%s' este temporar inaccesibilă."
@@ -4227,18 +4232,18 @@ msgstr ""
 "Problemă de certificat SSL, verificați dacă certificatul autorității de "
 "certificare este OK pentru '%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Metodă de autentificare HTTP nesuportată '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 #, fuzzy
 msgid "Please install package 'lsof' first."
 msgstr "Curăț cache-ul pachetelor instalate."
@@ -4397,7 +4402,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Nu pot crea sat-pool."
 
@@ -4412,100 +4417,100 @@ msgstr "întrerupe pachetul %s ignorând o parte din dependențele lui"
 msgid "generally ignore of some dependencies"
 msgstr "în general se ignoră unele dependințe"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s nu aparține de o sursă de instalare de actualizare distribuție"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s are arhitectură inferioară"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problemă cu pachetul instalat %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "cereri ce intră în conflict"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "o problemă de dependențe"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "nimic nu oferă %s necesar"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Ați activat toate sursele cerute?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "nu există backup"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 #, fuzzy
 msgid "unsupported request"
 msgstr "nesuportat"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s este blocat şi nu poate fi deinstalat."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s nu este instalabil"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "Nimic nu oferă %s necesar pentru %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "nu pot instala %s și %s împreună"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s intră în conflict cu %s pus la dispoziție de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s înlocuiește %s oferit de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "versiuni vechi %s instalate %s furnizate de %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "dependența %s intră în conflict cu %s furnizat de ea însăși"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s necesită %s, dar această cerință nu este îndeplinită"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "pachete șterse: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4513,106 +4518,106 @@ msgstr ""
 "\n"
 "pachete care pot fi dezinstalate: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "furnizori dezinstalabili: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "nu instala %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "păstrează %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "nu interzice instalarea %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Această cerere vă va afecta sistemul!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignoră avertismentul privitor la stricarea sistemului"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "nu cere instalarea unui pachet ce oferă %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "nu cere stergerea tuturor pachetelor ce oferă %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "nu instala cea mai recentă versiune a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "păstrează %s chiar dacă arhitectura este inferioară"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "instalează %s chiar dacă arhitectura este inferioară"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "păstrează pachetul vechi %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "instalează %s de la o sursă de instalare exclusă"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "downgrade %s la %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "modificare de arhitectură a %s în %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4623,12 +4628,12 @@ msgstr ""
 "-->\n"
 " %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "înlocuirea %s cu %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "deinstalarea %s"
@@ -4645,78 +4650,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Instalarea a fost anulată la cerere."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " executat"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " execuție eșuată"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, fuzzy, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%1 este deja decriptat!"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " execuție sărită în timpul anulării"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Eroare trimitere notificare mesaj de actualizare."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nou mesaj de actualizare"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM a eșuat:"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Importul cheii publice %1% a eșuat"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Îndepărtarea cheii publice %1% a eșuat"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Fișiere de configurare modificate pentru %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm a salvat %s ca %s, dar nu a putut determina diferențele"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4726,13 +4731,13 @@ msgstr ""
 "Acestea sunt primele 25 de linii diferite:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm a creat %s ca %s, dar nu a putut determina diferențele"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4743,50 +4748,50 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Ieșire rpm suplimentară"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "backup %s creat"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "Fișierul semnătură %s nu a fost găsit"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "Fișierul semnătură %s nu a fost găsit"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "Fișierul semnătură %s nu a fost găsit"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4872,6 +4877,20 @@ msgstr "Parametru de hartă invalid pentru separarea caracterelor"
 msgid "Invalid parameter array join separator character"
 msgstr "Parametru invalid caracter de separare uniune matrici"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Nu pot deschide fișierul zăvor: %s"
 
index 36cffff..87ebe81 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.ru\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2020-02-05 16:54+0000\n"
 "Last-Translator: Alex Minton <alex239@gmail.com>\n"
 "Language-Team: Russian <https://l10n.opensuse.org/projects/libzypp/master/ru/"
@@ -22,8 +22,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
-"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 3.6.1\n"
 
 #. dubious: Throw on malformed known types, otherwise log a warning.
@@ -1300,53 +1300,53 @@ msgstr "Улучшает"
 msgid "Supplements"
 msgstr "Дополняет"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Невозможно открыть псевдотерминал (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Невозможно открыть канал (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Невозможно выполнить chroot в \"%s\" (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Невозможно сменить каталог на \"%s\" внутри среды chroot \"%s\" (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Невозможно сменить каталог на \"%s\" (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Невозможно выполнить exec \"%s\" (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Невозможно выполнить fork (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Команда завершилась с кодом %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Команда была прекращена сигналом %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Команда завершилась с неизвестной ошибкой."
 
@@ -3770,20 +3770,20 @@ msgstr[2] "(истекает через %d дней)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Поиск ID gpg-ключа %1% в кэше %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Поиск ID gpg-ключа %1% в репозитории %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Репозиторий %1% не определяет дополнительных URL вида «gpgkey=»."
@@ -3794,7 +3794,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Невозможно прочитать каталог репозитория \"%1%\": доступ запрещен"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3814,8 +3814,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Псевдоним сервис не может начинаться с точки."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Невозможно открыть файл \"%s\" для записи."
@@ -3838,31 +3838,31 @@ msgstr[0] "По указанному URL-адресу не найдено доп
 msgstr[1] "По указанным URL-адресам не найдено допустимых метаданных"
 msgstr[2] "По указанным URL адресам не найдено допустимых метаданных"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Не удалось создать %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Невозможно создать каталог кэша метаданных."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Сбор кэша репозитория \"%s\""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Не удалось создать кэш в %s — нет прав на запись."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Ошибка при кэшировании репозитория (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Необрабатываемый тип репозитория"
 
@@ -3872,44 +3872,44 @@ msgstr "Необрабатываемый тип репозитория"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Ошибка при попытке чтения из \"%s\""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Неизвестная ошибка при чтении из \"%s\""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Добавление репозитория \"%s\""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Недопустимое имя файла репозитория в \"%s\""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Удаление репозитория \"%s\""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Невозможно выяснить, где хранится репозиторий."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Не удается удалить \"%s\""
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Невозможно определить, где хранится сервис."
 
@@ -4046,12 +4046,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Недопустимое регулярное выражение \"%s\""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Необходима аутентификация для \"%s\""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4059,7 +4060,8 @@ msgstr ""
 "Убедитесь, что ваша регистрация действительна и срок ее действия не истек, в "
 "центре SUSE Customer Center."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4088,6 +4090,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "При попытке произведения действия \"%s\" не был открыт носитель."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Файл \"%s\" не найден на носителе \"%s\""
@@ -4193,6 +4196,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Доступ к \"%s\" запрещен."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Превышено время ожидания при попытке доступа к \"%s\"."
@@ -4203,6 +4207,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Размер загруженных данных превысил ожидаемый '%s' из '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Расположение \"%s\" временно недоступно."
@@ -4214,7 +4219,7 @@ msgstr ""
 " Проблема с сертификатом SSL, проверьте, все ли в порядке с удостоверяющим "
 "центром сертификата \"%s\"."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4222,12 +4227,12 @@ msgstr ""
 "Создание точки присоединения: не могу найти катлог с возможностью записи для "
 "создания точки присоединения"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Неподдерживаемый метод HTTP-аутентификации \"%s\""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Сначала установите пакет \"lsof\"."
 
@@ -4427,7 +4432,7 @@ msgstr ""
 "  из пакета\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Невозможно создать sat-pool."
 
@@ -4441,101 +4446,101 @@ msgstr "повредить %s, игнорируя некоторые из его
 msgid "generally ignore of some dependencies"
 msgstr "вообще игнорировать некоторые зависимости"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s не принадлежит репозиторию обновления дистрибутива"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s имеет худшую архитектуру"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "проблема в установленном пакете %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "конфликтующие запросы"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "проблема с некоторыми зависимостями"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "ничто не предоставляет запрошенный %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Включили ли вы все требуемые репозитории?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "пакет %s не существует"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "запрос не поддерживается"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s предоставляется системой и не может быть удален"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s недоступен для установки"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "ничто не предоставляет %s, необходимый для %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Не удается установить оба %s и %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s конфликтует с %s, который предоставляется %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s делает устаревшим %s, предоставляемый %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "установленный пакет %s делает устаревшим %s, предоставляемый %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 "объект разрешения зависимостей %s конфликтует с %s, который предоставляется "
 "им самим"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s требует %s, но это требование не может быть удовлетворено"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "удаленные поставщики: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4543,108 +4548,108 @@ msgstr ""
 "\n"
 "неустанавливаемые поставщики: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "поставщики, не подлежащие установке: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "удалить блокировку для удаления %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "не устанавливать %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "оставить %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "удалить блокировку для установки %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Этот запрос повредит вашу систему!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "игнорировать предупреждение о повреждении системы"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 "не просить установить объект разрешения зависимостей, предоставляющий %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 "не просить удалить все объекты разрешения зависимостей, предоставляющие %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "не устанавливать самую последнюю версию %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "оставить %s, несмотря на смену архитектуры"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "установить %s, несмотря на смену архитектуры"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "оставить устаревший %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "установить %s из исключенного репозитория"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "установить %1%, хоть он и был отозван"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "разрешить установку PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "установить %1%, хоть он и в чёрном списке"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "обновить %s до более старой версии %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "изменение архитектуры %s на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4653,12 +4658,12 @@ msgstr ""
 "установить %s (со сменой поставщика)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "замена %s на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "удаление %s"
@@ -4675,78 +4680,78 @@ msgstr "Выполнение скрипта %%posttrans \"%1%\""
 msgid "Executing %posttrans scripts"
 msgstr "Выполнение скриптов %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Установка прервана согласно указаниям."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " выполнено"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " сбой при выполнении"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s уже выполнен как %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " выполнение пропущено во время прерывания работы"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Ошибка при отправке сообщения об обновлении."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Новое сообщение об обновлении"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Сбой RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Не удалось импортировать открытый ключ %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Не удалось удалить открытый ключ %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Пакет не подписан!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Измененные конфигурационные файлы для %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm сохранил %s как %s, но было невозможно определить различия"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4756,13 +4761,13 @@ msgstr ""
 "Первые 25 строк различий:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm создал %s как %s, но было невозможно определить различия"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4773,47 +4778,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Дополнительный вывод rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "создана резервная копия %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Подпись в порядке"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Неизвестный тип подписи"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Подпись не проверена"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Подпись в порядке, но ключ не является доверенным"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Открытый ключ подписей недоступен"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Файл не существует, или невозможно проверить подпись"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Файл не подписан"
 
@@ -4900,6 +4905,20 @@ msgstr "Недопустимый символ разделителя для ра
 msgid "Invalid parameter array join separator character"
 msgstr "Недопустимый символ разделителя для объединения массива параметров"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Невозможно открыть файл блокировки: %s"
 
index d769af3..3bd05f4 100644 (file)
--- a/po/si.po
+++ b/po/si.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2005-07-29 15:37+0530\n"
 "Last-Translator: i18n@suse.de\n"
 "Language-Team: Sinhala <i18n@suse.de>\n"
@@ -1302,53 +1302,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Couldn't open file: %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -3791,20 +3791,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3815,7 +3815,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3835,8 +3835,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Couldn't open file: %s."
@@ -3856,31 +3856,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Couldn't open file: %s."
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3890,44 +3890,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Couldn't open file: %s."
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4051,18 +4051,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4089,6 +4091,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4191,6 +4194,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4201,6 +4205,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4210,18 +4215,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4373,7 +4378,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4387,216 +4392,216 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr ""
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr ""
@@ -4613,15 +4618,15 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4629,63 +4634,63 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4693,13 +4698,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4708,47 +4713,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4834,6 +4839,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Couldn't open file: %s."
index 056f3de..9b251d6 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -5,8 +5,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libzypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2019-12-05 20:54+0000\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-09-19 14:48+0000\n"
 "Last-Translator: Ferdinand Galko <galko.ferdinand@gmail.com>\n"
 "Language-Team: Slovak <https://l10n.opensuse.org/projects/libzypp/master/sk/>"
 "\n"
@@ -1291,53 +1291,53 @@ msgstr "Zlepšuje"
 msgid "Supplements"
 msgstr "Doplnky"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Nie je možné otvoriť pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Nie je možné otvoriť rúru (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Nemôžem spraviť chroot do '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Nie je možné vykonať chdir pre '%s' vo vnútri chroot '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Nie je možné vykonať chroot pre '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Nemôžem spustiť '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Nemôžem spraviť rozdelenie programu (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Stav príkazu po skončení je %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Príkaz bol zabitý signálom %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Príkaz skončil s neznámou chybou."
 
@@ -3761,20 +3761,20 @@ msgstr[2] "(vyprší za %d dní)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Hľadanie ID gpg kľúča %1% vo vyrovnávacej pamäti %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Hľadanie ID gpg kľúča %1% v repozitári %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Repozitár %1% nedefinuje dodatočné URL 'gpgkey='."
@@ -3785,7 +3785,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Nie je možné čítať adresár repozitára '%1%': Prístup zamietnutý"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3805,8 +3805,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Alias služby nemôže začínať bodkou."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Nemôžem otvoriť súbor '%s' pre zápis."
@@ -3827,32 +3827,32 @@ msgstr[0] "Na stanovenej adrese URL sa nenašli platné metadáta"
 msgstr[1] "Na stanovených adresách URL sa nenašli platné metadáta"
 msgstr[2] "Na stanovených adresách URL sa nenašli platné metadáta"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Nie je možné vytvoriť %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Nie je možné vytvoriť adresár vyrovnávacej pamäte metadát."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Vytváram vyrovnávaciu pamäť repozitára '%s'"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 "Nie je možné vytvoriť vyrovnávaciu pamäť v %s - žiadne práva na zapisovanie."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Zlyhalo ukladanie do vyrovnávacej pamäti pre repozitár (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Nepodporovaný typ repozitára"
 
@@ -3862,44 +3862,44 @@ msgstr "Nepodporovaný typ repozitára"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Chyba pri čítaní z '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Neznáma chyba čítania z '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Pridávam repozitár '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Neplatný názov súboru repozitára v '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Odstraňujem repozitár '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Nie je možné prísť na to, kde je uložený repozitár."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Nie je možné vymazať '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Nie je možné prísť na to, kde je uložená služba."
 
@@ -4035,12 +4035,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Neplatný regulárny výraz '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "'%s' vyžaduje autentifikáciu"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4048,7 +4049,8 @@ msgstr ""
 "Navštívte SUSE Customer Center, aby ste skontrolovali, či je vaša "
 "registrácia platná a ešte nevypršala."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4077,6 +4079,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Médium sa neotvorilo pri pokuse vykonať '%s'."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Súbor '%s' nebol nájdený na médiu '%s'"
@@ -4183,6 +4186,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Zamietnutý prístup na '%s'."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Vypršal časový limit pri prístupe na '%s'."
@@ -4193,6 +4197,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Stiahnuté dáta prekročili očakávanú veľkosť súboru '%s' z '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Umiestnenie '%s' je dočasne nedostupné."
@@ -4204,7 +4209,7 @@ msgstr ""
 " problém s certifikátom SSL, skontrolujte či certifikát CA je v poriadku pre "
 "'%s'."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4212,12 +4217,12 @@ msgstr ""
 "Vytvoriť prípojný bod: Nie je možné nájsť zapisovateľný adresár pre "
 "vytvorenie prípojného bodu"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "'%s' nie je podporovaná metóda autentifikácie"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Prosím, najskôr nainštalujte balík 'lsof'."
 
@@ -4418,7 +4423,7 @@ msgstr ""
 "  inštalovaným z\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Nepodarilo sa vytvoriť sat-pole."
 
@@ -4432,99 +4437,99 @@ msgstr "porušiť %s ignorovaním niektorých závislostí"
 msgid "generally ignore of some dependencies"
 msgstr "všeobecne ignorovať niektoré závislosti"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s nepatrí do repozitára distupgrade"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s má podriadenú architektúru"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "Problém s nainštalovaným balíkom %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "protichodné požiadavky"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "problém so závislosťami"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "nič neposkytuje požadovaný %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Máte zapnuté všetky požadované repozitáre?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "balík %s neexistuje"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "nepodporovaná požiadavka"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s je poskytovaný systémom a nemôže byť vymazaný"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s nie je inštalovateľný"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "nič neposkytuje %s, ktorý je vyžadovaný balíkom %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Nie je možné nainštalovať oboje %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s je v konflikte s %s poskytovaným %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s zastarané %s poskytované %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "nainštalované %s zastarané %s poskytované %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "Riešenie %s je v konflikte s %s, ktorý je poskytnutý sám sebou"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s vyžaduje %s, ale táto požiadavka nemôže byť splnená"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "zmazaný poskytovatelia: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4532,106 +4537,106 @@ msgstr ""
 "\n"
 "neinštalovateľní poskytovatelia: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "neinštalovateľní poskytovatelia: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "odstrániť zámok pre umožnenie odstránenia %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "neinštaluj %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "ponechať %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "odstrániť zámok pre umožnenie inštalácie %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Tento požiadavka poruší váš systém!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignorovať varovanie o porušení systému"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "nepýtať sa či inštalovať riešenie, ktoré poskytuje %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "nepýtaj sa či zmazať všetky riešenia poskytujúce %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "neinštalovať najnovšiu verziu %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "ponechať %s napriek podriadenej architektúre"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "nainštalovať %s napriek podriadenú architektúru"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "ponechať zastarané %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "inštalovať %s z vylúčeného repozitára"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "inštalovať %1%, aj keď bol stiahnutý"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "umožniť inštaláciu PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "inštalovať %1%, aj keď je nežiadúci"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "znížiť verziu z %s na %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "zmena architektúry z %s na %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4640,12 +4645,12 @@ msgstr ""
 "inštalovať %s (so zmenou dodávateľa)\n"
 "  %s -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "%s nahradiť %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "odinštalovanie %s"
@@ -4662,78 +4667,78 @@ msgstr "Vykonávanie %%posttrans skriptu '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Vykonávanie %p osttrans skriptov"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Inštalácia bola podľa príkazu zrušená."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " spustený"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " spustenie zlyhalo"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s už spustený ako %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " spustenie odložené kvôli prerušeniu programu"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Chyba zasielania oznámenia o aktualizačnej správe."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nová správa aktualizácie"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM zlyhalo: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Nepodarilo sa importovať verejný kľúč %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Nepodarilo zmazať verejný kľúč %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Balík nie je podpísaný!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Zmenené konfiguračné súbory pre '%s':"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "Balík rpm uložil %s ako %s, ale nebolo možné určiť rozdiel"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4743,13 +4748,13 @@ msgstr ""
 "Tu je prvých 25 riadkov rozdielov:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "Balík rpm vytvoril %s as %s, ale nebolo možné určiť rozdiel"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4760,47 +4765,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Ďalší výstup z rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "Bola vytvorená záloha %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Podpis je v poriadku"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Neznámy typ podpisu"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Podpis neoveruje"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Podpis je v poriadku, ale kľúč nie je dôveryhodný"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Verejný kľúč podpisov nie je k dispozícii"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Súbor neexistuje alebo podpis nie je možné overiť"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Súbor je nepodpísaný"
 
@@ -4887,6 +4892,24 @@ msgstr "Neplatný oddeľovací znak pre mapu parametrov"
 msgid "Invalid parameter array join separator character"
 msgstr "Neplatný oddeľovací znak pre spájanie poľa parametrov"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Chyba sťahovania (curl) pre '%s':\n"
+"Kód chyby: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Chyba sťahovania (curl) pre '%s':\n"
+"Odpoveď HTTP sa nepodarilo načítať\n"
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Nie je možné otvoriť súbor so zámkom: %s"
 
index 64ba2fc..bc03efe 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2001-10-18 11:02+0200\n"
 "Last-Translator: Janez Krek <janez.krek@euroteh.si>\n"
 "Language-Team: Slovenian\n"
@@ -1448,53 +1448,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Couldn't open file: %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Ukaz, ki naj se izvede ob povezovanju"
@@ -4241,20 +4241,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -4265,7 +4265,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4285,8 +4285,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Datoteke ni mogoče odpreti za pisanje."
@@ -4306,31 +4306,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Nameščam na:"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Neuspešen dostop do media za posodobitev gonilnika."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -4340,44 +4340,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Napaka pri branju z disketne enote."
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Nepravilno ime naprave."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Nameščam na:"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4503,18 +4503,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4541,6 +4543,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4643,6 +4646,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4653,6 +4657,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4662,18 +4667,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4826,7 +4831,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4841,218 +4846,218 @@ msgstr "ima nerešene zahteve..."
 msgid "generally ignore of some dependencies"
 msgstr "ima nerešene zahteve..."
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "Zagonska arhitektura"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "Nezadoščene odvisnosti:"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Paketi za obnovitev"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "Ta paket ni nameščen in ne bo nameščen."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "Namestitev ni uspela."
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Nameščam na:"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%1 je v sporu s/z %2"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%1 je v sporu s/z %2"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%1 je v sporu s/z %2"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "Samodejna namestitev"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, fuzzy, c-format, boost-format
 msgid "do not install %s"
 msgstr "Nameščam na:"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "Nameščam na:"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "%1 je v sporu s/z %2"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "Zbriši %1"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Namestitev"
@@ -5069,16 +5074,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
 # %s is either BOOTP or DHCP
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "Prilagoditev %s ni bila uspešna."
@@ -5086,64 +5091,64 @@ msgstr "Prilagoditev %s ni bila uspešna."
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 #, fuzzy
 msgid "Package is not signed!"
 msgstr "Paketi za obnovitev"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Shrani nastavivene datoteke"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5151,13 +5156,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5166,51 +5171,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "Dodatne nastavitve skupine"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, fuzzy, c-format, boost-format
 msgid "created backup %s"
 msgstr "Ne Kreiraj Varnostnih Kopij"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "KScreensaver-ja ni možno najti."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "KScreensaver-ja ni možno najti."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "KScreensaver-ja ni možno najti."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -5296,6 +5301,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Couldn't open file: %s."
index 6d8698c..786b456 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST2 (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2004-03-31 11:34+0200\n"
 "Last-Translator: Bojan Jovanovic <bojov@fon.bg.ac.yu>\n"
 "Language-Team: Serbian <i18n@suse.de>\n"
@@ -1319,53 +1319,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Couldn't open file: %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Наредба која се извршава при повезивању"
@@ -3882,20 +3882,20 @@ msgstr[2] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3906,7 +3906,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3926,8 +3926,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Не могу да отворим '%1'."
@@ -3948,31 +3948,31 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Не могу да отворим '%1'."
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3982,44 +3982,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Не могу да отворим '%1'."
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4147,18 +4147,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4185,6 +4187,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4287,6 +4290,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4297,6 +4301,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4306,18 +4311,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4469,7 +4474,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4484,224 +4489,224 @@ msgstr "ima neispunjene zahteve..."
 msgid "generally ignore of some dependencies"
 msgstr "ima neispunjene zahteve..."
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
 #  tree node string
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "Boot arhitektura"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "Proveravam međuzavisnost..."
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
 #  summary text heading
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Paketi za obnavljanje"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 #, fuzzy
 msgid "unsupported request"
 msgstr " - није подржано"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "Ovaj paket nije i neće biti instaliran."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "Instalacioni proces nije uspešno završen."
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Instaliram na:"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%1 je u konfliktu sa %2"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%1 je u konfliktu sa %2"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%1 je u konfliktu sa %2"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "Automatska Instalacija"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, fuzzy, c-format, boost-format
 msgid "do not install %s"
 msgstr "Instaliram na:"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
 #  Frame title for installation target hard disk / partition(s)
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "Instaliram na:"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "%1 je u konfliktu sa %2"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "Obriši %1"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Инсталација"
@@ -4718,15 +4723,15 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4734,46 +4739,46 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
 #  summary text heading
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 #, fuzzy
 msgid "Package is not signed!"
 msgstr "Paketi za obnavljanje"
@@ -4781,19 +4786,19 @@ msgstr "Paketi za obnavljanje"
 #  progress stage
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Snimi konfiguracione fajlove"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4801,13 +4806,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4817,49 +4822,49 @@ msgstr ""
 #  TextEntry label
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "&Dodatne ipppd opcije"
 
 #  Proposal for backup during update
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, fuzzy, c-format, boost-format
 msgid "created backup %s"
 msgstr "Ne pravite sigurnosnu kopiju"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4945,6 +4950,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Couldn't open file: %s."
index 6cca685..3cac1f9 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.sv\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2020-05-02 19:51+0000\n"
 "Last-Translator: Luna Jernberg <droidbittin@gmail.com>\n"
 "Language-Team: Swedish <https://l10n.opensuse.org/projects/libzypp/master/sv/"
@@ -1405,53 +1405,53 @@ msgstr "Utökar"
 msgid "Supplements"
 msgstr "Kompletterar"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Kan inte öppna pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Det går inte att öppna programkopplingen (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Kan inte ändra roten (chroot) till '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Kan inte ändra katalogen (chdir) till '%s' i chroot '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Kan inte ändra katalogen (chdir) till '%s' (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Kan inte köra '%s' (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Kan inte dela upp (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Kommandot avslutades med statusen %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Kommandot avbröts av signalen %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Kommandot avslutades med ett okänt fel."
 
@@ -3937,20 +3937,20 @@ msgstr[1] "(går ut om %d dagar)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Söker efter gpg-nyckel med ID %1% i cache %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Söker efter gpg-nyckel med ID %1% i lager %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Lagringsplatsen %1% definierar inte ytterligare 'gpgkey=' URL."
@@ -3961,7 +3961,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Kan inte läsa lagringsplatskatalog '%1%': Åtkomst nekad"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3981,8 +3981,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Ett alias för en tjänst kan inte inledas med en punkt."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Kan inte skriva till filen '%s'."
@@ -4002,31 +4002,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Giltig metadata hittades inte på specificerad URL"
 msgstr[1] "Giltig metadata hittades inte på specificerade URL:er"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Kan inte skapa %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Kan inte att skapa cachekatalog för metadata."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Cache för lagringsplatsen '%s' byggs"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Kan inte att skapa cache på %s - ingen skrivrättighet."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Misslyckades att cachelagra lagringsplats (%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Kan inte hantera lagringsplatstypen"
 
@@ -4036,44 +4036,44 @@ msgstr "Kan inte hantera lagringsplatstypen"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Det gick inte att läsa från '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Ett okänt fel uppstod vid läsning från '%s'"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Lägger till förrådet '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Ogiltigt namn på lagringsplats '%s'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Lagringsplatsen '%s' tas bort"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Kan inte identifiera var lagringsplatsen finns."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Kan inte radera '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Det gick inte att identifiera var tjänsten är lagrad."
 
@@ -4208,12 +4208,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Ogiltigt reguljärt uttryck '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Autentisering krävs för '%s'"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4221,7 +4222,8 @@ msgstr ""
 "Besök SUSE kundcenter för att se om din registrering är giltig och inte har "
 "slutat gälla."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4250,6 +4252,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Mediet öppnades inte när åtgärden '%s' skulle utföras."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Filen '%s' kunde inte hittas på mediet '%s'"
@@ -4356,6 +4359,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Behörighet för åtkomst till '%s' nekad."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Tidsgränsen överskreds vid försök att nå '%s'."
@@ -4366,6 +4370,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Hämtade data överskred förväntad filstorlek '%s' av '%s'."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Platsen '%s' är för tillfället oåtkomlig."
@@ -4375,18 +4380,18 @@ msgstr "Platsen '%s' är för tillfället oåtkomlig."
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " SSL-certifikatsproblem, verifiera att CA-certifikatet för '%s' är OK."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr "Skapa fästpunkt: hittar ingen skrivbar katalog för att skapa fästpunkt"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Det finns inte stöd för HTTP-autentiseringsmetoden '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Installera paketet 'lsof' först."
 
@@ -4590,7 +4595,7 @@ msgstr ""
 "  från installationen av\n"
 "     %4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Kan inte skapa sat-pool."
 
@@ -4604,99 +4609,99 @@ msgstr "bryt %s genom att ignorera vissa beroenden"
 msgid "generally ignore of some dependencies"
 msgstr "ignorera generellt några beroende"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s tillhör inte ett distupgrade-förråd"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s innehåller en underordnad arkitektur"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problem med det installerade paketet %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "begäranden i konflikt"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "vissa beroendeproblem"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "inget tillhandahåller begärda %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Har du aktiverat alla begärda lagringsplatser?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "paketet %s finns inte"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "begäran stöds inte"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s kommer från systemet och kan inte tas bort"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s går inte att installera"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "inget tillhandahåller %s som behövs i %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "kan inte installera både %s och %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s är i konflikt med %s som kommer från %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s gör %s inaktuell som kommer från %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s gör %s som kommer från %s inaktuell"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "lösbara %s är i konflikt med %s som kommer från sig själv"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s behöver %s, men kravet kan inte uppfyllas"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "borttagna leverantörer: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4704,106 +4709,106 @@ msgstr ""
 "\n"
 "leverantörer som inte går att installera: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "leverantörer som inte går att installera: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "ta bort lås så att %s kan tas bort"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "installera inte %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "behåll %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "ta bort lås så att %s kan installeras"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Denna begäran kommer att knäcka systemet!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ignorera varningen om ett trasigt system"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "fråga inte om att installera en lösbar med %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "fråga inte om att ta bort alla lösbara med %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "installera inte den senaste versionen av %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "behåll %s trots underordnad arkitektur"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "installera %s trots underordnad arkitektur"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "behåll föråldrad version av %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "installera %s från undantaget arkiv"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "Nedgradera %s till %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "arkitekturändring av %s till %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4812,12 +4817,12 @@ msgstr ""
 "installera %s (med ändrad leverantör)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "ersätt %s med %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "avinstallation av %s"
@@ -4834,79 +4839,79 @@ msgstr "Kör %%posttrans-skriptet '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Kör %p 1osttrans-skript"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Installationen har avbrutits enligt instruktionerna."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " körd"
 
 # %s is either BOOTP or DHCP
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " körningen misslyckades"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s redan körd som %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " körningen hoppades över vid avbrottet"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Ett fel inträffade när ett uppdateringsmeddelande skickades."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Nytt uppdateringsmeddelande"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM misslyckades: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Det gick inte att importera den offentliga nyckeln %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Det gick inte att ta bort den offentliga nyckeln %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Paketet är inte signerat!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Konfigurationsfiler har ändrats för %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "RPM sparade %s som %s, men det gick inte att avgöra skillnaden"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4916,13 +4921,13 @@ msgstr ""
 "Här visas de första 25 raderna med skillnader:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "RPM skapade %s som %s, men det gick inte att avgöra skillnaden"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4933,47 +4938,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Ytterligare RPM-utdata"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "skapade säkerhetskopian %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "Signaturen är OK"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Okänd signaturtyp"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Signaturen kan inte verifieras"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "Signaturen är OK, men nyckeln är inte betrodd"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Signaturens offentliga nyckel är inte tillgänglig"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Filen finns inte eller signaturen kan inte kontrolleras"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Filen är inte signerad"
 
@@ -5059,6 +5064,20 @@ msgstr "Ogiltigt avgränsningstecken för delning av parametermappning"
 msgid "Invalid parameter array join separator character"
 msgstr "Ogiltigt avgränsningstecken för koppling av parametermatris"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Kan inte öppna låsfilen: %s"
 
index 54f0ab9..0a6275a 100644 (file)
--- a/po/ta.po
+++ b/po/ta.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: NetworkManager-vpnc\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2005-06-26 01:20+0200\n"
 "Last-Translator: Priyavert Sharma <priyavert.sharma@agreeya.com>\n"
 "Language-Team: AgreeYa Solutions <www.agreeya.com>\n"
@@ -1291,53 +1291,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "கோப்பை %1 திறக்க முடியவில்லை."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "%s கண்பிடிக்க முடியவில்லை."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "%s கண்பிடிக்க முடியவில்லை."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "இணைக்கப்படும் பொழுது கட்டளையை செயல்படுத்து"
@@ -3765,20 +3765,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3789,7 +3789,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3809,8 +3809,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "எழுதுவதற்கு கோப்பைத் திறக்க முடியவில்லை."
@@ -3830,32 +3830,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "டெஸ்க்டாப் பொருளை '%s' திறக்க முடியவில்லை"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "அடைவு %1 உருவாக்க முடியவில்லை: %2."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3865,44 +3865,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "ஃப்ளாப்பி வட்டிலிருந்து படிப்பதில் பிழை"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, fuzzy, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "மூலங்கள் சேர்க்கப்படுகின்றன"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "செல்லாத ஏற்றுமதி கோப்புபெயர்."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "மூலங்கள் சேர்க்கப்படுகின்றன"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "டெஸ்க்டாப் பொருளை '%s' திறக்க முடியவில்லை"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4026,18 +4026,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "செல்லாத யூஆர்எல் திட்டம் '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4064,6 +4066,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "சேமிப்பிடத்தில் கோப்பு %1 காணப்படவில்லை."
@@ -4167,6 +4170,7 @@ msgid "Permission to access '%s' denied."
 msgstr "அனுமதிகள் மறுக்கப்படுகின்றன"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4177,6 +4181,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4186,18 +4191,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4355,7 +4360,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "கோப்பை உருவாக்க முடியவில்லை."
@@ -4371,222 +4376,222 @@ msgstr "இத்தேவையை இங்கேயே புறக்கண
 msgid "generally ignore of some dependencies"
 msgstr "இத்தேவையை இங்கேயே புறக்கணிக்கவும்"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s, %sஐ அளிக்கிறது, ஆனால் அதற்கு வேறொரு கட்டமைப்பு உள்ளது."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "பேக்கேஜ்களின் நிறுவுதலை நீக்குவதற்கான ஆணை"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "இந்த இணைப்புக்கான கோரிக்கை: "
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "சார்புத்தன்மை பிரச்னைகள் காரணமாக %s ஐ நிறுவ இயலவில்லை"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "%s யாரும் அளிப்பதில்லை"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "சான்றிதழ் %1 இல்லை."
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s பூட்டப்பட்டுள்ளது மற்றும் அதன் நிறுவுதலை நீக்க இயலாது."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "நிறுவப்படவில்லை"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s, %sக்கு தேவைப்படுகிறது"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%sஐ நிறுவ முடியவில்லை"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s %sஉடன் முரண்படுகிறது"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s %sஐ வழக்கற்றதாக்குகிறது"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s %sஐ வழக்கற்றதாக்குகிறது"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s %sஉடன் முரண்படுகிறது"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "%s யாரும் அளிப்பதில்லை"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "%sக்கு நிறுவக்கூடிய அளிப்பவர்கள் இல்லை"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "%sக்கு நிறுவக்கூடிய அளிப்பவர்கள் இல்லை"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%sஐ நிறுவ வேண்டாம்"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "%sஐ வைத்துக் கொள்ளவும்"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "%sஐ நிறுவ வேண்டாம்"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "கோரிக்கை ஏற்கனவே உள்ளது."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "%sக்கு நிறுவக்கூடிய அளிப்பவர்கள் இல்லை"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "தொடர்புள்ள தீர்வுகளை நிறுவவோ அல்லது நீக்கவோ வேண்டாம்"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s, %sஐ அளிக்கிறது, ஆனால் அதற்கு வேறொரு கட்டமைப்பு உள்ளது."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "அது கட்டமைப்பை மாற்றக்கூடுமென்றாலும் %sஐ நிறுவவும்"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s %sஐ வழக்கற்றதாக்குகிறது"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "%sலிருந்து %s தகவலிறக்கம் செய்யப்பட்டது"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "நிறுவுதல்"
@@ -4603,16 +4608,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "குறிப்பிட்டுள்ளபடி நிறுவுதல் இடையில் நிறுத்தப்பட்டது."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "நிறைவேற்று"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4620,65 +4625,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "விசை என்கிரிப்ட் செய்யும்போது பிழை."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "தோல்வியுற்றது"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s:க்காக உள்ளமைத்தல் கோப்புகள் மாற்றப்பட்டுள்ளன"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "%s ஆக ஆர்பிஎம் சேமிக்கப்பட்டுள்ளது, ஆனால் வேறுபாட்டை நிர்ணயிக்க முடியவில்லை"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, fuzzy, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4688,13 +4693,13 @@ msgstr ""
 "வேறுபாடுகளின் முதல் 25 வரிகள் இங்குள்ளன:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "%s ஆக ஆர்பிஎம் உருவாf;கப்பட்டுள்ளது, ஆனால் வேறுபாட்டை நிர்ணயிக்க முடியவில்லை"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, fuzzy, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4705,51 +4710,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "கூடுதல் ஆர்பிஎம் அவுட்புட்:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "%s மறுபிரதி உருவாக்கப்பட்டது"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "உள்ளீடு காணப்படவில்லை."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "உள்ளீடு காணப்படவில்லை."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "உள்ளீடு காணப்படவில்லை."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4835,6 +4840,20 @@ msgstr "செல்லாத அளவீட்டு வரைவு பிள
 msgid "Invalid parameter array join separator character"
 msgstr "செல்லாத அளவீட்டு அடுக்கு இணைப்பை பிரிக்கும் வடிவம்"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "கோப்பை %1 திறக்க முடியவில்லை."
index 9f78b8f..9dcaa9c 100644 (file)
--- a/po/th.po
+++ b/po/th.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2008-01-04 08:58+0100\n"
 "Last-Translator: i18n@suse.de\n"
 "Language-Team: Thai <i18n@suse.de>\n"
@@ -1294,53 +1294,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "ไม่สามารถเปิดแฟ้ม %1 ได้"
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "ไม่สามารถเปิดแฟ้ม %1 ได้"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "ไม่สามารถเปิดแฟ้ม %1 ได้"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, fuzzy, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "หมดเวลาของคำสั่งหลังจาก %1 วินาที"
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -3883,20 +3883,20 @@ msgstr[0] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3907,7 +3907,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3928,8 +3928,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "ไม่สามารถเปิดแฟ้ม %1 ได้"
@@ -3948,32 +3948,32 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "ไม่สามารถเปิดใช้งานบริการ '%1' ได้"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "ไม่สามารถสร้างไดเรกทอรี "
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, fuzzy, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "การเพิ่มคลังแพกเกจ %1 ล้มเหลว"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "ล้มเหลวในการคืนค่าส่วน MBR ของฮาร์ดดิสก์"
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 #, fuzzy
 msgid "Unhandled repository type"
 msgstr "ชื่อของคลังแพกเกจใช้งานไม่ได้"
@@ -3984,44 +3984,44 @@ msgstr "ชื่อของคลังแพกเกจใช้งานไ
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "ไม่รู้จักตัวเลือกสำหรับคำสั่ง '%1': %2"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, fuzzy, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "กำลังเพิ่มคลังแพกเกจ %1"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "ค่าสำหรับตัวเลือก '%1' ไม่ถูกต้อง: %2"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "กำลังตรวจคลังแพกเกจ "
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "ไม่สามารถเปิดใช้งานบริการ '%1' ได้"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 #, fuzzy
 msgid "Can't figure out where the service is stored."
 msgstr "ไม่สามารถลบบริการได้ เนื่องจากมันยังไม่ถูกติดตั้ง"
@@ -4149,18 +4149,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "รูปแบบการค้นหา (RegExp)"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4187,6 +4189,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "ไม่พบแฟ้มควบคุม %1 บนสื่อการติดตั้ง"
@@ -4289,6 +4292,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4299,6 +4303,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4308,18 +4313,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4473,7 +4478,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "ไม่สามารถสร้างไดเร็กทอรี "
@@ -4489,222 +4494,222 @@ msgstr "การตรวจสอบการขึ้นอยู่แก่
 msgid "generally ignore of some dependencies"
 msgstr "การตรวจสอบการขึ้นอยู่แก่กันของระบบ ไม่พบปัญหา"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, fuzzy, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "กำลังเรียกใช้คลังแพกเกจสำหรับปรับรุ่นให้ทันสมัย..."
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "สถาปัตยกรรมพื้นฐาน"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "ผิดพลาด: ไม่สามารถติดตั้งแพกเกจได้"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "การตรวจสอบการขึ้นอยู่แก่กันของระบบ ไม่พบปัญหา"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 #, fuzzy
 msgid "Have you enabled all requested repositories?"
 msgstr "เพิ่มคลังแพกเกจแบบออนไลน์ที่เลือกไว้ทั้งหมด"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "ยังไม่มีบริการ %1 อยู่"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "ไฟร์วอลล์ยังไม่ถูกติดตั้ง"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "ไม่ต้องติดตั้งตัวจัดการการบูตระบบใด ๆ"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "อ่านค่าของผู้ให้บริการ"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "เขียนค่าของผู้ให้บริการ"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "เขียนค่าของผู้ให้บริการ"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, fuzzy, c-format, boost-format
 msgid "do not install %s"
 msgstr "ไม่ต้องติดตั้ง"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "บันทึกการตั้งค่าการติดตั้ง"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "รุ่นนี้ถูกติดตั้งไว้บนระบบของคุณ"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "ลบอัตโนมัติ"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "บันทึกการตั้งค่าการติดตั้ง"
@@ -4721,16 +4726,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 #, fuzzy
 msgid "Installation has been aborted as directed."
 msgstr "การติดตั้งเสร็จสมบูรณ์เพียงบางส่วนเท่านั้น"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "การสร้างแฟ้มสำรองข้อมูลล้มเหลว"
@@ -4738,63 +4743,63 @@ msgstr "การสร้างแฟ้มสำรองข้อมูลล
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "จัดเก็บแฟ้มการปรับแต่งค่า"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4802,13 +4807,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4817,51 +4822,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "ข้อมูลเพิ่มเติม"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "ไม่พบแฟ้มควบคุม %1 บนสื่อการติดตั้ง"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "ไม่พบแฟ้มควบคุม %1 บนสื่อการติดตั้ง"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "ไม่พบแฟ้มควบคุม %1 บนสื่อการติดตั้ง"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4947,6 +4952,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "ไม่สามารถเปิดแฟ้ม %1 ได้"
index 8520713..eca74c3 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2018-01-29 14:07+0000\n"
 "Last-Translator: Özgür Ateş Fırat <ozgursebahat@mail.ru>\n"
 "Language-Team: Turkish <https://l10n.opensuse.org/projects/libzypp/master/tr/"
@@ -1506,53 +1506,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Pty açılamıyor (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Veri yolu açılamıyor (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "'%s' e chroot yapılamıyor (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr ""
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "'%s' yürütülemedi (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Ayrıştırılamadı (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Komut %d durumuyla çıkış yaptı."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Komut %d sinyali tarafından durduruldu (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Bağlanıken çalıştırılacak komut"
@@ -4453,20 +4453,20 @@ msgstr[0] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -4477,7 +4477,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -4497,8 +4497,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Servis ismi noktayla başlayamaz."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "'%s' dosyası açılamıyor."
@@ -4517,31 +4517,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "%s oluşturulamıyor"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Metadata önbellek klasörü oluşturulamadı."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "'%s' depo önbelleği oluşturuluyor"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "%s 'de önbellek oluşturulamıyor - yazma izni yok."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %d."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -4551,44 +4551,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "'%s' okunmaya çalışılırken bir hata meydana geldi"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "'%s' depoya ekleniyor"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Geçersiz yetki '{0}'"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "'%s' deposu siliniyor"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Reponun nerede depolandığı belirlenemedi."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "'%s' silinemiyor"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Servesin nerede depolandığı belirlenemedi."
 
@@ -4717,18 +4717,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Geçersiz düzenli ifade '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "'%s' için kimlik doğrulama gerekmektedir"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4757,6 +4759,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "'%s' işlemi gerçekleştirilmeye çalışılırken ortam açılamadı."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "'%s' dosyası '%s' ortamında bulunamadı"
@@ -4865,6 +4868,7 @@ msgid "Permission to access '%s' denied."
 msgstr "İzin verilmedi\n"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4875,6 +4879,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "'%s' konumuna şuan ulaşılamaz. "
@@ -4886,18 +4891,18 @@ msgstr ""
 "SSL sertifikası problemi, CA sertifikasının '%s' için geçerli olduğunu "
 "doğrulayın."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -5050,7 +5055,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Sat-pool oluşturulamadı."
 
@@ -5064,104 +5069,104 @@ msgstr "şu çözülmemiş gereksinimlere sahip:"
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s dağıtım güncelleme deposuna ait değil."
 
 # clients/hwinfo.ycp:66
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s alt mimariye sahip"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
 # clients/inst_sw_single.ycp:742
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "Yetersiz bağımlılıklar:"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "İstenen bütün depoları etkinleştirdiğinizden emin misiniz?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
 # clients/online_update_start.ycp:171
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s kurulabilir değil"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
 # include/partitioning/auto_part_ui.ycp:200 include/partitioning/auto_part_ui.ycp:249
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "%s ve %s in ikisi birden yüklenemez"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s, %s tarafından sağlanan %s ile çakışıyor."
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s %s tarafından sağlanan %s'in süresini bitirdi."
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%1, %2 ile çakışıyor"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%1, %2 ile çakışıyor"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s, %s'i gerektiriyor, ama bu gereklilik sağlanamıyor."
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -5169,119 +5174,119 @@ msgstr ""
 "\n"
 "Yüklenemez sağlayıcılar:"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "Yüklenemez sağlayıcılar:"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
 # include/partitioning/auto_part_ui.ycp:200 include/partitioning/auto_part_ui.ycp:249
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "%s yüklenmedi"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Bu istek sisteminizi çökertecek!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "%1, %2 ile çakışıyor"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%1 paketini sil"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Kurulum"
@@ -5298,63 +5303,63 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Yükleme yönlendirildiği şekilde iptal edildi"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr "uygulandı"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr "işletme hatası"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr "İptal etme sırasında uygulama es geçildi."
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 "Güncelleme bilgilendirmesi için mesaj gönderilirken bir hata meydana geldi."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 # clients/online_update_load.ycp:380
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "İndirme işlemi başarısız oldu:"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "%1% dosyasından genel anahtar alınamadı"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "'%1%' genel anahtarı silinemedi"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 #, fuzzy
 msgid "Package is not signed!"
 msgstr "Geri yüklenecek paketler"
@@ -5362,19 +5367,19 @@ msgstr "Geri yüklenecek paketler"
 # clients/sw_single.ycp:310
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, fuzzy, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Yapılandırma dosyalarını kaydet"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -5382,13 +5387,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -5397,48 +5402,48 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Ek rpm çıktısı"
 
 # clients/inst_sw_backup.ycp:260
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "%s yedeklemesi oluşturuldu"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -5528,6 +5533,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr "Geçersiz dizi karakteri birleştirme parametresi"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Kilitlenmiş dosya açılamıyor: %s"
 
index c5f52a0..39c58d7 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -13,8 +13,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp.uk\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
-"PO-Revision-Date: 2020-06-29 19:45+0000\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
+"PO-Revision-Date: 2020-12-01 18:26+0000\n"
 "Last-Translator: Lesath <4lesath@gmail.com>\n"
 "Language-Team: Ukrainian <https://l10n.opensuse.org/projects/libzypp/master/"
 "uk/>\n"
@@ -30,7 +30,7 @@ msgstr ""
 #: zypp/CheckSum.cc:136
 #, c-format, boost-format
 msgid "Dubious type '%s' for %u byte checksum '%s'"
-msgstr "Сумнівний тип «%s» для %u байтової контрольної суми «%s»"
+msgstr "Сумнівний тип «%s» для %u байтів контрольної суми «%s»"
 
 #: zypp/CountryCode.cc:50
 msgid "Unknown country: "
@@ -1418,53 +1418,53 @@ msgstr "Покращує"
 msgid "Supplements"
 msgstr "Доповнює"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Не вдалося відкрити pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Неможливо відкрити канал (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Не вдалося створити chroot для «%s» (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Неможливо зробити chdir «%s» всередині chroot «%s» (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Неможливо змінити директорію на «%s» (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Не вдалося виконати «%s» (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Не вдалося відгалузити (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Команда завершила роботу зі станом %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Команду було вбито за сигналом %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Команда завершила роботу з невідомою помилкою."
 
@@ -3952,20 +3952,20 @@ msgstr[2] "(закінчується через %d днів)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "Пошук ID ключа для gpg %1% у кеші %2%."
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "Пошук ID ключа для gpg %1% у сховищі %2%."
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "Сховище %1% не визначає додаткові мережеві адреси для «gpgkey=»."
@@ -3976,7 +3976,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "Неможливо прочитати директорію сховища '%1%': Доступ заборонено"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3996,8 +3996,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Псевдонім служби не може починатися з точки."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Неможливо відкрити файл «%s» для запису."
@@ -4018,31 +4018,31 @@ msgstr[0] "У вказаній адресі URL не знайдено чинни
 msgstr[1] "У вказаних адресах URL не знайдено чинних метаданих"
 msgstr[2] "У вказаних адресах URL не знайдено чинних метаданих"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Неможливо створити %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Неможливо створити директорію кешу метаданих."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Створення кешу сховища «%s»"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Не вдалося створити кеш %s - немає прав на запис."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Не вдалось скешувати сховище(%d)."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Необроблений тип сховища"
 
@@ -4052,55 +4052,55 @@ msgstr "Необроблений тип сховища"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Помилка спроби читання з «%s»"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Невідома помилка читання з «%s»"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Додавання сховища «%s»"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Не чинна назва файла сховища «%s»"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Вилучення сховища «%s»"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Неможливо визначити, де знаходиться сховище."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Неможливо вилучити «%s»"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Неможливо визначити, де знаходиться служба."
 
 #: zypp/Url.cc:114
 msgid "Invalid LDAP URL query string"
-msgstr "Не чинний рядок запиту URL LDAP"
+msgstr "Недійсний рядок запиту URL LDAP"
 
 #: zypp/Url.cc:153
 #, c-format, boost-format
 msgid "Invalid LDAP URL query parameter '%s'"
-msgstr "Не чинний параметр запиту «%s» URL LDAP"
+msgstr "Недійсний параметр запиту «%s» URL LDAP"
 
 #: zypp/Url.cc:301
 msgid "Unable to clone Url object"
@@ -4225,12 +4225,13 @@ msgid "Invalid regular expression '%s'"
 msgstr "Недійсний формальний вираз «%s»"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "Потрібна автентифікація для «%s»"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4238,7 +4239,8 @@ msgstr ""
 "Відвідайте Центр клієнтів SUSE, щоб перевірити, чи ваша реєстрація дійсна та "
 "чи не закінчився термін дії."
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4266,6 +4268,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Носій не було відкрито під час спроби виконання дії «%s»."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Файл «%s» не знайдено на носії «%s»"
@@ -4372,6 +4375,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Дозвіл на доступ до «%s» заборонено."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "Перевищено час очікування при спробі доступу до «%s»."
@@ -4382,6 +4386,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "Завантажені дані перевищили очікуваний розмір файлу «%s» у «%s»."
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Адреса «%s» тимчасово недоступна."
@@ -4393,7 +4398,7 @@ msgstr ""
 " Проблема з сертифікатом SSL, перевірте чи все гаразд з сертифікатом CA для "
 "«%s»."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
@@ -4401,12 +4406,12 @@ msgstr ""
 "Створюємо точку монтування: неможливо знайти директорію з можливістю запису "
 "для створення точки монтування"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Метод автентифікації HTTP «%s», який не підтримується"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "Встановіть спершу пакунок 'lsof'."
 
@@ -4606,7 +4611,7 @@ msgstr ""
 "з пакунку\n"
 "%4%"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Неможливо створити sat-pool."
 
@@ -4620,99 +4625,99 @@ msgstr "зламати %s, ігноруючи деякі залежності"
 msgid "generally ignore of some dependencies"
 msgstr "взагалі нехтувати деякими залежностями"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s не належить до сховища distupgrade (оновлення дистрибутиву)"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s має слабшу архітектуру"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "проблема з встановленим пакунком %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "конфлікт запитів"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "якась проблема залежностей"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "жоден з пакунків не надає потрібного %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Чи ви увімкнули всі запитані сховища?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "пакунок %s не існує"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "непідтримуваний запит"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s надано системою і його неможливо прибрати"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s не можливо встановити"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "жоден з пакунків не надає %s, потрібного %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "неможливо встановити одночасно %s і %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s конфліктує з %s, що надається %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s робить застарілим %s, що надається %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "встановлений пакунок %s робить застарілим %s, який надається %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "Розв’язок %s конфліктує з %s, що у ньому міститься"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s потребує %s, але цю залежність неможливо вдовольнити"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "вилучені залежності: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4720,106 +4725,106 @@ msgstr ""
 "\n"
 "залежності без можливості встановлення: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "залежності без можливості встановлення: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "усунути блокування, щоб дозволити вилучення %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "не встановлювати %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "залишити %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "усунути блокування, щоб дозволити встановлення %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Цей запит пошкодить вашу систему!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "ігнорувати попередження про пошкодження системи"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "не питати про встановлення розв’язувача, що надає %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "не питати про вилучення всіх розв’язувачів, що надаються %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "не встановлювати ранішу версію %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "Залишити %s, незважаючи на слабшу архітектуру"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "Встановити %s, незважаючи на те, що це змінить архітектуру"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "Залишити застарілі %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "Встановити %s з невключеного сховища"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "встановити %1% хоч він і був відкладений"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "дозволити встановити PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "встановити %1% хоч він і був у чорному списку"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "повернення замість %s %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "зміна архітектури з %s на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4828,12 +4833,12 @@ msgstr ""
 "встановити %s (зі зміною виробника)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "заміна %s на %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "вилучення %s"
@@ -4850,78 +4855,78 @@ msgstr "Виконання сценарію %%posttrans '%1%'"
 msgid "Executing %posttrans scripts"
 msgstr "Виконання сценаріїв %posttrans"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Встановлення перервано відповідно до вказівки."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " виконано"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " виконання зазнало невдачі"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s вже виконаний як %s)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " виконання пропущено під час переривання"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Помилка відсилання сповіщення про оновлення."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Нове повідомлення про оновлення"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Помилка RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "Не вдалося імпортувати відкритий ключ %1%"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Не вдалося вилучити відкрити ключ %1%"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "Пакунок не підписаний!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Змінено конфігураційні файли для %s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm збережено %s як %s, але було неможливо виявити різницю"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4931,13 +4936,13 @@ msgstr ""
 "Ось перші 25 рядків розбіжностей:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm створила %s як %s, але було неможливо виявити різницю"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4948,47 +4953,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Додатковий вивід rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "створено резервну копію %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
-msgstr "Ð\86з підписом усе гаразд"
+msgstr "Ð\97 підписом усе гаразд"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "Невідомий тип підпису"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "Підпис не перевіряється"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
-msgstr "Ð\86з підписом усе гаразд, але ключ - ненадійний"
+msgstr "Ð\97 підписом усе гаразд, але ключ - ненадійний"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "Публічний ключ підписів - недоступний"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "Файл не існує чи підпис не можна перевірити"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "Файл не підписаний"
 
@@ -5000,12 +5005,12 @@ msgstr "Схема Url не дозволяє %s"
 #: zypp/url/UrlBase.cc:173
 #, c-format, boost-format
 msgid "Invalid %s component '%s'"
-msgstr "Не чинний %s компонент «%s»"
+msgstr "Недійсний %s компонент «%s»"
 
 #: zypp/url/UrlBase.cc:180
 #, c-format, boost-format
 msgid "Invalid %s component"
-msgstr "Не чинний компонент %s"
+msgstr "Недійсний компонент %s"
 
 #: zypp/url/UrlBase.cc:786 zypp/url/UrlBase.cc:1231
 msgid "Query string parsing not supported for this URL"
@@ -5018,7 +5023,7 @@ msgstr "Схема URL - це потрібний компонент"
 #: zypp/url/UrlBase.cc:830
 #, c-format, boost-format
 msgid "Invalid Url scheme '%s'"
-msgstr "Не чинна схема URL «%s»"
+msgstr "Недійсна схема URL «%s»"
 
 #: zypp/url/UrlBase.cc:949
 msgid "Url scheme does not allow a username"
@@ -5039,7 +5044,7 @@ msgstr "Схема URL не дозволяє компонент вузла"
 #: zypp/url/UrlBase.cc:1049
 #, c-format, boost-format
 msgid "Invalid host component '%s'"
-msgstr "Не чинний компонент вузла «%s»"
+msgstr "Недійсний компонент вузла «%s»"
 
 #: zypp/url/UrlBase.cc:1070
 msgid "Url scheme does not allow a port"
@@ -5048,7 +5053,7 @@ msgstr "Схема URL не дозволяє порт"
 #: zypp/url/UrlBase.cc:1081
 #, c-format, boost-format
 msgid "Invalid port component '%s'"
-msgstr "Не чинний компонент порту «%s»"
+msgstr "Недійсний компонент порту «%s»"
 
 #: zypp/url/UrlBase.cc:1098
 msgid "Url scheme requires path name"
@@ -5064,15 +5069,33 @@ msgstr "Закодований рядок містить нульовий бай
 
 #: zypp/url/UrlUtils.cc:173
 msgid "Invalid parameter array split separator character"
-msgstr "Не чинний символ розділення масиву параметрів"
+msgstr "Недійсний символ розділення масиву параметрів"
 
 #: zypp/url/UrlUtils.cc:213
 msgid "Invalid parameter map split separator character"
-msgstr "Не чинний символ розділення карти параметрів"
+msgstr "Недійсний символ розділення карти параметрів"
 
 #: zypp/url/UrlUtils.cc:283
 msgid "Invalid parameter array join separator character"
-msgstr "Не чинний символ сполучення масиву параметрів"
+msgstr "Недійсний символ сполучення масиву параметрів"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+"Помилка (curl) завантаження «%s»:\n"
+"Код помилки: %s\n"
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+"Помилка (curl) завантаження «%s»:\n"
+"Не вдається отримати відповідь HTTP\n"
 
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Не вдалося відкрити файл замка: %s"
index 2b23fa3..3813f18 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2016-08-25 08:06+0000\n"
 "Last-Translator: Hoàng Phạm <pnhoang96@gmail.com>\n"
 "Language-Team: Vietnamese <https://l10n.opensuse.org/projects/libzypp/master/"
@@ -1294,53 +1294,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Couldn't open file: %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Lệnh thực hiện khi kết nối"
@@ -3765,20 +3765,20 @@ msgstr[0] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3789,7 +3789,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3809,8 +3809,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Không thể mở tập tin '%s' để ghi."
@@ -3829,31 +3829,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Không thể tạo %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3863,44 +3863,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Lỗi khi đọc từ '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Đang thêm kho '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Đang xoá kho '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Không thể xác định nơi chứa kho phần mềm."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Không thể xoá '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4024,18 +4024,20 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4062,6 +4064,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4164,6 +4167,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4174,6 +4178,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4183,18 +4188,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4346,7 +4351,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4360,216 +4365,216 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr ""
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr ""
@@ -4586,15 +4591,15 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Đã huỷ cài đặt theo yêu cầu."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4602,63 +4607,63 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Thông báo cập nhật mới"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "Lỗi RPM: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4666,13 +4671,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4681,47 +4686,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4807,6 +4812,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Couldn't open file: %s."
index 2566bd6..9ce1e50 100644 (file)
--- a/po/wa.po
+++ b/po/wa.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lcn memory\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2012-08-24 14:42+0200\n"
 "Last-Translator: Jean Cayron <jean.cayron@base.be>\n"
 "Language-Team: Walloon <linux-wa@walon.org>\n"
@@ -1315,53 +1315,53 @@ msgstr "Amidrêye"
 msgid "Supplements"
 msgstr "Rawetes"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Dji n' sai drovi pty (%s)."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Dji n' sai drovi l' pupe (%s)."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "Dji n' sai fé chroot a « %s » (%s)."
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "Dji n' sai fé chdir a « / » divins chroot (%s)."
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Dji n' sai fé chroot a « %s » (%s)."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "Dji n' sai enonder « %s » (%s)."
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Dji n' sai fé on fork (%s)."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "Li comande a moussî foû avou l' sitatut %d."
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "Li comande a stî touwêye på signå %d (%s)."
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "Li comande a moussî foû avou ene aroke nén cnoxhowe."
 
@@ -3786,20 +3786,20 @@ msgstr[1] "(espire divant 24 e)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3810,7 +3810,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3830,8 +3830,8 @@ msgid "Service alias cannot start with dot."
 msgstr "On no metou di siervice ni s' pout cominçî avou on pont."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Dji n' sai nén drovi l' fitchî « %s » pol sicrire."
@@ -3852,31 +3852,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "Dji n' a trové nole meta-dnêye valåbe al/ås URL sipeciftî(s)"
 msgstr[1] "Dji n' a trové nole meta-dnêye valåbe al/ås URL sipeciftî(s)"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Dji n' sai ahiver %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "Dji n' sai ahiver l' ridant muchete des meta-dnêyes."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "Dji basti l' muchete do depot « %s »"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "Dji n' sai ahiver l' muchete a %s - pont d' droet di scrijhaedje."
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Li metaedje e muchete do depot (%d) a fwait berwete."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "Dji n' sai nén apougnî cisse sôre di depot la"
 
@@ -3886,44 +3886,44 @@ msgstr "Dji n' sai nén apougnî cisse sôre di depot la"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "Åk n' a nén stî come dji sayive di lére a pårti di « %s »"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Åk di nén cnoxhou n' a nén stî come dji léjheu a pårti d' \"%s\""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "Dji radjoute li depot « %s »"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "No do fitchî do depot so « %s » nén valåbe"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "Dji n' sai nén trover ewou ç' kel depot est wårdé."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Dji n' sai disfacer « %s »"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "Dji n' sai nén trover ewou ç' kel siervice est wårdé."
 
@@ -4051,18 +4051,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Erîlêye ratourneure « %s » nén valåbe"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "I s' fåt otintifyî po « %s »"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4089,6 +4091,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "Media nén drovou cwand dj' a sayî d' fé l' faitindje « %s »."
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Fitchî « %s » nén trové sol media « %s »"
@@ -4196,6 +4199,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Droet di moussî e « %s » rifuzé."
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "L' astådje a stî trop longue po moussî e \"%s\"."
@@ -4206,6 +4210,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "Dji n' sai moussî e l' eplaeçmint « %s » pol moumint."
@@ -4217,18 +4222,18 @@ msgstr ""
 " : rujhe di l' acertineure SSL, waitîz k' l' acert. di l' OA est boune po « "
 "%s »."
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "Metôde d' otintifiaedje HTTP \"%s\" nén sopoirtêye"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4384,7 +4389,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "Dji n' sai ahiver sat-pool."
 
@@ -4399,101 +4404,101 @@ msgstr "sketer %s e passant houte sacwantes di ses aloyances"
 msgid "generally ignore of some dependencies"
 msgstr "sketer %s e passant houte sacwantes di ses aloyances"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 "%s ni fwait nén pårteye d' on depot d' metaedje a djoû del distribucion"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s a ene årtchitecteure pus basse"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "problinme avou l' pacaedje d' astalé %s"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "dimandes d' afrontmints"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "gn des des problinmes d' aloyances"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "rén n' dene li %s dimandé"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "Avoz metou en alaedje tos les depots dmandés ?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 #, fuzzy
 msgid "unsupported request"
 msgstr "nén sopoirté"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "Çou paket n' est nén astalé et n' serè nén astalé."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s n' est nén astalåve"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "rén n' dene %s k' a dandjî %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Dji n' sai nén astaler ambedeus %s eyet %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s s' afronte avou %s ahessî pa %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s rind trop vîs %s ahessî pa %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "astalé %s trop vîs %s dinés pa %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s afrontmints rezoudåves avou %s ahessî pa lyi minme"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s a dandjî d' %s mins cisse dimande ni sait nén esse ahesseye"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "ahesseus disfacé : "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4501,106 +4506,106 @@ msgstr ""
 "\n"
 "ahesseus nén astalåves : "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "ahesseus nén astalåves : "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "èn nén astaler %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "wårder %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "èn nén espaitchî l' astalaedje di %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "Cisse dimande ci va scheter vosse sistinme !"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "passer houte l' adviertixhmint d' on sketé sistinme"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "èn nén dmander d' astaler on rezoudaedje dinant %s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "èn nén dmander d' disfacer tos les rezoudaedjes dinant %s"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "èn nén astaler l' pus nouve modêye di %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "wårder %s mågré k' il est d' ene pus basse årtchitecteure"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "astaler %s mågré k' il est d' ene pus basse årtchitecteure"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "wårder l' forpassé %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "astaler %s a pårti do depot schovté evoye"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "dismete a djoû di %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "candjmint d' årtchitecteure di %s a %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4609,12 +4614,12 @@ msgstr ""
 "astaler %s (avou candjmint d' vindeu)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "replaeçmint di %s avou %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "disastalaedje di %s"
@@ -4631,79 +4636,79 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "L' astalaedje a stî abandné come dimandé."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " enondé"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " a fwait berwete a l' enondaedje"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " a passé l' enondaedje cwand il abandnéve"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "Åk n' a nén stî come dji meteu a djoû l' notifiaedje do messaedje."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "Novea messaedje di metaedje a djoû"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM a fwait berwete :"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "L' abagaedje del clé publike %1% a fwait berwete"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "Li oistaedje del clé publike %1% a fwait berwete"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Les fitchîs d' apontiaedje po %s ont stî candjîs :"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 "rpm a schapé %s come %s mins ça n' a nén stî possibe di trover l' diferince"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4713,14 +4718,14 @@ msgstr ""
 "Vos avoz droci les 25 prumirès royes di diferince :\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 "rpm a ahivé %s come %s mins ça n' a nén stî possibe di trover l' diferince"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4731,50 +4736,50 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "Ôtès rexhowes di rpm"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "copeye di såvrité di %s ahivêye"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "Sinateure di fitchî %s nén trovêye"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "Sinateure di fitchî %s nén trovêye"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "Sinateure di fitchî %s nén trovêye"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4860,6 +4865,20 @@ msgstr ""
 msgid "Invalid parameter array join separator character"
 msgstr ""
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Dji n' sai nén drovi l' fitchî d' eclawaedje : %s"
 
index 25891f3..460e7db 100644 (file)
--- a/po/xh.po
+++ b/po/xh.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2006-11-03 12:03\n"
 "Last-Translator: Novell Language <language@novell.com>\n"
 "Language-Team: Novell Language <language@novell.com>\n"
@@ -1293,53 +1293,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Ayikwazi kuvuleka ifayili %1."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Ayikwazi kufumana %s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Ayikwazi kufumana %s."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Umyalelo okhutshwa xa kudityaniswa"
@@ -3767,20 +3767,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3791,7 +3791,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3813,8 +3813,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Igama le-VM alikwazi kuqalisa ngomvo."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Ayikwazi kuvula ifayili ukuze kubhalwe."
@@ -3834,32 +3834,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Ayikwazi kuvuleka into yolwazi olusesikrinini '%s'"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "Akakwazi kudaleka uvimba weefayili %1: %2."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3869,44 +3869,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Imposiso xa kufundwa kwidiski ye-floppy."
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Igama lefayili elithathwa ngaphandle elingasebenzisekiyo."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Ibuyisela oovimba"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Ayikwazi kuvuleka into yolwazi olusesikrinini '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4031,18 +4031,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Ulungiselelo olusebenzisekayo lwe-Url '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4069,6 +4071,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Ifayili %1 ayifunyenwanga elugcinweni."
@@ -4172,6 +4175,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Iimvume zaliwe"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4182,6 +4186,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4191,18 +4196,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4360,7 +4365,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "Ayikwazi kudaleka ifayili."
@@ -4376,222 +4381,222 @@ msgstr "Suhoya le mfuneko apha nje"
 msgid "generally ignore of some dependencies"
 msgstr "Suhoya le mfuneko apha nje"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s ibonelela%s, kodwa inenye inzululwazi ngokwakha."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "umyalelo wokuyeka ukuhlohla imibekelelo"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "Uqhagamshelo lucela uku:"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "Ayikwazi kuhlohla%s ngenxa yeengxaki zoxhomekeko"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "Akukho nanye ebonelela ngo%s "
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Idiski ayikho."
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s itshixiwe kwaye ayikwazi kungahlohlwa."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "ayihlohlwanga"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s ifunwa ngu %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Ayikwazi kuhlohla%s "
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s iimpixano ne %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s ziphelelwe lixehsa %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s ziphelelwe lixehsa %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s iimpixano ne %s"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "Akukho nanye ebonelela ngo%s "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "Akukho baboneleli bahlohliweyo baka%s"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "Akukho baboneleli bahlohliweyo baka%s"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "ungahlohli %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "Gcina%s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "ungahlohli %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "Isicelo sesikhona kakade."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "Akukho baboneleli bahlohliweyo baka%s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "Ungahlohli okanye cima izicombululi ezinxulumeneyo"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s ibonelela%s, kodwa inenye inzululwazi ngokwakha."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "Hlohla%s nangona kuza kutshintsha inzululwazi yokwakha"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s ziphelelwe lixehsa %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "Ikhuphele%s ukusuka ku%s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Ukuhlohla"
@@ -4608,16 +4613,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Ukuhlohla kuye kwalahlwa njengoko bekuyalelwe."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "Phumeza"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4625,65 +4630,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "Imposiso ngethuba loguqulelo oluntsonkothileyo lweqhosha."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "isilele"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Iifayili zobumbeko ezitshintshileyo zika%s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "i-rpm igcine %s njenge %s kodwa kwakungenzeki ukumisela umahluko"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4693,13 +4698,13 @@ msgstr ""
 "Nantsi imigca eyi-25 yokuqala yomahluko:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "i-rpm idalwe %s njenge %s kodwa kwakungenzeki ukumisela umahluko"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4710,51 +4715,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "Isivelisi se-rpm Esongezelelweyo:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "idale ugcino olukhuselekileyo %s "
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "Ukungenisa akufunyenwanga."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "Ukungenisa akufunyenwanga."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "Ukungenisa akufunyenwanga."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4846,6 +4851,20 @@ msgstr ""
 "Uphawu oluthatha isithuba somhlukanisi ohlanganisayo woludwe lomda "
 "wenkcazelo engasebenzisekiyo"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Ayikwazi kuvuleka ifayili %1."
index d5489b9..faf9f05 100644 (file)
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: YaST (@memory@)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2020-02-17 05:54+0000\n"
 "Last-Translator: Grace Yu <grace.yu@excel-gits.com>\n"
 "Language-Team: Chinese (China) <https://l10n.opensuse.org/projects/libzypp/"
@@ -1297,53 +1297,53 @@ msgstr "增强"
 msgid "Supplements"
 msgstr "补充"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "无法打开 pty (%s)。"
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "无法打开管道 (%s)。"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "无法 chroot 到 '%s' (%s)。"
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "无法 chdir 到 %s,它在 chroot %s (%s) 中。"
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "无法 chdir 到 '%s' (%s)。"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "无法执行 '%s' (%s)。"
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "无法派生 (%s)。"
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "命令退出,状态 %d。"
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "命令已被信号 %d (%s) 杀死。"
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "命令退出,未知错误。"
 
@@ -3765,20 +3765,20 @@ msgstr[0] "(%d 天后过期)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "正在缓存 %2% 中查找 GPG 密钥 ID %1%。"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "正在软件源 %2% 中查找 GPG 密钥 ID %1%。"
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "软件源 %1% 并未定义额外的 'gpgkey=' URL。"
@@ -3789,7 +3789,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "无法读取源文件夹 '%1%':权限被拒"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3809,8 +3809,8 @@ msgid "Service alias cannot start with dot."
 msgstr "服务别名不能以点开头。"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "无法打开 '%s' 文件进行写入。"
@@ -3829,31 +3829,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "在指定 URL 未找到有效元数据"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "无法创建 %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "无法创建元数据缓存文件夹。"
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "正在构建软件源 '%s' 的缓存"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "无法在 %s 创建缓存 - 无写入权限。"
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "缓存软件源 (%d) 失败。"
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "未处理的软件源类型"
 
@@ -3863,44 +3863,44 @@ msgstr "未处理的软件源类型"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "试图读取 '%s' 出错"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "读取 '%s' 遇到未知错误"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "正在添加软件源 '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "'%s' 处的源文件名无效"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "正在移除软件源 '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "不确定软件源的存储位置。"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "无法删除 '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "不确定服务的储存位置。"
 
@@ -4032,18 +4032,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "无效的正则表达式 '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "'%s' 需要认证"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr "访问 SUSE 客户中心检查您的注册码是否有效且未过期。"
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4070,6 +4072,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "当试图执行动作 '%s' 时,介质没有打开。"
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "文件 '%s' 未在介质 '%s' 上找到"
@@ -4175,6 +4178,7 @@ msgid "Permission to access '%s' denied."
 msgstr "访问 '%s' 的准入请求被拒绝。"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "访问 '%s' 时超时。"
@@ -4185,6 +4189,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "下载到的数据超出了预期文件大小 '%s'/'%s'。"
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "位置 '%s' 暂时无法访问。"
@@ -4194,18 +4199,18 @@ msgstr "位置 '%s' 暂时无法访问。"
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " SSL 证书问题,请校验 '%s' 的 CA 证书。"
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr "创建挂接点:找不到可用于创建挂接点的可写目录"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "不支持 HTTP 认证方法 '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "请先安装 'lsof' 软件包。"
 
@@ -4412,7 +4417,7 @@ msgstr ""
 " %4%\n"
 " 冲突"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "无法创建 sat-pool。"
 
@@ -4426,99 +4431,99 @@ msgstr "通过忽略一些依赖关系来断开 %s"
 msgid "generally ignore of some dependencies"
 msgstr "通常忽略一些依赖关系"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s 不属于发行版升级源"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s 架构不对应"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "已安装的 %s 软件包有问题"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "冲突的请求"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "一些依赖性问题"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "没有什么能提供所需的 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "您启用了全部请求的软件源了吗?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "软件包 %s 不存在"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "不支持的请求"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s 由系统提供,无法擦除"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s 不可安装"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "没有什么能提供 %s,而它为 %s 所需"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "无法同时安装 %s 和 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s 与 %s 冲突,后者由 %s 提供"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s 淘汰了 %s,后者由 %s 提供"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "已安装的 %s 淘汰了 %s,后者由 %s 提供"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "可解析项 %s 与自身提供的 %s 冲突"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s 需要 %s,但无法满足此需求"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "已删除提供者: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4526,106 +4531,106 @@ msgstr ""
 "\n"
 "无法安装的提供者: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "无法安装的提供者: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "移除锁定以允许移除 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "不安装 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "保留 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "移除锁定以允许安装 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "此请求将破坏您的系统!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "忽略损坏系统的警告"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "不询问就安装一个提供 %s 的解析项"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "不询问就删除全部提供 %s 的解析项"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "不安装最新版本的 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "保留 %s,即使架构不对应"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "尽管架构不对应仍安装 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "保留已淘汰的 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "从排除的软件源安装 %s"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "尽管 %1% 已收回,仍予以安装"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "允许安装 PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "尽管 %1% 已列入黑名单,仍予以安装"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "降级 %s 到 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "架构从 %s 变更到 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4634,12 +4639,12 @@ msgstr ""
 "安装 %s(包括厂商变更)\n"
 "  %s --> %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "将 %s 用 %s 取代"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "卸载 %s"
@@ -4656,78 +4661,78 @@ msgstr "正在执行 %%posttrans 脚本“%1%”"
 msgid "Executing %posttrans scripts"
 msgstr "正在执行 %p osttrans 脚本"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "安装已按指示中止。"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " 已执行"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " 执行失败"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s 早已作为 %s 执行了)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " 中止时跳过执行"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "发送更新消息通知出错。"
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "新更新消息"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM 失败: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "从文件 %1% 中导入公钥失败"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "移除公钥 %1% 失败"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "未签署包!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s 配置文件有变化:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm 已将 %s 另存为 %s,但是无法确定两者的差异"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4737,13 +4742,13 @@ msgstr ""
 "以下是前 25 行差异:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm 已将 %s 创建为 %s,但是无法确定两者的差异"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4754,47 +4759,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "额外的 RPM 输出"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "已创建备份 %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "签名正确"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "未知签名类型"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "无法校验签名"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "签名正确,但密钥是非受信的"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "签名公钥不可用"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "文件不存在或无法检查其签名"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "未签署文件"
 
@@ -4880,6 +4885,20 @@ msgstr "无效的参数映射分割的分隔符"
 msgid "Invalid parameter array join separator character"
 msgstr "无效的参数数组合并的分隔符"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "无法打开锁定文件:%s"
 
index 171e5e3..829d3bc 100644 (file)
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2020-02-17 14:54+0000\n"
 "Last-Translator: Grace Yu <grace.yu@excel-gits.com>\n"
 "Language-Team: Chinese (Taiwan) <https://l10n.opensuse.org/projects/libzypp/"
@@ -1296,53 +1296,53 @@ msgstr "增強"
 msgid "Supplements"
 msgstr "補充"
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "無法開啟 pty (%s)。"
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "無法開啟管線 (%s)。"
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr "無法 chroot 到 '%s' (%s)。"
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr "無法切換目錄到 '%s' (在 chroot '%s' 中) (%s)。"
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "無法切換目錄到 '%s' (%s)。"
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr "無法執行 '%s' (%s)。"
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "無法 fork (%s)。"
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr "指令跳出,狀態 %d。"
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr "指令被信號 %d (%s) 中止。"
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr "因未知錯誤指令跳出。"
 
@@ -3764,20 +3764,20 @@ msgstr[0] "(在 %d 天內過期)"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr "尋找快取 %2% 中的 gpg 金鑰 ID %1%。"
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr "尋找套件庫 %2% 中的 gpg 金鑰 ID %1%。"
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr "套件庫 %1% 未定義額外的 'gpgkey=' URL。"
@@ -3788,7 +3788,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr "無法讀取套件庫目錄 '%1%'︰權限遭拒"
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3808,8 +3808,8 @@ msgid "Service alias cannot start with dot."
 msgstr "服務的別名不能以點開始。"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "無法開啟檔案 '%s' 來寫入。"
@@ -3828,31 +3828,31 @@ msgid "Valid metadata not found at specified URL"
 msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] "在指定的 URL 中找不到有效的中繼資訊"
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr "無法建立 %s"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr "無法建立中繼資料快取目錄。"
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr "正在建立套件庫 '%s' 的快取"
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr "無法在 %s 建立快取 - 無寫入權限。"
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "快取套件庫失敗 (%d)。"
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr "無法處理的套件庫類型"
 
@@ -3862,44 +3862,44 @@ msgstr "無法處理的套件庫類型"
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr "嘗試自 '%s' 讀取時發生錯誤"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "由 '%s' 讀取時發生未知錯誤"
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr "正在新增套件庫 '%s'"
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "'%s' 處的套件庫檔案名稱無效"
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "正在移除套件庫 '%s'"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr "無法找到套件庫儲存的位置。"
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "無法刪除 '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr "無法找到服務儲存的位置。"
 
@@ -4031,18 +4031,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "無效的正規表示法 '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr "%s 需要驗證"
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr "造訪 SUSE Customer Center 以檢查您的註冊是否有效以及是否過期。"
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4069,6 +4071,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr "嘗試執行動作 '%s' 時未開啟媒體。"
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "檔案 '%s' 無法在媒體 '%s' 中找到"
@@ -4174,6 +4177,7 @@ msgid "Permission to access '%s' denied."
 msgstr "存取 '%s' 的權限被拒絕。"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr "存取 '%s' 時超出限定時間。"
@@ -4184,6 +4188,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr "下載到的資料超出了預期檔案大小 %s/%s。"
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr "位置 '%s' 暫時無法存取。"
@@ -4193,18 +4198,18 @@ msgstr "位置 '%s' 暫時無法存取。"
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr " SSL 憑證問題,驗證 '%s' 的 CA 憑證是否正確。"
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr "建立掛載點:無法找到可寫入的目錄以建立掛載點"
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr "不支援的 HTTP 驗證方式 '%s'"
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr "請先安裝套件 'lsof'。"
 
@@ -4403,7 +4408,7 @@ msgstr ""
 "  (來自以下的安裝\n"
 "     %4%)"
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr "無法建立 sat-pool。"
 
@@ -4417,99 +4422,99 @@ msgstr "藉由忽略它的某些相依性以破壞 %s"
 msgid "generally ignore of some dependencies"
 msgstr "一般忽略某些相依性"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr "%s 不屬於版本升級套件庫"
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s 有次要架構"
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "已安裝的套件 %s 發生問題"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr "衝突的要求"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr "一些相依性問題"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "無法提供所需的 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr "是否已啟用所有需要的套件庫?"
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "套件 %s 不存在"
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr "不支援的要求"
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s 由系統提供,無法清除"
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr "%s 無法安裝"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "無法提供 %s (%s 需要此項目)"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "無法同時安裝 %s 和 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s 與 %s 衝突 (由 %s 提供)"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s 汰換 %s (由 %s 提供)"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "安裝的 %s 會汰換 %s (由 %s 提供)"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "解決方案 %s 與 %s 衝突 (由其自己提供)"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr "%s 需要 %s,但無法提供此需求"
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr "已刪除的提供者: "
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
@@ -4517,106 +4522,106 @@ msgstr ""
 "\n"
 "無法安裝的提供者: "
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr "無法安裝的提供者: "
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr "解除鎖定以允許移除 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "請勿安裝 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "保留 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "解除鎖定以允許安裝 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr "此要求將會破壞您的系統!"
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr "忽略損毀系統的警告"
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "請勿要求安裝提供 %s 的解決方案"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "請勿要求刪除所有提供 %s 的解決方案"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr "請勿安裝最新版本的 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "保留 %s,忽略次要架構"
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "安裝 %s,忽略次要架構"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "保留過時的 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr "自排除的套件庫中安裝 %s"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr "儘管 %1% 已收回,仍予以安裝"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr "允許安裝 PTF %1%"
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr "儘管 %1% 已列入黑名單,仍予以安裝"
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "降級 %s 到 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr "架構由 %s 變更為 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
@@ -4625,12 +4630,12 @@ msgstr ""
 "安裝 %s (並變更廠商)\n"
 "  %s  -->  %s"
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr "將 %s 取代為 %s"
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "反安裝 %s"
@@ -4647,78 +4652,78 @@ msgstr "正在執行 %%posttrans 程序檔「%1%」"
 msgid "Executing %posttrans scripts"
 msgstr "正在執行 %p osttrans 程序檔"
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "安裝已如指示中止。"
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr " 已執行"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr " 執行失敗"
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr "%s 已作為 %s 執行)"
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr " 中止時跳過執行"
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr "發送更新訊息提醒失敗。"
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr "新的更新提醒"
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr "RPM 失敗: "
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr "從檔案 %1% 輸入公用金鑰失敗"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr "移除公用金鑰 %1% 失敗"
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr "套件未簽章!"
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "%s 的已變更組態檔:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "rpm 已將 %s 儲存為 %s,但看不出差異"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4728,13 +4733,13 @@ msgstr ""
 "這是前 25 行差異:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "rpm 已將 %s 建立為 %s,但看不出差異"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4745,47 +4750,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr "其他 rpm 輸出"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "已建立備份 %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr "簽章驗證正確"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr "未知的簽章類型"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr "簽章無法驗證"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr "簽章驗證正確,然而金鑰是不被信任的"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr "簽章用的公開金鑰不存在"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr "檔案不存在或是簽章無法驗證"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr "檔案未簽章"
 
@@ -4871,6 +4876,20 @@ msgstr "無效的參數映射分割分隔符號字元"
 msgid "Invalid parameter array join separator character"
 msgstr "無效的參數陣列加入分隔符號字元"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "無法開啟鎖定檔案:%s"
 
index 06f47f2..070a7cf 100644 (file)
--- a/po/zu.po
+++ b/po/zu.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: 2006-11-03 12:03\n"
 "Last-Translator: Novell Language <language@novell.com>\n"
 "Language-Team: Novell Language <language@novell.com>\n"
@@ -1293,53 +1293,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, fuzzy, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr "Couldn't open file: %s."
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, fuzzy, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr "Ayikwazi ukuvula ifayela %1."
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, fuzzy, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr "Ayiyitholi i-%s."
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, fuzzy, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr "Ayiyitholi i-%s."
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 #, fuzzy
 msgid "Command exited with unknown error."
 msgstr "Ikhomandi ekhishwa lapho ixhumeka"
@@ -3767,20 +3767,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3791,7 +3791,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, fuzzy, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3813,8 +3813,8 @@ msgid "Service alias cannot start with dot."
 msgstr "Igama le-VM alikwazi ukuqala ngenombolo."
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, fuzzy, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr "Ayikwazi ukuvula ifayela ukuze ibhale."
@@ -3834,32 +3834,32 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, fuzzy, c-format, boost-format
 msgid "Can't create %s"
 msgstr "Ayikwazi ukuvula into esesendlalelweni (desktop) '%s'"
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 #, fuzzy
 msgid "Can't create metadata cache directory."
 msgstr "Ayikwazi ukwakha i-directory '%1'. %2."
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, fuzzy, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr "Failed to parse: %s."
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3869,44 +3869,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, fuzzy, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr "Kwenzeke iphutha lapho ifunda iflophi diski."
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, fuzzy, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr "Igama lefayela yokuthekelisa engekho emthethweni."
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, fuzzy, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr "Ukubuyisela imithombo yokwaziswa"
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, fuzzy, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr "Ayikwazi ukuvula into esesendlalelweni (desktop) '%s'"
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4032,18 +4032,20 @@ msgid "Invalid regular expression '%s'"
 msgstr "Uhlelo lwe-Url olungekho emthethweni '%s'"
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid ""
 "Visit the SUSE Customer Center to check whether your registration is valid "
 "and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid ""
 "Visit the Novell Customer Center to check whether your registration is valid "
 "and has not expired."
@@ -4070,6 +4072,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, fuzzy, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr "Ifayela %1 ayitholakali enqolobaneni yamafayela."
@@ -4173,6 +4176,7 @@ msgid "Permission to access '%s' denied."
 msgstr "Izimvume zinqatshiwe"
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4183,6 +4187,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4192,18 +4197,18 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid ""
 "Create attach point: Can't find a writable directory to create an attach "
 "point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4363,7 +4368,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 #, fuzzy
 msgid "Can not create sat-pool."
 msgstr "Ayikwazi ukwakha ifayela."
@@ -4379,222 +4384,222 @@ msgstr "Sishaye indiva lesi sidingo lapha nje kuphela"
 msgid "generally ignore of some dependencies"
 msgstr "Sishaye indiva lesi sidingo lapha nje kuphela"
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, fuzzy, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr "%s ihlinzeka nge-%s, kodwa inobunye ubuciko bomklamo."
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, fuzzy, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr "ikhomandi yokukhipha amaphakheji"
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 #, fuzzy
 msgid "conflicting requests"
 msgstr "Isicelo Sokuxhuma kwi-:"
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 #, fuzzy
 msgid "some dependency problem"
 msgstr "Ayikwazi ukufaka %s ngenxa yezinkinga zohlelo oluncike kwezinye"
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, fuzzy, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr "Akukho okunikeza %s"
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, fuzzy, c-format, boost-format
 msgid "package %s does not exist"
 msgstr "Idiski ayikho."
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, fuzzy, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr "%s ihluthulelwe futhi ngeke ikwazi ukukhipheka."
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, fuzzy, c-format, boost-format
 msgid "%s is not installable"
 msgstr "alufakiwe"
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, fuzzy, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr "%s idingwa yi- %s"
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, fuzzy, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr "Ayikwazi ukufaka %s"
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, fuzzy, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr "%s ixabana ne- %s"
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, fuzzy, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr "%s yenza zingasebenzi %s"
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, fuzzy, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr "%s yenza zingasebenzi %s"
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, fuzzy, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr "%s ixabana ne- %s"
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 #, fuzzy
 msgid "deleted providers: "
 msgstr "Akukho okunikeza %s"
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 #, fuzzy
 msgid ""
 "\n"
 "not installable providers: "
 msgstr "Abekho abanye abaphakeli abafakiwe be-%s"
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 #, fuzzy
 msgid "not installable providers: "
 msgstr "Abekho abanye abaphakeli abafakiwe be-%s"
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr "ungafaki %s"
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr "Gcina %s"
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, fuzzy, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr "ungafaki %s"
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 #, fuzzy
 msgid "This request will break your system!"
 msgstr "Isicelo sesikhona kakade."
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, fuzzy, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr "Abekho abanye abaphakeli abafakiwe be-%s"
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, fuzzy, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr "Ungafaki noma ususe maqondana nezixazululi"
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, fuzzy, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr "%s ihlinzeka nge-%s, kodwa inobunye ubuciko bomklamo."
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, fuzzy, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr "Faka %s nakuba izoshintsha ubuciko bomklamo"
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, fuzzy, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr "%s yenza zingasebenzi %s"
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, fuzzy, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr "Ilande %s kwi-%s"
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, fuzzy, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr "Ukufaka uhlelo"
@@ -4611,16 +4616,16 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr "Ukufaka kuyekiwe njengoba kunikezwe isiqondiso."
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 #, fuzzy
 msgid " executed"
 msgstr "Qalisa"
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 #, fuzzy
 msgid " execution failed"
 msgstr "DBI Execution failed: %s"
@@ -4628,65 +4633,65 @@ msgstr "DBI Execution failed: %s"
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 #, fuzzy
 msgid "Error sending update message notification."
 msgstr "Kwenzeke iphutha ngesikhathi kufakwa amakhodi okuphepha."
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 #, fuzzy
 msgid "RPM failed: "
 msgstr "ayiphumelelanga"
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr "Amafayela okuhlela ashintshile e-%s:"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, fuzzy, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr "I-rpm igcine %s njenge-%s kodwa bekungenakwenzeka ukubona umehluko"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4696,13 +4701,13 @@ msgstr ""
 "Nansi imigqa yokuqala engu-25 yomehluko:\n"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, fuzzy, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr "I-rpm yakhe %s njenge-%s kodwa bekungenakwenzeka ukubona umehluko"
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4713,51 +4718,51 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 #, fuzzy
 msgid "Additional rpm output"
 msgstr "Okunye okukhishiwe kwe-rpm:"
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr "yakhe i-backup %s"
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 #, fuzzy
 msgid "Signature is OK"
 msgstr "Into ayitholakali."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 #, fuzzy
 msgid "Signature does not verify"
 msgstr "Into ayitholakali."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 #, fuzzy
 msgid "Signature is OK, but key is not trusted"
 msgstr "Into ayitholakali."
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4843,6 +4848,20 @@ msgstr "Ibalazwe lepharamitha elinganembile lihlakaza uhlamvu oluhlukanisayo"
 msgid "Invalid parameter array join separator character"
 msgstr "Iqoqo lepharamitha elinganembile lihlanganisa uhlamvu oluhlukanisayo"
 
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
+
 #, fuzzy
 #~ msgid "Can't open lock file: %s"
 #~ msgstr "Ayikwazi ukuvula ifayela %1."
index e94c588..c942ce9 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: zypp\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-05 14:22+0100\n"
+"POT-Creation-Date: 2020-09-18 16:45+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1292,53 +1292,53 @@ msgstr ""
 msgid "Supplements"
 msgstr ""
 
-#: zypp/ExternalProgram.cc:268
+#: zypp/ExternalProgram.cc:269
 #, c-format, boost-format
 msgid "Can't open pty (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:279
+#: zypp/ExternalProgram.cc:280
 #, c-format, boost-format
 msgid "Can't open pipe (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:362
+#: zypp/ExternalProgram.cc:365
 #, c-format, boost-format
 msgid "Can't chroot to '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:372
+#: zypp/ExternalProgram.cc:375
 #, c-format, boost-format
 msgid "Can't chdir to '%s' inside chroot '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:373
+#: zypp/ExternalProgram.cc:376
 #, c-format, boost-format
 msgid "Can't chdir to '%s' (%s)."
 msgstr ""
 
 #. don't want to get here
-#: zypp/ExternalProgram.cc:385
+#: zypp/ExternalProgram.cc:405
 #, c-format, boost-format
 msgid "Can't exec '%s' (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:393
+#: zypp/ExternalProgram.cc:413
 #, c-format, boost-format
 msgid "Can't fork (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:522
+#: zypp/ExternalProgram.cc:542
 #, c-format, boost-format
 msgid "Command exited with status %d."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:542
+#: zypp/ExternalProgram.cc:562
 #, c-format, boost-format
 msgid "Command was killed by signal %d (%s)."
 msgstr ""
 
-#: zypp/ExternalProgram.cc:547
+#: zypp/ExternalProgram.cc:567
 msgid "Command exited with unknown error."
 msgstr ""
 
@@ -3761,20 +3761,20 @@ msgstr[1] ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a cache directories path
-#: zypp/RepoInfo.cc:517
+#: zypp/RepoInfo.cc:542
 #, boost-format
 msgid "Looking for gpg key ID %1% in cache %2%."
 msgstr ""
 
 #. translator: %1% is a gpg key ID like 3DBDC284
 #. %2% is a repositories name
-#: zypp/RepoInfo.cc:545
+#: zypp/RepoInfo.cc:570
 #, boost-format
 msgid "Looking for gpg key ID %1% in repository %2%."
 msgstr ""
 
 #. translator: %1% is a repositories name
-#: zypp/RepoInfo.cc:569
+#: zypp/RepoInfo.cc:594
 #, boost-format
 msgid "Repository %1% does not define additional 'gpgkey=' URLs."
 msgstr ""
@@ -3785,7 +3785,7 @@ msgid "Cannot read repo directory '%1%': Permission denied"
 msgstr ""
 
 #. TranslatorExplanation '%s' is a pathname
-#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1536
+#: zypp/RepoManager.cc:320 zypp/RepoManager.cc:783 zypp/RepoManager.cc:1540
 #: zypp/repo/PluginServices.cc:49
 #, c-format, boost-format
 msgid "Failed to read directory '%s'"
@@ -3805,8 +3805,8 @@ msgid "Service alias cannot start with dot."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1654 zypp/RepoManager.cc:1720
-#: zypp/RepoManager.cc:1798 zypp/RepoManager.cc:1863 zypp/RepoManager.cc:1994
+#: zypp/RepoManager.cc:738 zypp/RepoManager.cc:1658 zypp/RepoManager.cc:1724
+#: zypp/RepoManager.cc:1802 zypp/RepoManager.cc:1867 zypp/RepoManager.cc:1998
 #, c-format, boost-format
 msgid "Can't open file '%s' for writing."
 msgstr ""
@@ -3826,31 +3826,31 @@ msgid_plural "Valid metadata not found at specified URLs"
 msgstr[0] ""
 msgstr[1] ""
 
-#: zypp/RepoManager.cc:1140 zypp/RepoManager.cc:1252 zypp/RepoManager.cc:1308
+#: zypp/RepoManager.cc:1144 zypp/RepoManager.cc:1256 zypp/RepoManager.cc:1312
 #, c-format, boost-format
 msgid "Can't create %s"
 msgstr ""
 
-#: zypp/RepoManager.cc:1148
+#: zypp/RepoManager.cc:1152
 msgid "Can't create metadata cache directory."
 msgstr ""
 
-#: zypp/RepoManager.cc:1294
+#: zypp/RepoManager.cc:1298
 #, c-format, boost-format
 msgid "Building repository '%s' cache"
 msgstr ""
 
-#: zypp/RepoManager.cc:1314
+#: zypp/RepoManager.cc:1318
 #, c-format, boost-format
 msgid "Can't create cache at %s - no writing permissions."
 msgstr ""
 
-#: zypp/RepoManager.cc:1379
+#: zypp/RepoManager.cc:1383
 #, c-format, boost-format
 msgid "Failed to cache repo (%d)."
 msgstr ""
 
-#: zypp/RepoManager.cc:1390
+#: zypp/RepoManager.cc:1394
 msgid "Unhandled repository type"
 msgstr ""
 
@@ -3860,44 +3860,44 @@ msgstr ""
 #. on ftp file-not-found(bnc #335906). Instead we'll check another types
 #. before throwing.
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1427 zypp/RepoManager.cc:2489
+#: zypp/RepoManager.cc:1431 zypp/RepoManager.cc:2493
 #, c-format, boost-format
 msgid "Error trying to read from '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1480 zypp/RepoManager.cc:2497
+#: zypp/RepoManager.cc:1484 zypp/RepoManager.cc:2501
 #, c-format, boost-format
 msgid "Unknown error reading from '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1618
+#: zypp/RepoManager.cc:1622
 #, c-format, boost-format
 msgid "Adding repository '%s'"
 msgstr ""
 
 #. TranslatorExplanation '%s' is an URL
-#: zypp/RepoManager.cc:1706
+#: zypp/RepoManager.cc:1710
 #, c-format, boost-format
 msgid "Invalid repo file name at '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1747
+#: zypp/RepoManager.cc:1751
 #, c-format, boost-format
 msgid "Removing repository '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1766 zypp/RepoManager.cc:1844
+#: zypp/RepoManager.cc:1770 zypp/RepoManager.cc:1848
 msgid "Can't figure out where the repo is stored."
 msgstr ""
 
 #. TranslatorExplanation '%s' is a filename
-#: zypp/RepoManager.cc:1780 zypp/RepoManager.cc:1982
+#: zypp/RepoManager.cc:1784 zypp/RepoManager.cc:1986
 #, c-format, boost-format
 msgid "Can't delete '%s'"
 msgstr ""
 
-#: zypp/RepoManager.cc:1970 zypp/RepoManager.cc:2420
+#: zypp/RepoManager.cc:1974 zypp/RepoManager.cc:2424
 msgid "Can't figure out where the service is stored."
 msgstr ""
 
@@ -4011,16 +4011,18 @@ msgid "Invalid regular expression '%s'"
 msgstr ""
 
 #. !\todo add comma to the message for the next release
-#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1738
+#: zypp/media/MediaCIFS.cc:427 zypp/media/MediaCurl.cc:1382
 #, c-format, boost-format
 msgid "Authentication required for '%s'"
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1111
+#: zypp/media/MediaCurl.cc:755
+#: zypp/zyppng/media/network/networkrequesterror.cc:116
 msgid "Visit the SUSE Customer Center to check whether your registration is valid and has not expired."
 msgstr ""
 
-#: zypp/media/MediaCurl.cc:1113
+#: zypp/media/MediaCurl.cc:757
+#: zypp/zyppng/media/network/networkrequesterror.cc:118
 msgid "Visit the Novell Customer Center to check whether your registration is valid and has not expired."
 msgstr ""
 
@@ -4045,6 +4047,7 @@ msgid "Medium not opened when trying to perform action '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:58
+#: zypp/zyppng/media/network/networkrequesterror.cc:127
 #, c-format, boost-format
 msgid "File '%s' not found on medium '%s'"
 msgstr ""
@@ -4147,6 +4150,7 @@ msgid "Permission to access '%s' denied."
 msgstr ""
 
 #: zypp/media/MediaException.cc:189
+#: zypp/zyppng/media/network/networkrequesterror.cc:111
 #, c-format, boost-format
 msgid "Timeout exceeded when accessing '%s'."
 msgstr ""
@@ -4157,6 +4161,7 @@ msgid "Downloaded data exceeded the expected filesize '%s' of '%s'."
 msgstr ""
 
 #: zypp/media/MediaException.cc:205
+#: zypp/zyppng/media/network/networkrequesterror.cc:107
 #, c-format, boost-format
 msgid "Location '%s' is temporarily unaccessible."
 msgstr ""
@@ -4166,16 +4171,16 @@ msgstr ""
 msgid " SSL certificate problem, verify that the CA cert is OK for '%s'."
 msgstr ""
 
-#: zypp/media/MediaHandler.cc:370
+#: zypp/media/MediaHandler.cc:369
 msgid "Create attach point: Can't find a writable directory to create an attach point"
 msgstr ""
 
-#: zypp/media/MediaUserAuth.cc:136
+#: zypp/media/MediaUserAuth.cc:140
 #, c-format, boost-format
 msgid "Unsupported HTTP authentication method '%s'"
 msgstr ""
 
-#: zypp/misc/CheckAccessDeleted.cc:444
+#: zypp/misc/CheckAccessDeleted.cc:452
 msgid "Please install package 'lsof' first."
 msgstr ""
 
@@ -4324,7 +4329,7 @@ msgid ""
 "     %4%"
 msgstr ""
 
-#: zypp/sat/detail/PoolImpl.cc:193
+#: zypp/sat/detail/PoolImpl.cc:195
 msgid "Can not create sat-pool."
 msgstr ""
 
@@ -4338,216 +4343,216 @@ msgstr ""
 msgid "generally ignore of some dependencies"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1060
+#: zypp/solver/detail/SATResolver.cc:1072
 #, c-format, boost-format
 msgid "%s does not belong to a distupgrade repository"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1063
+#: zypp/solver/detail/SATResolver.cc:1075
 #, c-format, boost-format
 msgid "%s has inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1066
+#: zypp/solver/detail/SATResolver.cc:1078
 #, c-format, boost-format
 msgid "problem with installed package %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1069
+#: zypp/solver/detail/SATResolver.cc:1081
 msgid "conflicting requests"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1072
+#: zypp/solver/detail/SATResolver.cc:1084
 msgid "some dependency problem"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1075
+#: zypp/solver/detail/SATResolver.cc:1087
 #, c-format, boost-format
 msgid "nothing provides requested %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1076
-#: zypp/solver/detail/SATResolver.cc:1080
+#: zypp/solver/detail/SATResolver.cc:1088
+#: zypp/solver/detail/SATResolver.cc:1092
 msgid "Have you enabled all requested repositories?"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1079
+#: zypp/solver/detail/SATResolver.cc:1091
 #, c-format, boost-format
 msgid "package %s does not exist"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1083
+#: zypp/solver/detail/SATResolver.cc:1095
 msgid "unsupported request"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1086
+#: zypp/solver/detail/SATResolver.cc:1098
 #, c-format, boost-format
 msgid "%s is provided by the system and cannot be erased"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1089
+#: zypp/solver/detail/SATResolver.cc:1101
 #, c-format, boost-format
 msgid "%s is not installable"
 msgstr ""
 
 #. for setting weak dependencies
-#: zypp/solver/detail/SATResolver.cc:1093
+#: zypp/solver/detail/SATResolver.cc:1105
 #, c-format, boost-format
 msgid "nothing provides %s needed by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1096
+#: zypp/solver/detail/SATResolver.cc:1108
 #, c-format, boost-format
 msgid "cannot install both %s and %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1099
+#: zypp/solver/detail/SATResolver.cc:1111
 #, c-format, boost-format
 msgid "%s conflicts with %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1102
+#: zypp/solver/detail/SATResolver.cc:1114
 #, c-format, boost-format
 msgid "%s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1105
+#: zypp/solver/detail/SATResolver.cc:1117
 #, c-format, boost-format
 msgid "installed %s obsoletes %s provided by %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1108
+#: zypp/solver/detail/SATResolver.cc:1120
 #, c-format, boost-format
 msgid "solvable %s conflicts with %s provided by itself"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1139
+#: zypp/solver/detail/SATResolver.cc:1151
 #, c-format, boost-format
 msgid "%s requires %s, but this requirement cannot be provided"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1141
+#: zypp/solver/detail/SATResolver.cc:1153
 msgid "deleted providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1151
+#: zypp/solver/detail/SATResolver.cc:1163
 msgid ""
 "\n"
 "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1153
+#: zypp/solver/detail/SATResolver.cc:1165
 msgid "not installable providers: "
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1215
+#: zypp/solver/detail/SATResolver.cc:1227
 #, c-format, boost-format
 msgid "remove lock to allow removal of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1220
-#: zypp/solver/detail/SATResolver.cc:1256
+#: zypp/solver/detail/SATResolver.cc:1232
+#: zypp/solver/detail/SATResolver.cc:1268
 #, c-format, boost-format
 msgid "do not install %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1235
-#: zypp/solver/detail/SATResolver.cc:1277
+#: zypp/solver/detail/SATResolver.cc:1247
+#: zypp/solver/detail/SATResolver.cc:1289
 #, c-format, boost-format
 msgid "keep %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1240
+#: zypp/solver/detail/SATResolver.cc:1252
 #, c-format, boost-format
 msgid "remove lock to allow installation of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1291
-#: zypp/solver/detail/SATResolver.cc:1312
+#: zypp/solver/detail/SATResolver.cc:1303
+#: zypp/solver/detail/SATResolver.cc:1324
 msgid "This request will break your system!"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1292
-#: zypp/solver/detail/SATResolver.cc:1313
+#: zypp/solver/detail/SATResolver.cc:1304
+#: zypp/solver/detail/SATResolver.cc:1325
 msgid "ignore the warning of a broken system"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1297
+#: zypp/solver/detail/SATResolver.cc:1309
 #, c-format, boost-format
 msgid "do not ask to install a solvable providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1319
+#: zypp/solver/detail/SATResolver.cc:1331
 #, c-format, boost-format
 msgid "do not ask to delete all solvables providing %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1332
+#: zypp/solver/detail/SATResolver.cc:1344
 #, c-format, boost-format
 msgid "do not install most recent version of %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1353
+#: zypp/solver/detail/SATResolver.cc:1365
 #, c-format, boost-format
 msgid "keep %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1358
+#: zypp/solver/detail/SATResolver.cc:1370
 #, c-format, boost-format
 msgid "install %s despite the inferior architecture"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1367
+#: zypp/solver/detail/SATResolver.cc:1379
 #, c-format, boost-format
 msgid "keep obsolete %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1372
+#: zypp/solver/detail/SATResolver.cc:1384
 #, c-format, boost-format
 msgid "install %s from excluded repository"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1386
+#: zypp/solver/detail/SATResolver.cc:1398
 #, boost-format
 msgid "install %1% although it has been retracted"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1389
+#: zypp/solver/detail/SATResolver.cc:1401
 #, boost-format
 msgid "allow to install the PTF %1%"
 msgstr ""
 
 #. translator: %1% is a package name
-#: zypp/solver/detail/SATResolver.cc:1392
+#: zypp/solver/detail/SATResolver.cc:1404
 #, boost-format
 msgid "install %1% although it is blacklisted"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1412
+#: zypp/solver/detail/SATResolver.cc:1424
 #, c-format, boost-format
 msgid "downgrade of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1419
+#: zypp/solver/detail/SATResolver.cc:1431
 #, c-format, boost-format
 msgid "architecture change of %s to %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1428
+#: zypp/solver/detail/SATResolver.cc:1440
 #, c-format, boost-format
 msgid ""
 "install %s (with vendor change)\n"
 "  %s  -->  %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1437
+#: zypp/solver/detail/SATResolver.cc:1449
 #, c-format, boost-format
 msgid "replacement of %s with %s"
 msgstr ""
 
-#: zypp/solver/detail/SATResolver.cc:1448
+#: zypp/solver/detail/SATResolver.cc:1460
 #, c-format, boost-format
 msgid "deinstallation of %s"
 msgstr ""
@@ -4564,78 +4569,78 @@ msgstr ""
 msgid "Executing %posttrans scripts"
 msgstr ""
 
-#: zypp/target/TargetException.cc:28
+#: zypp/target/TargetException.cc:27
 msgid "Installation has been aborted as directed."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:313
+#: zypp/target/TargetImpl.cc:347
 msgid " executed"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:335
+#: zypp/target/TargetImpl.cc:369
 msgid " execution failed"
 msgstr ""
 
 #. translators: We may find the same script content in files with different names.
 #. Only the first occurence is executed, subsequent ones are skipped. It's a one-line
 #. message for a log file. Preferably start translation with "%s"
-#: zypp/target/TargetImpl.cc:452
+#: zypp/target/TargetImpl.cc:486
 #, c-format, boost-format
 msgid "%s already executed as %s)"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:462
+#: zypp/target/TargetImpl.cc:496
 msgid " execution skipped while aborting"
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:517 zypp/target/TargetImpl.cc:537
-#: zypp/target/TargetImpl.cc:565 zypp/target/TargetImpl.cc:602
-#: zypp/target/TargetImpl.cc:610
+#: zypp/target/TargetImpl.cc:551 zypp/target/TargetImpl.cc:571
+#: zypp/target/TargetImpl.cc:599 zypp/target/TargetImpl.cc:636
+#: zypp/target/TargetImpl.cc:644
 msgid "Error sending update message notification."
 msgstr ""
 
-#: zypp/target/TargetImpl.cc:661
+#: zypp/target/TargetImpl.cc:695
 msgid "New update message"
 msgstr ""
 
 #. TranslatorExplanation after semicolon is error message
 #. TranslatorExplanation the colon is followed by an error message
-#: zypp/target/rpm/RpmDb.cc:843 zypp/target/rpm/RpmDb.cc:2123
-#: zypp/target/rpm/RpmDb.cc:2269
+#: zypp/target/rpm/RpmDb.cc:470 zypp/target/rpm/RpmDb.cc:1731
+#: zypp/target/rpm/RpmDb.cc:1887
 msgid "RPM failed: "
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1173
+#: zypp/target/rpm/RpmDb.cc:795
 #, boost-format
 msgid "Failed to import public key %1%"
 msgstr ""
 
 #. Translator: %1% is a gpg public key
-#: zypp/target/rpm/RpmDb.cc:1243
+#: zypp/target/rpm/RpmDb.cc:862
 #, boost-format
 msgid "Failed to remove public key %1%"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:1629
+#: zypp/target/rpm/RpmDb.cc:1250
 msgid "Package is not signed!"
 msgstr ""
 
 #. Translator: %s = name of an rpm package. A list of diffs follows
 #. this message.
-#: zypp/target/rpm/RpmDb.cc:1929
+#: zypp/target/rpm/RpmDb.cc:1529
 #, c-format, boost-format
 msgid "Changed configuration files for %s:"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2104
+#: zypp/target/rpm/RpmDb.cc:1712
 #, c-format, boost-format
 msgid "rpm saved %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2106
+#: zypp/target/rpm/RpmDb.cc:1714
 #, c-format, boost-format
 msgid ""
 "rpm saved %s as %s.\n"
@@ -4643,13 +4648,13 @@ msgid ""
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2109
+#: zypp/target/rpm/RpmDb.cc:1717
 #, c-format, boost-format
 msgid "rpm created %s as %s, but it was impossible to determine the difference"
 msgstr ""
 
 #. %s = filenames
-#: zypp/target/rpm/RpmDb.cc:2111
+#: zypp/target/rpm/RpmDb.cc:1719
 #, c-format, boost-format
 msgid ""
 "rpm created %s as %s.\n"
@@ -4658,47 +4663,47 @@ msgstr ""
 
 #. report additional rpm output in finish
 #. TranslatorExplanation Text is followed by a ':'  and the actual output.
-#: zypp/target/rpm/RpmDb.cc:2136 zypp/target/rpm/RpmDb.cc:2282
+#: zypp/target/rpm/RpmDb.cc:1744 zypp/target/rpm/RpmDb.cc:1900
 msgid "Additional rpm output"
 msgstr ""
 
-#: zypp/target/rpm/RpmDb.cc:2424
+#: zypp/target/rpm/RpmDb.cc:2042
 #, c-format, boost-format
 msgid "created backup %s"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2445
+#: zypp/target/rpm/RpmDb.cc:2063
 msgid "Signature is OK"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2447
+#: zypp/target/rpm/RpmDb.cc:2065
 msgid "Unknown type of signature"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2449
+#: zypp/target/rpm/RpmDb.cc:2067
 msgid "Signature does not verify"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2451
+#: zypp/target/rpm/RpmDb.cc:2069
 msgid "Signature is OK, but key is not trusted"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2453
+#: zypp/target/rpm/RpmDb.cc:2071
 msgid "Signatures public key is not available"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2455
+#: zypp/target/rpm/RpmDb.cc:2073
 msgid "File does not exist or signature can't be checked"
 msgstr ""
 
 #. translators: possible rpm package signature check result [brief]
-#: zypp/target/rpm/RpmDb.cc:2457
+#: zypp/target/rpm/RpmDb.cc:2075
 msgid "File is unsigned"
 msgstr ""
 
@@ -4783,3 +4788,17 @@ msgstr ""
 #: zypp/url/UrlUtils.cc:283
 msgid "Invalid parameter array join separator character"
 msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:132
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Error code: %s\n"
+msgstr ""
+
+#: zypp/zyppng/media/network/networkrequesterror.cc:138
+#, c-format, boost-format
+msgid ""
+"Download (curl) error for '%s':\n"
+"Unable to retrieve HTTP response\n"
+msgstr ""
diff --git a/tests/data/PoolReuseIds/SeqA/SEQA.repo b/tests/data/PoolReuseIds/SeqA/SEQA.repo
new file mode 100644 (file)
index 0000000..c6f0c50
--- /dev/null
@@ -0,0 +1,28 @@
+=Ver: 3.0
+=Pkg: package 4 1 x86_64
++Prv:
+package = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: patch:patch 4 1 x86_64
++Prv:
+patch:patch = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: pattern:pattern 4 1 x86_64
++Prv:
+pattern:pattern = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: product:product 4 1 x86_64
++Prv:
+product:product = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: srcpackage 4 1 src
+=Vnd: unkown
+=Pkg: application:application 4 1 x86_64
++Prv:
+application:application = 4-1
+-Prv:
+=Vnd: unkown
diff --git a/tests/data/PoolReuseIds/SeqA/repo.xml b/tests/data/PoolReuseIds/SeqA/repo.xml
deleted file mode 100644 (file)
index 10581db..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>package</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</package>
-<patch>
-       <name>patch</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</patch>
-<pattern>
-       <name>pattern</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</pattern>
-<product>
-       <name>product</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</product>
-<srcpackage>
-       <name>srcpackage</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</srcpackage>
-<application>
-       <name>application</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</application>
-</subchannel></channel>
diff --git a/tests/data/PoolReuseIds/SeqA/solver-test.xml b/tests/data/PoolReuseIds/SeqA/solver-test.xml
deleted file mode 100644 (file)
index 8a8f376..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <channel file="repo.xml" name="SEQA" priority="99" />
-</setup>
-</test>
diff --git a/tests/data/PoolReuseIds/SeqA/zypp-control.yaml b/tests/data/PoolReuseIds/SeqA/zypp-control.yaml
new file mode 100644 (file)
index 0000000..ea915c8
--- /dev/null
@@ -0,0 +1,35 @@
+version: 1.0
+setup:
+  channels:
+    - alias: SEQA
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: SEQA.repo
+  arch: x86_64
+  locales:
+    []
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/data/PoolReuseIds/SeqB/SeqB.repo b/tests/data/PoolReuseIds/SeqB/SeqB.repo
new file mode 100644 (file)
index 0000000..b3df6e3
--- /dev/null
@@ -0,0 +1,28 @@
+=Ver: 3.0
+=Pkg: application:application 4 1 x86_64
++Prv:
+application:application = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: package 4 1 x86_64
++Prv:
+package = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: patch:patch 4 1 x86_64
++Prv:
+patch:patch = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: pattern:pattern 4 1 x86_64
++Prv:
+pattern:pattern = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: product:product 4 1 x86_64
++Prv:
+product:product = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: srcpackage 4 1 src
+=Vnd: unkown
diff --git a/tests/data/PoolReuseIds/SeqB/oper.xml b/tests/data/PoolReuseIds/SeqB/oper.xml
deleted file mode 100644 (file)
index 868b0c4..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<channel><subchannel>
-<application>
-       <name>application</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</application>
-<package>
-       <name>package</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</package>
-<patch>
-       <name>patch</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</patch>
-<pattern>
-       <name>pattern</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</pattern>
-<product>
-       <name>product</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</product>
-<srcpackage>
-       <name>srcpackage</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</srcpackage>
-</subchannel></channel>
diff --git a/tests/data/PoolReuseIds/SeqB/solver-test.xml b/tests/data/PoolReuseIds/SeqB/solver-test.xml
deleted file mode 100644 (file)
index 8fe6348..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <channel file="oper.xml" name="SeqB" priority="99" />
-</setup>
-</test>
diff --git a/tests/data/PoolReuseIds/SeqB/zypp-control.yaml b/tests/data/PoolReuseIds/SeqB/zypp-control.yaml
new file mode 100644 (file)
index 0000000..ea9d612
--- /dev/null
@@ -0,0 +1,35 @@
+version: 1.0
+setup:
+  channels:
+    - alias: SeqB
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: SeqB.repo
+  arch: x86_64
+  locales:
+    []
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/data/TCNamespaceRecommends/@System.repo b/tests/data/TCNamespaceRecommends/@System.repo
new file mode 100644 (file)
index 0000000..039aa69
--- /dev/null
@@ -0,0 +1,21 @@
+=Ver: 3.0
+=Pkg: aspell 0 0 x86_64
++Prv:
+aspell = 0-0
+-Prv:
++Rec:
+aspell-en
+recommended-pkg
+-Rec:
+=Pkg: aspell-en 0 0 x86_64
++Prv:
+locale(aspell:en)
+aspell-en = 0-0
+-Prv:
++Sup:
+aspell & namespace:language(en)
+-Sup:
+=Pkg: glibc 0 0 x86_64
++Prv:
+glibc = 0-0
+-Prv:
diff --git a/tests/data/TCNamespaceRecommends/solver-system.xml b/tests/data/TCNamespaceRecommends/solver-system.xml
deleted file mode 100644 (file)
index a208048..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<channel><subchannel>
-
-<package>
-  <name>aspell</name>
-  <history>
-    <update>
-      <arch>x86_64</arch>
-      <version>0</version><release>0</release>
-    </update>
-  </history>
-  <recommends>
-    <dep name='aspell-en' />
-    <dep name='recommended-pkg' />
-  </recommends>
-</package>
-
-<package>
-  <name>aspell-en</name>
-  <history>
-    <update>
-      <arch>x86_64</arch>
-      <version>0</version><release>0</release>
-    </update>
-  </history>
-  <provides>
-    <dep name='locale(aspell:en)' />
-  </provides>
-  <supplements>
-    <!--- ignoring '(aspell and namespace:language(en))' -->
-  </supplements>
-</package>
-
-<package>
-  <name>glibc</name>
-  <history>
-    <update>
-      <arch>x86_64</arch>
-      <version>0</version><release>0</release>
-    </update>
-  </history>
-  <provides>
-    <dep name='glibc' op='==' version='0' release='0' />
-  </provides>
-</package>
-</subchannel></channel>
diff --git a/tests/data/TCNamespaceRecommends/solver-test.xml b/tests/data/TCNamespaceRecommends/solver-test.xml
deleted file mode 100644 (file)
index ddecaa5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <system file="solver-system.xml"/>
-       <!--
-       - alias       : update
-       - url         : http://foo.org/distribution/update
-       -->
-       <channel file="update.xml" name="update"/>
-       <locale name="en_US" />
-       <locale name="de" />
-</setup>
-</test>
diff --git a/tests/data/TCNamespaceRecommends/update.repo b/tests/data/TCNamespaceRecommends/update.repo
new file mode 100644 (file)
index 0000000..c37864d
--- /dev/null
@@ -0,0 +1,37 @@
+=Ver: 3.0
+=Pkg: aspell 1 1 x86_64
++Prv:
+aspell = 1-1
+-Prv:
++Rec:
+aspell-en
+recommended-pkg
+-Rec:
+=Pkg: aspell-en 1 1 x86_64
++Prv:
+locale(aspell:en)
+aspell-en = 1-1
+-Prv:
++Sup:
+aspell & namespace:language(en)
+-Sup:
+=Pkg: aspell-de 1 1 x86_64
++Prv:
+locale(aspell:de)
+aspell-de = 1-1
+-Prv:
++Sup:
+aspell & namespace:language(de)
+-Sup:
+=Pkg: aspell-fr 1 1 x86_64
++Prv:
+locale(aspell:fr)
+aspell-fr = 1-1
+-Prv:
++Sup:
+aspell & namespace:language(fr)
+-Sup:
+=Pkg: recommended-pkg 1 1 x86_64
++Prv:
+recommended-pkg = 1-1
+-Prv:
diff --git a/tests/data/TCNamespaceRecommends/update.xml b/tests/data/TCNamespaceRecommends/update.xml
deleted file mode 100644 (file)
index 59bd990..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<channel><subchannel>
-
-<package>
-  <name>aspell</name>
-  <history>
-    <update>
-      <arch>x86_64</arch>
-      <version>1</version><release>1</release>
-    </update>
-  </history>
-  <recommends>
-    <dep name='aspell-en' />
-    <dep name='recommended-pkg' />
-  </recommends>
-</package>
-
-<package>
-  <name>aspell-en</name>
-  <history>
-    <update>
-      <arch>x86_64</arch>
-      <version>1</version><release>1</release>
-    </update>
-  </history>
-  <provides>
-    <dep name='locale(aspell:en)' />
-  </provides>
-  <supplements>
-    <!--- ignoring '(aspell and namespace:language(en))' -->
-  </supplements>
-</package>
-
-<package>
-  <name>aspell-de</name>
-  <history>
-    <update>
-      <arch>x86_64</arch>
-      <version>1</version><release>1</release>
-    </update>
-  </history>
-  <provides>
-    <dep name='locale(aspell:de)' />
-  </provides>
-  <supplements>
-    <!--- ignoring '(aspell and namespace:language(de))' -->
-  </supplements>
-</package>
-
-<package>
-  <name>aspell-fr</name>
-  <history>
-    <update>
-      <arch>x86_64</arch>
-      <version>1</version><release>1</release>
-    </update>
-  </history>
-  <provides>
-    <dep name='locale(aspell:fr)' />
-  </provides>
-  <supplements>
-    <!--- ignoring '(aspell and namespace:language(de))' -->
-  </supplements>
-</package>
-
-<package>
-  <name>recommended-pkg</name>
-  <history>
-    <update>
-      <arch>x86_64</arch>
-      <version>1</version><release>1</release>
-    </update>
-  </history>
-</package>
-
-</subchannel></channel>
diff --git a/tests/data/TCNamespaceRecommends/zypp-control.yaml b/tests/data/TCNamespaceRecommends/zypp-control.yaml
new file mode 100644 (file)
index 0000000..3cdddcc
--- /dev/null
@@ -0,0 +1,46 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+    - alias: update
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: update.repo
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/data/TCSelectable/@System.repo b/tests/data/TCSelectable/@System.repo
new file mode 100644 (file)
index 0000000..c3b8608
--- /dev/null
@@ -0,0 +1,27 @@
+=Ver: 3.0
+=Pkg: candidate 1 1 i586
++Prv:
+candidate = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: candidatenoarch 1 1 i586
++Prv:
+candidatenoarch = 1-1
+-Prv:
+=Vnd: unknown
+=Pkg: installed_only 1 1 i586
++Prv:
+installed_only = 1-1
+-Prv:
+=Pkg: installed_only 1 0 i586
++Prv:
+installed_only = 1-0
+-Prv:
+=Pkg: installed_and_available 1 1 i586
++Prv:
+installed_and_available = 1-1
+-Prv:
+=Pkg: installed_and_available 1 0 i586
++Prv:
+installed_and_available = 1-0
+-Prv:
diff --git a/tests/data/TCSelectable/RepoHIGH.repo b/tests/data/TCSelectable/RepoHIGH.repo
new file mode 100644 (file)
index 0000000..a052888
--- /dev/null
@@ -0,0 +1,31 @@
+=Ver: 3.0
+=Pkg: candidate 4 1 x86_64
++Prv:
+candidate = 4-1
+-Prv:
+=Vnd: unkown
+=Pkg: candidate 4 1 i586
++Prv:
+candidate = 4-1
+-Prv:
+=Vnd: unknown
+=Pkg: candidatenoarch 5 1 noarch
++Prv:
+candidatenoarch = 5-1
+-Prv:
+=Vnd: unknown
+=Pkg: candidatenoarch 4 1 x86_64
++Prv:
+candidatenoarch = 4-1
+-Prv:
+=Vnd: unknown
+=Pkg: candidatenoarch 4 1 i586
++Prv:
+candidatenoarch = 4-1
+-Prv:
+=Vnd: unknown
+=Pkg: candidatenoarch 4 1 noarch
++Prv:
+candidatenoarch = 4-1
+-Prv:
+=Vnd: unknown
diff --git a/tests/data/TCSelectable/RepoHIGH.xml b/tests/data/TCSelectable/RepoHIGH.xml
deleted file mode 100644 (file)
index 924fff9..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>candidate</name>
-       <vendor>unkown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidate</name>
-       <vendor>unknown</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</package>
-
-<package>
-       <name>candidatenoarch</name>
-       <vendor>unknown</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>5</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidatenoarch</name>
-       <vendor>unknown</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidatenoarch</name>
-       <vendor>unknown</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidatenoarch</name>
-       <vendor>unknown</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>4</version>
-               <release>1</release>
-       </update></history>
-</package>
-</subchannel></channel>
diff --git a/tests/data/TCSelectable/RepoLOW.repo b/tests/data/TCSelectable/RepoLOW.repo
new file mode 100644 (file)
index 0000000..ca88740
--- /dev/null
@@ -0,0 +1,35 @@
+=Ver: 3.0
+=Pkg: candidate 2 1 x86_64
++Prv:
+candidate = 2-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: candidate 2 1 i586
++Prv:
+candidate = 2-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: installed_and_available 1 1 i586
++Prv:
+installed_and_available = 1-1
+-Prv:
+=Pkg: installed_and_available 2 1 i586
++Prv:
+installed_and_available = 2-1
+-Prv:
+=Pkg: installed_and_available 3 1 i586
++Prv:
+installed_and_available = 3-1
+-Prv:
+=Pkg: available_only 1 1 i586
++Prv:
+available_only = 1-1
+-Prv:
+=Pkg: available_only 2 1 i586
++Prv:
+available_only = 2-1
+-Prv:
+=Pkg: available_only 3 1 i586
++Prv:
+available_only = 3-1
+-Prv:
diff --git a/tests/data/TCSelectable/RepoLOW.xml b/tests/data/TCSelectable/RepoLOW.xml
deleted file mode 100644 (file)
index 2248672..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>candidate</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>2</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidate</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>2</version>
-               <release>1</release>
-       </update></history>
-</package>
-
-<package>
-       <name>installed_and_available</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>installed_and_available</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>2</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>installed_and_available</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>3</version>
-               <release>1</release>
-       </update></history>
-</package>
-
-<package>
-       <name>available_only</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>available_only</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>2</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>available_only</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>3</version>
-               <release>1</release>
-       </update></history>
-</package>
-
-</subchannel></channel>
diff --git a/tests/data/TCSelectable/RepoMID.repo b/tests/data/TCSelectable/RepoMID.repo
new file mode 100644 (file)
index 0000000..3421e51
--- /dev/null
@@ -0,0 +1,31 @@
+=Ver: 3.0
+=Pkg: candidate 0 1 x86_64
++Prv:
+candidate = 0-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: candidate 0 1 i586
++Prv:
+candidate = 0-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: candidatenoarch 0 2 noarch
++Prv:
+candidatenoarch = 0-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: candidatenoarch 0 1 x86_64
++Prv:
+candidatenoarch = 0-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: candidatenoarch 0 1 i586
++Prv:
+candidatenoarch = 0-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: candidatenoarch 0 1 noarch
++Prv:
+candidatenoarch = 0-1
+-Prv:
+=Vnd: openSUSE
diff --git a/tests/data/TCSelectable/RepoMID.xml b/tests/data/TCSelectable/RepoMID.xml
deleted file mode 100644 (file)
index d176d11..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>candidate</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidate</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</package>
-
-<package>
-       <name>candidatenoarch</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>0</version>
-               <release>2</release>
-       </update></history>
-</package>
-<package>
-       <name>candidatenoarch</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>x86_64</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidatenoarch</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidatenoarch</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</package>
-</subchannel></channel>
diff --git a/tests/data/TCSelectable/RepoSRC.repo b/tests/data/TCSelectable/RepoSRC.repo
new file mode 100644 (file)
index 0000000..6ae66c9
--- /dev/null
@@ -0,0 +1,13 @@
+=Ver: 3.0
+=Pkg: candidate 0 1 src
+=Vnd: openSUSE
+=Pkg: candidate 0 1 src
+=Vnd: openSUSE
+=Pkg: candidatenoarch 0 2 src
+=Vnd: openSUSE
+=Pkg: candidatenoarch 0 1 src
+=Vnd: openSUSE
+=Pkg: candidatenoarch 0 1 src
+=Vnd: openSUSE
+=Pkg: candidatenoarch 0 1 src
+=Vnd: openSUSE
diff --git a/tests/data/TCSelectable/RepoSRC.xml b/tests/data/TCSelectable/RepoSRC.xml
deleted file mode 100644 (file)
index dc12a6d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<channel><subchannel>
-<srcpackage>
-       <name>candidate</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</srcpackage>
-<srcpackage>
-       <name>candidate</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</srcpackage>
-
-<srcpackage>
-       <name>candidatenoarch</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>0</version>
-               <release>2</release>
-       </update></history>
-</srcpackage>
-<srcpackage>
-       <name>candidatenoarch</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</srcpackage>
-<srcpackage>
-       <name>candidatenoarch</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</srcpackage>
-<srcpackage>
-       <name>candidatenoarch</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>noarch</arch>
-               <version>0</version>
-               <release>1</release>
-       </update></history>
-</srcpackage>
-</subchannel></channel>
diff --git a/tests/data/TCSelectable/solver-system.xml b/tests/data/TCSelectable/solver-system.xml
deleted file mode 100644 (file)
index 9cac186..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>candidate</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>candidatenoarch</name>
-       <vendor>unknown</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</package>
-
-<package>
-       <name>installed_only</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>installed_only</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>0</release>
-       </update></history>
-</package>
-
-<package>
-       <name>installed_and_available</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>installed_and_available</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>0</release>
-       </update></history>
-</package>
-
-</subchannel></channel>
diff --git a/tests/data/TCSelectable/solver-test.xml b/tests/data/TCSelectable/solver-test.xml
deleted file mode 100644 (file)
index 657a7d5..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <system file="solver-system.xml"/>
-       <!--
-       - alias       : RepoHIGH
-       - url         : http://foo.org/distribution/HIGH
-       -->
-       <channel file="RepoHIGH.xml" name="RepoHIGH" priority="10" />
-       <!--
-       - alias       : RepoMID
-       - url         : http://foo.org/distribution/MID
-       -->
-       <channel file="RepoMID.xml" name="RepoMID" priority="50" />
-       <!--
-       - alias       : RepoLOW
-       - url         : http://foo.org/distribution/LOW
-       -->
-       <channel file="RepoLOW.xml" name="RepoLOW" priority="99" />
-       <!--
-       - alias       : RepoLOW
-       - url         : http://foo.org/distribution/LOW
-       -->
-       <channel file="RepoSRC.xml" name="RepoSRC" priority="99" />
-       <locale name="en_US" />
-       <locale name="de" />
-</setup>
-</test>
diff --git a/tests/data/TCSelectable/zypp-control.yaml b/tests/data/TCSelectable/zypp-control.yaml
new file mode 100644 (file)
index 0000000..1dd8ed1
--- /dev/null
@@ -0,0 +1,70 @@
+version: 1.0
+setup:
+  channels:
+    - alias: RepoHIGH
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 10
+      file: RepoHIGH.repo
+    - alias: RepoLOW
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: RepoLOW.repo
+    - alias: RepoMID
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 50
+      file: RepoMID.repo
+    - alias: RepoSRC
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: RepoSRC.repo
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/data/TCWhatObsoletes/@System.repo b/tests/data/TCWhatObsoletes/@System.repo
new file mode 100644 (file)
index 0000000..e5b2fc2
--- /dev/null
@@ -0,0 +1,26 @@
+=Ver: 3.0
+=Pkg: test1 1 1 i586
++Prv:
+test1 = 1-1
+-Prv:
++Obs:
+goaway < 2-1
+-Obs:
+=Pkg: goaway 1 1 i586
++Prv:
+goaway = 1-1
+-Prv:
+=Pkg: goaway 2 1 i586
++Prv:
+goaway = 2-1
+-Prv:
+=Pkg: meetoo 1 1 i586
++Prv:
+goaway = 1-1
+meetoo = 1-1
+-Prv:
+=Pkg: meetoo 2 1 i586
++Prv:
+goaway = 2-1
+meetoo = 2-1
+-Prv:
diff --git a/tests/data/TCWhatObsoletes/solver-system.xml b/tests/data/TCWhatObsoletes/solver-system.xml
deleted file mode 100644 (file)
index ce95a06..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>test1</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version><release>1</release>
-       </update></history>
-       <provides>
-               <dep name='test1' op='==' version='1' release='1' />
-       </provides>
-       <obsoletes>
-               <dep name='goaway' op='&lt;' version='2' release='1' />
-       </obsoletes>
-</package>
-<package>
-       <name>goaway</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version><release>1</release>
-       </update></history>
-       <provides>
-               <dep name='goaway' op='==' version='1' release='1' />
-       </provides>
-</package>
-<package>
-       <name>goaway</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>2</version><release>1</release>
-       </update></history>
-       <provides>
-               <dep name='goaway' op='==' version='2' release='1' />
-       </provides>
-</package>
-<package>
-       <name>meetoo</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version><release>1</release>
-       </update></history>
-       <provides>
-               <dep name='goaway' op='==' version='1' release='1' />
-       </provides>
-</package>
-<package>
-       <name>meetoo</name>
-       <history><update>
-               <arch>i586</arch>
-               <version>2</version><release>1</release>
-       </update></history>
-       <provides>
-               <dep name='goaway' op='==' version='2' release='1' />
-       </provides>
-</package>
-</subchannel></channel>
diff --git a/tests/data/TCWhatObsoletes/solver-test.xml b/tests/data/TCWhatObsoletes/solver-test.xml
deleted file mode 100644 (file)
index 9a2143d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="i686">
-       <system file="solver-system.xml.gz"/>
-       <locale name="en_US" />
-</setup>
-</test>
diff --git a/tests/data/TCWhatObsoletes/zypp-control.yaml b/tests/data/TCWhatObsoletes/zypp-control.yaml
new file mode 100644 (file)
index 0000000..c3c7e35
--- /dev/null
@@ -0,0 +1,36 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: i686
+  locales:
+    - fate: ""
+      name: en_US
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/data/TCdup/@System.repo b/tests/data/TCdup/@System.repo
new file mode 100644 (file)
index 0000000..4d0919b
--- /dev/null
@@ -0,0 +1,31 @@
+=Ver: 3.0
+=Pkg: product:Product 1 1 i586
++Prv:
+product:Product = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: release-package 1 1 i586
++Prv:
+product()
+product(Product) = 1-1
+release-package = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: glibc 1 1 i586
++Req:
+dropped_required
+-Req:
++Prv:
+glibc = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: dropped_required 1 1 i586
++Prv:
+dropped_required = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: dropped 1 1 i586
++Prv:
+dropped = 1-1
+-Prv:
+=Vnd: openSUSE
diff --git a/tests/data/TCdup/solver-system.xml b/tests/data/TCdup/solver-system.xml
deleted file mode 100644 (file)
index 2e60954..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<channel><subchannel>
-<product>
-       <name>Product</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</product>
-<package>
-       <name>release-package</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-        <provides>
-                <dep name='product()'/>
-                <dep name='product(Product)' op='==' version='1' release='1' />
-        </provides>
-</package>
-
-<package>
-       <name>glibc</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-        <requires>
-                <dep name='dropped_required'/>
-        </requires>
-</package>
-<package>
-       <name>dropped_required</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</package>
-<package>
-       <name>dropped</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>1</version>
-               <release>1</release>
-       </update></history>
-</package>
-</subchannel></channel>
diff --git a/tests/data/TCdup/solver-test.xml b/tests/data/TCdup/solver-test.xml
deleted file mode 100644 (file)
index 08c701d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <system file="solver-system.xml"/>
-       <!--
-       - alias       : update
-       - url         : http://foo.org/distribution/update
-       -->
-       <channel file="update.xml" name="update" priority="10" />
-       <locale name="en_US" />
-       <locale name="de" />
-</setup>
-</test>
diff --git a/tests/data/TCdup/update.repo b/tests/data/TCdup/update.repo
new file mode 100644 (file)
index 0000000..62bb3d7
--- /dev/null
@@ -0,0 +1,20 @@
+=Ver: 3.0
+=Pkg: product:Product 2 1 i586
++Prv:
+product:Product = 2-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: release-package 2 1 i586
++Prv:
+product()
+product(Product) = 2-1
+weakremover(dropped_required)
+weakremover(dropped)
+release-package = 2-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: package 2 1 i586
++Prv:
+package = 2-1
+-Prv:
+=Vnd: openSUSE
diff --git a/tests/data/TCdup/update.xml b/tests/data/TCdup/update.xml
deleted file mode 100644 (file)
index e8e0e0c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<channel><subchannel>
-<product>
-       <name>Product</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>2</version>
-               <release>1</release>
-       </update></history>
-</product>
-<package>
-       <name>release-package</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>2</version>
-               <release>1</release>
-       </update></history>
-        <provides>
-                <dep name='product()'/>
-                <dep name='product(Product)' op='==' version='2' release='1' />
-                <dep name='weakremover(dropped_required)'/>
-                <dep name='weakremover(dropped)'/>
-        </provides>
-</package>
-
-<package>
-       <name>package</name>
-       <vendor>openSUSE</vendor>
-       <history><update>
-               <arch>i586</arch>
-               <version>2</version>
-               <release>1</release>
-       </update></history>
-</package>
-</subchannel></channel>
diff --git a/tests/data/TCdup/zypp-control.yaml b/tests/data/TCdup/zypp-control.yaml
new file mode 100644 (file)
index 0000000..c372e76
--- /dev/null
@@ -0,0 +1,46 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+    - alias: update
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 10
+      file: update.repo
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
index 88ec144..bd3c6d3 100644 (file)
@@ -20,6 +20,7 @@ using boost::unit_test::test_case;
 #include <zypp/RepoManager.h>
 #include <zypp/Target.h>
 #include <zypp/ResPool.h>
+#include <zypp/misc/LoadTestcase.h>
 
 using std::cin;
 using std::cout;
@@ -34,18 +35,6 @@ using namespace zypp;
 
 #define LABELED(V) #V << ":\t" << V
 
-inline std::string getXmlNodeVal( const std::string & line_r, const std::string & node_r )
-{
-  std::string::size_type pos = line_r.find( node_r + "=\"" );
-  if ( pos != std::string::npos )
-  {
-    pos += node_r.size() + 2;
-    std::string::size_type epos = line_r.find( "\"", pos );
-    return line_r.substr( pos, epos-pos );
-  }
-  return std::string();
-}
-
 enum TestSetupOptionBits
 {
   TSO_CLEANROOT                = (1 <<  0),    // wipe rootdir in ctor
@@ -107,7 +96,7 @@ public:
   /** Whether directory \a path_r contains a solver testcase. */
   static bool isTestcase( const Pathname & path_r )
   {
-    return filesystem::PathInfo( path_r / "solver-test.xml" ).isFile();
+    return  zypp::misc::testcase::LoadTestcase::None != zypp::misc::testcase::LoadTestcase::testcaseTypeAt( path_r );
   }
 
   /** Whether directory \a path_r contains a testsetup. */
@@ -196,18 +185,9 @@ public:
   void loadRepo( const char * loc_r, const std::string & alias_r = std::string() )
   { loadRepo( std::string( loc_r ? loc_r : "" ), alias_r ); }
 
-private:
-  // repo data from solver-test.xml
-  struct RepoD {
-    DefaultIntegral<unsigned,0> priority;
-    std::string alias;
-    Url url;
-  };
-
-public:
   /** Directly load a helix repo from some testcase.
-     * An empty alias is guessed.
-     */
+   ** An empty alias is guessed.
+   **/
   void loadHelix( const Pathname & path_r, const std::string & alias_r = std::string() )
   {
     // .solv file is loaded directly using a faked RepoInfo
@@ -219,70 +199,26 @@ public:
   // Load repos included in a solver testcase.
   void loadTestcaseRepos( const Pathname & path_r )
   {
-    filesystem::PathInfo pi( path_r / "solver-test.xml" );
-    if ( ! pi.isFile() )
-    {
-      ERR << "No testcase in " << filesystem::PathInfo( path_r ) << endl;
-      return;
+    zypp::misc::testcase::LoadTestcase loader;
+    std::string err;
+    if (!loader.loadTestcaseAt( path_r, &err ) ) {
+      ZYPP_THROW( Exception(err) );
     }
-    // dumb parse
-    InputStream infile( pi.path() );
-    Arch sysarch( Arch_empty );
-    Url guessedUrl;
-    typedef std::map<std::string,RepoD> RepoI;
-    RepoI repoi;
-    for( iostr::EachLine in( infile ); in; in.next() )
-    {
-      if ( str::hasPrefix( *in, "\t<channel" ) )
-      {
-        RepoD & repod( repoi[getXmlNodeVal( *in, "file" )] );
 
-        repod.alias = getXmlNodeVal( *in, "name" );
-        repod.priority = str::strtonum<unsigned>( getXmlNodeVal( *in, "priority" ) );
-        repod.url = guessedUrl;
-        guessedUrl = Url();
-      }
-      else if ( str::hasPrefix( *in, "\t- url " ) )
-      {
-        std::string::size_type pos = in->find( ": " );
-        if ( pos != std::string::npos )
-        {
-          guessedUrl = Url( in->substr( pos+2 ) );
-        }
-      }
-      else if ( str::hasPrefix( *in, "\t<locale" ) )
-      {
-        satpool().addRequestedLocale( Locale( getXmlNodeVal( *in, "name" ) ) );
-      }
-      else if ( sysarch.empty() && str::hasPrefix( *in, "<setup" ) )
-      {
-        sysarch = Arch( getXmlNodeVal( *in, "arch" ) );
-        if ( ! sysarch.empty() )
-          ZConfig::instance().setSystemArchitecture( sysarch );
-      }
+    const auto &setup = loader.setupInfo();
+    auto tempRepoManager = repomanager();
+    if ( !setup.applySetup( tempRepoManager ) ) {
+      ZYPP_THROW( Exception("Failed to apply setup!") );
     }
 
-    //
-    filesystem::Glob files( path_r/"*{.xml,.xml.gz}", filesystem::Glob::kBrace );
-    for_( it, files.begin(), files.end() )
     {
-      std::string basename( Pathname::basename( *it ) );
-      if ( str::hasPrefix( basename, "solver-test.xml" ) )
-        continue; // master index currently unevaluated
-      if ( str::hasPrefix( basename, "solver-system.xml" ) )
-        loadTargetHelix( *it );
-      else if ( repoi.count( basename ) )
-      {
-        const RepoD & repod( repoi[basename] );
+      base::SetTracker<LocaleSet> localesTracker = setup.localesTracker();
+      localesTracker.removed().insert( localesTracker.current().begin(), localesTracker.current().end() );
+      satpool().initRequestedLocales( localesTracker.removed() );
 
-        RepoInfo nrepo;
-        nrepo.setAlias( repod.alias.empty() ? basename : repod.alias );
-        nrepo.setPriority( repod.priority );
-        nrepo.setBaseUrl( repod.url );
-        satpool().addRepoHelix( *it, nrepo );
-      }
+      localesTracker.added().insert( localesTracker.current().begin(), localesTracker.current().end() );
+      satpool().setRequestedLocales( localesTracker.added() );
     }
-
     poolProxy(); // prepare
   }
 
index 35ad17b..e534946 100644 (file)
@@ -67,8 +67,6 @@ BOOST_AUTO_TEST_CASE(LookupAttr_existingattr_matcher)
   BOOST_CHECK( q.strMatcher() );
 
   BOOST_CHECK_EQUAL( q.size(), 9 );
-  for_(it,q.begin(),q.end())
-  { cout << it << endl;}
 }
 
 BOOST_AUTO_TEST_CASE(LookupAttr_iterate_solvables)
@@ -205,8 +203,14 @@ BOOST_AUTO_TEST_CASE(LookupAttr_solvable_attribute_substructure)
   BOOST_CHECK_EQUAL( q.size(), 1212 );
 
   // search any id in any parent-structure:
+  // - https://github.com/openSUSE/libsolv/pull/402 added an additional
+  // <update:collection> flexarray to each of the 2287 entries. This is
+  // why the total size varies depending on the libsolv version used.
   q = sat::LookupAttr( sat::SolvAttr::allAttr, sat::SolvAttr::allAttr );
-  BOOST_CHECK_EQUAL( q.size(), 10473 );
+  auto qs = q.size();
+  BOOST_CHECK( qs == 10473 || qs == 12760 );
+  // for_(it,q.begin(),q.end())
+  // { cout << it << endl;}
 }
 
 BOOST_AUTO_TEST_CASE(LookupAttr_repoattr)
index 9bed39b..4f88b35 100644 (file)
@@ -1,10 +1,5 @@
 ADD_SUBDIRECTORY(base)
 
-# set the vendor.d paths correctly for the tests
-SET(VENDOR_D "${LIBZYPP_SOURCE_DIR}/tests/zypp/data/Vendor/vendors.d")
-FILE(MAKE_DIRECTORY "${LIBZYPP_BINARY_DIR}/tests/zypp/data/Vendor")
-CONFIGURE_FILE(${LIBZYPP_SOURCE_DIR}/tests/zypp/data/Vendor/zypp2.conf.cmake ${LIBZYPP_BINARY_DIR}/tests/zypp/data/Vendor/zypp2.conf @ONLY)
-
 ADD_TESTS(
   Arch
   Capabilities
@@ -45,11 +40,11 @@ ADD_TESTS(
   SetRelationMixin
   SetTracker
   StrMatcher
+  StringV
   Target
   Url
   UserData
   Vendor
-  Vendor2
 )
 
 IF (ENABLE_ZCHUNK_COMPRESSION)
index f61a5fe..ce8feb6 100644 (file)
@@ -230,7 +230,88 @@ namespace  {
         {
           { "kernel-source-1-1.noarch", false },
         }
-      }
+      },
+      TestSample {
+        TESTS_SRC_DIR"/zypp/data/PurgeKernels/fancybuildnr",
+        "5.8.1-3.g846658e-default",
+        Arch("x86_64"),
+        "latest,latest-1,running",
+        {
+          { "kernel-default-5.7.8-1.1.g8f507a0.x86_64", false },
+          { "kernel-default-5.7.9-1.1.ga010166.x86_64", false },
+          { "kernel-default-5.7.10-1.1.g6a1b5cf.x86_64", false },
+          { "kernel-default-5.7.10-3.1.gd1148b9.x86_64", false },
+          { "kernel-default-5.7.11-1.1.g5015994.x86_64", false },
+          { "kernel-default-5.7.12-1.1.g9c98feb.x86_64", false },
+          { "kernel-default-5.8.0-1.1.gd3bf2d6.x86_64", false },
+          { "kernel-default-5.8.0-2.1.g9bc0044.x86_64", false },
+          { "kernel-default-5.8.0-3.1.gd4e7682.x86_64", false },
+          { "kernel-default-5.8.1-1.1.ge6658c9.x86_64", false },
+          // those are running, latest and latest-1 , they should stay
+          //{ "kernel-default-5.8.1-2.1.g553537d.x86_64", false },
+          //{ "kernel-default-5.8.1-3.1.g846658e.x86_64", false },
+          }
+      },
+      TestSample {
+        TESTS_SRC_DIR"/zypp/data/PurgeKernels/kernel-base",
+        "5.7.8-3-default",
+        Arch("x86_64"),
+        "running",
+        {
+          { "kernel-default-base-5.7.8-1.1.1.1.x86_64", false },
+          { "kernel-default-base-5.7.8-2.1.1.1.x86_64", false },
+          //{ "kernel-default-base-5.7.8-3.1.1.1.x86_64", false },
+          { "kernel-default-base-5.8.8-2.1.1.1.x86_64", false },
+          }
+      },
+      TestSample {
+        TESTS_SRC_DIR"/zypp/data/PurgeKernels/kernel-base",
+        "5.7.8-3-default",
+        Arch("x86_64"),
+        "running, 5.7.8-2.1.1",
+        {
+          { "kernel-default-base-5.7.8-1.1.1.1.x86_64", false },
+          { "kernel-default-base-5.8.8-2.1.1.1.x86_64", false },
+          //{ "kernel-default-base-5.7.8-2.1.1.1.x86_64", false },
+          //{ "kernel-default-base-5.7.8-3.1.1.1.x86_64", false },
+          }
+      },
+      TestSample {
+        TESTS_SRC_DIR"/zypp/data/PurgeKernels/flavour",
+        "1-3-rt",
+        Arch("x86_64"),
+        "running",
+        {
+          { "kernel-rt-1-1.x86_64", false },
+          { "kernel-rt-devel-1-1.x86_64", false },
+          { "kernel-rt-devel-debuginfo-1-1.x86_64", false },
+          { "kernel-devel-rt-1-1.noarch", false },
+          { "kernel-syms-rt-1-1.x86_64", false },
+          { "kernel-source-rt-1-1.noarch", false },
+          { "kernel-rt-1-2.x86_64", false },
+          { "kernel-rt-devel-1-2.x86_64", false },
+          { "kernel-rt-devel-debuginfo-1-2.x86_64", false },
+          { "kernel-devel-rt-1-2.noarch", false },
+          { "kernel-syms-rt-1-2.x86_64", false },
+          { "kernel-rt-1-4.x86_64", false },
+          { "kernel-rt-devel-1-4.x86_64", false },
+          { "kernel-rt-devel-debuginfo-1-4.x86_64", false },
+          { "kernel-devel-rt-1-4.noarch", false },
+          { "kernel-syms-rt-1-4.x86_64", false },
+          { "kernel-rt-1-5.x86_64", false },
+          { "kernel-rt-devel-1-5.x86_64", false },
+          { "kernel-rt-devel-debuginfo-1-5.x86_64", false },
+          { "kernel-devel-rt-1-5.noarch", false },
+          { "kernel-syms-rt-1-5.x86_64", false },
+          // left over devel packages that need to go away too
+          { "kernel-devel-rt-1-1.2.noarch", false },
+          { "kernel-source-rt-1-1.2.noarch", false },
+          { "kernel-rt-devel-1-3.x86_64", false },
+          { "kernel-devel-rt-1-3.noarch", false },
+          { "kernel-rt-devel-1-3.x86_64", false },
+          { "kernel-rt-devel-debuginfo-1-3.x86_64", false },
+        }
+      },
     };
   }
 }
index 0f1dd24..bf98ec3 100644 (file)
@@ -15,18 +15,42 @@ using namespace zypp::filesystem;
 
 BOOST_AUTO_TEST_CASE(repostatus_test)
 {
-  TmpFile tmpPath;
-  TmpFile tmpPath2;
-  RepoStatus status;
-  RepoStatus fstatus( tmpPath );
-  RepoStatus fstatus2( tmpPath2 );
-  BOOST_CHECK_EQUAL( status.empty(), true );
-  BOOST_CHECK_EQUAL( (status&&status).empty(), true );
-
-  BOOST_CHECK_EQUAL( fstatus.empty(), false );
-  BOOST_CHECK_EQUAL( (fstatus&&status).empty(), false );
-
-  BOOST_CHECK_EQUAL( (fstatus&&status), (status&&fstatus) );
-  BOOST_CHECK_EQUAL( (fstatus&&fstatus2), (fstatus2&&fstatus) );
-
+  RepoStatus e;
+  RepoStatus E { "", 42 };     // empty refers to the checksum only, not to the timestamp!
+  RepoStatus a { "aa", 0 };
+  RepoStatus b { "bb", 1 };
+  RepoStatus c { "cc", 2 };
+
+  BOOST_CHECK_EQUAL( e.empty(), true );
+  BOOST_CHECK_EQUAL( e.timestamp(), 0 );
+  BOOST_CHECK_EQUAL( (e && e).empty(), true );
+
+  BOOST_CHECK_EQUAL( E.empty(), true );
+  BOOST_CHECK_EQUAL( E.timestamp(), 42 );
+  RepoStatus r { E && e };
+  BOOST_CHECK_EQUAL( r.empty(), true );
+  BOOST_CHECK_EQUAL( r.timestamp(), 42 );
+  r = e && E;
+  BOOST_CHECK_EQUAL( r.empty(), true );
+  BOOST_CHECK_EQUAL( r.timestamp(), 42 );
+  r = E && E;
+  BOOST_CHECK_EQUAL( r.empty(), true );
+  BOOST_CHECK_EQUAL( r.timestamp(), 42 );
+
+
+  BOOST_CHECK_EQUAL( a.empty(), false );
+  BOOST_CHECK_EQUAL( a.timestamp(), 0 );
+
+  r = e && a;
+  BOOST_CHECK_EQUAL( r.empty(), false );
+  BOOST_CHECK_EQUAL( r.timestamp(), a.timestamp() );   // max timestamp
+
+  r = a && b;
+  BOOST_CHECK_EQUAL( r, (b && a) );
+  BOOST_CHECK_EQUAL( r.timestamp(), b.timestamp() );   // max timestamp
+
+  r = a && b && c;
+  BOOST_CHECK_EQUAL( r, (a && b) && c );
+  BOOST_CHECK_EQUAL( r, a && (b && c) );
+  BOOST_CHECK_EQUAL( r.timestamp(), c.timestamp() );   // max timestamp
 }
diff --git a/tests/zypp/StringV_test.cc b/tests/zypp/StringV_test.cc
new file mode 100644 (file)
index 0000000..d9cb8bc
--- /dev/null
@@ -0,0 +1,12 @@
+#include <boost/test/unit_test.hpp>
+#include <iostream>
+#include <zypp/base/StringV.h>
+
+using std::cout;
+using std::endl;
+
+BOOST_AUTO_TEST_CASE(tbd)
+{
+
+}
+
index bea8d7a..7f44363 100644 (file)
@@ -90,13 +90,15 @@ BOOST_AUTO_TEST_CASE(test_url1)
 
     // asString shouldn't print the password, asCompleteString should.
     // further, the "//" at the begin of the path should be keept.
-    str = "http://user:pass@localhost//srv/ftp";
-    one = "http://user@localhost//srv/ftp";
+    str = "http://user:pass@localhost//srv/ftp?proxypass=@PROXYPASS@&proxy=proxy.my&proxyuser=@PROXYUSER@&Xproxypass=NOTTHIS&proxypass=@PROXYPASS@&proxypass=@PROXYPASS@";
+    one = "http://user@localhost//srv/ftp?proxy=proxy.my&proxyuser=@PROXYUSER@&Xproxypass=NOTTHIS";
     two = str;
     url = str;
 
     BOOST_CHECK_EQUAL( one, url.asString() );
     BOOST_CHECK_EQUAL( two, url.asCompleteString() );
+    // hidden proxypass in the query is available when explicitely asked for
+    BOOST_CHECK_EQUAL( url.getQueryParam( "proxypass" ), "@PROXYPASS@" );
 
     // absolute path defaults to 'file://'
     str = "/some/local/path";
diff --git a/tests/zypp/Vendor2_test.cc b/tests/zypp/Vendor2_test.cc
deleted file mode 100644 (file)
index fdcc854..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#include <iostream>
-#include <list>
-#include <string>
-
-// Boost.Test
-#include <boost/test/unit_test.hpp>
-
-#include <zypp/base/LogControl.h>
-#include <zypp/base/Logger.h>
-#include <zypp/base/Exception.h>
-#include <zypp/ZYpp.h>
-#include <zypp/VendorAttr.h>
-
-using boost::unit_test::test_case;
-using namespace zypp;
-
-namespace zypp
-{
-  void reconfigureZConfig( const Pathname & );
-}
-
-#define DATADIR (Pathname(TESTS_BUILD_DIR) + "/zypp/data/Vendor")
-
-
-BOOST_AUTO_TEST_CASE(vendor2_test)
-{
-  reconfigureZConfig( DATADIR / "zypp2.conf" );
-  // bsc#1030686: Remove legacy vendor equivalence between 'suse' and 'opensuse'
-
-  BOOST_REQUIRE( VendorAttr::instance().equivalent("suse", "suse") );
-  BOOST_REQUIRE( VendorAttr::instance().equivalent("equal", "equal") );
-  BOOST_REQUIRE( VendorAttr::instance().equivalent("suse", "SuSE") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse", "SuSE") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("open", "SuSE") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("nothing", "SuSE") );
-  BOOST_REQUIRE( VendorAttr::instance().equivalent("nvidia", "SuSE") );
-  BOOST_REQUIRE( VendorAttr::instance().equivalent("nvidia_new_new", "SuSE") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("nvidia", "opensuse") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("ati", "SuSE") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("ati", "nvidia") );
-  BOOST_REQUIRE( VendorAttr::instance().equivalent("ati_new", "ati") );
-}
-
index 38880ea..9317878 100644 (file)
@@ -9,24 +9,25 @@
 #include <zypp/base/LogControl.h>
 #include <zypp/base/Logger.h>
 #include <zypp/base/Exception.h>
-#include <zypp/ZYpp.h>
 #include <zypp/VendorAttr.h>
 
 using boost::unit_test::test_case;
 using namespace zypp;
-
-namespace zypp
-{
-  void reconfigureZConfig( const Pathname & );
-}
+using std::cout;
+using std::endl;
 
 #define DATADIR (Pathname(TESTS_SRC_DIR) + "/zypp/data/Vendor")
 
 BOOST_AUTO_TEST_CASE(vendor_empty)
 {
+  VendorAttr::noTargetInstance() = VendorAttr(); // suse defaults; no configfiles read
+
   BOOST_REQUIRE( VendorAttr::instance().equivalent("", "") );
   BOOST_REQUIRE( !VendorAttr::instance().equivalent("a", "") );
   BOOST_REQUIRE( !VendorAttr::instance().equivalent("", "a") );
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("a", "a") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("a", "aa") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("aa", "a") );
 
   BOOST_REQUIRE( VendorAttr::instance().equivalent( IdString::Null, IdString::Null ) );
   BOOST_REQUIRE( VendorAttr::instance().equivalent( IdString::Empty, IdString::Null ) );
@@ -36,23 +37,51 @@ BOOST_AUTO_TEST_CASE(vendor_empty)
 
 BOOST_AUTO_TEST_CASE(vendor_test1)
 {
-  reconfigureZConfig( DATADIR / "zypp1.conf" );
+
+  VendorAttr::noTargetInstance() = VendorAttr(); // suse defaults; no configfiles read
   // bsc#1030686: Remove legacy vendor equivalence between 'suse' and 'opensuse'
   // No vendor definition files has been read. So only suse* vendors are
   // equivalent
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("suse", "SuSE as prefix") );
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("SuSE as prefix", "suse") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("SuSE as prefix","foreign") );
+  // bnc#812608: All opensuse projects get their own class (no prefix compare in opensuse namespace)
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse",           "SuSE as prefix") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse as prefix", "SuSE as prefix") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse",           "opensuse as prefix") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse as prefix", "opensuse but different prefix") );
+}
+
+BOOST_AUTO_TEST_CASE(vendor_test2)
+{
+  VendorAttr::noTargetInstance() = VendorAttr( DATADIR / "vendors.d" );
+
   BOOST_REQUIRE( VendorAttr::instance().equivalent("suse", "suse") );
   BOOST_REQUIRE( VendorAttr::instance().equivalent("equal", "equal") );
   BOOST_REQUIRE( VendorAttr::instance().equivalent("suse", "SuSE") );
   BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse", "SuSE") );
   BOOST_REQUIRE( !VendorAttr::instance().equivalent("open", "SuSE") );
   BOOST_REQUIRE( !VendorAttr::instance().equivalent("nothing", "SuSE") );
-
-  // but "opensuse build service" gets its own class:
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse build service", "suse") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse build service", "opensuse") );
-  // bnc#812608: All opensuse projects get their own class
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse-education", "suse") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse-education", "opensuse") );
-  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse-education", "opensuse build service") );
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("nvidia", "SuSE") );
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("nvidia_new_new", "SuSE") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("nvidia", "opensuse") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("ati", "SuSE") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("ati", "nvidia") );
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("ati_new", "ati") );
 }
 
+BOOST_AUTO_TEST_CASE(vendor_test3)
+{
+  VendorAttr::noTargetInstance() = VendorAttr(); // suse defaults; no configfiles read
+  VendorAttr::noTargetInstance().addVendorList( { "suse", "opensuse", "opensuse too" } );
+
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("SuSE as prefix", "opensuse") );
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("SuSE as prefix", "opensuse too") );
+  BOOST_REQUIRE( VendorAttr::instance().equivalent("opensuse", "opensuse too") );
+  // bnc#812608: All opensuse projects get their own class (no prefix compare in opensuse namespace)
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("SuSE as prefix", "opensuse as prefix") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("SuSE as prefix", "opensuse too as prefix") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse",           "opensuse too as prefix") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse as prefix", "opensuse too") );
+  BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse as prefix", "opensuse too as prefix") );
+}
diff --git a/tests/zypp/data/PurgeKernels/arch/@System.repo b/tests/zypp/data/PurgeKernels/arch/@System.repo
new file mode 100644 (file)
index 0000000..31515f0
--- /dev/null
@@ -0,0 +1,485 @@
+=Ver: 3.0
+=Pkg: glibc 1 1 x86_64
++Prv:
+glibc = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-firmware <NULL> - noarch
++Prv:
+kernel-firmware = 20190312-lp151.2.3.1
+kernel-firmware = <NULL>
+-Prv:
+=Pkg: kernel-macros 1 0 noarch
++Prv:
+kernel-subpackage-macros
+kernel-macros = 1-0
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 1 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-1
+kernel = 1-1
+kernel-uname-r = 1-1-default
+kernel-default = 1-1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 1 x86_64
++Req:
+kernel = 1-1
+-Req:
++Prv:
+kernel-livepatch-default-1-1
+kernel-livepatch-default = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 1 x86_64
++Req:
+kernel-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-1
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 1 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 1 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 1 x86_64
++Req:
+kernel-devel = 1-1
+kernel-default-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-1
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: kernel-default 1 2 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-2
+kernel = 1-2
+kernel-uname-r = 1-2-default
+kernel-default = 1-2
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 2 x86_64
++Req:
+kernel = 1-2
+-Req:
++Prv:
+kernel-livepatch-default-1-2
+kernel-livepatch-default = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 2 x86_64
++Req:
+kernel-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-2
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 2 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 2 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 2 x86_64
++Req:
+kernel-devel = 1-2
+kernel-default-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 5 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-5
+kernel = 1-5
+kernel-uname-r = 1-5-default
+ksym(foobar) = abdcfee
+kernel-default = 1-5
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 5 x86_64
++Req:
+kernel-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-5
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 5 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-5
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 5 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-5
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 5 x86_64
++Req:
+kernel-devel = 1-5
+kernel-default-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-5
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: dummy-kmp-default 1 0 x86_64
++Req:
+kernel-default-devel
+ksym(foobar) = abdcfee
+-Req:
++Prv:
+kmod(dummy)
+dummy-kmp-default = 1-0
+-Prv:
+=Pkg: kernel-default 1 1 i686
++Prv:
+multiversion(kernel)
+kernel-default-1-1
+kernel = 1-1
+kernel-uname-r = 1-1-default
+kernel-default = 1-1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 1 i686
++Req:
+kernel = 1-1
+-Req:
++Prv:
+kernel-livepatch-default-1-1
+kernel-livepatch-default = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 1 i686
++Req:
+kernel-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-1
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 1 i686
++Prv:
+kernel-default-devel-debuginfo = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 1 i686
++Req:
+kernel-devel = 1-1
+kernel-default-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-1
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: kernel-default 1 2 i686
++Prv:
+multiversion(kernel)
+kernel-default-1-2
+kernel = 1-2
+kernel-uname-r = 1-2-default
+kernel-default = 1-2
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 2 i686
++Req:
+kernel = 1-2
+-Req:
++Prv:
+kernel-livepatch-default-1-2
+kernel-livepatch-default = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 2 i686
++Req:
+kernel-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-2
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 2 i686
++Prv:
+kernel-default-devel-debuginfo = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 2 i686
++Req:
+kernel-devel = 1-2
+kernel-default-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 5 i686
++Prv:
+multiversion(kernel)
+kernel-default-1-5
+kernel = 1-5
+kernel-uname-r = 1-5-default
+ksym(foobar) = abdcfee
+kernel-default = 1-5
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 5 i686
++Req:
+kernel-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-5
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 5 i686
++Prv:
+kernel-default-devel-debuginfo = 1-5
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 5 i686
++Req:
+kernel-devel = 1-5
+kernel-default-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-5
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: dummy-kmp-default 1 0 i686
++Req:
+kernel-default-devel
+ksym(foobar) = abdcfee
+-Req:
++Prv:
+kmod(dummy)
+dummy-kmp-default = 1-0
+-Prv:
+=Pkg: kernel-default 1 1 aarch64
++Prv:
+multiversion(kernel)
+kernel-default-1-1
+kernel = 1-1
+kernel-uname-r = 1-1-default
+kernel-default = 1-1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 1 aarch64
++Req:
+kernel = 1-1
+-Req:
++Prv:
+kernel-livepatch-default-1-1
+kernel-livepatch-default = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 1 aarch64
++Req:
+kernel-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-1
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 1 aarch64
++Prv:
+kernel-default-devel-debuginfo = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 1 aarch64
++Req:
+kernel-devel = 1-1
+kernel-default-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-1
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: kernel-default 1 2 aarch64
++Prv:
+multiversion(kernel)
+kernel-default-1-2
+kernel = 1-2
+kernel-uname-r = 1-2-default
+kernel-default = 1-2
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 2 aarch64
++Req:
+kernel = 1-2
+-Req:
++Prv:
+kernel-livepatch-default-1-2
+kernel-livepatch-default = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 2 aarch64
++Req:
+kernel-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-2
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 2 aarch64
++Prv:
+kernel-default-devel-debuginfo = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 2 aarch64
++Req:
+kernel-devel = 1-2
+kernel-default-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 5 aarch64
++Prv:
+multiversion(kernel)
+kernel-default-1-5
+kernel = 1-5
+kernel-uname-r = 1-5-default
+ksym(foobar) = abdcfee
+kernel-default = 1-5
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 5 aarch64
++Req:
+kernel-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-5
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 5 aarch64
++Prv:
+kernel-default-devel-debuginfo = 1-5
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 5 aarch64
++Req:
+kernel-devel = 1-5
+kernel-default-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-5
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: dummy-kmp-default 1 0 aarch64
++Req:
+kernel-default-devel
+ksym(foobar) = abdcfee
+-Req:
++Prv:
+kmod(dummy)
+dummy-kmp-default = 1-0
+-Prv:
diff --git a/tests/zypp/data/PurgeKernels/arch/solver-system.xml b/tests/zypp/data/PurgeKernels/arch/solver-system.xml
deleted file mode 100644 (file)
index 642e0d4..0000000
+++ /dev/null
@@ -1,950 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>glibc</name>
-       <vendor>openSUSE</vendor>
-       <history>
-           <update>
-                   <arch>x86_64</arch>
-                   <version>1</version><release>1</release>
-           </update>
-       </history>
-       <provides>
-               <dep name='glibc' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-firmware</name>
-    <provides>
-        <dep name='kernel-firmware' op='==' version='20190312' release='lp151.2.3.1' />
-    </provides>
-</package>
-
-<package>
-       <name>kernel-macros</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-subpackage-macros' />
-               <dep name='kernel-macros' op='==' version='1' release='0' />
-       </provides>
-</package>
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-1' />
-               <dep name='kernel' op='==' version='1' release='1' />
-               <dep name='kernel-uname-r' op='==' version='1-1' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-1' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='1' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-2' />
-               <dep name='kernel' op='==' version='1' release='2' />
-               <dep name='kernel-uname-r' op='==' version='1-2' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-2' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='2' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='2' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-5' />
-               <dep name='kernel' op='==' version='1' release='5' />
-               <dep name='kernel-uname-r' op='==' version='1-5' release='default' />
-               <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='5' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </requires>
-</package>
-
-<package>
-    <name>dummy-kmp-default</name>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kmod(dummy)' />
-               <dep name='dummy-kmp-default' op='==' version='1' release='0' />
-       </provides>
-       <requires>
-               <dep name='kernel-default-devel'/>
-    <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </requires>
-</package>
-
-<!-- END KERNEL SET -->
-
-<!-- NEXT ARCH ____________________________________________________________________________ -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-1' />
-               <dep name='kernel' op='==' version='1' release='1' />
-               <dep name='kernel-uname-r' op='==' version='1-1' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-1' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='1' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-2' />
-               <dep name='kernel' op='==' version='1' release='2' />
-               <dep name='kernel-uname-r' op='==' version='1-2' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-2' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='2' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='2' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-5' />
-               <dep name='kernel' op='==' version='1' release='5' />
-               <dep name='kernel-uname-r' op='==' version='1-5' release='default' />
-               <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='5' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </requires>
-</package>
-
-<package>
-    <name>dummy-kmp-default</name>
-       <history>
-       <update>
-               <arch>i686</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kmod(dummy)' />
-               <dep name='dummy-kmp-default' op='==' version='1' release='0' />
-       </provides>
-       <requires>
-               <dep name='kernel-default-devel'/>
-    <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </requires>
-</package>
-
-<!-- END KERNEL SET -->
-
-<!-- NEXT ARCH ____________________________________________________________________________ -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-1' />
-               <dep name='kernel' op='==' version='1' release='1' />
-               <dep name='kernel-uname-r' op='==' version='1-1' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-1' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='1' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-2' />
-               <dep name='kernel' op='==' version='1' release='2' />
-               <dep name='kernel-uname-r' op='==' version='1-2' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-2' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='2' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='2' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-5' />
-               <dep name='kernel' op='==' version='1' release='5' />
-               <dep name='kernel-uname-r' op='==' version='1-5' release='default' />
-               <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='5' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </requires>
-</package>
-
-<package>
-    <name>dummy-kmp-default</name>
-       <history>
-       <update>
-               <arch>aarch64</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kmod(dummy)' />
-               <dep name='dummy-kmp-default' op='==' version='1' release='0' />
-       </provides>
-       <requires>
-               <dep name='kernel-default-devel'/>
-    <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </requires>
-</package>
-
-<!-- END KERNEL SET -->
-
-
-</subchannel>
-</channel>
diff --git a/tests/zypp/data/PurgeKernels/arch/solver-test.xml b/tests/zypp/data/PurgeKernels/arch/solver-test.xml
deleted file mode 100644 (file)
index 993d537..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <system file="solver-system.xml"/>
-       <locale name="en_US" />
-       <locale name="de" />
-</setup>
-</test>
diff --git a/tests/zypp/data/PurgeKernels/arch/zypp-control.yaml b/tests/zypp/data/PurgeKernels/arch/zypp-control.yaml
new file mode 100644 (file)
index 0000000..e80c106
--- /dev/null
@@ -0,0 +1,38 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/zypp/data/PurgeKernels/fancybuildnr/@System.repo b/tests/zypp/data/PurgeKernels/fancybuildnr/@System.repo
new file mode 100644 (file)
index 0000000..e08fb27
--- /dev/null
@@ -0,0 +1,155 @@
+=Ver: 3.0
+=Pkg: glibc 1 1 x86_64
++Prv:
+glibc = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-firmware <NULL> - noarch
++Prv:
+kernel-firmware = 20190312-lp151.2.3.1
+kernel-firmware = <NULL>
+-Prv:
+=Pkg: kernel-default 5.7.8 1.1.g8f507a0 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.8-1.1.g8f507a0
+kernel = 5.7.8-1.1.g8f507a0
+kernel-uname-r = 5.7.8-1.g8f507a0-default
+kernel-default = 5.7.8-1.1.g8f507a0
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.7.9 1.1.ga010166 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.9-1.1.ga010166
+kernel = 5.7.9-1.1.ga010166
+kernel-uname-r = 5.7.9-1.ga010166-default
+kernel-default = 5.7.9-1.1.ga010166
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.7.10 1.1.g6a1b5cf x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.10-1.1.g6a1b5cf
+kernel = 5.7.10-1.1.g6a1b5cf
+kernel-uname-r = 5.7.10-1.g6a1b5cf-default
+kernel-default = 5.7.10-1.1.g6a1b5cf
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.7.10 3.1.gd1148b9 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.10-3.1.gd1148b9
+kernel = 5.7.10-3.1.gd1148b9
+kernel-uname-r = 5.7.10-3.gd1148b9-default
+kernel-default = 5.7.10-3.1.gd1148b9
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.7.11 1.1.g5015994 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.11-1.1.g5015994
+kernel = 5.7.11-1.1.g5015994
+kernel-uname-r = 5.7.11-1.g5015994-default
+kernel-default = 5.7.11-1.1.g5015994
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.7.12 1.1.g9c98feb x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.12-1.1.g9c98feb
+kernel = 5.7.12-1.1.g9c98feb
+kernel-uname-r = 5.7.12-1.g9c98feb-default
+kernel-default = 5.7.12-1.1.g9c98feb
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.8.0 1.1.gd3bf2d6 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.8.0-1.1.gd3bf2d6
+kernel = 5.8.0-1.1.gd3bf2d6
+kernel-uname-r = 5.8.0-1.gd3bf2d6-default
+kernel-default = 5.8.0-1.1.gd3bf2d6
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.8.0 2.1.g9bc0044 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.8.0-2.1.g9bc0044
+kernel = 5.8.0-2.1.g9bc0044
+kernel-uname-r = 5.8.0-2.g9bc0044-default
+kernel-default = 5.8.0-2.1.g9bc0044
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.8.0 3.1.gd4e7682 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.8.0-3.1.gd4e7682
+kernel = 5.8.0-3.1.gd4e7682
+kernel-uname-r = 5.8.0-3.gd4e7682-default
+kernel-default = 5.8.0-3.1.gd4e7682
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.8.1 1.1.ge6658c9 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.8.1-1.1.ge6658c9
+kernel = 5.8.1-1.1.ge6658c9
+kernel-uname-r = 5.8.1-1.ge6658c9-default
+kernel-default = 5.8.1-1.1.ge6658c9
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.8.1 2.1.g553537d x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.8.1-2.1.g553537d
+kernel = 5.8.1-2.1.g553537d
+kernel-uname-r = 5.8.1-2.g553537d-default
+kernel-default = 5.8.1-2.1.g553537d
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default 5.8.1 3.1.g846658e x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.8.1-3.1.g846658e
+kernel = 5.8.1-3.1.g846658e
+kernel-uname-r = 5.8.1-3.g846658e-default
+kernel-default = 5.8.1-3.1.g846658e
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
diff --git a/tests/zypp/data/PurgeKernels/fancybuildnr/zypp-control.yaml b/tests/zypp/data/PurgeKernels/fancybuildnr/zypp-control.yaml
new file mode 100644 (file)
index 0000000..e80c106
--- /dev/null
@@ -0,0 +1,38 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/zypp/data/PurgeKernels/flavour/@System.repo b/tests/zypp/data/PurgeKernels/flavour/@System.repo
new file mode 100644 (file)
index 0000000..0f5ba45
--- /dev/null
@@ -0,0 +1,356 @@
+=Ver: 3.0
+=Pkg: glibc 1 1 x86_64
++Prv:
+glibc = 1-1
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-firmware <NULL> - noarch
++Prv:
+kernel-firmware = 20190312-lp151.2.3.1
+kernel-firmware = <NULL>
+-Prv:
+
+=Pkg: kernel-macros 1 0 noarch
++Prv:
+kernel-subpackage-macros
+kernel-macros = 1-0
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt 1 1 x86_64
++Prv:
+multiversion(kernel)
+kernel-rt-1-1
+kernel = 1-1
+kernel-uname-r = 1-1-rt
+kernel-rt = 1-1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel 1 1 x86_64
++Req:
+kernel-devel-rt = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-rt-devel = 1-1
+-Prv:
++Sup:
+kernel-rt & kernel-devel-rt
+-Sup:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel-debuginfo 1 1 x86_64
++Prv:
+kernel-rt-devel-debuginfo = 1-1
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-devel-rt 1 1 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel-rt = 1-1
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-source-rt 1 1 noarch
++Req:
+kernel-devel-rt = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-source-rt = 1-1
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-devel-rt 1 1.2 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel-rt = 1-1
+kernel-devel-rt = 1-1.2
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-source-rt 1 1.2 noarch
++Req:
+kernel-devel-rt = 1-1.2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-source-rt = 1-1
+kernel-source-rt = 1-1.2
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-syms-rt 1 1 x86_64
++Req:
+kernel-devel-rt = 1-1
+kernel-rt-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms-rt = 1-1
+-Prv:
+=Vnd: openSUSE
+
+=Tim: 1570603549
+=Pkg: kernel-rt 1 2 x86_64
++Prv:
+multiversion(kernel)
+kernel-rt-1-2
+kernel = 1-2
+kernel-uname-r = 1-2-rt
+kernel-rt = 1-2
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel 1 2 x86_64
++Req:
+kernel-devel-rt = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-rt-devel = 1-2
+-Prv:
++Sup:
+kernel-rt & kernel-devel-rt
+-Sup:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel-debuginfo 1 2 x86_64
++Prv:
+kernel-rt-devel-debuginfo = 1-2
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-devel-rt 1 2 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel-rt = 1-2
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-syms-rt 1 2 x86_64
++Req:
+kernel-devel-rt = 1-2
+kernel-rt-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms-rt = 1-2
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt 1 3 x86_64
++Prv:
+multiversion(kernel)
+kernel-rt-1-3
+kernel = 1-3
+kernel-uname-r = 1-3-rt
+kernel-rt = 1-3
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel 1 3 x86_64
++Req:
+kernel-devel-rt = 1-3
+-Req:
++Prv:
+multiversion(kernel)
+kernel-rt-devel = 1-3
+-Prv:
++Sup:
+kernel-rt & kernel-devel-rt
+-Sup:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel 1 3.2 x86_64
++Req:
+kernel-devel-rt = 1-3.2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-rt-devel = 1-3
+kernel-rt-devel = 1-3.2
+-Prv:
++Sup:
+kernel-rt & kernel-devel-rt
+-Sup:
+=Vnd: openSUSE
+
+=Pkg: kernel-devel-rt 1 3.2 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel-rt = 1-3
+kernel-devel-rt = 1-3.2
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-source-rt 1 3.2 noarch
++Req:
+kernel-devel-rt = 1-3.2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-source-rt = 1-3
+kernel-source-rt = 1-3.2
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel-debuginfo 1 3 x86_64
++Prv:
+kernel-rt-devel-debuginfo = 1-3
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-devel-rt 1 3 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel-rt = 1-3
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-syms-rt 1 3 x86_64
++Req:
+kernel-devel-rt = 1-3
+kernel-rt-devel = 1-3
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms-rt = 1-3
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt 1 4 x86_64
++Prv:
+multiversion(kernel)
+kernel-rt-1-4
+kernel = 1-4
+kernel-uname-r = 1-4-rt
+kernel-rt = 1-4
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel 1 4 x86_64
++Req:
+kernel-devel-rt = 1-4
+-Req:
++Prv:
+multiversion(kernel)
+kernel-rt-devel = 1-4
+-Prv:
++Sup:
+kernel-rt & kernel-devel-rt
+-Sup:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel-debuginfo 1 4 x86_64
++Prv:
+kernel-rt-devel-debuginfo = 1-4
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-devel-rt 1 4 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel-rt = 1-4
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-syms-rt 1 4 x86_64
++Req:
+kernel-devel-rt = 1-4
+kernel-rt-devel = 1-4
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms-rt = 1-4
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+
+=Pkg: kernel-rt 1 5 x86_64
++Prv:
+multiversion(kernel)
+kernel-rt-1-5
+kernel = 1-5
+kernel-uname-r = 1-5-rt
+ksym(foobar) = abdcfee
+kernel-rt = 1-5
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel 1 5 x86_64
++Req:
+kernel-devel-rt = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-rt-devel = 1-5
+-Prv:
++Sup:
+kernel-rt & kernel-devel-rt
+-Sup:
+=Vnd: openSUSE
+
+=Pkg: kernel-rt-devel-debuginfo 1 5 x86_64
++Prv:
+kernel-rt-devel-debuginfo = 1-5
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-devel-rt 1 5 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel-rt = 1-5
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-syms-rt 1 5 x86_64
++Req:
+kernel-devel-rt = 1-5
+kernel-rt-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms-rt = 1-5
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
diff --git a/tests/zypp/data/PurgeKernels/flavour/zypp-control.yaml b/tests/zypp/data/PurgeKernels/flavour/zypp-control.yaml
new file mode 100644 (file)
index 0000000..e80c106
--- /dev/null
@@ -0,0 +1,38 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/zypp/data/PurgeKernels/kernel-base/@System.repo b/tests/zypp/data/PurgeKernels/kernel-base/@System.repo
new file mode 100644 (file)
index 0000000..bd9dcd0
--- /dev/null
@@ -0,0 +1,81 @@
+=Ver: 3.0
+
+=Pkg: glibc 1 1 x86_64
++Prv:
+glibc = 1-1
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-firmware <NULL> - noarch
++Prv:
+kernel-firmware = <NULL>
+-Prv:
+=Vnd: openSUSE
+
+=Pkg: kernel-default-base 5.7.8 1.1.1.1 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.8-1
+kernel = 5.7.8-1
+kernel-base = 5.7.8-1
+kernel-uname-r = 5.7.8-1-default
+kernel-default-base = 5.7.8-1
+kernel-default-base = 5.7.8-1.1
+kernel-default-base = 5.7.8-1.1.1
+kernel-default-base = 5.7.8-1.1.1.1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+
+=Pkg: kernel-default-base 5.7.8 2.1.1.1 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.8-2
+kernel = 5.7.8-2
+kernel-base = 5.7.8-2
+kernel-uname-r = 5.7.8-2-default
+kernel-default-base = 5.7.8-2
+kernel-default-base = 5.7.8-2.1
+kernel-default-base = 5.7.8-2.1.1
+kernel-default-base = 5.7.8-2.1.1.1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+
+=Pkg: kernel-default-base 5.7.8 3.1.1.1 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.7.8-3
+kernel = 5.7.8-3
+kernel-base = 5.7.8-3
+kernel-uname-r = 5.7.8-3-default
+kernel-default-base = 5.7.8-3
+kernel-default-base = 5.7.8-3.1
+kernel-default-base = 5.7.8-3.1.1
+kernel-default-base = 5.7.8-3.1.1.1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+
+=Pkg: kernel-default-base 5.8.8 2.1.1.1 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-5.8.8-1
+kernel = 5.8.8-1
+kernel-base = 5.8.8-1
+kernel-uname-r = 5.8.8-1-default
+kernel-default-base = 5.8.8-1
+kernel-default-base = 5.8.8-1.1
+kernel-default-base = 5.8.8-1.1.1
+kernel-default-base = 5.8.8-1.1.1.1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
diff --git a/tests/zypp/data/PurgeKernels/kernel-base/zypp-control.yaml b/tests/zypp/data/PurgeKernels/kernel-base/zypp-control.yaml
new file mode 100644 (file)
index 0000000..e80c106
--- /dev/null
@@ -0,0 +1,38 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/zypp/data/PurgeKernels/rebuild/@System.repo b/tests/zypp/data/PurgeKernels/rebuild/@System.repo
new file mode 100644 (file)
index 0000000..a5da2ec
--- /dev/null
@@ -0,0 +1,86 @@
+=Ver: 3.0
+=Pkg: glibc 1 1 x86_64
++Prv:
+glibc = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-firmware <NULL> - noarch
++Prv:
+kernel-firmware = 20190312-lp151.2.3.1
+kernel-firmware = <NULL>
+-Prv:
+=Pkg: kernel-macros 1 0 noarch
++Prv:
+kernel-subpackage-macros
+kernel-macros = 1-0
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 1.2 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-1
+kernel = 1-1
+kernel-default = 1-1
+kernel-default = 1-1.2
+kernel-uname-r = 1-1-default
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 1.2 x86_64
++Req:
+kernel-devel = 1-1.2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-1.2
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 1.2 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-1.2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 1 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-1
+kernel-devel = 1-1.2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-source 1 1 noarch
++Req:
+kernel-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-source = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-source 1 1.2 noarch
++Req:
+kernel-devel = 1-1.2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-source = 1-1.2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 1 x86_64
++Req:
+kernel-devel = 1-1
+kernel-default-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-1
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
diff --git a/tests/zypp/data/PurgeKernels/rebuild/solver-system.xml b/tests/zypp/data/PurgeKernels/rebuild/solver-system.xml
deleted file mode 100644 (file)
index 8a2e0f7..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>glibc</name>
-       <vendor>openSUSE</vendor>
-       <history>
-           <update>
-                   <arch>x86_64</arch>
-                   <version>1</version><release>1</release>
-           </update>
-       </history>
-       <provides>
-               <dep name='glibc' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-firmware</name>
-    <provides>
-        <dep name='kernel-firmware' op='==' version='20190312' release='lp151.2.3.1' />
-    </provides>
-</package>
-
-<package>
-       <name>kernel-macros</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-subpackage-macros' />
-               <dep name='kernel-macros' op='==' version='1' release='0' />
-       </provides>
-</package>
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1.2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-1' />
-               <dep name='kernel' op='==' version='1' release='1' />
-               <dep name='kernel-default' op='==' version='1' release='1' />
-               <dep name='kernel-default' op='==' version='1' release='1.2' />
-               <dep name='kernel-uname-r' op='==' version='1-1' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1.2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1.2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1.2' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1.2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='1.2' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-               <dep name='kernel-devel' op='==' version='1' release='1.2' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-source</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-source' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </requires>
-</package>
-
-
-<package>
-       <name>kernel-source</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>1.2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-source' op='==' version='1' release='1.2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1.2' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-</channel></subchannel>
diff --git a/tests/zypp/data/PurgeKernels/rebuild/solver-test.xml b/tests/zypp/data/PurgeKernels/rebuild/solver-test.xml
deleted file mode 100644 (file)
index 993d537..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <system file="solver-system.xml"/>
-       <locale name="en_US" />
-       <locale name="de" />
-</setup>
-</test>
diff --git a/tests/zypp/data/PurgeKernels/rebuild/zypp-control.yaml b/tests/zypp/data/PurgeKernels/rebuild/zypp-control.yaml
new file mode 100644 (file)
index 0000000..e80c106
--- /dev/null
@@ -0,0 +1,38 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/zypp/data/PurgeKernels/simple/@System.repo b/tests/zypp/data/PurgeKernels/simple/@System.repo
new file mode 100644 (file)
index 0000000..cc3ea03
--- /dev/null
@@ -0,0 +1,350 @@
+=Ver: 3.0
+=Pkg: glibc 1 1 x86_64
++Prv:
+glibc = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-firmware <NULL> - noarch
++Prv:
+kernel-firmware = 20190312-lp151.2.3.1
+kernel-firmware = <NULL>
+-Prv:
+=Pkg: kernel-macros 1 0 noarch
++Prv:
+kernel-subpackage-macros
+kernel-macros = 1-0
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 1 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-1
+kernel = 1-1
+kernel-uname-r = 1-1-default
+kernel-default = 1-1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 1 x86_64
++Req:
+kernel = 1-1
+-Req:
++Prv:
+kernel-livepatch-default-1-1
+kernel-livepatch-default = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 1 x86_64
++Req:
+kernel-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-1
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 1 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 1 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-source 1 1 noarch
++Req:
+kernel-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-source = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 1.2 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-1
+kernel-devel = 1-1.2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-source 1 1.2 noarch
++Req:
+kernel-devel = 1-1.2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-source = 1-1
+kernel-source = 1-1.2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 1 x86_64
++Req:
+kernel-devel = 1-1
+kernel-default-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-1
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: kernel-default 1 2 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-2
+kernel = 1-2
+kernel-uname-r = 1-2-default
+kernel-default = 1-2
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 2 x86_64
++Req:
+kernel = 1-2
+-Req:
++Prv:
+kernel-livepatch-default-1-2
+kernel-livepatch-default = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 2 x86_64
++Req:
+kernel-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-2
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 2 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 2 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 2 x86_64
++Req:
+kernel-devel = 1-2
+kernel-default-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 3 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-3
+kernel = 1-3
+kernel-uname-r = 1-3-default
+kernel-default = 1-3
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 3 x86_64
++Req:
+kernel-devel = 1-3
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-3
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 3.2 x86_64
++Req:
+kernel-devel = 1-3.2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-3
+kernel-default-devel = 1-3.2
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 3.2 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-3
+kernel-devel = 1-3.2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-source 1 3.2 noarch
++Req:
+kernel-devel = 1-3.2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-source = 1-3
+kernel-source = 1-3.2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 3 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-3
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 3 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-3
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 3 x86_64
++Req:
+kernel-devel = 1-3
+kernel-default-devel = 1-3
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-3
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 4 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-4
+kernel = 1-4
+kernel-uname-r = 1-4-default
+kernel-default = 1-4
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 4 x86_64
++Req:
+kernel-devel = 1-4
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-4
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 4 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-4
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 4 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-4
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 4 x86_64
++Req:
+kernel-devel = 1-4
+kernel-default-devel = 1-4
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-4
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: kernel-default 1 5 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-5
+kernel = 1-5
+kernel-uname-r = 1-5-default
+ksym(foobar) = abdcfee
+kernel-default = 1-5
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 5 x86_64
++Req:
+kernel-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-5
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 5 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-5
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 5 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-5
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 5 x86_64
++Req:
+kernel-devel = 1-5
+kernel-default-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-5
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: dummy-kmp-default 1 0 x86_64
++Req:
+kernel-default-devel
+ksym(foobar) = abdcfee
+-Req:
++Prv:
+kmod(dummy)
+dummy-kmp-default = 1-0
+-Prv:
diff --git a/tests/zypp/data/PurgeKernels/simple/solver-system.xml b/tests/zypp/data/PurgeKernels/simple/solver-system.xml
deleted file mode 100644 (file)
index 8728c74..0000000
+++ /dev/null
@@ -1,686 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>glibc</name>
-       <vendor>openSUSE</vendor>
-       <history>
-           <update>
-                   <arch>x86_64</arch>
-                   <version>1</version><release>1</release>
-           </update>
-       </history>
-       <provides>
-               <dep name='glibc' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-firmware</name>
-    <provides>
-        <dep name='kernel-firmware' op='==' version='20190312' release='lp151.2.3.1' />
-    </provides>
-</package>
-
-<package>
-       <name>kernel-macros</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-subpackage-macros' />
-               <dep name='kernel-macros' op='==' version='1' release='0' />
-       </provides>
-</package>
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-1' />
-               <dep name='kernel' op='==' version='1' release='1' />
-               <dep name='kernel-uname-r' op='==' version='1-1' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-1' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='1' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-source</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-source' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </requires>
-</package>
-
-<package>
-        <name>kernel-devel</name>
-        <vendor>openSUSE</vendor>
-        <history>
-        <update>
-                <arch>noarch</arch>
-                <version>1</version><release>1.2</release>
-        </update>
-        </history>
-        <provides>
-                <dep name='multiversion(kernel)' />
-                               <dep name='kernel-devel' op='==' version='1' release='1' />
-                <dep name='kernel-devel' op='==' version='1' release='1.2' />
-        </provides>
-        <requires>
-                <dep name='kernel-macros' />
-        </requires>
-</package>
-
-
-<package>
-        <name>kernel-source</name>
-        <vendor>openSUSE</vendor>
-        <history>
-        <update>
-                <arch>noarch</arch>
-                <version>1</version><release>1.2</release>
-        </update>
-        </history>
-        <provides>
-                               <dep name='multiversion(kernel)' />
-                               <dep name='kernel-source' op='==' version='1' release='1' />
-                <dep name='kernel-source' op='==' version='1' release='1.2' />
-        </provides>
-        <requires>
-                <dep name='kernel-devel' op='==' version='1' release='1.2' />
-        </requires>
-</package>
-
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-2' />
-               <dep name='kernel' op='==' version='1' release='2' />
-               <dep name='kernel-uname-r' op='==' version='1-2' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-2' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='2' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='2' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>3</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-3' />
-               <dep name='kernel' op='==' version='1' release='3' />
-               <dep name='kernel-uname-r' op='==' version='1-3' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>3</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='3' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='3' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-        <name>kernel-default-devel</name>
-        <vendor>openSUSE</vendor>
-        <history>
-        <update>
-                <arch>x86_64</arch>
-                <version>1</version><release>3.2</release>
-        </update>
-        </history>
-        <provides>
-                <dep name='multiversion(kernel)' />
-                               <dep name='kernel-default-devel' op='==' version='1' release='3' />
-                <dep name='kernel-default-devel' op='==' version='1' release='3.2' />
-        </provides>
-        <requires>
-                <dep name='kernel-devel' op='==' version='1' release='3.2' />
-        </requires>
-        <supplements>
-                <dep name='packageand(kernel-default:kernel-devel)' />
-        </supplements>
-</package>
-
-<package>
-        <name>kernel-devel</name>
-        <vendor>openSUSE</vendor>
-        <history>
-        <update>
-                <arch>noarch</arch>
-                <version>1</version><release>3.2</release>
-        </update>
-        </history>
-        <provides>
-                <dep name='multiversion(kernel)' />
-                               <dep name='kernel-devel' op='==' version='1' release='3' />
-                <dep name='kernel-devel' op='==' version='1' release='3.2' />
-        </provides>
-        <requires>
-                <dep name='kernel-macros' />
-        </requires>
-</package>
-
-<package>
-        <name>kernel-source</name>
-        <vendor>openSUSE</vendor>
-        <history>
-        <update>
-                <arch>noarch</arch>
-                <version>1</version><release>3.2</release>
-        </update>
-        </history>
-        <provides>
-                               <dep name='multiversion(kernel)' />
-                               <dep name='kernel-source' op='==' version='1' release='3' />
-                <dep name='kernel-source' op='==' version='1' release='3.2' />
-        </provides>
-        <requires>
-                <dep name='kernel-devel' op='==' version='1' release='3.2' />
-        </requires>
-</package>
-
-
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>3</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='3' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>3</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='3' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>3</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='3' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='3' />
-               <dep name='kernel-default-devel' op='==' version='1' release='3' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>4</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-4' />
-               <dep name='kernel' op='==' version='1' release='4' />
-               <dep name='kernel-uname-r' op='==' version='1-4' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>4</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='4' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='4' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>4</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='4' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>4</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='4' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>4</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='4' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='4' />
-               <dep name='kernel-default-devel' op='==' version='1' release='4' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-5' />
-               <dep name='kernel' op='==' version='1' release='5' />
-               <dep name='kernel-uname-r' op='==' version='1-5' release='default' />
-               <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='5' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </requires>
-</package>
-
-<package>
-    <name>dummy-kmp-default</name>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kmod(dummy)' />
-               <dep name='dummy-kmp-default' op='==' version='1' release='0' />
-       </provides>
-       <requires>
-               <dep name='kernel-default-devel'/>
-        <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </requires>
-</package>
-
-<!-- END KERNEL SET -->
-
-
-</channel></subchannel>
diff --git a/tests/zypp/data/PurgeKernels/simple/solver-test.xml b/tests/zypp/data/PurgeKernels/simple/solver-test.xml
deleted file mode 100644 (file)
index 993d537..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <system file="solver-system.xml"/>
-       <locale name="en_US" />
-       <locale name="de" />
-</setup>
-</test>
diff --git a/tests/zypp/data/PurgeKernels/simple/zypp-control.yaml b/tests/zypp/data/PurgeKernels/simple/zypp-control.yaml
new file mode 100644 (file)
index 0000000..e80c106
--- /dev/null
@@ -0,0 +1,38 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/zypp/data/PurgeKernels/withdeps/@System.repo b/tests/zypp/data/PurgeKernels/withdeps/@System.repo
new file mode 100644 (file)
index 0000000..5681ed8
--- /dev/null
@@ -0,0 +1,206 @@
+=Ver: 3.0
+=Pkg: glibc 1 1 x86_64
++Prv:
+glibc = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-firmware <NULL> - noarch
++Prv:
+kernel-firmware = 20190312-lp151.2.3.1
+kernel-firmware = <NULL>
+-Prv:
+=Pkg: kernel-macros 1 0 noarch
++Prv:
+kernel-subpackage-macros
+kernel-macros = 1-0
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 1 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-1
+kernel = 1-1
+kernel-uname-r = 1-1-default
+kernel-default = 1-1
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 1 x86_64
++Req:
+kernel = 1-1
+-Req:
++Prv:
+kernel-livepatch-default-1-1
+kernel-livepatch-default = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: foo 1 1 x86_64
++Req:
+kernel = 1-1
+-Req:
++Prv:
+foo = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 1 x86_64
++Req:
+kernel-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-1
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 1 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 1 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-1
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 1 x86_64
++Req:
+kernel-devel = 1-1
+kernel-default-devel = 1-1
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-1
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: kernel-default 1 2 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-2
+kernel = 1-2
+kernel-uname-r = 1-2-default
+kernel-default = 1-2
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-livepatch-default 1 2 x86_64
++Req:
+kernel = 1-2
+-Req:
++Prv:
+kernel-livepatch-default-1-2
+kernel-livepatch-default = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 2 x86_64
++Req:
+kernel-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-2
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 2 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 2 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 2 x86_64
++Req:
+kernel-devel = 1-2
+kernel-default-devel = 1-2
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-2
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-default 1 5 x86_64
++Prv:
+multiversion(kernel)
+kernel-default-1-5
+kernel = 1-5
+kernel-uname-r = 1-5-default
+ksym(foobar) = abdcfee
+kernel-default = 1-5
+-Prv:
++Rec:
+kernel-firmware
+-Rec:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel 1 5 x86_64
++Req:
+kernel-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-default-devel = 1-5
+-Prv:
++Sup:
+kernel-default & kernel-devel
+-Sup:
+=Vnd: openSUSE
+=Pkg: kernel-default-devel-debuginfo 1 5 x86_64
++Prv:
+kernel-default-devel-debuginfo = 1-5
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-devel 1 5 noarch
++Req:
+kernel-macros
+-Req:
++Prv:
+multiversion(kernel)
+kernel-devel = 1-5
+-Prv:
+=Vnd: openSUSE
+=Pkg: kernel-syms 1 5 x86_64
++Req:
+kernel-devel = 1-5
+kernel-default-devel = 1-5
+-Req:
++Prv:
+multiversion(kernel)
+kernel-syms = 1-5
+-Prv:
+=Vnd: openSUSE
+=Tim: 1570603549
+=Pkg: dummy-kmp-default 1 0 x86_64
++Req:
+kernel-default-devel
+ksym(foobar) = abdcfee
+-Req:
++Prv:
+kmod(dummy)
+dummy-kmp-default = 1-0
+-Prv:
+=Pkg: package-needing-krnlmodule 1 0 x86_64
++Req:
+dummy-kmp-default = 1-0
+-Req:
++Prv:
+package-needing-krnlmodule = 1-0
+-Prv:
diff --git a/tests/zypp/data/PurgeKernels/withdeps/solver-system.xml b/tests/zypp/data/PurgeKernels/withdeps/solver-system.xml
deleted file mode 100644 (file)
index 08b8017..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-<channel><subchannel>
-<package>
-       <name>glibc</name>
-       <vendor>openSUSE</vendor>
-       <history>
-           <update>
-                   <arch>x86_64</arch>
-                   <version>1</version><release>1</release>
-           </update>
-       </history>
-       <provides>
-               <dep name='glibc' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-firmware</name>
-    <provides>
-        <dep name='kernel-firmware' op='==' version='20190312' release='lp151.2.3.1' />
-    </provides>
-</package>
-
-<package>
-       <name>kernel-macros</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-subpackage-macros' />
-               <dep name='kernel-macros' op='==' version='1' release='0' />
-       </provides>
-</package>
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-1' />
-               <dep name='kernel' op='==' version='1' release='1' />
-               <dep name='kernel-uname-r' op='==' version='1-1' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-1' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='1' />
-       </requires>
-</package>
-
-<!-- random package depending on a specific kernel version, this should block the kernel from being purged -->
-<package>
-       <name>foo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='foo' op='==' version='1' release='1'  />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='1' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='1' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>1</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='1' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='1' />
-               <dep name='kernel-default-devel' op='==' version='1' release='1' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-2' />
-               <dep name='kernel' op='==' version='1' release='2' />
-               <dep name='kernel-uname-r' op='==' version='1-2' release='default' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-livepatch-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-livepatch-default-1-2' />
-       </provides>
-       <requires>
-               <dep name='kernel' op='==' version='1' release='2' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='2' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>2</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='2' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='2' />
-               <dep name='kernel-default-devel' op='==' version='1' release='2' />
-       </requires>
-</package>
-<!-- END KERNEL SET -->
-
-<!-- START KERNEL SET -->
-<package>
-       <name>kernel-default</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-1-5' />
-               <dep name='kernel' op='==' version='1' release='5' />
-               <dep name='kernel-uname-r' op='==' version='1-5' release='default' />
-               <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </provides>
-       <recommends>
-               <dep name='kernel-firmware' />
-       </recommends>
-</package>
-
-<package>
-       <name>kernel-default-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-       </requires>
-       <supplements>
-               <dep name='packageand(kernel-default:kernel-devel)' />
-       </supplements>
-</package>
-
-<package>
-       <name>kernel-default-devel-debuginfo</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kernel-default-devel-debuginfo' op='==' version='1' release='5' />
-       </provides>
-</package>
-
-<package>
-       <name>kernel-devel</name>
-       <vendor>openSUSE</vendor>
-       <history>
-       <update>
-               <arch>noarch</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-macros' />
-       </requires>
-</package>
-
-<package>
-       <name>kernel-syms</name>
-       <vendor>openSUSE</vendor>
-       <buildtime>1570603549</buildtime>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>5</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='multiversion(kernel)' />
-               <dep name='kernel-syms' op='==' version='1' release='5' />
-       </provides>
-       <requires>
-               <dep name='kernel-devel' op='==' version='1' release='5' />
-               <dep name='kernel-default-devel' op='==' version='1' release='5' />
-       </requires>
-</package>
-
-<package>
-    <name>dummy-kmp-default</name>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='kmod(dummy)' />
-               <dep name='dummy-kmp-default' op='==' version='1' release='0' />
-       </provides>
-       <requires>
-               <dep name='kernel-default-devel'/>
-       <dep name='ksym(foobar)' op='==' version='abdcfee' />
-       </requires>
-</package>
-
-<package>
-    <name>package-needing-krnlmodule</name>
-       <history>
-       <update>
-               <arch>x86_64</arch>
-               <version>1</version><release>0</release>
-       </update>
-       </history>
-       <provides>
-               <dep name='package-needing-krnlmodule' op='==' version='1' release='0' />
-       </provides>
-       <requires>
-               <dep name='dummy-kmp-default' op='==' version='1' release='0' />
-       </requires>
-</package>
-
-<!-- END KERNEL SET -->
-
-
-</channel></subchannel>
diff --git a/tests/zypp/data/PurgeKernels/withdeps/solver-test.xml b/tests/zypp/data/PurgeKernels/withdeps/solver-test.xml
deleted file mode 100644 (file)
index 993d537..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<test>
-<setup arch="x86_64">
-       <system file="solver-system.xml"/>
-       <locale name="en_US" />
-       <locale name="de" />
-</setup>
-</test>
diff --git a/tests/zypp/data/PurgeKernels/withdeps/zypp-control.yaml b/tests/zypp/data/PurgeKernels/withdeps/zypp-control.yaml
new file mode 100644 (file)
index 0000000..e80c106
--- /dev/null
@@ -0,0 +1,38 @@
+version: 1.0
+setup:
+  channels:
+    - alias: "@System"
+      url: []
+      path: ""
+      type: NONE
+      generated: 0
+      outdated: 0
+      priority: 99
+      file: "@System.repo"
+  arch: x86_64
+  locales:
+    - fate: ""
+      name: en_US
+    - fate: ""
+      name: de
+  autoinst:
+    []
+  modalias:
+    []
+  multiversion:
+    []
+  resolverFlags:
+    focus: Job
+    ignorealreadyrecommended: false
+    onlyRequires: false
+    forceResolve: false
+    cleandepsOnRemove: false
+    allowDowngrade: false
+    allowNameChange: false
+    allowArchChange: false
+    allowVendorChange: false
+    dupAllowDowngrade: false
+    dupAllowNameChange: false
+    dupAllowArchChange: false
+    dupAllowVendorChange: false
+trials: []
diff --git a/tests/zypp/data/Vendor/zypp1.conf b/tests/zypp/data/Vendor/zypp1.conf
deleted file mode 100644 (file)
index 5c017e0..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-## Configuration file for software management
-## /etc/zypp/zypp.conf
-##
-## Boolean values are 0 1 yes no on off true false
-
-
-[main]
-
-
-##
-## Override the detected architecture
-##
-## Valid values:  i586, i686, x86_64, ppc, ppc64, ia64, s390, s390x, ..
-## Default value: Autodetected
-##
-## ** CAUTION: Only set if you know what you're doing !
-## ** Changing this needs a full refresh (incl. download)
-## ** of all repository data.
-##
-# arch = s390
-
-
-##
-## Path where the repo metadata is downloaded and kept.
-##
-## Valid values: A directory
-## Default value: /var/cache/zypp/raw
-##
-## Changing this needs a full refresh (incl. download) of all repository data
-##
-# metadatadir = /var/cache/zypp/raw
-
-
-##
-## Path where the known repositories .repo files are kept
-##
-## Valid values: A directory
-## Default value: /etc/zypp/repos.d
-##
-## Changing this invalidates all known repositories
-##
-# reposdir = /etc/zypp/repos.d
-
-
-##
-## Path where the processed cache is kept (this is where zypp.db is located)
-##
-## Valid values: A directory
-## Default value: /var/cache/zypp
-##
-## Changing this needs a full refresh (except download) of all repository data
-##
-# cachedir = /var/cache/zypp
-
-
-##
-## Whether repository urls should be probed when added
-##
-## Valid values: boolean
-## Default value: false
-##
-## If true, accessability of repositories is checked immediately (when added)
-##   (e.g. 'zypper ar' will check immediately)
-## If false, accessability of repositories is checked when refreshed
-##   (e.g. 'zypper ar' will delay the check until the next refresh)
-##
-# repo.add.probe = false
-
-
-##
-## Amount of time in minutes that must pass before another refresh.
-##
-## Valid values: Integer
-## Default value: 10
-##
-## If you have autorefresh enabled for a repository, it is checked for
-## up-to-date metadata not more often than every <repo.refresh.delay>
-## minutes. If an automatic request for refresh comes before <repo.refresh.delay>
-## minutes passed since the last check, the request is ignored.
-##
-## A value of 0 means the repository will always be checked. To get the oposite
-## effect, disable autorefresh for your repositories.
-##
-## This option has no effect for repositories with autorefresh disabled, nor for
-## user-requested refresh.
-##
-# repo.refresh.delay = 10
-
-
-##
-## Whether to consider using a .patch.rpm when downloading a package
-##
-## Valid values: boolean
-## Default value: true
-##
-## Using a patch rpm will decrease the download size for package updates
-## since it does not contain all files of the package but only the changed
-## ones. The .patch.rpm is ready to be installed immediately after download.
-## There is no further processing needed, as it is for a .delta.rpm.
-##
-# download.use_patchrpm = true
-
-
-##
-## Whether to consider using a .delta.rpm when downloading a package
-##
-## Valid values: boolean
-## Default value: true
-##
-## Using a delta rpm will decrease the download size for package updates
-## since it does not contain all files of the package but only the binary
-## diff of changed ones. Recreating the rpm package on the local machine
-## is an expensive operation (memory,CPU). If your network connection is
-## not too slow, you benefit from disabling .delta.rpm.
-##
-# download.use_deltarpm = true
-
-
-## 
-## Defining directory for equivalent vendors
-##
-## Valid values: A directory
-## Default value: /etc/zypp/vondors.d
-##
-vendordir = data/Vendor/notExist
-
diff --git a/tests/zypp/data/Vendor/zypp2.conf.cmake b/tests/zypp/data/Vendor/zypp2.conf.cmake
deleted file mode 100644 (file)
index 564a841..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-## Configuration file for software management
-## /etc/zypp/zypp.conf
-##
-## Boolean values are 0 1 yes no on off true false
-
-
-[main]
-
-
-##
-## Override the detected architecture
-##
-## Valid values:  i586, i686, x86_64, ppc, ppc64, ia64, s390, s390x, ..
-## Default value: Autodetected
-##
-## ** CAUTION: Only set if you know what you're doing !
-## ** Changing this needs a full refresh (incl. download)
-## ** of all repository data.
-##
-# arch = s390
-
-
-##
-## Path where the repo metadata is downloaded and kept.
-##
-## Valid values: A directory
-## Default value: /var/cache/zypp/raw
-##
-## Changing this needs a full refresh (incl. download) of all repository data
-##
-# metadatadir = /var/cache/zypp/raw
-
-
-##
-## Path where the known repositories .repo files are kept
-##
-## Valid values: A directory
-## Default value: /etc/zypp/repos.d
-##
-## Changing this invalidates all known repositories
-##
-# reposdir = /etc/zypp/repos.d
-
-
-##
-## Path where the processed cache is kept (this is where zypp.db is located)
-##
-## Valid values: A directory
-## Default value: /var/cache/zypp
-##
-## Changing this needs a full refresh (except download) of all repository data
-##
-# cachedir = /var/cache/zypp
-
-
-##
-## Whether repository urls should be probed when added
-##
-## Valid values: boolean
-## Default value: false
-##
-## If true, accessability of repositories is checked immediately (when added)
-##   (e.g. 'zypper ar' will check immediately)
-## If false, accessability of repositories is checked when refreshed
-##   (e.g. 'zypper ar' will delay the check until the next refresh)
-##
-# repo.add.probe = false
-
-
-##
-## Amount of time in minutes that must pass before another refresh.
-##
-## Valid values: Integer
-## Default value: 10
-##
-## If you have autorefresh enabled for a repository, it is checked for
-## up-to-date metadata not more often than every <repo.refresh.delay>
-## minutes. If an automatic request for refresh comes before <repo.refresh.delay>
-## minutes passed since the last check, the request is ignored.
-##
-## A value of 0 means the repository will always be checked. To get the oposite
-## effect, disable autorefresh for your repositories.
-##
-## This option has no effect for repositories with autorefresh disabled, nor for
-## user-requested refresh.
-##
-# repo.refresh.delay = 10
-
-
-##
-## Whether to consider using a .patch.rpm when downloading a package
-##
-## Valid values: boolean
-## Default value: true
-##
-## Using a patch rpm will decrease the download size for package updates
-## since it does not contain all files of the package but only the changed
-## ones. The .patch.rpm is ready to be installed immediately after download.
-## There is no further processing needed, as it is for a .delta.rpm.
-##
-# download.use_patchrpm = true
-
-
-##
-## Whether to consider using a .delta.rpm when downloading a package
-##
-## Valid values: boolean
-## Default value: true
-##
-## Using a delta rpm will decrease the download size for package updates
-## since it does not contain all files of the package but only the binary
-## diff of changed ones. Recreating the rpm package on the local machine
-## is an expensive operation (memory,CPU). If your network connection is
-## not too slow, you benefit from disabling .delta.rpm.
-##
-# download.use_deltarpm = true
-
-
-## 
-## Defining directory for equivalent vendors
-##
-## Valid values: A directory
-## Default value: /etc/zypp/vondors.d
-##
-#vendordir = ./../../tests/zypp/data/Vendor/vendors.d
-vendordir = @VENDOR_D@
-
index f630869..95025eb 100644 (file)
@@ -3,6 +3,7 @@
 #include <zypp/zyppng/media/network/networkrequesterror.h>
 #include <zypp/zyppng/media/network/networkrequestdispatcher.h>
 #include <zypp/zyppng/media/network/request.h>
+#include <zypp/media/CredentialManager.h>
 #include <zypp/TmpPath.h>
 #include <zypp/PathInfo.h>
 #include <zypp/ZConfig.h>
@@ -571,3 +572,66 @@ BOOST_DATA_TEST_CASE( dltest_auth, bdata::make( withSSL ), withSSL )
     BOOST_REQUIRE( !gotAuthRequest );
   }
 }
+
+/**
+ * Test for bsc#1174011 auth=basic ignored in some cases
+ *
+ * If the URL specifes ?auth=basic libzypp should proactively send credentials we have available in the cred store
+ */
+BOOST_DATA_TEST_CASE( dltest_auth_basic, bdata::make( withSSL ), withSSL )
+{
+  //don't write or read creds from real settings dir
+  zypp::filesystem::TmpDir repoManagerRoot;
+  zypp::ZConfig::instance().setRepoManagerRoot( repoManagerRoot.path() );
+
+  auto ev = zyppng::EventDispatcher::createMain();
+
+  zyppng::Downloader downloader;
+
+  WebServer web((zypp::Pathname(TESTS_SRC_DIR)/"/zyppng/data/downloader").c_str(), 10001, withSSL );
+  BOOST_REQUIRE( web.start() );
+
+  zypp::filesystem::TmpFile targetFile;
+  zyppng::Url weburl (web.url());
+  weburl.setPathName("/handler/test.txt");
+  weburl.setQueryParam("auth", "basic");
+  weburl.setUsername("test");
+
+  // make sure the creds are already available
+  zypp::media::CredentialManager cm( repoManagerRoot.path() );
+  zypp::media::AuthData data ("test", "test");
+  data.setUrl( weburl );
+  cm.addCred( data );
+  cm.save();
+
+  zyppng::TransferSettings set = web.transferSettings();
+
+  web.addRequestHandler( "test.txt", createAuthHandler() );
+  web.addRequestHandler( "quit", [ &ev ]( WebServer::Request & ){ ev->quit();} );
+
+  {
+    // simply check by request count if the test was successfull:
+    // if the proactive code adding the credentials to the first request is not executed we will
+    // have more than 1 request.
+    int reqCount = 0;
+    auto dispatcher = downloader.requestDispatcher();
+    dispatcher->sigDownloadStarted().connect([&]( zyppng::NetworkRequestDispatcher &, zyppng::NetworkRequest & ){
+      reqCount++;
+    });
+
+
+    auto dl = downloader.downloadFile( weburl, targetFile.path() );
+    dl->setMultiPartHandlingEnabled( false );
+
+    dl->settings() = set;
+
+    dl->sigFinished( ).connect([ &ev ]( zyppng::Download & ){
+      ev->quit();
+    });
+
+    dl->start();
+    ev->run();
+    BOOST_TEST_REQ_SUCCESS( dl );
+    BOOST_REQUIRE_EQUAL( reqCount, 1 );
+  }
+}
index ec2c8b0..fc3b8fa 100644 (file)
@@ -86,7 +86,9 @@ struct PQSort
 
 struct Table
 {
-  std::vector<std::string> & row( const sat::Solvable & solv_r )
+  using ResultLInes = std::set<std::string>;
+
+  ResultLInes & row( const sat::Solvable & solv_r )
   {
     //smax( _maxSID,  );
     smax( _maxNAME, solv_r.ident().size() + solv_r.edition().size() + solv_r.arch().size() );
@@ -98,9 +100,16 @@ struct Table
 
   void row( PoolQuery::const_iterator it_r )
   {
-    std::vector<std::string> & details { row( *it_r ) };
+    ResultLInes & details { row( *it_r ) };
     for_( match, it_r.matchesBegin(), it_r.matchesEnd() ) {
-      details.push_back( match->inSolvAttr().asString().substr( 9, 3 )+": " +match->asString() );
+      std::string ent { match->inSolvAttr().asString().substr( 9, 3 )+": " +match->asString() };
+      if ( match->inSolvAttr() == sat::SolvAttr::requires
+       && match->inSolvable().prerequires().contains( Capability(match->id()) ) ) {
+       static const char * pre = "   " COL_C "[PRE]" COL_OFF;
+       ent[3] = '+';
+       ent += pre;
+      }
+      details.insert( std::move(ent) );
     }
   }
 
@@ -148,7 +157,7 @@ private:
   unsigned _maxREPO = 0;
   //unsigned _maxTIME = 10;
   //unsigned _maxVEND = 0;
-  std::map<sat::Solvable, std::vector<std::string>, PQSort> _map;
+  std::map<sat::Solvable, ResultLInes, PQSort> _map;
 };
 
 inline std::ostream & operator<<( std::ostream & str, const Table & table_r )
@@ -248,7 +257,7 @@ void dTree( const std::string & cmd_r, const std::string & spec_r )
     {
       auto & details { t.row( el.first ) };
       for ( const auto & cap : el.second )
-       details.push_back( cap );
+       details.insert( cap );
     }
     message << endl << t << endl;
   }
index 9631be1..de9e41c 100644 (file)
--- a/zypp.conf
+++ b/zypp.conf
 ## Defining directory which contains vendor description files.
 ##
 ## Each file in this directory defines a (comma separated) list of
-## equivalent vendors string prefixes (case-insensitive comparision):
+## equivalent vendors string prefixes (case-insensitive comparison):
 ## ------------------------- file begin -----------------------
 ## [main]
 ## vendors = MyVendor,AlternateName
 ## are considered to be equivalent. Packages from equivalent vendors
 ## may replace each other without being considered as a 'vendor change'.
 ##
+## NOTE: Within the "opensuse*" namespace exact matches (case insensitive)
+## are required. "vendors = suse,opensuse" will allow switching between
+## "suse*" and "opensuse", but not e.g. "opensuse build service".
+##
 ## Valid values: A directory
 ## Default value: {configdir}/vendors.d
 ##
index a4047eb..bccf2fa 100644 (file)
@@ -162,7 +162,7 @@ namespace zypp
       void resetDispose()
       { setDispose( Dispose() ); }
 
-      /** Exchange the dispose function. +*/
+      /** Exchange the dispose function. */
       void swapDispose( Dispose & dispose_r )
       { _pimpl->_dispose.swap( dispose_r ); }
 
@@ -187,6 +187,83 @@ namespace zypp
 
       shared_ptr<Impl> _pimpl;
     };
+
+    template<>
+    class AutoDispose<void>
+    {
+    public:
+      /** Dispose function signatue. */
+      typedef function<void ()> Dispose;
+
+    public:
+      /** Default Ctor using default constructed value and no dispose function. */
+      AutoDispose()
+        : _pimpl( new Impl() )
+      {}
+
+      /** Ctor taking dispose function and using default constructed value. */
+      explicit AutoDispose( const Dispose & dispose_r )
+        : _pimpl( new Impl( dispose_r ) )
+      {}
+
+    public:
+
+      /** Reset to default Ctor values. */
+      void reset()
+      { AutoDispose().swap( *this ); }
+
+      /** Exchange the contents of two AutoDispose objects. */
+      void swap( AutoDispose & rhs )
+      { _pimpl.swap( rhs._pimpl ); }
+
+    public:
+      /** Return the current dispose function. */
+      const Dispose & getDispose() const
+      { return _pimpl->_dispose; }
+
+      /** Set a new dispose function. */
+      void setDispose( const Dispose & dispose_r )
+      { _pimpl->_dispose = dispose_r; }
+
+      /** Set no dispose function. */
+      void resetDispose()
+      { setDispose( Dispose() ); }
+
+      /** Exchange the dispose function. */
+      void swapDispose( Dispose & dispose_r )
+      { _pimpl->_dispose.swap( dispose_r ); }
+
+    private:
+      struct Impl : private base::NonCopyable
+      {
+        Impl( )
+        {}
+
+        Impl( const Dispose & dispose_r )
+          : _dispose( dispose_r )
+        {}
+
+        ~Impl()
+        {
+          if ( _dispose )
+            try { _dispose(); } catch(...) {}
+        }
+        Dispose    _dispose;
+      };
+      shared_ptr<Impl> _pimpl;
+    };
+
+  /*!
+   * Simple way to run a function at scope exit:
+   * \code
+   * bool wasBlocking = unblockFile( fd, true );
+   * OnScopeExit cleanup( [wasBlocking, fd](){
+   *  if ( wasBlocking ) unblockFile( fd, false );
+   * });
+   * \endcode
+   */
+  using OnScopeExit = AutoDispose<void>;
+
   ///////////////////////////////////////////////////////////////////
 
   /** \relates AutoDispose Stream output of the \c Tp object. */
index e5524f9..d74f2bc 100644 (file)
@@ -217,10 +217,12 @@ SET( zypp_base_SRCS
   base/Gettext.cc
   base/GzStream.cc
   base/IOStream.cc
+  base/IOTools.cc
   base/InputStream.cc
   base/ReferenceCounted.cc
   base/SetRelationMixin.cc
   base/String.cc
+  base/StringV.cc
   base/StrMatcher.h
   base/StrMatcher.cc
   base/Regex.cc
@@ -260,6 +262,7 @@ SET( zypp_base_HEADERS
   base/GzStream.h
   base/Hash.h
   base/IOStream.h
+  base/IOTools.h
   base/InputStream.h
   base/Iterable.h
   base/Iterator.h
@@ -280,6 +283,7 @@ SET( zypp_base_HEADERS
   base/Signal.h
   base/SimpleStreambuf.h
   base/String.h
+  base/StringV.h
   base/StrMatcher.h
   base/Regex.h
   base/Sysconfig.h
@@ -790,11 +794,15 @@ SET( zypp_misc_HEADERS
   Misc.h
   misc/DefaultLoadSystem.h
   misc/CheckAccessDeleted.h
+  misc/TestcaseSetup.h
+  misc/LoadTestcase.h
 )
 
 SET( zypp_misc_SRCS
   misc/DefaultLoadSystem.cc
   misc/CheckAccessDeleted.cc
+  misc/TestcaseSetup.cc
+  misc/LoadTestcase.cc
 )
 
 INSTALL( FILES
@@ -923,9 +931,14 @@ macro( ADDZYPPLIB LIBNAME )
   TARGET_LINK_LIBRARIES(${LIBNAME} ${GPGME_PTHREAD_LIBRARIES})
   target_link_libraries(${LIBNAME} ${SIGCPP_LIBRARIES})
   target_link_libraries(${LIBNAME} ${LIBGLIB_LIBRARIES})
+  target_link_libraries(${LIBNAME} ${YAML_CPP_LIBRARIES})
+
+  IF (ENABLE_ZSTD_COMPRESSION)
+    TARGET_LINK_LIBRARIES(${LIBNAME} ${ZSTD_LIBRARY})
+  ENDIF (ENABLE_ZSTD_COMPRESSION)
 
   IF (ENABLE_ZCHUNK_COMPRESSION)
-         TARGET_LINK_LIBRARIES(${LIBNAME} ${ZCHUNK_LDFLAGS})
+    TARGET_LINK_LIBRARIES(${LIBNAME} ${ZCHUNK_LDFLAGS})
   ENDIF(ENABLE_ZCHUNK_COMPRESSION)
 
   IF ( UDEV_FOUND )
@@ -948,6 +961,7 @@ INSTALL(TARGETS zypp LIBRARY DESTINATION ${LIB_INSTALL_DIR} )
 
 #library build just for using it in tests, contains all symbols
 ADDZYPPLIB(zypp-allsym)
+ADD_DEPENDENCIES( zypp-allsym zypp )
 
 #this part does nothing yet, only when switching away from using a map file to
 #a approach where symbols are exported explicitely it would make a difference
index 9b7f3cb..ab853d2 100644 (file)
@@ -483,9 +483,10 @@ namespace zypp {
 
            if ( retval == -1 )
            {
-             ERR << "select error: " << strerror(errno) << endl;
-             if ( errno != EINTR )
+              if ( errno != EINTR ) {
+                ERR << "select error: " << strerror(errno) << endl;
                break;
+              }
            }
            else if ( retval )
            {
index 07a0da3..113bb92 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <iosfwd>
 #include <string>
+#include <string_view>
 
 #include <boost/utility/string_ref_fwd.hpp>
 
@@ -62,6 +63,12 @@ namespace zypp
       /** Ctor from boost::string_ref. */
       explicit IdString( boost::string_ref str_r );
 
+#ifdef __cpp_lib_string_view
+      explicit IdString( std::string_view str_r )
+      : IdString( str_r.data(), str_r.size() )
+      {}
+#endif
+
     public:
       /** No or Null string ( Id \c 0 ). */
       static const IdString Null;
index 50fcd12..c531451 100644 (file)
@@ -406,7 +406,11 @@ bool KeyManagerCtx::exportKey(const std::string &id, std::ostream &stream)
 
   //format as ascii armored
   gpgme_set_armor (_pimpl->_ctx, 1);
-  err = gpgme_op_export_keys (_pimpl->_ctx, keyarray, 0, out.get());
+  // bsc#1179222: Remove outdated self signatures when exporting the key.
+  // The keyring does not order the signatures when multiple versions of the
+  // same key are imported. Rpm however uses the 1st to compute the -release
+  // of the gpg-pubkey. So we export only the latest to get a proper-release.
+  err = gpgme_op_export_keys (_pimpl->_ctx, keyarray, GPGME_EXPORT_MODE_MINIMAL, out.get());
   if (!err) {
     int ret = gpgme_data_seek (out.get(), 0, SEEK_SET);
     if (ret) {
index d8c65f0..638bd75 100644 (file)
@@ -10,7 +10,7 @@
 #include <set>
 #include <fstream>
 #include <boost/function.hpp>
-#include <boost/function_output_iterator.hpp>
+#include <boost/iterator/function_output_iterator.hpp>
 #include <algorithm>
 
 #include <zypp/base/Regex.h>
index baf9e43..63a71d9 100644 (file)
@@ -423,6 +423,15 @@ namespace zypp
         return logResult( ENOTDIR );
       }
 
+      p.lstat();       // get dir symlinks
+      if ( !p.isDir() ) {
+       MIL << "unlink symlink ";
+       if ( ::unlink( path.asString().c_str() ) == -1 ) {
+         return logResult( errno );
+       }
+       return logResult( 0 );
+      }
+
       return logResult( recursive_rmdir_1( path ) );
     }
 
index d54a2bc..b7614b3 100644 (file)
@@ -247,9 +247,17 @@ namespace zypp
     gpgme_subkey_t sKey = rawData->subkeys;
     if (sKey) {
       shared_ptr<PublicKeyData::Impl> data(new Impl);
-      //libzypp expects the date of the first signature on the first uid
-      if(rawData->uids && rawData->uids->signatures)
+      //libzypp expects the date of the latest signature on the first uid
+      if ( rawData->uids && rawData->uids->signatures ) {
         data->_created = zypp::Date(rawData->uids->signatures->timestamp);
+       // bsc#1179222: The keyring does not order the signatures when multiple
+       // versions of the same key are imported. We take the last signature here,
+       // the one GPGME_EXPORT_MODE_MINIMAL will later use in export.
+       for ( auto t = rawData->uids->signatures->next; t; t = t->next ) {
+         if ( t->timestamp > data->_created )
+           data->_created = t->timestamp;
+       }
+      }
       else
         data->_created = zypp::Date(sKey->timestamp);
 
index dd8e919..be6279a 100644 (file)
@@ -14,7 +14,6 @@
 #include <zypp/base/Logger.h>
 #include <zypp/base/Regex.h>
 #include <zypp/base/Iterator.h>
-#include <zypp/ui/Selectable.h>
 #include <zypp/PurgeKernels.h>
 #include <zypp/PoolQuery.h>
 #include <zypp/ResPool.h>
@@ -36,7 +35,7 @@
 namespace zypp {
 
   using Flavour                = std::string;
-  using SolvableList           = std::list<sat::Solvable::IdType>;
+  using SolvableList           = std::list<sat::Solvable>;
   using EditionToSolvableMap   = std::map<Edition, SolvableList >;
   using ArchToEditionMap       = std::map<Arch, EditionToSolvableMap >;
 
@@ -102,10 +101,10 @@ namespace zypp {
       MIL << "Kernel Edition: " << _runningKernelEdition << std::endl;
     }
 
-    bool removePackageAndCheck( const sat::Solvable::IdType id, const std::set<sat::Solvable::IdType> &keepList , const std::set<sat::Solvable::IdType> &removeList ) const;
+    bool removePackageAndCheck( const sat::Solvable slv, const std::set<sat::Solvable> &keepList , const std::set<sat::Solvable> &removeList ) const;
     static bool versionMatch ( const Edition &a, const Edition &b );
     void parseKeepSpec();
-    void fillKeepList(const GroupMap &installedKernels, std::set<sat::Solvable::IdType> &keepList , std::set<sat::Solvable::IdType> &removeList ) const;
+    void fillKeepList(const GroupMap &installedKernels, std::set<sat::Solvable> &keepList , std::set<sat::Solvable> &removeList ) const;
 
     std::set<size_t>  _keepLatestOffsets = { 0 };
     std::set<size_t>  _keepOldestOffsets;
@@ -123,11 +122,11 @@ namespace zypp {
    * tries to remove a the \ref PoolItem \a pi from the pool, solves and checks if no unexpected packages are removed due to the \a validRemovals regex.
    * If the constraint fails the changes are reverted and \a false is returned.
    */
-  bool PurgeKernels::Impl::removePackageAndCheck( const sat::Solvable::IdType id, const std::set<sat::Solvable::IdType> &keepList , const std::set<sat::Solvable::IdType> &removeList ) const
+  bool PurgeKernels::Impl::removePackageAndCheck( const sat::Solvable slv, const std::set<sat::Solvable> &keepList , const std::set<sat::Solvable> &removeList ) const
   {
     const filter::ByStatus toBeUninstalledFilter( &ResStatus::isToBeUninstalled );
 
-    PoolItem pi ( (sat::Solvable(id)) );
+    PoolItem pi ( slv );
 
     auto pool = ResPool::instance();
 
@@ -142,15 +141,15 @@ namespace zypp {
     //list of packages that are allowed to be removed automatically.
     const str::regex validRemovals("(kernel-syms(-.*)?|kgraft-patch(-.*)?|kernel-livepatch(-.*)?|.*-kmp(-.*)?)");
 
-    if ( ui::asSelectable()( pi )->hasLocks() ) {
+    if ( pi.status().isLocked() ) {
       MIL << "Package " << pi << " is locked by the user, not removing." << std::endl;
       return false;
     }
 
     //remember which packages are already marked for removal, we do not need to check them again
-    std::set< sat::Solvable::IdType> currentSetOfRemovals;
-    for ( auto it = pool.byStatusBegin( toBeUninstalledFilter ); it != pool.byStatusEnd( toBeUninstalledFilter );  it++  ) {
-      currentSetOfRemovals.insert( it->id() );
+    std::set<sat::Solvable> currentSetOfRemovals;
+    for ( const PoolItem & p : pool.byStatus( toBeUninstalledFilter ) ) {
+      currentSetOfRemovals.insert( p.satSolvable() );
     }
 
     pi.status().setToBeUninstalled( ResStatus::USER );
@@ -163,35 +162,35 @@ namespace zypp {
       return false;
     }
 
-    std::set<sat::Solvable::IdType> removedInThisRun;
-    removedInThisRun.insert( pi.id() );
+    std::set<sat::Solvable> removedInThisRun;
+    removedInThisRun.insert( slv );
 
-    for ( auto it = pool.byStatusBegin( toBeUninstalledFilter ); it != pool.byStatusEnd( toBeUninstalledFilter );  it++  ) {
+    for ( const PoolItem & p : pool.byStatus( toBeUninstalledFilter ) ) {
 
       //check if that package is removeable
-      if ( it->status().isByUser()      //this was set by us, ignore it
-           || (currentSetOfRemovals.find( it->id() ) != currentSetOfRemovals.end()) //this was marked by a previous removal, ignore them
+      if ( p.status().isByUser()      //this was set by us, ignore it
+           || (currentSetOfRemovals.find( p.satSolvable() ) != currentSetOfRemovals.end()) //this was marked by a previous removal, ignore them
         )
         continue;
 
       // remember for later we need remove the debugsource and debuginfo packages as well
-      removedInThisRun.insert( it->id() );
+      removedInThisRun.insert( p.satSolvable() );
 
-      MIL << "Package " << PoolItem(*it) << " was marked by the solver for removal." << std::endl;
+      MIL << "Package " << p << " was marked by the solver for removal." << std::endl;
 
       // if we do not plan to remove that package anyway, we need to check if its allowed to be removed ( package in removelist can never be in keep list )
-      if ( removeList.find( it->id() ) != removeList.end() )
+      if ( removeList.find( p.satSolvable() ) != removeList.end() )
         continue;
 
-      if ( keepList.find( it->id() ) != keepList.end() ) {
-        MIL << "Package " << PoolItem(*it) << " is in keep spec, skipping" << pi << std::endl;
+      if ( keepList.find( p.satSolvable() ) != keepList.end() ) {
+        MIL << "Package " << p << " is in keep spec, skipping" << pi << std::endl;
         pi.statusReset();
         return false;
       }
 
       str::smatch what;
-      if ( !str::regex_match( it->name(), what, validRemovals) ) {
-        MIL << "Package " << PoolItem(*it) << " should not be removed, skipping " << pi << std::endl;
+      if ( !str::regex_match( p.name(), what, validRemovals) ) {
+        MIL << "Package " << p << " should not be removed, skipping " << pi << std::endl;
         pi.statusReset();
         return false;
       }
@@ -201,28 +200,27 @@ namespace zypp {
 
     //now check and mark the -debugsource and -debuginfo packages for this package and all the packages that were removed. Maybe collect it before and just remove here
     MIL << "Trying to remove debuginfo for: " << pi <<"."<<std::endl;
-    for ( const auto id : removedInThisRun ) {
+    for ( sat::Solvable solvable : removedInThisRun ) {
 
-      const auto solvable = sat::Solvable(id);
       if ( solvable.arch() == Arch_noarch ||
            solvable.arch() == Arch_empty )
         continue;
 
-      for ( const auto suffix : { "-debugsource", "-debuginfo" } ) {
+      for ( const char * suffix : { "-debugsource", "-debuginfo" } ) {
         PoolQuery q;
         q.addKind( zypp::ResKind::package );
         q.addDependency( sat::SolvAttr::provides, Capability( solvable.name()+suffix, Rel::EQ, solvable.edition() ) );
         q.setInstalledOnly();
         q.setMatchExact();
 
-        for ( const auto debugPackage : q ) {
+        for ( sat::Solvable debugPackage : q ) {
 
           if ( debugPackage.arch() != solvable.arch() )
             continue;
 
           MIL << "Found debug package for " << solvable << " : " << debugPackage << std::endl;
           //if removing the package fails it will not stop us from going on , so no need to check
-          removePackageAndCheck( debugPackage.id(), keepList, removeList );
+          removePackageAndCheck( debugPackage, keepList, removeList );
         }
       }
     }
@@ -236,12 +234,21 @@ namespace zypp {
    */
   bool PurgeKernels::Impl::versionMatch( const Edition &a, const Edition &b )
   {
+    if ( a == b )
+      return true;
+
     // the build counter should not be considered here, so if there is one we cut it off
-    const auto dotOffset = b.release().find_last_of(".");
-    if ( dotOffset != std::string::npos ) {
-      return a == zypp::Edition( b.version(), b.release().substr( 0, dotOffset ), b.epoch() );
+    const str::regex buildCntRegex( "\\.[0-9]+($|\\.g[0-9a-f]{7}$)", str::regex::match_extended );
+
+    std::string versionStr = b.asString();
+    str::smatch matches;
+    if ( buildCntRegex.matches( versionStr.data(), matches ) ) {
+      if ( matches.size() >= 2 ) {
+        versionStr.replace( matches.begin(0), (matches.end(0) - matches.begin(0))+1, matches[1] );
+        return a == Edition(versionStr);
+      }
     }
-    return a == b;
+    return false;
   }
 
   /*!
@@ -316,11 +323,11 @@ namespace zypp {
    * doable. This is also what the perl script did.
    *
    */
-  void PurgeKernels::Impl::fillKeepList( const GroupMap &installedKernels, std::set<sat::Solvable::IdType> &keepList, std::set<sat::Solvable::IdType> &removeList ) const
+  void PurgeKernels::Impl::fillKeepList( const GroupMap &installedKernels, std::set<sat::Solvable> &keepList, std::set<sat::Solvable> &removeList ) const
   {
 
-    const auto markAsKeep = [ &keepList, &removeList ]( const auto &pck ) {
-      MIL << "Marking package " << sat::Solvable(pck) << " as to keep." << std::endl;
+    const auto markAsKeep = [ &keepList, &removeList ]( sat::Solvable pck ) {
+      MIL << "Marking package " << pck << " as to keep." << std::endl;
       keepList.insert( pck ) ;
       removeList.erase( pck );
     };
@@ -360,7 +367,7 @@ namespace zypp {
               MIL << "NOT removing any packages for flavor "<<_runningKernelFlavour<<"-"<<_kernelArch<<" ."<<std::endl;
 
               for ( const auto &kernelMap : map ) {
-                for( const auto &pck : kernelMap.second )
+                for( sat::Solvable pck : kernelMap.second )
                   markAsKeep(pck);
               }
               continue;
@@ -378,7 +385,7 @@ namespace zypp {
 
           // mark all packages of the running version as keep
           if ( it != map.end() ) {
-            for( const auto &pck : it->second ) {
+            for( sat::Solvable pck : it->second ) {
               markAsKeep(pck);
             }
           }
@@ -386,19 +393,22 @@ namespace zypp {
 
         for ( const auto &kernelMap : map ) {
           //if we find one of the running offsets in the keepspec, we add the kernel id the the list of packages to keep
-          if (  _keepOldestOffsets.find( currOff ) != _keepOldestOffsets.end()
-               || _keepLatestOffsets.find( currROff ) != _keepLatestOffsets.end()
-               // a kernel might be explicitely locked by version
-               // this will currently keep all editions that match, so if keep spec has 1-1 , this will keep 1-1 but also all 1-1.n
-               ||  std::find_if( _keepSpecificEditions.begin(), _keepSpecificEditions.end(),
-                    [ edition = &kernelMap.first ]( const auto &elem ) { return versionMatch( *edition, elem ); } ) != _keepSpecificEditions.end() ) {
-
-            for( const auto &pck : kernelMap.second ) {
-              markAsKeep(pck);
-            }
+          if (  _keepOldestOffsets.find( currOff ) != _keepOldestOffsets.end() || _keepLatestOffsets.find( currROff ) != _keepLatestOffsets.end() ) {
+            std::for_each( kernelMap.second.begin(), kernelMap.second.end(), markAsKeep );
           }
           currOff++;
           currROff--;
+
+          // a kernel package might be explicitely locked by version
+          // We need to go over all package name provides ( provides is named like the package ) and match
+          // them against the specified version to know which ones to keep. (bsc#1176740  bsc#1176192)
+          std::for_each( kernelMap.second.begin(), kernelMap.second.end(), [ & ]( sat::Solvable solv ){
+            for ( Capability prov : solv.provides() ) {
+              if ( prov.detail().name() == solv.name() && _keepSpecificEditions.count( prov.detail().ed() ) ) {
+                markAsKeep( solv );
+              }
+            }
+          });
         }
       }
     }
@@ -440,9 +450,9 @@ namespace zypp {
 
 
     // packages that we plan to remove
-    std::set<sat::Solvable::IdType> packagesToRemove;
+    std::set<sat::Solvable> packagesToRemove;
 
-    const auto addPackageToMap = [&installedKrnlPackages, &packagesToRemove] ( const GroupInfo::GroupType type, const std::string &ident, const std::string &flavour, const auto &installedKrnlPck ) {
+    const auto addPackageToMap = [&installedKrnlPackages, &packagesToRemove] ( const GroupInfo::GroupType type, const std::string &ident, const std::string &flavour, const sat::Solvable &installedKrnlPck ) {
 
       if ( !installedKrnlPackages.count( ident ) )
         installedKrnlPackages.insert( std::make_pair( ident, GroupInfo(type, flavour) ) );
@@ -460,18 +470,40 @@ namespace zypp {
 
       auto &editionToSolvableMap = groupInfo.archToEdMap[ currArch ];
 
-      const auto currEd  = installedKrnlPck.edition();
-      if ( !editionToSolvableMap.count( currEd ) )
-        editionToSolvableMap.insert( std::make_pair( currEd, SolvableList{} ) );
+      // calculate the "shortest" or most generic edition of all the package name provides
+      // ( the key of the provides is the package name ). This generic edition is used to
+      // group the packages together. This should get us around the issue that uname -r does
+      // not represent the actual rpm package version anymore. ( bsc#1176740 )
+      auto currCount = INT_MAX;
+      Edition edToUse;
+      for ( Capability prov : installedKrnlPck.provides() ) {
+        if ( prov.detail().name() == installedKrnlPck.name() ) {
+          if ( edToUse == Edition::noedition ) {
+            edToUse = installedKrnlPck.edition();
+            const auto &relStr = edToUse.release();
+            currCount = std::count( relStr.begin(), relStr.end(), '.');
+          } else {
+            const auto &pckEd = prov.detail().ed();
+            const auto &relStr = pckEd.release();
+            if ( const auto pntCnt = std::count( relStr.begin(), relStr.end(), '.'); pntCnt < currCount ) {
+              currCount = pntCnt;
+              edToUse = pckEd;
+            }
+          }
+        }
+      }
 
-      editionToSolvableMap[currEd].push_back( installedKrnlPck.id() );
+      if ( !editionToSolvableMap.count( edToUse ) )
+        editionToSolvableMap.insert( std::make_pair( edToUse, SolvableList{} ) );
+
+      editionToSolvableMap[edToUse].push_back( installedKrnlPck );
 
       //in the first step we collect all packages in this list, then later we will remove the packages we want to explicitely keep
-      packagesToRemove.insert( installedKrnlPck.id() );
+      packagesToRemove.insert( installedKrnlPck );
     };
 
-    // the set of package IDs that have to be kept always
-    std::set<sat::Solvable::IdType> packagesToKeep;
+    // the set of satSolvables that have to be kept always
+    std::set<sat::Solvable> packagesToKeep;
 
     //collect the list of installed kernel packages
     PoolQuery q;
@@ -482,7 +514,7 @@ namespace zypp {
 
     MIL << "Searching for obsolete multiversion kernel packages." << std::endl;
 
-    for ( auto installedKrnlPck : q ) {
+    for ( sat::Solvable installedKrnlPck : q ) {
 
       MIL << "Found installed multiversion kernel package " << installedKrnlPck << std::endl;
 
@@ -510,6 +542,7 @@ namespace zypp {
 
       } else {
 
+        // if adapting the groups do not forget to explicitely handle the group when querying the matches
         const str::regex explicitelyHandled("kernel-syms(-.*)?|kernel(-.*)?-devel");
 
         MIL << "Not a kernel package, inspecting more closely " << std::endl;
@@ -527,15 +560,18 @@ namespace zypp {
           // getting no flavour for a kernel(-*)?-devel means we have the kernel-devel package otherwise the flavour specific one
           // ...yes this is horrible
           std::string flav;
-          if ( match.size() > 1 )  {
+
+          // first group match is a kernel-syms
+          if ( match.size() > 1 && match[1].size() )
+            flav = match[1].substr(1);
+          // second group match is a kernel-flavour-devel
+          else if ( match.size() > 2 &&  match[2].size() )
             flav = match[2].substr(1);
-          } else if ( installedKrnlPck.name() == "kernel-syms" ) {
+          else if ( installedKrnlPck.name() == "kernel-syms" )
             flav = "default";
-          }
 
           MIL << "Handling package explicitely due to name match."<< std::endl;
           addPackageToMap ( GroupInfo::RelatedBinaries, installedKrnlPck.name(), flav, installedKrnlPck );
-
         } else {
           MIL << "Package not explicitely handled" << std::endl;
         }
@@ -561,8 +597,8 @@ namespace zypp {
 
     _pimpl->fillKeepList( installedKrnlPackages, packagesToKeep, packagesToRemove );
 
-    for ( const auto id : packagesToRemove )
-      _pimpl->removePackageAndCheck( id, packagesToKeep, packagesToRemove );
+    for ( sat::Solvable slv : packagesToRemove )
+      _pimpl->removePackageAndCheck( slv, packagesToKeep, packagesToRemove );
   }
 
   void PurgeKernels::setUnameR( const std::string &val )
index 832425d..27a1c67 100644 (file)
@@ -48,6 +48,25 @@ using zypp::xml::escape;
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  namespace
+  {
+    repo::RepoType probeCache( const Pathname & path_r )
+    {
+      repo::RepoType ret = repo::RepoType::NONE;
+      if ( PathInfo(path_r).isDir() )
+      {
+       if ( PathInfo(path_r/"/repodata/repomd.xml").isFile() )
+       { ret = repo::RepoType::RPMMD; }
+       else if ( PathInfo(path_r/"/content").isFile() )
+       { ret = repo::RepoType::YAST2; }
+       else if ( PathInfo(path_r/"/cookie").isFile() )
+       { ret = repo::RepoType::RPMPLAINDIR; }
+      }
+      DBG << "Probed cached type " << ret << " at " << path_r << endl;
+      return ret;
+    }
+  } // namespace
+
   ///////////////////////////////////////////////////////////////////
   //
   //   CLASS NAME : RepoInfo::Impl
@@ -60,9 +79,9 @@ namespace zypp
       , _rawRepoGpgCheck( indeterminate )
       , _rawPkgGpgCheck( indeterminate )
       , _validRepoSignature( indeterminate )
+      , _type(repo::RepoType::NONE_e)
       ,        keeppackages(indeterminate)
       , _mirrorListForceMetalink(false)
-      , type(repo::RepoType::NONE_e)
       , emptybaseurls(false)
     {}
 
@@ -73,14 +92,20 @@ namespace zypp
     static const unsigned defaultPriority = 99;
     static const unsigned noPriority = unsigned(-1);
 
+    void setType( const repo::RepoType & t )
+    { _type = t; }
+
     void setProbedType( const repo::RepoType & t ) const
     {
-      if ( type == repo::RepoType::NONE
-           && t != repo::RepoType::NONE )
-      {
-        // lazy init!
-        const_cast<Impl*>(this)->type = t;
-      }
+      if ( _type == repo::RepoType::NONE && t != repo::RepoType::NONE )
+      { const_cast<Impl*>(this)->_type = t; }
+    }
+
+    repo::RepoType type() const
+    {
+      if ( _type == repo::RepoType::NONE )
+       setProbedType( probeCache( metadataPath() / path ) );
+      return _type;
     }
 
   public:
@@ -290,12 +315,12 @@ namespace zypp
     { return indeterminate(_rawGpgCheck) && indeterminate(_rawPkgGpgCheck) ? ZConfig::instance().pkgGpgCheck() : _rawPkgGpgCheck; }
 
   private:
-    TriBool _validRepoSignature;///< have  signed and valid repo metadata
+    TriBool _validRepoSignature; ///< have  signed and valid repo metadata
+    repo::RepoType _type;
   public:
     TriBool keeppackages;
     RepoVariablesReplacedUrl _mirrorListUrl;
     bool                     _mirrorListForceMetalink;
-    repo::RepoType type;
     Pathname path;
     std::string service;
     std::string targetDistro;
@@ -622,7 +647,7 @@ namespace zypp
   { _pimpl->path = path; }
 
   void RepoInfo::setType( const repo::RepoType &t )
-  { _pimpl->type = t; }
+  { _pimpl->setType( t ); }
 
   void RepoInfo::setProbedType( const repo::RepoType &t ) const
   { _pimpl->setProbedType( t ); }
@@ -656,7 +681,7 @@ namespace zypp
   { return _pimpl->usesAutoMethadataPaths(); }
 
   repo::RepoType RepoInfo::type() const
-  { return _pimpl->type; }
+  { return _pimpl->type(); }
 
   Url RepoInfo::mirrorListUrl() const                  // Variables replaced!
   { return _pimpl->_mirrorListUrl.transformed(); }
@@ -909,7 +934,7 @@ namespace zypp
       std::string indent;
       for ( const auto & url : _pimpl->baseUrls().raw() )
       {
-        str << indent << url << endl;
+        str << indent << hotfix1050625::asString( url ) << endl;
        if ( indent.empty() ) indent = "        ";      // "baseurl="
       }
     }
@@ -918,9 +943,10 @@ namespace zypp
       str << "path="<< path() << endl;
 
     if ( ! (rawMirrorListUrl().asString().empty()) )
-      str << (_pimpl->_mirrorListForceMetalink ? "metalink=" : "mirrorlist=") << rawMirrorListUrl() << endl;
+      str << (_pimpl->_mirrorListForceMetalink ? "metalink=" : "mirrorlist=") << hotfix1050625::asString( rawMirrorListUrl() ) << endl;
 
-    str << "type=" << type().asString() << endl;
+    if ( type() != repo::RepoType::NONE )
+      str << "type=" << type().asString() << endl;
 
     if ( priority() != defaultPriority() )
       str << "priority=" << priority() << endl;
index dceddc3..9eb19a5 100644 (file)
@@ -814,11 +814,20 @@ namespace zypp
        std::set<std::string> oldfiles;
        set_difference( entries.begin(), entries.end(), repoEscAliases_r.begin(), repoEscAliases_r.end(),
                        std::inserter( oldfiles, oldfiles.end() ) );
+
+       // bsc#1178966: Files or symlinks here have been created by the user
+       // for whatever purpose. It's our cache, so we purge them now before
+       // they may later conflict with directories we need.
+       PathInfo pi;
        for ( const std::string & old : oldfiles )
        {
          if ( old == Repository::systemRepoAlias() )   // don't remove the @System solv file
            continue;
-         filesystem::recursive_rmdir( cachePath_r / old );
+         pi( cachePath_r/old );
+         if ( pi.isDir() )
+           filesystem::recursive_rmdir( pi.path() );
+         else
+           filesystem::unlink( pi.path() );
        }
       }
     }
@@ -901,6 +910,10 @@ namespace zypp
     if ( repokind == RepoType::NONE )
       repokind = probeCache( productdatapath );
 
+    // NOTE: The calling code expects an empty RepoStatus being returned
+    // if the metadata cache is empty. So additioanl components like the
+    // RepoInfos status are joined after the switch IFF the status is not
+    // empty.
     RepoStatus status;
     switch ( repokind.toEnum() )
     {
@@ -913,7 +926,7 @@ namespace zypp
        break;
 
       case RepoType::RPMPLAINDIR_e :
-       status = RepoStatus::fromCookieFile( productdatapath/"cookie" );
+       status = RepoStatus::fromCookieFile( productdatapath/"cookie" );        // dir status at last refresh
        break;
 
       case RepoType::NONE_e :
@@ -922,6 +935,10 @@ namespace zypp
         // ZYPP_THROW(RepoUnknownTypeException());
        break;
     }
+
+    if ( ! status.empty() )
+      status = status && RepoStatus( info );
+
     return status;
   }
 
@@ -968,12 +985,13 @@ namespace zypp
     assert_alias(info);
     try
     {
-      MIL << "Going to try to check whether refresh is needed for " << url << " (" << info.type() << ")" << endl;
+      MIL << "Check if to refresh repo " << info.alias() << " at " << url << " (" << info.type() << ")" << endl;
 
       // first check old (cached) metadata
       Pathname mediarootpath = rawcache_path_for_repoinfo( _options, info );
       filesystem::assert_dir( mediarootpath );
       RepoStatus oldstatus = metadataStatus( info );
+
       if ( oldstatus.empty() )
       {
         MIL << "No cached metadata, going to refresh" << endl;
@@ -997,33 +1015,37 @@ namespace zypp
        policy = RefreshIfNeededIgnoreDelay;
       }
 
-      // now we've got the old (cached) status, we can decide repo.refresh.delay
+      // Check whether repo.refresh.delay applies...
       if ( policy != RefreshIfNeededIgnoreDelay )
       {
-        // difference in seconds
-        double diff = difftime(
-          (Date::ValueType)Date::now(),
-          (Date::ValueType)oldstatus.timestamp()) / 60;
-
-        DBG << "oldstatus: " << (Date::ValueType)oldstatus.timestamp() << endl;
-        DBG << "current time: " << (Date::ValueType)Date::now() << endl;
-        DBG << "last refresh = " << diff << " minutes ago" << endl;
+       // bsc#1174016: Prerequisite to skipping the refresh is that metadata
+       // and solv cache status match. They will not, if the repos URL was
+       // changed e.g. due to changed repovars.
+       RepoStatus cachestatus = cacheStatus( info );
 
-        if ( diff < ZConfig::instance().repo_refresh_delay() )
-        {
-         if ( diff < 0 )
-         {
-           WAR << "Repository '" << info.alias() << "' was refreshed in the future!" << endl;
-         }
-         else
+       if ( oldstatus == cachestatus )
+       {
+         // difference in seconds
+         double diff = ::difftime( (Date::ValueType)Date::now(), (Date::ValueType)oldstatus.timestamp() ) / 60;
+         if ( diff < ZConfig::instance().repo_refresh_delay() )
          {
-           MIL << "Repository '" << info.alias()
-               << "' has been refreshed less than repo.refresh.delay ("
-               << ZConfig::instance().repo_refresh_delay()
-               << ") minutes ago. Advising to skip refresh" << endl;
-           return REPO_CHECK_DELAYED;
+           if ( diff < 0 )
+           {
+             WAR << "Repository '" << info.alias() << "' was refreshed in the future!" << endl;
+           }
+           else
+           {
+             MIL << "Repository '" << info.alias()
+             << "' has been refreshed less than repo.refresh.delay ("
+             << ZConfig::instance().repo_refresh_delay()
+             << ") minutes ago. Advising to skip refresh" << endl;
+             return REPO_CHECK_DELAYED;
+           }
          }
-        }
+       }
+       else {
+         MIL << "Metadata and solv cache don't match. Check data on server..." << endl;
+       }
       }
 
       repo::RepoType repokind = info.type();
@@ -1038,19 +1060,19 @@ namespace zypp
        case RepoType::RPMMD_e:
        {
          MediaSetAccess media( url );
-         newstatus = yum::Downloader( info, mediarootpath ).status( media );
+         newstatus = RepoStatus( info ) && yum::Downloader( info, mediarootpath ).status( media );
        }
        break;
 
        case RepoType::YAST2_e:
        {
          MediaSetAccess media( url );
-         newstatus = susetags::Downloader( info, mediarootpath ).status( media );
+         newstatus = RepoStatus( info ) && susetags::Downloader( info, mediarootpath ).status( media );
        }
        break;
 
        case RepoType::RPMPLAINDIR_e:
-         newstatus = RepoStatus( MediaMounter(url).getPathName(info.path()) ); // dir status
+         newstatus = RepoStatus( info ) && RepoStatus( MediaMounter(url).getPathName(info.path()) );   // dir status
          break;
 
        default:
@@ -1118,20 +1140,24 @@ namespace zypp
          if ( repokind != probed )
          {
            repokind = probed;
-           // Adjust the probed type in RepoInfo
-           info.setProbedType( repokind ); // lazy init!
-           //save probed type only for repos in system
+           // update probed type only for repos in system
            for_( it, repoBegin(), repoEnd() )
            {
              if ( info.alias() == (*it).alias() )
              {
                RepoInfo modifiedrepo = *it;
                modifiedrepo.setType( repokind );
-               modifyRepository( info.alias(), modifiedrepo );
+               // don't modify .repo in refresh.
+               // modifyRepository( info.alias(), modifiedrepo );
                break;
              }
            }
+           // Adjust the probed type in RepoInfo
+           info.setProbedType( repokind ); // lazy init!
          }
+         // no need to continue with an unknown type
+         if ( repokind.toEnum() == RepoType::NONE_e )
+           ZYPP_THROW(RepoUnknownTypeException( info ));
        }
 
         Pathname mediarootpath = rawcache_path_for_repoinfo( _options, info );
@@ -1179,6 +1205,7 @@ namespace zypp
         }
         else if ( repokind.toEnum() == RepoType::RPMPLAINDIR_e )
         {
+         // as substitute for real metadata remember the checksum of the directory we refreshed
           MediaMounter media( url );
           RepoStatus newstatus = RepoStatus( media.getPathName( info.path() ) );       // dir status
 
index 059474f..ba10fc7 100644 (file)
 #include <iostream>
 #include <sstream>
 #include <fstream>
+#include <set>
 #include <zypp/base/Logger.h>
 #include <zypp/base/String.h>
 #include <zypp/RepoStatus.h>
+#include <zypp/RepoInfo.h>
 #include <zypp/PathInfo.h>
 
 using std::endl;
 
 ///////////////////////////////////////////////////////////////////
 namespace zypp
-{ /////////////////////////////////////////////////////////////////
+{
+  ///////////////////////////////////////////////////////////////////
+  namespace
+  {
+    /** Recursive computation of max dir timestamp. */
+    void recursiveTimestamp( const Pathname & dir_r, time_t & max_r )
+    {
+      std::list<std::string> dircontent;
+      if ( filesystem::readdir( dircontent, dir_r, false/*no dots*/ ) != 0 )
+       return; // readdir logged the error
+
+      for_( it, dircontent.begin(), dircontent.end() )
+      {
+       PathInfo pi( dir_r + *it, PathInfo::LSTAT );
+       if ( pi.isDir() )
+       {
+         if ( pi.mtime() > max_r )
+           max_r = pi.mtime();
+         recursiveTimestamp( pi.path(), max_r );
+       }
+      }
+    }
+  } // namespace
+  ///////////////////////////////////////////////////////////////////
 
   ///////////////////////////////////////////////////////////////////
   //
@@ -30,44 +55,89 @@ namespace zypp
   /** RepoStatus implementation. */
   struct RepoStatus::Impl
   {
-  public:
-    std::string _checksum;
-    Date _timestamp;
+    using Checksums = std::set<std::string>;
 
-    // NOTE: Changing magic will at once invalidate all solv file caches.
-    // Helpfull if solv file content must be refreshed (e.g. due to different
-    // repo2* arguments) even if raw metadata are unchanged.
-    // Only values set from a RepoStatus ctor need magic to be added.
+  public:
+    /** Assign data called from RepoStatus ctor (adds magic).
+     *
+     * \Note Changing magic will at once invalidate all solv file caches.
+     * Helpfull if solv file content must be refreshed (e.g. due to different
+     * repo2solv arguments) even if raw metadata are unchanged. Only values
+     * set from a RepoStatus ctor need magic to be added!
+     */
     void assignFromCtor( std::string && checksum_r, Date && timestamp_r )
     {
-      _checksum = std::move(checksum_r);
-      _timestamp = std::move(timestamp_r);
-      if ( !_checksum.empty() )
-      {
+      if ( !checksum_r.empty() ) {
        static const std::string magic( "43" );
-       _checksum += magic;
+       checksum_r += magic;
+       _checksums.insert( std::move(checksum_r) );
       }
+      _timestamp = std::move(timestamp_r);
     }
 
-    /** Recursive computation of max dir timestamp. */
-    static void recursive_timestamp( const Pathname & dir_r, time_t & max_r )
+    /** Inject raw data (no magic added). */
+    void inject( std::string && checksum_r, Date && timestamp_r )
     {
-      std::list<std::string> dircontent;
-      if ( filesystem::readdir( dircontent, dir_r, false/*no dots*/ ) != 0 )
-       return; // readdir logged the error
+      if ( !checksum_r.empty() ) {
+       _checksums.insert( std::move(checksum_r) );
+       _cachedchecksum.reset();
+      }
 
-      for_( it, dircontent.begin(), dircontent.end() )
-      {
-       PathInfo pi( dir_r + *it, PathInfo::LSTAT );
-       if ( pi.isDir() )
-       {
-         if ( pi.mtime() > max_r )
-           max_r = pi.mtime();
-         recursive_timestamp( pi.path(), max_r );
+      if ( timestamp_r > _timestamp )
+       _timestamp = timestamp_r;
+    }
+
+    /** Inject the raw data from rhs */
+    void injectFrom( const Impl & rhs )
+    {
+      if ( &rhs == this )      // no self insert
+       return;
+
+      if ( !rhs._checksums.empty() ) {
+       _checksums.insert( rhs._checksums.begin(), rhs._checksums.end() );
+       _cachedchecksum.reset();
+      }
+
+      if ( rhs._timestamp > _timestamp )
+       _timestamp = rhs._timestamp;
+    }
+
+    bool empty() const
+    { return _checksums.empty(); }
+
+    std::string checksum() const
+    {
+      std::string ret;
+      if ( _checksums.empty() )
+       return ret;
+
+      if ( _checksums.size() == 1 )
+       ret = *_checksums.begin();
+      else {
+       if ( !_cachedchecksum ) {
+         std::stringstream ss;
+         for ( std::string_view c : _checksums )
+           ss << c;
+         _cachedchecksum = CheckSum::sha1(ss).checksum();
        }
+       ret = *_cachedchecksum;
       }
+      return ret;
     }
 
+    Date timestamp() const
+    { return _timestamp; }
+
+    /** Dump to log file (not to/from CookieFile). */
+    std::ostream & dumpOn( std::ostream & str ) const
+    { return str << ( empty() ? "NO_REPOSTATUS" : checksum() ) << " " << time_t(_timestamp); }
+
+  private:
+    Checksums _checksums;
+    Date _timestamp;
+
+    mutable std::optional<std::string> _cachedchecksum;
+
   private:
     friend Impl * rwcowClone<Impl>( const Impl * rhs );
     /** clone for RWCOW_pointer */
@@ -76,10 +146,6 @@ namespace zypp
   };
   ///////////////////////////////////////////////////////////////////
 
-  /** \relates RepoStatus::Impl Stream output */
-  inline std::ostream & operator<<( std::ostream & str, const RepoStatus::Impl & obj )
-  { return str << obj._checksum << " " << (time_t)obj._timestamp; }
-
   ///////////////////////////////////////////////////////////////////
   //
   //   CLASS NAME : RepoStatus
@@ -103,12 +169,18 @@ namespace zypp
       else if ( info.isDir() )
       {
        time_t t = info.mtime();
-       Impl::recursive_timestamp( path_r, t );
+       recursiveTimestamp( path_r, t );
        _pimpl->assignFromCtor( CheckSum::sha1FromString( str::numstring( t ) ).checksum(), Date( t ) );
       }
     }
   }
 
+  RepoStatus::RepoStatus( const RepoInfo & info_r )
+  : _pimpl( new Impl() )
+  {
+    _pimpl->assignFromCtor( CheckSum::sha1FromString( info_r.url().asString() ).checksum(), Date() );
+  }
+
   RepoStatus::RepoStatus( std::string checksum_r, Date timestamp_r )
   : _pimpl( new Impl() )
   {
@@ -128,10 +200,10 @@ namespace zypp
     }
     else
     {
-      // line := "[checksum] time_t"
-      std::string line( str::getline( file ) );
-      ret._pimpl->_timestamp = Date( str::strtonum<time_t>( str::stripLastWord( line ) ) );
-      ret._pimpl->_checksum = line;
+      // line := "[checksum] time_t"  !!! strip time from line
+      std::string line { str::getline( file ) };
+      Date        stmp { str::strtonum<time_t>( str::stripLastWord( line ) ) };
+      ret._pimpl->inject( std::move(line), std::move(stmp) );  // raw inject to avoid magic being added
     }
     return ret;
   }
@@ -142,42 +214,28 @@ namespace zypp
     if (!file) {
       ZYPP_THROW (Exception( "Can't open " + path_r.asString() ) );
     }
-    file << _pimpl->_checksum << " " << (time_t)_pimpl->_timestamp << endl;
+    file << _pimpl->checksum() << " " << time_t(_pimpl->timestamp()) << endl;
     file.close();
   }
 
   bool RepoStatus::empty() const
-  { return _pimpl->_checksum.empty(); }
+  { return _pimpl->empty(); }
 
   Date RepoStatus::timestamp() const
-  { return _pimpl->_timestamp; }
+  { return _pimpl->timestamp(); }
 
   std::ostream & operator<<( std::ostream & str, const RepoStatus & obj )
-  { return str << *obj._pimpl; }
+  { return obj._pimpl->dumpOn( str ); }
 
   RepoStatus operator&&( const RepoStatus & lhs, const RepoStatus & rhs )
   {
-    RepoStatus result;
-
-    if ( lhs.empty() )
-      result = rhs;
-    else if ( rhs.empty() )
-      result = lhs;
-    else
-    {
-      // order strings to assert && is kommutativ
-      std::string lchk( lhs._pimpl->_checksum );
-      std::string rchk( rhs._pimpl->_checksum );
-      std::stringstream ss( lchk < rchk ? lchk+rchk : rchk+lchk );
-
-      result._pimpl->_checksum = CheckSum::sha1(ss).checksum();
-      result._pimpl->_timestamp = std::max( lhs._pimpl->_timestamp, rhs._pimpl->_timestamp );
-    }
+    RepoStatus result { lhs };
+    result._pimpl->injectFrom( *rhs._pimpl );
     return result;
   }
 
   bool operator==( const RepoStatus & lhs, const RepoStatus & rhs )
-  { return lhs._pimpl->_checksum == rhs._pimpl->_checksum; }
+  { return lhs._pimpl->checksum() == rhs._pimpl->checksum(); }
 
   /////////////////////////////////////////////////////////////////
 } // namespace zypp
index 41e0152..7ab4972 100644 (file)
@@ -21,6 +21,8 @@
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  class RepoInfo;
+
   ///////////////////////////////////////////////////////////////////
   /// \class RepoStatus
   /// \brief Track changing files or directories.
@@ -52,6 +54,9 @@ namespace zypp
      */
     explicit RepoStatus( const Pathname & path_r );
 
+    /** Compute status of a \a RepoInfo to track changes requiring a refresh. */
+    explicit RepoStatus( const RepoInfo & info_r );
+
     /** Explicitly specify checksum string and timestamp to use. */
     RepoStatus( std::string checksum_r, Date timestamp_r );
 
@@ -73,14 +78,14 @@ namespace zypp
     void saveToCookieFile( const Pathname & path_r ) const;
 
   public:
-    /** Whether the status is empty (default constucted) */
+    /** Whether the status is empty (empty checksum) */
     bool empty() const;
 
     /** The time the data were changed the last time */
     Date timestamp() const;
 
   public:
-    struct Impl;                       ///< Implementation
+    struct Impl;               ///< Implementation
   private:
     RWCOW_pointer<Impl> _pimpl;        ///< Pointer to implementation
   };
index 6955f52..78d92b6 100644 (file)
@@ -358,6 +358,28 @@ namespace zypp
       MIL << *this << " after adding " << file_r << endl;
     }
 
+    void Repository::addTesttags( const Pathname & file_r )
+    {
+      NO_REPOSITORY_THROW( Exception( "Can't add solvables to norepo." ) );
+
+      std::string command( file_r.extension() == ".gz" ? "zcat " : "cat " );
+      command += file_r.asString();
+
+      AutoDispose<FILE*> file( ::popen( command.c_str(), "re" ), ::pclose );
+      if ( file == NULL )
+      {
+        file.resetDispose();
+        ZYPP_THROW( Exception( "Can't open testtags-file: "+file_r.asString() ) );
+      }
+
+      if ( myPool()._addTesttags( _repo, file ) != 0 )
+      {
+        ZYPP_THROW( Exception( "Error reading testtags-file: "+file_r.asString() ) );
+      }
+
+      MIL << *this << " after adding " << file_r << endl;
+    }
+
     sat::detail::SolvableIdType Repository::addSolvables( unsigned count_r )
     {
        NO_REPOSITORY_THROW( Exception( "Can't add solvables to norepo.") );
index 4248727..d3092b2 100644 (file)
@@ -293,6 +293,15 @@ namespace zypp
          */
         void addHelix( const Pathname & file_r );
 
+        /** Load \ref Solvables from a libsolv testtags-file.
+         * Supports loading of gzip compressed files (.gz). In case of an exception
+         * the repository remains in the \ref Pool.
+         * \throws Exception if this is \ref noRepository
+         * \throws Exception if loading the helix-file fails.
+         * \see \ref Pool::addRepoTesttags and \ref Repository::EraseFromPool
+         */
+        void addTesttags(const Pathname &file_r);
+
        /** Add \c count_r new empty \ref Solvable to this \ref Repository. */
         sat::Solvable::IdType addSolvables( unsigned count_r );
         /** \overload Add only one new \ref Solvable. */
@@ -316,7 +325,6 @@ namespace zypp
         int satInternalPriority() const;
         int satInternalSubPriority() const;
         //@}
-
     private:
         IdType _id;
     };
index 04bfcb2..dc7684a 100644 (file)
@@ -173,7 +173,7 @@ namespace zypp
   std::ostream & ServiceInfo::dumpAsIniOn( std::ostream & str ) const
   {
     RepoInfoBase::dumpAsIniOn(str)
-      << "url = " << rawUrl() << endl
+      << "url = " << hotfix1050625::asString( rawUrl() ) << endl
       << "type = " << type() << endl;
 
     if ( ttl() )
index 2497405..acaf9bc 100644 (file)
@@ -134,6 +134,11 @@ namespace zypp
   std::string Target::anonymousUniqueId( const Pathname & root_r )
   { return target::TargetImpl::anonymousUniqueId( root_r ); }
 
+  const VendorAttr & Target::vendorAttr() const
+  { return _pimpl->vendorAttr(); }
+  void Target::vendorAttr( VendorAttr vendorAttr_r )
+  { _pimpl->vendorAttr( std::move(vendorAttr_r) ); }
+
   /////////////////////////////////////////////////////////////////
 } // namespace zypp
 ///////////////////////////////////////////////////////////////////
index 62cffba..a4c2c87 100644 (file)
@@ -26,6 +26,7 @@
 ///////////////////////////////////////////////////////////////////
 namespace zypp
 { /////////////////////////////////////////////////////////////////
+  class VendorAttr;
   namespace target
   {
     class TargetImpl;
@@ -206,6 +207,19 @@ namespace zypp
     //@}
 
   public:
+    /** \name Definition of vendor equivalence.
+     * \see \ref VendorAttr
+     */
+    //@{
+    /** The targets current vendor equivalence settings.
+     * Initialized from the targets /etc/zypp/vendors.d.
+     */
+    const VendorAttr & vendorAttr() const;
+    /** Assign new vendor equivalence settings to the target. */
+    void vendorAttr( VendorAttr vendorAttr_r );
+    //@}
+
+  public:
     /** Ctor. If \c doRebuild_r is \c true, an already existing
      * database is rebuilt (rpm --rebuilddb ).
     */
index 2e9a554..4572e75 100644 (file)
@@ -877,6 +877,11 @@ namespace zypp
     return (lhs.asCompleteString() != rhs.asCompleteString());
   }
 
+  namespace hotfix1050625 {
+    std::string asString( const Url & url_r )
+    { return url_r.m_impl->asString1050625(); }
+  }
+
   ////////////////////////////////////////////////////////////////////
 } // namespace zypp
 //////////////////////////////////////////////////////////////////////
index ff2cbb4..9323fcf 100644 (file)
 namespace zypp
 { ////////////////////////////////////////////////////////////////////
 
+  class Url;
+  namespace hotfix1050625 {
+    std::string asString( const Url & url_r );
+  }
   namespace filesystem {
     class Pathname;
   }
@@ -821,6 +825,7 @@ namespace zypp
     setViewOptions(const ViewOptions &vopts);
 
   private:
+    friend std::string hotfix1050625::asString( const Url & url_r );
     url::UrlRef m_impl;
   };
 
index cac387a..47680d1 100644 (file)
@@ -6,16 +6,8 @@
 |                         /_____||_| |_| |_|                           |
 |                                                                      |
 \---------------------------------------------------------------------*/
-/*
-  File:       VendorAttr.cc
-
-  Author:     Michael Andres <ma@suse.de>
-  Maintainer: Michael Andres <ma@suse.de>
-
-  Purpose: Manage vendor attributes
-
-/-*/
-
+/** \file zypp/VendorAttr.cc
+*/
 #include <iostream>
 #include <fstream>
 #include <set>
@@ -24,7 +16,7 @@
 
 #include <zypp/base/LogTools.h>
 #include <zypp/base/IOStream.h>
-#include <zypp/base/String.h>
+#include <zypp/base/StringV.h>
 
 #include <zypp/PathInfo.h>
 #include <zypp/VendorAttr.h>
@@ -42,246 +34,296 @@ namespace zypp
 { /////////////////////////////////////////////////////////////////
 
   ///////////////////////////////////////////////////////////////////
-  namespace
-  { /////////////////////////////////////////////////////////////////
+  /// \class VendorAttr::Impl
+  /// \brief VendorAttr implementation.
+  ///////////////////////////////////////////////////////////////////
+  class VendorAttr::Impl // : private base::NonCopyable
+  {
+    friend std::ostream & operator<<( std::ostream & str, const Impl & obj );
+  public:
+    /** Ctor.
+     * bsc#1030686: The legacy default equivalence of 'suse' and 'opensuse'
+     * has been removed.
+     * bnc#812608: No prefix compare in opensuse namespace, so just create
+     * a class for 'suse*'
+     */
+    Impl()
+    { _vendorGroupMap["suse"] = ++_vendorGroupId; }
 
-    typedef std::map<Vendor,unsigned> VendorMap;
-    VendorMap _vendorMap;
-    unsigned vendorGroupCounter;
+  public:
+    /** Add a new equivalent vendor set. */
+    void addVendorList( VendorList && vendorList_r );
 
-    /////////////////////////////////////////////////////////////////
-  } // namespace
-  ///////////////////////////////////////////////////////////////////
+    /** Return whether two vendor strings should be treated as equivalent.*/
+    bool equivalent( IdString lVendor, IdString rVendor ) const
+    { return lVendor == rVendor || vendorMatchId( lVendor ) == vendorMatchId( rVendor ); }
 
-  ///////////////////////////////////////////////////////////////////
-  namespace
-  { /////////////////////////////////////////////////////////////////
-    typedef DefaultIntegral<int,0>                             VendorMatchEntry;
+    unsigned foreachVendorList( std::function<bool(VendorList)> fnc_r ) const
+    {
+      std::map<unsigned,VendorList> lists;
+      for( const auto & el : _vendorGroupMap )
+       lists[el.second].push_back( el.first );
+
+      unsigned ret = 0;
+      for ( auto el : lists ) {
+       VendorList & vlist { el.second };
+       if ( vlist.empty() )
+         continue;
+       ++ret;
+       if ( fnc_r && !fnc_r( std::move(vlist) ) )
+         break;
+      }
+      return ret;
+    }
+
+  private:
+    using VendorGroupMap = std::map<std::string,unsigned>;
+    VendorGroupMap _vendorGroupMap;    ///< Vendor group definition. Equivalent groups share the same ID.
+    unsigned _vendorGroupId = 0;       ///< Highest group ID in use (incremented).
+
+  private:
+    typedef DefaultIntegral<unsigned,0>                                VendorMatchEntry;
     typedef std::unordered_map<IdString, VendorMatchEntry>     VendorMatch;
-    int         _nextId = -1;
-    VendorMatch _vendorMatch;
+    mutable VendorMatch _vendorMatch;  ///< Cache mapping vendor strings to equivalence class ID
+    mutable unsigned _nextId = 0;      ///< Least equivalence class ID in use (decremented).
 
-    /** Reset match cache if global VendorMap was changed. */
-    inline void vendorMatchIdReset()
+    /** Reset vendor match cache if _vendorGroupMap was changed. */
+    void vendorMatchIdReset()
     {
-      _nextId = -1;
+      _nextId = 0;
       _vendorMatch.clear();
     }
 
-    /**
-     * Helper mapping vendor string to eqivalence class ID.
+    /** Helper mapping a vendor string to it's eqivalence class ID.
      *
      * \li Return the vendor strings eqivalence class ID stored in _vendorMatch.
      * \li If not found, assign and return the eqivalence class ID of the lowercased string.
-     * \li If not found, assign and return a new ID (look into the predefined VendorMap (id>0),
+     * \li If not found, assign and return a new ID (look into the predefined VendorGroupMap (id>0),
      *     otherwise create a new ID (<0)).
      */
-    inline unsigned vendorMatchId( IdString vendor )
+    unsigned vendorMatchId( IdString vendor ) const;
+
+  private:
+    friend Impl * rwcowClone<Impl>( const Impl * rhs );
+    /** clone for RWCOW_pointer */
+    Impl * clone() const
+    { return new Impl( *this ); }
+  };
+
+  unsigned VendorAttr::Impl::vendorMatchId( IdString vendor ) const
+  {
+    VendorMatchEntry & ent { _vendorMatch[vendor] };
+    if ( ! ent )
     {
-      VendorMatchEntry & ent( _vendorMatch[vendor] );
-      if ( ! ent )
+      IdString lcvendor { str::toLower( vendor.asString() ) };
+      VendorMatchEntry & lcent( _vendorMatch[lcvendor] );
+      if ( ! lcent )
       {
-        IdString lcvendor( str::toLower( vendor.asString() ) );
-        VendorMatchEntry & lcent( _vendorMatch[lcvendor] );
-        if ( ! lcent )
-        {
-          unsigned myid = 0;
-         // bnc#812608: no pefix compare in opensuse namespace
-         static const IdString openSUSE( "opensuse" );
-         if ( lcvendor == openSUSE || ! str::hasPrefix( lcvendor.c_str(), openSUSE.c_str() ) )
+       // Cache miss - check whether it belongs to a vendor group.
+       // Otherwise assign a new class ID to it.
+       unsigned myid = 0;
+
+       // bnc#812608: no prefix compare in opensuse namespace
+       if ( str::hasPrefix( lcvendor.c_str(), "opensuse" ) )
+       {
+         if ( auto it = _vendorGroupMap.find( lcvendor.c_str() ); it != _vendorGroupMap.end() )
+           myid = it->second;
+       }
+       else
+       {
+         // Compare this entry with the global vendor map.
+         // Reversed to get the longest prefix.
+         for ( VendorGroupMap::const_reverse_iterator it = _vendorGroupMap.rbegin(); it != _vendorGroupMap.rend(); ++it )
          {
-           // Compare this entry with the global vendor map.
-           // Reversed to get the longest prefix.
-           for ( VendorMap::reverse_iterator it = _vendorMap.rbegin(); it != _vendorMap.rend(); ++it )
-           {
-             if ( str::hasPrefix( lcvendor.c_str(), it->first ) )
-             {
-               myid = it->second;
-               break; // found
-             }
+           if ( str::hasPrefix( lcvendor.c_str(), it->first ) ) {
+             myid = it->second;
+             break; // found
            }
          }
-         if ( ! myid )
-          {
-            myid = --_nextId; // get a new class ID
-          }
-          ent = lcent = myid; // remember the new DI
-        }
-        else
-        {
-          ent = lcent; // take the ID from the lowercased vendor string
        }
-      }
-      return ent;
-    }
-    /////////////////////////////////////////////////////////////////
-  } // namespace
-  ///////////////////////////////////////////////////////////////////
 
-  const VendorAttr & VendorAttr::instance()
-  {
-      static VendorAttr _val;
-      return _val;
-  }
+       if ( ! myid )
+         myid = --_nextId; // get a new class ID
 
-  VendorAttr::VendorAttr ()
-  {
-      vendorGroupCounter = 1;
-      Pathname vendorPath (ZConfig::instance().vendorPath());
-      {
-       Target_Ptr trg( getZYpp()->getTarget() );
-       if ( trg )
-         vendorPath = trg->root() / vendorPath;
+       ent = lcent = myid; // remember the new DI
       }
-      // creating entries
-      addVendorDirectory (vendorPath);
-
-      // bsc#1030686: The legacy default equivalence of 'suse' and 'opensuse'
-      // has been removed. Unless they are mentioned in a custom rule, create
-      // separate classes for them.
-      if ( _vendorMap.find("suse") == _vendorMap.end() )
-       _vendorMap["suse"] = ++vendorGroupCounter;
-
-      if ( _vendorMap.find("opensuse") == _vendorMap.end() )
-       _vendorMap["opensuse"] = ++vendorGroupCounter;
-
-      MIL << *this << endl;
+      else
+       ent = lcent; // take the ID from the lowercased vendor string
+    }
+    return ent;
   }
 
-  void VendorAttr::_addVendorList( VendorList & vendorList_r ) const
+  void VendorAttr::Impl::addVendorList( VendorList && vendorList_r )
   {
-    unsigned int nextId = vendorGroupCounter + 1;
-       // convert to lowercase and check if a vendor is already defined
-       // in an existing group.
+    // Will add a new equivalence group unless we merge with existing groups.
+    unsigned targetId = _vendorGroupId + 1;
 
-    for_( it, vendorList_r.begin(), vendorList_r.end() )
+    // (!) Convert the group strings in place to lowercase before adding/checking.
+    // Extend/join already existing groups if they are referenced.
+    for ( std::string & vendor : vendorList_r )
     {
-      *it = str::toLower( *it );
-      if (_vendorMap.find(*it) != _vendorMap.end())
+      vendor = str::toLower( std::move(vendor) );
+
+      if ( _vendorGroupMap.count( vendor ) )
       {
-        if (nextId != vendorGroupCounter + 1 &&
-            nextId != _vendorMap[*it])
-        {
-         // We have at least 3 groups which has to be mixed --> mix the third group to the first
-          unsigned int moveID = _vendorMap[*it];
-          for_( itMap, _vendorMap.begin(), _vendorMap.end() )
-          {
-            if (itMap->second == moveID)
-              itMap->second = nextId;
-          }
-        }
-        else
-        {
-          nextId = _vendorMap[*it];
-          WAR << "Vendor " << *it << " is already used in another vendor group. --> mixing these groups" << endl;
-        }
+       unsigned joinId = _vendorGroupMap[vendor];
+       if ( targetId == _vendorGroupId + 1 ) {
+         targetId = joinId;    // will extend the existing group
+       }
+       else if ( targetId != joinId ) {
+         // yet another existing group -> join it into the target group
+         for ( auto & el : _vendorGroupMap ) {
+           if ( el.second == joinId )
+             el.second = targetId;
+         }
+       }
+       vendor.clear(); // no need to add it later
       }
     }
-       // add new entries
-    for_( it, vendorList_r.begin(), vendorList_r.end() )
-    {
-      _vendorMap[*it] = nextId;
+
+    // Now add the new entries
+    for ( std::string & vendor : vendorList_r ) {
+      if ( ! vendor.empty() )
+       _vendorGroupMap[vendor] = targetId;
     }
 
-    if (nextId == vendorGroupCounter + 1)
-      ++vendorGroupCounter;
+    if ( targetId == _vendorGroupId + 1 )
+      ++_vendorGroupId;
 
     // invalidate any match cache
     vendorMatchIdReset();
   }
 
-  bool VendorAttr::addVendorFile( const Pathname & filename ) const
+  /** \relates VendorAttr::Impl Stream output */
+  inline std::ostream & operator<<( std::ostream & str, const VendorAttr::Impl & obj )
   {
-      parser::IniDict dict;
+    str << "Equivalent vendors:";
+    for( const auto & p : obj._vendorGroupMap ) {
+      str << endl << "   [" << p.second << "] " << p.first;
+    }
+    return str;
+  }
 
-      if ( PathInfo(filename).isExist())
-      {
-          InputStream is(filename);
-          dict.read(is);
-      }
-      else
-      {
-          MIL << filename << " not found." << endl;
-          return false;
-      }
+  ///////////////////////////////////////////////////////////////////
+  //
+  //   CLASS NAME : VendorAttr
+  //
+  ///////////////////////////////////////////////////////////////////
 
-      for ( parser::IniDict::section_const_iterator sit = dict.sectionsBegin();
-           sit != dict.sectionsEnd();
-           ++sit )
-      {
-          std::string section(*sit);
-          //MIL << section << endl;
-          for ( parser::IniDict::entry_const_iterator it = dict.entriesBegin(*sit);
-                it != dict.entriesEnd(*sit);
-                ++it )
-          {
-             std::string entry(it->first);
-             std::string value(it->second);
-             if ( section == "main" )
-             {
-                 if ( entry == "vendors" )
-                 {
-                     VendorList vendorlist;
-                     str::split( value, back_inserter(vendorlist), "," );
-                     _addVendorList (vendorlist);
-                     break;
-                 }
-             }
-         }
-      }
+  const VendorAttr & VendorAttr::instance()
+  {
+    Target_Ptr trg { getZYpp()->getTarget() };
+    return trg ? trg->vendorAttr() : noTargetInstance();
+  }
 
-      return true;
+  VendorAttr & VendorAttr::noTargetInstance()
+  {
+    static VendorAttr _val { ZConfig::instance().vendorPath() };
+    return _val;
   }
 
-  bool VendorAttr::addVendorDirectory( const Pathname & dirname ) const
+  VendorAttr::VendorAttr()
+  : _pimpl( new Impl )
   {
-      if ( ! PathInfo(dirname).isExist() )
-      {
-          MIL << dirname << " not found." << endl;
-          return false;
-      }
+    MIL << "Initial: " << *this << endl;
+  }
+
+  VendorAttr::VendorAttr( const Pathname & initial_r )
+  : _pimpl( new Impl )
+  {
+    addVendorDirectory( initial_r );
+    MIL << "Initial " << initial_r << ": " << *this << endl;
+  }
+
+  VendorAttr::~VendorAttr()
+  {}
+
+  bool VendorAttr::addVendorDirectory( const Pathname & dirname_r )
+  {
+    if ( PathInfo pi { dirname_r }; ! pi.isDir() ) {
+      MIL << "Not a directory " << pi << endl;
+      return false;
+    }
+
+    filesystem::dirForEach( dirname_r, filesystem::matchNoDots(),
+                           [this]( const Pathname & dir_r, const std::string & str_r )->bool
+                           {
+                             this->addVendorFile( dir_r/str_r );
+                             return true;
+                           }
+    );
+    return true;
+  }
+
+  bool VendorAttr::addVendorFile( const Pathname & filename_r )
+  {
+    if ( PathInfo pi { filename_r }; ! pi.isFile() ) {
+      MIL << "Not a file " << pi << endl;
+      return false;
+    }
 
-      std::list<Pathname> filenames;
-      filesystem::readdir( filenames, dirname, false );
-      for_( it, filenames.begin(), filenames.end() ) {
-         MIL << "Adding file " << *it << endl;
-         addVendorFile( *it );
+    parser::IniDict dict { InputStream(filename_r) };
+    for ( const auto & el : dict.entries("main") )
+    {
+      if ( el.first == "vendors" )
+      {
+       VendorList tmp;
+       strv::split( el.second, ",", strv::Trim::trim,
+                    [&tmp]( std::string_view word ) {
+                      if ( ! word.empty() )
+                        tmp.push_back( std::string(word) );
+                    } );
+       _addVendorList( std::move(tmp) );
+       break;
       }
-      return true;
+    }
+    return true;
   }
 
+  void VendorAttr::_addVendorList( VendorList && vendorList_r )
+  { _pimpl->addVendorList( std::move(vendorList_r) ); }
+
+  unsigned VendorAttr::foreachVendorList( std::function<bool(VendorList)> fnc_r ) const
+  { return _pimpl->foreachVendorList( std::move(fnc_r) ); }
+
+#if LEGACY(1722)
+  bool VendorAttr::addVendorDirectory( const Pathname & dirname ) const
+  { return const_cast<VendorAttr*>(this)->addVendorDirectory( dirname ); }
+
+  bool VendorAttr::addVendorFile( const Pathname & filename ) const
+  { return const_cast<VendorAttr*>(this)->addVendorFile( filename ); }
+
+  void VendorAttr::_addVendorList( std::vector<std::string> & vendorList_r ) const
+  { return const_cast<VendorAttr*>(this)->_addVendorList( VendorList( vendorList_r.begin(), vendorList_r.end() ) ); }
+
+  void VendorAttr::_addVendorList( std::vector<IdString> && list_r )
+  {
+    VendorList tmp;
+    for ( const auto & el : list_r )
+      tmp.push_back( std::string(el) );
+    _addVendorList( std::move(tmp) );
+  }
+#endif
   //////////////////////////////////////////////////////////////////
   // vendor equivalence:
   //////////////////////////////////////////////////////////////////
 
   bool VendorAttr::equivalent( IdString lVendor, IdString rVendor ) const
-  {
-    if ( lVendor == rVendor )
-      return true;
-    return vendorMatchId( lVendor ) == vendorMatchId( rVendor );
-  }
+  { return _pimpl->equivalent( lVendor, rVendor );}
 
   bool VendorAttr::equivalent( const Vendor & lVendor, const Vendor & rVendor ) const
-  { return equivalent( IdString( lVendor ), IdString( rVendor ) );
-  }
+  { return _pimpl->equivalent( IdString( lVendor ), IdString( rVendor ) ); }
 
   bool VendorAttr::equivalent( sat::Solvable lVendor, sat::Solvable rVendor ) const
-  { return equivalent( lVendor.vendor(), rVendor.vendor() ); }
+  { return _pimpl->equivalent( lVendor.vendor(), rVendor.vendor() ); }
 
   bool VendorAttr::equivalent( const PoolItem & lVendor, const PoolItem & rVendor ) const
-  { return equivalent( lVendor.satSolvable().vendor(), rVendor.satSolvable().vendor() ); }
+  { return _pimpl->equivalent( lVendor.satSolvable().vendor(), rVendor.satSolvable().vendor() ); }
 
   //////////////////////////////////////////////////////////////////
 
-  std::ostream & operator<<( std::ostream & str, const VendorAttr & /*obj*/ )
-  {
-    str << "Equivalent vendors:";
-    for_( it, _vendorMap.begin(), _vendorMap.end() )
-    {
-      str << endl << "   [" << it->second << "] " << it->first;
-    }
-    return str;
-  }
+  std::ostream & operator<<( std::ostream & str, const VendorAttr & obj )
+  { return str << *obj._pimpl; }
 
   /////////////////////////////////////////////////////////////////
 } // namespace zypp
index 84ecd33..65e8a73 100644 (file)
@@ -7,7 +7,6 @@
 |                                                                      |
 \---------------------------------------------------------------------*/
 /** \file zypp/VendorAttr.h
- *
 */
 #ifndef ZYPP_VENDORATTR_H
 #define ZYPP_VENDORATTR_H
 #include <string>
 #include <vector>
 
+#include <zypp/base/PtrTypes.h>
+#include <zypp/IdString.h>
 #include <zypp/PathInfo.h>
 #include <zypp/Vendor.h>
 
+#include <zypp/APIConfig.h>    // LEGACY macros
+
 ///////////////////////////////////////////////////////////////////
 namespace zypp {
 //////////////////////////////////////////////////////////////////
@@ -38,32 +41,93 @@ namespace zypp {
  * being equivalent. This may be tuned by providing customized
  * vendor description files in \c /etc/zypp/vendors.d.
  *
+ * \code
+ * [main]
+ * vendors = MyVendor,AlternateName
+ * \endcode
+ *
+ * By this vendor strings starting with "MyVendor" or "AlternateName"
+ * are considered to be equivalent. Packages from equivalent vendors
+ * may replace each other without being considered as a 'vendor change'.
+ *
+ * \note bnc#812608: Within the "opensuse*" namespace exact matches
+ * (case insensitive) are required. "vendors = suse,opensuse" will
+ * allow switching between "suse*" and "opensuse", but not e.g.
+ * "opensuse build service".
+ *
  * \see \ref pg_zypp-solv-vendorchange
 */
 class VendorAttr
 {
-  public:
-    typedef std::vector<std::string> VendorList;
+    friend std::ostream & operator<<( std::ostream & str, const VendorAttr & obj );
 
-    /** Singleton */
+  public:
+    /** (Pseudo)Singleton, mapped to the current \ref Target::vendorAttr settings or to \ref noTargetInstance. */
     static const VendorAttr & instance();
 
+    /** Singleton, settings used if no \ref Target is active.
+     * The instance is initialized with the settings found in the system below /.
+     * The active Targets settings can be changed via \ref Target::vendorAttr.
+     */
+    static VendorAttr & noTargetInstance();
+
+  public:
+    /** Ctor providing the default set. */
+    VendorAttr();
+
+    /** Ctor reading the \a initial_r definitions from a dir or file. */
+    VendorAttr( const Pathname & initial_r );
+
+    /** Dtor */
+    ~VendorAttr();
+
     /**
      * Adding new equivalent vendors described in a directory
      **/
-    bool addVendorDirectory( const Pathname & dirname ) const;
+    bool addVendorDirectory( const Pathname & dirname_r );
+#if LEGACY(1722)
+    /** \deprecated This is NOT a CONST operation. */
+    bool addVendorDirectory( const Pathname & dirname_r ) const ZYPP_DEPRECATED;
+#endif
 
     /**
      * Adding new equivalent vendors described in a file
      **/
-    bool addVendorFile( const Pathname & filename ) const;
+    bool addVendorFile( const Pathname & filename_r );
+#if LEGACY(1722)
+    /** \deprecated This is NOT a CONST operation. */
+    bool addVendorFile( const Pathname & filename_r ) const ZYPP_DEPRECATED;
+#endif
+
+    /** Preferred type to pass equivalent vendor strings. */
+    typedef std::vector<std::string> VendorList;
 
     /**
-     * Adding new equivalent vendor set from list
+     * Adding new equivalent vendor strings container.
      **/
-    template <class TIterator>
-    void addVendorList( TIterator begin, TIterator end ) const
-    { VendorList tmp( begin, end ); _addVendorList( tmp ); }
+    void addVendorList( VendorList && list_r )
+    { _addVendorList( std::move(list_r) ); }
+    /** \overload copying the data */
+    void addVendorList( const VendorList & list_r )
+    { _addVendorList( VendorList(list_r) ); }
+    /** \overload from arbitrary string container */
+    template <class TContainer>
+    void addVendorList( const TContainer & container_r )
+    {
+      VendorList tmp;
+      for ( const auto & el : container_r )
+       tmp.push_back( std::string(el) );
+      _addVendorList( std::move(tmp) );
+    }
+    /** \overload from std::initializer_list */
+    template <class TStr>
+    void addVendorList( const std::initializer_list<TStr> & container_r )
+    {
+      VendorList tmp;
+      for ( const auto & el : container_r )
+       tmp.push_back( std::string(el) );
+      _addVendorList( std::move(tmp) );
+    }
 
     /** Return whether two vendor strings should be treated as the same vendor.
      * Usually the solver is allowed to automatically select a package of an
@@ -78,9 +142,23 @@ class VendorAttr
     /** \overload using \ref PoolItem */
     bool equivalent( const PoolItem & lVendor, const PoolItem & rVendor ) const;
 
-  private:
-    VendorAttr();
-    void _addVendorList( VendorList & ) const;
+  public:
+    /** Call \a fnc_r for each equivalent vendor list (return \c false to break).
+     * \return The number of calls to \a fnc_r.
+     */
+    unsigned foreachVendorList( std::function<bool(VendorList)> fnc_r ) const;
+
+  public:
+    class Impl;                 ///< Implementation class.
+    RWCOW_pointer<Impl> _pimpl; ///< Pointer to implementation.
+
+#if LEGACY(1722)
+    /** \deprecated */
+    void _addVendorList( std::vector<std::string> & list_r ) const ZYPP_DEPRECATED;
+    /** \deprecated */
+    void _addVendorList( std::vector<IdString> && list_r );
+#endif
+    void _addVendorList( VendorList && list_r );
 };
 
 /** \relates VendorAttr Stream output */
index 278d449..4a217dc 100644 (file)
@@ -349,7 +349,9 @@ namespace zypp
         else
         {
           // Inject this into ZConfig. Be shure this is
-          // allocated via new. See: reconfigureZConfig
+          // allocated via new.
+          // ma: override_r might not be needed anymore since the
+          //     Vendor_test is now able to initialize VendorAttr directly.
           INT << "Reconfigure to " << _parsedZyppConf << endl;
           ZConfig::instance()._pimpl.reset( this );
         }
@@ -789,14 +791,6 @@ namespace zypp
   };
   ///////////////////////////////////////////////////////////////////
 
-  // Backdoor to redirect ZConfig from within the running
-  // TEST-application. HANDLE WITH CARE!
-  void reconfigureZConfig( const Pathname & override_r )
-  {
-    // ctor puts itself unter smart pointer control.
-    new ZConfig::Impl( override_r );
-  }
-
   ///////////////////////////////////////////////////////////////////
   //
   //   METHOD NAME : ZConfig::instance
@@ -885,7 +879,7 @@ namespace zypp
     {
       WAR << "Overriding text locale (" << _pimpl->cfg_textLocale << "): " << locale_r << endl;
       _pimpl->cfg_textLocale = locale_r;
-#warning prefer signal
+      // Propagate changes
       sat::Pool::instance().setTextLocale( locale_r );
     }
   }
index c1f0bca..0850b15 100644 (file)
@@ -26,7 +26,6 @@ extern "C"
 
 #include <zypp/ZYppFactory.h>
 #include <zypp/zypp_detail/ZYppImpl.h>
-#include <zypp/zypp_detail/ZYppReadOnlyHack.h>
 
 #include <boost/interprocess/sync/file_lock.hpp>
 #include <boost/interprocess/sync/scoped_lock.hpp>
@@ -70,7 +69,7 @@ namespace zypp
 
     static bool active = getenv("ZYPP_READONLY_HACK");
 
-    void IWantIt()
+    void IWantIt()     // see zypp/zypp_detail/ZYppReadOnlyHack.h
     {
       active = true;
       MIL << "ZYPP_READONLY promised." <<  endl;
@@ -94,7 +93,7 @@ namespace zypp
   {
   public:
     ZYppGlobalLock()
-    : _zyppLockFilePath( env::ZYPP_LOCKFILE_ROOT() / "/var/run/zypp.pid" )
+    : _zyppLockFilePath( env::ZYPP_LOCKFILE_ROOT() / "/run/zypp.pid" )
     , _zyppLockFile( NULL )
     , _lockerPid( 0 )
     , _cleanLock( false )
@@ -114,7 +113,7 @@ namespace zypp
            // still use it to synchronsize.
            ftruncate( fileno(_zyppLockFile), 0 );
          }
-         MIL << "Cleanned lock file. (" << getpid() << ")" << std::endl;
+         MIL << "Cleaned lock file. (" << getpid() << ")" << std::endl;
        }
        catch(...) {} // let no exception escape.
     }
index cb21cda..69a30b7 100644 (file)
 #include <iostream>
 #include <stdlib.h>
 #include <string.h>
-
 #include <sstream>
 #include <string>
 
 #include <zypp/base/Logger.h>
 #include <zypp/base/ExternalDataSource.h>
+#include <zypp/AutoDispose.h>
 
 using std::endl;
 
 namespace zypp {
   namespace externalprogram {
 
-    ExternalDataSource::ExternalDataSource (FILE *ifile, FILE *ofile)
-      : inputfile (ifile),
-        outputfile (ofile),
-        linebuffer (0),
-        linebuffer_size (0)
+    ExternalDataSource::ExternalDataSource( FILE *ifile, FILE *ofile )
+      : inputfile( ifile ),
+        outputfile( ofile ),
+        linebuffer( 0 ),
+        linebuffer_size( 0 )
     {
     }
 
 
-    ExternalDataSource::~ExternalDataSource ()
+    ExternalDataSource::~ExternalDataSource()
     {
       if (linebuffer)
-       free (linebuffer);
+       free( linebuffer );
       close ();
     }
 
 
     bool
-    ExternalDataSource::send (const char *buffer, size_t length)
+    ExternalDataSource::send( const char *buffer, size_t length )
     {
-      if (outputfile) {
-       bool success = fwrite (buffer, length, 1, outputfile) != 0;
-       fflush (outputfile);
+      if ( outputfile ) {
+       bool success = fwrite( buffer, length, 1, outputfile ) != 0;
+       fflush( outputfile );
        return success;
       }
       else
@@ -62,95 +62,87 @@ namespace zypp {
 
 
     bool
-    ExternalDataSource::send (std::string s)
+    ExternalDataSource::send( std::string s )
     {
       DBG << "send (" << s << ")";
-      return send(s.data(), s.length());
+      return send( s.data(), s.length() );
     }
 
 
     std::string
-    ExternalDataSource::receiveUpto (char c)
+    ExternalDataSource::receiveUpto( char c )
     {
-      if (inputfile && !feof(inputfile))
+      if ( inputfile && !feof( inputfile ) )
       {
        std::ostringstream datas;
         while ( true )
         {
-          int readc = fgetc(inputfile);
-          if (readc == EOF) break;
+          int readc = fgetc( inputfile );
+          if ( readc == EOF ) break;
           datas << (char)readc;
-          if ((char)readc == c) break;
+          if ( (char)readc == c ) break;
         }
         return datas.str();
       }
       return std::string();
     }
 
+    std::string ExternalDataSource::receiveUpto( char c, io::timeout_type timeout )
+    {
+      const auto &received = io::receiveUpto( inputFile(), c, timeout );
+
+      if ( received.first == io::Timeout )
+        ZYPP_THROW( io::TimeoutException() );
+
+      return received.second;
+    }
 
     size_t
-    ExternalDataSource::receive (char *buffer, size_t length)
+    ExternalDataSource::receive( char *buffer, size_t length )
     {
-      if (inputfile)
-       return fread (buffer, 1, length, inputfile);
+      if ( inputfile )
+       return fread( buffer, 1, length, inputfile );
       else
        return 0;
     }
 
-    void ExternalDataSource::setBlocking(bool mode)
+    void ExternalDataSource::setBlocking( bool mode )
     {
-      if(!inputfile) return;
-
-      int fd = ::fileno(inputfile);
-
-      if(fd == -1)
-       { ERR << strerror(errno) << endl; return; }
-
-      int flags = ::fcntl(fd,F_GETFL);
-
-      if(flags == -1)
-       { ERR << strerror(errno) << endl; return; }
-
-      if(!mode)
-       flags = flags | O_NONBLOCK;
-      else if(flags & O_NONBLOCK)
-       flags = flags ^ O_NONBLOCK;
-
-      flags = ::fcntl(fd,F_SETFL,flags);
-
-      if(flags == -1)
-       { ERR << strerror(errno) << endl; return; }
+      io::setFILEBlocking( inputfile, mode );
     }
 
     std::string
     ExternalDataSource::receiveLine()
     {
-      if (inputfile)
+      if ( inputfile )
       {
-       ssize_t nread = getline (&linebuffer, &linebuffer_size, inputfile);
-       if (nread == -1)
+       ssize_t nread = getline( &linebuffer, &linebuffer_size, inputfile );
+       if ( nread == -1 )
            return "";
        else
-           return std::string (linebuffer, nread);
+           return std::string( linebuffer, nread );
       }
       else
-       return "";
+        return "";
     }
 
+    std::string ExternalDataSource::receiveLine( io::timeout_type timeout )
+    {
+      return receiveUpto( '\n', timeout );
+    }
 
     int
-    ExternalDataSource::close ()
+    ExternalDataSource::close()
     {
-      if (inputfile && inputfile != outputfile)
-       fclose (inputfile);
-      if (outputfile)
-       fclose (outputfile);
+      if ( inputfile && inputfile != outputfile )
+       fclose( inputfile );
+      if ( outputfile )
+       fclose( outputfile );
       inputfile = 0;
       outputfile = 0;
       return 0;
     }
 
-
   } // namespace externalprogram
 } // namespace zypp
 
index ed2773b..9acc2f4 100644 (file)
@@ -15,6 +15,8 @@
 #include <stdio.h>
 
 #include <string>
+#include <optional>
+#include <zypp/base/IOTools.h>
 
 namespace zypp {
   namespace externalprogram {
@@ -39,25 +41,25 @@ namespace zypp {
        * @param outputfile The stream for writing
        * Either can be NULL if no reading/writing is allowed.
        */
-      ExternalDataSource(FILE *inputfile = 0, FILE *outputfile = 0);
+      ExternalDataSource( FILE *inputfile = 0, FILE *outputfile = 0 );
 
       /**
        * Implicitly close the connection.
        */
-      virtual ~ExternalDataSource();
+      virtual ~ExternalDataSource ();
 
       /**
        * Send some data to the output stream.
        * @param buffer The data to send
        * @param length The size of it
        */
-      bool send (const char *buffer, size_t length);
+      bool send( const char *buffer, size_t length );
 
       /**
        * Send some data down the stream.
        * @param string The data to send
        */
-      bool send (std::string s);
+      bool send( std::string s );
 
       /**
        * Read some data from the input stream.
@@ -65,7 +67,7 @@ namespace zypp {
        * @param length How much to read at most
        * Returns the amount actually received
        */
-      size_t receive(char *buffer, size_t length);
+      size_t receive( char *buffer, size_t length );
 
       /**
        * Read one line from the input stream.
@@ -74,16 +76,36 @@ namespace zypp {
       std::string receiveLine();
 
       /**
-       * Read characters into a string until character c is
-       * read. C is put at the end of the string.
+       * Read one line from the input stream.
+       * Returns the line read, including the terminator.
+       * \note The delimiter is not removed from the string.
+       * \note The \a timeout value is to be specified in milliseconds.
+       * \throws io::TimeoutException if the timeout is reached
+       */
+      std::string receiveLine( io::timeout_type timeout );
+
+      /**
+       * Read characters into a string until delimiter \a c or EOF is
+       * read.
+       * \note The delimiter is not removed from the string.
        */
-      std::string receiveUpto(char c);
+      std::string receiveUpto( char c );
+
+      /**
+       * Read characters into a string until delimiter \a c or EOF is
+       * read or the \a timeout is reached.
+       * \note The delimiter is not removed from the string.
+       * \note The \a timeout value is to be specified in milliseconds.
+       * \throws io::TimeoutException if the timeout is reached
+       */
+      std::string receiveUpto( char c, io::timeout_type timeout );
+
       /**
        * Set the blocking mode of the input stream.
        * @param mode True if the reader should be blocked waiting for input.
        * This is the initial default.
        */
-      void setBlocking(bool mode);
+      void setBlocking( bool mode );
 
       /**
        * Close the input and output streams.
index 95b1fe7..3750cf1 100644 (file)
@@ -13,6 +13,7 @@
 #define ZYPP_BASE_FUNCTION_H
 
 #include <boost/function.hpp>
+#define BOOST_BIND_GLOBAL_PLACEHOLDERS
 #include <boost/bind.hpp>
 #include <boost/ref.hpp>
 
diff --git a/zypp/base/IOTools.cc b/zypp/base/IOTools.cc
new file mode 100644 (file)
index 0000000..9abce85
--- /dev/null
@@ -0,0 +1,133 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file      zypp/base/IOTools.cc
+ *
+*/
+
+#include <errno.h>
+#include <fcntl.h>
+#include <iostream>
+#include <glib.h>
+
+#include <zypp/AutoDispose.h>
+#include <zypp/base/IOTools.h>
+#include <zypp/base/LogTools.h>
+
+namespace zypp::io {
+
+  BlockingMode setFILEBlocking (FILE * file, bool mode )
+  {
+    if ( !file ) return BlockingMode::FailedToSetMode;
+
+    int fd = ::fileno( file );
+
+    if ( fd == -1 )
+    { ERR << strerror( errno ) << std::endl; return BlockingMode::FailedToSetMode; }
+
+    int flags = ::fcntl( fd, F_GETFL );
+
+    if ( flags == -1 )
+    { ERR << strerror( errno ) << std::endl; return BlockingMode::FailedToSetMode; }
+
+    BlockingMode oldMode = ( flags & O_NONBLOCK ) == O_NONBLOCK ? BlockingMode::WasNonBlocking : BlockingMode::WasBlocking;
+    if ( !mode )
+      flags = flags | O_NONBLOCK;
+    else if ( flags & O_NONBLOCK )
+      flags = flags ^ O_NONBLOCK;
+
+    flags = ::fcntl( fd,F_SETFL,flags );
+
+    if ( flags == -1 )
+    { ERR << strerror(errno) << std::endl; return BlockingMode::FailedToSetMode; }
+
+    return oldMode;
+  }
+
+  std::pair<ReceiveUpToResult, std::string> receiveUpto(FILE *file, char c, timeout_type timeout, bool failOnUnblockError )
+  {
+    FILE * inputfile = file;
+    if ( !file )
+      return std::make_pair( ReceiveUpToResult::Error, std::string() );
+
+    int    inputfileFd = ::fileno( inputfile );
+
+    size_t linebuffer_size = 0;
+    zypp::AutoFREE<char> linebuf;
+
+    const auto prevMode = setFILEBlocking( file, false );
+    if ( prevMode == BlockingMode::FailedToSetMode && failOnUnblockError )
+      return std::make_pair( ReceiveUpToResult::Error, std::string() );
+
+    // reset the blocking mode when we are done
+    zypp::OnScopeExit resetMode([ prevMode, fd = file ]( ){
+      if ( prevMode == BlockingMode::WasBlocking )
+        setFILEBlocking( fd, true );
+    });
+
+    bool haveTimeout = (timeout != no_timeout);
+    int remainingTimeout = static_cast<int>( timeout );
+    zypp::AutoDispose<GTimer *> timer( nullptr );
+    if ( haveTimeout )
+      timer = zypp::AutoDispose<GTimer *>( g_timer_new(), &g_free );
+
+    std::string line;
+    do
+    {
+      /* Watch inputFile to see when it has input. */
+
+      GPollFD fd;
+      fd.fd = inputfileFd;
+      fd.events =  G_IO_IN | G_IO_HUP | G_IO_ERR;
+      fd.revents = 0;
+
+      if ( timer )
+        g_timer_start( timer );
+
+      clearerr( inputfile );
+
+      int retval = g_poll( &fd, 1, timeout );
+      if ( retval == -1 )
+      {
+        if ( errno != EINTR ) {
+          ERR << "select error: " << strerror(errno) << std::endl;
+          return std::make_pair( ReceiveUpToResult::Error, std::string() );
+        }
+      }
+      else if ( retval )
+      {
+        // Data is available now.
+        ssize_t nread = getdelim( &linebuf.value(), &linebuffer_size, c, inputfile );
+        if ( nread == -1 ) {
+          if ( ::feof( inputfile ) )
+            return std::make_pair( ReceiveUpToResult::EndOfFile, line );
+        }
+        else
+        {
+          if ( nread > 0 )
+            line += std::string( linebuf, nread );
+
+          if ( ! ::ferror( inputfile ) || ::feof( inputfile ) ) {
+            return std::make_pair( ReceiveUpToResult::Success, line ); // complete line
+          }
+        }
+      }
+
+      // we timed out, or were interrupted for some reason
+      // check if we can wait more
+      if ( timer ) {
+        remainingTimeout -= g_timer_elapsed( timer, nullptr );
+        if ( remainingTimeout <= 0 )
+          return std::make_pair( ReceiveUpToResult::Timeout, line );
+      }
+    } while ( true );
+  }
+
+  TimeoutException::~TimeoutException() noexcept
+  { }
+}
diff --git a/zypp/base/IOTools.h b/zypp/base/IOTools.h
new file mode 100644 (file)
index 0000000..df6a679
--- /dev/null
@@ -0,0 +1,74 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file      zypp/base/IOTools.h
+ *
+*/
+#ifndef ZYPP_BASE_IOTOOLS_H
+#define ZYPP_BASE_IOTOOLS_H
+
+#include <stdio.h>
+#include <utility>
+#include <string>
+#include <zypp/base/Exception.h>
+
+namespace zypp::io {
+
+  enum class BlockingMode{
+    FailedToSetMode = -1, ///< Failed to block or unblock the fd
+    WasBlocking,          ///< FD was blocking before
+    WasNonBlocking        ///< FD was non blocking before
+  };
+
+  /**
+   * Enables or disabled non blocking mode on a file descriptor.
+   * The return value is one of the \ref zypp::io::BlockingMode values
+   */
+  BlockingMode setFILEBlocking ( FILE *file, bool mode = true );
+
+
+  class TimeoutException : public Exception
+  {
+  public:
+    /** Ctor taking message.
+       * Use \ref ZYPP_THROW to throw exceptions.
+      */
+    TimeoutException() : Exception( "Timeout Exception" )
+    {}
+    /** Ctor taking message.
+       * Use \ref ZYPP_THROW to throw exceptions.
+      */
+    TimeoutException( const std::string & msg_r )
+      : Exception( msg_r )
+    {}
+
+    /** Dtor. */
+    virtual ~TimeoutException() noexcept override;
+  };
+
+  enum ReceiveUpToResult {
+    Success,
+    Timeout,
+    EndOfFile,
+    Error,
+  };
+
+  using timeout_type = size_t;
+  static const timeout_type no_timeout = static_cast<timeout_type>(-1);
+
+  /*!
+   * Reads data from \a file until it finds a seperator \a c, hits the end of the file or times out.
+   * The \a timeout value is specified in milliseconds, a timeout of -1 means no timeout.
+   * If \a failOnUnblockError is set to false the function will not error out if unblocking
+   * the file descriptor did not work. The default is to fail if it's not possible to unblock the file.
+   */
+  std::pair<ReceiveUpToResult, std::string> receiveUpto( FILE * file, char c, timeout_type timeout, bool failOnUnblockError = true );
+
+}
+
+#endif
index 165996d..b3a0c27 100644 (file)
@@ -18,7 +18,7 @@
 #include <boost/functional.hpp>
 #include <boost/iterator/filter_iterator.hpp>
 #include <boost/iterator/transform_iterator.hpp>
-#include <boost/function_output_iterator.hpp>
+#include <boost/iterator/function_output_iterator.hpp>
 
 #include <zypp/base/Iterable.h>
 
index 391b446..05eaccd 100644 (file)
@@ -138,10 +138,11 @@ namespace zypp
     class Measure::Impl
     {
     public:
-      Impl( const std::string & ident_r )
+      Impl( const std::string & ident_r, std::ostream * log_r = nullptr )
       : _ident  ( ident_r )
       , _level  ( _glevel )
       , _seq    ( 0 )
+      , _log    ( log_r )
       {
        _glevel += "..";
         log() << _level << "START MEASURE(" << _ident << ")" << endl;
@@ -172,11 +173,13 @@ namespace zypp
         _elapsed = _stop;
       }
 
-    private:
       /** Return the log stream. */
       std::ostream & log() const
-      { return INT; }
+      { return _log ? *_log : INT; }
+      std::ostream * logp() const
+      { return _log; }
 
+    private:
       std::ostream & dumpMeasure( std::ostream & str_r, const std::string & tag_r = std::string() ) const
       {
         str_r << ( _stop - _start );
@@ -198,6 +201,8 @@ namespace zypp
       mutable unsigned _seq;
       mutable Tm       _elapsed;
       mutable Tm       _stop;
+
+      std::ostream *   _log = nullptr;
     };
 
     std::string Measure::Impl::_glevel;
@@ -217,11 +222,15 @@ namespace zypp
     : _pimpl( new Impl( ident_r ) )
     {}
 
+    Measure::Measure( const std::string & ident_r, std::ostream & out_r )
+    : _pimpl( new Impl( ident_r, &out_r ) )
+    {}
+
     Measure::~Measure()
     {}
 
     void Measure::start( const std::string & ident_r )
-    { stop(); _pimpl.reset( new Impl( ident_r ) ); }
+    { stop(); _pimpl.reset( _pimpl ? new Impl( ident_r, _pimpl->logp() ) : new Impl( ident_r ) ); }
 
     void Measure::restart()
     { _pimpl->restart(); }
index b1f9d30..4a82d40 100644 (file)
@@ -74,6 +74,8 @@ namespace zypp
       /** Ctor taking \a ident_r string and auto starts timer. */
       explicit
       Measure( const std::string & ident_r );
+      /** \overload log to custom ostream */
+      Measure( const std::string & ident_r, std::ostream & out_r );
 
       /** Dtor. */
       ~Measure();
index b6142fb..482e5e8 100644 (file)
@@ -61,6 +61,13 @@ namespace zypp
         /** Assign */
         ProvideNumericId & operator=( const ProvideNumericId & /*rhs*/ )
         { return *this; }
+        /** Move ctor */
+        ProvideNumericId( ProvideNumericId && rhs )
+        : _numericId( rhs._numericId )
+        { /*rhs._numericId = 0;*/ }
+        /** Move Assign */
+        ProvideNumericId & operator=( ProvideNumericId && rhs )
+        { if ( &rhs != this ) { _numericId = rhs._numericId; /*rhs._numericId = 0;*/ } return *this; }
         /** Dtor */
         ~ProvideNumericId()
         {}
similarity index 58%
rename from zypp/sat/AttrMatcher.h
rename to zypp/base/StringV.cc
index c804bbf..67d0242 100644 (file)
@@ -6,25 +6,31 @@
 |                         /_____||_| |_| |_|                           |
 |                                                                      |
 \---------------------------------------------------------------------*/
-/** \file      zypp/sat/AttrMatcher.h
- *
-*/
-#ifndef ZYPP_SAT_ATTRMATCHER_H
-#define ZYPP_SAT_ATTRMATCHER_H
-#warning sat::AttrMatcher was renamed to StrMatcher. Deprecated include of zypp/sat/AttrMatcher.h use zypp/base/StrMatcher.h
+/** \file zypp/base/StringV.cc
+ */
 
-#include <zypp/base/StrMatcher.h>
+#include <zypp/base/StringV.h>
 
 ///////////////////////////////////////////////////////////////////
 namespace zypp
 {
-  ///////////////////////////////////////////////////////////////////
-  namespace sat
+  namespace strv
   {
-    typedef StrMatcher AttrMatcher;
 
-  } // namespace sat
-  ///////////////////////////////////////////////////////////////////
+    unsigned split( std::string_view line_r, std::string_view sep_r, Trim trim_r,
+                   std::function<void(std::string_view)> fnc_r )
+    {
+#warning REIMPLEMENT
+      std::vector<std::string> words;
+      str::split( std::string(line_r), std::back_inserter(words), std::string(sep_r), str::TRIM );
+
+      if ( fnc_r ) {
+       for ( const auto & w : words )
+         fnc_r( std::string_view(w) );
+      }
+      return words.size();
+    }
+
+  } // namespace strv
 } // namespace zypp
 ///////////////////////////////////////////////////////////////////
-#endif // ZYPP_SAT_ATTRMATCHER_H
diff --git a/zypp/base/StringV.h b/zypp/base/StringV.h
new file mode 100644 (file)
index 0000000..bf3c603
--- /dev/null
@@ -0,0 +1,102 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file zypp/base/StringV.h
+ * c++17: std::string_view tools
+ */
+#ifndef ZYPP_BASE_STRINGV_H
+#define ZYPP_BASE_STRINGV_H
+#include <string_view>
+#ifdef __cpp_lib_string_view
+
+#include <zypp/base/String.h>
+#include <zypp/base/Flags.h>
+
+///////////////////////////////////////////////////////////////////
+namespace zypp
+{
+  namespace strv
+  {
+    /** Define how to trim. */
+    enum class Trim {
+      notrim = 0,
+      right  = 1<<0,
+      left   = 1<<1,
+      trim   = (left|right),
+    };
+
+    ZYPP_DECLARE_FLAGS_AND_OPERATORS( TrimFlag, Trim );
+
+
+    /** Split \a line_r into words separated by \a sep_r and invoke \a fnc_r with each word.
+     *
+     * If \a sep_r is not empty, each separator found in \a line_r will be enclosed by 2
+     * words being reported. Words may be empty if the separator is located at the beginning
+     * or the end of \a line_r of it there are consecutive occurrences. If the separator does
+     * not occur on the line the whole string is reported.
+     *
+     * If \a sep_r is unspecified or empty, it splits on whitespace /[BLANK,TAB]+/. In this
+     * case only the (not empty) words found on the line are reported.
+     *
+     * The optional \a trim_r argument tells whether whitespace around the words found
+     * should be trimmed before reporting them. The default is not to trim.
+     *
+     * \returns the number of words reported.
+     *
+     * \code
+     *   str = ""
+     *
+     *   split( str, fnc );
+     *   // []
+     *
+     *   split( str, " ", fnc );
+     *   // ['']
+     *
+     *
+     *   str = " "
+     *
+     *   split( str, fnc );
+     *   // []
+     *
+     *   split( str, " ", fnc );
+     *   // ['', '']
+     *
+     *
+     *   str = " 1 2 3 4 5 ";
+     *
+     *   split( str, fnc );
+     *   // ['1', '2', '3', '4', '5']
+     *
+     *   split( str, " ", fnc );
+     *   // ['', '1', '2', '3', '4', '5', '']
+     *
+     *   split( str, " 2", fnc );
+     *   // [' 1', ' 3 4 5 ']
+     *
+     *   split( str, " 2", Trim::all, fnc );
+     *   // ['1', '3 4 5']
+     * \endcode
+     */
+    unsigned split( std::string_view line_r, std::string_view sep_r, Trim trim_r,
+                   std::function<void(std::string_view)> fnc_r );
+
+    /** \overload  Split at \a sep_r and Trim::notrim */
+    inline unsigned split( std::string_view line_r, std::string_view sep_r,
+                   std::function<void(std::string_view)> fnc_r )
+    { return split( line_r, sep_r, Trim::notrim, fnc_r ); }
+
+    /** \overload  Split at whitespace */
+    inline unsigned split( std::string_view line_r,
+                   std::function<void(std::string_view)> fnc_r )
+    { return split( line_r, std::string_view(), Trim::notrim, fnc_r ); }
+
+  } // namespace strv
+} // namespace zypp
+///////////////////////////////////////////////////////////////////
+#endif // __cpp_lib_string_view
+#endif // ZYPP_BASE_STRINGV_H
index ddc1b1e..cfa8746 100644 (file)
@@ -28,25 +28,33 @@ void globalInitCurlOnce()
 int log_curl(CURL *curl, curl_infotype info,
   char *ptr, size_t len, void *max_lvl)
 {
-  std::string pfx(" ");
-  long        lvl = 0;
-  switch( info)
+  if ( max_lvl == nullptr )
+    return 0;
+
+  long maxlvl = *((long *)max_lvl);
+
+  char pfx = ' ';
+  switch( info )
   {
-    case CURLINFO_TEXT:       lvl = 1; pfx = "*"; break;
-    case CURLINFO_HEADER_IN:  lvl = 2; pfx = "<"; break;
-    case CURLINFO_HEADER_OUT: lvl = 2; pfx = ">"; break;
-    default:                                      break;
+    case CURLINFO_TEXT:       if ( maxlvl < 1 ) return 0; pfx = '*'; break;
+    case CURLINFO_HEADER_IN:  if ( maxlvl < 2 ) return 0; pfx = '<'; break;
+    case CURLINFO_HEADER_OUT: if ( maxlvl < 2 ) return 0; pfx = '>'; break;
+    default:
+      return 0;
   }
-  if( lvl > 0 && max_lvl != NULL && lvl <= *((long *)max_lvl))
+
+  std::vector<std::string> lines;
+  str::split( std::string(ptr,len), std::back_inserter(lines), "\r\n" );
+  for( const auto & line : lines )
   {
-    std::string                            msg(ptr, len);
-    std::list<std::string>                 lines;
-    std::list<std::string>::const_iterator line;
-    zypp::str::split(msg, std::back_inserter(lines), "\r\n");
-    for(line = lines.begin(); line != lines.end(); ++line)
-    {
-      DBG << pfx << " " << *line << std::endl;
+    if ( str::startsWith( line, "Authorization:" ) ) {
+      std::string::size_type pos { line.find( " ", 15 ) }; // Authorization: <type> <credentials>
+      if ( pos == std::string::npos )
+       pos = 15;
+      DBG << pfx << " " << line.substr( 0, pos ) << " <credentials removed>" << std::endl;
     }
+    else
+      DBG << pfx << " " << line << std::endl;
   }
   return 0;
 }
index 4b235da..2947c31 100644 (file)
@@ -380,6 +380,26 @@ void MediaCurl::setupEasy()
 
   SET_OPTION(CURLOPT_USERAGENT, _settings.userAgentString().c_str() );
 
+  /* Fixes bsc#1174011 "auth=basic ignored in some cases"
+       * We should proactively add the password to the request if basic auth is configured
+       * and a password is available in the credentials but not in the URL.
+       *
+       * We will be a bit paranoid here and require that the URL has a user embedded, otherwise we go the default route
+       * and ask the server first about the auth method
+       */
+  if ( _settings.authType() == "basic"
+       && _settings.username().size()
+       && !_settings.password().size() ) {
+
+    CredentialManager cm(CredManagerOptions(ZConfig::instance().repoManagerRoot()));
+    const auto cred = cm.getCred( _url );
+    if ( cred && cred->valid() ) {
+      if ( !_settings.username().size() )
+        _settings.setUsername(cred->username());
+      _settings.setPassword(cred->password());
+    }
+  }
+
   /*---------------------------------------------------------------*
    CURLOPT_USERPWD: [user name]:[password]
 
index 6ffbe0b..0c62d96 100644 (file)
@@ -90,7 +90,12 @@ std::ostream & CurlAuthData::dumpOn( std::ostream & str ) const
   return str;
 }
 
-long CurlAuthData::auth_type_str2long(std::string & auth_type_str)
+long CurlAuthData::auth_type_str2long( std::string & auth_type_str )
+{
+  return auth_type_str2long( const_cast< const std::string &>(auth_type_str) );
+}
+
+long CurlAuthData::auth_type_str2long( const std::string & auth_type_str )
 {
   curl_version_info_data *curl_info = curl_version_info(CURLVERSION_NOW);
 
index 88fbfdd..f1a338d 100644 (file)
@@ -135,7 +135,8 @@ public:
    * \throws MediaException if an invalid authentication type name is
    *         encountered.
    */
-  static long auth_type_str2long(std::string & auth_type_str);
+  static long auth_type_str2long( std::string & auth_type_str );
+  static long auth_type_str2long( const std::string &auth_type_str );
 
   /**
    * Converts a long of ORed CURLAUTH_* identifiers into a string of comma
index 3419b4d..cf1d443 100644 (file)
@@ -14,6 +14,7 @@
 #include <unordered_set>
 #include <iterator>
 #include <stdio.h>
+#include <zypp/base/LogControl.h>
 #include <zypp/base/LogTools.h>
 #include <zypp/base/String.h>
 #include <zypp/base/Gettext.h>
@@ -396,7 +397,9 @@ namespace zypp
 
     pid_t cachepid = 0;
     FilterRunsInContainer runsInLXC;
-    for( std::string line = source.receiveLine(); ! line.empty(); line = source.receiveLine() )
+    MIL << "Silently scanning lsof output..." << endl;
+    zypp::base::LogControl::TmpLineWriter shutUp;      // suppress excessive readdir etc. logging in runsInLXC
+    for( std::string line = source.receiveLine( 30 * 1000 ); ! line.empty(); line = source.receiveLine(  30 * 1000  ) )
     {
       // NOTE: line contains '\0' separeated fields!
       if ( line[0] == 'p' )
@@ -434,7 +437,15 @@ namespace zypp
     _pimpl->_fromLsofFileMode = false;
 
     ExternalProgram prog( argv, ExternalProgram::Discard_Stderr );
-    std::map<pid_t,CacheEntry> cachemap = _pimpl->filterInput( prog );
+    std::map<pid_t,CacheEntry> cachemap;
+
+    try {
+      cachemap = _pimpl->filterInput( prog );
+    } catch ( const io::TimeoutException &e ) {
+      ZYPP_CAUGHT( e );
+      prog.close();
+      ZYPP_THROW ( Exception( "Reading data from 'lsof' timed out.") );
+    }
 
     int ret = prog.close();
     if ( ret != 0 )
diff --git a/zypp/misc/HelixHelpers.h b/zypp/misc/HelixHelpers.h
new file mode 100644 (file)
index 0000000..2fa8ddd
--- /dev/null
@@ -0,0 +1,321 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file  zypp/misc/HelixHelpers.h
+ *
+*/
+#ifndef ZYPP_MISC_HELIXHELPERS_H
+#define ZYPP_MISC_HELIXHELPERS_H
+
+#include <zypp/AutoDispose.h>
+#include <zypp/base/LogControl.h>
+#include <zypp/misc/LoadTestcase.h>
+#include <zypp/misc/TestcaseSetupImpl.h>
+
+#include <libxml/parser.h>
+#include <libxml/xmlmemory.h>
+
+#include <string>
+#include <map>
+#include <string_view>
+#include <optional>
+
+
+namespace helix::detail {
+
+  template <typename Tp>
+  struct AutoXmlFree : public zypp::AutoDispose<Tp*>
+  {
+    AutoXmlFree( Tp* ptr_r = nullptr ) : zypp::AutoDispose<Tp*>( ptr_r, [] ( Tp* ptr_r ) { if ( ptr_r ) ::xmlFree( ptr_r ); } ) {}
+  };
+
+  class XmlNode
+  {
+
+  private:
+    xmlNodePtr _node;
+
+  public:
+    XmlNode (const xmlNodePtr node) : _node(node){};
+    virtual ~XmlNode (){};
+
+    // ---------------------------------- accessors
+
+    std::string_view name() const { return (std::string_view((const char *)_node->name)); }
+    xmlElementType type() const { return (_node->type); }
+
+    xmlNodePtr node() const { return (_node); }
+    std::optional<XmlNode> next() const { return (_node->next == NULL ? std::optional<XmlNode>() : XmlNode (_node->next)); }
+    std::optional<XmlNode> children() const { return (_node->xmlChildrenNode == NULL ? std::optional<XmlNode>() : XmlNode (_node->xmlChildrenNode)); }
+
+    // ---------------------------------- methods
+
+    bool equals (const std::string_view & n) const { return (strncasecmp ( name().data(), n.data(), n.length() ) == 0); }
+    bool isElement (void) const { return (type() == XML_ELEMENT_NODE); }
+
+    std::map<std::string, std::string> getAllProps () const {
+      std::map<std::string, std::string> res;
+      for( xmlAttrPtr attr = _node->properties; NULL != attr; attr = attr->next ) {
+        if ( !attr->children )
+          continue;
+        AutoXmlFree<xmlChar> value( xmlNodeListGetString( _node->doc, attr->children, 1 ) );
+        res.insert( std::make_pair( std::string((char *)attr->name), std::string( (char *)value.value() ) ) );
+      }
+      return res;
+    }
+
+    std::string getContent (void) const {
+      AutoXmlFree<xmlChar> buf;
+      std::string ret;
+
+      *buf = xmlNodeGetContent (_node);
+
+      ret = std::string ((const char *)buf.value());
+
+      return (ret);
+    }
+
+    std::string getProp (const std::string & name, const std::string & deflt = "") const {
+      AutoXmlFree<xmlChar> ret;
+      std::string gs;
+
+      *ret = xmlGetProp (_node, (const xmlChar *)name.c_str());
+
+      if (ret) {
+        gs = std::string ((const char  *)ret.value());
+        return gs;
+      }
+      return deflt;
+    }
+
+
+    template<typename T>
+    T getValue ( const std::string & name, const T& deflt ) const;
+
+    template<typename T>
+    bool getValue ( const std::string & name, T& target ) const;
+  };
+
+  template<>
+  bool XmlNode::getValue ( const std::string & name, std::string& target ) const {
+    AutoXmlFree<xmlChar> xml_s;
+    xmlNode *child;
+
+    *xml_s = xmlGetProp(_node, (const xmlChar *)name.c_str());
+    if (xml_s) {
+      target = std::string ((const char *)xml_s.value());
+      return true;
+    }
+
+    child = _node->xmlChildrenNode;
+
+    while (child) {
+      if (strcasecmp((const char *)(child->name), name.c_str()) == 0) {
+        xml_s = xmlNodeGetContent(child);
+        if (xml_s) {
+          target = std::string ((const char *)xml_s.value());
+          return true;
+        }
+      }
+      child = child->next;
+    }
+    return false;
+  }
+
+  template<>
+  std::string XmlNode::getValue ( const std::string & name, const std::string& deflt ) const {
+    std::string res;
+    if ( !getValue( name, res ) )
+      return deflt;
+    return res;
+  }
+
+  bool parseSetup ( const XmlNode &setup, zypp::misc::testcase::TestcaseSetup &t, std::string *err )
+  {
+    auto &target = t.data();
+    auto architecture = setup.getProp( "arch" );
+    if ( !architecture.empty() )
+    {
+      try {
+        target.architecture = ( zypp::Arch(architecture) );
+      }
+      catch( const zypp::Exception & excpt_r ) {
+        ZYPP_CAUGHT( excpt_r );
+        if ( err ) *err = zypp::str::Str() << "Bad architecture '" << architecture << "' in <setup...>";
+        return false;
+      }
+    }
+
+    auto node = setup.children();
+    while ( node )
+    {
+      if ( !node->isElement() ) {
+        node = node->next();
+        continue;
+      }
+
+#define if_SolverFlag( N ) if ( node->equals( #N ) ) { target.N = true; }
+      if_SolverFlag( ignorealreadyrecommended )        else if ( node->equals( "ignorealready" ) )     { target.ignorealreadyrecommended = true; }
+      else if_SolverFlag( onlyRequires )        else if ( node->equals( "ignorerecommended" ) )        { target.onlyRequires = true; }
+      else if_SolverFlag( forceResolve )
+
+      else if_SolverFlag( cleandepsOnRemove )
+
+      else if_SolverFlag( allowDowngrade )
+      else if_SolverFlag( allowNameChange )
+      else if_SolverFlag( allowArchChange )
+      else if_SolverFlag( allowVendorChange )
+
+      else if_SolverFlag( dupAllowDowngrade )
+      else if_SolverFlag( dupAllowNameChange )
+      else if_SolverFlag( dupAllowArchChange )
+      else if_SolverFlag( dupAllowVendorChange )
+#undef if_SolverFlag
+      else if ( node->equals("focus") ) {
+        target.resolverFocus = zypp::resolverFocusFromString( node->getProp("value") );
+      }
+      else if ( node->equals("system") ) {
+        target.systemRepo = zypp::misc::testcase::RepoDataImpl {
+          zypp::misc::testcase::TestcaseRepoType::Helix,
+          "@System",
+          99,
+          node->getProp("file")
+        };
+      }
+      else if ( node->equals("hardwareInfo") ) {
+        target.hardwareInfoFile = target.globalPath / node->getProp("path");
+      }
+      else if ( node->equals("modalias") ) {
+        target.modaliasList.push_back( node->getProp("name") );
+      }
+      else if ( node->equals("multiversion") ) {
+        target.multiversionSpec.insert( node->getProp("name") );
+      }
+      else if (node->equals ("channel")) {
+        std::string name = node->getProp("name");
+        std::string file = node->getProp("file");
+        std::string type = node->getProp("type");
+
+        unsigned prio = 99;
+        std::string priority = node->getProp("priority");
+        if ( !priority.empty() ) {
+          prio = zypp::str::strtonum<unsigned>( priority );
+        }
+
+        target.repos.push_back( zypp::misc::testcase::RepoDataImpl{
+          zypp::misc::testcase::TestcaseRepoType::Helix,
+          name,
+          prio,
+          file
+        });
+      }
+      else if ( node->equals("source") )
+      {
+        std::string url = node->getProp("url");
+        std::string alias = node->getProp("name");
+        target.repos.push_back( zypp::misc::testcase::RepoDataImpl{
+          zypp::misc::testcase::TestcaseRepoType::Url,
+          alias,
+          99,
+          url
+        });
+      }
+      else if ( node->equals("force-install") )
+      {
+        target.forceInstallTasks.push_back( zypp::misc::testcase::ForceInstallImpl{
+          node->getProp("channel"),
+          node->getProp("package"),
+          node->getProp("kind")
+        });
+      }
+      else if ( node->equals("mediaid") )
+      {
+        target.show_mediaid = true;
+      }
+      else if ( node->equals("arch") ) {
+        MIL << "<arch...> deprecated, use <setup arch=\"...\"> instead" << std::endl;
+        std::string architecture = node->getProp("name");
+        if ( architecture.empty() ) {
+          ERR << "Property 'name=' in <arch.../> missing or empty" << std::endl;
+        }
+        else {
+          MIL << "Setting architecture to '" << architecture << "'" << std::endl;
+          target.architecture = zypp::Arch( architecture );
+        }
+      }
+      else if ( node->equals("locale") )
+      {
+        zypp::Locale loc( node->getProp("name") );
+        std::string fate = node->getProp("fate");
+        if ( !loc ) {
+          ERR << "Bad or missing name in <locale...>" << std::endl;
+        }
+        else if ( fate == "added" ) {
+          target.localesTracker.added().insert( loc );
+        }
+        else if ( fate == "removed" ) {
+          target.localesTracker.removed().insert( loc );
+        }
+        else {
+          target.localesTracker.current().insert( loc );
+        }
+      }
+      else if ( node->equals("autoinst") ) {
+        target.autoinstalled.push( zypp::IdString( node->getProp("name") ).id() );
+      }
+      else if ( node->equals("systemCheck") ) {
+        target.systemCheck = target.globalPath / node->getProp("path");
+      }
+      else if ( node->equals("setlicencebit") ) {
+        target.set_licence = true;
+      }
+      else {
+        ERR << "Unrecognized tag '" << node->name() << "' in setup" << std::endl;
+      }
+      node = node->next();
+    }
+    return true;
+  }
+
+  bool parseTrialNode ( const XmlNode &node, zypp::misc::testcase::TestcaseTrial::Node &testcaseNode )
+  {
+    testcaseNode.name() = node.name();
+    const auto & content = node.getContent();
+    if ( !content.empty() ) {
+      testcaseNode.value() = content;
+    }
+    testcaseNode.properties() = node.getAllProps();
+
+    for ( auto childNode = node.children(); childNode; childNode = childNode->next() ) {
+      auto testNode = std::make_shared<zypp::misc::testcase::TestcaseTrial::Node>();
+      if ( !parseTrialNode( *childNode, *testNode ) )
+        return false;
+      testcaseNode.children().push_back( testNode );
+    }
+    return true;
+  }
+
+  bool parseTrial ( const XmlNode &trial, zypp::misc::testcase::TestcaseTrial &target, std::string * )
+  {
+    auto node = trial.children();
+    while (node) {
+      if (!node->isElement()) {
+        node = node->next();
+        continue;
+      }
+
+      zypp::misc::testcase::TestcaseTrial::Node testcaseNode;
+      parseTrialNode( *node, testcaseNode );
+      target.nodes().push_back( testcaseNode );
+      node = node->next();
+    }
+    return true;
+  }
+}
+
+#endif
diff --git a/zypp/misc/LoadTestcase.cc b/zypp/misc/LoadTestcase.cc
new file mode 100644 (file)
index 0000000..dbe4068
--- /dev/null
@@ -0,0 +1,243 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file  zypp/misc/LoadTestcase.cc
+ *
+*/
+#include "LoadTestcase.h"
+#include "HelixHelpers.h"
+#include "YamlTestcaseHelpers.h"
+#include <zypp/PathInfo.h>
+#include <zypp/base/LogControl.h>
+
+namespace zypp::misc::testcase {
+
+  static const std::string helixControlFile = "solver-test.xml";
+  static const std::string yamlControlFile  = "zypp-control.yaml";
+
+  struct LoadTestcase::Impl {
+    TestcaseSetup _setup;
+    std::vector<TestcaseTrial> _trials;
+
+    bool loadHelix (const Pathname &filename, std::string *err);
+
+    bool loadYaml  ( const Pathname &path, std::string *err);
+  };
+
+
+  struct TestcaseTrial::Impl
+  {
+    std::vector<Node> nodes;
+    Impl *clone() const { return new Impl(*this); }
+  };
+
+  struct TestcaseTrial::Node::Impl
+  {
+    std::string name;
+    std::string value;
+    std::map<std::string, std::string> properties;
+    std::vector<std::shared_ptr<Node>> children;
+    Impl *clone() const { return new Impl(*this); }
+  };
+
+  TestcaseTrial::TestcaseTrial() : _pimpl ( new Impl() )
+  { }
+
+  TestcaseTrial::~TestcaseTrial()
+  { }
+
+  const std::vector<TestcaseTrial::Node> &TestcaseTrial::nodes() const
+  { return _pimpl->nodes; }
+
+  std::vector<TestcaseTrial::Node> &TestcaseTrial::nodes()
+  { return _pimpl->nodes; }
+
+  TestcaseTrial::Node::Node() : _pimpl ( new Impl() )
+  { }
+
+  TestcaseTrial::Node::~Node()
+  { }
+
+  const std::string &TestcaseTrial::Node::name() const
+  { return _pimpl->name; }
+
+  std::string &TestcaseTrial::Node::name()
+  { return _pimpl->name; }
+
+  const std::string &TestcaseTrial::Node::value() const
+  { return _pimpl->value; }
+
+  std::string &TestcaseTrial::Node::value()
+  { return _pimpl->value; }
+
+  const std::string &TestcaseTrial::Node::getProp( const std::string &name, const std::string &def ) const
+  {
+    if ( _pimpl->properties.find( name) == _pimpl->properties.end() )
+      return def;
+    return _pimpl->properties.at( name );
+  }
+
+  const std::map<std::string, std::string> &TestcaseTrial::Node::properties() const
+  { return _pimpl->properties; }
+
+  std::map<std::string, std::string> &TestcaseTrial::Node::properties()
+  { return _pimpl->properties; }
+
+  const std::vector<std::shared_ptr<TestcaseTrial::Node> > &TestcaseTrial::Node::children() const
+  { return _pimpl->children; }
+
+  std::vector<std::shared_ptr<TestcaseTrial::Node> > &TestcaseTrial::Node::children()
+  { return _pimpl->children; }
+
+  bool LoadTestcase::Impl::loadHelix(const zypp::filesystem::Pathname &filename, std::string *err)
+  {
+    xmlDocPtr xml_doc = xmlParseFile ( filename.c_str() );
+    if (xml_doc == NULL) {
+      if ( err ) *err = (str::Str() << "Can't parse test file '" << filename << "'");
+      return false;
+    }
+
+
+    auto root = helix::detail::XmlNode (xmlDocGetRootElement (xml_doc));
+
+    DBG << "Parsing file '" << filename << "'" << std::endl;
+
+    if (!root.equals("test")) {
+      if ( err ) *err = (str::Str() << "Node not 'test' in parse_xml_test():" << root.name() << "'");
+      return false;
+    }
+
+    bool setupDone = false;
+    auto node = root.children();
+    while (node) {
+      if (node->type() == XML_ELEMENT_NODE) {
+        if (node->equals( "setup" )) {
+          if ( setupDone ) {
+            if ( err ) *err = "Multiple setup tags found, this is not supported";
+            return false;
+          }
+          setupDone = true;
+          if ( !helix::detail::parseSetup( *node, _setup, err ) )
+            return false;
+
+        } else if (node->equals( "trial" )) {
+          if ( !setupDone ) {
+            if ( err ) *err = "Any trials must be preceeded by the setup!";
+            return false;
+          }
+          TestcaseTrial trial;
+          if ( !helix::detail::parseTrial( *node, trial, err ) )
+            return false;
+          _trials.push_back( trial );
+        } else {
+          ERR << "Unknown tag '" << node->name() << "' in test" << std::endl;
+        }
+      }
+      node = ( node->next() );
+    }
+    xmlFreeDoc (xml_doc);
+    return true;
+  }
+
+  bool LoadTestcase::Impl::loadYaml(const zypp::filesystem::Pathname &path, std::string *err)
+  {
+    DBG << "Parsing file '" << path << "'" << std::endl;
+
+    const auto makeError = [&]( const std::string_view &errStr ){
+      if ( err ) *err = errStr;
+      return false;
+    };
+
+    YAML::Node control;
+    try {
+      control = YAML::LoadFile( path.asString() );
+
+      if ( control.Type() != YAML::NodeType::Map )
+        return makeError("Root node must be of type Map.");
+
+      const auto &setup = control["setup"];
+      if ( !setup )
+        return makeError("The 'setup' section is required.");
+
+      if ( !yamltest::detail::parseSetup( setup, _setup, err) )
+        return false;
+
+      const auto &trials = control["trials"];
+      if ( !trials )
+        return makeError("The 'trials' section is required.");
+      if ( trials.Type() != YAML::NodeType::Sequence )
+        return makeError("The 'trials' section must be of type Sequence.");
+
+      for ( const auto &trial : trials ) {
+        zypp::misc::testcase::TestcaseTrial t;
+        if ( !trial["trial"] )
+          return makeError("Every element in the trials sequence needs to have the 'trial' key.");
+
+        if ( !yamltest::detail::parseTrial( trial["trial"], t, err) )
+          return false;
+        _trials.push_back( t );
+      }
+    } catch ( YAML::Exception &e ) {
+      if ( err ) *err = e.what();
+      return false;
+    } catch ( ... )  {
+      if ( err ) *err = "Unknown error when parsing the control file";
+      return false;
+    }
+    return true;
+  }
+
+  LoadTestcase::LoadTestcase() : _pimpl( new Impl() )
+  { }
+
+  LoadTestcase::~LoadTestcase()
+  { }
+
+  bool LoadTestcase::loadTestcaseAt(const zypp::filesystem::Pathname &path, std::string *err)
+  {
+    const auto t = testcaseTypeAt( path );
+    if ( t == LoadTestcase::None ) {
+      if ( err ) *err = "Unsopported or no testcase in directory";
+      return false;
+    }
+
+    // reset everything
+    _pimpl.reset( new Impl() );
+    _pimpl->_setup.data().globalPath = path;
+
+    switch (t) {
+      case LoadTestcase::Helix:
+        return _pimpl->loadHelix( path / helixControlFile, err );
+      case LoadTestcase::Yaml:
+        return _pimpl->loadYaml( path / yamlControlFile, err );
+      default:
+        return false;
+    }
+  }
+
+  LoadTestcase::Type LoadTestcase::testcaseTypeAt(const zypp::filesystem::Pathname &path)
+  {
+    if ( filesystem::PathInfo( path / helixControlFile ).isFile() ) {
+      return LoadTestcase::Helix;
+    } else if ( filesystem::PathInfo( path / yamlControlFile ).isFile() ) {
+      return LoadTestcase::Yaml;
+    }
+    return LoadTestcase::None;
+  }
+
+  const TestcaseSetup &LoadTestcase::setupInfo() const
+  {
+    return _pimpl->_setup;
+  }
+
+  const std::vector<TestcaseTrial> &LoadTestcase::trialInfo() const
+  {
+    return _pimpl->_trials;
+  }
+
+}
diff --git a/zypp/misc/LoadTestcase.h b/zypp/misc/LoadTestcase.h
new file mode 100644 (file)
index 0000000..f1ed5e5
--- /dev/null
@@ -0,0 +1,85 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file      zypp/misc/LoadTestcase.h
+ *
+*/
+#ifndef ZYPP_MISC_LOADTESTCASE_H
+#define ZYPP_MISC_LOADTESTCASE_H
+
+#include <zypp/Pathname.h>
+#include <zypp/Url.h>
+#include <zypp/base/PtrTypes.h>
+#include <zypp/base/NonCopyable.h>
+#include <zypp/misc/TestcaseSetup.h>
+
+#include <optional>
+#include <memory>
+
+namespace zypp::misc::testcase {
+
+  struct TestcaseTrial
+  {
+    struct Node {
+      struct Impl;
+
+      Node();
+      ~Node();
+      const std::string &name  () const;
+      std::string &name  ();
+      const std::string &value () const;
+      std::string &value ();
+
+      const std::string &getProp( const std::string &name, const std::string &def = std::string() ) const;
+      const std::map<std::string, std::string> &properties() const;
+      std::map<std::string, std::string> &properties();
+      const std::vector<std::shared_ptr<Node>> &children() const;
+      std::vector<std::shared_ptr<Node>> &children();
+
+    private:
+      RWCOW_pointer<Impl> _pimpl;
+
+    };
+
+    TestcaseTrial();
+    ~TestcaseTrial();
+    const std::vector<Node> &nodes () const;
+    std::vector<Node> &nodes ();
+  private:
+    struct Impl;
+    RWCOW_pointer<Impl> _pimpl;
+  };
+
+  class LoadTestcase : private zypp::base::NonCopyable
+  {
+  public:
+    struct Impl;
+
+    enum Type {
+      None,
+      Helix,
+      Yaml
+    };
+
+    LoadTestcase();
+    ~LoadTestcase();
+
+    bool loadTestcaseAt ( const zypp::Pathname &path, std::string *err );
+    static Type testcaseTypeAt ( const zypp::Pathname &path );
+
+    const TestcaseSetup &setupInfo() const;
+    const std::vector<TestcaseTrial> &trialInfo() const;
+
+  private:
+    std::unique_ptr<Impl> _pimpl;
+  };
+
+}
+
+
+#endif // ZYPP_MISC_LOADTESTCASE_H
diff --git a/zypp/misc/TestcaseSetup.cc b/zypp/misc/TestcaseSetup.cc
new file mode 100644 (file)
index 0000000..0766b9f
--- /dev/null
@@ -0,0 +1,260 @@
+#include "TestcaseSetupImpl.h"
+
+namespace zypp::misc::testcase
+{
+  RepoData::RepoData() : _pimpl( new RepoDataImpl )
+  {}
+
+  RepoData::~RepoData()
+  { }
+
+  RepoData::RepoData(RepoDataImpl &&data) : _pimpl( new RepoDataImpl( std::move(data)) )
+  { }
+
+  TestcaseRepoType RepoData::type() const
+  { return _pimpl->type; }
+
+  const std::string &RepoData::alias() const
+  { return _pimpl->alias; }
+
+  uint RepoData::priority() const
+  { return _pimpl->priority; }
+
+  const std::string &RepoData::path() const
+  { return _pimpl->path; }
+
+  const RepoDataImpl &RepoData::data() const
+  { return *_pimpl; }
+
+  RepoDataImpl &RepoData::data()
+  { return *_pimpl; }
+
+  ForceInstall::ForceInstall() : _pimpl( new ForceInstallImpl )
+  { }
+
+  ForceInstall::~ForceInstall()
+  { }
+
+  ForceInstall::ForceInstall(ForceInstallImpl &&data) : _pimpl( new ForceInstallImpl( std::move(data) ))
+  { }
+
+  const ForceInstallImpl &ForceInstall::data() const
+  { return *_pimpl; }
+
+  ForceInstallImpl &ForceInstall::data()
+  { return *_pimpl; }
+
+  const std::string &ForceInstall::channel() const
+  { return _pimpl->channel; }
+
+  const std::string &ForceInstall::package() const
+  { return _pimpl->package; }
+
+  const std::string &ForceInstall::kind() const
+  { return _pimpl->kind; }
+
+  TestcaseSetup::TestcaseSetup() : _pimpl( new TestcaseSetupImpl )
+  { }
+
+  TestcaseSetup::~TestcaseSetup()
+  { }
+
+  Arch TestcaseSetup::architecture() const
+  { return _pimpl->architecture; }
+
+  const std::optional<RepoData> &TestcaseSetup::systemRepo() const
+  { return _pimpl->systemRepo; }
+
+  const std::vector<RepoData> &TestcaseSetup::repos() const
+  { return _pimpl->repos; }
+
+  ResolverFocus TestcaseSetup::resolverFocus() const
+  { return _pimpl->resolverFocus; }
+
+  const zypp::filesystem::Pathname &TestcaseSetup::globalPath() const
+  { return _pimpl->globalPath; }
+
+  const zypp::filesystem::Pathname &TestcaseSetup::hardwareInfoFile() const
+  { return _pimpl->hardwareInfoFile; }
+
+  const zypp::filesystem::Pathname &TestcaseSetup::systemCheck() const
+  { return _pimpl->systemCheck; }
+
+  const target::Modalias::ModaliasList &TestcaseSetup::modaliasList() const
+  { return _pimpl->modaliasList; }
+
+  const base::SetTracker<LocaleSet> &TestcaseSetup::localesTracker() const
+  { return _pimpl->localesTracker; }
+
+  const std::vector<std::vector<std::string> > &TestcaseSetup::vendorLists() const
+  { return _pimpl->vendorLists; }
+
+  const sat::StringQueue &TestcaseSetup::autoinstalled() const
+  { return _pimpl->autoinstalled; }
+
+  const std::set<std::string> &TestcaseSetup::multiversionSpec() const
+  { return _pimpl->multiversionSpec; }
+
+  const std::vector<ForceInstall> &TestcaseSetup::forceInstallTasks() const
+  { return _pimpl->forceInstallTasks; }
+
+  bool TestcaseSetup::set_licence() const
+  { return _pimpl->set_licence; }
+
+  bool TestcaseSetup::show_mediaid() const
+  { return _pimpl->show_mediaid; }
+
+  bool TestcaseSetup::ignorealreadyrecommended() const
+  { return _pimpl->ignorealreadyrecommended; }
+
+  bool TestcaseSetup::onlyRequires() const
+  { return _pimpl->onlyRequires; }
+
+  bool TestcaseSetup::forceResolve() const
+  { return _pimpl->forceResolve; }
+
+  bool TestcaseSetup::cleandepsOnRemove() const
+  { return _pimpl->cleandepsOnRemove; }
+
+  bool TestcaseSetup::allowDowngrade() const
+  { return _pimpl->allowDowngrade; }
+
+  bool TestcaseSetup::allowNameChange() const
+  { return _pimpl->allowNameChange; }
+
+  bool TestcaseSetup::allowArchChange() const
+  { return _pimpl->allowArchChange; }
+
+  bool TestcaseSetup::allowVendorChange() const
+  { return _pimpl->allowVendorChange; }
+
+  bool TestcaseSetup::dupAllowDowngrade() const
+  { return _pimpl->dupAllowDowngrade; }
+
+  bool TestcaseSetup::dupAllowNameChange() const
+  { return _pimpl->dupAllowNameChange; }
+
+  bool TestcaseSetup::dupAllowArchChange() const
+  { return _pimpl->dupAllowArchChange; }
+
+  bool TestcaseSetup::dupAllowVendorChange() const
+  { return _pimpl->dupAllowVendorChange; }
+
+  bool TestcaseSetup::applySetup( zypp::RepoManager &manager ) const
+  {
+    const auto &setup = data();
+    if ( !setup.architecture.empty() )
+    {
+      MIL << "Setting architecture to '" << setup.architecture << "'" << std::endl;
+      ZConfig::instance().setSystemArchitecture( setup.architecture );
+      setenv ("ZYPP_TESTSUITE_FAKE_ARCH", setup.architecture.c_str(), 1);
+    }
+
+    if ( setup.systemRepo ) {
+      if (!loadRepo( manager, *this, *setup.systemRepo ) )
+      {
+        ERR << "Can't setup 'system'" << std::endl;
+        return false;
+      }
+    }
+
+    if ( !setup.hardwareInfoFile.empty() ) {
+      setenv( "ZYPP_MODALIAS_SYSFS", setup.hardwareInfoFile.asString().c_str(), 1 );
+      MIL << "setting HardwareInfo to: " << setup.hardwareInfoFile.asString() << std::endl;
+    }
+
+    for ( const auto &channel : setup.repos ) {
+      if ( !loadRepo( manager, *this, channel )  )
+      {
+        ERR << "Can't setup 'channel'" << std::endl;
+        return false;
+      }
+    }
+
+    if ( !setup.systemCheck.empty() ) {
+      MIL << "setting systemCheck to: " << setup.systemCheck.asString() << std::endl;
+      SystemCheck::instance().setFile( setup.systemCheck );
+    }
+
+    return true;
+  }
+
+  bool TestcaseSetup::loadRepo( zypp::RepoManager &manager, const TestcaseSetup &setup, const RepoData &data )
+  {
+    const auto &repoData = data.data();
+    Pathname pathname = setup._pimpl->globalPath + repoData.path;
+    MIL << "'" << pathname << "'" << std::endl;
+
+    Repository repo;
+
+    using TrType = zypp::misc::testcase::TestcaseRepoType;
+
+    if ( repoData.type == TrType::Url ) {
+      try {
+        MIL << "Load from Url '" << repoData.path << "'" << std::endl;
+
+        RepoInfo nrepo;
+        nrepo.setAlias      ( repoData.alias );
+        nrepo.setName       ( repoData.alias );
+        nrepo.setEnabled    ( true );
+        nrepo.setAutorefresh( false );
+        nrepo.setPriority   ( repoData.priority );
+        nrepo.addBaseUrl   ( Url(repoData.path) );
+
+        manager.refreshMetadata( nrepo );
+        manager.buildCache( nrepo );
+        manager.loadFromCache( nrepo );
+      }
+      catch ( Exception & excpt_r ) {
+        ZYPP_CAUGHT (excpt_r);
+        ERR << "Couldn't load packages from Url '" << repoData.path << "'" << std::endl;
+        return false;
+      }
+    }
+    else {
+      try {
+        MIL << "Load from File '" << pathname << "'" << std::endl;
+        zypp::Repository satRepo;
+
+        if ( repoData.alias == "@System" ) {
+          satRepo = zypp::sat::Pool::instance().systemRepo();
+        } else {
+          satRepo = zypp::sat::Pool::instance().reposInsert( repoData.alias );
+        }
+
+        RepoInfo nrepo;
+
+        nrepo.setAlias      ( repoData.alias );
+        nrepo.setName       ( repoData.alias );
+        nrepo.setEnabled    ( true );
+        nrepo.setAutorefresh( false );
+        nrepo.setPriority   ( repoData.priority );
+        nrepo.addBaseUrl   ( pathname.asUrl() );
+
+        satRepo.setInfo (nrepo);
+        if ( repoData.type == TrType::Helix )
+          satRepo.addHelix( pathname );
+        else
+          satRepo.addTesttags( pathname );
+        MIL << "Loaded " << satRepo.solvablesSize() << " resolvables from " << ( repoData.path.empty()?pathname.asString():repoData.path) << "." << std::endl;
+      }
+      catch ( Exception & excpt_r ) {
+        ZYPP_CAUGHT (excpt_r);
+        ERR << "Couldn't load packages from XML file '" << repoData.path << "'" << std::endl;
+        return false;
+      }
+    }
+    return true;
+  }
+
+  TestcaseSetupImpl &TestcaseSetup::data()
+  {
+    return *_pimpl;
+  }
+
+  const TestcaseSetupImpl &TestcaseSetup::data() const
+  {
+    return *_pimpl;
+  }
+
+}
diff --git a/zypp/misc/TestcaseSetup.h b/zypp/misc/TestcaseSetup.h
new file mode 100644 (file)
index 0000000..edf2552
--- /dev/null
@@ -0,0 +1,135 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file      zypp/misc/TestcaseSetup.h
+ *
+*/
+
+#ifndef ZYPP_MISC_TESTCASESETUP_H
+#define ZYPP_MISC_TESTCASESETUP_H
+
+#include <zypp/Arch.h>
+#include <zypp/Locale.h>
+#include <zypp/Pathname.h>
+#include <zypp/ResolverFocus.h>
+#include <zypp/Url.h>
+#include <zypp/base/PtrTypes.h>
+#include <zypp/base/SetTracker.h>
+#include <zypp/sat/Queue.h>
+#include <zypp/target/modalias/Modalias.h>
+
+#include <optional>
+#include <vector>
+
+namespace zypp {
+  class RepoManager;
+}
+
+namespace zypp::misc::testcase
+{
+
+  enum class TestcaseRepoType {
+    Helix,
+    Testtags,
+    Url
+  };
+
+  struct RepoDataImpl;
+  struct ForceInstallImpl;
+  struct TestcaseSetupImpl;
+
+  class RepoData {
+  public:
+    RepoData ();
+    ~RepoData ();
+    RepoData ( RepoDataImpl &&data );
+    TestcaseRepoType type() const;
+    const std::string &alias() const;
+    uint priority() const;
+    const std::string &path() const;
+
+    const RepoDataImpl &data() const;
+    RepoDataImpl &data();
+  private:
+    RWCOW_pointer<RepoDataImpl> _pimpl;
+  };
+
+  class ForceInstall {
+  public:
+    ForceInstall ();
+    ~ForceInstall ();
+    ForceInstall ( ForceInstallImpl &&data );
+    const std::string &channel () const;
+    const std::string &package () const;
+    const std::string &kind () const;
+
+    const ForceInstallImpl &data() const;
+    ForceInstallImpl &data();
+  private:
+    RWCOW_pointer<ForceInstallImpl> _pimpl;
+  };
+
+  class TestcaseSetup
+  {
+  public:
+
+    TestcaseSetup();
+    ~TestcaseSetup();
+
+    Arch architecture () const;
+
+    const std::optional<RepoData> &systemRepo() const;
+    const std::vector<RepoData> &repos() const;
+
+    // solver flags: default to false - set true if mentioned in <setup>
+    ResolverFocus resolverFocus() const;
+
+    const Pathname &globalPath() const;
+    const Pathname &hardwareInfoFile() const;
+    const Pathname &systemCheck() const;
+
+    const target::Modalias::ModaliasList &modaliasList() const;
+    const base::SetTracker<LocaleSet> &localesTracker() const;
+    const std::vector<std::vector<std::string>> &vendorLists() const;
+    const sat::StringQueue &autoinstalled() const;
+    const std::set<std::string> &multiversionSpec() const;
+    const std::vector<ForceInstall> &forceInstallTasks() const;
+
+    bool set_licence() const;
+    bool show_mediaid() const;
+
+    bool ignorealreadyrecommended() const;
+    bool onlyRequires() const;
+    bool forceResolve() const;
+    bool cleandepsOnRemove() const;
+
+    bool allowDowngrade() const;
+    bool allowNameChange() const;
+    bool allowArchChange() const;
+    bool allowVendorChange() const;
+
+    bool dupAllowDowngrade() const;
+    bool dupAllowNameChange() const;
+    bool dupAllowArchChange() const;
+    bool dupAllowVendorChange() const;
+
+    bool applySetup ( zypp::RepoManager &manager ) const;
+
+    static bool loadRepo (zypp::RepoManager &manager, const TestcaseSetup &setup, const RepoData &data );
+
+    TestcaseSetupImpl &data();
+    const TestcaseSetupImpl &data() const;
+
+  private:
+    RWCOW_pointer<TestcaseSetupImpl> _pimpl;
+  };
+
+}
+
+
+#endif // ZYPP_MISC_TESTCASESETUPIMPL_H
diff --git a/zypp/misc/TestcaseSetupImpl.h b/zypp/misc/TestcaseSetupImpl.h
new file mode 100644 (file)
index 0000000..6598a46
--- /dev/null
@@ -0,0 +1,85 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+
+#ifndef ZYPP_MISC_TESTCASESETUPIMPL_H
+#define ZYPP_MISC_TESTCASESETUPIMPL_H
+
+#include <zypp/misc/TestcaseSetup.h>
+#include <zypp/ZConfig.h>
+#include <zypp/base/LogControl.h>
+#include <zypp/Repository.h>
+#include <zypp/RepoManager.h>
+#include <zypp/sat/Pool.h>
+
+#define ZYPP_USE_RESOLVER_INTERNALS
+#include <zypp/solver/detail/SystemCheck.h>
+
+namespace zypp::misc::testcase
+{
+  struct RepoDataImpl {
+    TestcaseRepoType type;
+    std::string alias;
+    uint priority = 99;
+    std::string path;
+
+    RepoDataImpl *clone () const { return new RepoDataImpl(*this); }
+  };
+
+  struct ForceInstallImpl {
+    std::string channel;
+    std::string package;
+    std::string kind;
+
+    ForceInstallImpl *clone () const { return new ForceInstallImpl(*this); }
+  };
+
+  struct TestcaseSetupImpl
+  {
+    Arch architecture = Arch_noarch;
+
+    std::optional<RepoData> systemRepo;
+    std::vector<RepoData> repos;
+
+    // solver flags: default to false - set true if mentioned in <setup>
+    ResolverFocus resolverFocus  = ResolverFocus::Default;
+
+    Pathname globalPath;
+    Pathname hardwareInfoFile;
+    Pathname systemCheck;
+
+    target::Modalias::ModaliasList modaliasList;
+    base::SetTracker<LocaleSet> localesTracker;
+    std::vector<std::vector<std::string>> vendorLists;
+    sat::StringQueue autoinstalled;
+    std::set<std::string> multiversionSpec;
+    std::vector<ForceInstall> forceInstallTasks;
+
+    bool set_licence = false;
+    bool show_mediaid = false;
+
+    bool ignorealreadyrecommended   = false;
+    bool onlyRequires               = false;
+    bool forceResolve               = false;
+    bool cleandepsOnRemove          = false;
+
+    bool allowDowngrade     = false;
+    bool allowNameChange    = false;
+    bool allowArchChange    = false;
+    bool allowVendorChange  = false;
+
+    bool dupAllowDowngrade     = false;
+    bool dupAllowNameChange    = false;
+    bool dupAllowArchChange    = false;
+    bool dupAllowVendorChange  = false;
+
+    TestcaseSetupImpl *clone () const { return new TestcaseSetupImpl(*this); }
+  };
+}
+
+#endif
diff --git a/zypp/misc/YamlTestcaseHelpers.h b/zypp/misc/YamlTestcaseHelpers.h
new file mode 100644 (file)
index 0000000..349d489
--- /dev/null
@@ -0,0 +1,324 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file  zypp/misc/YamlTestcaseHelpers.h
+ *
+*/
+#ifndef ZYPP_MISC_YAMLTESTCASEHELPERS_H
+#define ZYPP_MISC_YAMLTESTCASEHELPERS_H
+
+#include <zypp/base/LogControl.h>
+#include "LoadTestcase.h"
+#include "TestcaseSetupImpl.h"
+
+#include <yaml-cpp/yaml.h>
+
+#include <type_traits>
+
+namespace yamltest::detail {
+
+  bool parseSetup ( const YAML::Node &setup, zypp::misc::testcase::TestcaseSetup &t, std::string *err ) {
+
+    auto &target = t.data();
+    MIL << "Parsing setup node " << std::endl;
+    for ( YAML::const_iterator it = setup.begin(); it != setup.end(); it++ ) {
+
+      const std::string &key = it->first.as<std::string>();
+      const auto &data = it->second;
+
+      MIL << "Found key " << key << std::endl;
+
+      // reads a sequence either from a file or inline, depending on the type of "data"
+      auto readListInlineOrFromFile = [&]( const auto &cb , std::string *err ) -> bool {
+        if ( data.Type() == YAML::NodeType::Sequence ) {
+          int cnt = 0;
+          for ( const auto &node: data ) {
+            if ( !cb( node, err ) ) return false;
+            cnt ++;
+          }
+          MIL << "Loaded " << cnt << " Elements inline" << std::endl;
+        } else {
+          const std::string &fName = data.as<std::string>();
+          MIL << "Trying to load list from file " << fName << std::endl;
+          try {
+            auto doc = YAML::LoadFile( fName );
+            if ( doc.Type() != YAML::NodeType::Sequence ) {
+              if ( err ) *err = "Expected the top node to be a sequence in external file for key: ";
+              return false;
+            }
+
+            int cnt = 0;
+            for ( const auto &node : doc ) {
+              if ( !cb( node, err ) ) return false;
+              cnt ++;
+            }
+            MIL << "Loaded " << cnt << " Elements from file" << std::endl;
+          } catch ( YAML::Exception &e ) {
+            if ( err ) *err = e.what();
+            return false;
+          } catch ( ... )  {
+            if ( err ) *err = zypp::str::Str() << "Unknown error when parsing the file for " << key;
+            return false;
+          }
+        }
+        return true;
+      };
+
+      if ( key == "resolverFlags" ) {
+#define if_SolverFlag( N ) if ( data[#N] ) { target.N = data[#N].as<bool>(); }
+        if_SolverFlag( ignorealreadyrecommended ) if ( data["ignorealready"] )       { target.ignorealreadyrecommended = data["ignorealready"].as<bool>(); }
+        if_SolverFlag( onlyRequires )        if ( data["ignorerecommended"] ) { target.onlyRequires = data["ignorerecommended"].as<bool>(); }
+        if_SolverFlag( forceResolve )
+
+        if_SolverFlag( cleandepsOnRemove )
+
+        if_SolverFlag( allowDowngrade )
+        if_SolverFlag( allowNameChange )
+        if_SolverFlag( allowArchChange )
+        if_SolverFlag( allowVendorChange )
+
+        if_SolverFlag( dupAllowDowngrade )
+        if_SolverFlag( dupAllowNameChange )
+        if_SolverFlag( dupAllowArchChange )
+        if_SolverFlag( dupAllowVendorChange )
+#undef if_SolverFlag
+        if ( data["focus"] ) {
+          target.resolverFocus = zypp::resolverFocusFromString( data["focus"].as<std::string>() );
+        }
+      } else if ( key == ("system") ) {
+        target.systemRepo = zypp::misc::testcase::RepoDataImpl {
+          zypp::misc::testcase::TestcaseRepoType::Testtags,
+          "@System",
+          99,
+          data["file"].as<std::string>()
+        };
+      }
+      else if ( key == ("hardwareInfo") ) {
+        target.hardwareInfoFile = data.as<std::string>();
+      }
+      else if ( key == ("modalias") ) {
+        bool success = readListInlineOrFromFile( [&target]( const YAML::Node &dataNode, auto ){
+          target.modaliasList.push_back( dataNode.as<std::string>() );
+          return true;
+        }, err );
+        if ( !success ) return false;
+      }
+      else if ( key == ("multiversion") ) {
+        bool success = readListInlineOrFromFile( [&target]( const YAML::Node &dataNode, auto ){
+          target.multiversionSpec.insert( dataNode.as<std::string>() );
+          return true;
+        }, err );
+        if ( !success ) return false;
+      }
+      else if (key ==  ("channels")) {
+        bool success = readListInlineOrFromFile( [&target]( const YAML::Node &dataNode, auto ){
+          std::string name = dataNode["alias"].as<std::string>();
+          std::string file = dataNode["file"].as<std::string>();
+          std::string type = dataNode["type"].as<std::string>();
+
+          unsigned prio = 99;
+          if ( dataNode["priority"] )
+            prio = dataNode["priority"].as<unsigned>();
+
+          target.repos.push_back( zypp::misc::testcase::RepoDataImpl{
+            zypp::misc::testcase::TestcaseRepoType::Testtags,
+            name,
+            prio,
+            file
+          });
+          return true;
+        }, err );
+        if ( !success ) return false;
+      }
+      else if ( key == ("sources") )
+      {
+        bool success = readListInlineOrFromFile( [&target]( const YAML::Node &dataNode, auto ){
+          std::string url   = dataNode["url"].as<std::string>();
+          std::string alias = dataNode["name"].as<std::string>();
+          target.repos.push_back( zypp::misc::testcase::RepoDataImpl{
+            zypp::misc::testcase::TestcaseRepoType::Url,
+            alias,
+            99,
+            url
+          });
+          return true;
+        }, err );
+        if ( !success ) return false;
+      }
+      else if ( key == ("force-install") )
+      {
+        bool success = readListInlineOrFromFile( [&target]( const YAML::Node &dataNode, auto ){
+          target.forceInstallTasks.push_back( zypp::misc::testcase::ForceInstallImpl{
+            dataNode["channel"].as<std::string>(),
+            dataNode["package"].as<std::string>(),
+            dataNode["kind"].as<std::string>()
+          });
+          return true;
+        }, err );
+        if ( !success ) return false;
+      }
+      else if ( key == ("mediaid") )
+      {
+        target.show_mediaid = data.as<bool>();
+      }
+      else if ( key == ("arch") ) {
+        std::string architecture = data.as<std::string>();
+        if ( architecture.empty() ) {
+          if (err) *err = zypp::str::Str() << "Property 'arch' in setup can not be empty." << std::endl;
+          return false;
+        }
+        else {
+          MIL << "Setting architecture to '" << architecture << "'" << std::endl;
+          target.architecture = zypp::Arch( architecture );
+        }
+      }
+      else if ( key == ("locales") )
+      {
+        bool success = readListInlineOrFromFile( [&target]( const YAML::Node &dataNode, std::string *err ){
+          zypp::Locale loc( dataNode["name"].as<std::string>() );
+          std::string fate = dataNode["fate"].as<std::string>();
+          if ( !loc ) {
+            if (err) *err = zypp::str::Str() << "Bad or missing name in locale..." << std::endl;
+            return false;
+          }
+          else if ( fate == "added" ) {
+            target.localesTracker.added().insert( loc );
+          }
+          else if ( fate == "removed" ) {
+            target.localesTracker.removed().insert( loc );
+          }
+          else {
+            target.localesTracker.current().insert( loc );
+          }
+          return true;
+        }, err );
+        if ( !success ) return false;
+      }
+      else if ( key == ("vendors") )
+      {
+        bool success = readListInlineOrFromFile( [&target]( const YAML::Node & dataNode, std::string * err ) {
+         std::vector<std::string> vlist;
+         for ( const auto & node : dataNode )
+           vlist.push_back( node.as<std::string>() );
+         if ( ! vlist.empty() )
+           target.vendorLists.push_back( std::move(vlist) );
+          return true;
+        }, err );
+        if ( !success ) return false;
+      }
+      else if ( key == ("autoinst") ) {
+        bool success = readListInlineOrFromFile( [&]( const YAML::Node &dataNode, auto ){
+          target.autoinstalled.push( zypp::IdString( dataNode.as<std::string>() ).id() );
+          return true;
+        }, err );
+        if ( !success ) return false;
+      }
+      else if ( key == ("systemCheck") ) {
+        target.systemCheck = data.as<std::string>();
+      }
+      else if ( key == ("setlicencebit") ) {
+        target.set_licence = data.as<bool>();
+      }
+      else {
+        ERR << "Ignoring unrecognized tag '" << key << "' in setup" << std::endl;
+      }
+    }
+    return true;
+  }
+
+  template <typename T>
+  bool parseJobs  ( const YAML::Node &trial, std::vector<T> &target, std::string *err );
+
+  template <typename T>
+  bool parseSingleJob ( const YAML::Node &jobNode, std::vector<T> &target, std::string *err ) {
+
+    constexpr bool isSubNode = std::is_same_v<T, std::shared_ptr<zypp::misc::testcase::TestcaseTrial::Node>>;
+    if ( jobNode["include"] ) {
+      //handle include
+      const auto &fName = jobNode["include"].as<std::string>();
+      MIL << "Including file " << fName << std::endl;
+      try {
+        auto doc = YAML::LoadFile( fName );
+        if ( !parseJobs( doc, target, err ) )
+          return false;
+        MIL << "Including file " << fName << "was successfull" << std::endl;
+      } catch ( YAML::Exception &e ) {
+        if ( err ) *err = e.what();
+        return false;
+      } catch ( ... )  {
+        if ( err ) *err = zypp::str::Str() << "Unknown error when parsing the file: " << fName;
+        return false;
+      }
+      return true;
+    }
+
+    zypp::misc::testcase::TestcaseTrial::Node n;
+    if ( !jobNode["job"] ) {
+      if ( err ) {
+        auto errStr = zypp::str::Str();
+        const auto &mark = jobNode.Mark();
+        errStr << "'job' key missing from trial node.";
+        if ( !mark.is_null() ) {
+          errStr << " Line: " << mark.line << " Col: " << mark.column << " pos: " << mark.pos;
+        }
+        *err = errStr;
+      }
+      return false;
+    }
+
+    for ( const auto &elem : jobNode ) {
+      const std::string &key = elem.first.as<std::string>();
+      const auto &data = elem.second;
+      if ( key == "job" ) {
+        n.name() = data.as<std::string>();
+      } else if ( key == "__content") {
+        n.value() = data.as<std::string>();
+      } else {
+        if( data.IsScalar() ) {
+          n.properties().insert( { key, data.as<std::string>() } );
+        } if ( data.IsSequence() ) {
+          // if the type of a data field is a sequence, we treat all the elements in there
+          // as sub elements. Just like in XML you can have sub nodes its the same here
+          // the key name is ignored in those cases and can be chosen freely
+          if ( !parseJobs( data, n.children(), err ) )
+            return false;
+        } else if ( data.IsMap() ) {
+          // if the type of a data field is a map, we build a child node from it.
+          // Just like with sequence but a single field.
+          // The key name is ignored in those cases and can be chosen freely
+          if ( !parseSingleJob( data, n.children(), err) )
+            return false;
+        } else {
+          ERR << "Ignoring field " << key << " with unsupported type." << std::endl;
+        }
+      }
+    }
+    if constexpr ( isSubNode ) {
+      target.push_back( std::make_shared<zypp::misc::testcase::TestcaseTrial::Node>( std::move(n) ) );
+    } else {
+      target.push_back( std::move(n) );
+    }
+    return true;
+  }
+
+  template <typename T>
+  bool parseJobs  ( const YAML::Node &trial, std::vector<T> &target, std::string *err ) {
+    for ( const auto &jobNode : trial ) {
+      if ( !parseSingleJob( jobNode, target, err ) )
+        return false;
+    }
+    return true;
+  }
+
+  bool parseTrial ( const YAML::Node &trial, zypp::misc::testcase::TestcaseTrial &target, std::string *err ) {
+    MIL << "Parsing trials." << std::endl;
+    return parseJobs( trial, target.nodes(), err );
+  }
+}
+
+#endif // ZYPP_MISC_YAMLTESTCASEHELPERS_H
index 993ebb9..3341ed1 100644 (file)
@@ -91,6 +91,16 @@ namespace zypp
       return (secit->second).end();
     }
 
+    Iterable<IniDict::entry_const_iterator> IniDict::entries(const std::string &section) const
+    {
+      SectionSet::const_iterator secit = _dict.find(section);
+      if ( secit == _dict.end() )
+      {
+        return makeIterable( _empty_map.begin(), _empty_map.end() );
+      }
+
+      return makeIterable( (secit->second).begin(), (secit->second).end() );
+    }
 
     IniDict::section_const_iterator IniDict::sectionsBegin() const
     {
@@ -102,6 +112,11 @@ namespace zypp
       return make_map_key_end( _dict );
     }
 
+    Iterable<IniDict::section_const_iterator> IniDict::sections() const
+    {
+      return makeIterable( sectionsBegin(), sectionsEnd() );
+    }
+
     void IniDict::insertEntry( const std::string &section,
                                const std::string &key,
                                const std::string &value )
@@ -109,6 +124,7 @@ namespace zypp
       consume( section, key, value );
     }
 
+
     void IniDict::deleteSection( const std::string &section )
     {
       _dict.erase(section);
index cb631c1..73c66f2 100644 (file)
@@ -19,6 +19,7 @@
 #include <zypp/base/PtrTypes.h>
 #include <zypp/base/InputStream.h>
 #include <zypp/base/Iterator.h>
+#include <zypp/base/Iterable.h>
 #include <zypp/parser/IniParser.h>
 
 ///////////////////////////////////////////////////////////////////
@@ -61,6 +62,7 @@ namespace zypp
        //@{
       section_const_iterator sectionsBegin() const;
       section_const_iterator sectionsEnd() const;
+      Iterable<section_const_iterator> sections() const;
       //@}
       
       /**
@@ -79,6 +81,7 @@ namespace zypp
       //@{
       entry_const_iterator entriesBegin(const std::string &section) const;
       entry_const_iterator entriesEnd(const std::string &section) const;
+      Iterable<entry_const_iterator> entries(const std::string &section) const;
       //@{
       
       /**
index 0f7040d..a878c64 100644 (file)
@@ -137,7 +137,7 @@ namespace zypp
           else if ( it->first == "path" )
             info.setPath( Pathname(it->second) );
           else if ( it->first == "type" )
-            info.setType(repo::RepoType(it->second));
+            ; // bsc#1177427 et.al.: type in a .repo file is legacy - ignore it and let RepoManager probe
           else if ( it->first == "autorefresh" )
             info.setAutorefresh( str::strToTrue( it->second ) );
           else if ( it->first == "mirrorlist" && !it->second.empty())
index 00df261..4e60e50 100644 (file)
 #ifndef ZYPP_PARSER_XML_LIBXMLFWD_H
 #define ZYPP_PARSER_XML_LIBXMLFWD_H
 
-extern "C"
-{
 #include <libxml/xmlreader.h>
 #include <libxml/xmlerror.h>
-}
 
 #include <iosfwd>
 
index 6009859..2eacab8 100644 (file)
@@ -554,7 +554,13 @@ namespace zypp
     Url RepoVariablesUrlReplacer::operator()( const Url & value ) const
     {
       Url::ViewOptions toReplace = value.getViewOptions() - url::ViewOption::WITH_USERNAME - url::ViewOption::WITH_PASSWORD;
-      const std::string & replaced( RepoVarExpand()( value.asString( toReplace ), RepoVarsMap::lookup ) );
+      // Legacy: Not 100% correct because it substitutes inside the 'proxypass=' value,
+      // but this was done before as well. The final fix will have to keep the proxypasswd
+      // out side the url in a cedential file.
+      Url tmpurl { value };
+      tmpurl.setViewOptions( toReplace );
+      const std::string & replaced( RepoVarExpand()( hotfix1050625::asString( tmpurl ), RepoVarsMap::lookup ) );
+
       Url newurl;
       if ( !replaced.empty() )
       {
index e63953c..2460eb8 100644 (file)
@@ -30,7 +30,7 @@ namespace sat
   const SolvAttr SolvAttr::allAttr( detail::noId );
   const SolvAttr SolvAttr::noAttr;
 
-#warning STILL ATTRIBUTES HERE WHICH ARE NOT PROVIDED BY SOLV FILES
+// There are some attributes here which are not provided by solv files.
 // At least the ones that do nat have a solv/knownid.
 
   const SolvAttr SolvAttr::name         ( SOLVABLE_NAME );
index 6c0f7ce..0127cde 100644 (file)
@@ -39,7 +39,9 @@ extern "C"
 // Workaround libsolv project not providing a common include
 // directory. (the -devel package does, but the git repo doesn't).
 // #include <solv/repo_helix.h>
+// #include <solv/testcase.h>
 int repo_add_helix( ::Repo *repo, FILE *fp, int flags );
+int testcase_add_testtags(Repo *repo, FILE *fp, int flags);
 }
 
 using std::endl;
@@ -342,6 +344,15 @@ namespace zypp
         return 0;
       }
 
+      int PoolImpl::_addTesttags(CRepo *repo_r, FILE *file_r)
+      {
+        setDirty(__FUNCTION__, repo_r->name );
+        int ret = ::testcase_add_testtags( repo_r, file_r, 0 );
+        if ( ret == 0 )
+          _postRepoAdd( repo_r );
+        return 0;
+      }
+
       void PoolImpl::_postRepoAdd( CRepo * repo_r )
       {
         if ( ! isSystemRepo( repo_r ) )
index fee9615..3d8ebd1 100644 (file)
@@ -143,6 +143,12 @@ namespace zypp
           */
           int _addHelix( CRepo * repo_r, FILE * file_r );
 
+          /** Adding testtags file to a repo.
+           * Except for \c isSystemRepo_r, solvables of incompatible architecture
+           * are filtered out.
+          */
+          int _addTesttags( CRepo * repo_r, FILE * file_r );
+
           /** Adding Solvables to a repo. */
           detail::SolvableIdType _addSolvables( CRepo * repo_r, unsigned count_r );
           //@}
index 3316690..7cc00c0 100644 (file)
@@ -13,6 +13,7 @@
 #include <fstream>
 #include <sstream>
 #include <streambuf>
+#include <boost/iterator/function_output_iterator.hpp>
 
 #define ZYPP_USE_RESOLVER_INTERNALS
 
 #include <zypp/base/NonCopyable.h>
 #include <zypp/base/ReferenceCounted.h>
 
-#include <zypp/parser/xml/XmlEscape.h>
-
+#include <zypp/AutoDispose.h>
 #include <zypp/ZConfig.h>
 #include <zypp/PathInfo.h>
 #include <zypp/ResPool.h>
 #include <zypp/Repository.h>
+#include <zypp/VendorAttr.h>
 #include <zypp/target/modalias/Modalias.h>
 
 #include <zypp/sat/detail/PoolImpl.h>
 #include <zypp/solver/detail/Resolver.h>
 #include <zypp/solver/detail/SystemCheck.h>
 
+#include <yaml-cpp/yaml.h>
+
+extern "C" {
+#include <solv/testcase.h>
+}
+
 using std::endl;
 
 /////////////////////////////////////////////////////////////////////////
@@ -49,566 +56,332 @@ namespace zypp
     namespace detail
     { ///////////////////////////////////////////////////////////////////
 
-#define TAB "\t"
-#define TAB2 "\t\t"
-
-using namespace zypp::str;
-
-//---------------------------------------------------------------------------
-
-inline std::string xml_escape( const std::string &text )
-{
-  return zypp::xml::escape(text);
-}
-
-inline std::string xml_tag_enclose( const std::string &text, const std::string &tag, bool escape = false )
-{
-  std::string result;
-  result += "<" + tag + ">";
-
-  if ( escape)
-   result += xml_escape(text);
-  else
-   result += text;
-
-  result += "</" + tag + ">";
-  return result;
-}
-
-template<class T>
-std::string helixXML( const T &obj ); //undefined
-
-template<>
-std::string helixXML( const Edition &edition )
-{
-    std::stringstream str;
-    str << xml_tag_enclose(edition.version(), "version");
-    if (!edition.release().empty())
-       str << xml_tag_enclose(edition.release(), "release");
-    if (edition.epoch() != Edition::noepoch)
-       str << xml_tag_enclose(numstring(edition.epoch()), "epoch");
-    return str.str();
-}
-
-template<>
-std::string helixXML( const Arch &arch )
-{
-    std::stringstream str;
-    str << xml_tag_enclose(arch.asString(), "arch");
-    return str.str();
-}
-
-template<>
-std::string helixXML( const Capability &cap )
-{
-    std::stringstream str;
-    CapDetail detail = cap.detail();
-    if (detail.isSimple()) {
-       if (detail.isVersioned()) {
-           str << "<dep name='" << xml_escape(detail.name().asString()) << "'"
-               << " op='" << xml_escape(detail.op().asString()) << "'"
-               << " version='" <<  xml_escape(detail.ed().version()) << "'";
-           if (!detail.ed().release().empty())
-               str << " release='" << xml_escape(detail.ed().release()) << "'";
-           if (detail.ed().epoch() != Edition::noepoch)
-               str << " epoch='" << xml_escape(numstring(detail.ed().epoch())) << "'";
-           str << " />" << endl;
-       } else {
-           str << "<dep name='" << xml_escape(cap.asString()) << "' />" << endl;
-       }
-    } else if (detail.isExpression()) {
-       if (detail.capRel() == CapDetail::CAP_AND
-           && detail.lhs().detail().isNamed()
-           && detail.rhs().detail().isNamed()) {
-           // packageand dependency
-           str << "<dep name='packageand("
-               << IdString(detail.lhs().id()) << ":"
-               << IdString(detail.rhs().id()) << ")' />" << endl;
-       } else if (detail.capRel() == CapDetail::CAP_NAMESPACE
-           && detail.lhs().id() == NAMESPACE_OTHERPROVIDERS) {
-           str << "<dep name='otherproviders("
-               << IdString(detail.rhs().id()) << ")' />" << endl;
-       } else {
-           // modalias ?
-           IdString packageName;
-           if (detail.capRel() == CapDetail::CAP_AND) {
-               packageName = IdString(detail.lhs().id());
-               detail = detail.rhs().detail();
-           }
-           if (detail.capRel() == CapDetail::CAP_NAMESPACE
-               && detail.lhs().id() == NAMESPACE_MODALIAS) {
-               str << "<dep name='modalias(";
-               if (!packageName.empty())
-                   str << packageName << ":";
-               str << IdString(detail.rhs().id()) << ")' />" << endl;
-           } else {
-               str << "<!--- ignoring '" << xml_escape(cap.asString()) << "' -->" << endl;
-           }
-       }
-    } else {
-       str << "<!--- ignoring '" << xml_escape(cap.asString()) << "' -->" << endl;
-    }
-
-    return str.str();
-}
-
-template<>
-std::string helixXML( const Capabilities &caps )
-{
-    std::stringstream str;
-    Capabilities::const_iterator it = caps.begin();
-    str << endl;
-    for ( ; it != caps.end(); ++it)
-    {
-       str << TAB2 << helixXML((*it));
-    }
-    str << TAB;
-    return str.str();
-}
-
-template<>
-std::string helixXML( const CapabilitySet &caps )
-{
-    std::stringstream str;
-    CapabilitySet::const_iterator it = caps.begin();
-    str << endl;
-    for ( ; it != caps.end(); ++it)
-    {
-       str << TAB2 << helixXML((*it));
-    }
-    str << TAB;
-    return str.str();
-}
-
-inline std::string helixXML( const PoolItem & obj, Dep deptag_r )
-{
-  std::stringstream out;
-  Capabilities caps( obj[deptag_r] );
-  if ( ! caps.empty() )
-    out << TAB << xml_tag_enclose(helixXML(caps), deptag_r.asString()) << endl;
-  return out.str();
-}
-
-std::string helixXML( const PoolItem & item )
-{
-  std::stringstream str;
-  str << "<" << item.kind() << ">" << endl;
-  str << TAB << xml_tag_enclose( item.name(), "name", true ) << endl;
-  str << TAB << xml_tag_enclose( item.vendor().asString(), "vendor", true ) << endl;
-  str << TAB << xml_tag_enclose( item.buildtime().asSeconds(), "buildtime", true ) << endl;
-  if ( isKind<Package>( item ) ) {
-      str << TAB << "<history>" << endl << TAB << "<update>" << endl;
-      str << TAB2 << helixXML( item.arch() ) << endl;
-      str << TAB2 << helixXML( item.edition() ) << endl;
-      str << TAB << "</update>" << endl << TAB << "</history>" << endl;
-  } else {
-      str << TAB << helixXML( item.arch() ) << endl;
-      str << TAB << helixXML( item.edition() ) << endl;
-  }
-  str << helixXML( item, Dep::PROVIDES );
-  str << helixXML( item, Dep::PREREQUIRES );
-  str << helixXML( item, Dep::CONFLICTS );
-  str << helixXML( item, Dep::OBSOLETES );
-  str << helixXML( item, Dep::REQUIRES );
-  str << helixXML( item, Dep::RECOMMENDS );
-  str << helixXML( item, Dep::ENHANCES );
-  str << helixXML( item, Dep::SUPPLEMENTS );
-  str << helixXML( item, Dep::SUGGESTS );
-
-  str << "</" << item.kind() << ">" << endl;
-  return str.str();
-}
-
-///////////////////////////////////////////////////////////////////
-//
-//     CLASS NAME : HelixResolvable
-/**
- * Creates a file in helix format which includes all available
- * or installed packages,patches,selections.....
- **/
-class  HelixResolvable : public base::ReferenceCounted, private base::NonCopyable{
-
-  private:
-    std::string dumpFile; // Path of the generated testcase
-    ofgzstream *file;
+      //---------------------------------------------------------------------------
 
-  public:
-    HelixResolvable (const std::string & path);
-    ~HelixResolvable ();
+      Testcase::Testcase()
+        :dumpPath("/var/log/YaST2/solverTestcase")
+      {}
 
-    void addResolvable (const PoolItem item)
-    { *file << helixXML (item); }
+      Testcase::Testcase(const std::string & path)
+        :dumpPath(path)
+      {}
 
-    std::string filename ()
-    { return dumpFile; }
-};
+      Testcase::~Testcase()
+      {}
 
-DEFINE_PTR_TYPE(HelixResolvable);
-IMPL_PTR_TYPE(HelixResolvable);
-
-typedef std::map<Repository, HelixResolvable_Ptr> RepositoryTable;
-
-HelixResolvable::HelixResolvable(const std::string & path)
-    :dumpFile (path)
-{
-    file = new ofgzstream(path.c_str());
-    if (!file) {
-       ZYPP_THROW (Exception( "Can't open " + path ) );
-    }
-
-    *file << "<channel><subchannel>" << endl;
-}
-
-HelixResolvable::~HelixResolvable()
-{
-    *file << "</subchannel></channel>" << endl;
-    delete(file);
-}
-
-///////////////////////////////////////////////////////////////////
-//
-//     CLASS NAME : HelixControl
-/**
- * Creates a file in helix format which contains all controll
- * action of a testcase ( file is known as *-test.xml)
- **/
-class  HelixControl {
-
-  private:
-    std::string dumpFile; // Path of the generated testcase
-    std::ofstream *file;
-    bool _inSetup;
-
-  public:
-    HelixControl (const std::string & controlPath,
-                 const RepositoryTable & sourceTable,
-                 const Arch & systemArchitecture,
-                 const target::Modalias::ModaliasList & modaliasList,
-                 const std::set<std::string> & multiversionSpec,
-                 const std::string & systemPath);
-    ~HelixControl ();
-
-    void closeSetup()
-    {
-      if ( _inSetup )
+      bool Testcase::createTestcase(Resolver & resolver, bool dumpPool, bool runSolver)
       {
-       *file << "</setup>" << endl << "<trial>" << endl;
-       _inSetup = false;
-      }
-    }
-
-    std::ostream & writeTag()
-    { return *file << (_inSetup ? TAB : ""); }
-
-    void addTagIf( const std::string & tag_r, bool yesno_r = true )
-    {
-      if ( yesno_r )
-       writeTag() << "<" << tag_r << "/>" << endl;
-    }
-
-    void installResolvable( const PoolItem & pi_r );
-    void lockResolvable( const PoolItem & pi_r );
-    void keepResolvable( const PoolItem & pi_r );
-    void deleteResolvable( const PoolItem & pi_r );
-    void addDependencies (const CapabilitySet &capRequire, const CapabilitySet &capConflict);
-    void addUpgradeRepos( const std::set<Repository> & upgradeRepos_r );
-
-    std::string filename () { return dumpFile; }
-};
-
-HelixControl::HelixControl(const std::string & controlPath,
-                          const RepositoryTable & repoTable,
-                          const Arch & systemArchitecture,
-                          const target::Modalias::ModaliasList & modaliasList,
-                          const std::set<std::string> & multiversionSpec,
-                          const std::string & systemPath)
-    :dumpFile (controlPath)
-    ,_inSetup( true )
-{
-    file = new std::ofstream(controlPath.c_str());
-    if (!file) {
-       ZYPP_THROW (Exception( "Can't open " + controlPath ) );
-    }
-
-    *file << "<?xml version=\"1.0\"?>" << endl
-         << "<!-- libzypp resolver testcase -->" << endl
-         << "<test>" << endl
-         << "<setup arch=\"" << systemArchitecture << "\">" << endl
-         << TAB << "<system file=\"" << systemPath << "\"/>" << endl << endl;
-    for ( RepositoryTable::const_iterator it = repoTable.begin();
-         it != repoTable.end(); ++it ) {
-       RepoInfo repo = it->first.info();
-       *file << TAB << "<!-- " << endl
-             << TAB << "- alias       : " << repo.alias() << endl;
-       for ( RepoInfo::urls_const_iterator itUrl = repo.baseUrlsBegin();
-             itUrl != repo.baseUrlsEnd();
-             ++itUrl )
-       {
-           *file << TAB << "- url         : " << *itUrl << endl;
-       }
-       *file << TAB << "- path        : " << repo.path() << endl;
-       *file << TAB << "- type        : " << repo.type() << endl;
-       *file << TAB << "- generated   : " << (it->first.generatedTimestamp()).form( "%Y-%m-%d %H:%M:%S" ) << endl;
-       *file << TAB << "- outdated    : " << (it->first.suggestedExpirationTimestamp()).form( "%Y-%m-%d %H:%M:%S" ) << endl;
-       *file << TAB << " -->" << endl;
-
-       *file << TAB << "<channel file=\"" << str::numstring((long)it->first.id())
-             << "-package.xml.gz\" name=\"" << repo.alias() << "\""
-             << " priority=\"" << repo.priority()
-             << "\" />" << endl << endl;
-    }
-
-    // HACK: directly access sat::pool
-    const sat::Pool & satpool( sat::Pool::instance() );
-
-    // RequestedLocales
-    const LocaleSet & addedLocales( satpool.getAddedRequestedLocales() );
-    const LocaleSet & removedLocales( satpool.getRemovedRequestedLocales() );
-    const LocaleSet & requestedLocales( satpool.getRequestedLocales() );
-
-    for ( Locale l : requestedLocales )
-    {
-      const char * fate = ( addedLocales.count(l) ? "\" fate=\"added" : "" );
-      *file << TAB << "<locale name=\"" << l << fate << "\" />" << endl;
-    }
-    for ( Locale l : removedLocales )
-    {
-      *file << TAB << "<locale name=\"" << l << "\" fate=\"removed\" />" << endl;
-    }
-
-    // AutoInstalled
-    for ( IdString::IdType n : satpool.autoInstalled() )
-    {
-      *file << TAB << "<autoinst name=\"" << IdString(n) << "\" />" << endl;
-    }
-
-
-
-    for_( it, modaliasList.begin(), modaliasList.end() ) {
-       *file << TAB << "<modalias name=\"" <<  xml_escape(*it)
-             << "\" />" << endl;
-    }
-
-    for_( it, multiversionSpec.begin(), multiversionSpec.end() ) {
-       *file << TAB << "<multiversion name=\"" <<  *it
-             << "\" />" << endl;
-    }
-
-    // setup continued outside....
-}
-
-HelixControl::~HelixControl()
-{
-    closeSetup();      // in case it is still open
-    *file << "</trial>" << endl
-         << "</test>" << endl;
-    delete(file);
-}
-
-void HelixControl::installResolvable( const PoolItem & pi_r )
-{
-    *file << "<install channel=\"" << pi_r.repoInfo().alias() << "\""
-          << " kind=\"" << pi_r.kind() << "\""
-         << " name=\"" << pi_r.name() << "\""
-         << " arch=\"" << pi_r.arch() << "\""
-         << " version=\"" << pi_r.edition().version() << "\""
-         << " release=\"" << pi_r.edition().release() << "\""
-         << " status=\"" << pi_r.status() << "\""
-         << "/>" << endl;
-}
-
-void HelixControl::lockResolvable( const PoolItem & pi_r )
-{
-    *file << "<lock channel=\"" << pi_r.repoInfo().alias() << "\""
-          << " kind=\"" << pi_r.kind() << "\""
-         << " name=\"" << pi_r.name() << "\""
-         << " arch=\"" << pi_r.arch() << "\""
-         << " version=\"" << pi_r.edition().version() << "\""
-         << " release=\"" << pi_r.edition().release() << "\""
-         << " status=\"" << pi_r.status() << "\""
-         << "/>" << endl;
-}
-
-void HelixControl::keepResolvable( const PoolItem & pi_r )
-{
-    *file << "<keep channel=\"" << pi_r.repoInfo().alias() << "\""
-          << " kind=\"" << pi_r.kind() << "\""
-         << " name=\"" << pi_r.name() << "\""
-         << " arch=\"" << pi_r.arch() << "\""
-         << " version=\"" << pi_r.edition().version() << "\""
-         << " release=\"" << pi_r.edition().release() << "\""
-         << " status=\"" << pi_r.status() << "\""
-         << "/>" << endl;
-}
-
-void HelixControl::deleteResolvable( const PoolItem & pi_r )
-{
-    *file << "<uninstall  kind=\"" << pi_r.kind() << "\""
-         << " name=\"" << pi_r.name() << "\""
-         << " status=\"" << pi_r.status() << "\""
-         << "/>" << endl;
-}
-
-void HelixControl::addDependencies (const CapabilitySet & capRequire, const CapabilitySet & capConflict)
-{
-    for (CapabilitySet::const_iterator iter = capRequire.begin(); iter != capRequire.end(); iter++) {
-       *file << "<addRequire " <<  " name=\"" << iter->asString() << "\"" << "/>" << endl;
-    }
-    for (CapabilitySet::const_iterator iter = capConflict.begin(); iter != capConflict.end(); iter++) {
-       *file << "<addConflict " << " name=\"" << iter->asString() << "\"" << "/>" << endl;
-    }
-}
-
-void HelixControl::addUpgradeRepos( const std::set<Repository> & upgradeRepos_r )
-{
-  for_( it, upgradeRepos_r.begin(), upgradeRepos_r.end() )
-  {
-    *file << "<upgradeRepo name=\"" << it->alias() << "\"/>" << endl;
-  }
-}
-
-//---------------------------------------------------------------------------
-
-Testcase::Testcase()
-    :dumpPath("/var/log/YaST2/solverTestcase")
-{}
-
-Testcase::Testcase(const std::string & path)
-    :dumpPath(path)
-{}
-
-Testcase::~Testcase()
-{}
-
-bool Testcase::createTestcase(Resolver & resolver, bool dumpPool, bool runSolver)
-{
-    PathInfo path (dumpPath);
-
-    if ( !path.isExist() ) {
-       if (zypp::filesystem::assert_dir (dumpPath)!=0) {
-           ERR << "Cannot create directory " << dumpPath << endl;
-           return false;
-       }
-    } else {
-       if (!path.isDir()) {
-           ERR << dumpPath << " is not a directory." << endl;
-           return false;
-       }
-       // remove old stuff if pool will be dump
-       if (dumpPool)
-           zypp::filesystem::clean_dir (dumpPath);
-    }
-
-    if (runSolver) {
-        zypp::base::LogControl::TmpLineWriter tempRedirect;
-       zypp::base::LogControl::instance().logfile( dumpPath +"/y2log" );
-       zypp::base::LogControl::TmpExcessive excessive;
-
-       resolver.resolvePool();
-    }
-
-    ResPool pool       = resolver.pool();
-    RepositoryTable    repoTable;
-    PoolItemList       items_to_install;
-    PoolItemList       items_to_remove;
-    PoolItemList       items_locked;
-    PoolItemList       items_keep;
-    HelixResolvable_Ptr        system = NULL;
-
-    if (dumpPool)
-       system = new HelixResolvable(dumpPath + "/solver-system.xml.gz");
-
-    for ( const PoolItem & pi : pool )
-    {
-       if ( system && pi.status().isInstalled() ) {
-           // system channel
-           system->addResolvable( pi );
-       } else {
-           // repo channels
-           Repository repo  = pi.repository();
-           if (dumpPool) {
-               if (repoTable.find (repo) == repoTable.end()) {
-                   repoTable[repo] = new HelixResolvable(dumpPath + "/"
-                                                         + str::numstring((long)repo.id())
-                                                         + "-package.xml.gz");
-               }
-               repoTable[repo]->addResolvable( pi );
-           }
-       }
-
-       if ( pi.status().isToBeInstalled()
-            && !(pi.status().isBySolver())) {
-           items_to_install.push_back( pi );
-       }
-       if ( pi.status().isKept()
-            && !(pi.status().isBySolver())) {
-           items_keep.push_back( pi );
-       }
-       if ( pi.status().isToBeUninstalled()
-            && !(pi.status().isBySolver())) {
-           items_to_remove.push_back( pi );
-       }
-       if ( pi.status().isLocked()
-            && !(pi.status().isBySolver())) {
-           items_locked.push_back( pi );
-       }
-    }
-
-    // writing control file "*-test.xml"
-    HelixControl control (dumpPath + "/solver-test.xml",
-                         repoTable,
-                         ZConfig::instance().systemArchitecture(),
-                         target::Modalias::instance().modaliasList(),
-                         ZConfig::instance().multiversionSpec(),
-                         "solver-system.xml.gz");
-
-    // In <setup>: resolver flags,...
-    control.writeTag() << "<focus value=\"" << resolver.focus() << "\"/>" << endl;
-
-    control.addTagIf( "ignorealreadyrecommended",      resolver.ignoreAlreadyRecommended() );
-    control.addTagIf( "onlyRequires",          resolver.onlyRequires() );
-    control.addTagIf( "forceResolve",          resolver.forceResolve() );
-
-    control.addTagIf( "cleandepsOnRemove",     resolver.cleandepsOnRemove() );
-
-    control.addTagIf( "allowDowngrade",                resolver.allowDowngrade() );
-    control.addTagIf( "allowNameChange",       resolver.allowNameChange() );
-    control.addTagIf( "allowArchChange",       resolver.allowArchChange() );
-    control.addTagIf( "allowVendorChange",     resolver.allowVendorChange() );
-
-    control.addTagIf( "dupAllowDowngrade",     resolver.dupAllowDowngrade() );
-    control.addTagIf( "dupAllowNameChange",    resolver.dupAllowNameChange() );
-    control.addTagIf( "dupAllowArchChange",    resolver.dupAllowArchChange() );
-    control.addTagIf( "dupAllowVendorChange",  resolver.dupAllowVendorChange() );
-
-    control.closeSetup();
-    // Entering <trial>...
-
-    for ( const PoolItem & pi : items_to_install )
-    { control.installResolvable( pi ); }
-
-    for ( const PoolItem & pi : items_locked )
-    { control.lockResolvable( pi ); }
-
-    for ( const PoolItem & pi : items_keep )
-    { control.keepResolvable( pi ); }
-
-    for ( const PoolItem & pi : items_to_remove )
-    { control.deleteResolvable( pi ); }
-
-    control.addDependencies (resolver.extraRequires(), resolver.extraConflicts());
-    control.addDependencies (SystemCheck::instance().requiredSystemCap(),
-                            SystemCheck::instance().conflictSystemCap());
-    control.addUpgradeRepos( resolver.upgradeRepos() );
-
-    control.addTagIf( "distupgrade",   resolver.isUpgradeMode() );
-    control.addTagIf( "update",                resolver.isUpdateMode() );
-    control.addTagIf( "verify",                resolver.isVerifyingMode() );
-
-    return true;
-}
-
+       MIL << "createTestcase at " << dumpPath << (dumpPool?" dumpPool":"") << (runSolver?" runSolver":"") << endl;
+        PathInfo path (dumpPath);
+
+        if ( !path.isExist() ) {
+          if (zypp::filesystem::assert_dir (dumpPath)!=0) {
+            ERR << "Cannot create directory " << dumpPath << endl;
+            return false;
+          }
+        } else {
+          if (!path.isDir()) {
+            ERR << dumpPath << " is not a directory." << endl;
+            return false;
+          }
+          // remove old stuff if pool will be dump
+          if (dumpPool)
+            zypp::filesystem::clean_dir (dumpPath);
+        }
+
+        if (runSolver) {
+          zypp::base::LogControl::TmpLineWriter tempRedirect;
+          zypp::base::LogControl::instance().logfile( dumpPath +"/y2log" );
+          zypp::base::LogControl::TmpExcessive excessive;
+
+          resolver.resolvePool();
+        }
+
+        ResPool pool   = resolver.pool();
+        PoolItemList   items_to_install;
+        PoolItemList   items_to_remove;
+        PoolItemList   items_locked;
+        PoolItemList   items_keep;
+
+
+        const std::string slvTestcaseName = "testcase.t";
+        const std::string slvResult       = "solver.result";
+
+        zypp::AutoDispose<const char **> repoFileNames( testcase_mangle_repo_names( resolver.get()->pool ),
+          [ nrepos = resolver.get()->pool->nrepos ]( auto **x ){
+            if (!x) return;
+            for ( int i = 1; i < nrepos; i++ )
+                solv_free((void *)x[i]);
+            solv_free((void *)x);
+        });
+
+        if ( ::testcase_write( resolver.get(), dumpPath.c_str(), TESTCASE_RESULT_TRANSACTION | TESTCASE_RESULT_PROBLEMS, slvTestcaseName.c_str(), slvResult.c_str() ) == 0 ) {
+          ERR << "Failed to write solv data, aborting." << endl;
+          return false;
+        }
+
+        // HACK: directly access sat::pool
+        const sat::Pool & satpool( sat::Pool::instance() );
+
+        YAML::Emitter yOut;
+
+        const auto addTag = [&]( const std::string & tag_r, bool yesno_r = true ){
+          yOut << YAML::Key << tag_r << YAML::Value << yesno_r;
+        };
+
+        yOut << YAML::BeginMap  << YAML::Key << "version" << YAML::Value << "1.0";
+
+        yOut << YAML::Key << "setup" << YAML::Value << YAML::BeginMap;
+
+        yOut << YAML::Key << "channels";
+        yOut << YAML::Value << YAML::BeginSeq;
+
+        std::set<Repository::IdType> repos;
+        for ( const PoolItem & pi : pool ) {
+          if ( pi.status().isToBeInstalled()
+               && !(pi.status().isBySolver())) {
+            items_to_install.push_back( pi );
+          }
+          if ( pi.status().isKept()
+               && !(pi.status().isBySolver())) {
+            items_keep.push_back( pi );
+          }
+          if ( pi.status().isToBeUninstalled()
+               && !(pi.status().isBySolver())) {
+            items_to_remove.push_back( pi );
+          }
+          if ( pi.status().isLocked()
+               && !(pi.status().isBySolver())) {
+            items_locked.push_back( pi );
+          }
+
+          const auto &myRepo = pi.repository();
+          const auto &myRepoInfo = myRepo.info();
+          if ( repos.find( myRepo.id()) == repos.end() ) {
+            repos.insert( myRepo.id() );
+            yOut << YAML::Value << YAML::BeginMap;
+            yOut << YAML::Key << "alias" << YAML::Value << myRepo.alias();
+            yOut << YAML::Key << "url" << YAML::BeginSeq;
+            for ( auto itUrl = myRepoInfo.baseUrlsBegin(); itUrl != myRepoInfo.baseUrlsEnd(); ++itUrl ) {
+              yOut << YAML::Value << itUrl->asString();
+            }
+            yOut << YAML::EndSeq;
+            yOut << YAML::Key << "path" << YAML::Value << myRepoInfo.path().asString();
+            yOut << YAML::Key << "type" << YAML::Value << myRepoInfo.type().asString();
+            yOut << YAML::Key << "generated" << YAML::Value << myRepo.generatedTimestamp().form( "%Y-%m-%d %H:%M:%S" );
+            yOut << YAML::Key << "outdated" << YAML::Value << myRepo.suggestedExpirationTimestamp().form( "%Y-%m-%d %H:%M:%S" );
+            yOut << YAML::Key << "priority" << YAML::Value << myRepoInfo.priority();
+            yOut << YAML::Key << "file" << YAML::Value << str::Format("%1%.repo.gz") % repoFileNames[myRepo.id()->repoid];
+
+            yOut << YAML::EndMap;
+          }
+
+        }
+
+        yOut << YAML::EndSeq;
+
+        yOut << YAML::Key << "arch" << YAML::Value << ZConfig::instance().systemArchitecture().asString() ;
+        yOut << YAML::Key << "solverTestcase" << YAML::Value << slvTestcaseName ;
+        yOut << YAML::Key << "solverResult" << YAML::Value << slvResult ;
+
+        // RequestedLocales
+        const LocaleSet & addedLocales( satpool.getAddedRequestedLocales() );
+        const LocaleSet & removedLocales( satpool.getRemovedRequestedLocales() );
+        const LocaleSet & requestedLocales( satpool.getRequestedLocales() );
+
+        yOut << YAML::Key << "locales" << YAML::Value << YAML::BeginSeq ;
+        for ( Locale l : requestedLocales ) {
+          yOut << YAML::Value << YAML::BeginMap;
+          yOut << YAML::Key << "fate" << YAML::Value << ( addedLocales.count(l) ? "added" : "" ) ;
+          yOut << YAML::Key << "name" << YAML::Value << l.asString() ;
+          yOut << YAML::EndMap;
+        }
+
+        for ( Locale l : removedLocales ) {
+          yOut << YAML::Value << YAML::BeginMap;
+          yOut << YAML::Key << "fate" << YAML::Value << "removed" ;
+          yOut << YAML::Key << "name" << YAML::Value << l.asString() ;
+          yOut << YAML::EndMap;
+        }
+        yOut << YAML::EndSeq; // locales
+
+        // Vendor settings
+        yOut << YAML::Key << "vendors" << YAML::Value << YAML::BeginSeq ;
+       VendorAttr::instance().foreachVendorList( [&]( VendorAttr::VendorList vlist )->bool {
+         if ( ! vlist.empty() ) {
+           yOut << YAML::Value << YAML::BeginSeq;
+           for( const auto & v : vlist )
+             yOut << YAML::Value << v ;
+           yOut << YAML::EndSeq;
+         }
+         return true;
+       } );
+       yOut << YAML::EndSeq; // vendors
+
+        // helper lambda to write a list of elements into a external file instead of the main file
+        const auto &writeListOrFile = [&]( const std::string &name, const auto &list, const auto &callback ) {
+          if ( list.size() > 10 ) {
+            const std::string fName = str::Format("zypp-%1%.yaml") % name;
+            yOut << YAML::Key << name << YAML::Value << fName;
+
+            YAML::Emitter yOutFile;
+            callback( yOutFile, list );
+
+            std::ofstream fout( dumpPath+"/"+fName );
+            fout << yOutFile.c_str();
+          } else {
+            yOut << YAML::Key << name << YAML::Value ;
+            callback( yOut, list );
+          }
+        };
+
+        // AutoInstalled
+        const auto &writeAutoInst = [] ( YAML::Emitter &out, const auto &autoInstalledList ) {
+          out << YAML::BeginSeq;
+          for ( IdString::IdType n : autoInstalledList ) {
+            out << YAML::Value << IdString(n).asString() ;
+          }
+          out << YAML::EndSeq;
+        };
+        writeListOrFile( "autoinst", satpool.autoInstalled(), writeAutoInst );
+
+        // ModAlias
+        const auto &writeModalias = []( YAML::Emitter &out, const auto &modAliasList ){
+          out << YAML::BeginSeq;
+          for ( const auto &modAlias : modAliasList ) {
+            out << YAML::Value << modAlias ;
+          }
+          out << YAML::EndSeq;
+        };
+        writeListOrFile( "modalias", target::Modalias::instance().modaliasList(), writeModalias );
+
+        // Multiversion
+        const auto &writeMultiVersion = [] ( YAML::Emitter &out, const auto &multiversionList ) {
+          out << YAML::BeginSeq;
+          for ( const auto &multiver : multiversionList ) {
+            out << YAML::Value << multiver ;
+          }
+          out << YAML::EndSeq;
+        };
+        writeListOrFile( "multiversion", ZConfig::instance().multiversionSpec(), writeMultiVersion );
+
+
+        yOut << YAML::Key << "resolverFlags" << YAML::Value << YAML::BeginMap;
+        yOut << YAML::Key << "focus" << YAML::Value << asString( resolver.focus() );
+
+        addTag( "ignorealreadyrecommended", resolver.ignoreAlreadyRecommended() );
+        addTag( "onlyRequires",             resolver.onlyRequires() );
+        addTag( "forceResolve",             resolver.forceResolve() );
+
+        addTag( "cleandepsOnRemove",        resolver.cleandepsOnRemove() );
+
+        addTag( "allowDowngrade",           resolver.allowDowngrade() );
+        addTag( "allowNameChange",          resolver.allowNameChange() );
+        addTag( "allowArchChange",          resolver.allowArchChange() );
+        addTag( "allowVendorChange",        resolver.allowVendorChange() );
+
+        addTag( "dupAllowDowngrade",        resolver.dupAllowDowngrade() );
+        addTag( "dupAllowNameChange",       resolver.dupAllowNameChange() );
+        addTag( "dupAllowArchChange",       resolver.dupAllowArchChange() );
+        addTag( "dupAllowVendorChange",     resolver.dupAllowVendorChange() );
+
+
+        yOut << YAML::EndMap; // resolverFlags
+        yOut << YAML::EndMap; // setup
+
+        yOut << YAML::Key << "trials" << YAML::Value << YAML::BeginSeq;
+
+        yOut << YAML::Value << YAML::BeginMap << YAML::Key << "trial" << YAML::Value;
+
+        yOut << YAML::BeginSeq;
+
+        const auto &writeJobsToFile = [&]( const std::string &fName, const auto &data, const auto &cb ){
+          yOut << YAML::Value << YAML::BeginMap;
+          yOut << YAML::Key << "include" << YAML::Value << fName;
+          yOut << YAML::EndMap;
+
+          YAML::Emitter yOutFile;
+          yOutFile << YAML::BeginSeq;
+          cb( yOutFile, data );
+          yOutFile << YAML::EndSeq;
+
+          std::ofstream fout( dumpPath+"/"+fName );
+          fout << yOutFile.c_str();
+        };
+
+        // Multiversion
+        const auto &writePoolItemJobs = []( const std::string &jobName ){
+          return [ &jobName ] ( YAML::Emitter &yOut, const PoolItemList &poolItems, bool shortInfo = false ) {
+            for ( const PoolItem & pi : poolItems ) {
+              yOut << YAML::Value << YAML::BeginMap;
+
+              std::stringstream status;
+              status << pi.status();
+
+              yOut << YAML::Key << "job"     << YAML::Value << jobName
+                   << YAML::Key << "kind"    << YAML::Value << pi.kind().asString()
+                   << YAML::Key << "name"    << YAML::Value << pi.name()
+                   << YAML::Key << "status"  << YAML::Value << status.str();
+              if ( !shortInfo ) {
+                yOut << YAML::Key << "channel" << YAML::Value << pi.repoInfo().alias()
+                     << YAML::Key << "arch"    << YAML::Value << pi.arch().asString()
+                     << YAML::Key << "version" << YAML::Value << pi.edition().version()
+                     << YAML::Key << "release" << YAML::Value << pi.edition().release();
+              }
+              yOut << YAML::EndMap;
+            }
+          };
+        };
+
+        const auto &writeMapJob = []( YAML::Emitter &yOut, const std::string &name, const std::map<std::string, std::string> &values = std::map<std::string, std::string>() ){
+          yOut << YAML::Value << YAML::BeginMap;
+          yOut << YAML::Key << "job"     << YAML::Value << name;
+          for ( const auto &v : values )
+            yOut << YAML::Key << v.first << YAML::Value << v.second;
+          yOut << YAML::EndMap;
+        };
+
+        writePoolItemJobs("install")( yOut, items_to_install );
+        writePoolItemJobs("keep")( yOut, items_keep );
+        writePoolItemJobs("uninstall")( yOut, items_to_remove, true );
+
+        if ( items_locked.size() )
+          writeJobsToFile("zypp-locks.yaml", items_locked, writePoolItemJobs("lock") );
+
+        for ( const auto &v : resolver.extraRequires() )
+          writeMapJob( yOut, "addRequire", { { "name", v.asString() } } );
+        for ( const auto &v : SystemCheck::instance().requiredSystemCap() )
+          writeMapJob( yOut, "addRequire", { { "name", v.asString() } } );
+
+        for ( const auto &v : resolver.extraConflicts() )
+          writeMapJob( yOut, "addConflict", { { "name", v.asString() } } );
+        for ( const auto &v : SystemCheck::instance().conflictSystemCap() )
+          writeMapJob( yOut, "addConflict", { { "name", v.asString() } } );
+
+        for ( const auto &v : resolver.upgradeRepos() )
+          writeMapJob( yOut, "upgradeRepo", { { "name", v.alias() } } );
+
+        if ( resolver.isUpgradeMode() )
+          writeMapJob( yOut, "distupgrade" );
 
+        if ( resolver.isUpdateMode() )
+          writeMapJob( yOut, "update" );
+
+        if ( resolver.isVerifyingMode() )
+          writeMapJob( yOut, "verify" );
+
+        yOut << YAML::EndSeq;
+        yOut << YAML::EndMap; // trial
+        yOut << YAML::EndSeq; // trials list
+        yOut << YAML::EndMap; // trials
+        yOut << YAML::EndMap; // root
+
+        std::ofstream fout( dumpPath+"/zypp-control.yaml" );
+        fout << yOut.c_str();
+
+       MIL << "createTestcase done at " << dumpPath << endl;
+        return true;
+      }
       ///////////////////////////////////////////////////////////////////
     };// namespace detail
     /////////////////////////////////////////////////////////////////////
index e0b99a0..72ba5a0 100644 (file)
@@ -17,6 +17,7 @@
 #else
 
 #include <string>
+#include <map>
 
 /////////////////////////////////////////////////////////////////////////
 namespace zypp
@@ -46,7 +47,7 @@ namespace zypp
          Testcase( const std::string & path );
          ~Testcase();
 
-         bool createTestcase( Resolver & resolver, bool dumpPool = true, bool runSolver = true );
+          bool createTestcase( Resolver & resolver, bool dumpPool = true, bool runSolver = true );
       };
 
       ///////////////////////////////////////////////////////////////////
diff --git a/zypp/solver/detail/Testcase_helix.cc b/zypp/solver/detail/Testcase_helix.cc
new file mode 100644 (file)
index 0000000..3316690
--- /dev/null
@@ -0,0 +1,620 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file       zypp/solver/detail/Testcase.cc
+ *
+*/
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <streambuf>
+
+#define ZYPP_USE_RESOLVER_INTERNALS
+
+#include <zypp/solver/detail/Testcase.h>
+#include <zypp/base/Logger.h>
+#include <zypp/base/LogControl.h>
+#include <zypp/base/GzStream.h>
+#include <zypp/base/String.h>
+#include <zypp/base/PtrTypes.h>
+#include <zypp/base/NonCopyable.h>
+#include <zypp/base/ReferenceCounted.h>
+
+#include <zypp/parser/xml/XmlEscape.h>
+
+#include <zypp/ZConfig.h>
+#include <zypp/PathInfo.h>
+#include <zypp/ResPool.h>
+#include <zypp/Repository.h>
+#include <zypp/target/modalias/Modalias.h>
+
+#include <zypp/sat/detail/PoolImpl.h>
+#include <zypp/solver/detail/Resolver.h>
+#include <zypp/solver/detail/SystemCheck.h>
+
+using std::endl;
+
+/////////////////////////////////////////////////////////////////////////
+namespace zypp
+{ ///////////////////////////////////////////////////////////////////////
+  ///////////////////////////////////////////////////////////////////////
+  namespace solver
+  { /////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////
+    namespace detail
+    { ///////////////////////////////////////////////////////////////////
+
+#define TAB "\t"
+#define TAB2 "\t\t"
+
+using namespace zypp::str;
+
+//---------------------------------------------------------------------------
+
+inline std::string xml_escape( const std::string &text )
+{
+  return zypp::xml::escape(text);
+}
+
+inline std::string xml_tag_enclose( const std::string &text, const std::string &tag, bool escape = false )
+{
+  std::string result;
+  result += "<" + tag + ">";
+
+  if ( escape)
+   result += xml_escape(text);
+  else
+   result += text;
+
+  result += "</" + tag + ">";
+  return result;
+}
+
+template<class T>
+std::string helixXML( const T &obj ); //undefined
+
+template<>
+std::string helixXML( const Edition &edition )
+{
+    std::stringstream str;
+    str << xml_tag_enclose(edition.version(), "version");
+    if (!edition.release().empty())
+       str << xml_tag_enclose(edition.release(), "release");
+    if (edition.epoch() != Edition::noepoch)
+       str << xml_tag_enclose(numstring(edition.epoch()), "epoch");
+    return str.str();
+}
+
+template<>
+std::string helixXML( const Arch &arch )
+{
+    std::stringstream str;
+    str << xml_tag_enclose(arch.asString(), "arch");
+    return str.str();
+}
+
+template<>
+std::string helixXML( const Capability &cap )
+{
+    std::stringstream str;
+    CapDetail detail = cap.detail();
+    if (detail.isSimple()) {
+       if (detail.isVersioned()) {
+           str << "<dep name='" << xml_escape(detail.name().asString()) << "'"
+               << " op='" << xml_escape(detail.op().asString()) << "'"
+               << " version='" <<  xml_escape(detail.ed().version()) << "'";
+           if (!detail.ed().release().empty())
+               str << " release='" << xml_escape(detail.ed().release()) << "'";
+           if (detail.ed().epoch() != Edition::noepoch)
+               str << " epoch='" << xml_escape(numstring(detail.ed().epoch())) << "'";
+           str << " />" << endl;
+       } else {
+           str << "<dep name='" << xml_escape(cap.asString()) << "' />" << endl;
+       }
+    } else if (detail.isExpression()) {
+       if (detail.capRel() == CapDetail::CAP_AND
+           && detail.lhs().detail().isNamed()
+           && detail.rhs().detail().isNamed()) {
+           // packageand dependency
+           str << "<dep name='packageand("
+               << IdString(detail.lhs().id()) << ":"
+               << IdString(detail.rhs().id()) << ")' />" << endl;
+       } else if (detail.capRel() == CapDetail::CAP_NAMESPACE
+           && detail.lhs().id() == NAMESPACE_OTHERPROVIDERS) {
+           str << "<dep name='otherproviders("
+               << IdString(detail.rhs().id()) << ")' />" << endl;
+       } else {
+           // modalias ?
+           IdString packageName;
+           if (detail.capRel() == CapDetail::CAP_AND) {
+               packageName = IdString(detail.lhs().id());
+               detail = detail.rhs().detail();
+           }
+           if (detail.capRel() == CapDetail::CAP_NAMESPACE
+               && detail.lhs().id() == NAMESPACE_MODALIAS) {
+               str << "<dep name='modalias(";
+               if (!packageName.empty())
+                   str << packageName << ":";
+               str << IdString(detail.rhs().id()) << ")' />" << endl;
+           } else {
+               str << "<!--- ignoring '" << xml_escape(cap.asString()) << "' -->" << endl;
+           }
+       }
+    } else {
+       str << "<!--- ignoring '" << xml_escape(cap.asString()) << "' -->" << endl;
+    }
+
+    return str.str();
+}
+
+template<>
+std::string helixXML( const Capabilities &caps )
+{
+    std::stringstream str;
+    Capabilities::const_iterator it = caps.begin();
+    str << endl;
+    for ( ; it != caps.end(); ++it)
+    {
+       str << TAB2 << helixXML((*it));
+    }
+    str << TAB;
+    return str.str();
+}
+
+template<>
+std::string helixXML( const CapabilitySet &caps )
+{
+    std::stringstream str;
+    CapabilitySet::const_iterator it = caps.begin();
+    str << endl;
+    for ( ; it != caps.end(); ++it)
+    {
+       str << TAB2 << helixXML((*it));
+    }
+    str << TAB;
+    return str.str();
+}
+
+inline std::string helixXML( const PoolItem & obj, Dep deptag_r )
+{
+  std::stringstream out;
+  Capabilities caps( obj[deptag_r] );
+  if ( ! caps.empty() )
+    out << TAB << xml_tag_enclose(helixXML(caps), deptag_r.asString()) << endl;
+  return out.str();
+}
+
+std::string helixXML( const PoolItem & item )
+{
+  std::stringstream str;
+  str << "<" << item.kind() << ">" << endl;
+  str << TAB << xml_tag_enclose( item.name(), "name", true ) << endl;
+  str << TAB << xml_tag_enclose( item.vendor().asString(), "vendor", true ) << endl;
+  str << TAB << xml_tag_enclose( item.buildtime().asSeconds(), "buildtime", true ) << endl;
+  if ( isKind<Package>( item ) ) {
+      str << TAB << "<history>" << endl << TAB << "<update>" << endl;
+      str << TAB2 << helixXML( item.arch() ) << endl;
+      str << TAB2 << helixXML( item.edition() ) << endl;
+      str << TAB << "</update>" << endl << TAB << "</history>" << endl;
+  } else {
+      str << TAB << helixXML( item.arch() ) << endl;
+      str << TAB << helixXML( item.edition() ) << endl;
+  }
+  str << helixXML( item, Dep::PROVIDES );
+  str << helixXML( item, Dep::PREREQUIRES );
+  str << helixXML( item, Dep::CONFLICTS );
+  str << helixXML( item, Dep::OBSOLETES );
+  str << helixXML( item, Dep::REQUIRES );
+  str << helixXML( item, Dep::RECOMMENDS );
+  str << helixXML( item, Dep::ENHANCES );
+  str << helixXML( item, Dep::SUPPLEMENTS );
+  str << helixXML( item, Dep::SUGGESTS );
+
+  str << "</" << item.kind() << ">" << endl;
+  return str.str();
+}
+
+///////////////////////////////////////////////////////////////////
+//
+//     CLASS NAME : HelixResolvable
+/**
+ * Creates a file in helix format which includes all available
+ * or installed packages,patches,selections.....
+ **/
+class  HelixResolvable : public base::ReferenceCounted, private base::NonCopyable{
+
+  private:
+    std::string dumpFile; // Path of the generated testcase
+    ofgzstream *file;
+
+  public:
+    HelixResolvable (const std::string & path);
+    ~HelixResolvable ();
+
+    void addResolvable (const PoolItem item)
+    { *file << helixXML (item); }
+
+    std::string filename ()
+    { return dumpFile; }
+};
+
+DEFINE_PTR_TYPE(HelixResolvable);
+IMPL_PTR_TYPE(HelixResolvable);
+
+typedef std::map<Repository, HelixResolvable_Ptr> RepositoryTable;
+
+HelixResolvable::HelixResolvable(const std::string & path)
+    :dumpFile (path)
+{
+    file = new ofgzstream(path.c_str());
+    if (!file) {
+       ZYPP_THROW (Exception( "Can't open " + path ) );
+    }
+
+    *file << "<channel><subchannel>" << endl;
+}
+
+HelixResolvable::~HelixResolvable()
+{
+    *file << "</subchannel></channel>" << endl;
+    delete(file);
+}
+
+///////////////////////////////////////////////////////////////////
+//
+//     CLASS NAME : HelixControl
+/**
+ * Creates a file in helix format which contains all controll
+ * action of a testcase ( file is known as *-test.xml)
+ **/
+class  HelixControl {
+
+  private:
+    std::string dumpFile; // Path of the generated testcase
+    std::ofstream *file;
+    bool _inSetup;
+
+  public:
+    HelixControl (const std::string & controlPath,
+                 const RepositoryTable & sourceTable,
+                 const Arch & systemArchitecture,
+                 const target::Modalias::ModaliasList & modaliasList,
+                 const std::set<std::string> & multiversionSpec,
+                 const std::string & systemPath);
+    ~HelixControl ();
+
+    void closeSetup()
+    {
+      if ( _inSetup )
+      {
+       *file << "</setup>" << endl << "<trial>" << endl;
+       _inSetup = false;
+      }
+    }
+
+    std::ostream & writeTag()
+    { return *file << (_inSetup ? TAB : ""); }
+
+    void addTagIf( const std::string & tag_r, bool yesno_r = true )
+    {
+      if ( yesno_r )
+       writeTag() << "<" << tag_r << "/>" << endl;
+    }
+
+    void installResolvable( const PoolItem & pi_r );
+    void lockResolvable( const PoolItem & pi_r );
+    void keepResolvable( const PoolItem & pi_r );
+    void deleteResolvable( const PoolItem & pi_r );
+    void addDependencies (const CapabilitySet &capRequire, const CapabilitySet &capConflict);
+    void addUpgradeRepos( const std::set<Repository> & upgradeRepos_r );
+
+    std::string filename () { return dumpFile; }
+};
+
+HelixControl::HelixControl(const std::string & controlPath,
+                          const RepositoryTable & repoTable,
+                          const Arch & systemArchitecture,
+                          const target::Modalias::ModaliasList & modaliasList,
+                          const std::set<std::string> & multiversionSpec,
+                          const std::string & systemPath)
+    :dumpFile (controlPath)
+    ,_inSetup( true )
+{
+    file = new std::ofstream(controlPath.c_str());
+    if (!file) {
+       ZYPP_THROW (Exception( "Can't open " + controlPath ) );
+    }
+
+    *file << "<?xml version=\"1.0\"?>" << endl
+         << "<!-- libzypp resolver testcase -->" << endl
+         << "<test>" << endl
+         << "<setup arch=\"" << systemArchitecture << "\">" << endl
+         << TAB << "<system file=\"" << systemPath << "\"/>" << endl << endl;
+    for ( RepositoryTable::const_iterator it = repoTable.begin();
+         it != repoTable.end(); ++it ) {
+       RepoInfo repo = it->first.info();
+       *file << TAB << "<!-- " << endl
+             << TAB << "- alias       : " << repo.alias() << endl;
+       for ( RepoInfo::urls_const_iterator itUrl = repo.baseUrlsBegin();
+             itUrl != repo.baseUrlsEnd();
+             ++itUrl )
+       {
+           *file << TAB << "- url         : " << *itUrl << endl;
+       }
+       *file << TAB << "- path        : " << repo.path() << endl;
+       *file << TAB << "- type        : " << repo.type() << endl;
+       *file << TAB << "- generated   : " << (it->first.generatedTimestamp()).form( "%Y-%m-%d %H:%M:%S" ) << endl;
+       *file << TAB << "- outdated    : " << (it->first.suggestedExpirationTimestamp()).form( "%Y-%m-%d %H:%M:%S" ) << endl;
+       *file << TAB << " -->" << endl;
+
+       *file << TAB << "<channel file=\"" << str::numstring((long)it->first.id())
+             << "-package.xml.gz\" name=\"" << repo.alias() << "\""
+             << " priority=\"" << repo.priority()
+             << "\" />" << endl << endl;
+    }
+
+    // HACK: directly access sat::pool
+    const sat::Pool & satpool( sat::Pool::instance() );
+
+    // RequestedLocales
+    const LocaleSet & addedLocales( satpool.getAddedRequestedLocales() );
+    const LocaleSet & removedLocales( satpool.getRemovedRequestedLocales() );
+    const LocaleSet & requestedLocales( satpool.getRequestedLocales() );
+
+    for ( Locale l : requestedLocales )
+    {
+      const char * fate = ( addedLocales.count(l) ? "\" fate=\"added" : "" );
+      *file << TAB << "<locale name=\"" << l << fate << "\" />" << endl;
+    }
+    for ( Locale l : removedLocales )
+    {
+      *file << TAB << "<locale name=\"" << l << "\" fate=\"removed\" />" << endl;
+    }
+
+    // AutoInstalled
+    for ( IdString::IdType n : satpool.autoInstalled() )
+    {
+      *file << TAB << "<autoinst name=\"" << IdString(n) << "\" />" << endl;
+    }
+
+
+
+    for_( it, modaliasList.begin(), modaliasList.end() ) {
+       *file << TAB << "<modalias name=\"" <<  xml_escape(*it)
+             << "\" />" << endl;
+    }
+
+    for_( it, multiversionSpec.begin(), multiversionSpec.end() ) {
+       *file << TAB << "<multiversion name=\"" <<  *it
+             << "\" />" << endl;
+    }
+
+    // setup continued outside....
+}
+
+HelixControl::~HelixControl()
+{
+    closeSetup();      // in case it is still open
+    *file << "</trial>" << endl
+         << "</test>" << endl;
+    delete(file);
+}
+
+void HelixControl::installResolvable( const PoolItem & pi_r )
+{
+    *file << "<install channel=\"" << pi_r.repoInfo().alias() << "\""
+          << " kind=\"" << pi_r.kind() << "\""
+         << " name=\"" << pi_r.name() << "\""
+         << " arch=\"" << pi_r.arch() << "\""
+         << " version=\"" << pi_r.edition().version() << "\""
+         << " release=\"" << pi_r.edition().release() << "\""
+         << " status=\"" << pi_r.status() << "\""
+         << "/>" << endl;
+}
+
+void HelixControl::lockResolvable( const PoolItem & pi_r )
+{
+    *file << "<lock channel=\"" << pi_r.repoInfo().alias() << "\""
+          << " kind=\"" << pi_r.kind() << "\""
+         << " name=\"" << pi_r.name() << "\""
+         << " arch=\"" << pi_r.arch() << "\""
+         << " version=\"" << pi_r.edition().version() << "\""
+         << " release=\"" << pi_r.edition().release() << "\""
+         << " status=\"" << pi_r.status() << "\""
+         << "/>" << endl;
+}
+
+void HelixControl::keepResolvable( const PoolItem & pi_r )
+{
+    *file << "<keep channel=\"" << pi_r.repoInfo().alias() << "\""
+          << " kind=\"" << pi_r.kind() << "\""
+         << " name=\"" << pi_r.name() << "\""
+         << " arch=\"" << pi_r.arch() << "\""
+         << " version=\"" << pi_r.edition().version() << "\""
+         << " release=\"" << pi_r.edition().release() << "\""
+         << " status=\"" << pi_r.status() << "\""
+         << "/>" << endl;
+}
+
+void HelixControl::deleteResolvable( const PoolItem & pi_r )
+{
+    *file << "<uninstall  kind=\"" << pi_r.kind() << "\""
+         << " name=\"" << pi_r.name() << "\""
+         << " status=\"" << pi_r.status() << "\""
+         << "/>" << endl;
+}
+
+void HelixControl::addDependencies (const CapabilitySet & capRequire, const CapabilitySet & capConflict)
+{
+    for (CapabilitySet::const_iterator iter = capRequire.begin(); iter != capRequire.end(); iter++) {
+       *file << "<addRequire " <<  " name=\"" << iter->asString() << "\"" << "/>" << endl;
+    }
+    for (CapabilitySet::const_iterator iter = capConflict.begin(); iter != capConflict.end(); iter++) {
+       *file << "<addConflict " << " name=\"" << iter->asString() << "\"" << "/>" << endl;
+    }
+}
+
+void HelixControl::addUpgradeRepos( const std::set<Repository> & upgradeRepos_r )
+{
+  for_( it, upgradeRepos_r.begin(), upgradeRepos_r.end() )
+  {
+    *file << "<upgradeRepo name=\"" << it->alias() << "\"/>" << endl;
+  }
+}
+
+//---------------------------------------------------------------------------
+
+Testcase::Testcase()
+    :dumpPath("/var/log/YaST2/solverTestcase")
+{}
+
+Testcase::Testcase(const std::string & path)
+    :dumpPath(path)
+{}
+
+Testcase::~Testcase()
+{}
+
+bool Testcase::createTestcase(Resolver & resolver, bool dumpPool, bool runSolver)
+{
+    PathInfo path (dumpPath);
+
+    if ( !path.isExist() ) {
+       if (zypp::filesystem::assert_dir (dumpPath)!=0) {
+           ERR << "Cannot create directory " << dumpPath << endl;
+           return false;
+       }
+    } else {
+       if (!path.isDir()) {
+           ERR << dumpPath << " is not a directory." << endl;
+           return false;
+       }
+       // remove old stuff if pool will be dump
+       if (dumpPool)
+           zypp::filesystem::clean_dir (dumpPath);
+    }
+
+    if (runSolver) {
+        zypp::base::LogControl::TmpLineWriter tempRedirect;
+       zypp::base::LogControl::instance().logfile( dumpPath +"/y2log" );
+       zypp::base::LogControl::TmpExcessive excessive;
+
+       resolver.resolvePool();
+    }
+
+    ResPool pool       = resolver.pool();
+    RepositoryTable    repoTable;
+    PoolItemList       items_to_install;
+    PoolItemList       items_to_remove;
+    PoolItemList       items_locked;
+    PoolItemList       items_keep;
+    HelixResolvable_Ptr        system = NULL;
+
+    if (dumpPool)
+       system = new HelixResolvable(dumpPath + "/solver-system.xml.gz");
+
+    for ( const PoolItem & pi : pool )
+    {
+       if ( system && pi.status().isInstalled() ) {
+           // system channel
+           system->addResolvable( pi );
+       } else {
+           // repo channels
+           Repository repo  = pi.repository();
+           if (dumpPool) {
+               if (repoTable.find (repo) == repoTable.end()) {
+                   repoTable[repo] = new HelixResolvable(dumpPath + "/"
+                                                         + str::numstring((long)repo.id())
+                                                         + "-package.xml.gz");
+               }
+               repoTable[repo]->addResolvable( pi );
+           }
+       }
+
+       if ( pi.status().isToBeInstalled()
+            && !(pi.status().isBySolver())) {
+           items_to_install.push_back( pi );
+       }
+       if ( pi.status().isKept()
+            && !(pi.status().isBySolver())) {
+           items_keep.push_back( pi );
+       }
+       if ( pi.status().isToBeUninstalled()
+            && !(pi.status().isBySolver())) {
+           items_to_remove.push_back( pi );
+       }
+       if ( pi.status().isLocked()
+            && !(pi.status().isBySolver())) {
+           items_locked.push_back( pi );
+       }
+    }
+
+    // writing control file "*-test.xml"
+    HelixControl control (dumpPath + "/solver-test.xml",
+                         repoTable,
+                         ZConfig::instance().systemArchitecture(),
+                         target::Modalias::instance().modaliasList(),
+                         ZConfig::instance().multiversionSpec(),
+                         "solver-system.xml.gz");
+
+    // In <setup>: resolver flags,...
+    control.writeTag() << "<focus value=\"" << resolver.focus() << "\"/>" << endl;
+
+    control.addTagIf( "ignorealreadyrecommended",      resolver.ignoreAlreadyRecommended() );
+    control.addTagIf( "onlyRequires",          resolver.onlyRequires() );
+    control.addTagIf( "forceResolve",          resolver.forceResolve() );
+
+    control.addTagIf( "cleandepsOnRemove",     resolver.cleandepsOnRemove() );
+
+    control.addTagIf( "allowDowngrade",                resolver.allowDowngrade() );
+    control.addTagIf( "allowNameChange",       resolver.allowNameChange() );
+    control.addTagIf( "allowArchChange",       resolver.allowArchChange() );
+    control.addTagIf( "allowVendorChange",     resolver.allowVendorChange() );
+
+    control.addTagIf( "dupAllowDowngrade",     resolver.dupAllowDowngrade() );
+    control.addTagIf( "dupAllowNameChange",    resolver.dupAllowNameChange() );
+    control.addTagIf( "dupAllowArchChange",    resolver.dupAllowArchChange() );
+    control.addTagIf( "dupAllowVendorChange",  resolver.dupAllowVendorChange() );
+
+    control.closeSetup();
+    // Entering <trial>...
+
+    for ( const PoolItem & pi : items_to_install )
+    { control.installResolvable( pi ); }
+
+    for ( const PoolItem & pi : items_locked )
+    { control.lockResolvable( pi ); }
+
+    for ( const PoolItem & pi : items_keep )
+    { control.keepResolvable( pi ); }
+
+    for ( const PoolItem & pi : items_to_remove )
+    { control.deleteResolvable( pi ); }
+
+    control.addDependencies (resolver.extraRequires(), resolver.extraConflicts());
+    control.addDependencies (SystemCheck::instance().requiredSystemCap(),
+                            SystemCheck::instance().conflictSystemCap());
+    control.addUpgradeRepos( resolver.upgradeRepos() );
+
+    control.addTagIf( "distupgrade",   resolver.isUpgradeMode() );
+    control.addTagIf( "update",                resolver.isUpdateMode() );
+    control.addTagIf( "verify",                resolver.isVerifyingMode() );
+
+    return true;
+}
+
+
+      ///////////////////////////////////////////////////////////////////
+    };// namespace detail
+    /////////////////////////////////////////////////////////////////////
+    /////////////////////////////////////////////////////////////////////
+  };// namespace solver
+  ///////////////////////////////////////////////////////////////////////
+  ///////////////////////////////////////////////////////////////////////
+};// namespace zypp
+/////////////////////////////////////////////////////////////////////////
index 97b69ca..d9f61b7 100644 (file)
@@ -747,6 +747,7 @@ namespace zypp
     , _requestedLocalesFile( home() / "RequestedLocales" )
     , _autoInstalledFile( home() / "AutoInstalled" )
     , _hardLocksFile( Pathname::assertprefix( _root, ZConfig::instance().locksFile() ) )
+    , _vendorAttr( Pathname::assertprefix( _root, ZConfig::instance().vendorPath() ) )
     {
       _rpm.initDatabase( root_r, doRebuild_r );
 
@@ -1137,6 +1138,7 @@ namespace zypp
       // Load the needreboot package specs
       {
        sat::SolvableSpec needrebootSpec;
+       needrebootSpec.addProvides( Capability("installhint(reboot-needed)") );
 
        Pathname needrebootFile { Pathname::assertprefix( root(), ZConfig::instance().needrebootFile() ) };
        if ( PathInfo( needrebootFile ).isFile() )
@@ -1527,7 +1529,6 @@ namespace zypp
               continue;
             }
 
-#warning Exception handling
             // create a installation progress report proxy
             RpmInstallPackageReceiver progress( citem.resolvable() );
             progress.connect(); // disconnected on destruction.
@@ -1569,7 +1570,7 @@ namespace zypp
               else
               {
                 if ( citem.isNeedreboot() ) {
-                  auto rebootNeededFile = root() / "/var/run/reboot-needed";
+                  auto rebootNeededFile = root() / "/run/reboot-needed";
                   if ( filesystem::assert_file( rebootNeededFile ) == EEXIST)
                     filesystem::touch( rebootNeededFile );
                 }
@@ -1958,6 +1959,13 @@ namespace zypp
 
     ///////////////////////////////////////////////////////////////////
 
+    void TargetImpl::vendorAttr( VendorAttr vendorAttr_r )
+    {
+      MIL << "New VendorAttr: " << vendorAttr_r << endl;
+      _vendorAttr = std::move(vendorAttr_r);
+    }
+    ///////////////////////////////////////////////////////////////////
+
     void TargetImpl::installSrcPackage( const SrcPackage_constPtr & srcPackage_r )
     {
       // provide on local disk
index 339ecf0..7cb085e 100644 (file)
@@ -30,6 +30,7 @@
 #include <zypp/target/SolvIdentFile.h>
 #include <zypp/target/HardLocksFile.h>
 #include <zypp/ManagedFile.h>
+#include <zypp/VendorAttr.h>
 
 ///////////////////////////////////////////////////////////////////
 namespace zypp
@@ -197,6 +198,14 @@ namespace zypp
       /** \overload */
       static std::string anonymousUniqueId( const Pathname & root_r );
 
+      /** \copydoc Target::vendorAttr() */
+      const VendorAttr & vendorAttr() const
+      { return _vendorAttr; }
+      /** \overload */
+      void vendorAttr( VendorAttr vendorAttr_r );
+    //@}
+
+  public:
     private:
       /** Commit ordered changes (internal helper) */
       void commit( const ZYppCommitPolicy & policy_r,
@@ -218,6 +227,8 @@ namespace zypp
       HardLocksFile _hardLocksFile;
       /** Cache distributionVersion */
       mutable std::string _distributionVersion;
+      /** vendor equivalence settings. */
+      VendorAttr _vendorAttr;
     };
     ///////////////////////////////////////////////////////////////////
 
index 1a231fd..c7bb912 100644 (file)
@@ -51,6 +51,7 @@ extern "C"
 #include <zypp/KeyRing.h>
 #include <zypp/ZYppFactory.h>
 #include <zypp/ZConfig.h>
+#include <zypp/base/IOTools.h>
 
 using std::endl;
 using namespace zypp::filesystem;
@@ -270,44 +271,39 @@ void RpmDb::initDatabase( Pathname root_r, bool doRebuild_r )
   if ( root_r.empty() )
     root_r = "/";
 
-  // NOTE: Former argument, but now locked to "/var/lib/rpm".
-  // A custom dbPath is not actually needed and would only work
-  // reliably if libsolv also supports it. By now no further
-  // cleanup in the code.
-  const Pathname & dbPath_r { librpmDb::defaultDbPath() };
+  const Pathname & dbPath_r { librpmDb::suggestedDbPath( root_r ) };   // also asserts root_r is absolute
 
-  if ( ! root_r.absolute() )
+  // The rpmdb compat symlink.
+  // Required at least until rpmdb2solv takes a dppath argument.
+  // Otherwise it creates a db at "/var/lib/rpm".
+  if ( dbPath_r != "/var/lib/rpm" && ! PathInfo( root_r/"/var/lib/rpm" ).isExist() )
   {
-    ERR << "Illegal root or dbPath: " << stringPath( root_r, dbPath_r ) << endl;
-    ZYPP_THROW(RpmInvalidRootException(root_r, dbPath_r));
+    WAR << "Inject missing /var/lib/rpm compat symlink to " << dbPath_r << endl;
+    filesystem::assert_dir( root_r/"/var/lib" );
+    filesystem::symlink( "../../"/dbPath_r, root_r/"/var/lib/rpm" );
   }
 
-  if ( ! PathInfo( root_r/"/var/lib/rpm" ).isExist()
-    && PathInfo( root_r/"/usr/lib/sysimage/rpm" ).isDir() )
-  {
-    WAR << "Rpm package was deleted? Injecting missing rpmdb compat symlink." << endl;
-    filesystem::symlink( "../../usr/lib/sysimage/rpm", root_r/"/var/lib/rpm" );
-  }
-
-  MIL << "Calling initDatabase: " << stringPath( root_r, dbPath_r )
-      << ( doRebuild_r ? " (rebuilddb)" : "" )
-      << ( quickinit ? " (quickinit)" : "" ) << endl;
-
   ///////////////////////////////////////////////////////////////////
   // Check whether already initialized
   ///////////////////////////////////////////////////////////////////
   if ( initialized() )
   {
-    if ( root_r == _root && dbPath_r == _dbPath )
-    {
+    // Just check for a changing root because the librpmDb::suggestedDbPath
+    // may indeed change: rpm %post moving the db from /var/lib/rpm
+    // to /usr/lib/sysimage/rpm. We continue to use the old dbpath
+    // (via the compat symlink) until a re-init.
+    if ( root_r == _root ) {
+      MIL << "Calling initDatabase: already initialized at " << stringPath( _root, _dbPath ) << endl;
       return;
     }
     else
-    {
       ZYPP_THROW(RpmDbAlreadyOpenException(_root, _dbPath, root_r, dbPath_r));
-    }
   }
 
+  MIL << "Calling initDatabase: " << stringPath( root_r, dbPath_r )
+      << ( doRebuild_r ? " (rebuilddb)" : "" )
+      << ( quickinit ? " (quickinit)" : "" ) << endl;
+
   ///////////////////////////////////////////////////////////////////
   // init database
   ///////////////////////////////////////////////////////////////////
@@ -1221,6 +1217,8 @@ namespace
       { lineres = RpmDb::CHK_NOTFOUND; }
       else if ( line.find( ": NOTRUSTED" ) != std::string::npos )
       { lineres = RpmDb::CHK_NOTTRUSTED; }
+      else if ( line.find( ": NOTFOUND" ) != std::string::npos )
+      { continue; } // just collect details for signatures found (#229)
 
       ++count[lineres];
       detail_r.push_back( RpmDb::CheckPackageDetail::value_type( lineres, std::move(line) ) );
@@ -1400,65 +1398,39 @@ bool RpmDb::systemReadLine( std::string & line )
   {
     process->setBlocking( false );
     FILE * inputfile = process->inputFile();
-    int    inputfileFd = ::fileno( inputfile );
-    do
-    {
-      /* Watch inputFile to see when it has input. */
-      fd_set rfds;
-      FD_ZERO( &rfds );
-      FD_SET( inputfileFd, &rfds );
-
-      /* Wait up to 5 seconds. */
-      struct timeval tv;
-      tv.tv_sec = 5;
-      tv.tv_usec = 0;
+    do {
+      // Check every 5 seconds if the process is still running to prevent against
+      // daemons launched in rpm %post that do not close their filedescriptors,
+      // causing us to block for infinity. (bnc#174548)
+      const auto &readResult = io::receiveUpto( inputfile, '\n', 5 * 1000, false );
+      switch ( readResult.first ) {
+        case io::ReceiveUpToResult::Timeout: {
+          if ( !process->running() )
+            return false;
+
+          // we might have received a partial line, lets not forget about it
+          line += readResult.second;
+        }
+        case io::ReceiveUpToResult::Error:
+        case io::ReceiveUpToResult::EndOfFile: {
+          line += readResult.second;
+          if ( line.size() && line.back() == '\n')
+            line.pop_back();
+          return line.size(); // in case of pending output
+        }
+        case io::ReceiveUpToResult::Success: {
+          line += readResult.second;
 
-      int retval = select( inputfileFd+1, &rfds, NULL, NULL, &tv );
+          if ( line.size() && line.back() == '\n')
+            line.pop_back();
 
-      if ( retval == -1 )
-      {
-       ERR << "select error: " << strerror(errno) << endl;
-       if ( errno != EINTR )
-         return false;
-      }
-      else if ( retval )
-      {
-       // Data is available now.
-       static size_t linebuffer_size = 0;      // static because getline allocs
-       static char * linebuffer = 0;           // and reallocs if buffer is too small
-       ssize_t nread = getline( &linebuffer, &linebuffer_size, inputfile );
-       if ( nread == -1 )
-       {
-         if ( ::feof( inputfile ) )
-           return line.size(); // in case of pending output
-       }
-       else
-       {
-         if ( nread > 0 )
-         {
-           if ( linebuffer[nread-1] == '\n' )
-             --nread;
-           line += std::string( linebuffer, nread );
-         }
-
-         if ( ! ::ferror( inputfile ) || ::feof( inputfile ) )
-         {
-           if ( env::ZYPP_RPM_DEBUG() )
-             L_DBG("RPM_DEBUG") << line << endl;
-           return true; // complete line
-         }
-       }
-       clearerr( inputfile );
-      }
-      else
-      {
-       // No data within time.
-       if ( ! process->running() )
-         return false;
+          if ( env::ZYPP_RPM_DEBUG() )
+            L_DBG("RPM_DEBUG") << line << endl;
+          return true; // complete line
+        }
       }
-    } while ( true );
+    } while( true );
   }
-
   return false;
 }
 
index e5d1760..38cdff5 100644 (file)
@@ -59,12 +59,6 @@ public:
   //
   ///////////////////////////////////////////////////////////////////
 private:
-#if LEGACY(1712)
-  enum DbStateInfoBits {
-    DbSI_NO_INIT       = 0x0000
-  };
-  DbStateInfoBits _dbStateInfo;
-#endif
 
   /**
    * Root directory for all operations.
@@ -114,7 +108,7 @@ public:
   }
 
   /**
-   * Prepare access to the rpm database at \c/var/lib/rpm.
+   * Prepare access to the rpm database below \a root_r.
    *
    * An optional argument denotes the root directory for all operations. If
    * an empty Pathname is given the default (\c/) is used.
@@ -330,10 +324,6 @@ private:
   /** create package backups? */
   bool _packagebackups;
 
-#if LEGACY(1712)
-  /** whether <_root>/<WARNINGMAILPATH> was already created */
-  bool _warndirexists;
-#endif
   /**
    * handle rpm messages like "/etc/testrc saved as /etc/testrc.rpmorig"
    *
index b120aad..e5b5c73 100644 (file)
@@ -392,7 +392,7 @@ Date RpmHeader::tag_buildtime() const
 {
   return int_val( RPMTAG_BUILDTIME );
 }
-#warning CHECK IF FILE REQUIRES HANDLING IS OBSOLETE
+
 ///////////////////////////////////////////////////////////////////
 //
 //
index 35f0229..05adeb8 100644 (file)
@@ -96,15 +96,11 @@ public:
 //
 ///////////////////////////////////////////////////////////////////
 
-Pathname         librpmDb::_defaultRoot  ( "/" );
-// NOTE: Former variable, but now locked to "/var/lib/rpm".
-// A custom dbPath is not actually needed and would only work
-// reliably if libsolv also supports it.
-// The protected librpmDb ctor would allow to build a db_const_iterator
-// to access (ro) a database at a custom location.
-const Pathname   librpmDb::_defaultDbPath( "/var/lib/rpm" );
+Pathname librpmDb::_defaultRoot { "/" };
+Pathname librpmDb::_defaultDbPath;     // set in dbAccess depending on suggestedDbPath below /root
+Pathname librpmDb::_rpmDefaultDbPath;  // set by globalInit
 librpmDb::constPtr librpmDb::_defaultDb;
-bool             librpmDb::_dbBlocked    ( true );
+bool librpmDb::_dbBlocked = true;
 
 ///////////////////////////////////////////////////////////////////
 //
@@ -127,13 +123,13 @@ bool librpmDb::globalInit()
   }
 
   initialized = true; // Necessary to be able to use exand().
+  _rpmDefaultDbPath = expand( "%{_dbpath}" );
 
-#define OUTVAL(n) << " (" #n ":" << expand( "%{" #n "}" ) << ")"
-  MIL << "librpm init done:"
-  OUTVAL(_target)
-  OUTVAL(_dbpath)
-  << endl;
-#undef OUTVAL
+  if ( _rpmDefaultDbPath.empty() ) {
+    _rpmDefaultDbPath = "/usr/lib/sysimage/";
+    WAR << "Looks like rpm has no %{_dbpath} set!?! Assuming " << _rpmDefaultDbPath << endl;
+  }
+  MIL << "librpm init done: (_target:" << expand( "%{_target}" ) << ") (_dbpath:" << _rpmDefaultDbPath << ")" << endl;
   return initialized;
 }
 
@@ -171,6 +167,9 @@ librpmDb * librpmDb::newLibrpmDb()
     ZYPP_THROW(GlobalRpmInitException());
   }
 
+  if ( _defaultDbPath.empty() )        // db_const_iterator access to /(default) without RpmDB/Tareget init.
+    _defaultDbPath = suggestedDbPath( _defaultRoot );
+
   // open rpmdb
   librpmDb * ret = 0;
   try
@@ -187,6 +186,30 @@ librpmDb * librpmDb::newLibrpmDb()
   return ret;
 }
 
+
+Pathname librpmDb::suggestedDbPath( const Pathname & root_r )
+{
+  if ( ! root_r.absolute() )
+    ZYPP_THROW(RpmInvalidRootException( root_r, "" ));
+
+  // initialize librpm (for _rpmDefaultDbPath)
+  if ( ! globalInit() )
+    ZYPP_THROW(GlobalRpmInitException());
+
+  if ( PathInfo( root_r ).isDir() ) {
+    // If a known dbpath exsists, we continue to use it
+    for ( auto p : { "/var/lib/rpm", "/usr/lib/sysimage/rpm" } ) {
+      if ( PathInfo( root_r/p, PathInfo::LSTAT/*!no symlink*/ ).isDir() ) {
+       MIL << "Suggest existing database at " << stringPath( root_r, p ) << endl;
+       return p;
+      }
+    }
+  }
+
+  MIL << "Suggest rpm _dbpath " << stringPath( root_r, _rpmDefaultDbPath ) << endl;
+  return _rpmDefaultDbPath;
+}
+
 ///////////////////////////////////////////////////////////////////
 //
 //
@@ -205,20 +228,10 @@ void librpmDb::dbAccess( const Pathname & root_r )
   }
 
   // got no database: we could switch to a new one (even if blocked!)
-
-  if ( root_r.empty() || ! root_r.absolute() )
-    ZYPP_THROW(RpmInvalidRootException(root_r, _defaultDbPath));
-
-  PathInfo pi { root_r / _defaultDbPath };
-  if ( pi.isExist() && ! pi.isDir() ) {
-    RpmInvalidRootException excpt { root_r, _defaultDbPath };
-    excpt.addHistory( str::Str() << pi );
-    ZYPP_THROW(excpt);
-  }
-
+  _defaultDbPath = suggestedDbPath( root_r );  // also asserts root_r is absolute
   _defaultRoot = root_r;
-  MIL << "Set new database location: " << stringPath( _defaultRoot, _defaultDbPath ) << endl;
 
+  MIL << "Set new database location: " << stringPath( _defaultRoot, _defaultDbPath ) << endl;
   return dbAccess();
 }
 
@@ -584,7 +597,6 @@ public:
   {
     if ( ! create( RPMDBI_PACKAGES ) )
       return false;
-#warning TESTCASE: rpmdbAppendIterator and (non)sequential access?
 #ifdef RPMFILEITERMAX  // since rpm.4.12
     ::rpmdbAppendIterator( _mi, (const unsigned *)&off_r, 1 );
 #else
@@ -603,7 +615,6 @@ public:
     if ( !_mi )
       return 0;
     int ret = ::rpmdbGetIteratorCount( _mi );
-#warning TESTCASE: rpmdbGetIteratorCount returns 0 on sequential access?
     return( ret ? ret : -1 ); // -1: sequential access
   }
 };
index 193d436..b08ce97 100644 (file)
@@ -63,15 +63,19 @@ private:
 
   /**
    * Current root directory for all operations.
-   * (initialy /)
+   * (initially /)
    **/
   static Pathname _defaultRoot;
 
   /**
    * Current directory (below root) that contains the rpmdb.
-   * (initialy /var/lib/rpm)
    **/
-  static const Pathname _defaultDbPath;
+  static Pathname _defaultDbPath;
+
+  /**
+   * %_dbpath configured in rpm config.
+   **/
+  static Pathname _rpmDefaultDbPath;
 
   /**
    * Current rpmdb handle.
@@ -148,6 +152,16 @@ public:
   }
 
   /**
+   * \return The preferred location of the rpmdb below \a root_r.
+   * It's the location of an already exising db, otherwise the
+   * default location sugested by rpms config.
+   *
+   * \throws RpmInvalidRootException if root is not an absolute path or
+   * no directory for the rpmdb can determined.
+   **/
+  static Pathname suggestedDbPath( const Pathname & root_r );
+
+  /**
    * Adjust access to the given database location, making it the new
    * default location on success. No relative Pathnames are allowed.
    *
index b8a790b..8536725 100644 (file)
@@ -44,9 +44,6 @@ namespace zypp
        static inline PoolProxyIterator pkgBegin()              { return poolProxyBegin<Package>();     }
        static inline PoolProxyIterator pkgEnd()                { return poolProxyEnd<Package>();       }
 
-//     static inline PoolProxyIterator langBegin()             { return poolProxyBegin<Language>();    }
-//     static inline PoolProxyIterator langEnd()               { return poolProxyEnd<Language>();      }
-
        static inline PoolProxyIterator patchesBegin()          { return poolProxyBegin<Patch>();       }
        static inline PoolProxyIterator patchesEnd()            { return poolProxyEnd<Patch>();         }
 
@@ -60,7 +57,6 @@ namespace zypp
        static void addDirectlySelectedPackages ( set<string> & pkgNames );
         template<class PkgSet_T> void addPkgSetPackages( set<string> & pkgNames );
 
-       static void addPatternPackages          ( set<string> & pkgNames );
        static void addPatchPackages            ( set<string> & pkgNames );
 
 
@@ -72,7 +68,6 @@ namespace zypp
            DBG << "Collecting packages the user explicitly asked for" << endl;
 
            addDirectlySelectedPackages ( pkgNames );
-           addPatternPackages          ( pkgNames );
            addPatchPackages            ( pkgNames );
 
            return pkgNames;
@@ -99,42 +94,6 @@ namespace zypp
        }
 
 
-
-       static void addPatternPackages( set<string> & pkgNames )
-       {
-           addPkgSetPackages<Pattern>( pkgNames );
-       }
-
-
-       /**
-        * Template to handle Patterns
-        **/
-        template<class PkgSet_T> void addPkgSetPackages( set<string> & pkgNames )
-       {
-           for ( PoolProxyIterator it = poolProxyBegin<PkgSet_T>();
-                 it != poolProxyEnd<PkgSet_T>();
-                 ++it )
-           {
-               // Take all pkg sets (patterns) into account that
-               // will be transacted, no matter if the user explicitly asked
-               // for that pkg set or if the patterns is required by another
-               // pkg set of the same class
-
-          typename PkgSet_T::constPtr pkgSet = dynamic_pointer_cast<const PkgSet_T>( (*it)->theObj() ? (*it)->theObj().resolvable() : 0L );
-
-               if ( pkgSet && (*it)->toModify() )
-               {
-                   DBG << (*it)->theObj()->kind().asString()
-                       << " will be transacted: \"" << pkgSet->name() << "\"" << endl;
-
-#warning NEEDS FIX
-                   set<string> setPkgs;// = pkgSet->install_packages();
-                   pkgNames.insert( setPkgs.begin(), setPkgs.end() );
-               }
-           }
-       }
-
-
         static void addPatchPackages( set<string> & pkgNames )
         {
             for ( PoolProxyIterator patch_it = patchesBegin();
index 0cd024a..5f94793 100644 (file)
@@ -13,6 +13,7 @@
 #include <zypp/base/String.h>
 #include <zypp/base/Gettext.h>
 #include <zypp/base/Regex.h>
+#include <zypp/base/StringV.h>
 
 #include <stdexcept>
 #include <climits>
@@ -74,6 +75,8 @@ namespace zypp
     const ViewOption  ViewOption::EMPTY_QUERY_STR   = 0x1000;
     const ViewOption  ViewOption::EMPTY_FRAGMENT    = 0x2000;
     const ViewOption  ViewOption::DEFAULTS          = 0x07bb;
+
+    const ViewOption  ViewOption::hotfix1050625     = 0x8000;
     /*
     const ViewOption  ViewOption::DEFAULTS          =
                       ViewOption::WITH_SCHEME       +
@@ -106,6 +109,68 @@ namespace zypp
 
 
     // ---------------------------------------------------------------
+
+    /// \brief Hide passwords embedded in a querystr,
+    ///
+    /// Stores the full querystring and maintains a safe version with
+    /// password field stripped. Url::asString will print the passwords
+    /// on demand only.
+    ///
+    /// \see bsc#1050625: VUL-1: CVE-2017-9271: zypper: proxy credentials written to log files
+    class SafeQuerystr
+    {
+    public:
+      SafeQuerystr()
+      {}
+
+      SafeQuerystr( std::string rhs )
+      { _assign( std::move(rhs) ); }
+
+      SafeQuerystr & operator=( std::string rhs )
+      { _assign( std::move(rhs) ); return *this; }
+
+
+      operator const std::string &() const
+      { return str(); }
+
+      const std::string & str() const
+      { return fullStr(); }
+
+      const std::string & str( const ViewOptions & viewopts_r ) const
+      { return (viewopts_r.has( ViewOptions::WITH_PASSWORD ) || viewopts_r.has( ViewOptions::hotfix1050625 )) ? fullStr() : safeStr(); }
+
+      const std::string & fullStr() const
+      { return _fullQuerytsr; }
+
+      const std::string & safeStr() const
+      { return _safeQuerytsr ? _safeQuerytsr.value() : _fullQuerytsr; }
+
+    private:
+      void _assign( std::string && rhs )
+      {
+       _fullQuerytsr = std::move(rhs);
+
+       static constexpr std::string_view tag { "proxypass=" };
+       if ( _fullQuerytsr.find( tag ) != std::string::npos )
+       {
+         std::string safe;
+         strv::split( _fullQuerytsr, "&", [&safe]( std::string_view val ) {
+           if ( val.substr( 0, tag.size()  ) != tag ) {
+             if ( ! safe.empty() )
+               safe += "&";
+             safe += val;
+           }
+         });
+         _safeQuerytsr = std::move(safe);
+       }
+       else
+         _safeQuerytsr = std::nullopt;
+      }
+    private:
+      std::string                _fullQuerytsr;        ///<
+      std::optional<std::string> _safeQuerytsr;        ///<.
+    };
+
     /**
      * \brief Internal data used by UrlBase.
      */
@@ -129,7 +194,7 @@ namespace zypp
       std::string     port;
       std::string     pathname;
       std::string     pathparams;
-      std::string     querystr;
+      SafeQuerystr    querystr;
       std::string     fragment;
     };
 
@@ -440,6 +505,12 @@ namespace zypp
       return asString(getViewOptions());
     }
 
+    std::string UrlBase::asString1050625() const
+    {
+      // Temp. fix to keep the proxypass in the query when writing the .repo files,
+      // but otherwise hiding it, when WITH_PASSWORD is not set.
+      return asString(getViewOptions()+ViewOptions::hotfix1050625);
+    }
 
     // ---------------------------------------------------------------
     std::string
@@ -547,10 +618,10 @@ namespace zypp
 
       if( opts.has(ViewOptions::WITH_QUERY_STR))
       {
-        tmp.querystr = getQueryString();
-        if( !tmp.querystr.empty())
+       const std::string & querystr { getQueryString( opts ) };        // full or safe depending on opts
+        if( !querystr.empty() )
         {
-          url += "?" + tmp.querystr;
+          url += "?" + querystr;
         }
         else if( opts.has(ViewOptions::EMPTY_QUERY_STR))
         {
@@ -627,6 +698,11 @@ namespace zypp
       return m_data->querystr;
     }
 
+    std::string
+    UrlBase::getQueryString( const ViewOptions & viewopts_r ) const
+    {
+      return m_data->querystr.str( viewopts_r );
+    }
 
     // ---------------------------------------------------------------
     std::string
index 005bce9..9c96678 100644 (file)
@@ -230,6 +230,7 @@ namespace zypp
         return o.opt & opt;
       }
 
+      static const ViewOption hotfix1050625;
     private:
       ViewOption(int option);
       int opt;
@@ -594,6 +595,10 @@ namespace zypp
       virtual std::string
       getQueryString() const;
 
+      /** \overload Returns the safe query string (passwds stripped) unless WITH_PASSWORD is set. */
+      virtual std::string
+      getQueryString( const ViewOptions & viewopts_r ) const;
+
       /**
        * Returns a vector with query string parameter substrings.
        *
@@ -995,7 +1000,7 @@ namespace zypp
       void
       setViewOptions(const ViewOptions &vopts);
 
-
+      std::string asString1050625() const;
     protected:
       /**
        * Utility method to cleanup an encoded path name.
index 33b823b..d85a551 100644 (file)
@@ -665,6 +665,26 @@ namespace zyppng {
       internal::fillSettingsFromUrl( url, set );
       if ( _transferSettings.proxy().empty() )
         internal::fillSettingsSystemProxy( url, set );
+
+      /* Fixes bsc#1174011 "auth=basic ignored in some cases"
+       * We should proactively add the password to the request if basic auth is configured
+       * and a password is available in the credentials but not in the URL.
+       *
+       * We will be a bit paranoid here and require that the URL has a user embedded, otherwise we go the default route
+       * and ask the server first about the auth method
+       */
+      if ( set.authType() == "basic"
+           && set.username().size()
+           && !set.password().size() ) {
+        zypp::media::CredentialManager cm( zypp::media::CredManagerOptions( zypp::ZConfig::instance().repoManagerRoot()) );
+        const auto cred = cm.getCred( url );
+        if ( cred && cred->valid() ) {
+          if ( !set.username().size() )
+            set.setUsername(cred->username());
+          set.setPassword(cred->password());
+        }
+      }
+
     } catch ( const zypp::media::MediaBadUrlException & e ) {
       res = NetworkRequestErrorPrivate::customError( NetworkRequestError::MalformedURL, e.asString(), buildExtraInfo() );
     } catch ( const zypp::media::MediaUnauthorizedException & e ) {